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
1万枚の写真の中から我が子を見つける顔検索の裏側
Search
Yoshiken
July 11, 2019
Technology
0
360
1万枚の写真の中から我が子を見つける顔検索の裏側
Yoshiken
July 11, 2019
Tweet
Share
More Decks by Yoshiken
See All by Yoshiken
サイトの信頼性の前にチームとしての信頼性を高めよう
yoshiken
0
840
転生したらEKSをTerraform管理することになった件
yoshiken
1
920
Other Decks in Technology
See All in Technology
SSMRunbook作成の勘所_20241120
koichiotomo
2
130
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
750
AWS Media Services 最新サービスアップデート 2024
eijikominami
0
190
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
430
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.6k
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
フルカイテン株式会社 採用資料
fullkaiten
0
40k
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
990
Taming you application's environments
salaboy
0
180
TypeScript、上達の瞬間
sadnessojisan
46
13k
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
88
5.7k
The Invisible Side of Design
smashingmag
298
50k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
Gamification - CAS2011
davidbonilla
80
5k
Become a Pro
speakerdeck
PRO
25
5k
Embracing the Ebb and Flow
colly
84
4.5k
Ruby is Unlike a Banana
tanoku
97
11k
Rails Girls Zürich Keynote
gr2m
94
13k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Designing for Performance
lara
604
68k
Transcript
1 X-Tech JAWS 【第8回】 1万枚の写真の中から 我が子を見つける顔検索の裏側
2 自己紹介 • 名前 : 吉田 健太, M.Sc • H.N.
: Yoshiken • 所属 : 千株式会社 ◦ ものづくり部 ▪ SREチーム • 技術的負債の抹殺が得意 • 言語 : Python・Go • 趣味 : ライブ・植田ひかる @yoshiken if Github or Qiita else @yoshiken_tut if Twitter else None
3 自己紹介 • 名前 : 吉田 健太, M.Sc • H.N.
: Yoshiken • 所属 : 千株式会社 ◦ ものづくり部 ▪ SREチーム • 技術的負債の抹殺が得意 • 言語 : Python・Go • 趣味 : ライブ・植田ひかる @yoshiken if Github or Qiita else @yoshiken_tut if Twitter else None
4 植田ひかる さん 超絶可愛いこの世に舞い降りたAngel 植田ひかるさんを応援していたら業務の生産性が上がりました (26歳男性KY さん) 植田ひかるさんに出会ってからtcpdumpを介さず直接通信内容が見れるように なりました(26歳会社員KYさん) 植田ひかるさんのおかげでAWSマネージドコンソール(GUI)から卒業できまし
た(26歳インフラエンジニア) もう植田ひかるさんしか考えられない(26歳独身) https://twitter.com/hikaru_uedaz オフィスアネモネ
5 オタクを支えるAWS12ヶ月無料枠
6 本題
7 あじぇんだっぽいやつ • はいチーズ!の紹介 ◦ Webサービスについて ◦ 課題 ◦ Amazon
Rekognition導入経緯 ◦ 結果 • 顔検索機能 ◦ Amazon Rekognition機能説明 ◦ 顔検索機能のフロー ◦ 注意点 ビジネス テクニカル
8 <ご注意> 途中一部デモ画面の撮影はご遠慮くさだいさますよう、 お願い致します。 オンラインでChime配信を見ている方も 一部デモ中は非表示になってしまうことをご了承ください
9 の紹介 導入前 【幼稚園保育園などの団体様】 撮影・印刷・掲示・代金回収・集計等いろんな雑務… 【保護者様】 決まった期間に紙媒体で思ったような写真がない… 導入前
10 の紹介 導入後 【幼稚園保育園などの団体様】 撮影・印刷・掲示・代金回収等の手間から解放される 【保護者様】 写真購入がいつでも・どこでも・手軽に 導入前 導入後
11 の紹介 導入後 【幼稚園保育園などの団体様】 撮影・印刷・掲示・代金回収等の手間から解放される 【保護者様】 写真購入がいつでも・どこでも・手軽に 導入前 導入後 幼稚園・保育園中心に
全国6000団体以上 が利用する写真販売サービス
12 はいチーズ!カメラマンは、保護者のために、 “園児一人一人が主人公の写真”を沢山撮る の課題
13 はいチーズ!カメラマンは、保護者のために、 “園児一人一人が主人公の写真”を沢山撮る 大規模園は園児200名以上。多いイベントでは “1万枚以上の中から、我が子の写真を探す”必要性 の課題
14 はいチーズ!カメラマンは、保護者のために、 “園児一人一人が主人公の写真”を沢山撮る 大規模園は園児200名以上。多いイベントでは “1万枚以上の中から、我が子の写真を探す”必要性 ユーザの中には共働き世帯も多く忙しい。 写真探しに時間がかかる。忙しい保護者を助けたい! の課題
15 とある幼稚園の運動会の写真(約1万3千枚)
16 顔検索機能実現のために 技術選定 最新技術への追従 運用コスト 採用コスト 安定した性能 学習コスト ユーザーが離脱しない速度 属人化
17 自社サービスに実用的なインテリジェンス を追加することは無理なのか…
18 諦めかけたその時、 一筋の光明が差してきました! Amazon Rekognition
19 Amazon Rekognitionとは • AmazonのAIサービスの1つ ◦ 学習済みのAIをサービスとして利用可能 • Rekognitionでできること(一部分) ◦
画像の物体、シーン、顔の検出 ◦ 顔の表情の分析 ◦ 顔と顔が似ているかどうかの判定
20 Amazon Rekognitionとは • AmazonのAIサービスの1つ ◦ 学習済みのAIをサービスとして利用可能 • Rekognitionでできること(一部分) ◦
画像の物体、シーン、顔の検出 ◦ 顔の表情の分析 ◦ 顔と顔が似ているかどうかの判定 これで顔検索を 実現できる!
21 Rekognitionの優位性
22 Rekognitionの優位性 • 安い ◦ 初期費用不要、使った分だけ支払う従量課金
23 Rekognitionの優位性 • 安い ◦ 初期費用不要、使った分だけ支払う従量課金 • 速い ◦ 処理速度が高速。前処理も検索処理も。
24 Rekognitionの優位性 • 安い ◦ 初期費用不要、使った分だけ支払う従量課金 • 速い ◦ 処理速度が高速。前処理も検索処理も。
• 高精度 ◦ 試作品を開発・検証したところ、十分な精度
25 Rekognitionの優位性 • 安い ◦ 初期費用不要、使った分だけ支払う従量課金 • 速い ◦ 処理速度が高速。前処理も検索処理も。
• 高精度 ◦ 試作品を開発・検証したところ、十分な精度 既存のAWSの他サービスとの親和性も高く、 導入を決定してから1ヶ月程度でリリース
26 Rekognitionで実現できた購入フロー
27 Rekognitionで実現できた購入フロー 我が子の顔写真をアップロード 即座に対象が 写っている写真を返す
28 Rekognitionで実現できた購入フロー 我が子の顔写真をアップロード 注文 注文履歴の画像を投げる 購入している子供の顔を 事前に分析 おすすめ写真と して表示 即座に対象が
写っている写真を返す
29 Rekognitionで実現できた購入フロー 我が子の顔写真をアップロード 注文 注文履歴の画像を投げる 購入している子供の顔を 事前に分析 おすすめ写真と して表示 即座に対象が
写っている写真を返す 初回ユーザー 既存ユーザー
30 デモ 撮影不可
31 顔検索&おすすめ写真機能 導入結果 コンバージョン率が向上! ※ここで言うコンバージョン率とは、ある写真を実際に購入したユーザーの数を その写真のページを見たユーザーの数で割った時のパーセンテージ
32 ビジネス編まとめ ◦ コストを抑えて、 スピード感のある開発 ができる ◦ 弊社からフィードバック 送信→機能開発 ◦
忙しいママ・パパを助け たいという思い ◦ 新しい技術を即検証・ 即本番投入
33 ビジネス編まとめ AIの力で、忙しいママ・パパの我が子の 写真探しをお手伝いすることができました ◦ コストを抑えて、 スピード感のある開発 ができる ◦ 弊社からフィードバック
送信→機能開発 ◦ 忙しいママ・パパを助け たいという思い ◦ 新しい技術を即検証・ 即本番投入
34 テクニカル編
35 アクセス毎にイベント全ての写真と比較するのは レスポンスに時間がかかるな…
36 _人人人人人人_ > 突然のO(n) <  ̄Y^Y^Y^Y^Y^Y ̄
37 精度を上げるために複数枚アップロードできるよ うにしたいな…
38 _人人人人人人_ > 突然のO(n ) <  ̄Y^Y^Y^Y^Y^Y ̄ i ここでのiはアップロードされる写真枚数を指します
39 諦めかけたその時、 一筋の光明が差してきました! (2回目) Amazon Rekognition
40 コレクション内での顔の検索 Amazon Rekognition では、検出した顔に関する情報をコレクションというサーバー側のコンテナに保存できます。コレクション に保存された顔の情報を使用して、イメージ、保存済みビデオ、およびストリーミングビデオ内の既知の顔を検索できます。 Amazon Rekognition は IndexFaces
オペレーションをサポートしています。このオペレーションを使用して、イメージ内の顔を 検出し、検出した顔の特徴に関する情報をコレクション内に保持できます。サービスによって情報がサーバーに保持されるた め、これは ストレージベースの API オペレーションの例です。 > https://docs.aws.amazon.com/ja_jp/rekognition/latest/dg/collections.html 特徴ベクトルを予めIndexできるようになり高速で検索ができる (その上叩くAPIは一回で済む!
41 RekognitionのAPI(抜粋) 顔検索する場合に必要なAPIは以下の3つ • CreateCollection 顔コレクションを作成 • IndexFaces 顔メタデータを顔コレクションに追加 •
SearchFacesByImage 指定した画像で顔コレクション内の類似画像を検索
42 1.顔コレクションを作成。入れ物を作る Rekognitionで顔検索する手順 AWS SDK Face Collection test_faces ※メタデータ (特徴情報)のみ保持
※検索画像も被検索画像も、 S3上にある前提 CreateCollection (collection-id test_faces )
43 2.顔メタデータを追加。入れ物に顔を入れる 1.顔コレクションを作成。入れ物を作る Rekognitionで顔検索する手順 AWS SDK AWS SDK Face Collection
test_faces 被検索画像指定 ※被検索画像に対して実行 ※メタデータ (特徴情報)のみ保持 ※検索画像も被検索画像も、 S3上にある前提 CreateCollection (collection-id test_faces ) イベントの写真 顔メタデータ追加 IndexFaces
44 2.顔メタデータを追加。入れ物に顔を入れる 1.顔コレクションを作成。入れ物を作る Rekognitionで顔検索する手順 AWS SDK AWS SDK Face Collection
test_faces 被検索画像指定 ※被検索画像に対して実行 ※メタデータ (特徴情報)のみ保持 ※検索画像も被検索画像も、 S3上にある前提 CreateCollection (collection-id test_faces ) イベントの写真 顔メタデータ追加 IndexFaces AWS SDK 検索画像指定 SearchFacesByImage 画像分析 検索画像用 検索! 検索結果(JSON)を応答 3.指定した画像で顔コレクション内の類似画像を検索
45 デモ
46
47 まとめ • Rekognitionのcollection機能使うと簡単に顔検索機能が 実装できる ◦ 自前で新しくシステム構築不要 ◦ 保守コストも不要 •
安い・速い・高精度! ◦ 大量の画像もcollectionを使えば一瞬で検索できる • 植田ひかるさんは可愛い
48 最後に… • 人の心に火をつけるよう なエンジニアを募集して います! • パパママエンジニアに優 しい福利厚生! https://www.wantedly.com/companies/sencorp
49 Thank you for your kind attention :)