Tải bản đầy đủ
3 Kỹ thuật phân đoạn ảnh sử dụng phân cụm theo màu

3 Kỹ thuật phân đoạn ảnh sử dụng phân cụm theo màu

Tải bản đầy đủ

31

kỹ thuật, thuật giải mới thực hiện việc phân cụm ảnh trên các loại ảnh màu liên tục
được phát triển để đáp ứng các nhu cầu mới. Các thuật giải, kỹ thuật này thường được
phát triển dựa trên nền tảng các thuật giải phân cụm ảnh mức xám đã có sẵn.
Phân cụm ảnh là quá trình chia ảnh thành các vùng không trùng lắp. Mỗi vùng
gồm một nhóm pixel liên thông và đồng nhất theo một tiêu chí nào đó. Tiêu chí này
phụ thuộc vào mục tiêu của quá trình phân cụm. Ví dụ như đồng nhất về màu sắc, mức
xám, kết cấu, độ sâu của các lớp… Sau khi phân cụm, mỗi pixel chỉ thuộc về một vùng
duy nhất.
Bước đầu tiên trong kỹ thuật tra cứu của luận văn nàylà gom cụm ảnh thành các
vùng. Trong trường hợp lý tưởng, các vùng sẽ tương ứng với các đối tượng xuất hiện
trong ảnh. Với mục tiêu này, ta cần một thuật toán phân đoạn ảnh hiệu quả để sinh ra
các vùng thuần nhất từ ảnh trong một thời gian ngắn. Luận văn nghiên cứu hai thuật
toánphân đoạn khác nhau có tên là K-means[11] và kỹ thuật phân cụm được đề xuất
bởi Stehling [10].
K-means là một trong những phương pháp phân cụm phổ biến nhất và dễ dàng
thực hiện. Phương pháp khởi tạo ngẫu nhiên giá trị trung bình của K cụm và tính toán
sự khác nhau giữa mỗi pixel và trung bình của mỗi cụm. Tính toán này quyết định một
pixel cụ thể thuộc về cụm nào. Sau đó các trung bình được tính toán và quá trình này
được lặp lại. Mặc dù K-means thực hiện tính toán đơn giản và cần ít thời gian, số các
cụm thu được là một tham số đầu vào của thuật toán (điều này là một nhược điểm).
Luận văn mong muốn một thuật toán phân cụm tự động mà có thể quyết định số cụm
dựa trên nội dung của ảnh. Do đó, K-means không thích hợp cho đòi hỏi của hệ thống.
Gần đây, Stehling [10] đã trình bày thuật toán phát triển vùng được sử dụng cùng
với cây mở rộng tối thiểu (minimum spanning tree - MST)gọilà CBC (Color base
Clustering). Thuật toán có thể được mô tả như sau. Đầu tiên, toàn bộ ảnh được chuyển
thành một đồ thị, các đỉnh của đồ thị là các pixel trong ảnh và các cạnh là cáccặp pixel
lân cận bốn. Trọng số của mỗi cạnh là khoảng cách Euclide giữa các màu của các pixel
lân cận bốn. Các pixel được phân cụm sử dụng hai ngưỡng: màu và cỡ. Tập các pixel
liên thông có khoảng cách màu nhỏ hơn ngưỡng màu tạo nên một vùng. Sau đó, các
vùng nhỏ hơn ngưỡng cỡ đã cho được xem như là nhiễu và nhập với vùng lân cận gần
nhất có độ tương tự màu lớn nhất. Thuật toán phân cụm này không chỉ tự động mà
còntốnít thời gian.Do đó luận vănđã quyết định sử dụng thuật toán phân cụm này để
nhận được các vùng trong ảnh.

32

Thuật toán phân cụm
Đầu vào: Ảnh A
Đầu ra: Các vùng của ảnh A
1. ConvertGraph(A, G);
2. Single-Linkage(G(V, E), d0)
3. For mỗi cặp vùng

