Giá trị bin được định lượng bởi tổng cường độ biến thiên của các pixel thuộc về bin đó.
Hình 2.4 Biểu đồ Histogram of Gradient gồm 9 bin tương ứng với một cell
Tham số orientations (không gian hướng) thường được chọn là 9 (9 bin), pixels_per_cell bắt đầu từ 8×8 và cells_per_block bắt đầu từ 2×2.
Kích thước bức ảnh input cũng là một điều cần chú ý. Giả sử orientations=9, pixels_per_cell=(10,10), cells_per_block=(2,2), nếu bức ảnh được resize thành 200×200 thì chúng ta sẽ nhận được Feature Vectors
có dạng 12996-d, nếu bức ảnh được resize thành 150×150 thì Feature Vectors có dạng 7056-d. Tất nhiên, kích thước của Feature Vector càng lớn thì thời gian tính toán càng cao.
v Nối các vectơ đặc trưng ô để được vectơ đặc trưng khối. Số chiều vectơ đặc trưng của khối tính theo công thức sizefeature/block=ncells*sizefeature/cell. Trong đó, ncells là số ô trong khối và sizefeature/cell là số chiều vectơ đặc trưng của ô bằng 9 (unsigned- HOG) hoặc 18 (signed-HOG).
Bước 5: Tính vectơ đặc trưng cho ảnh
Chuẩn hóa vectơ đặc trưng các khối bằng một trong các công thức:
L2-norm: 𝑓 = ' ('!!)*! (2.8) L1-norm: 𝑓 = ('' ")*) (2.9) L1-sqrt: 𝑓 = H('' ")*) (2.10)
Theo N. Dalal và B. Triggs [10], kết quả chuẩn hóa khi dùng L2- norm và L1-sprt là như nhau, L1-norm thì kém hơn. Trong các công thức trên, v là vectơ đặc trưng ban đầu của khối, vk là k-norm của v ( k = 1, 2), e là hằng số nhỏ.
Ghép các vectơ đặc trưng khối tạo nên ảnh để được đặc trưng R- HOG cho ảnh. Số chiều vectơ đặc trưng của ảnh tính theo công thức
sizefeature/image = nblocks/image * sizefeature/block, với nblocks/image là khối và
sizefeature/block là số chiều vectơ đặc trưng mỗi khối.
Tập đặc trưng HOG tìm được sẽ sử dụng để huấn luyện bộ phân loại. Có nhiều phương pháp phân loại dữ liệu như: phân lớp dựa vào cây quyết định, phân lớp dựa vào luật, phân lớp Bayesian, phân lớp theo lan truyền ngược,... Tuy nhiên, để đơn giản và nhanh chóng, ta sử dụng phương pháp SVM tuyến tính để huấn luyện tập dữ liệu.
Biểu diễn phân phối HOG trên ảnh
Đối với mỗi một ô trên lưới ô vuông, chúng ta biểu diễn phân phối HOG bao gồm nhóm 9 véc tơ chung gốc chiều dài bằng độ lớn gradient và góc bằng phương gradient. Khi đó chiều của nhóm các véc tơ sẽ tương đối giống với dáng đối tượng.
Hình 2.5 Biểu diễn nhóm véc tơ histogram trên các lưới ô vuông hình ảnh gốc.
v Ưu điểm của HOG:
• Rất hữu ích để biểu diễn các đối tượng có cấu trúc không thay đổi đáng kể • Rất chính xác trong Object Classification
v Khuyết điểm của HOG:
• Feature Vector có thể trở nên rất lớn nếu không chú ý các tham số như orientations, pixels_per_cell, cells_per_block và kích thước input image • Khá chậm
• Không hoạt động tốt nếu cấu trúc của đối tượng cần được mô tả bị thay đổi lớn (ví dụ: đối tượng bị xoay)
2.2 Phương pháp lọc Hessian
Trong nhiều ứng dụng thị giác máy tính, điều quan trọng là phải trích xuất các đặc trưng đặc biệt từ ảnh nó phải riêng biệt, rõ ràng để xác định vị trí và tìm thấy trong các hình ảnh khác nhau hiển thị cùng một cảnh.
Bộ lọc Hessian được áp dụng cho hình ảnh nội soi để xác định các vùng có độ lồi và lõm [12]. Hình ảnh được phân đoạn dựa trên kết quả lọc Hessian. Lọc low-pass, làm mịn Gaussian, để loại bỏ ảnh hưởng của nhiễu và kết cấu.
Biến đổi Fourier được áp dụng cho ảnh xám đã được chuyển đổi từ ảnh RGB gốc để loại bỏ các thành phần tần số cao. Bộ low-pass được áp dụng trong không gian tần số và biến đổi Fourier ngược được áp dụng. Ảnh hưởng của nhiễu và kết cấu của bề mặt có thể được loại bỏ, hình ảnh gốc và hình ảnh được low- pass sau khi loại bỏ các thành phần tần số cao được thể hiện như trong hình:
Hình 2.6 Ảnh gốc(bên trái) và ảnh lọc low-pass(bên phải).
Các bước để nâng cao cấu trúc giống blob(giọt nước) như sau [12]:
Bước 1: Tạo bộ lọc Gaussian G(x,y) với phóng đại chiều rộng là s
Bước 2: Tạo bộ lọc cho các đạo hàm riêng Gx(x,y), Gy(x,y) và các đạo
hàm riêng thứ hai Gxx(x, y), Gxy(x, y) và Gyy(x, y).
Bước 3: Tính Lxx (x,y), Lxy (x,y) và Lyy (x,y) là tích chập của ảnh đầu vào L(x,y) với Gxx (x, y), Gxy (x, y) và Gyy (x, y) tương ứng. Đó là:
Lxx(x,y)=Gxx(x,y) * L(x,y) (2.11) Lxy(x,y)=Gxy(x,y) * L(x,y) (2.12) Lyy(x,y)=Gyy(x,y) * L(x,y) (2.13) Lưu ý: * là ký hiệu chập
Bước 4: Tính toán ma trận (2 × 2) Hessian H, từ phương trình (2.11 - 2.13)
H = .𝐿𝐿&& 𝐿&-
&- 𝐿--/ (2.14)
Bước 5: Tính giá trị riêng λ1, λ2, (λ1 ≤ λ2) của H
Bước 6: Tính ảnh I (x, y), tại đó:
𝐼(𝑥, 𝑦) = (𝜆!(𝑥, 𝑦)"+ 𝜆"(𝑥, 𝑦)") L1 − M."(&,-)!
Bảng phân loại cho các mô hình và cấu trúc dựa trên các giá trị riêng của ma trận Hessian (H = cao, L = thấp, N = nhiễu) được thể hiện như sau:
𝜆!, 𝜆" Mô hình và cấu trúc
N, N Nhiễu, không có hướng ưu tiên L,H- Cấu trúc ống tối
L, H+ Cấu trúc ống sáng
H-, H- Blob giống như cấu trúc sáng H +, H + Blob giống như cấu trúc tối
Ở đây, H tương ứng với cao (lớn nhất về độ lớn) và L tương ứng với mức thấp (nhỏ nhất ở độ lớn) H+ và H- biểu thị các dấu hiệu của các giá trị riêng cao. H+ nếu H > 0 and H nếu H <0.
Hình 2.7 Ảnh gốc (bên trái) và ảnh đã được tăng cường(bên phải).
Sơ đồ phân đoạn Voronoi được sử dụng để tạo ra các vùng polyp ứng cử viên. Phân đoạn giữ lại (mức thấp hơn) giá trị ngưỡng được thể hiện trong hình: