Thuật toán phân lớp dữ liệu K-means

Một phần của tài liệu Nghiên cứu ứng dụng một số kỹ thuật tra cứu ảnh vào thực tế (Trang 48)

2. Một cách tiếp cận cho CBIR sử dụng thuật toán phân lớp K-Means và đặc trƣng hình

2.4.Thuật toán phân lớp dữ liệu K-means

Ý tƣởng chính của cách tiếp cận này là các thực thể ngữ nghĩa trong các hình ảnh khác nhau sẽ bao gồm các điểm ảnh có màu sắc tƣơng tự nhau và chúng khác với nền (điều này đúng cho tất cả các lớp ảnh - thí dụ nhƣ trong ảnh có động vật đƣợc ngụy trang). Nói cách khác, các điểm ảnh thuộc về một Object sẽ sinh ra các Blockfeatures gần nhau theo một thƣớc đo trong không gian đặc trƣng. Khi áp dụng thuật toán K-Means [51], thƣớc đo khoảng cách chúng tôi sẽ sử dụng là thƣớc đo Euclidean có thể đƣợc tính toán thông qua công thức (3.3) trong các không gian vector metric: 2 ) , (a b ai bi dist (3.3)

Thƣớc đo này phù hợp với khái niệm trực quan của chúng ta về khoảng cách. Thuật toán cho kết quả tốt và nhanh nhƣng với việc khởi tạo các centroid ngẫu nhiên dẫn tới kết quả không giống nhau ở những lần thực hiện khác nhau và chƣa chắc đã cho kết quả tối ƣu toàn cục tuy nhiên chắc chắn rằng nó hội tụ.

Trở ngại chính là số cụm cần phải đƣợc xác định trƣớc nhƣng đây là cái mà chúng ta thƣờng không biết trƣớc, vì nó phụ thuộc vào nội dung trong các ảnh cần phân tích. Vì vậy chúng tôi áp dụng thuật toán K-Means cải tiến. Thuật toán này dần dần tăng số lƣợng các cụm và đo chất lƣợng trên các cụm đƣợc tìm thấy. Thƣớc đo chất lƣợng đã áp dụng là trung bình khoảng cách của các phần tử đến centroid của chúng. Hai điều kiện dừng đƣợc áp dụng: Hoặc khi thƣớc đo chất lƣợng giảm xuống dƣới một ngƣỡng đã xác định hoặc khi không có sự thay đổi đáng kể trong

49

hai bƣớc lặp (chất lƣợng khác nhau rel). Thuật toán K-Means nhanh vì vậy có thể bắt đầu với k = 2 và dần dần tăng số lƣợng các cụm. Kết quả thực nghiệm cho thấy bình thƣờng không có nhiều hơn 8 cụm đƣợc tạo ra. Một sự thay đổi nhỏ đã đƣợc thực hiện cho bƣớc khởi tạo. Sự thay đổi này làm giảm thời gian tính toán so với khởi tạo ngẫu nhiên: chỉ cần khởi tạo thêm cụm mới, các cụm khác đƣợc lấy từ kết quả phân đoạn ở lƣợt trƣớc. Trong toàn bộ quá trình phân đoạn sử dụng thuật toán k-means, phải thiết lập ba ngƣỡng để làm tiêu chuẩn cho việc dừng thuật toán k- means là (kmthresh) hoặc điều kiện trong vòng lặp của thuật toán k-means: ( rel, abs). Không dễ để chọn các ngƣỡng thích hợp cho tập ảnh đƣợc sử dụng cũng nhƣ việc phân đoạn tốt là cần thiết để có hiệu quả tra cứu tốt. Các tham số đã đƣợc chọn:

10 thresh km 005 . 0 abs rel

Thiết lập này đã cho kết quả số vùng tối tta là 8 cho mỗi ảnh và thời gian tính toán xấp xỉ 1 giây trên bộ xử lý 2GHZ.

Trung bình sự khác nhau của toàn bộ các centroids ĉi của các cụm đƣợc tính bởi công thức (3.4), ở đó C biểu thị số cụm.

1 0 1 ) ˆ , ˆ ( ) 1 ( * 2 c i c i k k i f dist c c c c d (3.4)

Các centroid chứa giá trị màu trung bình của vùng tƣơng ứng và cũng là trung tâm vùng. 2.5. Đặc trƣng hình dạng Ba đặc trƣng hình dạng đƣợc tính toán trên các vùng, đó là: 1. Tính compact 2. Tính vững chắc (Solidity) 3. Độ lệch tâm (Eccentricity)

Trong bƣớc đầu tiên, biểu diễn đa giác của đƣờng bao 2 chiều các Blockfeatures thuộc một khu vực đƣợc trích rút. Việc biểu diễn chính xác đƣờng bao là một nhiệm vụ khó khăn vì việc xác định xem là một Blockfeature là bên trong đối tƣợng hay một phần của đƣờng bao là khó. Tuy nhiên, việc biểu diễn chính xác đó là không cần thiết vì chúng ta chỉ cần kết quả nhất quán trên các vùng nhìn tƣơng tự đƣợc xác định bởi thuật toán K-Means. Chúng tôi sử dụng thuật toán xây dựng các đa giác biểu diễn

50

hình dạng theo cách làm việc (quét) của radar: Một tia đƣợc bắn ra từ trung tâm của khối và trong tất cả các vị trí của các điểm nằm trên tia thì điểm xa trung tâm nhất đƣợc thêm vào đa giác. Thuật toán này hoạt động trong thời gian tuyến tính số lƣợng điểm mong muốn cho đa giác. Với chiến lƣợc này, chúng tôi có thể xây dựng mọi hình dạng lồi và cũng có xây dựng các hình đa giác lõm giống nhƣ hình sao (một cách trực quan, ta thấy: Trong một hình ngôi sao, tất cả các điểm của biên có thể đƣợc nhìn từ trung tâm). Chúng ta sẽ tính toán các đặc trƣng hình dạng bằng thƣớc đo solidity, quan hệ giữa diện tích (Area) đƣợc phủ bởi đa giác và diện tích đƣợc phủ bởi các Blockfeatures thuộc về vùng này (công thức (3.5)).

real polygon

A A

Solidity (3.5)

Diện tích phủ bởi một đa giac có thể đƣợc tính với thời gian tuyến tính theo số đỉnh. Thƣớc đo compactness là quan hệ giữa diện tích đƣợc phủ bởi đa giác và chu vi (Perimeter) của nó. Hình tròn có giá trị 1 (công thức (3.6)).

2 4 P A s compactnes (3.6)

Đặc trƣng hình dạng cuối cùng mà chúng tôi sử dụng là eccentricity (độ lệch tâm), quan hệ giữa trục lớn và trục nhỏ của ellipse khớp với hình dạng. Nó có thể đƣợc tính bằng cách sử dụng moment cấp (p, q) (công thức (3.7)) [15]: 2 11 2 02 20 02 20 2 11 2 02 20 02 20 4 ) ( 4 ) ( u u u u u u u u u u ecc (3.7)

Vector đặc trƣng cho một vùng một vùng thuộc [0. .1]6 bao gồm 3 đặc trƣng màu sắc mà biểu diễn màu trung bình của vùng trong mô hình RGB và các đặc trƣng hình dạng trên đây.

2.6. Biểu diễn mờ

Trong quá trình phân đoạn, việc quy các Blockfeatures về các vùng ứng với các điểm trung tâm một cách mờ đƣợc chọn. Điều này có nghĩa là mỗi Bockfeature thuộc về mỗi vùng với một mức độ chắc chắn nhất định dựa trên các khoảng cách đến centroid của vùng. Hàm thành viên ánh xạ khoảng cách của một Blockfeature tới centroid của nó với một độ liên thuộc trong [0. .1]. Có nhiều hàm khác nhau,

51

chúng tôi đã lựa chọn hàm Cauchy (công thức (3.8)) do việc tính toán của nó đơn giản và thuận lợi.

d c x dist C i i ) ˆ , ( 1 1 (3.8)

Hàm Cauchy thực hiện ánh xạ khoảng cách của một Blockfeature vào centroid. Nó có hai tham số điều chỉnh { ,d}, xác định độ liên thuộc.

Hình 3.4: Hàm Cauchy với d 0, 5

Trong hình 3.4, một hàm Cauchy đƣợc vẽ thiết lập cho v à d: d đƣa ra khoảng cách ánh xạ đến giá trị 0.5 và xác định độ trơn của sự thay đổi. Giá trị lớn cho kết quả nhanh chóng tiến đến không (độ liên thuộc nhỏ), giá trị nhỏ hơn cho kết quả tiến dần dần tới không (độ liên thuộc lớn). Trong hệ thống của chúng tôi, d đƣợc lấy bằng trung bình sự khác nhau của toàn bộ các nhóm (công thức (3.4)) và

5cho kết quả thử nghiệm tốt.

2.7. Thƣớc đo mức độ tƣơng tự giữa các vùng

Trong phần này, chúng tôi sẽ giới thiệu một thƣớc đo mờ mức độ tƣơng tự cho các vùng. Trong phần kế tiếp, một lƣợc đồ so sánh đƣợc giới thiệu để so sánh toàn bộ hình ảnh dựa vào độ tƣơng tự của các vùng của ảnh. (adsbygoogle = window.adsbygoogle || []).push({});

Đầu tiên, chúng ta cần phải định nghĩa phép giao giữa các tập mờ, là cơ sở cho các thƣớc đo mức độ tƣơng tự của chúng tôi. Một lần nữa, chúng tôi đã chọn một phƣơng pháp tiếp cận dễ dàng cho việc tính toán, đảm bảo ý niệm trực quan của chúng ta về giao giữa hai vùng. Trong lý thuyết tập hợp chuẩn một phần tử thuộc giao của hai tập A, B nếu nó thuộc A và tập B.

) ( ), ( min ) (x C x C x CA B A B (3.8)

52

Giao của 2 tập mờ đƣợc đƣa ra bởi hàm thành viên trong công thức (công thức (3.8)) của một phần tử thuộc [0..1]6, cho biết nó thuộc về vùng A và vùng B.

Dựa trên định nghĩa này, chúng ta có thể định nghĩa thƣớc đo mức độ tƣơng tự giữa 2 vùng đƣợc biểu diễn bởi các centroids CˆA

B Cˆ . ) ( sup ) , ( 6 ] 1 .. 0 [ x C B A sim A B x (3.9)

Thƣớc đo mức độ tƣơng tự này có lợi thế lớn là có sự nhất quán của hàm thành viên. Các phần tử x xác định supremum phải nằm trên đƣờng thẳng nối các centroids đại diện cho hai vùng. Vì vậy chúng tôi có thể tính thƣớc đo mức độ tƣơng tự bằng cách sử dụng công thức (3.10) ([57], trang 65).

) , ( ) ( ) ( ) , ( B A dist d d d d B A sim b a b a (3.10)

Các tham số di và trong công thức (3.8).

2.8. So sánh các ảnh

Kết quả của việc phân lớp bằng thuật toán K-mean phụ thuộc vào nội dung ảnh và việc lựa chọn ngƣỡng do đó có thể không đƣợc đảm bảo rằng các đối tƣợng tƣơng tự đƣợc phân chia theo cùng một cách, sinh ra cùng một số các cụm. Điều này đƣợc minh hoạ trong Hình 3.5 hiển thị các kết quả phân đoạn khác nhau của cùng một ảnh do chọn ngƣỡng khác nhau.

Hình 3.5: Việc phân đoạn cùng một ảnh với thuật toán K-means với các ngưỡng khác nhau

005 . 0

abs đưa ra 4 cụm (ảnh giữa); abs 0.05 đưa ra 2 cụm (ảnh phải) (Chấm đỏ cho biết vị trí của cˆi khi chiếu lên không gian ảnh 2 chiều)

Sau khi phân đoạn ảnh, các vùng đƣợc ghép cặp. Xây dựng vector tƣơng tự (similarity vector) K1 K2 chiều. Ki là số cụm của ảnh i. Phần đầu tƣơng ứng với các vùng 1..K1 của ảnh thứ nhất, nửa sau của các vector tƣơng ứng với các vùng

2

..

53

vùng khác trong ảnh kia đƣợc tính bằng cách sử dụng công thức (3.10). Giá trị độ giống nhau cao nhất đƣợc lƣu giữ trong vector tƣơng tự.

Trong bƣớc thứ hai, vector tƣơng tự đƣợc thu lại vào một giá trị trong [0,1] bằng cách nhân vô hƣớng với một vector trọng số để đảm bảo rằng thƣớc đo mức độ tƣơng tự cuối cùng cũng là trong [0,1], vector trọng số phải đƣợc điền đầy đủ với ràng buộc bởi công thức (3.11).

1

i (3.11)

Cách dễ nhất để thực hiện gán các trọng số là gán các trọng số bằng nhau cho tất cả các thành phần của . Có một số cách gán trọng số có thể thực hiện đƣợc. Mỗi cách gọi là một sơ đồ trọng số, đây là một số ví dụ:

Gán trọng số bằng nhau cho tất cả các vùng

Tính toán trọng số khác nhau cho các vùng của ảnh

Sử dụng diện tích đƣợc che phủ bởi các vùng nhƣ là một thƣớc đo quan trọng cho việc ƣu tiên gán trọng số cao hơn cho các vùng. Gán trọng số cao hơn cho vùng diện tích lớn (ƣu tiên background), hay vùng diện tích nhỏ hơn (ƣu tiên highlight).

Tính toán cho các vị trí của các centroid và gán trọng số cao hơn chi các centroid của vùng trung tâm của ảnh và chỉ định cho rằng centroids nằm ở trung tâm khu vực của hình ảnh (ƣu tiên trung tâm) hoặc gán trọng số cao hơn cho centroids nằm trong các khu vực biên ảnh.

Gán trọng số dựa trên khoảng cách giữa các cụm. Gán trọng số cao hơn cho các centroids xa với các centroid khác hơn.

Có rất nhiều sơ đồ trọng số có thể sử dụng. Trong [57] một cách tiếp cận hỗn hợp giữa ƣu tiên vùng nền và sử dụng vị trí centroid (ƣu tiên vị trí biên) đã đƣợc chọn.

2.9. Gán trọng số (adsbygoogle = window.adsbygoogle || []).push({});

Chúng tôi thử nghiệm bằng việc triển khai hệ thống CBIR cho thấy rằng các sơ đồ gán trọng số ƣu tiên biên/nền cho kết quả tốt hơn sơ đồ gán trọng số bình đẳng, ƣu tiên vùng nổi bật, và ƣu tiên vùng trung tâm.

Gán trọng số đƣợc áp dụng trƣớc khi so sánh các centroids sử dụng thƣớc đo đọ tƣơng tự (công thức (3.10)) bằng cách nhân các chiều khác nhau của cˆi với một

54

thừa số tỷ lệ tuyến tính. Trọng số 1 cho các đặc trƣng màu sắc và 0,5 đối với các đặc trƣng hình dạng các đã cho kết quả tốt với lƣợc đồ trọng số cân bằng.

2.10. Thực nghiệm

Chúng tôi triển khai một hệ thống bằng cách sử dụng JAVA 1.6 chạy trên một máy tính với bộ xử lý Celeron 1,3 GHz/1.2GB bộ nhớ RAM và một máy tính Pentium Dual Core 3 GHz/1GB Ram với hệ điều hành Windows XP. Trong các thử nghiệm, chúng tôi sử dụng cơ sở dữ liệu chứa 772 hình ảnh chụp của tác giả trong đó có một số ảnh lớp học trong nhà, ngoài trời, chân dung, phong cảnh, núi, biển, bãi biển và dƣới điều kiện ánh sáng khác nhau (gần nhƣ có tất cả các ảnh trong các điều kiện ngày/đêm, ánh sáng nhân tạo). Tất cả các hình ảnh đã đƣợc thu nhỏ xuống kích thƣớc 384x265 hoặc 265x384.

Đầu tiên, một cơ sở dữ liệu tạo, phân đoạn và lƣu các thông tin có liên quan (nhỏ hơn 1kb cho mỗi ảnh). Mỗi phiên làm việc hệ thống thực hiện việc này 1 lần. Với bộ xử lý Celeron 1.3GHz, thời gian tính toán cho mỗi ảnh là gần 5.3s (4s trên bộ xử lý 3GHz).

Hình 3.6: Hệ thống CBIR được thực hiện với Java 1.6

Hình 3.6 là hình ảnh giao diện chƣơng trình khi thực hiện. Kết quả trả ra là một danh sách đƣợc sắp xếp theo thƣớc đo độ tƣơng tự. Mặc dù phải so sánh ảnh với toàn bộ cơ sở dữ liệu nhƣng quá trình truy vấn khá nhanh với ~ 0.1sec trên bộ xử lý Celeron 1.3GHz. Trong thử nghiệm này chúng tôi không thực hiện tối ƣu hóa các cấu trúc dữ liệu cho cơ sở dữ liệu.

55

Hình 3.7: 12 kết quả đầu tiên, ảnh truy vấn ở góc trên bên trái, mức độ tương tự trong [1..0.94]

Hình 3.7 là kết quả truy vấn với ảnh truy vấn ở góc trên bên trái. Hệ thống tìm 8 trong 10 hình ảnh trong cơ sở dữ liệu một trăm ảnh lúc mặt trời mọc tại đảo Cát Bà. Một trong những ảnh của tập này đã đƣợc chụp trong lúc hoàng hôn, nó xuất hiện trong kết quả là hợp lý. Trong khi đó, 2 ảnh thuộc loại này (ban ngày, ở bãi biển) nhƣng không thực sự thích hợp và là một trong những hình ảnh đƣợc tìm thấy (rìa phải, hàng 2) là sai so với quan điểm ngữ nghĩa.

2.11. Kết luận

Mặc dù chúng tôi chƣa sử dụng các kiến thức về ngữ nghĩa nhƣng đã đƣa ra đƣợc kết quả tốt, phân biệt các khái niệm nhƣ mặt trời mọc, biển hay núi. Nhƣng lỗ hổng ngữ nghĩa vẫn còn cần phải đƣợc khắc phục vì rõ ràng là không phân loại đƣợc trong trƣờng hợp các cấu trúc màu tƣơng tự nhau trong các ảnh nhƣng cảm nhận của con ngƣời thì lại khác nhau. Một cách tiếp cận sử dụng các kỹ thuật phân lớp nhƣ Support Vector Machines hay ADA Boost có thể cải thiện hiệu suất nếu các thông tin có ý nghĩa (nhƣ ngƣời dân, trong nhà, công trình xây dựng, v.v..) đã đƣợc trích rút trong một bƣớc phân lớp ban đầu.

3. Sử dụng đặc tính cục bộ của vùng phục vụ tra cứu ảnh phong cảnh [1] phong cảnh [1]

3.1.Giới thiệu

Những năm gần đây, tra cứu ảnh dựa vào nội dung (CBIR) là một lĩnh vực nghiên cứu trọng tâm do đòi hỏi tra cứu ảnh với thời gian tra cứu nhanh chóng trong các cơ sở dữ liệu ảnh lớn. Trong một hệ thống tra cứu ảnh dựa vào nội dung, nó tìm kiếm tập ảnh tƣơng tự với ảnh mẫu. Trƣớc khi tra cứu, các đặc trƣng trực quan đƣợc

56

trích rút từ tất cả các ảnh trong cơ sở dữ liệu ảnh. Trong khi tra cứu, các đặc trƣng trực quan của ảnh mẫu đƣợc so sánh với các đặc trƣng trực quan của tất cả các ảnh trong cơ sở dữ liệu ảnh và trả về tập ảnh kết quả [58, 50].

Các kỹ thuật tra cứu ảnh dựa vào nội dung hiện tại có thể đƣợc phân thành ba lớp nhƣ tra cứu bởi màu sắc, tra cứu bởi kết cấu, hoặc tra cứu bởi hình. Thông tin hình thƣờng đƣợc thực hiện đối với các hệ thống chuyên dụng; Trong khi đó các kỹ thuật tra cứu dựa vào màu sắc và kết cấu thƣờng đƣợc sử dụng trong các hệ thống tra cứu ảnh tổng quát và tự động hoàn toàn. Trong [32] đã phát triển kỹ thuật đối sánh cặp màu để mô hình các đƣờng bao đối tƣợng phân biệt. Chua và cộng sự [16] đã mở rộng kỹ thuật cặp màu để thực hiện tra cứu các ảnh đã đƣợc phân đoạn. Các hạn chế trong nhiều kỹ thuật tra cứu dựa vào màu hiện có [32-30] bao gồm: thiếu khả năng nhận dạng các đối tƣợng tƣơng tự có các màu khác nhau, nhạy cảm với tỷ

Một phần của tài liệu Nghiên cứu ứng dụng một số kỹ thuật tra cứu ảnh vào thực tế (Trang 48)