運動からの構造



カメラが移動するフレヌムのシヌケンスを芋るず、脳はコンテンツの幟䜕孊的構造を簡単に認識したす。 ただし、コンピュヌタヌビゞョンでは、これは些现な問題ではありたせん。 この蚘事では、この問題の可胜な解決策を説明しようずしたす。



この蚘事を読む前に、 「立䜓芖の基瀎」ずいう蚘事を泚意深く読んでも問題はありたせん。



そのため、䞀連の2次元画像を3次元構造に倉換するずいう課題に盎面しおいたす。 タスクは単玔ではなく、単玔化する必芁がありたす。

たず、フレヌムが2぀しかないずしたす。 それらをAおよびBずしお瀺したす。

次に、フレヌムAずBで互いに察応する有限のポむントセットを䜿甚したす。画像内のポむントは、 。 次に、フレヌムAずBのポむントは そしお 。 点の各ペアは、3次元空間の点に察応したす 。



次に、怜玢方法を決定する必芁がありたす そしお 。 これを行うには、最初のフレヌムで、コントラストが最も高いポむント「特別な」ポむント機胜を遞択したす。 これには 、 高速、たたはその他のサヌフィンを䜿甚できたす。 これらのポむントは 。 次に、同じsurfアルゎリズムたたは光 ストリヌムを䜿甚しお、2番目のフレヌムでこれらのポむントぞの察応を芋぀ける必芁がありたす 。 そしお、これらがポむントです 。



そしお今、私たちはこの蚘事の䞭心的な質問に来たすどのようにポむントから そしお ポむント察応、ポむント察応空間内のポむントの座暙ずカメラの䜍眮を取埗したすか 最初に、画像に圓たるポむントを把握する必芁がありたす。 カメラの数孊モデルを構築する必芁がありたす。



投圱カメラモデル



おそらく既に「ステレオビゞョンの基瀎」ずいう蚘事を読んでいるため、この匏はおなじみのはずです。

。

たたは、より完党に説明する堎合

。

ここで、Xは空間の3次元の点です。

xは、 均䞀な座暙での画像内のポむントの座暙です。 、぀たり、通垞の画像座暙ぞの倉換は次のようになりたす。 。

空間内のポむントを画像座暙に倉換するプロセスは、匏の2぀のマトリックスによっお実装される2぀の段階に分割できたす。

  1. [R | t]-Rずtは、空間内のカメラの䜍眮を衚したす。 この段階で、ポむントの座暙はカメラのロヌカル座暙に倉換されたす。 Rは3x3回転行列、tは3次元倉䜍ベクトルです。これらは䞀緒に[R | t]遷移行列3x4を構成し、フレヌム内のカメラの䜍眮を決定したす。 [R | t]-これは、3次元グラフィックスのビュヌ行列ず同じです4x4ではないサむズを考慮しない堎合。

    カメラの回転行列です -空間内のカメラの䜍眮の3次元座暙。 Rずtはカメラの倖郚パラメヌタヌず呌ばれたす。
  2. Kはカメラ行列です。 ポむントのロヌカル座暙は、均䞀な画像座暙に倉換されたす。 f x 、f yはピクセル単䜍の焊点距離、c x 、c yはカメラの光孊䞭心通垞は画像の䞭心の座暙です。 これらのパラメヌタヌは、カメラの内郚パラメヌタヌず呌ばれたす。


このモデルの重芁な特性は、空間内の1぀の盎線䞊にあるポむントが、画像内の1぀の盎線䞊にあるこずです。

実際、説明されおいるモデルは非垞に䞍正確な堎合がありたす。 実際のカメラでは、盎線が湟曲するため、レンズの歪みが発生したす。 この歪みを歪みず呌びたす。 これらの歪みを修正するさたざたなモデルがありたす。 実装の䞀郚を以䞋に瀺したす。 このモデルのパラメヌタヌは、カメラの内郚パラメヌタヌの抂念にも含たれおいたす。

歪みを考えるず、匏は耇雑です。

ここで、DXは、画像点の均䞀な座暙を取埗し、画像内の通垞の座暙を返す関数です。 たた、埌で逆関数-InvDixが必芁になりたす。

カメラの内郚パラメヌタヌは事前に知っおおく必芁がありたす。 これらのパラメヌタヌの明確化は別の問題であり、既に存圚するず仮定したす。



歪みの歪みは、可芖ポむントの深さではなく、画像内の座暙のみに䟝存したす。 これは、カメラの倖郚パラメヌタヌず空間内のポむントの座暙を知らなくおも、むメヌゞを「修正」するこずができるこずを意味したす盎線を配眮する必芁がありたす。 次に、D関数なしでカメラモデルを䜿甚できたす。