If ({
= getNeighbor()
Join(, )
}
Hình2.3: Thuật toán phân cụm.
Trong thuật toán phân cụm ở trên hàm ConvertGraph(A) nhằm xây dựng đồ thị
vô hướng có trọng số G(V, E), với các pixel của ảnh A là các đỉnh của V và mỗi cặp
lân cận 4 láng giềng (p,q) trong I xác định một cạnh của E, các trọng số của cạnh (p,q)
là khoảng cách Euclide giữa các màu p và q. Hàm Single-Linkage(G(V, E), d0) có tác
dụng phân cụm các pixel sử dụng tham số ngưỡng khoảng cách màu d0 cho ra một
phân hoạch đồ thị. Trong phân hoạch đồ thị này, mỗi phần là một cây, các nút của cây
tạo thành vùng các pixel liên thông. Khoảng cách tối thiểu giữa các vùng lớn hơn hoặc
bằng d0. Hàm getNeighbor() sẽ trả lại vùng là vùng lân cận có độ tương tự nhất so với
vùng có số pixel nhỏ hơn s0. Còn hàm Join(, ) nhằm nhập vùng vào vùng
Thuật toán phân cụm ở trên là một biến thể đơn giản và hiệu quả của thuật toán
phân cụm phân cấp liên kết đơn single-linkage. Thuật toán single-linkage có thể được
mô tả theo ngôn ngữ và khái niệm của lý thuyết đồ thị[1]. Ta coi các yếu tố dữ liệu mà
muốn gom cụm là các nút của đồ thị. Việc sáp nhập của hai cụm (ban đầu là đơn) và
tương ứng với thêm một cạnh giữa các cặp nút gần nhất và . Docác cạnh được thêm
vào luôn luôn ởgiữa cácnút cụm riêng biệt, vì thếđồ thị kết quả không bao giờ có mạch
kín.Trong thực tế, đồ thị kết quả là một cây. Nếu quá trình này cứ tiếp tục cho đến khi
tất cả các cụm được liên kết với nhau, có thể chỉ ra rằng đồ thị kết quả là một cây mở
rộng tối thiểu [1]. Dựa trên mối quan hệ giữa các thuật toán single-linkage và MST, để
tạo ra một thuật toán tương đương với “thuật toán tham lam Kruskal” để tạo ra một
MST. Thuật toán được sử dụng như là cơ sở để thay thế cho thuật toán single-linkage
đã nói ở trên được mô tả như trong Hình 2.4.

33

Thuật toánSingle-Linkage()
Đầu vào: - đồ thị G(V,E)
- ngưỡng khoảng cách d0
Đầu ra:Các vùng của ảnh
1. Formỗi đỉnhdoMake-Set()
2. Sắp xếp các cạnh E theo chiều tăng dần của trọng số
3. Formỗi cạnh đã được sắp xếp do
IfThen
IfThenJoin(
Else break;
Hình2.4: Thuật toán Single-Linkage.
Trong thuật toán Single-Linkage ở trên, hàm Make-Set(.)nhằm khởi tạo ra một
cụm với các nút là tham số truyền vào. Còn hàm GetRoot(.) trả về địnhdanh của các
cụm bằng các phần tử thông qua như một tham số truyền vào. Dòng 1 tạo ra các cụm,
mỗi cụm là một nút của đồ thị G, các cạnh trong Eđược sắp xếp theo trọng số của cạnh
trong dòng 2. Vòng lặpforở 3 kiểm tra cho mỗi cạnh, nếu khoảng cách giữa các cụm
của và mà nhỏ hơn khoảng cách ngưỡng (tiêu chí để dừng) thì chứng tỏ các cụm là
khác biệt, chúng được nối kết hợp lại với nhau.
2.3.3 Biểu diễn và trích rút đặc trưng
Pha tiếp theo là trích rút đặc trưngmỗivùng trong ảnh, nơi mà các ảnh sau khi đã
phân cụm đã được phân tích và dựa vào đó ta xây dựng được một véc tơ đặc trưngcho
mỗi vùng. Vị trí không gian, màu đặc trưng và cỡ của các vùng ảnh được bao gồm
trong véc tơ đặc trưng.
2.3.3.1 Trích rút màu
Một trong những đặc trưng hiệu quả nhất trợ giúp trong việc phân biệt một ảnh
với ảnh khác là màu. Như đã được đề cập ở phần trên, vấn đề với thuật toán phân cụm
hay phân đoạn là một tập các tham số nên không thể áp dụng đối với tất cả các ảnh
trong cơ sở dữ liệu, đặc biệt khi xét tập ảnh thuần nhất. Vấn đề càng quan trọng nếu
một số đối tượng có biểu diễn chi tiết hơn các đối tượng còn lại. Biểu diễn đặc trưng
màu của từng vùng bởi các giá trị R, G, B tương ứng của từng vùng là các giá trị R, G,
B xuất hiện nhiều nhất trong vùng đó.
2.3.3.2 Trích rút các đặc trưng khác

34

Ngoài màu, các đặc trưng khác của vùng trong ảnh cũng được trích rút. Vị trí
không gian của mỗi vùng được biểu thị bởi trọng tâm của mỗi vùng. Các toạ độ x và y
(X(i) và Y(i)) của vị trí tâm được chuẩn hoá bởi các toạ độ pixel ảnh trong vùng.
Cỡ của mỗi vùng là tổng số các pixel trong vùng. Sau đó, cỡ được chuẩn hoá
theo cỡ của ảnh gốc. Cỡ của mỗi vùng i trong ảnh I là một giá trị giữa 0 và 1 được biểu
thị là A(i).
2.4 Độ đo tương tự
Tiếp theo chúng ta so sánh ảnh mẫu truy vấn với các ảnh trong cơ sở dữ liệu,
muốn so sánh các ảnh thì phải dựa vào độ đo khoảng cách giữa các đặc trưng đã trích
rút của ảnh mẫu với tập ảnh cơ sở dữ liệu.Độ đo khoảng cách là một trong những mục
chính trong quá trình tra cứu ảnh mà quyết định độ chính xác và tốc độ của kỹ thuật tra
cứu ảnh.
Trong trường hợp tra cứu sử dụng các vùng của ảnh, quan trọng là để chọn một
độ đo tương tự mà mạnh đối với phân cụmcó thể chưachính xác,và độ đo đồng hành
với tương nhận thức của con người và có thể dễ tính toán. Do các ảnh được phân rã
thành các vùng tương ứng của chúng, sự tương tự giữa hai ảnh trong thực tế là sự
tương tự giữa các vùng hợp thành của chúng. Như đã đề cập trong phần trước,
mỗivùng được biểu diễn bởi vị trí không gian, màu và cỡ. Do đó, để so sánh hai vùng,
các đặc trưng tương ứng của nó sẽ được so sánh.
Khoảng cách giữa các thành phầnmàu và vị trí không gian của hai vùngi của ảnh
A và j của ảnh B, được tính toán bằng khoảng cách Euclid giữacác màu, tâm của hai
vùng. Điều này được chỉ ra như sau:
DS (i, j ) = ( X (i) − X ( j )) 2 + (Y (i ) − Y ( j )) 2

Ở đây X(i) và Y(i) là các toạ độ x và y của các tâm vùng.
DC (i, j ) = ( R (i ) − R ( j )) 2 + (G (i ) − G ( j )) 2 + ( B (i ) − B ( j )) 2

R(i), G(i), B(i) là các giá trị xuất hiện nhiều nhất trong vùng của các thành phần
màu R, G, B.
Áp dụng các công thức đã trình bày ở trên ta đã đo được khoảng cách giữa vị trí
không gian và màu từng vùng của ảnh. Nhưng để phân biệt sự sai khác giữa các vùng,
chúng ta cần một độ đo khoảng cách chung (có thể thu được bởi việc kết hợp hai

35

khoảng cách này). Khoảng cách giữa hai vùng i và j của các ảnh A và Blà
được định nghĩa bởi:

là trọng số khoảng cách (trong hệ thống sử dụng )
là khoảng cách màu giữa hai vùng
là khoảng cách vị trí không gian giữa hai vùng
Để đo khoảng cách giữa hai ảnh, đối sánh vùng tích hợp (IRM) được đề xuất
trong [7] được sử dụng trong hệ thống. Ý tưởng chính của độ đo IRM là để đối sánh
các ảnh hoàn chỉnh. Các khoảng cách vùng giữa tất cả các cặp vùng trong hai ảnh
được tính. Hai vùng tương tự nhất (khoảng cách vùng trong ảnh được so sánh là tối
thiểu) được đối sánh hoàn chỉnh, nếu các vùng có cùng cỡ, ngược lại đối sánh một
phần xuất hiện và phần chưa đối sánh được đối sánh với vùng khác. Quá trình này
được lặp cho đến khi tất cả các vùng được đối sánh hoàn chỉnh. Độ đo IRM tính toán
khoảng cách d(A, B, ) giữa hai ảnh A với m vùng và B với n vùng được tính như sau: