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
2k
みてねのレコメンドを支える技術 / 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
260
ステンレスのすゝめ / An Encouragement of Stainless Steel
_sobataro
0
720
サーバレスの動画・画像解析プラットフォーム Media Insights Engine さわってみた / Introduce Media Insights Engine: a serverless media analysis framework
_sobataro
1
1.2k
1秒動画のつくりかた・概要編 / Introduction of Mitene Meetup #4
_sobataro
1
1.6k
いい感じの素材選択ロジック / How to select videos for 1sec Movie
_sobataro
1
4.6k
「簡単でつかいやすい」を追求する開発の裏側 〜メディア解析基盤の話〜 / Medium analysis infrastructure to make FamilyAlbum user-friendly
_sobataro
1
1.2k
みてねのプロダクトを改善するエンジニアリング / Improve Family Album Mitene by Engineering
_sobataro
1
1.9k
みてねのレコメンドを支える技術 / Building 1s Movie of Mitene
_sobataro
0
1.5k
Other Decks in Technology
See All in Technology
アノテーション作業書作成のGood Practice
cierpa0905
PRO
1
400
Snowflakeとdbtで加速する 「TVCMデータで価値を生む組織」への進化論 / Evolving TVCM Data Value in TELECY with Snowflake and dbt
carta_engineering
0
160
Spec Driven Development入門/spec_driven_development_for_learners
hanhan1978
1
670
ソフトウェア品質を支える テストとレビュー再考 / 吉澤 智美さん
findy_eventslides
0
220
可観測性は開発環境から、開発環境にもオブザーバビリティ導入のススメ
layerx
PRO
4
2.7k
メタプログラミングRuby読書会の活用
willnet
0
100
re:Inventに行くまでにやっておきたいこと
nagisa53
0
1k
kotlin-lsp の開発開始に触発されて、Emacs で Kotlin 開発に挑戦した記録 / kotlin‑lsp as a Catalyst: My Journey to Kotlin Development in Emacs
nabeo
2
340
技術の総合格闘技!?AIインフラの現在と未来。
ebiken
PRO
0
140
DSPy入門
tomehirata
6
900
ざっくり学ぶ 『エンジニアリングリーダー 技術組織を育てるリーダーシップと セルフマネジメント』 / 50 minute Engineering Leader
iwashi86
9
4.5k
DMMの検索システムをSolrからElasticCloudに移行した話
hmaa_ryo
0
370
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1371
200k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
RailsConf 2023
tenderlove
30
1.3k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
4 Signs Your Business is Dying
shpigford
186
22k
BBQ
matthewcrist
89
9.9k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Scaling GitHub
holman
463
140k
Balancing Empowerment & Direction
lara
5
710
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Mobile First: as difficult as doing things right
swwweet
225
10k
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