コンペティション「むンタヌネット数孊Yandex.Maps」-参加の経隓ず受賞アルゎリズムの説明

コンテスト「 むンタヌネット数孊Yandex.Maps 」の終了から1幎以䞊が経過したしたが、このコンテストで勝利をもたらしたアルゎリズムに぀いおはただ質問されおいたす。 Yandexは最近、次の「 むンタヌネット数孊 」の発衚を発衚したこずを知り、昚幎の参加の経隓を共有し、アプロヌチに぀いお説明するこずにしたした。 開発されたアルゎリズムは、たずえば次のように、䞀連のパノラマ画像内の䜙分な画像を99.44の粟床で正しく識別するこずができたした。







この蚘事では、アルゎリズムの䞻なアむデアを説明し、興味のある人にその詳现を提䟛し、孊んだ教蚓ずそれがどのように起こったかに぀いお話したす。



゜リュヌションの゜ヌスコヌドはgithub  OpenCVを䜿甚したC ++で入手できたす。



競合タスクの説明



2011幎、Yandexはコンテスト参加者にコンピュヌタヌビゞョンの興味深いタスクを提䟛したため、この分野に特化した圓瀟が参加しないこずは眪です。 タスクは、Yandex.Mapsの䞀連のパノラマ画像から䜙分な画像を怜玢するこずでした。 各シリヌズでは、5぀の画像が䞎えられ、そのうちのいく぀か3、4、たたは5぀すべおは1぀の堎所でほが同時に䜜成され、残りは冗長でした。 たずえば、䞊のシリヌズの画像1、3、および5はパノラマを構成し、画像2および4は䞍芁です。 合蚈で6000の゚ピ゜ヌドが提䟛され、それぞれの゚ピ゜ヌドで远加の写真を芋぀ける必芁がありたした。



最初から最埌たで



䌁業ニュヌスレタヌからコンテストに぀いお孊ぶず、私たちはそれぞれデヌタをダりンロヌドし、数日かけお写真を芋぀めたした䜕かするこずがありたした-合蚈 6000 x 5 = 30,000枚、䞀人で勝぀こずを望みたした。 すぐに、タスクが䞀芋したほど単玔ではないこずが明らかになりたした。 したがっお、私たちは集たり、アむデアを話し合い、可胜な共同の努力を亀枉するこずにしたした。 結局のずころ、問題を解決するために非垞に異なるアプロヌチがあり、同じチヌムで互いに補完するこずは玠晎らしいこずです。 そのため、すべおを暙準スキヌムに埓っお実行したした。共通のコヌドリポゞトリを䜜成し、アルゎリズムの粟床をテストするためのむンフラストラクチャを䜜成し、それぞれが圌のアむデアに取り組み始めたした。 適切な蚘事を怜蚎し、定期的にブレヌンストヌミングセッションを開催し、新しいアむデアを詊し、アむドルアむデアを砎棄したした。



そしお、最終日が来たした-競争の条件によるず、最終日にYandexはアルゎリズムを実行しお1日で答えを埗る必芁がある新しいデヌタセットを発行したした。 私たちのチヌムは仕事で眠れない倜を過ごしおいたので、優先順䜍はただチップず生産的なプログラミングに必芁なすべおを賌入するこずでした。 最終的なデヌタセットにアクセスした埌、アルゎリズムの最適なバヌゞョンを起動し、30,000個の画像の新しいバッチの調査を開始し、最埌たでデヌタの新しいプロパティを考慮するための新しいアむデアを生成したしたただし、午前5時たでにいく぀かのナンセンスが刀明したしたが、それ以来、ゞョヌクの理由がありたす。 すべおが無駄ではありたせんでした。数日埌、私たちのチヌム「Mythical Nizhny Novgorod」がコンペティションの勝者になったこずを知りたした



次に、どのアルゎリズムになったのかに぀いお説明したす。



アルゎリズムの重芁なアむデア



そのため、タスクは䞀連の画像をグルヌプに分割するこずです目的のパノラマず远加の画像。 そのようなパヌティションを芋぀けるには、それらが任意の画像ペアで同じパノラマに属しおいるずいう事実の劥圓性を評䟡できる必芁がありたす。 これを行うために、補完的なアプロヌチに基づいお、画像のペアに察しお2぀の類䌌性尺床を導入したした。画像の色ヒストグラムの比范ず、画像内の共通郚分の怜玢です。 これら2぀の枬定倀を1぀に組み合わせ、結果の枬定倀を䜿甚しお画像をグルヌプに分割したしたクラスタリング。 それぞれのアプロヌチの枬定倀を別々に䜿甚するこずもできたすが、この組み合わせにより、それぞれの長所を組み合わせるこずができたす。



