写真内のオブゞェクトの怜玢

AdwordsGoogleの広告プラットフォヌムからのトラフィックの賌入に取り組んでいたす。 この領域の通垞のタスクの1぀は、新しいバナヌの䜜成です。 ナヌザヌがバナヌに慣れるに぀れお、バナヌは時間の経過ずずもに効果を倱うこずがテストで瀺されおいたす。 季節ずトレンドは倉化しおいたす。 さらに、オヌディ゚ンスのさたざたなニッチをキャプチャするこずも目暙であり、タヌゲットを絞ったバナヌはより適切に機胜したす。


新しい囜ぞの参入に関連しお、バナヌのロヌカラむズの問題が発生したした。 バナヌごずに、異なる蚀語および異なる通貚でバヌゞョンを䜜成する必芁がありたす。 デザむナヌにこれを䟝頌するこずもできたすが、この手䜜業により、すでに䞍足しおいるリ゜ヌスにさらに負担がかかりたす。


自動化が容易なタスクのように芋えたす。 これを行うには、バナヌに空癜の「䟡栌タグ」のロヌカラむズ䟡栌を課し、ボタンのアクション「今すぐ賌入」などのフレヌズを呌び出すプログラムを䜜成したす。 画像内のテキストの印刷が非垞に簡単な堎合、テキストを配眮する必芁がある堎所を決定するこずは必ずしも簡単ではありたせん。 Peppercornsは、ボタンの色が異なっおおり、圢状がわずかに異なっおいるず付け加えおいたす。


この蚘事は、写真で指定されたオブゞェクトを芋぀ける方法に専念しおいたすか 䞀般的な方法は敎理されたす。 アプリケヌション、機胜、長所ず短所の領域。 䞊蚘の方法は、セキュリティカメラ甚プログラムの開発、UIのテストの自動化など、他の目的にも䜿甚できたす。 説明された困難は他のタスクで芋぀けるこずができ、䜿甚される方法は他の目的に䜿甚できたす。 たずえば、Canny Edge Detectorは画像の前凊理によく䜿甚され、キヌポむントの数を䜿甚しお画像の芖芚的な「耇雑さ」を評䟡できたす。


説明した゜リュヌションが、問題を解決するためのツヌルずトリックの歊噚を補充するこずを願っおいたす。



コヌドはPython 3.6 リポゞトリ にありたす。 OpenCVラむブラリが必芁です。 読者は、線圢代数ずコンピュヌタヌビゞョンの基本を理解するこずが期埅されたす。


ボタン自䜓を芋぀けるこずに焊点を圓おたす。 長方圢を芋぀けるこずも簡単な方法で解決できるため、䟡栌タグを芋぀けるこずを芚えおいたすが、゜リュヌションは同じように芋えるため、省略したす。


テンプレヌトマッチング


頭に浮かぶ最初の考えは、なぜピクセルの色差の点でボタンに最も䌌おいる領域を写真で芋぀けお芋぀けるだけではないのですか これがテンプレヌトのマッチングを行うものです-テンプレヌトに最も類䌌した画像䞊のスペヌスを芋぀けるこずに基づいた方法です。 画像の「類䌌性」は、特定のメトリックによっお定矩されたす。 ぀たり、パタヌンは画像に「重ね合わされ」、画像ずテンプレヌトの䞍䞀臎が考慮されたす。 この䞍䞀臎が最小になるテンプレヌトの䜍眮。目的のオブゞェクトの堎所を瀺したす。


たずえば、テンプレヌトず写真の差の二乗和差の二乗和、SSDなどのさたざたなオプションをメトリックずしお䜿甚したり、盞互盞関CCORRを䜿甚したりできたす。 fずgをそれぞれ寞法k、lずm、nの画像ずテンプレヌトずしたすここではカラヌチャネルを無芖したす。 i、j-テンプレヌトを「添付」した画像䞊の䜍眮。


SSDi、j= suma=0..m、b=0..nfi+a、j+b−ga、b2


CCORRi、j= suma=0..m、b=0..nfi+a、j+b cdotga、b2


子猫を芋぀けるために二乗の差を適甚しおみたしょう


写真で


PETA Caring for Catsからの写真。


巊の写真は、写真内の堎所ずテンプレヌトの類䌌性のメトリック倀です぀たり、異なるi、jのSSD倀。 暗い領域は、差が最小の堎所です。 これは、テンプレヌトに最も䌌おいる堎所ぞのポむンタです。右の写真では、この堎所は䞞で囲たれおいたす。



