4

屋外の小道のバイナリ イメージが 2 枚あり、道路の細かい輪郭を取得する必要がありますが、ノイズの多いピクセルがまだ残っているため、道路の正確な輪郭を追跡できません。houghlinesの関数から始点と終点の間の中点を計算しMatlab、道路の左点と右点を分離することができました。したがって、私の考えは、左右の点の線形近似を当てはめて、両側のノイズの多いピクセルを削除し、道路領域をきれいに分離できるようにすることでした。

2 つの道路の左側と右側のライン フィットの良い例と悪い例

問題:写真でわかるように、適合する直線は、散らばった (x,y) ポイント (赤) の最長軸に沿っていないため、適合していません。道路のいくつかの側面は非常にぴったりでした。polyfitnまたは関数の出力近似はpolyfit、短い散乱領域に沿って開始されます。制約 (開始と終了) を使用した最小二乗近似のコード例をいくつか見つけましたが、1D 独立変数タイプの問題の例のみを見つけました。

出力を生成するために使用した Matlab コードを次に示します。

imshow(binarizedimage320x240);        % Binary 320x240 image
rightPoints     % show rightPoint (x,y) coordinates from Hough Transform lines 

sizeRt = size(rightPoints, 1);
x = zeros(sizeRt, 1);
y = zeros(sizeRt, 1);

for k = 1:sizeRt
    x(k) = rightPoints(k,1);
    y(k) = rightPoints(k,2);
end
x               % show x values
y               % show y values


% Linear fitting
p = polyfitn(x,y,'constant x+y')    % show p
xi = 1:2:300;
yi = polyvaln(p, xi);

plot(x, y, 'ro', xi, yi, 'b-', 'LineWidth', 3);

変数:

rightPoints =
  205.0000  108.0000
  205.0000  162.5000
  205.0000  276.0000
  229.0000  123.5000
  229.0000  254.5000
  204.0000   87.5000
  215.0000  265.0000
  216.0000  121.0000
  216.0000  255.0000
x =
   205
   215
   216
   229
   205
   229
   216
   205
   204
y =
  276.0000
  265.0000
  255.0000
  254.5000
  162.5000
  123.5000
  121.0000
  108.0000
   87.5000
p = 
      ModelTerms: [2x1 double]
    Coefficients: [-152.6022 1.5730]
    ParameterVar: [3.7729e+05 8.2396]
    ParameterStd: [614.2421 2.8705]
              R2: 0.0411
      AdjustedR2: -0.0958
            RMSE: 71.6719
        VarNames: {'x+y'}

どんな助けでも大歓迎です。ありがとう。

4

1 に答える 1

2

Isack とBoykovによる PEaRL があなたの問題に当てはまると思われるかもしれません。
この論文で提案されているアルゴリズムは、ノイズの多いシナリオで複数の幾何学的モデルを同時に適合させるためのエネルギー最小化アプローチを定式化します (理論的には Hough や Ransac よりも優れています)。また、ここで
利用可能なコードがあると思います。

于 2013-10-16T17:21:53.050 に答える