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
680
サーバレスの動画・画像解析プラットフォーム 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.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
Building Scalable Backend Services with Firebase
wisdommatt
0
110
GoogleのAIエージェント論 Authors: Julia Wiesinger, Patrick Marlow and Vladimir Vuskovic
customercloud
PRO
0
130
デジタルアイデンティティ技術 認可・ID連携・認証 応用 / 20250114-OIDF-J-EduWG-TechSWG
oidfj
2
670
comilioとCloudflare、そして未来へと向けて
oliver_diary
6
440
Godot Engineについて調べてみた
unsoluble_sugar
0
380
.NET AspireでAzure Functionsやクラウドリソースを統合する
tsubakimoto_s
0
190
The future we create with our own MVV
matsukurou
0
2k
Docker Desktop で Docker を始めよう
zembutsu
PRO
0
160
Azureの開発で辛いところ
re3turn
0
240
テストを書かないためのテスト/ Tests for not writing tests
sinsoku
1
170
AWS re:Invent 2024 re:Cap Taipei (for Developer): New Launches that facilitate Developer Workflow and Continuous Innovation
dwchiang
0
160
JAWS-UG20250116_iOSアプリエンジニアがAWSreInventに行ってきた(真面目編)
totokit4
0
140
Featured
See All Featured
Designing Experiences People Love
moore
139
23k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
How to train your dragon (web standard)
notwaldorf
89
5.8k
Six Lessons from altMBA
skipperchong
27
3.6k
Site-Speed That Sticks
csswizardry
2
270
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
98
18k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.2k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.3k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Why Our Code Smells
bkeepers
PRO
335
57k
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