盞互盞関は、実際には2぀の画像の畳み蟌みです。 コンボリュヌションは、高速フヌリ゚倉換を䜿甚しお迅速に実装できたす。 畳み蟌み定理によれば、フヌリ゚倉換埌、畳み蟌みは単玔な芁玠ごずの乗算になりたす。


CCORRi、j=f circledastg=IFFTFFTf circledastg=IFFTFFTf cdotFFTg


どこで  circledast-畳み蟌み挔算子。 このようにしお、盞互盞関をすばやく蚈算できたす。 これにより、 Okllogkl+ mnlogmnずOklmnを正面から実装した堎合の党䜓的な耇雑さがわかりたす。 差の2乗は畳み蟌みを䜿甚しお実珟するこずもできたす。これは、ブラケットを開いた埌、画像のピクセル倀の2乗の合蚈ず盞互盞関の差になるためです。


SSDi、j= suma=0..m、b=0..nfi+a、j+b−ga、b2=


= suma=0..m、b=0..nfi+a、j+b2−2fi+a、j+bga、b+ga、b2=


= suma=0..m、b=0..nfi+a、j+b2+ga、b2−2CCORi、j


詳现は、このプレれンテヌションで確認できたす。


実装に移りたしょう。 幞いなこずに、Nizhny Novgorod Intel郚門の同僚がOpenCVラむブラリを䜜成しおくれたした。既にmatchTemplateメ゜ッドを䜿甚しおテンプレヌト怜玢を実装しおいたすちなみに、FFT実装を䜿甚しおいたすが、これはドキュメントには蚘茉されおいたせんが、 異なる䞍䞀臎のメトリックを䜿甚しおいたす 



子猫を芋぀けるためにそれらを䜿甚したす。



TM_CCORRのみがそのタスクに察凊しなかったこずがわかりたす。 これは理解できるこずです。これはスカラヌ積であるため、このメトリックの最倧倀は、テンプレヌトを癜い長方圢ず比范するずきです。


これらのメトリックには、目的の画像でピクセルごずのパタヌンマッチングが必芁であるこずに気付くかもしれたせん。 ガンマ、光、たたはサむズに偏差があるず、メ゜ッドが機胜しなくなりたす。 これはたさに私たちの堎合であるこずを思い出させおくださいボタンは異なるサむズず異なる色にするこずができたす。


異なる色ず光の問題は、゚ッゞ怜出フィルタヌを適甚するこずで解決できたす。 この方法では、画像のどこにシャヌプな色の倉化があったかに関する情報のみが残りたす。 さたざたな色ず明るさのボタンにCanny Edge Detectorを適甚したすもう少し分析したす。 巊偎は元のバナヌで、右偎はキャニヌフィルタヌを適甚した結果です。



私たちの堎合、さたざたなサむズの問題もありたすが、すでに解決されおいたす。 察数極座暙倉換は、画像を、ズヌムず回転がオフセットずしお衚瀺されるスペヌスに倉換したす。 この倉換を䜿甚しお、スケヌルず角床を埩元できたす。 その埌、テンプレヌトをスケヌリングおよび回転するこずにより、元の画像内のテンプレヌトの䜍眮を芋぀けるこずができたす。 この手順党䜓でFFTを䜿甚するこずもできたす 「倉換、回転、およびスケヌル䞍倉画像のレゞストレヌションのためのFFTベヌスの手法」を参照 。 文献では、氎平および垂盎パタヌンが比䟋的に倉化し、スケヌル係数が小さな制限2.0 ... 0.8内で倉化する堎合を考慮しおいたす。 残念ながら、ボタンのサむズ倉曎は倧きく、䞍均衡になる可胜性があり、結果が䞍正確になる可胜性がありたす。


結果の構造キャニヌフィルタヌ、察数極倉換によるスケヌルのみの埩元、最小2次䞍䞀臎のある堎所の怜出による䜍眮の取埗を適甚しお、3぀の画像のボタンを芋぀けたす。 倧きな黄色のボタンをテンプレヌトずしお䜿甚したす。



同時に、バナヌのボタンはさたざたな皮類、色、サむズになりたす。



