Mở đầu
Corner Detection được sử dụng trong hệ thống Computer Vision để trích xuất một số features đặc thù cho nội dung hình ảnh
Corner Detection được sử dụng nhiều cho motion detection, image registration, video tracking, ... Và ta sẽ tập trung khai thác Corner detection cho việc tìm hiểu SIFT SUFT algorithm
Ta tìm hiểu về các khía cạnh sau của Corner detection: công dụng và nguyên lí hoạt động cũng như sự khác nhau của các algorithms
Harris Corner Detector
Không mất tính tổng quát, ta giả sử có 1 hình 2D ban đầu I (1 ma trận 2 chiều được viết theo hệ tọa độ ban đầu (u, v), ta tịnh tiến nó theo vector (x, y). Từ đó ta có công thức sum of squared differences (SSD) giữa 2 hình (kí hiệu S):
w là window chứa điểm đang xét ( lấy điểm đang xét làm tâm)
Theo khai triển Taylor cho phương trình đạo hàm 2 biến, ta có:
Vì vậy:
Ta phân tích các đạo hàm riêng của I là Ix và Iy mỗi đạo hàm sẽ lấy giá trị strong positive value và strong negative value của ma trận ảnh (đạo hàm 1 điểm dựa vào giá trị các điểm xung quanh) , hình thành các đường để xác định Edge và Corner
Ta có thể viết thành
Có thể nhìn thấy rằng bây giờ là phương trình chéo hóa ma trận A (hay covariance matrix) ( A = )
Với
Vì A là matrix 2x2, ta có thể mườn tượng A là 1 elip đối với trục tọa độ có tâm là điểm cần xét
Với ∋ là giá trị dương rất nhỏ
Notebook giải thích chi tiết tại:
https://colab.research.google.com/drive/1H-66NPA9u_XvjFRBFSKYuEO47fjYIMqs#scrollTo=aNAeC_taFK_eTham khảo
- https://en.wikipedia.org/wiki/Corner_detection
- https://www.youtube.com/watch?v=Z_HwkG90Yvw&ab_channel=FirstPrinciplesofComputerVision
- https://vi.wikipedia.org/wiki/El%C3%ADp
- https://www.kaggle.com/code/dasmehdixtr/harris-corner-detector-example-from-scratch
- https://docs.opencv.org/3.4/d9/dbc/tutorial_generic_corner_detector.html
Nhận xét
Đăng nhận xét