Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
_JAWS-UG_AI_ML__N41_N__自分の顔が誰に似ているかそっくり判定AIエーシ...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Taka
August 25, 2026
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
_JAWS-UG_AI_ML__N41_N__自分の顔が誰に似ているかそっくり判定AIエージェント.pdf
Taka
August 25, 2026
More Decks by Taka
See All by Taka
AIエージェントアーキテクト生成メタエージェント
nozakijcom
0
66
AWS BuilderCard 新しい遊び方を考えてみた
nozakijcom
1
69
20260722【JAWS-UG東京 ランチタイムLT会 #37④】AWS Well-Architectedフレームワークに沿った回答をするAIエージェントを作ってみた
nozakijcom
1
140
Featured
See All Featured
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
510
WENDY [Excerpt]
tessaabrams
12
39k
Code Reviewing Like a Champion
maltzj
528
40k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
440
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
690
The Invisible Side of Design
smashingmag
301
52k
What's in a price? How to price your products and services
michaelherold
247
13k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
400
Transcript
JAWS -UG AI/ML #41 ② 自分の顔が誰に似ているかそっくり判定AIエージェント 顔の画像をアップロードしたら、それに最も似ている芸能人とそっくり率 を判定するAIエージェントを作ってみましたというお話 2026 年8月25
日(火) 登壇者:野崎 高弘 JAWS-UG AI/ML #41② 1
自己紹介 野崎 高弘(のざき たかひろ) ・仕事:前職まではインフラ構築・保守やSOCセキュリティアナリスト 現在は技術検証が主のクラウドインフラエンジニア ・趣味:資格取得、犬の散歩、ドラマ鑑賞、巨人ファン ・資格:現在AWS・GCP全冠、その他100種以上保持の資格オタク ・2024年3月『AWS認定 高度なネットワーキング-専門知識(ANS-C01)完
全対応テキスト』(リックテレコム)部分執筆(2章、巻末模擬問題担当) ・主な受賞歴 2023 Japan AWS All Certifications Engineers 2024 Japan AWS All Certifications Engineers 2024 Japan AWS Top Engineers(Networking) Google Cloud Partner All Certification Holders 2025 JAWS-UG AI/ML #41② 2
背景・目的・やりたいこと アップロードした顔写真を複数のAIサービスで分析し、最も似ている芸能 人・有名人を判定するWebアプリケーション 自分の顔が誰に似ているか、気になることはありませんか? 有名人や芸能人だったら誰が一番近いんだろうと気になりませんか? 似ている有名人がいれば自己アピールもしやすいです。 そこで、顔の画像をアップロードすれば、最も似ている有名人とそのクリ ソツ率を教えてくれるAIエージェントがあれば便利だなと思い、遊び心で 作ってみました! JAWS-UG
AI/ML #41② 3
条件(導入にあたっての前提事項) 1. ソフトウェア • Python 3.9 以上(3.14でも動作確認済み) 2. AWSアカウント •
AWS CLIで認証設定済み(aws login 完了済み) • 以下のサービスへのアクセス権限: ・Amazon Bedrock(Claude Sonnet 4.5 モデルが有効化されていること)us-east-1 ・Amazon Rekognition 3. Hive AI アカウント • https://portal.thehive.ai でアカウント作成 • Celebrity Recognition モデルを有効化 • APIキーを取得 JAWS-UG AI/ML #41② 4
注意事項 1. セキュリティ • APIキーは環境変数で管理していますが、誤ってコードにハードコードしないよう注意。 2. 精度・判定結果 • Hive AIの芸能人DBは欧米中心です。日本の芸能人はカバー率が低い可能性があります。
• Rekognitionも同様に日本のタレントへの対応は限定的。 • Claude Vision のフォールバック判定はLLMの推測であり、顔の特徴量比較に基づいてい ません。信頼性は保証されません。 • そっくり率はマッチングスコアであり、実際の類似度を正確に反映するとは限りません。 3. プライバシー・倫理 • アップロードされた顔画像はHive AI、AWS(Rekognition/Bedrock)の外部サーバーに 送信されます。 • プログラムから画像をアップロードしてインターネット上の類似画像を検索することはし ていません。 JAWS-UG AI/ML #41② 5
概要図 JAWS-UG AI/ML #41② 6
各コンポーネントの役割 コンポーネント 用途 補足 Gradio WebUI・画像前処理 入出力がシンプルなアプリ Hive AI 芸能人顔照合(メイン)
外部API。5万人以上のDB Rekognition 芸能人顔照合(バックアップ) AWSサービス Claude Sonnet 4.5 結果解説の生成/画像直接判定 Bedrock経由 Wikipedia API 芸能人参考画像の取得 無料 JAWS-UG AI/ML #41② 7
作業の流れ 1. ユーザーがGradio Web UIに顔写真をアップロードすると、画像を800px以下にリサイ ズしJPEG変換 2. Hive AI(5万人の有名人DB)に画像を送信し、顔の特徴量マッチングで最も似ている 芸能人を検索
3. Hive AIで見つからなければRekognition、それでも見つからなければClaude Sonnet 4.5が画像を直接見て推定 4. マッチした芸能人名をClaudeに渡し、似ているポイントやコメントを日本語で生成 5. Wikipedia等から芸能人の参考画像を取得し、判定結果テキストとあわせて画面に表示 JAWS-UG AI/ML #41② 8
工夫したポイント ①3段フォールバック構成 単一サービスに依存せ ず、Hive AI → Rekognition → Claude Vision
と段階的にフォー ルバックすることで、ど んな顔写真でも何らかの 結果を必ず返せるように した AWS-UG AI/ML #41② ②LLMに画像データを直接 渡さない設計 ③画像の前処理 画像の照合は専用APIに 任せ、Claudeにはテキス ト(芸能人名とスコア) だけを渡すことで、トー クン消費を抑えレスポン スを高速化 アップロード画像を800px 以下にリサイズ+JPEG品 質85%に変換し、APIへの 転送サイズを削減してタイ ムアウトを防止 9
工夫したポイント ④役割の分離 ⑤参考画像の自動取得 「誰に似ているか」の判 定は顔認識API(数値 ベースの照合)、「なぜ 似ているか」の解説は LLM(言語生成)と、各 サービスの得意分野に合 わせて役割を分割
判定結果だけでなく芸能 人の写真もWikipediaか ら取得して表示し、見つ からない場合はGoogle 画像検索リンクで代替す ることで、ユーザーが視 覚的に比較できるように した。 AWS-UG AI/ML #41② ⑥Claudeで結果を日本語 解説 ⑦Claude Visionで判定 (全サービス失敗時の フォールバック) 10
Claude で結果を日本語解説 def generate_comment(result: dict) -> str: """認識結果をもとに Claude で日本語コメントを生成する"""
prompt = f"""あなたは「芸能人そっくり判定AI」です。 以下の認識結果をもとに、日本語で楽しく解説してください。 認識結果: {json.dumps(result, ensure_ascii=False, indent=2)} 以下のフォーマットで回答してください: --最も似ている芸能人:【名前】 そっくり率:【confidence】% 似ているポイント:【推測される特徴の解説】 一言コメント:【ユーモアを交えたコメント】 --複数の芸能人が検出された場合は、それぞれについて簡潔にコメントしてください。""" AWS-UG AI/ML #41② 11
Claude Visionで判定(全サービス失敗時のフォールバック) def analyze_with_claude_vision(image_bytes: bytes) -> tuple[str, str]: """Claude に画像を直接送って似ている芸能人を判定させる。名前も返す"""
image_b64 = base64.b64encode(image_bytes).decode("utf-8") prompt = """あなたは「芸能人そっくり判定AI」です。 この顔写真を見て、最も似ている有名人・芸能人を判定してください。 日本の芸能人だけでなく、海外のセレブリティも含めて幅広く考えてください。 回答は以下のJSON形式で最初に出力し、その後に解説を書いてください: CELEBRITY_NAME: 【最も似ている芸能人の名前(英語表記)】 以下のフォーマットで解説してください: --最も似ている芸能人:【名前】 そっくり率:【あなたの推定(0〜100%)】 似ているポイント:【目・鼻・輪郭・雰囲気など具体的に】 一言コメント:【ユーモアを交えたコメント】 --複数候補がある場合は、上位3名まで挙げてください。 ※ AI判定による推定です。""" AWS-UG AI/ML #41② 12
コードの解説(Rekognition) Rekognition で芸能人を認識する response = rekognition_client.recognize_celebrities( Image={"Bytes": image_bytes} ) Rekognition
の recognize_celebrities API を呼び出しています。 • rekognition_client — 事前に作成した Rekognition の接続クライアント • recognize_celebrities() — 画像内の顔をAWSの有名人データベースと照合するAPI • Image={"Bytes": image_bytes} — JPEG画像のバイトデータを直接渡す レスポンスには、マッチした芸能人の名前・信頼度スコア・顔の位置(バウンディング ボックス)などが含まれます。 AWS-UG AI/ML #41② 13
コードの解説(Rekognition) celebrities = [] for celeb in response.get("CelebrityFaces", []): celebrities.append({
"name": celeb["Name"], "confidence": round(celeb["MatchConfidence"], 1), "category": "celebrity", }) RekognitionのAPIレスポンスから、認識された芸能人の情報を抽出して整形しています。 具体的には: • response.get("CelebrityFaces", []) — Rekognition のレスポンスから、認識された芸 能人リストを取得(なければ空リスト) • 各芸能人について以下を辞書にまとめて celebrities リストに追加: ・name — 芸能人の名前(例: "Tom Cruise") ・confidence — マッチング信頼度を小数点1桁に丸める(例: 98.7) ・category — 固定値 "celebrity"(Hive AI の結果と形式を揃えるため) AWS-UG AI/ML #41② 14
(DEMO動画) AWS-UG AI/ML #41② 15
まとめ • 使用技術: Python / Gradio / Hive AI /
Amazon Rekognition / Amazon Bedrock (Claude Sonnet 4.5) / Wikipedia API • 目的: 顔写真をアップロードするだけで、似ている芸能人・そっくり率・似ているポイン トを判定するWebアプリ • 構成: 顔照合(Hive AI/Rekognition)と言語生成(Claude)を分離し、それぞれの得 意分野を活かした設計 • 信頼性: 3段フォールバック(Hive → Rekognition → Claude Vision)で必ず結果を 返す • パフォーマンス: 画像リサイズ+LLMにはテキストのみ送信し、タイムアウトやトークン 過剰消費を防止 • UX: 判定結果に加え、芸能人の参考画像またはGoogle画像検索リンクを表示し視覚的に 比較可能 AWS-UG AI/ML #41② 16
ご清聴ありがとうございました ★ご質問・感想などございましたらお気軽にお寄せください!★ AWS -UG AI/ML #41 ② AWS-UG AI/ML #41②
17