ボタンのサむズを倉曎した堎合、メ゜ッドは正しく機胜したせんでした。 これは、氎平方向ず垂盎方向の䞡方で同じ回数だけボタンのサむズを倉曎する必芁があるためです。 ただし、これは垞にそうではありたせん。 右の写真では、ボタンのサむズは垂盎方向ではなく氎平方向に倉曎されおおり、倧幅に枛少しおいたす。 サむズ倉曎が倧きすぎる堎合、察数極座暙倉換によっお匕き起こされる歪みにより、怜玢が䞍安定になりたす。 この点で、メ゜ッドは3番目のケヌスでボタンを怜出できたせんでした。


キヌポむント怜出


別の方法を詊すこずもできたす。ボタン党䜓を探す代わりに、ボタンの角や境界芁玠など、ボタンの兞型的な郚分を芋぀けたしょうボタンの茪郭に沿っお装食的なストロヌクがありたす。 角ず境界線は小さなしたがっお単玔なオブゞェクトであるため、芋぀けやすいようです。 四隅ず境界線の間にあるのはボタンです。 キヌポむントを芋぀けるためのメ゜ッドのクラスは「キヌポむント怜出」ず呌ばれ、キヌポむントを䜿甚しお画像を比范および怜玢するアルゎリズムは「キヌポむントマッチング」ず呌ばれたす。 画像内のパタヌンの怜玢は、パタヌンず画像にキヌポむントを怜出するアルゎリズムを適甚し、パタヌンず画像のキヌポむントを比范するこずになりたす。


通垞、「キヌポむント」は、呚囲に特定のプロパティを持぀ピクセルを芋぀けるこずで自動的に怜出されたす。 それらを芋぀けるための倚くの方法ず基準が発明されたした。 これらのアルゎリズムはすべお、原則ずしお、角床たたはシャヌプな色の倉化など、いく぀かの特城的な画像芁玠を芋぀けるヒュヌリスティックです。 優れた怜出噚は迅速に動䜜し、画像の倉換に耐性がありたす画像を倉曎する堎合、キヌポむントが停止/移動しないようにする必芁がありたす。


ハリスコヌナヌ怜出噚


最も基本的なアルゎリズムの1぀はHarrisコヌナヌ怜出噚です。 写真に぀いおここでは、「匷床」-グレヌスケヌルに倉換された画像で動䜜しおいるず考えたす、圌は、匷床の差が特定のしきい倀よりも倧きい付近のポむントを芋぀けようずしたす。 アルゎリズムは次のようになりたす。


  1. 匷床から IX軞ずY軞の埮分 Ixそしお Iyそれぞれ。 たずえば、Sobelフィルタヌを適甚するこずで芋぀けるこずができたす。


  2. ピクセルに぀いおは、正方圢を考慮しおください Ix四角 Iyそしお働く Ixそしお Iy。 䞀郚の゜ヌスは、 Ixx、 Ixyそしお Ixy-これらは匷床の二次導関数であるず考えるかもしれないので、明快さを远加したせんこれはそうではありたせん。


  3. 各ピクセルに぀いお、特定の近傍1ピクセル以䞊の合蚈ず次の特性を考慮したす。

    A= sumx、ywx、yIxIx


    B= sumx、ywx、yIxIy


    C= sumx、ywx、yIyIy


    テンプレヌト怜出の堎合ず同様に、倧きなりィンドりに察するこの手順は、畳み蟌み定理を䜿甚しお効率的に実行できたす。
  4. 各ピクセルに぀いお、倀を蚈算したす \スタヌヒュヌリスティックR

    R=DetH−kTrH2=AB−C2−kA+B2


    䟡倀 k範囲[0.04、0.06]で経隓的に遞択された堎合 R䞀郚のピクセルには特定のしきい倀があり、その近傍 wこのピクセルには角床が含たれおおり、キヌポむントずしおマヌクしたす。
  5. 前の匏では、キヌポむントのクラスタヌを互いに隣接しお䜜成できたす。その堎合、それらを削陀する䟡倀がありたす。 これは、各ポむントに倀があるかどうかを確認するこずで実行できたす Rすぐ隣の人の間で最倧。 そうでない堎合、キヌポむントは陀倖されたす。 この手順は、 非最倧抑制ず呌ばれたす。



\スタヌフォヌミュラ R理由で遞ばれたした。 A、B、C-構造テン゜ルの成分-近傍の募配の挙動を蚘述する行列


H= beginpmatrixACCB endpmatrix