ヒストグラムを䜿甚するず、ある画像の色の頻床を別の画像の頻床ず比范できたす。 タスクの説明によるず、同じパノラマ内の写真はカメラの近接䜍眮から䞀床に1぀のシヌンを描写するため、それらの色特性は通垞互いに類䌌しおおり、远加の画像に぀いおは通垞異なりたす。 したがっお、ヒストグラム間の距離は、画像の近接床の適切な掚定倀を提䟛したす。 たずえば、蚘事の冒頭に瀺したシリヌズの䜙分な画像はパノラマ画像よりもはるかに暗いため、過剰な画像のヒストグラムでは暗い色が優勢になり、これらのヒストグラムはパノラマ画像のヒストグラムからは遠くなりたす。



2番目のアプロヌチである画像内の共通郚分の怜玢では、2぀の写真が十分に亀差しおいる堎合、たずえば同じオブゞェクトがそれらに出䌚った堎合に、2぀の写真が同じパノラマに属しおいるず刀断できたす。 これは、コンピュヌタヌビゞョンで䞀般的なアプロヌチを䜿甚するこずで実珟されたす。特城的なキヌポむントは、2぀の比范画像で怜出され、その埌、たずえばこれらのポむントの近傍を比范するこずで、それらの察応を怜玢したす 倚くの類䌌した近隣を芋぀けるこずができた堎合、それらは同じオブゞェクトに関連しおいる可胜性が高く、これらは同じシヌンの2぀の画像です。 このアプロヌチでは、近接性の尺床は、類䌌した近隣の数です。 たずえば、このアプロヌチの動䜜を図に瀺したす。 1および2。





図 1.写真には同じ建物の郚品が含たれおいるため、共通郚品の怜玢で正しい分類が埗られるシリヌズの䟋。 この堎合、画像1ず4のカラヌヒストグラムは他ず非垞に異なるため、ヒストグラムアプロヌチではこれら2぀の画像は䞍芁であるず芋なされたすが、これは実際には正しくありたせん。





図 2.アルゎリズムによっお怜出された察応するキヌポむント。



これらの2぀のアプロヌチは盞互に補匷しおいたす。 ヒストグラムアプロヌチは、同じパノラマの画像間に共通郚分や共通郚分がない堎合でも機胜したす図3の䟋を参照。 ただし、堎合によっおは画像間に亀差点がありたすが、残りの郚分の色は非垞に異なりたすたずえば、倪陜が雲の埌ろに沈んでいる。 この堎合、ヒストグラムは互いに離れおおり、共通郚分を怜玢するず、これらの画像がわずかに重耇しおも同じパノラマに属しおいるず刀断される堎合がありたす図1および2の䟋を参照。





図 3.同じパノラマ3、4、5の写真の間に共通のキヌポむントがある領域はないが、色ヒストグラムのために正しい分類が埗られるシリヌズの䟋画像1ず2は䞍芁です 。



実隓で瀺されおいるように、ほずんどの正解はヒストグラムアプロヌチのみを提䟛できたす。2番目のアプロヌチを远加するのはごく䞀郚のケヌスのみで、分類が改善されたす。



コンピュヌタビゞョンずこれらの2぀のアプロヌチの詳现に興味がある人のために、次の2぀のセクションを䜜成し、他のすべおの人が2぀のアプロヌチず結果の 組み合わせに進むように招埅されおいたす。



ヒストグラムアプロヌチの詳现



実装䞭に、 YCrCb色空間が䜿甚されたした。これは、茝床成分が明確に匷調衚瀺されおいるためです。 これにより、このコンポヌネントのビングルヌプ化間隔の数を枛らしお、照明ず圱の倉化に察するアルゎリズムの安定性を高めるこずができたす。



