Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
みてねのレコメンドを支える技術 / Building 1s Movie of Mitene
Search
_sobataro
September 05, 2018
Technology
0
1.8k
みてねのレコメンドを支える技術 / Building 1s Movie of Mitene
_sobataro
September 05, 2018
Tweet
Share
More Decks by _sobataro
See All by _sobataro
1秒動画の作り方―「家族アルバム みてね」における 動画エンコードパイプラインとその最適化事例 / 1s Movie Under the Hood
_sobataro
1
200
ステンレスのすゝめ / An Encouragement of Stainless Steel
_sobataro
0
690
サーバレスの動画・画像解析プラットフォーム Media Insights Engine さわってみた / Introduce Media Insights Engine: a serverless media analysis framework
_sobataro
1
1.1k
1秒動画のつくりかた・概要編 / Introduction of Mitene Meetup #4
_sobataro
1
1.6k
いい感じの素材選択ロジック / How to select videos for 1sec Movie
_sobataro
1
4.4k
「簡単でつかいやすい」を追求する開発の裏側 〜メディア解析基盤の話〜 / Medium analysis infrastructure to make FamilyAlbum user-friendly
_sobataro
1
1.1k
みてねのプロダクトを改善するエンジニアリング / Improve Family Album Mitene by Engineering
_sobataro
1
1.8k
みてねのレコメンドを支える技術 / Building 1s Movie of Mitene
_sobataro
0
1.4k
Other Decks in Technology
See All in Technology
MC906491 を見据えた Microsoft Entra Connect アップグレード対応
tamaiyutaro
1
520
PL900試験から学ぶ Power Platform 基礎知識講座
kumikeyy
0
120
急成長する企業で作った、エンジニアが輝ける制度/ 20250214 Rinto Ikenoue
shift_evolve
2
1.1k
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
920
Tech Blogを書きやすい環境づくり
lycorptech_jp
PRO
1
230
ユーザーストーリーマッピングから始めるアジャイルチームと並走するQA / Starting QA with User Story Mapping
katawara
0
170
AndroidXR 開発ツールごとの できることできないこと
donabe3
0
120
2024.02.19 W&B AIエージェントLT会 / AIエージェントが業務を代行するための計画と実行 / Algomatic 宮脇
smiyawaki0820
10
1.5k
Datadog APM におけるトレース収集の流れ及び Retention Filters のはなし / datadog-apm-trace-retention-filters
k6s4i53rx
0
330
室長と気ままに学ぶマイクロソフトのビジネスアプリケーションとビジネスプロセス
ryoheig0405
0
350
TAMとre:Capセキュリティ編 〜拡張脅威検出デモを添えて〜
fujiihda
1
180
「海外登壇」という 選択肢を与えるために 〜Gophers EX
logica0419
0
640
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Designing for humans not robots
tammielis
250
25k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
Done Done
chrislema
182
16k
Code Reviewing Like a Champion
maltzj
521
39k
Become a Pro
speakerdeck
PRO
26
5.1k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
GitHub's CSS Performance
jonrohan
1030
460k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
Transcript
みてねのレコメンドを 支える技術 2018-09-05 みてねの Meetup #2 for サーバーサイド/SRE みてね事業部
開発グループ コンテンツ開発チーム 松石浩輔 (@_sobataro )
自己紹介 • 松石浩輔 (@_sobataro) • 2016年新卒 ◦ 1年目: みてねエンジニア (アプリ、サーバ、インフラ)
◦ 2年目〜: みてねコンテンツ開発エンジニア (サーバ、インフラ) • 趣味: 旅行、写真など 2
3
4
5
コンテンツ開発チーム 6
コンテンツ開発チームとは • 機械学習技術をもちいた 自動生成系コンテンツを 研究開発・運用するチーム • エンジニア3人 ◦ 研究寄り 1名
◦ 開発寄り 2名 7
コンテンツ開発チームの提供する機能 1秒動画 • 画像・動画を 1秒ずつ繋いだ ダイジェスト動画 自動提案フォトブック • 1ヶ月分の画像から 22枚を選んで提案
DVD「1枚にまとめる」 • 1年分の動画から ディスク1枚 (50分) ぶんを提案 8
コンテンツ開発チームの仕事 1. 企画・研究 • 機械学習技術により 新しい価値を提供できないか? • 最新の研究成果を サービスに活用できないか? 2.
要件定義 • プロダクトオーナ、デザイナ などと要件を調整する • 実現可能性とのバランス 3. 設計 • アーキテクチャを検討 • チーム内外でレビュー 4. 実装 • Ruby, Python で実装 • チーム内外でレビュー 5. 運用 • 監視、リファクタなど 9
コンテンツ自動生成のしくみ 10 〜1秒動画のケース〜
コンテンツ自動生成のしくみ そもそも1秒動画とは • 画像・動画を1秒ずつ繋いだダイジェストムービー • 3ヶ月に1本を自動生成して配信 • サンプル動画 1秒動画の生成・配信処理 1.
生成対象家族の抽出 2. 素材となる画像・動画の選択 3. 動画ファイルの生成 4. 配信 11
1秒動画の生成・配信処理 1. 生成対象家族の抽出 2. 素材となる画像・動画の選択 3. 動画ファイルの生成 4. 配信 12
1秒動画の生成・配信処理 〜 1. 生成対象家族の抽出 • 今日はどの家族に1秒動画を生成するか抽出 • アプリサーバの DB を
BigQuery に転送しておき SQL クエリ一発で抽出 ◦ クオリティの高い動画が生成できる家族を優先的に抽出 ◦ アプリの対応バージョンを持っていない家族は除外 ◦ などの細かい条件あり ◦ 数万家族を1分以内で抽出 13
1秒動画の生成・配信処理 1. 生成対象家族の抽出 2. 素材となる画像・動画の選択 3. 動画ファイルの生成 4. 配信 14
1秒動画の生成・配信処理 〜 2. 素材となる画像・動画の選択 • みてねにアップロードされる画像・動画全件 (6,900万件/月) を事前に解析 ◦ 顔検出、人物検出、BGM
検出、壊れ動画検出、…… • 解析結果に基づく独自のレコメンドロジック ◦ 顔がよく写っている、コメントが盛り上がっている、などなど ◦ プロダクトオーナと点数付けをチューニング 15 顔検出: 0件 人物検出: 0件 コメント: 0件 ➔ △点 顔検出: 2件 人物検出: 2件 コメント: 3件 ➔ ◯点 顔検出: 1件 人物検出: 1件 コメント: 0件 ➔ ◻点
画像・動画解析基盤 (現行構成) • 画像・動画解析部分を microsevice として切り出している 16
画像・動画解析基盤 (構築中) • RDB, Redis などインフラを分離してスケーリングを容易に • SageMaker の導入 17
1秒動画の生成・配信処理 1. 生成対象家族の抽出 2. 素材となる画像・動画の選択 3. 動画ファイルの生成 4. 配信 18
1秒動画の生成・配信処理 3. 動画ファイルの生成 • ffmpeg でひたすら編集 (切り出し、結合、エフェクトなどなど) • transcoder: 動画編集用
microservice ◦ Amazon Elastic Transcoder みたいなやつ ◦ DVD の生産にも利用 4. 配信 • 現地時間のよき時間にプッシュ通知を飛ばして配信 19
まとめ 20
まとめ • コンテンツ開発チーム = 機械学習技術をもちいた自動生成系コンテンツを研究開発・運用するチーム • みてねではコンテンツ自動生成・自動提案のため ML 技術を活用 ◦
ありふれたもの: 顔検出、人物検出など ◦ 独自の解析項目: BGM 検出、壊れ動画検出など • 大規模 (6,900万件/月) な画像・動画解析のため、 自前の解析基盤を構築・運用 ◦ メインのアプリサーバから基盤を分離中 21