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
190
ステンレスのすゝめ / An Encouragement of Stainless Steel
_sobataro
0
670
サーバレスの動画・画像解析プラットフォーム Media Insights Engine さわってみた / Introduce Media Insights Engine: a serverless media analysis framework
_sobataro
1
1k
1秒動画のつくりかた・概要編 / Introduction of Mitene Meetup #4
_sobataro
1
1.6k
いい感じの素材選択ロジック / How to select videos for 1sec Movie
_sobataro
1
4.3k
「簡単でつかいやすい」を追求する開発の裏側 〜メディア解析基盤の話〜 / 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
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
260
Amazon Kendra GenAI Index 登場でどう変わる? 評価から学ぶ最適なRAG構成
naoki_0531
0
100
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
210
サーバレスアプリ開発者向けアップデートをキャッチアップしてきた #AWSreInvent #regrowth_fuk
drumnistnakano
0
190
.NET 9 のパフォーマンス改善
nenonaninu
0
800
あの日俺達が夢見たサーバレスアーキテクチャ/the-serverless-architecture-we-dreamed-of
tomoki10
0
430
生成AIをより賢く エンジニアのための RAG入門 - Oracle AI Jam Session #20
kutsushitaneko
4
220
PHPからGoへのマイグレーション for DMMアフィリエイト
yabakokobayashi
1
170
祝!Iceberg祭開幕!re:Invent 2024データレイク関連アップデート10分総ざらい
kniino
2
250
Snykで始めるセキュリティ担当者とSREと開発者が楽になる脆弱性対応 / Getting started with Snyk Vulnerability Response
yamaguchitk333
2
180
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
280
20241214_WACATE2024冬_テスト設計技法をチョット俯瞰してみよう
kzsuzuki
3
440
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
51
7.3k
KATA
mclloyd
29
14k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
97
What's in a price? How to price your products and services
michaelherold
243
12k
The Cult of Friendly URLs
andyhume
78
6.1k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Docker and Python
trallard
42
3.1k
The World Runs on Bad Software
bkeepers
PRO
65
11k
How to Ace a Technical Interview
jacobian
276
23k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
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