概要
GUIE(Google Universal Image Embedding)の学習済みモデルを使用して類似画像検索を行うサンプルプログラムを作成しました。以下からノートブックにアクセスいただけます。
https://colab.research.google.com/github/nakamura196/000_tools/blob/main/guie_sample.ipynb
参考
以下のノートブックの出力ファイルであるモデルを利用しています。
https://www.kaggle.com/code/francischen1991/tf-baseline-v2-submission
使用上の注意
Kaggleのアカウント
ノートブックの実行には、Kaggleのアカウントが必要です。Kaggle API Keyを取得して、それらをシークレットに登録します。

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

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

ジャパンサーチで公開されているギャラリー「祇園祭」の一部画像を利用しています。
https://jpsearch.go.jp/gallery/ndl-kbjG03kKgjp
メモ
torchvisionのバージョン
Google Colabにデフォルトでインストールされているtorchvisionではうまく動作せず、バージョンを0.12.0あたりまで下げる必要がありました。
まとめ
今後、Elasticsearchの近似最近傍探索を使って、今回作成したベクトルに対する検索を行いたいと思います。
https://www.elastic.co/guide/en/elasticsearch/reference/current/knn-search.html
参考になりましたら幸いです。