GEMINI LABEN
SHUTDOWN — gemini-robotics-er-1.6-preview は本日8月31日で停止します。preview 接尾辞のモデルに依存したコードは、今日を境に動かなくなりますDEPRECATION — 次の期限は9月30日です。gemini-omni-flash-preview エンドポイントが廃止され、8月27日に GA となった gemini-omni-1.1-flash への差し替えが必要になりますVIDEO — Omni 1.1 Flash の GA には extend タスクによる動画の延長と、image_to_video に画像を2枚渡して間を補間する生成が入りました。始点と終点を先に決められますVIDEO — video_config の resolution が 360p・720p(既定)・1080p・4k に対応しました。1080p と 4K はアップスケールによる出力だと明記されていますSPEECH — gemini-3.5-transcribe が8月26日に GA。85言語以上の発話単位の言語検出、話者ダイアライゼーション、単語レベルのタイムスタンプ、最大1,000語のカスタム語彙に対応しますSPEECH — gemini-3.5-transcribe-live は Live API 上の WebSocket 双方向ストリーミングです。暫定と確定の文字起こしイベント、Smart transcription、複数の VAD 設定を持ちますSHUTDOWN — gemini-robotics-er-1.6-preview は本日8月31日で停止します。preview 接尾辞のモデルに依存したコードは、今日を境に動かなくなりますDEPRECATION — 次の期限は9月30日です。gemini-omni-flash-preview エンドポイントが廃止され、8月27日に GA となった gemini-omni-1.1-flash への差し替えが必要になりますVIDEO — Omni 1.1 Flash の GA には extend タスクによる動画の延長と、image_to_video に画像を2枚渡して間を補間する生成が入りました。始点と終点を先に決められますVIDEO — video_config の resolution が 360p・720p(既定)・1080p・4k に対応しました。1080p と 4K はアップスケールによる出力だと明記されていますSPEECH — gemini-3.5-transcribe が8月26日に GA。85言語以上の発話単位の言語検出、話者ダイアライゼーション、単語レベルのタイムスタンプ、最大1,000語のカスタム語彙に対応しますSPEECH — gemini-3.5-transcribe-live は Live API 上の WebSocket 双方向ストリーミングです。暫定と確定の文字起こしイベント、Smart transcription、複数の VAD 設定を持ちます
記事一覧/高度な活用
高度な活用/2026-08-31上級

画像の重複検査に埋め込み検索を足す前に、重複の定義を三つに分ける

同じ構図で色だけ違う二枚を、検査は重複と判定しました。知覚ハッシュと File Search の埋め込み検索の守備範囲を距離の実数で切り分け、何を重複と呼ぶかの定義から検査の構成を組み直した判断の記録です。

Gemini API226File Search7埋め込みモデル画像処理3個人開発111

プレミアム記事

個人開発で App Store と Google Play に配信している浮世絵壁紙アプリには、素材を追加するたびに重複検査を通す工程があります。ある日、同じ構図で摺りの色がまるで違う二枚を続けて登録しようとしたところ、検査はその二枚を「同一」と判定しました。

私にとって、この二枚は別の作品です。版木が同じでも、摺りが違えば両方残したい。機械の答えと私の答えが食い違ったこの一件が、検査の作りを見直すきっかけになりました。

ちょうど File Search が画像のマルチモーダル検索に対応し、gemini-embedding-2 で画像をそのまま埋め込めるようになった時期でもあります。ハッシュ照合をやめて埋め込み検索へ寄せるべきか、しばらく迷いました。結論だけ先に書くと、私は埋め込みを門番にしませんでした。その判断の過程を、距離の実数と一緒に残しておきます。

先に結論 — 門番はハッシュのまま、埋め込みは提示役に

見直し後の構成は次のとおりです。

段階手法機械に許した動作
登録時・第一関門SHA-256(バイト一致)自動で拒否
登録時・第二関門dHash(知覚ハッシュ・64bit)保留にしてレビューキューへ積む。削除はしない
登録後・非同期埋め込み近傍検索「似ている既存作品」を並べて見せるだけ

埋め込み検索を導入しなかったのではありません。導入した上で、拒否の権限を与えなかった、という判断です。理由は誤りの方向にあります。ハッシュの誤りは「変形を見逃す」方向に出ますが、埋め込みの誤りは「別作品を重複と言う」方向に出ます。前者は重複が一組残るだけで済み、後者は作品を一点失います。削除は不可逆ですから、危険な側の誤りを持つ手法に門番を任せない、というのが私の線引きです。

「重複」は一枚岩ではない — 三つの層に分ける

見直しの途中で気づいたのは、技術選定の前に「何を重複と呼ぶか」が決まっていなかったことです。書き出してみると、重複と呼んでいたものは三つの層に分かれました。

中身答えを出せるもの
第一層同一ファイル同じファイルの二重登録SHA-256 で機械が即答できる
第二層同一画像の変形再エンコード・リサイズ・軽微なトリミング知覚ハッシュで機械がほぼ即答できる
第三層近い見た目の別作品別摺り・連作の一枚・構図の近い作品機械には答えられない。編集判断

冒頭の二枚は第三層の住人でした。そして第三層は、そもそも「検出精度」の問題ではありません。同じ版木の別摺りを一点として扱うか二点として扱うかは、コレクションをどう見せたいかという方針の問題です。ここを技術で解決しようとしていたことが、迷いの正体だったのだと思います。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
重複検査を設計するとき、何を重複と呼ぶかを三つの層に分けて定義し、層ごとに知覚ハッシュと埋め込み検索のどちらを充てるべきか判断できるようになります
64bit ハッシュの距離が 8 と 29 でどう意味が変わるかを手元で再現でき、しきい値を自分のコレクションに合わせて根拠つきで決められるようになります
意味的に近いだけの別作品を重複として自動削除してしまう事故を、機械と人の受け持ちを分ける構成であらかじめ防げるようになります
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Gemini Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥2,480 の永久アクセス
メンバーシップを見る →

関連記事

高度な活用2026-07-08
複数アプリのFAQを1つの File Search ストアに同居させる — customMetadata と chunk 設定で検索を分ける
複数アプリのFAQを1つの File Search ストアにまとめると、metadataFilter が無言で空を返したり、回答がチャンク境界で割れて引用されなかったりします。customMetadata の設計、AIP-160 フィルタ構文の落とし穴、chunkingConfig の実測チューニングを実装ベースでまとめました。
高度な活用2026-08-09
記憶が消えたのではなく、別のプロファイルに書かれていました — Memory profiles のスコープキーを実測で正す
Memory Bank のプロファイルはスキーマとスコープの組で一意になります。呼び出し側でスコープの形がわずかにぶれると、エラーを出さないまま別のプロファイルが増えていきます。分裂の量と、3種類の対処の効き目を同じ条件で測った記録です。
高度な活用2026-07-15
分類ラベルの近ミスはリトライで直らない — 閉じた語彙を正規化する層を挟んだ実測ノート
responseSchema の enum を外したラベルをリトライで直そうとすると同じ近ミスが返ります。壁紙アプリの30分類バッチで外れ方の分布を測り、別名表と埋め込み最近傍で正規化する受け入れ層を挟んだ実装と実測値をまとめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →