ディープラーニングを使用して、写真用の強力な画像検索エンジンを構築します

ディープラーニングを使用して、写真用の強力な画像検索エンジンを構築します

  [[412644]]

数日前、鮮明に覚えている昔の写真を見返したいと思ったのですが、どこにあるのか全く分かりませんでした...写真を撮ってから、携帯電話を2回、ノートパソコンを1回変えました。当時、メッセンジャーで誰かに送ったはずですが、誰に送ったのでしょうか?簡単な説明クエリですべての画像を検索して見つけることができたら、どんなに便利でしょう。 …

最近のコンピューター ビジョンの進歩により、画像の埋め込み (高密度ベクトル表現) の関連性が高まり、最近のクリップ モデルを使用すると、ローカル画像に対する Google のような画像検索を簡単に実装できるようになりました。

詳細には立ち入りませんが (詳細についてはブログ投稿と論文を参照してください)、Clip は自然言語の監視によって画像の特徴を学習するように設計されたニューラル ネットワークです。基本的に、インターネット上の公開画像と関連するキャプションを使用し、テキストを BERT のような言語モデルに埋め込み、画像をビジュアル トランスフォーマーに埋め込みます。使用される手法は、他の NLP および CV モデル アーキテクチャにも適用できることに注意してください。複数の画像/テキスト埋め込みペアを活用することで、情報検索の NLP 分野で実行できるものと同様に、バッチネガティブコントラストトレーニングを介して視覚およびテキスト埋め込みモデルを微調整できます。基本的に、目標は、画像の埋め込みをそれに関連付けられたテキストの埋め込みと対応させ(ドット積)、他の画像のすべてのキャプションと区別することです(1)。

Clips は「ゼロショット」分類によく使用されます。画像とキャプションのリストが与えられると、その画像に最適なキャプションを推測します。上記の例(2)では、「犬の写真」は、「飛行機の写真」、「鳥の写真」、「車の写真」と比較して最適な画像キャプションです。 …

画像検索エンジンに関する私のアイデアは(特に新しいものではありませんが)、これを逆転させて、画像に基づいてキャプションを分類するのではなく、テキスト クエリに基づいて画像を分類することです。プロセスは次のようになります。

  • 指定されたディレクトリ内のすべての画像を検索する
  • 各画像の埋め込みは、事前にトレーニングされた Clip Vision Transformer を使用して計算され、将来の参照用に画像パスとともに保存されます。 https://openai.com/blog/clip/
  • 実行時に、ユーザークエリは ClipText トランスフォーマーを使用してテキスト埋め込みに変換されます。
  • テキスト埋め込みと保存されているすべての画像埋め込みのドット積を計算し、取得したスコアに従ってすべての画像をランク付けし、上位 N 位にランク付けされた画像へのパスを返します。

このプロセスは、いくつかの追加機能とともに、私の Github リポジトリ (https://github.com/ManuelFay/ImageSearcher) に実装されています。

インデックス作成フェーズでは、コードは oslibrary を使用して、指定されたディレクトリとサブディレクトリ内のすべての画像を検索し、コンバーターと Pickle ライブラリを使用してベクトル化された表現を埋め込んで保存します。実行時に、ピクルされた埋め込みが読み込まれ、埋め込みのクエリと照合され、上位 n 位にランクされた画像が返されます。外部インターフェースを備えた検索エンジンを効率的に使用できるようにするため、Flask/Gunicorn API が提供されています。 Vue.js で構築された、Google 画像検索のようなシンプルな Web インターフェースも提供されます。

大量の画像コレクションを取得するために、Facebook から Messenger アーカイブをダウンロードし、過去数年間に送受信した約 10,000 枚の画像を入手しました。

検索エンジンでは、非常に詳細なクエリが可能です。上位ランクの画像が最初にリストされます。これらの画像はすべて、私のローカルコレクションにある約 10,000 枚の画像から提供されているため、選択肢が限られていることに注意してください。

メタクエリも可能です。ここではドローンで撮影した写真を募集します:

これは午後の短いプロジェクトでしたが、クリップ モデルの精度に感心しました。自分でテストするには、https://github.com/ManuelFay/ImageSearcher のコードを使用してください。改善や追加機能への貢献は大歓迎です。 https://github.com/ManuelFay/ImageSearcher

<<:  企業で AI ストレージを導入する際に留意すべき 7 つのポイント

>>:  ディープラーニングフレームワークFlashを使用して、わずか数行のコードで画像分類器を構築する方法

ブログ    
ブログ    

推薦する

人工知能時代の到来とともに、私たちはどんな知識を学ぶべきでしょうか?

将来、AI知能ロボット翻訳は根本的な進歩を遂げ、筆記翻訳、口頭通訳、同時通訳など、人間による翻訳作業...

報告書:人工知能は5年以内に人間の雇用を著しく脅かすだろう

ある報告書によると、自動化と人工知能は最大5年以内に人間の雇用を脅かすことになるという。このような状...

AIを活用した超解像技術の実装

近年、ディープラーニング技術の急速な発展に伴い、AIベースの超解像技術は画像修復や画像強調の分野で幅...

スーパーマリオをプレイする3本の機械指がサイエンス誌に掲載された

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

魔法は魔法に勝る、AIデータにはAIソリューションが必要

Kompprise が委託した「非構造化データ管理の現状」調査によると、人工知能は IT およびビジ...

AIによる売上予測により、組織は不確実性の中でコントロールを獲得できる

AI を活用した販売は、新型コロナウイルス感染症のパンデミックによってもたらされた不確実性に多くの組...

DeepMindの創設者はチューリングテストを覆したい!外国人男性がAIを使って90日間で3万ドルを稼いだ

チューリングテストは時代遅れですか? DeepMind の創設者 Mustafa Suleyman ...

人工知能はソフトウェア開発のパラダイムを変えている

ソフトウェア開発者は、コードの作成とレビュー、バグの検出、ソフトウェアのテスト、開発プロジェクトの最...

ロボティックプロセスオートメーションが人々の働き方をどのように変えているのか

[[422319]] RPA は人々の働き方をどのように変えるのでしょうか?今日、さまざまな業界の組...

デアデビルが来た!バットセンスAIは、スマートフォンが音を聞いて3D画像を生成できるようにする

英国の科学者たちは、スマートフォンやノートパソコンなどの日常的な物に、デアデビルと同じくらい強力なコ...

ビジネス インテリジェンス戦略を成功させるための 8 つの重要な要素

ジャクソン氏は過去 8 年間にわたり、このプロジェクトを成熟させるために、社内の他の幹部と協力してき...

音声認識技術は急速に発展しており、その規模は今後5年間で300億近くに達するだろう。

現在、科学技術の発展に伴い、人工知能産業は急速に成長し、あらゆる分野の変革における重要な要素となって...

人工知能の先駆者であるIBM Watsonは殉教者となったのか? IBMがWatsonを売却、AIは本当に失敗したのか?

かつて、人工知能医療診断の先駆者であったIBM Watson(通称ワトソン)は、現実世界における人工...

...

...