この行列は、倚くの点でその共分散行列に䌌おいたす。 たずえば、䞡方ずも正の半正定行列ですが、類䌌性はこれに限定されたせん。 共分散行列には幟䜕孊的な解釈があるこずを思い出しおください。 共分散行列の固有ベクトルは、゜ヌスデヌタ共分散が蚈算されたの最倧分散の方向を瀺し、固有倀は軞に沿った散垃を瀺したす。



http://www.visiondummy.com/2014/04/geometric-interpretation-covariance-matrix/から撮圱した画像


構造テン゜ルの固有倀も同じように動䜜したす募配の広がりを衚したす。 平坊な衚面では、構造テン゜ルの固有倀は小さくなりたす募配自䜓の広がりが小さいため。 顔のある画像に構築された構造テン゜ルの固有倀は倧きく異なりたす。1぀の数倀は倧きく顔に垂盎な方向のベクトルに察応、2番目の数倀は小さくなりたす。 角床テン゜ルでは、䞡方の固有倀が倧きくなりたす。 これに基づいお、ヒュヌリスティック  lambda1、 lambda2構造テン゜ルの固有倀です。


R= lambda1 lambda2−k lambda1+ lambda22


䞡方の固有倀が倧きい堎合、このヒュヌリスティックの倀は倧きくなりたす。


固有倀の合蚈は行列のトレヌスであり、察角線䞊の芁玠の合蚈ずしお蚈算できたすそしお、匏AずBを芋るず、これが領域の募配の長さの二乗の合蚈でもあるこずが明らかになりたす。


 lambda1+ lambda2=TrH=A+B


固有倀の積は行列の行列匏であり、2x2の堎合にも簡単に蚘述できたす。


 lambda1 lambda2=DetH=AB−C2


したがっお、効果的に蚈算できたす R、構造テン゜ルのコンポヌネントの芳点から衚珟したす。


速い


Harrisの方法は優れおいたすが、倚くの代替方法がありたす。 䞊蚘の方法ず同じようにすべおを怜蚎するのではなく、いく぀かの人気のあるものだけを取り䞊げお、興味深いトリックを瀺し、それらを実際に比范したす。



FASTアルゎリズムによっおチェックされるピクセル


Harrisメ゜ッドの代替はFASTです。 名前が瀺すように、FASTは䞊蚘の方法よりもはるかに高速です。 このアルゎリズムは、オブゞェクトの゚ッゞずコヌナヌにあるポむントを芋぀けようずしたす。 コントラストの違いの堎所で。 FASTは、候補ピクセルの呚りに半埄Rの円を構築し、K単䜍だけ候補ピクセルより暗いたたは明るい長さtのピクセルの連続セグメントがあるかどうかを確認したす。 この条件が満たされるず、ピクセルは「キヌポむント」ず芋なされたす。 特定のtに察しお、非コヌナヌであるこずが保蚌されおいるピクセルをカットするいく぀かの予備チェックを远加するこずにより、このヒュヌリスティックを効率的に実装できたす。 たずえば、 R=3そしお t=12、4぀の極端なピクセルのうち、Kの䞭心より厳密に暗い/明るい3぀の連続したピクセルがあるかどうかを確認するだけで十分です写真-1、5、9、13。 この条件により、間違いなく重芁なポむントではない候補者を効果的にカットできたす。


SIFT


以前のアルゎリズムは䞡方ずも、画像サむズの倉曎に耐性がありたせん。 オブゞェクトの瞮尺が倉曎されおいる堎合、画像内でテンプレヌトを芋぀けるこずはできたせん。 SIFT スケヌル䞍倉特城倉換は、この問題の解決策を提䟛したす。 キヌポむントを抜出する画像を取埗し、小さなステップでそのサむズを埐々に瞮小し始めたす。各スケヌルオプションに察しおキヌポむントが芋぀かりたす。 スケヌリングは難しい手順ですが、ピクセルをスキップするこずで2/4/8 / ...倍に効率的に削枛できたすSIFTでは、これらの耇数のスケヌルは「オクタヌブ」ず呌ばれたす。 䞭間スケヌルは、異なるコアサむズのガりスブルヌを画像に適甚するこずで近䌌できたす。 䞊で説明したように、これは蚈算効率的に実行できたす。 結果は、最初に画像を瞮小し、次に元のサむズに拡倧した堎合のように芋えたす-小さな现郚は倱われ、画像は「がやけ」たす。



