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
210
ステンレスのすゝめ / 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
AIエージェント入門
minorun365
PRO
33
19k
いまからでも遅くない!コンテナでWebアプリを動かしてみよう!コンテナハンズオン編
nomu
0
170
E2Eテスト自動化入門
devops_vtj
1
110
AWSではじめる Web APIテスト実践ガイド / A practical guide to testing Web APIs on AWS
yokawasa
8
760
Change Managerを活用して本番環境へのセキュアなGUIアクセスを統制する / Control Secure GUI Access to the Production Environment with Change Manager
yuj1osm
0
110
AIエージェント開発のノウハウと課題
pharma_x_tech
8
4.6k
エンジニア主導の企画立案を可能にする組織とは?
recruitengineers
PRO
1
290
LINEギフトにおけるバックエンド開発
lycorptech_jp
PRO
0
400
ExaDB-XSで利用されているExadata Exascaleについて
oracle4engineer
PRO
3
300
EDRの検知の仕組みと検知回避について
chayakonanaika
12
5.2k
実は強い 非ViTな画像認識モデル
tattaka
3
1.4k
IoTシステム開発の複雑さを低減するための統合的アーキテクチャ
kentaro
1
130
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Done Done
chrislema
182
16k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Git: the NoSQL Database
bkeepers
PRO
428
65k
Adopting Sorbet at Scale
ufuk
75
9.2k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
How STYLIGHT went responsive
nonsquared
99
5.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Automating Front-end Workflow
addyosmani
1369
200k
GitHub's CSS Performance
jonrohan
1030
460k
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