哈里斯邊角偵測()是被廣泛運用在電腦視覺的角檢測演算法,主要是用於從影像中找出代表邊角的特徵點。最早是由Chris Harris和Mike Stephens在1988年所提出,在當時是莫拉維克邊角偵測器的改進版本
一般而言,哈里斯邊角偵測演算法可以分成下列幾個步驟:
彩色影像轉換成灰階影像
空間微分的計算
建構結構張量
計算哈里斯響應
非極大值抑制
彩色影像轉換成灰階影像
如果輸入是一張彩色影像,第一步便是轉換成灰階影像,可以加快處理速度
空間微分的計算
第二步是計算整張圖的 I_x( x, y), I_y( x, y) 。
建構結構張量
有了 I_x( x, y), I_y( x, y) 的資訊後,我們便可以建構結構張量 M 。
計算哈里斯響應
在這一步,我們會運用下列的近似的式子來計算結構張量矩陣的最小的特徵值:
\lambda _{min} \approx \frac{ \lambda _1 \lambda _2} {(\lambda _1+\lambda _2)} = \frac{det(M)} {trace(M)}
trace(M) = m_{11} + m_{22}
另外一種常見的哈里斯響應是
R = det(M) - k(trace(M))^2 = \lambda _1 \lambda _2 - k (\lambda _1 + \lambda _2)^2
而k是一個由經驗所訂出來的常數, k \in [0.04, 0.06] 。
非極大值抑制
由於只靠前面的步驟選出的特徵點很可能會在一小塊區域有很多個,我們希望能在局部區域選出值最大的,因此會設定各個擁有局部最大值的特徵點的距離不能太接近,如此便可以有效選出比較分散在整張圖的特徵點。
改進的偵測演算法
來源:
- 哈里斯-拉普拉斯邊角偵測
- Differential Morphological Decomposition Based Corner Detector
- Multi-scale Bilatera Structure Tensor Based Corner Detector
應用
- 影像對齊,影像縫合,影像配準
- 建立二維馬賽克
- 三維場景建模及重建
- 動作偵測
- 物體識別
- 基于内容的影像檢索
- 影片追蹤
更多
*
*
- 角检测
*
- 计算机视觉
- 计算机视觉各主题列表
參考資料
外部連結
- [http://opencvexamples.blogspot.com/2013/10/harris-corner-detection.html "Learn OpenCV by Examples : Harris Corner Detection"]
- [http://docs.opencv.org/2.4/doc/tutorials/features2d/trackingmotion/harris_detector/harris_detector.html "Harris Corner Detection - OpenCV Documentation"]
- [http://opencv-python-tutroals.readthedocs.org/en/latest/py_tutorials/py_feature2d/py_features_harris/py_features_harris.html "Harris Corner Detection - OpenCV-Python Tutorials"]
评论 (0)