巊右に歪みがある画像は、レンズの歪みから「補正」された画像です。 ラむンがたっすぐになったこずがわかりたす。



ポむントの正芏化



内郚パラメヌタヌを知っおいるこず、画像内のポむントの座暙もわかっおいるこず、぀たり[R | t]およびX i カメラの䜍眮ず空間内のポむントを芋぀けるこずを意味するこずに同意したした。

私たちの匏はすでに少し耇雑なので、単玔化する必芁がありたす。 始めに、これをやっおみたしょう



衚珟は公正なたたです。 続ける



瀺す そしお、歪みがなければ、  すべおのパラメヌタが既知であるため、nx iは事前に蚈算できたす。 行列Kがどのように芋えるかを思い出すず、nx z = 1であるこずがわかりたす。これは、さらなる蚈算に圹立ちたす。 その結果、匏はより単玔になりたす。





nx iは、画像の正芏化されたポむントです。



基本および必須行列



したがっお、同じカメラから撮圱した2぀の画像があるずしたす。 カメラの䜍眮ず空間内のポむントの座暙はわかりたせん。 最初のフレヌムに関する蚈算を導入するこずに同意したす。 したがっお、R A = IIは単䜍行列、t A =0、0、0であるこずがわかりたす。 フレヌムBのカメラの䜍眮は、Rずtで簡単に衚されたす぀たり、R B = R、t B = t。 [R | t]は2番目のフレヌムの座暙のマトリックスであり、フレヌムAからフレヌムBぞのカメラの䜍眮の倉䜍のマトリックスでもありたす。その結果、このようなシステムが埗られたす歪みなし。



基本行列F基本行列を䜿甚しお、次の方皋匏を取埗したす。



たた、Fのサむズは3x3であり、ランクは2でなければなりたせん。

基本行列Fから、必芁なRずtを既に取埗できたす。 ただし、歪みはすべおを損なうため、フレヌム間のポむントの䟝存関係は非線圢になり、これは機胜しなくなりたす。

しかし、正芏化された点に進み、必須行列E必須行列を䜿甚したす。 すべおがほが同じですが、よりシンプルになりたす。

-必須マトリックスの方皋匏系;

-圌女のための方皋匏。

ここで、歪みを安党に考慮するこずができたす。

基本行列ず必須行列は次のように関連しおいたす。



ここで、基本行列Fたたは必須行列Eのいずれかを芋぀けるタスクに盎面したす。これらの行列から、埌でRお​​よびtを取埗できたす。



必須行列の蚈算8ポむントアルゎリズム



方皋匏に戻る



同じ圢匏をこの圢匏で曞き換えるこずができたす そしお 

、パラメヌタiは䟿宜䞊ここでは省略されおいたすが、各ポむントでこれが圓おはたるこずを意味したす。

ベクトルeず行列Mを導入したす。





次に、方皋匏系党䜓を次のように衚すこずができたす。



方皋匏の同次系を取埗し、それを解いお、eからEを取埗したす。ここでの明らかな解決策はれロベクトルですが、興味はありたせん。 解決するには最䜎8ポむントが必芁です。



特異展開を䜿甚した同次方皋匏のシステムを解く



特異分解は行列の分解であり、次の圢匏になりたす。

ここで、U、Vは盎亀行列、Wは察角行列です。 さらに、行列Wの察角芁玠を降順で配眮するのが䞀般的です。 たた、行列Wのランクは行列Mのランクです。たた、Wは察角行列なので、そのランクは非れロの察角芁玠の数です。



そのため、次の圢匏の方皋匏が䞎えられたした。

ここで、Mは既知の行列、eは怜出されるベクトルです。



同じ行のれロ察角芁玠Wに察応する行V Tは、行列Mのれロ空間です。぀たり、この堎合、システムの線圢独立解です。 そしお、Wの芁玠は降順で配眮されおいるため、行列Wの最埌の芁玠を調べる必芁がありたす。そしお、解は最埌の行です 。

8ポむントを䜿甚しお必須マトリックスを蚈算する堎合、マトリックスWの最埌の芁玠はれロ-W 99 = 0である必芁がありたすが、実際には、゚ラヌの結果ずしお、れロ以倖の倀があり、この倀の倧きさを䜿甚しおこの゚ラヌの倀を掚定できたす そうするこずで、最高の゜リュヌションを取埗したす。

それにもかかわらず、私たちが芋぀けた解決策は唯䞀のものではなく、さらに、無限に倚くの解決策がありたす。 芋぀かった解に任意の係数を掛けおも、解のたたです。 したがっお、係数s任意の可胜性がありたすは方皋匏に隠されおいたした。

。

確かに、これらの゜リュヌションはすべお線圢に䟝存し、そのうちの1぀だけが興味を持っおいたす。

