一般:これから説明するユースケースがオプティカルフローの問題の単純なケースであることを願っています。このテーマについての知識があまりないので、誰かが私にどのように提案するか疑問に思いました。私の問題を解決するために近づくことができます。
私がすでに行った研究:反りの理論に基づく高精度オプティカルフロー推定を読み始め、粒子ビデオ紙を調べることを計画しています。オプティカルフローのMATLAB高精度オプティカルフロー実装を見つけました。ただし、論文(およびコード)は、非常に複雑な概念を説明しているようであり、私が掘り下げて理解するには多くの時間がかかる可能性があります。私の問題の解決策がもっと簡単になることを願っています。
問題:一連の画像があります。画像は、材料と背景が黒で、亀裂が白である、材料の破損プロセスを示しています。破損プロセスで形成されたすべての亀裂を最初の黒い画像にマッピングするために、画像のシーケンスを逆にトラバースすることに興味があります。材料は大きなパズルと考えることができます。私は、壊れた順序とは逆の順序でピースを元に戻そうとしています。
各画像には、発生したばかりの亀裂や、完全に形成された(したがってフラグメントが作成された)亀裂が存在する可能性があります。破損プロセス全体を通じて、一部のフラグメントが分離してさらに破損する場合があります。フラグメントは、互いに遠くに移動することもできます(後続のフレーム間での変化はわずかです)。
必要な出力:シーケンスの最初の画像にマッピングされたシーケンスのすべての亀裂/線。
追記:画像は、グレースケール形式(つまりオリジナル)とバイナリ形式で利用できます。バイナリ形式では、亀裂の輪郭が白で、背景が完全に黒になっています。いくつかの画像の例については、以下を参照してください。
上の行は元の画像を示し、下の行はバイナリ画像を示しています。ご覧のとおり、画像シーケンスが進むにつれて、中央を下る亀裂はますます広くなります。したがって、下部の亀裂は下部の破片と一緒に移動します。シーケンスを逆にトラバースするとき、中央の亀裂が1つにまとめられ(そして最初の画像に正しくマッピングされ)、下部の亀裂も正しくマッピングされ、正しい対応(サイズと位置)が維持されることをアルゴリズムで認識したいと思います。下のフラグメント。
シーケンスには通常、約30〜40の画像が含まれているため、最初のサブセットを示しました。また、これらの画像には表示されていませんが、特定の画像に亀裂の始まり(つまり最初の外観)しか含まれておらず、後続の画像ではますます長くなり、他の亀裂と結合する可能性があります。
言語:必須ではありませんが、MATLABを使用してソリューションを実装したいと思います(プロジェクトに関連する他のほとんどのコードがMATLABで実行されているため)。ただし、OpenCVの方が簡単な場合は、言語/ライブラリの使用法に柔軟性があります。
どんなアイデアでも大歓迎です。