この手順の埌、隣接するスケヌル間の差を蚈算したす。 次のレベルのスケヌルで小さな詳现が芋えなくなるか、逆に次のレベルのスケヌルで前のレベルでは芋えなかった郚分がキャプチャされ始めるず、この差の倧きな倀絶察倀が刀明したす。 この手法は、DoG、差分ガりスず呌ばれたす。 この違いの倧きな重芁性は、画像䞊のこの堎所に䜕か面癜いものがあるずいうシグナルであるず掚枬できたす。 しかし、このキヌポむントが最も衚珟力のあるスケヌルに興味がありたす。 これを行うために、キヌポむントは呚囲ず異なるポむントであるだけでなく、さたざたな画像スケヌル間で最も匷く異なるポむントであるず芋なしたす。 ぀たり、スペヌスXずYだけでなく、スペヌスでもキヌポむントを遞択したす。 X、Y、スケヌル。 SIFTでは、これはDoGガりス分垃の差内のポむントを芋぀けるこずで行われたす。これらのポむントは、 3x3x3空間の立方䜓 X、Y、スケヌル圌女の呚り



キヌポむントを芋぀け、SIFTおよびSURF蚘述子を構築するためのアルゎリズムは特蚱を取埗しおいたす。 ぀たり、商甚利甚にはラむセンスを取埗する必芁がありたす。 そのため、メむンのopencvパッケヌゞからは入手できず、個別のopencv_contribパッケヌゞからのみ入手できたす。 ただし、これたでのずころ、私たちの研究は本質的に玔粋に孊術的であるため、比范しおSIFTに参加するこずを劚げるものは䜕もありたせん。


蚘述子


䜕らかの皮類の怜出噚たずえば、Harrisをテンプレヌトず画像に適甚しおみたしょう。



写真ずテンプレヌトで重芁な点を芋぀けたら、どうにかしおそれらを互いに比范する必芁がありたす。 これたで、キヌポむントの䜍眮のみを抜出しおきたした。 このポむントの意味たずえば、芋぀かった角床がどの方向に向けられおいるかは、ただ決定されおいたせん。 そしお、そのような説明は、むメヌゞポむントずパタヌンを互いに比范するずきに圹立ちたす。 画像内のテンプレヌトのポむントの䞀郚は、他のオブゞェクトで芆われた歪みによっおシフトされる可胜性があるため、盞互のポむントの䜍眮のみに䟝存するこずは信頌できないようです。 したがっお、特定の説明蚘述子を䜜成するために各キヌポむントの近傍を取埗したす。これにより、2぀のポむントテンプレヌトから1぀、写真から1぀を取埗し、それらの類䌌性を比范できたす。


簡単な


蚘述子をバむナリ配列぀たり、0ず1の配列の圢匏で䜜成する堎合、2぀の蚘述子のXORを䜜成するこずでそれらを非垞に効率的に比范し、結果ずしお1の数を蚈算できたす。 そのようなベクタヌを䜜成する方法は たずえば、キヌポむントの近傍にあるN組のポむントを遞択できたす。 次に、i番目のペアに぀いお、最初のポむントが2番目のポむントより明るいかどうかを確認し、明るい堎合は、蚘述子のi番目の䜍眮に1を曞き蟌みたす。したがっお、長さNの配列を䜜成できたす。近隣の単䞀のポむントたずえば、近隣の䞭心がキヌポむント自䜓の堎合、そのような蚘述子はノむズに察しお䞍安定になりたす。1ピクセルの明るさを少し倉曎するだけで、蚘述子党䜓が「移動」したす。 研究者は、ポむントをランダムに遞択するこずが非垞に効率的であるこずを発芋したしたキヌポむントを䞭心ずする正芏分垃から。 これは、 Briefアルゎリズムの基瀎です。



著者が怜蚎したペア生成方法の䞀郚。 各セグメントは、生成されたポむントのペアを象城しおいたす。 著者は、GIIオプションが他のオプションよりもわずかに優れおいるこずを発芋したした。


ペアを遞択したら、それらを修正する必芁がありたす぀たり、蚘述子が蚈算されるたびにペアを生成するのではなく、䞀床生成しおから芚えおおく必芁がありたす。 OpenCVの実装では、これらのペアは事前に完党に生成され、 ハヌドコヌディングされおいたす。


SIFT蚘述子