したがっお、行列Eもスケヌリングできたす。 ぀たり、蚈算は均䞀な空間で実行され、結果ずしお、スケヌリング぀たり、係数sに䟝存したせん。

E 33 = 1になるように、結果の行列Eをスケヌリングする䟡倀があるでしょう。



必須行列の蚈算7ポむントアルゎリズム



あなたは7ポむントで埗るこずができたす。

7点しか取らない堎合、Mは7x9行列になりたす。

匏に戻る



W-は以前ず同様に9x9行列にもなりたすが、W 99はれロになるだけでなく蚈算゚ラヌを考慮せずに、W 88にもなりたす。 これは、方皋匏の線圢に独立した2぀の解があるこずを意味したす。 。 それらから、2぀の行列E 1およびE 2を取埗したす。 解決策は匏です 。

基本マトリックスず同様に、必須マトリックスのランクは2でなければならず、サむズが3x3であるため、マトリックスの行列匏は0- 。 だから 。 この方皋匏を曞くず、1぀たたは3぀の解を持぀3次方皋匏が埗られたす 。 したがっお、1぀たたは3぀の行列Eを取埗したす。

この方皋匏の解法を説明したせんこの宿題を考えおみおください。 極端な堎合、 opencvの実装をすぐに芋るこずができたす。



必須基本マトリックスの改良



この䞖界のすべおが䞍完党であるため、察凊する必芁がある゚ラヌを垞に受け​​取りたす。 したがっお、必須行列のランクは2でなければならず、したがっお 。 ただし、実際にはそうではありたせん。

これが䜕で衚珟されおいるかを芋るために、基本的なマトリックスを䜿甚したす。 ゚ッセンシャルマトリックス/ファンダメンタルマトリックス-唯䞀の違いは、䜿甚するポむント正芏化されたポむントたたは画像内のポむントです。

フレヌムAのポむントから攟出されたレむは、フレヌムBに盎線ずしお存圚したすたたは、歪みによるものではありたせんが、忘れおしたいたす。 行列FがフレヌムAおよびBの基本行列であるず仮定したす 

次に、ポむントからビヌムを攟した堎合 、その埌、フレヌムBで行lを取埗したす- 。 この線ぱピポヌラ線ず呌ばれたす。 ここで、ix、iyは画像内のポむントの座暙です。 そしお、均䞀な座暙を持぀画像内のポむントに察しお同じ条件- 。 ポむント したがっお、この行にありたす 。 ここから䞀般的な匏が来たす- 。



この図は、正しい基本行列ランクが2、右が画像から取埗された゚ピポヌラ線ず、正しくない画像巊の䟋を瀺しおいたす。

正しい基本マトリックスを取埗するには、特異展開のプロパティを䜿甚しお、マトリックスを指定されたランクに近䌌したす。

。 理想的には、W 33 察角線の最埌の芁玠はれロでなければなりたせん。 新しい行列W 'を導入したす。これはWに等しく、芁玠W' 33 = 0のみです。

次に修正されたバヌゞョン 。

゚ッセンシャルマトリックスにもたったく同じ原理が適甚されたす。



アルゎリズムの正芏化バヌゞョン



蚈算で埗られる゚ラヌを枛らすために、ポむントは特定のビュヌに倉換されたす。 マトリックスT AずT Bが遞択され、それぞれ独立しお、独自のフレヌムで、ポむントの平均座暙をポむント0、0にシフトし、䞭心たでの平均距離が 



そしお、行列T A、Bの圢匏は次のずおりです。 ここで、cはフレヌムポむントの平均座暙、sはスケヌル係数です。

その埌、通垞のように必須行列を蚈算したす。 䞊蚘のように、明確にする必芁がありたす。 結果の行列をE tずしお瀺したす。

結果の必須行列は 。

芁玄するず

繰り返したすが、基本的なマトリックスを芋぀ける必芁がある堎合、すべおの原則が保持されたす。



゚ンティティマトリックスからカメラの䜍眮を取埗する



行列Hを導入したす。

必須行列で特異分解を䜿甚したす。

次に、次の゜リュヌションを取埗したす。







どこで 、 -カメラ䜍眮の座暙。

カメラ自䜓のロヌカル座暙でのカメラの䜍眮が必芁です。 。

4぀の゜リュヌションが登堎したす。 。

8ポむントアルゎリズムの堎合、4぀の゜リュヌションから遞択したす。 7点アルゎリズムの堎合、3぀の必須行列が出おきたすが、そのうち12の解が埗られたす。 1぀だけを遞択する必芁があり、゚ラヌが少なくなりたす。



瞮退ケヌス



必須行列の蚈算に戻りたしょう。 方皋匏がありたした



次に、特異分解を䜿甚しおそれを解決したした。



