TRƯỜNG ĐẠI HỌC BÀ RỊA – VŨNG TÀU VIỆN ĐÀO TẠO QUỐC TẾ SAU ĐẠI HỌC TIỂU LUẬN MÔN XỬ LÝ ẢNH Tên đề tài “Máy dò góc Shi Tomasi”
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÀ RỊA – VŨNG TÀU VIỆN ĐÀO TẠO QUỐC TẾ & SAU ĐẠI HỌC
TIỂU LUẬN MÔN XỬ LÝ ẢNH
Tên đề tài: “Máy dò góc Shi-Tomasi”
GVHD: TS Phan Nguyễn Hoàng HVTH: Nguyễn Xân Bắc
Lữ Thị Huyền Sâm Lớp: MIT20K2
Tháng 7, năm 2021
Trang 2LỜI NÓI ĐẦU
Bài toán xác định góc (corner detection) được sử dụng khá nhiếu trong các bài toán về computer vision như image matching, object detection
Ứng dụng của nó trong các bài toán image matching, hai ảnh bên dưới là hai ảnh chụp cùng một cảnh với nhiều góc khác nhau Khi ta muốn tìm điểm tương tự (feature point) của hai ảnh để nối ảnh, chúng ta tìm được vô vàn điểm giống nhau Nhưng điểm nào mới
là điểm quan trọng? Giống như cách hoạt động của mắt người, khi xác định sự giống nhau giữa hai bức ảnh ta đi so sánh giữa các vị trí góc trong khi các đặc trưng về cạnh thường bị lặp lại không thể dùng làm yếu tố đặc trưng Hoặc trong các bài toán nhận diện biển số xe, chỉ cần sự dụng thuật toán lấy bốn góc của biển số xe ta có thể nhanh chóng lấy ra vùng biển số xe nhanh hơn nhiều so với các phương pháp sử dụng Deep learning Corner Detection được sử dụng nhiều trong xử lý ảnh do đó tôi chọn một thuật toán phổ
biến đó là Shi-Tomasi
Trang 3I TRÌNH BÀY THUẬT TOÁN SHI TOMASI
Thuật toán Shi-Tomasi, còn được gọi là tính năng tốt để theo dõi, là một trong những phương pháp phát hiện góc được sử dụng rộng rãi trong lĩnh vực thị giác máy tính để chọn một số loại đặc điểm nhất định từ hình ảnh Nó là một phiên bản cải tiến của máy
dò góc Harri Do đó, chúng tôi bắt đầu bằng cách minh họa máy dò góc Harris, và sau
đó chúng tôi làm nổi bật khía cạnh cải tiến của thuật toán Shi-Tomasi
Máy dò góc Harris là máy dò điểm tính năng dựa trên giá trị eigenvalue, là máy dò góc phổ biến nhất do tính bất biến mạnh đối với nhiễu hình ảnh và chuyển động quay Nó dựa trên chức năng tương quan tự động cục bộ của một tín hiệu đo những thay đổi cục
bộ của tín hiệu với các bản vá được dịch chuyển một lượng nhỏ theo các hướng khác nhau Cho một sự dịch chuyển (∆r, ∆y) và một điểm (x, y), hàm tương quan tự động có thể được định nghĩa [44] như trong phương trình (1)
𝐸(𝑢, 𝑣) = ∑ ∑ 𝑤(𝑥, 𝑦)[𝐼(𝑥 + 𝑢, 𝑦 + 𝑣) − 𝐼(𝑥, 𝑦)]𝑥 𝑦 2 (1)
Trong đó:
- E đề cập đến tổng của sự khác biệt bình phương giữa cửa sổ ban đầu và cửa sổ
đã di chuyển
- u đề cập đến sự dịch chuyển của cửa sổ theo hướng x
- v đề cập đến sự dịch chuyển của cửa sổ theo hướng y
- w (x, y) đề cập đến hàm trọng số của cửa sổ ở vị trí (x, y), gaussian hoặc cửa sổ của một
- I (x + u, y + v) đề cập đến cường độ của cửa sổ được di chuyển
- I (x, y) đề cập đến cường độ của cửa sổ ban đầu
Phương trình (1) có thể được mở rộng hơn nữa bằng cách sử dụng chuỗi của Taylor và được viết lại như trong phương trình (2)
𝐸(𝑢, 𝑣) ≈ ∑ ∑ 𝑤(𝑥, 𝑦)[𝐼(𝑥, 𝑦) + ũ𝐼 + 𝑣𝐼𝑦 − 𝐼(𝑥, 𝑦)]2
𝑦
Phương trình (2) cũng có thể được viết lại dưới dạng ma trận như trong phương trình (3)
𝐸(𝑢, 𝑣) ≈ [𝑢 𝑣] (∑ ∑ 𝑤(𝑥, 𝑦) [ 𝐼𝑥
2 𝐼𝑥𝐼𝑦
𝐼𝑥𝐼𝑦 𝐼𝑦2 ]
𝑦
Phương trình (3) có thể được đơn giản hóa hơn nữa như trong phương trình (4)
𝐸(𝑢, 𝑣) ≈ [𝑢 𝑣]𝐴 [𝑢𝑣] (4) trong đó A đại diện cho Ma trận Harris và được định nghĩa như trong phương trình (5)
Trang 4𝐴 = (∑ ∑ 𝑤(𝑥, 𝑦) [ 𝐼𝑥
2 𝐼𝑥𝐼𝑦
𝐼𝑥𝐼𝑦 𝐼𝑦2 ]
𝑦
Các số đo của phản ứng góc (R) có thể được tính [45] như trong phương trình (6)
𝑅 = 𝐷𝑒𝑡(𝐴) − 𝐾(𝑇𝑟𝑎𝑐𝑒(𝐴))2 =λ1× λ2− 𝐾(λ1× λ2)2 (6)
trong đó 𝐷𝑒𝑡(𝐴) =λ1× λ2, 𝑇𝑟𝑎𝑐𝑒(𝐴) =λ1× λ2và λ2là giá trị riêng của (A) và (k) là một giá trị không đổi
Tùy thuộc vào giá trị của R, một điểm được coi là [46]:
Góc: nếu cả hai λ1& λ2 đều lớn thì λ1≈λ2; E tăng theo mọi hướng
Cạnh: nếu λ2≫λ1hoặc λ1≫λ2
Phẳng: nếu cả hai λ1& λ2đều nhỏ; E gần như không đổi theo mọi hướng
Như vậy, Thuật toán Shi-Tomasi phát hiện một góc bằng cách sử dụng hai giá trị riêng như thuật toán Harris-Stephen thực hiện, nhưng nó tính toán hàm R theo cách khác Trong thuật toán Shi-Tomasi, R được tính như sau:
𝑅 = min (λ1, λ2) (7)
Nếu R lớn hơn ngưỡng xác định trước λ𝑚𝑖𝑛 , thì điểm được chọn được coi là điểm góc Thuật toán Shi-Tomasi tạo ra các điểm đặc trưng ổn định và chính xác hơn để theo dõi
so với thuật toán Harris-Stephens Ngược lại, nó dẫn đến nhu cầu tính toán củng cao hơn
Trong OpenCV có cung cấp một hàm cv2.goodFeaturesToTrack() có thể thực hiện
thuật toán:
image: nên chuyển về dưới dạng ảnh xám để xử lý
Trang 5 maxCorners: Số góc bạn mong muốn tìm thấy Nếu số góc tìm được lớn hơn số
bạn mong muốn thì sẽ trả về số góc bạn mong muốn nhưng có confidence cao nhất
qualityLevel: tham số này nhân với điểm confidence lớn nhất của một góc tìm
được tạo ra mỗi giá trị ngưỡng Và dựa trên ngưỡng này để loại giá trị góc có điểm confidence bé hơn ngưỡng Nếu số góc tìm được bé hơn góc mong muốn thì chỉ trả về số góc tìm được
minDistance: khoảng cách Euclid bé nhất giữa hai góc
Trang 6II TÌM THÊM MỘT THUẬT TOÁN CÙNG CHỨC NĂNG VỚI THUẬT TOÁN TRÌNH BÀY
Features from accelerated segment test (FAST) là một thuật toán phát hiện góc, nó
được sử dụng để tìm các điểm tương tự (feature point) trong các bài toán về xử lý ảnh Thuật toán FAST được phát triển và công bố vào năm 2006 bởi Edward Rosten và Tom Drummond
Lợi thế lớn nhất của thuật toán FAST so với các thuật toán tìm góc khác là ở hiệu năng tính toán của nó Giống như tên của nó, thuật toán này nhanh hơn các thuật toán nổi tiếng khác tương tự như SIFT, SUSAN và Harris Ngoài ra khi áp dụng với công nghệ máy học (machine learning) nó đạt được hiệu suất tính toán vượt trội hơn nữa Thuật toán FAST rất phù hợp với các ứng dụng xử lý hình ảnh theo thời gian thực vì những lợi thế trên
Giải thích thuật toán FAST:
Chọn một pixel p trong ảnh để xác định nó có phải là một interest point hay không Cưởng độ của điểm đó là I p
Chọn một giá trị threshold là t
Giả sử có một vòng tròng 16 pixel quanh pixel p (Đây là vòng tròng Breshenham
circle bán kính 3)
Pixel p là một góc nếu tồn tại một tập hợp n các điểm liển kề có độ sáng lớn hơn
I p + t, hoặc tối hơn I p – t
Để làm thuật toán nhanh hơn, so sánh đầu tiên những pixel ở 1, 5, 9 ,13 trong
vòng tròn với I p
Trang 7 Nếu có ít nhất 3 trên 4 pixel (I1, I2,I9, I13) không lớn hơn hoặc nhỏ hơn I p + t thì
p không phải là một interest point (corner) Ngược lại nếu có ít nhất 3 pixel lớn
hơn hoặc nhỏ hơn I p + t thì tiếp tục kiểm tra 12 pixel còn lại có thỏa mãn điều
kiện không
Tiếp tục lặp lại cho tất cả pixel trong ảnh
Trang 8III TÌM KIẾM VÀ TRÌNH BÀY CÁC ỨNG DỤNG MÀ CÁC THUẬT TOÁN
ĐÓ ĐƯỢC ÁP DỤNG THỰC TẾ (TRONG CÁC CÔNG BỐ KHOA HỌC – PAPERS)
Indoor Visual Localization of a Wheelchair using ShiTomasi and KLT [1]
Một giải pháp cho lập bản đồ chính xác ở môi trường trong nhà được tìm kiếm bởi cộng đồng khoa học điều hướng robot Có nhiều các phương pháp tiếp cận để giải quyết vấn
đề này: cảm biến quán tính, camera, laser và các phương pháp dựa trên cường độ tín hiệu (Wi-Fi)
Bài báo này trình bày một cách tiếp cận bằng cách sử dụng một máy ảnh được nhúng trên robot, chỉ xuống sàn Một ứng dụng sử dụng xe lăn chạy điện trong nhà môi trường
để xác thực phương pháp này
The image processing techniques used can be divided in two categories: points of interest extraction and point tracking In this paper, the first is done with Shi-Tomasi and the next is implemented using the KLT algorithm
A Feature Points Extraction with Shi-Tomasi
The Shi-Tomasi algorithm, also known as “good features to track” considers a weighted auto-correlation function:
Where w( xi , yi ) is the weight Applying Taylor’s series expansion, the auto-correlation matrix A is given by:
Trang 9The goal is to verify the following relation:
Where λ1 and λ2 are the weigenvalues and λ is a predefined threshold If the selected point satisfies this equation, than it is considered a good feature to track
B Point Tracking with KLT
After finding good feature points in accordance with the Shi-Tomasi algorithm, the next step is the tracking The Kanade-Lucas-Tomasi (KLT) uses the Lucas-Kanade method for aligning (tracking) an image patch using Shi-Tomasi feature points The goal is to align a template image to an input image Considering a set of allowable warps W(x; p), where p is a vector of parameters, where:
The best alignment minimizes the image dissimilarity:
Those equations represent the original concept of the Lucas-Kanade algorithm After the point tracking, a method to verify if the tracking was successful is crucial One possibility is the Forward-Backward error, which make a forward and backward track
to ensure if the feature point was correctly tracked
Trang 10EXPERIMENT AND RESULTS
The chosen application to test the proposed method was an Electric Powered Wheelchair (EPW) with a Remote Control
To validate the application, a test path was defined to be followed by the EPW The purpose was to create a simple scenario eliminating obstacles and choosing a small area
to test The full length of the test was 4.5 meters, divided by: 3m forward, 1.5m right The figure bellow presents such path
The digital camera attached to the EPW is recording the floor We decided to use this approach in order to simplify the path reconstruction to a 2D problem, since the depth
of the points will always be the same
Where the green dots are the feature points and the blue square is the search area Using the Shi-Tomasi’s feature points and KLT tracker The robot first starts at (0,0) then goes
to the left to (-1.65m,0) then to the final position (-1.5m,-2.9m) The final position
Trang 11estimated is (-1,37m, -2.86m) and the real position is (-1.5m, -2.9m) An error of 8% in
X and 1% in Y
Trang 12IV MỘT VÍ DỤ PYTHON VỀ CÁCH DÙNG THUẬT TOÁN TRONG THỰC
TẾ
Tìm góc realtime qua webcam
Trang 13TÀI LIỆU THAM KHẢO
[1] M Lima, P Kurka, Y Silva và V Lucena, “Indoor Visual Localization of a Wheelchair using Shi-Tomasi and KLT”