.9 Vùng ứng cử viên polyp

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu phương pháp phát hiện tự động polyp dựa trên lọc hessian, biến đổi hough và đặc trưng biên trong ảnh y học (Trang 38)

Cuối cùng phân loại cho mỗi vùng ứng cử viên trên mô hình đã huấn luyện để xác định có phải là một polyp hay không. Trích xuất đặc trưng HOG các vùng ứng cử viên theo kích thước của vùng polyp.

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 đề

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.

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.

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à:

.𝑥𝑦/ = . cos (𝜌) sin (𝜌) −sin (𝜌) cos (𝜌)/ . 𝑆& 𝑆-/ .𝑥 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.

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.

2.4 Phân loại dựa trên phương pháp SVM

Support vector machine (SVM) là phương pháp học có giám sát do Vladimir N. Vapnik đề xuất vào năm 1995, và ngày càng được sử dụng phổ biến trong nhiều lĩnh vực, đặc biệt là lĩnh vực phân loại mẫu và nhận dạng mẫu.

SVM dạng chuẩn nhận dữ liệu vào và phân loại chúng vào hai lớp khác nhau. Do đó SVM là một thuật toán phân loại nhị phân. Ý tưởng của SVM là tìm một siêu mặt phẳng (hyperplane) để phân tách các điểm dữ liệu. Siêu phẳng này sẽ chia không gian thành các miền khác nhau và mỗi miền sẽ chứa một loại dữ liệu. SVM dựa trên cơ sở toán học vững chắc. Tuy nhiên việc huấn luyện mẫu sử dụng SVM đòi hỏi phải giải bài toán tối ưu nhiều biến. Ban đầu, SVM được phát triển để giải các bài toán phân lớp, về sau do tính ưu việt, nó còn được ứng dụng rộng rãi để giải các bài toán hồi quy.

Bài toán của SVM đặt ra như sau, cho một tập dữ liệu được biểu diễn trong một không gian nhiều chiều. Giả sử tập dữ liệu là khả tách tuyến tính. Hãy tìm ra siêu phẳng có thể chia tập dữ liệu ra làm hai phần (phân loại nhị phân) và thỏa

mãn điều kiện khoảng cách từ điểm gần nhất của mỗi tập đến siêu phẳng đó là lớn nhất. Gọi tập dữ liệu huấn luyện là (𝑥!, 𝑦!), (𝑥", 𝑦"), … , (𝑥3, 𝑦3) với x là dữ liệu và y là nhãn của dữ liệu tương ứng. Giả sử y chỉ nhận giá trị 1 hoặc -1 (bài toán phân loại nhị phân) và dữ liệu có thể biểu diễn trên một không gian hai chiều. Ta có thể hình dung dữ liệu huấn luyện như sau:

Hình 2.12 Ví dụ dữ liệu trong SVM.

Trong hình, các điểm màu xanh và đỏ biểu diễn 2 class 1 và -1. Đường thẳng 𝑊.x + b = 𝑤#𝑥#+ 𝑤$𝑥$+ b = 0 là đường thẳng cần tìm để phân loại hai tập dữ liệu. Với một điểm dữ liệu (xn, yn) bất kỳ, ta có khoảng cách từ điểm đó đến đường thẳng phân tách là:

*')𝒘($'0C+

∥𝒘∥" (2.23) Với ∥ 𝐰 ∥"= H∑4  

$%! 𝑤$" với d là số nhãn

Nhiệm vụ của bài toán SVM là tìm w và b để giá trị của lề (margin) là lớn nhất, ta có mô tả toán học của SVM như sau:

(𝐰, 𝑏) = arg 𝑚𝑎𝑥 𝐰,1  S𝑚𝑖𝑛 2  +!3𝐰"𝐱!516 ∥𝐰∥# V = arg 𝑚𝑎𝑥 𝐰,1  S∥𝐰∥# #𝑚𝑖𝑛𝑦2(𝐰.𝐱2+ 𝑏)V (2.24) Ta có thể giả sử: 𝑦2(𝒘.𝑥2+ 𝑏) ≥ 1. Trong đó dấu bằng xảy ra tại các điểm gần đường thẳng nhất. Bài toán tối ưu của SVM có thể được mô tả như sau:

(𝒘, 𝑏) = arg 𝑚𝑖𝑛 𝒘,6  !

"∥ 𝒘 ∥"" (2.25) thoả mãn 1 − 𝑦2(𝒘.𝑥2 + 𝑏) ≤ 0, ∀𝑛 = 1,2, … , 𝑁

Ở đây, n là số lượng các điểm dữ liệu (xi, yi) còn việc lấy bình phương và chia đôi nhằm dễ dàng tính toán và tối ưu lồi. Bài toán này có thể giải thông qua

bài toán đối ngẫu của nó và sử dụng phương pháp nhân tử Lagrance. Lúc này, ta sẽ cần tìm các giá trị λ như sau:

𝜆 = arg 𝑚𝑎𝑥

.  ∑3$%! 𝜆$ −!

"∑3$,7%! 𝜆$𝜆7𝑦$𝑦7𝐱$8𝐱7

thoả mãn 𝜆$ ≥ 0 ∧ ∑3$%! 𝜆$𝑦$ = 0, 𝑖 ∈ [1, 𝑛] (2.26)

Việc giải λ có thể được thực hiện bằng phương pháp quy hoạch động bậc 2 (Quadratic Programing). Sau khi tìm được λ thì ta có các tham số:

𝐰 = ∑*  

!#- 𝜆!𝑦!𝐱!

