3. Cấu trúc luận văn
2.3 Phương pháp biến đổi Hough
Biến đổi Hough (HT) (Hough, 1962) là một kỹ thuật trích xuất đặc trưng của một hình dáng cụ thể trong một ảnh, nó được sử dụng trong phân tích hình ảnh, thị giác máy tính và xử lý hình ảnh kỹ thuật số. Khi dùng các chương trình máy tính để nhận diện một đối tượng nào đó có hình dạng bất kỳ, phương pháp hữu hiệu hiện nay là sử dụng biến đổi Hough. Các bài toán tìm kiếm từ những mức đơn giản như tìm đường thẳng tới các bài toán phức tạp hơn như tìm hình tròn, hình cầu, hình elipse hoặc các hình phức tạp đều có thể thực hiện bằng biến đổi Hough (với điều kiện các hình dạng này biểu diễn toán học được). Trong luận văn này biến đổi Hough được sử dụng để xác định các khu vực ứng cử viên polyp trong bước phát hiện Polyp (phân loại).
Phép biến đổi Hough cổ điển liên quan đến việc xác định các đường thẳng trong hình ảnh, nhưng sau đó phép biến đổi Hough đã được mở rộng để xác định vị trí của các hình dạng tùy ý, phổ biến nhất là hình tròn hoặc hình elip.
Ưu điểm chính của HT là nó có thể cung cấp các kết quả tương tự như đối với đối sánh mẫu nhưng nhanh hơn. Điều này đạt được bởi một tái định dạng lại của quá trình đối sánh mẫu, dựa trên một phương pháp tiếp cận thu thập dấu hiệu là các bình chọn trong một mảng tích lũy. Việc thực hiện HT xác định một ánh xạ từ các điểm ảnh vào một không gian tích lũy (không gian Hough). Ánh xạ được thực hiện trong một cách tính toán hiệu quả dựa trên các hàm mô tả hình dạng mục tiêu. Ánh xạ này đòi hỏi ít tài nguyên hơn nhiều so với đối sánh mẫu. Tuy nhiên, nó vẫn đòi hỏi lưu trữ quan trọng và yêu cầu tính toán cao. Những vấn đề
33
này được giải quyết sau, kể từ khi họ cung cấp tập trung cho sự phát triển liên tục của HT. Tuy nhiên, thực tế là HT tương đương với đối sánh mẫu đã đưa ra đủ động lực cho kỹ thuật này là trong số phổ biến nhất của tất cả các kỹ thuật trích chọn hình dạng hiện có.
a. Biến đổi Hough cho hình tròn (Circle Hough Transform)
Biến đổi Hough cho hình tròn (CHT) là một kỹ thuật trích xuất đặc trưng cơ bản được sử dụng để phát hiện các vòng tròn trong ảnh không hoàn hảo. Các ứng cử viên vòng tròn được tạo ra bằng cách “voting” trong không gian tham số Hough và sau đó chọn cực đại cục bộ trong ma trận tích lũy.
Phương trình của đường cong có thể được đưa ra trong hình thức rõ ràng hoặc tham số. Trong hình thức rõ ràng, HT được xác định bằng cách xem xét các phương trình cho một hình tròn bởi:
(𝑥 − 𝑥0)"+ (𝑦 − 𝑦0)" = 𝑟" (2.16)
Phương trình này xác định một quỹ tích các điểm (x, y) tập trung vào gốc (x0, y0) và có bán kính r. Phương trình này một lần nữa có thể được hình dung trong hai cách kép: như một qũy tích các điểm (x, y) trong một hình ảnh, hoặc như một quỹ tích các điểm (x0, y0) tập trung vào (x, y) với bán kính r.
34
Mỗi điểm cạnh xác định một tập hợp các hình tròn trong không gian tích lũy. Những hình tròn được xác định bởi tất cả các giá trị có thể của bán kính và tập trung vào các tọa độ của các điểm cạnh. Hình 2.5(b) cho thấy ba vòng tròn được xác định bởi ba điểm cạnh. Những hình tròn được xác định cho một giá trị bán kính nhất định. Trên thực tế, mỗi điểm cạnh xác định các hình tròn cho các giá trị khác của bán kính. Điều này cho thấy không gian tích lũy là ba chiều (đối với ba thông số quan tâm) và các điểm cạnh ánh xạ để một hình nón chọn trong không gian tích lũy. Hình 2.5(c) minh họa tích lũy này. Sau khi thu thập dấu hiệu của tất cả các điểm cạnh, tối đa trong không gian tích lũy lại tương ứng với các tham số của hình tròn trong hình ảnh ban đầu. Các thủ tục thu thập dấu hiệu là giống như HT cho đường thẳng, nhưng các bình chọn được tạo ra trong khối hình nón, theo phương trình 2.5 có thể được xác định dưới dạng tham số như
𝑥 = 𝑥0 + 𝑟cos (𝜃)𝑦 = 𝑦0 + 𝑟sin (𝜃) (2.17)
Ưu điểm của sự biểu diễn này là nó cho phép chúng ta giải quyết cho các tham số. Do đó, phép ánh xạ HT được xác định bởi
𝑥0 = 𝑥 − 𝑟cos (𝜃)𝑦0 = −𝑟sin (𝜃) (2.18)
Những phương trình xác định các điểm trong không gian tích lũy (Hình 2.5(b)) phụ thuộc vào bán kính r. Lưu ý rằng θ không phải là một tham số tự do, nhưng xác định các dấu vết của đường cong. Các dấu vết của đường cong (hoặc bề mặt) thường được gọi là hàm rải điểm.
Thuật toán Circle Hough Transform:
Bước 1: Khởi tạo mỗi bộ tích lũy H [x0, y0, r] = 0.
Bước 2: Tiền xử lý ảnh: làm mờ Gaussian, chuyển sang ảnh xám…. Tìm
biên của ảnh bằng bất kỳ thuật toán phát hiện biên nào.
Bước 3: For r = 0 đến chiều dài đường chéo ảnh
For mỗi pixel biên (x, y) trong hình ảnh
For θ = 0 to 360
x0 = x – r*cosθ y0 = y – r*sinθ
H[x0, y0,r] = H[x0, y0,r] +1
Bước 4: Tìm các giá trị [x0, y0, r], trong đó H [x0, y0, r] nằm trên một giá trị ngưỡng(threshold) phù hợp.
35
b. Biến đổi Hough cho ellipse
Hình tròn là rất quan trọng trong việc phát hiện hình dạng từ nhiều đối tượng có hình dạng tròn. Tuy nhiên, do quan điểm của máy ảnh, hình tròn không luôn luôn trông giống như hình tròn trong hình ảnh. Hình ảnh được hình thành bằng cách ánh xạ một hình trong không gian 3D vào một mặt phẳng (mặt phẳng ảnh). Cách ánh xạ này thực hiện một sự thay đổi quan điểm. Trong quá trình này, một hình tròn bị biến dạng trông giống như một hình elip. Chúng ta có thể xác định ánh xạ giữa hình tròn và một hình elip bằng một chuyển đổi tương tự. Đó là:
.𝑥𝑦/ = .−sin (𝜌) cos (𝜌)/ .cos (𝜌) sin (𝜌) 𝑆𝑆&-/ .𝑥 1
𝑦1/ + .𝑡𝑡&
-/ (2.19)
trong đó (x′, y′) xác định tọa độ của hình tròn trong phương trình 2.31, ρ đại diện cho các định hướng, (Sx, Sy) là một thừa số tỷ lệ và (tx, ty) một dịch chuyển. Nếu chúng ta xác định
𝑎0 = 𝑡& 𝑎& = 𝑆&cos (𝜌) 𝑏& = 𝑆-sin (𝜌)
𝑏0 = 𝑡- 𝑎- = −𝑆&sin (𝜌) 𝑏- = 𝑆-cos (𝜌) (2.20) Sau đó ta đã có hình tròn bị biến dạng thành:
𝑥 = 𝑎0+ 𝑎&cos (𝜃) + 𝑏&sin (𝜃)
𝑦 = 𝑏0 + 𝑎-cos (𝜃) + 𝑏-sin (𝜃) (2.21)
Phương trình này tương ứng với các biểu diễn cực của một hình elip. Hình thức cực này có sáu tham số (a0, b0, ax, bx, ay, by) đặc trưng cho hình dạng của hình elip. θ không phải là một tham số tự do và chỉ đề cập đến một điểm cụ thể trong quỹ tích của elip. Tuy nhiên, một tham số là không cần thiết vì nó có thể được tính bằng cách xem xét tính trực giao của các trục của elip (tích số
axbx+ayby = 0 là một trong những thuộc tính nổi bật của một hình elip). Do đó, một hình elip được xác định bởi trung tâm của nó (a0, b0) và ba tham số trục(ax, bx, ay, by). Điều này cho phép 5 tham số được trực giác chính xác từ một hình elip được xác định bởi trung tâm của nó (hai thông số), nó chỉnh kích thước dọc theo hai trục (hai thông số hơn) và phép quay của nó (một tham số). Trong tổng số các trạng thái này 5 tham số mô tả một hình elip, vì vậy ba tham số trục phải cùng mô tả kích thước và phép quay. Trong thực tế, các thông số trục có thể liên quan đến việc định hướng và chiều dài dọc theo trục bởi:
tan (𝜌) = 2#
2$𝑎 = \𝑎&" + 𝑎-"𝑏 = \𝑏&" + 𝑏-" (2.22) Trong đó (a, b) là các trục của elip.
36
Hình 2.11 Sự xác định của trục elip.
Thuật toán Ellipse Hough Transform: Bước 1: Xác định biên của ảnh đầu vào
Bước 2: Bản đồ khoảng cách Euclid được tạo ra từ ảnh biên. Bước 3: Tạo danh sách điểm biên từ ảnh biên.
Bước 4: Các ứng cử viên trung tâm được phát hiện bằng cách vote điểm giữa của mỗi hai điểm biên.
Bước 5: Các ứng cử viên slope được phát hiện bằng cách vote các đường phân giác vuông góc của mỗi hai điểm cạnh.
Bước 6: Mọi ứng cử viên đều được đánh giá bằng bản đồ khoảng cách Euclide.