パーティクルトラック(カメラで撮影された時間内のxy平面での移動、つまり3d-256x256pxと私のサンプルセットでは約3kフレーム)とノイズによって形成された大きなポイントセット(10kポイントのオーダー)があります。これらの粒子は、ほぼ直線上をほぼ同じ方向に移動しますが、それらの軌道を分析するために、点を通る線をフィットさせようとしています。シーケンシャルRANSACを使用しようとしましたが、TとJリンケージと同様に、誤検出を確実に選択するための基準を見つけることができませんでした。
これは、シーケンシャルランサックで得られた適合性の良いデータセットと不良なデータセットの一部の画像です。ここでは、 粒子ブロブの重心を使用しています。ブロブサイズは1ピクセルと約20ピクセルの間で変化します。
たとえば、10フレームごとにのみ使用するサブサンプルも非常にうまく機能するため、処理するデータサイズをこの方法で削減できることがわかりました。
ニューラルネットワークで実現できるすべてのことについてブログの投稿を読んで、これを読み始める前に、これが実現可能なアプリケーションかどうかを尋ねたいと思います(私は数学の知識がないので、かなりのことをしなければなりません少し読んでください)?
または、別の方法を提案できますか?
ありがとう!
補遺:以下は、Matlab関数が30本の平行なノイズのあるラインを含むサンプルの点群を生成するコードです。これは、まだ区別できません。
function coords = generateSampleData()
coords = [];
for i = 1:30
randOffset = i*2;
coords = vertcat(coords, makeLine([100+randOffset 100 100], [200+randOffset 200 200], 150, 0.2));
end
figure
scatter3(coords(:,1),coords(:,2),coords(:,3),'.')
function linepts = makeLine(startpt, endpt, numpts, noiseOffset)
dirvec = endpt - startpt;
linepts = bsxfun( @plus, startpt, rand(numpts,1)*dirvec); % random points on line
linepts = linepts + noiseOffset*randn(numpts,3); % add random offsets to points
end
end