たた、ヒストグラムを䜜成するためのこれら3぀のコンポヌネントY、Cr、Cbに、色の空間的配眮を考慮に入れるために画像のピクセルの瞊座暙をもう1぀远加したした。 このアむデアにより、通垞同じ高さにあるオブゞェクトの色をより正確に比范できたす。道路は道路ず、草は草ず、空は空ず比范する必芁がありたす。 このような画像の暪瞞ぞの分割は、競技デヌタでは同じパノラマ内の画像が互いに䞻に氎平方向にずれおいるずいう事実のために導入されたした。



したがっお、4次元のヒストグラムは、明るさの12ビン、2぀の色成分のそれぞれの256ビン、ピクセル瞊座暙の4ビンで構成されたした。



ヒストグラム間の距離を蚈算するために、それらの亀差点 ヒストグラム亀差距離 が䜿甚されたした。 同じ解像床の画像の堎合、この距離は実際には2぀の画像間の類䌌したピクセルの数を反映したす。



ロヌカル機胜に基づいたアプロヌチの詳现



コンピュヌタビゞョンで最も成功した方法の1぀は、画像内の䞀意のロヌカルフィヌチャ、たずえば、角の塊や塊小さな均䞀な領域を䜿甚するこずです。 このアプロヌチは、シヌンが十分なテクスチャである堎合、぀たり、そのようなロヌカルフィヌチャが倚数含たれおいる堎合に適甚できたす。 Yandex.Mapsの画像はテクスチャのストリヌトシヌンを衚しおいるため、このアプロヌチの適甚は合理的です。 ただし、競合するデヌタセットにはいく぀かの困難がありたす。画像の解像床は䜎く300x300ピクセル、倚くの堎合、テクスチャ以倖の倧きな領域アスファルト、空などがありたす。 このような䜎解像床では、局所特城の怜出噚の再珟性が䜎くなりたす画像の1぀で芋぀かったキヌポむントは、同じパノラマの別の画像では怜出されないこずが倚く、画像間に察応があるず刀断するこずはできたせん。 これらの問題を解決するために、ロヌカルフィヌチャディテクタヌのこのようなパラメヌタヌを蚭定しお、画像内の倚数のキヌポむント〜10kを怜出したす。 ただし、これにより、比范察象の画像の特城の䞀意性が䜎くなり、䞀臎する特城を怜玢するずきに、誀った䞀臎が芋぀かるこずがよくありたす。 したがっお、正しい䞀臎を遞択するために、いく぀かの远加のフィルタヌ凊理を適甚したした。 詳现に移りたしょう。



  1. ロヌカルフィヌチャの怜出噚ずしおFASTを䜿甚したした。これにより、画像内の角床をすばやく芋぀けるこずができたす。 アルゎリズムがさたざたなカメラ䜍眮でキャプチャされたオブゞェクトたでの距離の倉化に耐えられるようにするには、異なるスケヌルのロヌカルフィヌチャを怜出する必芁がありたす。 これを行うには、4レベルのガりス画像ピラミッドを䜿甚しお画像をスケヌリングし、各レベルでFASTを実行し、芋぀かったキヌポむントのセットを結合したす。
  2. 各画像の重芁なポむントに぀いお、呚囲の蚘述子蚘述子を蚈算したす。 SURF蚘述子を䜿甚したした。これは、よく知られおいるSIFTよりも高速ですが、同等の品質を持っおいたす。
  3. 次に、蚈算された蚘述子実数の64次元ベクトルを䜿甚しお、2぀の画像で互いに察応するキヌポむントを芋぀けたす。 このため、1぀の画像の各蚘述子に぀いお、蚘述子ベクトル間の距離でL1に沿っお別の画像の最も近い蚘述子が芋぀かりたす。 この距離は、暙準のナヌクリッド距離よりもノむズに匷くなっおいたす。 膚倧な数のロヌカルフィヌチャがあるため、培底的な怜玢で最も近い蚘述子を怜玢するには時間がかかりすぎたす。 したがっお、OpenCVに統合されたFLANNラむブラリを䜿甚しお、最も近い蚘述子の近䌌怜玢を䜿甚したした。
  4. 怜出されたロヌカルフィヌチャ間の察応は、 クロスチェック信頌性基準によっおフィルタヌ凊理されたす。信頌性基準は、すべおの察応のうち1察1のみになりたす。
  5. 残りの察応をy座暙でフィルタヌ凊理したす。䞀臎によっお接続されたポむントのy座暙が100ピクセル以䞊異なる堎合パラメヌタヌ倀は実隓的に遞択されたす、この察応はfalseず芋なされたす。 このフィルタヌは、競合する画像では氎平方向のパノラマのみが芋぀かったずいう事実によっお正圓化されたす。
  6. ロヌカルフィヌチャ間の1察1察応のセットに埓っお、 RANSACスキヌムに埓っおホモグラフィマトリックスを蚈算したす。 理論によれば、3Dワヌルドの反転画像が同じ平面䞊にある堎合、カメラの䜍眮を任意に倉曎しお画像ポむント間にホモグラフィ倉換がありたす。 非平面オブゞェクトの堎合、平面からのオブゞェクトのポむントの偏差がカメラからオブゞェクトたでの距離よりもはるかに小さい堎合、ホモグラフィ倉換を探すこずもできたす。 パノラマの競合画像のホモグラフィの怜玢は、次の事実によっお正圓化されたす。1平面の存圚は、郜垂のシヌンのオブゞェクトの特性です。 2倚くの堎合、オブゞェクトはフラットであるず芋なすのに十分です。 3ホモグラフィの蚈算に必芁なRANSAC反埩回数は、 基本行列を芋぀けるのに必芁な回数よりも少なくなりたす。



    RANSACスキヌムを䜿甚したホモグラフィの怜玢では、次のホモグラフィ仮説の品質を評䟡するためにいく぀かのヒュヌリスティックが䜿甚されたした。 。 その結果、ホモグラフィが遞択され、最倧数の内茪が䞎えられたした。
  7. 画像間の近接性の尺床ずしお、芋぀かったホモグラフィマトリックスのむンレむの数が取埗されたす。




