Phân loại và gắn nhãn ảnh
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Trang 2I Những Khái niệm cơ bản 3
1 Histogram 3
1.1 Định nghĩa 3
1.2 Cách tính 3
1.3 Các đặc tính và các vấn đề 3
2 Texture 4
2.1 Định nghĩa và 1 số đặc điểm của texture 4
2.2 Một số phương pháp phân tích texture 5
2.3 Một số khó khăn trong việc phân tích texture 7
II Ảnh nhị phân và xử lý ảnh nhị phân 7
1 Phân vùng theo cạnh 7
1.1 Một số khái niệm: 7
1.2 Phân loại các kỹ thuật phát hiện biên: 8
1.3 Quy trình phát hiện biên: 9
1.4 Phương pháp gradient: 9
1.5 Kỹ thuật Gradient: 10
1.6 Phương pháp Laplace: 12
1.7 Bộ lọc Canny: 13
1.8 Biến đổi Hough: 14
2 Tìm hiểu về phân vùng 14
2.1 Một số khái niệm 14
2.2 Các phương pháp phân vùng ảnh 15
2.3 Edge-based segmentation 15
2.4 Region-based segmentation 16
III HOG, SIFT, SURF 16
1 HOG 16
2 SIFT 20
2.1 Định nghĩa – Tính chất 20
2.2 Các bước thực hiện: 21
TÀI LIỆU THAM KHẢO: 30
Trang 3I Những Khái niệm cơ bản
Ảnh : Bản chất là 1 ma trận mà mỗi phần tử của ma trận đại diện cho 1 điểm ảnh Giá trị phần tử đại diện cho giá trị điểm ảnh tương ứng với phần
Khoảng cách dựa trên phân bố màu:
– thường sử dụng k/c L1 hoặc L2 (euclide):
– Giao giữa 2 histogram
1.3 Các đặc tính và các vấn đề
l Độ chói: miền giá trị mức xám
l Độ tương phản: có nhiều cách định nghĩa:
Trang 4l Các cách biến đổi độ tương phản:
l Tuyến tính
l Tuyến tính bão hòa
o Nếu giá trị sau biến đổi < min thì giá trị đó là min
o Nếu giá trị sau khi biến đổi > max thì giá trị đó là max
o min(I(i,j) ≤ Smin < Smax ≤ max(I(i,j) l Tuyến tính một phần:
o Biến đổi đường gấp khúc : Smin < S < Smax l Nâng cao ảnh động: các giá trị histogram được dàn đều ra khoảng giá trị động mà không có biến đổi gì về mặt giá trị l Cân bằng ảnh động: 4 bước:
o Bước 1: Tính số điểm ảnh của mỗi mức xám
o Bước 2: Tính tỷ số điểm ảnh của mỗi mức xám
o Bước 3: Chuẩn hóa phân bố xác xuất
o Bước 4: Chuyển mức xám của ảnh
l Các ưu điểm của histogram:
l Không phụ thuộc/ ít phụ thuộc vào một số các biến đổi hình học:
o Phép quay
o Phép tịnh tiến
o zoom l Vấn đề gặp phải:
o Không tính đến sự gần giống giữa các màu trong các màu (bin) gần nhau
o Việc phân bố trong không gian các màu điểm ảnh: 2 ảnh khác nhau, histogram có thể giống nhau
Trang 5Texture có thể được mô tả thông qua các kết cấu nhỏ hơn được gọi là primitives texture (kết cấu nguyên thủy) với 1 không gian bố trí xác định
……
Texture có khá nhiều định nghĩa, tùy thuộc vào ứng dụng và mục đích khai thác thông tin mà có các định nghĩa khác nhau Nhưng về cơ bản thì mục đích phân tích, phân loại texture là để xác định được các vùng có chung 1 đặc điểm
đề từ đó có thể xây dựng được bản đồ phân bố các khu vực đồng kết cấu
2.1 Một số đặc điểm của texture
Texture là 1 khu vực nên sẽ không có texture tồn tại tại 1 điểm Kích thước của khu vực này phụ thuộc vào loại kết cấu, hoặc kích thước của primitives texture xác định nên kết cấu
Trong Texture các điểm ảnh sẽ có quan hệ về mặt toán học, giá trị, thống kê… theo cách phân bố không gian gray-level
Một khu vực được coi là texture khi mà số lượng primitives texture trong khu vực đó là đủ lớn
Một số đặc điểm quan trọng trong việc mô tả texture như : uniformity, density, coarseness, roughness, regularity, linearity, direc- tionality, direction, frequency, and phase
2.2 Một số phương pháp phân tích texture
2.2.1 First order statistics
Statistics on histogram: Phân tích texture dựa trên thống kê trên histogram
Ta có thể tính 1 vài đặc trưng của texture thông qua histogram:
Trang 62.2.2 Co-occurrence matrices
Cách tính ma trận đồng xuất hiện:
Ma trận G * G (G là gray-level) với vector d được định nghĩa : Với
mỗi vị trí (i,j) của ma trận biểu thị số cặp gray-level ứng với vector
Trang 72.3 Một số khó khăn trong việc phân tích texture
2.3.1 Texture segmentation
Khó khăn thường gặp phải là không biết rõ loại texture tồn tại trong ảnh là loại gì, có bao nhiêu texture trong ảnh và khu vực nào mới thực sự tồn tại texture
Hai cách tiếp cận chung để thực hiện phân chia kết cấu này tương tự phương pháp phân vùng ảnh: cách tiếp cận dựa trên khu vực hoặc dựa trên ranh giới
2.3.3 Scale problem
Việc phân tích texture thường xuyên phải làm việc trên các
độ phân dải khác nhau (như số lượng điểm ảnh khác nhau, mức xám - gray-level khác nhau…) gây khó khăn trong việc phân tích, tính toán, nhận diện vùng chứa texture và texture
II Ảnh nhị phân và xử lý ảnh nhị phân
1 Phân vùng theo cạnh
1.1 Một số khái niệm:
Điểm Biên: Một điểm ảnh được coi là điểm biên nếu có sự
thay đổi nhanh hoặc đột ngột về mức xám (hoặc màu) Ví dụ trong ảnh nhị phân, điểm đen gọi là điểm biên nếu lân cận nó
có ít nhất một điểm trắng
Trang 8Đường biên (đường bao: boundary): tập hợp các điểm biên
liên tiếp tạo thành một đường biên hay đường bao
Ý nghĩa của đường biên trong xử lý: ý nghĩa đầu tiên: đường
biên là một loại đặc trưng cục bộ tiêu biểu trong phân tích, nhận dạng ảnh Thứ hai, người ta sử dụng biên làm phân cách các vùng xám (màu) cách biệt Ngược lại, người ta cũng sử dụng các vùng ảnh để tìm đường phân cách
Tầm quan trọng của biên: để thấy rõ tầm quan trọng của biên,
xét ví dụ sau: khi người họa sỹ muốn vẽ một danh nhân, họa
sỹ chỉ cần vẽ vài đường nứt tốc họa mà không cần vẽ một cách đầy đủ
Mô hình biểu diễn đường biên, theo toán học: điểm ảnh có sự biến đổi mức xám u(x) một cách đột ngột theo hình dưới
1.2 Phân loại các kỹ thuật phát hiện biên:
1.2.1 Phương pháp phát hiện biên trực tiếp: phương pháp này chủ
yếu dựa vào sự biến thiên độ sáng của điểm ảnh để làm nổi biên bằng kỹ thuật đạo hàm
Nếu lấy đạo hàm bậc nhất của ảnh: ta có phương pháp Gradient
Nếu lấy đạo hàm bậc hai của ảnh: ta có phương pháp Laplace Hai phương pháp này được gọi chung là phương pháp dò biên cục bộ
Ngoài ra, người ta còn sử dụng phương pháp “đi theo đường bao” dựa vào công cụ toán học
là nguyên lý quy hoạch động và được gọi là phương pháp dò biên tổng thể Phương pháp dò biên trực tiếp có hiệu quả và ít
bị tác động của nhiễu
vùng ảnh khác nhau thì đường phân cách giữa các vùng đó chính
là biên Nói cách khác, việc xác
Trang 9định đường bao của ảnh được thực hiện từ ảnh đã được phân vùng Phương pháp dò biên gián tiếp khó cài đặt nhưng áp dụng tốt khi sự biến thiên độ sáng nhỏ
1.3 Quy trình phát hiện biên:
B1: Do ảnh ghi được thường có nhiễu, bước một là phải lọc nhiễu
theo các phương pháp
dã tìm hiểu ở các phần trước
B2: Làm nổi biên sử dụng các toán tử phát hiện biên
B3: Định vị biên Chú ý rằng kỹ thuật nổi biên gây tác dụng phụ là
Trong đó dx, dy là khoảng cách giữa 2 điểm kế cận theo hướng x, y
tương ứng (thực tế chọn dx= dy=1) Đây là phương pháp dựa theo đạo
hàm riêng bậc nhất theo hướng x, y
Gradient trong tọa độ góc (r,θ), với r là véc tơ, θ: góc
Trang 101.5 Kỹ thuật Gradient:
Để đơn giản mà không mất tính chất của phương pháp Gradient, người
ta sử dụng kỹ thuật Gradient dùng cặp mặt nạ H1, H2 trực giao (theo 2
hướng vuông góc) Nếu định nghĩa g1, g2 là Gradient theo hai hướng x,
y tướng ứng thì biên độ g(m,n) tại điểm (m,n) được tính:
Robert áp dụng công thức tính Gradient tại điểm (x, y) như hình
bên Với mỗi điểm ảnh I(x,y) đạo hàm theo x, y được ký hiệu tương ứng:
gx, gy:
Trang 11Toán tử Sobel:
Toán tử Prewitt:
Mặt nạ đẳng hướng:
Trang 12Toán tử 4 lân cận:
v Một vài nhận xét:
1 Toán tử Prewitt có thể tách sườn đứng tốt hơn toán tử Sobel, trong
khi đó toán tử Sobel tách các sườn trên các điểm ở đường chéo tốt hơn
Mặt khác, các toán tử Robert và toán tử 4-lân cận có nhược điểm là
nhạy với nhiễu Các toán tử Gradient và Sobel giảm nhiễu do tác dụng
của lọc trung bình các điểm lân cận Như vậy, để đạt được kết quả
mong muốn các toán tử Gradient thường được dùng trước dể làm sạch
nhiễu
2 Các mặt nạ của các toán tử trên có kích thước 2x2 hoặc 3x3 chiều
Các mặt nạ có số chiều lớn hơn cũng được sử dụng
3 Các toán tử kể trên đểu sử dụng các mặt nạ theo hai chiều (x,y) tức là
bốn hướng (-x, y; -y, y) Với mục đích cho kết quả tinh và chính xác
hơn (khi mà tốc độ và bộ nhớ máy tính tốt)
4 Các kỹ thuật sử dụng phương pháp Gradient khá tốt khi độ sáng có
tốc độ thay đổi nhanh, khá đơn giản trên cơ sở các mặt nạ theo các
hướng Nhược điểm của các kỹ thuật Gradient là nhạy cảm với nhiễu
và tạo các biên kép làm chất lượng biên thu được không cao
1.6 Phương pháp Laplace:
1.6.1 Định nghĩa:
Để khắc phục hạn chế và nhược điểm của phương pháp Gradient, trong
đó sử dụng đạo hàm riêng bậc nhất người ta nghĩ đến việc sử dụng đạo
hàm riêng bậc hai hay toán tử Laplace Phương pháp dò biên theo toán
tử Laplace hiệu quả hơn phương pháp toán tử Gradient trong trường
hợp mức xám biến đổi chậm, miền chuyển đổi mức xám có độ trải rộng
Toán tử Laplace được đĩnh nghĩa như sau:
Trang 13Toán tử Laplace dùng một số kiểu mặt nạ khác nhau nhằm tính gần
đúng đạo hàm riêng bậc hai Các dạng mặt na theo toán tử Laplace bậc
3x3 có thể:
Ghi chú: Mặt nạ H1 còn cải biên bằng việc lấy giá trị ở tâm bằng 8 thay
vì giá trị 4 Để thấy rõ việc xấp xỉ đạo hàm riêng bậc hai trong không
gian hai chiều với mặt nạ H1 làm ví dụ, ta có thể tính gần đúng như
sau:
Do đó:
v Tóm lại: Kỹ thuật theo toán tử Laplace tạo đường biên mảnh (có
độ rộng 1 pixel) Nhược điểm của kỹ thuật này rất nhạy với nhiễu, do vậy đường biên thu được thường kém ổn định
- Nếu pixel nào nhỏ hơn pixel khác theo chiều gradient thì giá trị pixel đó bằng 0
Bước 5: Xét ngưỡng
- IF độ lớn (x,y) < Sb, thì chuyển pixel bằng 0
- IF độ lớn (x,y) > Sh, thì đó là cạnh
Trang 14- IF Sb ≤ độ lớn (x,y) ≤ Sh, đó là cạnh nếu nó liên thông với các phần tử khác
1.8 Biến đổi Hough:
v Một cách tiếp cận tổng quát để tìm ra cạnh
Đầu tiên ta lọc ra điểm thuộc biên
Tiếp theo với đường biên ta thiết lập công thức y = ax + b
Ta chuyển công thức trên sang hệ tọa độ cực
Khi đó mỗi điểm trong hệ tọa độ mới ứng với 1 đưởng thảng có
thể là biên
Điểm trong hệ tọa độ cực ứng với đường thẳng đi qua nhiều
điểm biên nhất là đường biên
v Vấn đề với không gian: Đường thẳng đứng kéo dài vô tận:
tượng Tại đó, các pixel trong cùng 1 phân vùng có các giá trị mức
xám gần tương tự nhau và tạo thành 1 khu vực kết nối Các pixel lân
cận thuộc phân vùng khác nhau sẽ có giá trị mức xám khác biệt
2.1.2 Một vài phương pháp phân vùng
Trang 15Có 3 cách phân vùng cơ bản là phân vùng theo ngưỡng, phân vùng dựa trên phương pháp phát hiện cạnh và phân cùng dựa trên khu vực
2.2 Các phương pháp phân vùng ảnh
2.1.3 Thresholding
Đây là 1 phương pháp đơn giản được để xuất đê phân vùng ảnh
Cho trước 1 ngưỡng t, nếu giá trị mức xám ở điểm A(i,j) có giá trị
mức xám k Nếu k<t thì điểm A thuộc loại 1 còn nếu không sẽ thuộc loại 2 Việc lựa chọn ngưỡng có thể được chọn bằng tay hoặc
tự động và có thể có nhiều ngưỡng được chọn tùy thuộc vào số phân vùng có thể có trong ảnh
2.1.4 Histogram-based thresholding
Đây là phương pháp đơn giản để chọn ra 1 ngưỡng.Tư tưởng cơ bản của thuật toán chọn ngưỡng với Histogram-based là:
- Ban đầu chọn 1 ngưỡng t là giá trị trung bình của
mức xám trên histogram của ảnh
- Từ đó chia mức xám thành 2 phần Tương ứng với
mỗi phần tính toán giá trị trung bình tương ứng với mỗi phần
Ta thực hiện duyệt từng điểm ảnh theo thứ tự từ trái sang phải và
từ trên xuống dưới Với mỗi điểm ảnh được viếng thăm, tiến hành check các hàng xóm của nó Nếu hàng xóm (i-1,j) và (i,j-1) trong
Trang 16trường hợp xét 4 liên thông hoặc (i-1,j-1) và (i-1,j+1) trong trường hợp xét 8 liên thông là cạnh thì nó là 1 loại và ta thực hiện gán nhãn cho nó Nếu tất cả đều không phải là cạnh thì ta gán nhãn cho nó chính là nhãn của các hàng xóm Nếu các hàng xóm thuộc 2 hoặc nhiều loại được gán nhãn khác nhau, ta thực hiện so sánh giá trị mức xám của nó với các hàng xóm, nhãn sẽ được gán giống với hàng xóm có mức xám bằng hoặc gần nhất với nó Với trường hợp
nó là cạnh thì ta không phải làm gì thêm Kết thúc việc gán nhãn ta
có thể loại bỏ tất cả các cạnh và thu về được các vùng đã được gán nhãn
2.4 Region-based segmentation
Tư tưởng cơ bản của thuật toán là nhóm các điểm ảnh có cùng giá trị và chia các nhóm điểm ảnh không đồng nhất giá trị Việc chọn điểm ảnh đại diện có thể thực hiện bằng tay bằng cách chọn ra các điểm đại diện cho một phân vùng hoặc chọn 1 cách tự động bằng thuật toán watershed algorithm Thuật toán watershed
algorithm sử dụng 1 bộ lọc để tìm ra các cực tiểu địa phương Với mỗi cực tiểu địa phương được chọn ta thực hiện nhóm các điểm ảnh
có cùng giá trị hoặc trong cùng 1 khoảng phương sai nhất định Ngoài ra ta còn có thuật toán split-and-merge algorithm được đề xuất bởi Horowitz and Pavlidis gồm 2 pha:
1 Kiểm tra tiêu chuẩn đồng nhất
a) Nếu không thỏa mãn tiêu chuẩn đồng nhất và số điểm trong một vùng nhiều hơn 1, tách vùng ảnh làm 4 miền (trên, dưới, phải, trái) bằng cách đệ quy Nếu kết quả tách xong và không tách được nữa chuyển sang bước 2
b) Nếu tiêu chuẩn đồng nhất thỏa mãn thì tiến hành hợp vùng và cập nhật lại giá trị trung bình của vùng cho vùng này
Trang 17- Đề xuất bởi Bill Triggs và Navel Dalal vào năm 2005 tại viện
nghiên cứu InRia [1]
- Ý tưởng: Hình dạng và trạng thái xuất hiện (appearance) của vật có
thể được đặc trưng bằng sự phân bố về gradient và hướng của cạnh(edge direction)
I Phương Pháp tổng quan để tính toán đặc trưng HOG trên một
cửa sổ (window) bất kì
1 Phân chia cửa sổ window cần tính HOG thành nhiều khối(block) Mỗi khối gồm nhiều ô (cell) Các ô phải có kích thước bằng nhau,
số lượng ô trong mỗi khối là bằng nhau
Mỗi khối (block) gồm nhiều ô (cell) Ví dụ trong hình trên ta thấy
Trang 18Nguồn: Wei Jiang, "Human Feature Extraction in VS image Using HOG Algorithm"[2]
- Cân bằng Histogram: mục tiêu làm giảm ảnh hưởng của ánh sang
(làm giảm sự khác biệt giữa sáng và tối, những vùng bị ánh sáng chiếu vào, chỗ có histogram màu sáng tăng nhiều Do vậy ta cần cân bằng cho nó không còn quá nhiều pixel màu sáng nữa)
- Làm giảm đi ảnh hưởng của sự thay đổi ánh sáng và shadowing
B Tình Gradient
Lấy gradient theo chiều x:
à Ảnh X-Gradient
Trang 19Lấy gradient theo chiều y:
Sau khi đã có được các giá trị gradient Tại mỗi pixel ta tính toán 2 đại lượng là : hướng và biên độ
C Tính Histogram cho từng cell
Sau khi đã tính toán xong cho từng pixel ta sẽ tiến hành việc thống
kê gradient histogram cho từng ô Gradient histogram ở đây ta chia theo 9 bin Mỗi bin là 20 do
Trang 20D Tính vector đặc trưng cho từng Block
Sau khi đã có được đặc trưng của từng ô Ta tiến hành tính đặc trưng cho từng khối Như trên hình ta thấy: một khối gồm nhiều ô,
vd ở đây gồm 9 ô Đặc trưng của khối được tính bằng cách ghép đặc trưng của từng ô lại với nhau
E Thu thập đặc trưng cho từng cửa sổ
• Đặc trưng của một cửa sổ sẽ được tính bằng cách ghép từng
đặc trưng của từng block tạo nên cửa sổ đó
• Một cửa sổ được tạo bởi các khối xếp chồng lắp lên nhau như
trong hình Đặc trưng của cửa sổ được tính bằng cách ghép đặc trưng của từng block lại với nhau
• Lưu ý : các block được lắp ghép trùng lắp nhau
2 SIFT
2.1 Định nghĩa – Tính chất
§ Là các đặc trưng bất biến:
Thay đổi tỷ lệ ảnh Quay ảnh
Thay đổi góc nhìn Thêm nhiễu ảnh Thay đổi cường độ chiếu sáng ảnh
§ Các đặc trưng cục bộ bất biến được trích rút từ các điểm hấp dẫn trên ảnh