学士論文の一部として、HarrisandStephensアルゴリズムを使用してコーナー検出器を実装しようとしています。コーナー検出器 とエッジ検出器を組み合わせたものです。
私は計算します:
- ソーベルフィルター(3x3)を使用したxおよびy偏差
システムマトリックスMを計算します
M = [AC; CB]
つまり、私が大丈夫なら:
- A = sobel_xの2乗の応答:Ix * Ix(特定のピクセルで)
- B = sobel_yの2乗の応答:Iy * Iy(特定のピクセルで)
- C = sobel_xの応答にsobel_yの応答を掛けたもの:Ix * Iy(特定のピクセルで)
今、私はtrace(M)を計算し、特に懸念しているのはdeterminant(M)です。
そこの論文では、固有値の高価な計算を回避するため、行列式について次の近似を提案しています。
det(M)= A * B-C ^ 2
これは常にゼロで終了する必要があります!
式det(M)= A * B --C ^ 2は、次のように書き直すことができます。(ポイント2の知識を使用)
det(M)= A * B-C * C
det(M)= Ix * Ix * Iy * Iy-Ix * Iy * Ix * Iy
det(M)= Ix * Ix * Iy * Iy-Ix * Ix * Iy * Iy
det(M)= 0
では、なぜ行列式を計算する必要があるのでしょうか。私が見る限り、トレースを計算するだけで十分です!(または、どこかで大きな間違いを犯しましたか?)