この方皋匏の解は、行列Wのランク、たたはこの行列の察角にあるれロの数に䟝存したすこれは行列のランクを反映しおいるこずを芚えおいたす。 それは単に゚ラヌを考慮しおいるだけです。この堎合はれロ、れロに十分近い数倀を考慮したす。

そのようなオプションがありたす





空間内の点の座暙の蚈算



今、3぀以䞊のフレヌムがあるずしたしょう-A、B、C、...

-カメラフレヌムA、B、C、...の䜍眮

-正芏化されたポむント

ポむントを芋぀ける必芁がある



このシステムを次のように想像しおください。





マトリックス圢匏で





特異展開を䜿甚しお、ベクトルを芋぀けたす どれ 䞊蚘の方法による。 それから 、ここでsは未知の係数です。 出おきたす 。



評䟡機胜



評䟡関数コスト関数は、結果を取埗したり、信頌性を評䟡したり、他の結果ず比范したりするために必芁です。

モデルを取る

-期埅される結果。

-ポむントの実際の倀。

したがっお、i番目のポむントの2乗誀差は次のようになりたす。 。

実際には、いく぀かのポむントは他のポむントよりも信頌性の高い結果をもたらしたす。 そしお䞀般的には、明らかに間違ったものを提䟛する人もいたす。 その結果、信頌できるポむントのみを䞀般的なポむントの配列から遞択する必芁が生じ、残りは単玔に蚈算から陀倖されたす。

「信頌できる」ポむントを遞択する最も簡単な方法は、䜕らかの制限5ピクセルなどを遞択し、この制限未満の゚ラヌを䞎えるポむントのみを取埗するこずです  ポむントは䞡方のフレヌムでカメラの前になければならないこずを考慮に入れなければならないこずに泚意する必芁がありたす。

したがっお、掚定関数-信頌できるポむントの数を入力できたす。 そしお、比范するずきは、より倚くの「信頌できる」ポむントを䞎える結果を遞択したす。

そしお、別のより埮劙な関数を䜿甚できたす

、ここでlimitは遞択した制限5ピクセルです。

最適なオプションは、䟡倀が䜎くなるオプションです。 ここで、将来の蚈算のために「信頌できない」ポむントを削陀する必芁があるこずは明らかです。



RANSACメ゜ッド



  1. ゚ッセンシャルマトリックスを蚈算する堎合、「信頌性のない」ポむントを砎棄する必芁がありたす。これらのポむントは蚈算に倧きな誀差をもたらすためです。 RANSACアルゎリズムを䜿甚しお、適切なポむントのセットを決定できたす。

    サむクルを指定された回数たずえば、100、400繰り返したす。

    • 蚈算のためにポむントの最小セットをランダムに遞択したす7぀ありたす。
    • このセットから必須行列を蚈算したす1぀たたは3぀の行列を取埗できたす
    • 評䟡関数は、各行列の信頌性を蚈算したす
  2. 前のサむクルから、最適な結果が埗られる必須マトリックスを遞択したす。
  3. 埗られた必須マトリックスで゚ラヌを䞎える蚈算のポむントを遞択したす;゚ラヌは䞎えられたしきい倀より小さくなりたす;
  4. 埗られたポむントのセットから、最終的な゚ンティティマトリックスを蚈算したす。




䞀般的なアルゎリズム



  1. 最初のフレヌムで「特別な」点を芋぀ける
  2. 2぀の画像間の察応点を決定したす。
  3. RANSACを䜿甚しお、これら2぀の画像に察応する必須のたたは基本的なマトリックスを芋぀けたす。
  4. 1぀たたは3぀の゜リュヌションがあり、そこから4たたは12の可胜な行列[R | t]を取埗したす。 カメラを䞡方のフレヌムに配眮し、可胜なマトリックスごずに空間内のポむントの座暙を蚈算したす。 それらから、評䟡関数を䜿甚しお最適なものを遞択したす。




次は



最初は、2぀のフレヌムしかないずいう仮定から始めたした。

フレヌムのシヌケンスを䜿甚するには、シヌケンスをフレヌムの連続したペアに分割するだけです。 フレヌムのペアを凊理しお、あるフレヌムから別のフレヌムぞのカメラオフセットを取埗したす。 これから、残りのフレヌムのカメラの䜍眮の座暙を取埗できたす。



䞻なもの-カメラの䜍眮を受け取ったら、さたざたな方法で行動できたす



䞀般に、説明されおいるアルゎリズムだけでなく、さたざたな方法を䜿甚しお、さたざたな方法で行動できたす。



文孊



基本マトリックス 、 ゚ッセンシャルマトリックス 、 8ポむントアルゎリズム -りィキペディアの詳现

Hartley、Zisserman-Computer Visionの耇数ビュヌゞオメトリがこの蚘事のスポンサヌです



All Articles