概要
GUIE(Google Universal Image Embedding)の学習済みモデルを使用して類似画像検索を行うサンプルプログラムを作成しました。以下からノートブックにアクセスいただけます。
Google Colab
参考
以下のノートブックの出力ファイルであるモデルを利用しています。
TF Baseline V2 Submission
Explore and run AI code with Kaggle Notebooks | Using data from multiple data sources
使用上の注意
Kaggleのアカウント
ノートブックの実行には、Kaggleのアカウントが必要です。Kaggle API Keyを取得して、それらをシークレットに登録します。

以下が表示された場合には、「アクセスを許可」を押してください。

また、Kaggleからモデルをダウンロードする部分で、一定時間待つ必要があります。
実行結果
以下のように、類似画像検索の結果が表示されます。

ジャパンサーチで公開されているギャラリー「祇園祭」の一部画像を利用しています。

祇園祭 - ジャパンサーチ
京都で毎年7月に開催される祭礼。平安時代に疫病や厄災の除去を祈ったことが起源とされ、現在は八坂神社の祭礼へと継承されている。
メモ
torchvisionのバージョン
Google Colabにデフォルトでインストールされているtorchvisionではうまく動作せず、バージョンを0.12.0あたりまで下げる必要がありました。
まとめ
今後、Elasticsearchの近似最近傍探索を使って、今回作成したベクトルに対する検索を行いたいと思います。

kNN search in Elasticsearch | Elastic Docs
A k-nearest neighbor (kNN) search finds the k nearest vectors to a query vector using a similarity metric such as cosine or L2 norm. With Elasticsearch...
参考になりましたら幸いです。



コメント
…