ライブ ビデオ フィードから 3D オブジェクトを再構築する方法について知っている人がいるかどうか疑問に思っていました。そのような3Dオブジェクトを生成するために使用されるアルゴリズムを読んだので、リンクできるJavaベースの例またはJAVAベースの論文はありますか。可能であれば、以下のリンクに示されているプログラムのようなものを構築したいと考えています。現在、私のプログラムはライブ ビデオ フィードをログに記録します。
2 に答える
単一の視点からのオブジェクトの 3D 再構築は実際には不可能です。次の 2 つの基本的な方法があります: a) ステレオ カメラ システムでオブジェクトをキャプチャする b) カメラは 1 つだけで、オブジェクトを回転させる (したがって、オブジェクトの異なる視点を持つことができます)。 . これはエピポーラ幾何に関する基本的な考え方です。
他にも選択肢はありますが、より煩わしいものです。少し前に、私は単一のカメラとレーザービームに基づく 3D スキャナーに取り組んできました。
これには C++ コードであるOpenCVを使用しましたが、Java 用のポートがあると思います。3D 再構成は簡単な作業ではなく、結果のアプリであることに注意してください。良い結果を得るには、大部分をパラメータ化する必要があります。
これは解決された問題ではありません - 特定の技術は、適切な条件下である程度までそれを行うことができます. たとえば、リンクされたビデオは、比較的均一な照明条件の下でゆっくりと移動しながら分析されているかなり単純な平らな面のオブジェクトを示しています。
2 番目の (ステレオ ビジョン) ビデオ フィードを取得できれば、このような手法の有効性も大幅に向上します。
ただし、一般的なビデオ フィードでは機能しない可能性があります。不均一な照明、カメラの前を移動する物体、速い動き、フォーカスの問題などの問題は、問題の解決を非常に困難にします。おそらく期待できる最善の方法は、部分的な再構築であり、それを確認して手動で編集し、避けられない間違いを修正することができます.
さらに詳しく知りたい場合は、JavaCVおよび関連プロジェクトがおそらく最適なリソースです。しかし、すぐに使える魔法のソリューションに期待しすぎないでください。