Hessian・Harrisコーナー検出をTypeScriptで実装する【画像処理100本ノック】
約 2 分
目次
概要
Q.81〜83では、画像中の角や交点を特徴点として抽出します。Hessian法は二階微分、Harris法は 一次微分から作る構造テンソルを利用します。
Hessianによるコーナー検出(Q.81)
x方向・y方向の二階微分Ixx、Iyyと混合微分Ixyを求め、Hessian行列の行列式を
応答値とします。
det(H) = Ixx Iyy - Ixy²
応答が閾値を超え、近傍で局所最大となる画素をコーナーとして描画します。
Harris検出の構造テンソル(Q.82)
SobelフィルタからIx、Iyを求め、Ix²、Iy²、IxIyをガウシアンで平滑化します。
これらは局所領域でどの方向に輝度が変化しているかを表します。
Harris応答(Q.83)
構造テンソルMから次の応答を計算します。
R = det(M) - k trace(M)²
平坦領域では2方向とも変化が小さく、エッジでは一方向だけ、コーナーでは2方向とも変化が 大きくなります。大きな正の応答から局所最大点を選びます。
エッジ検出との違い
エッジは一方向の大きな変化でも反応します。コーナーはx・yの両方向に変化するため、画像の 位置合わせや追跡で再検出しやすい点として利用できます。
おすすめの記事
最新の記事
よく読まれている記事
タグから探す
- javascript129
- typescript66
- node.js54
- linux54
- 画像処理48
- amazon-aws47
- アルゴリズム37
- canvas35
- html529
- 画像処理100本ノック27
- php24
- centos24
- python22
- 競技プログラミング21
- mac21
- mysql20
- opencv17
- 雑談16
- 機械学習16
- docker16
- wordpress15
- atcoder14
- apache12
- データベース12
- amazon-s312
- red-hat12
- prisma12
- ubuntu11
- github10
- git10
- react10
- mariadb10
- vue.js9
- aws-cdk9
- css38
- 可視化8
- 小ネタ8
- next.js8
- nestjs8
- amazon-lightsail7
- ブログ6
- cms6
- oracle6
- perl6
- gitlab6
- iam5
- amazon-ec25
- 資格試験5
- aws-amplify5
- curl4