2017-08-31 7 views

答えて

1

ブルートフォース方式が必要な場合は、各画像のハッシュを計算して、その画像のハッシュ値を計算することができます。それをデータベースに保存し、検索するファイルのハッシュを計算し、それをデータベースと照合してください...今度は、画像の正確な一致が見つかりました。

これはいくつかの状況では役に立ちますが、ほとんどの場合、「類似」の画像を探したいと思うでしょう。撮影した日付やファイル名などのメタデータを画像から抽出することができます。自分の写真アルバムを検索する場合、同じ時刻に撮影された画像が同じ場所にあり、同じ内容を含む可能性があります。

Googleは(私が知る限り)未知の方法を使用して画像の一部を取り出し、その情報を使用して検索します。たとえば、イメージをXのYグリッドで分割して平均カラー値を計算すると、データベースで一致するものを検索することができます(明らかに、すべてのイメージに対してこれを実行し、結果をデータベースに格納する必要があります) 。検索画像とデータベース値の間にある値の差を許すと、類似した別の画像が見つかる可能性があります。データベース内の画像の一部のみを検索すると、同じように見えるが移動された画像を見つけることができます。

マイクロソフトでは、画像内のオブジェクトの「エッジ」を検出して白黒画像で表示するフォトDNAを作成しました。彼らはそれを小さな解像度にリサイズして、それを計算します。この方法を使用すると、同じものに近いがわずかに異なる写真を見つけることができます。編集した画像やサイズ変更した画像を探したい場合に最適です。

もう1つの方法は、画像のカラースペクトルを計算し、正規化し、データベース内で(小さな変化を伴って)それを検索することです。あなたは同じ色に近い画像を取得するよりも、コンテンツは全く異なる場合があります!

同じオブジェクトの画像がたくさんある場合は、詳細な学習もオプションになる可能性があります。コンピュータをトレーニングすることによって(例えば、nVidea cuda)、モデルをオブジェクトに認識させることができます。あなたが犬と一緒に写真を検索するよりも、あなたの結果は犬のいる他の画像かもしれません。

要約:さまざまな方法が用意されています。それぞれにはそれぞれ独自の長所と短所がありますが、共通点があります。作成が簡単ではありません。

+0

あなたの提案をありがとう、私は第三者 "ヴィセンズ"を渡ってきました、それはどのように動作するか見てください。 –

関連する問題