𝑏 = 𝑦! − ∑*"#- 𝜆"𝑦"𝐱":𝐱! (2.27)

Ở đây (xi,yi) là một điểm dữ liệu bất kì nào đó nằm trên đường biên gốc. Điểm dữ liệu này còn được gọi là Support Vector. Tên của phương pháp SVM cũng từ đây mà ra. Tuy nhiên, thường người ta tính bằng phép lấy trung bình tổng của tất cả các bi. Giả sử, ta có tập S các Support Vectors thì:

𝑏 = |𝕊|- ∑!∈𝕊 O𝑦! − ∑*"#- 𝜆"𝑦"𝐱":𝐱!P (2.28) Khi đó, một điểm dữ liệu mới sẽ được phân loại dựa theo:

𝑐𝑙𝑎𝑠𝑠(𝐱) = sgn 2d  

2

89#

𝜆8𝑦8𝒙𝒊;𝒙 + 𝑏4 (2.29)

Trong đó hàm sgn là hàm xác định dấu, nhận giá trị 1 nếu đối số là không âm và -1 nếu ngược lại. Như vậy, chỉ cần các điểm Support Vector trên đường biên gốc là ta có thể ước lượng được các tham số tối ưu cho bài toán. Việc này rất có lợi khi tính toán giúp phương pháp này tiết kiệm được tài nguyên thực thi. Hiểu một cách đơn giản, thuật toán SVM có mục đích tìm một mô hình có thể phân chia tập dữ liệu ra các miền sao cho dữ liệu trong các miền đó cùng một nhãn nhiều nhất có thể. Tuy nhiên nếu chỉ có điều kiện trên thì có thể có rất nhiều mô hình thỏa mãn và trong số đó có rất nhiều mô hình không phải là tốt nhất. SVM thêm một điều kiện là “khoảng cách” từ điểm gần nhất đến mô hình là lớn nhất có thể. Khoảng cách này chính là lề. Lề càng lớn thì mô hình sẽ càng phân tách dữ liệu và dự đoán các dữ liệu chưa xuất hiện tốt hơn. Hay nói một cách khác, lề chính là thể hiện của việc mô hình có thể dự đoán các loại dữ liệu một cách “công bằng” và chịu nhiễu tốt hay không.

Hình 2.13 So sánh lề(margin).

Ta có thể thấy, đường mô hình trong hình bên phải (lề lớn) tốt hơn rất nhiều so với đường mô hình trong hình bên trái. Trong hình biên trái, đường mô hình bị lệch rất nhiều về bên đỏ kiến cho các điểm màu đỏ không xuất hiện trong huấn luyện dễ bị nhận nhầm sang màu xanh hơn. Với hình bên phải, đường mô hình nằm chính giữa hai tập dữ liệu. Đây là lề lớn nhất có thể đạt được và cũng là đường mô hình tốt nhất để phân chia hai tập dữ liệu. Trong huấn luyện, SVM định nghĩa một siêu tham số gọi là C. Tham số này đại diện cho việc huấn luyện ưu tiên mô hình sẽ phân loại chính xác các điểm dữ liệu hay ưu tiên tìm được mô hình có lề lớn nhất có thể hơn. Ban đầu, thuật toán SVM được xác định bằng lề cứng, tức là bắt buộc toàn bộ dữ liệu phải được chia chính xác. Tuy nhiên trong thực tế, rất ít khi tồn tại một bộ dữ liệu có thể thõa mãn điều kiện này. Từ đó khái niệm SVM lề mềm được đưa ra. Theo đó, thuật toán SVM sẽ cho phép chấp nhận một số điểm không được chia chính xác tuyệt đối. Điều này giúp thuật toán có thể áp dụng với các bài toán trong thực tế. Và khi này, tham số C sẽ rất có ý nghĩa trong việc điều kiển việc huấn luyện ưu tiên điều kiện phân loại đúng các điểm dữ liệu hay ưu tiên khả năng chịu nhiễu và dự đoán các dữ liệu chưa xuất hiện.

Hình 2.14 Ví dụ kết quả thuật toán SVM (hình bên trái là lề cứng và hình bên phải là lề mềm).

Trong các ví dụ trên, mô hình được nhắc đến đều là một đường thẳng. Tuy nhiên trong thực tế, mặt phẳng phân tách dữ liệu không đơn giản là đường thẳng mà có thể là các phương trình phức tạp hơn (ví dụ đường cong, hình tròn...). Đây là một siêu tham số cần lựa chọn khi huấn luyện mô hình và được gọi là lõi (kernel). Mỗi loại lõi có thể cho kết quả tốt nhất với từng trường hợp dữ liệu cụ thể.

Hình 2.15 Một số ví dụ về lõi của SVM.

2.5 Đánh giá mô hình phân lớp

Không thể khẳng định một phương pháp phân lớp nào là chính xác hoàn toàn. Bất kỳ phương pháp nào cũng có độ sai lệch. Vì vậy việc đưa ra độ đo để đánh giá hiệu quả của thuật toán phân lớp giúp ta có thể xác định được mô hình nào là tốt nhất, kém nhất, từ đó áp dụng thuật toán đó vào việc phân lớp.

Confusion matrix là một kỹ thuật đánh giá hiệu năng của mô hình cho các bài toán phân lớp. Confusion matrix là một ma trận thể hiện số lượng điểm dữ liệu

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu phương pháp phát hiện tự động polyp dựa trên lọc hessian, biến đổi hough và đặc trưng biên trong ảnh y học (Trang 38)

Tải bản đầy đủ (PDF)

(55 trang)