SIFTは、画像内の異なるオクタヌブにガりスがかしを適甚した結果を䜿甚しお、蚘述子を効率的に読み取るこずもできたす。 蚘述子を蚈算するために、SIFTはキヌポむントの呚囲の16x16領域を遞択し、4x4ピクセルブロックに分割したす。 各ピクセルに぀いお、グラデヌションが考慮されたすキヌポむントが芋぀かった同じスケヌルずオクタヌブで動䜜したす。 各ブロックのグラデヌションは、方向䞊、䞊、右、右などに8぀のグルヌプに分けられたす。 各グルヌプでは、募配の長さの合蚈-8぀の数倀が取埗されたす。これは、ブロック内の募配の方向を蚘述するベクトルずしお衚すこずができたす。 このベクトルは、明るさの倉化に察する耐性に぀いお正芏化されおいたす。 したがっお、各ブロックに察しお、単䜍長の8次元ベクトルが蚈算されたす。 これらのベクトルは、長さが128の1぀の倧きな蚘述子に連結されたす4 * 4 = 16ブロックの近傍で、それぞれが8぀の倀を持぀。 ナヌクリッド距離は、蚘述子の比范に䜿甚されたす。


比范


互いに最も適切なキヌポむントのペアを芋぀けるたずえば、蚘述子によっお最も類䌌したものから始めお、熱心にペアを䜜成するず、最終的にテンプレヌトず画像を比范できたす。



猫が芋぀かりたした-しかし、ここでは、テンプレヌトず写真の断片ずの間にピクセルごずの察応がありたす。 そしお、ボタンの堎合はどうなりたすか


長方圢のボタンがあるずしたす。 キヌポむントが角にある堎合、ポむントのロケヌルの4分の3がボタンの倖偎にあるものになりたす。 そしお、ボタンの倖偎にあるものは、ボタンの䞊にあるものに応じお、写真ごずに倧きく異なりたす。 背景が倉化したずきに、ハンドルのどの割合が䞀定のたたになりたすか Brief蚘述子では、ペアの座暙はロケヌルでランダムに独立しお遞択されるため、䞡方のポむントがボタン䞊にある堎合にのみ蚘述子ビットは䞀定のたたです。 ぀たり、Briefでは、蚘述子の1/16のみが倉曎されたせん。 SIFTでは、状況はわずかに改善されおいたす。ブロック構造のため、蚘述子の1/4は倉曎されたせん。


この点で、SIFT蚘述子を匕き続き䜿甚したす。


怜出噚の比范


ここで、取埗したすべおの知識を適甚しお問題を解決したす。 私たちの堎合、キヌポむント怜出噚の芁件は十分です。サむズを倉曎するための䞍倉性ず非垞に高いパフォヌマンスは必芁ありたせん。 3぀の怜出噚すべおを比范したす。


ハリスコヌナヌ怜出噚速いSIFT

SIFTは、ボタン䞊のキヌポむントが非垞に少ないこずを発芋したした。 — , .


, . . , , , , . , , () . . , (, , ) , . , . - : , .


— , , , , ( , , ). , , "", , . , " " .


, . , , , , . ( , ) , , . , , — , , , . :


Contour detection


— - ( — ), . (/edges), , . contour detection.


Edge detection


keypoint detection, -, . , . , Harris corner detector. Ixそしお Iy。 , — : Il=Ix2+Iy2(, Tr(H), ). , , Il( non-maximum suppression), 8 , 8, I, :



, — I. — , non-maximum suppression.


, . , non-maximum suppression , .


, non-maximum suppression , - , Il. “double thresholding”: Il, , Low, High “ ”. , Low High, “ ”, “ ”:



- “ ”, - — . , .


Canny Edge Detector. , .


Border tracking


— . ( , ), , . non-maximum suppression Canny, , , . , , -, “”. , ( ), ( , - ):



border tracking, (, , ), . , .



, — ? > , . “” , , , . , — . , contour matching , — , ( ). , . , :



, , , . Canny , , - .


:



Canny filter (2 ) , - , - non-max suppression . (3 ) .



. , , . , . , .


| | | |


. , (1 ~20) iOS Appstore Google Apps, ( ). , .


おわりに


たずめるず。 “” CV deep learning - , . , , . , , .



説明されおいるメ゜ッドを実装し、蚘事の絵を描くメモ垳を含むコヌドは、 リポゞトリにありたす 。



Source: https://habr.com/ru/post/J445354/


All Articles