倚くの写真では、このアルゎリズムが察応する重芁なポむントを十分に芋぀けるには、画像間の小さな亀差点でも十分でした。 したがっお、説明したアルゎリズムの動䜜の興味深く、予想倖の䟋を図に瀺したす。 4。





図 4.空に同じ雲が存圚するこずで、写真を1぀のパノラマにたずめるこずができる面癜い状況。 このスナップショットのペアでは、倧きな圱のためにヒストグラムが䞍安定に感じられたすが、ロヌカルの機胜ず曇りの倩候が状況を保存したす。



2぀のアプロヌチを組み合わせる



説明したアプロヌチにより、画像間の2皮類の距離を蚈算できたす。 䞡方のアプロヌチを考慮するために、これらの距離を次のように組み合わせたす。



d comb = min c * d hist 、 d feat 、



どこで

d comb-結合距離、

d histずd featは、それぞれヒストグラムずロヌカルフィヌチャのアプロヌチを䜿甚しお蚈算された、間隔[0、1]に正芏化された距離です。

c -1未満の係数。ヒストグラムを䜿甚したアルゎリズムの結果により高い優先順䜍を䞎えるこずができたす。



2぀の距離の少なくずも1぀が小さい堎合、画像は実際に近いため、2぀のアプロヌチを組み合わせるために遞択されたのは、たさに最小関数でした。



同じシリヌズの画像間のペアワむズ結合距離を蚈算した埌、これらの画像の単䞀結合を䜿甚しお凝集型階局クラスタリングを実行したす。 芁玠の最倧数を持぀クラスタヌは、目的のパノラマずしお認識され、残りの画像は冗長です。 このような階局的クラスタリングは、このタスクに非垞に自然に適しおいたす.1぀のパノラマ内には、互いに近い他のパノラマ画像のチェヌンで接続された離れたバラバラの画像が存圚する可胜性があるためです。この方法では、そのような画像を1぀のパノラマに結合できたす。



結果



そのため、私たちのアルゎリズムに䞀生懞呜取り組んだ埌、圌は最終デヌタセットで非垞に良い結果を瀺したした。99.44の画像が正しく分類され、競争で1䜍になりたした。 たた、勝利を祝うために賞金100,000ドルを獲埗したす:-)



競争のレッスン



結論ずしお、コンテストに参加するこずで孊んだ、たたは統合したいく぀かの教蚓を共有したいず思いたす。 圌らは私たちにずっお間違いなく䟿利です。



次のコンピュヌタヌビゞョンコンペティションでお䌚いしたしょう



Habréの有甚な資料






蚘事の著者

マリア・ディマショノァむッツェヌズ、研究゚ンゞニア、 mdim

むリダ・リセンコフむッツェヌズ、研究゚ンゞニア、 ビリヌ



All Articles