ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
BÀI THU HOẠCH MÔN
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG
ĐỀ TÀI
THUẬT TOÁN K-MEANS VÀ ỨNG DỤNG TRONG
BÀI TOÁN PHÂN ĐOẠN ẢNH
GVHD: GS TSKH. Hoàng Văn Kiếm
HVTH: Võ Tấn Lực
MSHV: CH1301098
TP. Hồ Chí Minh, ngày 10 tháng 10 năm 2014
TÓM LƯỢC
o
Trong thập kỷ qua, việc ứng dụng công nghệ tri thức - máy học vào khoa học
kỹ thuật đã giúp cho chúng ta có thể tạo ra được những chiếc xe tự hành, nhận dạng
giọng nói thực tế, tìm kiếm web có hiệu quả, và sự hiểu ngày càng sâu sắc hơn về
bộ gen của con người,v.v Ngày nay máy học phổ biến đến nỗi chúng ta có thể sử
dụng nó hàng chục lần một ngày mà không hề hay biết biết.
Trong giới hạn của đồ án này chúng ta sẽ khảo sát qua các khái niệm cơ bản
về máy học, thuật toán K-means và ứng dụng của thuật toán K-means trong phân
đoạn ảnh.
Tôi xin cảm ơn GS TSKH. Hoàng Văn Kiếm, người đã tận tình truyền đạt kiến
thức và có những định hướng giúp tôi hoàn thành môn học “Công Nghệ Tri Thức &
Ứng Dụng”.
Mặc dù đã rất cố gắng nhưng bài thu hoạch của tôi khó tránh khỏi thiếu sót,
mong Thầy góp ý nhận xét để bài thu hoạch được hoàn thiện hơn.
HVTH: CH1301098 – Võ Tấn Lực
MỤC LỤC
HVTH: CH1301098 – Võ Tấn Lực
Công nghệ Tri thức & Ứng dụng GS TSKH. Hoàng Văn Kiếm
Chương I. CƠ SỞ LÝ THUYẾT
1.1. Máy học là gì
Rất khó để có thể định nghĩa một cách chính xác về máy học. Một trong
những định nghĩa rộng nhất về thuật ngữ máy học là: “một cụm từ dùng để chỉ khả
năng một chương trình máy tính để tăng tính thực thi dựa trên những kinh nghiêm
đã trải qua” hoặc “là để chỉ khả năng một chương trình có thể phát sinh ra một cấu
trúc dữ liệu mới khác với các cấu trúc dữ liệu cũ”.
Lợi điểm của các phương pháp máy học là nó phát sinh ra các luật tường
minh, có thể được sửa đổi, hoặc được huấn luyện trong một giới hạn nhất định.Các
phương pháp này học trên các dữ liệu có đặc tả thông tin. Cấu trúc thông tin gồm 4
mức được gọi là tri thức kim tự tháp.
Hình .1. Mô hình tri thức kim tự tháp
Máy học là sự tự động của quy trình học và việc học thì tương đương với
việc xây dựng những luật dựa trên việc quan sát trạng thái trên cơ sở dữ liệu và
những sự chuyển hoá của chúng.
Máy học kiểm tra những ví dụ trước đó và kiểm tra luôn cảnhững kết quả
của chúng khi xuất và học làm cách nào để tái tạo lại những kết quả này và tạo nên
những sự tổng quát hóa cho những trường hợp mới.
HVTH: CH1301098 – Võ Tấn Lực Trang 4/17
Công nghệ Tri thức & Ứng dụng GS TSKH. Hoàng Văn Kiếm
Nói chung, máy học sử dụng một tập hữu hạn dữ liệu được gọi là tập huấn
luyện. Tập này chứa những mẫu dữ liệu mà nó được viết bằng mã theo một cách
nào đó để máy có thể đọc và hiểu được.
Tuy nhiên, tập huấn luyện bao giờ cũng hữu hạn do đó không phải toàn bộ
dữ liệu sẽ được học một cách chính xác.
Lợi ích của máy học
Các thông tin ngày càng nhiều, hàng ngày ta phải xử lý rất nhiều thông tin
đến từ nhiều nguồn khác nhau. Máy học có thể giúp xứ lý và dự báo các thông tin
đó bằng cách tạo ra các luất sản xuất từdữ liệu thu thập.Ở những nơi không có
chuyên gia, máy học có thể giúp tạo ra được các quyết định từ các dữ liệu có
được.Các thuật toán sử dụng trong máy học máy học có thể giúp xử lý khi dữ liệu
không đầy đử, không chính xác.
Máy học giúp thiết kế hệ thống huấn luyện tự động (mạng nơrôn nhân tạo)
và giải mã mối liên hệ giữa các tri thức được lưu trữtrong mạng từ dữ liệu.Công
nghệ Máy học là một trong những phương pháp chính trong khai phá dữ liệu. Nó
được sử dụng trong tiến trình khám phá tri thức.
1.2. Tiến trình máy học và phân loại các thuật toán
1.2.1. Tiến trình máy học
Một tiến trình máy học bao gồm 2 giai đoạn:
• Giai đoạn học: hệ thống phân tích dữ liệu và nhận ra sự mối quan hệ
(có thể là phi tuyến hoặc tuyến tính) giữa các đối tượng dữ liệu. Kết
quả của việc học có thể là: nhóm các đối tượng vào trong các lớp, tạo
ra các luật, tiên đoán lớp cho các đối tượng mới.
• Giai đoạn thử nghiệm: Mối quan hệ (các luật, lớp ) được tạo ra
phải được kiểm nghiệm lại bằng một số hàm tính toán thực thi trên
một phần của tập dữ liệu huấn luyện hoặc trên một tập dữ liệu lớn.
1.2.2. Phân loại các thuật toán
HVTH: CH1301098 – Võ Tấn Lực Trang 5/17
Công nghệ Tri thức & Ứng dụng GS TSKH. Hoàng Văn Kiếm
Các thuật toán máy học được chia làm 3 loại: học giám sát, học không giám
sát và học nửa giám sát.
• Học có giám sát (Supervised Learning).
Đây là cách học từ những mẫu dữ liệu mà ở đó các kỹ thuật máy học
giúp hệ thống xây dựng cách xác định những lớp dữ liệu. Hệ thống phải tìm một sự
mô tả cho từng lớp (đặc tính của mẫu dữ liệu).Người ta có thể sử dụng các luật phân
loại hình thành trong quá trình học và phân lớp để có thể sử dụng dự báo các lớp dữ
liệu sau này.
Thuật toán học có giám sát gồm tập dữ liệu huấn luyện M cặp:
S = {(xi, cj)| i=1,…,M; j=1,…,C}
Các cặp huấn luyện này được gọi là mẫu, vớixi là vector n-chiều còn gọi
là vector đặc trưng,cj là lớp thứ j đã biết trước.
Thuật toán máy học giám sát tìm kiếm không gian của những giả thuyết
có thể, gọi là H. Đối với một hay nhiều giả thuyết, mà ước lượng tốt nhất hàm
không được biết chính xác f : x c.Đối với công việc phân lớp có thể xem giả
thuyết như một tiêu chí phân lớp.
Thuật toán máy học tìm ra những giả thuyết bằng cách khám phá ra
những đặc trưng chung của những ví dụ mẫu thể hiện cho mỗi lớp.Kết quả nhận
được thường ở dạng luật (Nếu thì).
Khi áp dụng cho những mẫu dữ liệu mới, cần dựa trên những giả thuyết
đã có để dự báo những phân lớp tương ứng của chúng. Nếu như không gian giả
thuyết lớn, thì cần một tập dữ liệu huấn luyện đủ lớn nhằm tìm kiếm một hàm xấp
xỉ tốt nhất f.Tùy thuộc vào mức độ của thuật toán học giám sát, người ta có những
mô hình học giám sát như sau:
- Học vẹt (rote): hệ thống luôn luôn được “dạy” những luật
đúng, rồi có học hội tụ.
HVTH: CH1301098 – Võ Tấn Lực Trang 6/17
Công nghệ Tri thức & Ứng dụng GS TSKH. Hoàng Văn Kiếm
- Học bằng phép loại suy (analogy): hệ thống được dạy phản hồi
đúng cho một công việc tương tự, nhưng không xác định. Vì thế hệ thống
phải hiệu chỉnh phản hồi trước đó bằng cách tạo ra một luật mới có thể áp
dụng cho trường hợp mới.
- Học dựa trên trường hợp (case-based learning): trong trường
hợp này hệ thống học lưu trữ tất cả các trường hợp, cùng với kết quả đầu
ra của chúng. Khi bắt gặp một trường hợp mới, nó sẽ cố gắng hiệu chỉnh
đến trường hợp mới này cách xử lý trước đó của nó đã được lưu trữ.
- Học dựa trên sự giải thích (explanation-based learning), hệ
thống sẽ phân tích tập hợp những giải pháp nhằm chỉ ra tại sao mỗi
phương pháp là thành công hay không thành công. Sau khi những giải
thích này được tạo ra, chúng sẽ được dùng để giải quyết những vấn đề
mới.
Một số thuật toán học có giám sát.
- Support Vector Machine – SVM.
- K Nearest Neighbours – KNN.
- Naïve Bayes – NB.
- Decision Tree – DT.
- Neural Network – Nnet.
- Centroid–base vector.
- Linear Least Square Fit – LLSF.
• Học Không giám sát (Unsupervised Learning).
Đây là việc học từ quan sát và khám phá. Hệ thống khai thác dữ liệu
được ứng dụng với những đối tượng nhưng không có lớp được định nghĩa trước, mà
để nó phải tự hệ thống quan sát những mẫu và nhận ra mẫu. Hệ thống này dẫn đến
HVTH: CH1301098 – Võ Tấn Lực Trang 7/17
Công nghệ Tri thức & Ứng dụng GS TSKH. Hoàng Văn Kiếm
một tập lớp, mỗi lớp có một tập mẫu được khám phá trong tập dữ liệu.Học không
giám sát còn gọi là học từ quan sát và khám phá.
Trong trường hợp chỉ có ít, hay gần như không có tri thức về dữ liệu đầu
vào, khi đó một hệ thống học không giám sát sẽ khám phá ra những phân lớp của
dữ liệu, bằng cách tìm ra những thuộc tính, đặc trưng chung của những mẫu hình
thành nên tập dữ liệu.Một thuật toán máy học giám sát luôn có thể biến đổi thành
một thuật toán máy học không giám sát (Langley 1996).Đối với một bài toán mà
những mẫu dữ liệu được mô tả bởi n đặc trưng, người ta có thể chạy thuật toán học
giám sát n-lần, mỗi lần với một đặc trưng khác nhau đóng vai trò thuộc tính lớp, mà
chúng ta đang tiên đoán.Kết quả sẽ là n tiêu chí phân lớp (n bộ phân lớp), với hy
vọng là ít nhất một trong n bộ phân lớp đó là đúng.
Một số thuật toán học không giám sát:
- Thuật toán K-means
- Mô hình mạng Neural
- Hệ thống ART(adaptive resonance theory)
• Học nửa giám sát.
Học nửa giám sát là các thuật toán học tích hợp từ học giám sát và học
không giám sát. Việc học nửa giám sát tận dụng những ưu điểm của việc học giám
sát và học không giám sát và loại bỏ những khuyết điểm thường gặp trên hai kiểu
học này.
Một số thuật toán học nửa giám sát.
- EM - Expectation Maximization.
- TSVM - Transductive Support Vector Machine.
- Self-training.
- Co-training.
HVTH: CH1301098 – Võ Tấn Lực Trang 8/17
Công nghệ Tri thức & Ứng dụng GS TSKH. Hoàng Văn Kiếm
- Các phương pháp dựa trên đồ thị (graph-based).
Chương II: THUẬT TOÁN K-MEANS
2.1. Giới thiệu thuật toán và các định nghĩa cơ sở
Thuật toán K-means thuộc vào loại thuật toán không giám sát rất đơn giản và
được áp dụng rộng rãi vào các mẫu bài toán phân cụmdo MacQueen giới thiệu
trong tài liệu “J. Some Methods for Classification and Analysis of Multivariate
Observations” năm 1967.
Bài toán phân cụm là quá trình nhóm một nhóm các điềm dữ liệu vào trong
một số lượng nhỏ các cụm. Tổng quát về mặt biểu diễn toán học, chúng ta có n
điểm dữ liệu xi,i=1 n cần phải được phân vào trong k cụm. Mục tiêu của bài toán
là một điểm dữ liệu cho một cụm. Thuật toán K-means cung cấp cho chúng ta một
phương pháp để tìm ra được vị trí các điểm μi,i=1 k của các cụm sao cho hàm
khoảng cách từ các điểm đến các cụm là nhỏ nhất.
Trong đó ci là một tập các điểm bên trong cụm i. Thuật toán K-means sử
dụng khoảng cách Euclidean
2.2. Thuật toán K-means
Thuật toán K-means được dùng để giải bài toán về phân cụm hoạt động qua
từng bước như sau:
Đầu tiên chúng ta cần xác định số cụm k
1. Khởi tạo điểm trung
tâm của cụm
μi,i=1, ,k
2. Gán các điểm dữ liệu
vào các cụm gần nhất
HVTH: CH1301098 – Võ Tấn Lực Trang 9/17
Công nghệ Tri thức & Ứng dụng GS TSKH. Hoàng Văn Kiếm
3. Thiết lập lại điểm
trung tâm của mỗi
cụm
4. Lập lại các bước 2-3
cho đến khi hội tụ
Ghi chú |c|= số phần tử trong c
Thuật toán k-means trên được chứng minh là hội tụ và có độ phức tạp tính
toán là:
Trong đó, n là số đối tượng dữ liệu, k là số cụm dữ liệu, d là số chiều, τ là số
vòng lặp, T
flop
là thời gian để thực hiện một phép tính cơ sở như phép tính nhân,
chia, Như vậy, do K-means phân tích phân cụm đơn giản nên có thể áp dụng đối
với tập dữ liệu lớn.Tuy nhiên, nhược điểm của K-means là chỉ áp dụng với dữ liệu
có thuộc tính số và khám phá ra các cụm có dạng hình cầu, k-means còn rất nhạy
cảm với nhiễu và các phần tử ngoại lai trong dữ liệu. Hơn nữa, chất lượng phân cụm
dữ liêuk của thuật toán k-means phụ thuộc nhiều vào các tham số đầu vào như: số
cụm k và k trọng tâm khởi tạo ban đầu. Trong trường hợp các trọng tâm khởi tạo
ban đầu mà quá lệch so với các trọng tâm cụm tự nhiên thì kết quả phân cụm của k-
means là rất thấp, nghĩa là các cụm dữ liệu được khám phá rất lệch so với các cụm
trong thực tế. Trên thực tế chưa có một giải pháp tối ưu nào để chọn các tham số
đầu vào, giải pháp thường được sử dụng nhất là thử nghiệm với các giá trị đầu vào k
khác nhau rồi sau đó chọn giải pháp tốt nhất.
HVTH: CH1301098 – Võ Tấn Lực Trang 10/17
Công nghệ Tri thức & Ứng dụng GS TSKH. Hoàng Văn Kiếm
2.3. Ví dụ minh họa
Trong phần này chúng ta sẽ xem qua các bước thực hiện của thuật toán K-
means bằng đồ họa
Hình 2.1.Giá trị gốc ban đầu Hình 2.2. Khởi tạo các cụm ban đầu
Hình 2.3. Gán các điểm dữ liệu vào các
cụm
Hình 2.4 Tính toán lại vị trí các điểm
trung tâm của cụm
HVTH: CH1301098 – Võ Tấn Lực Trang 11/17
Công nghệ Tri thức & Ứng dụng GS TSKH. Hoàng Văn Kiếm
Hình 2.5 Gán các điểm dữ liệu vào
trong các cụm
Hình 2.6 Thuật toán dừng lại vì không có
điểm thay đổi
Thuật toán kết thúc vì không có sự thay đổi của các đối tượng trong từng cụm
2.4. Ưu và khuyết điềm của thuật toán
Ưu điểm:
• Với số lượng biến lớn thì thuật toán K-means có thể tính toán nhanh
hơn so với các thuật toán phân nhóm phân cấp khác (nếu K là nhỏ).
• K-means có thể gom các cụm chặt chẽ hơn so với phân cụm theo cấp
bậc, đặc biệt là nếu các cụm hình cầu.
Khuyết điểm: Giống như các thuật toán khác, k- means cũng có một số
khuyết điềmnhất định:
• Việc khởi tạo phần tử trung tâm của các cụm ban đầu ảnh hưởng đến
sự phân chia đối tượng vào cụm trong trường hợp dữ liệu không lớn.
• Số cụm k luôn phải được xác định trước.
• Không xác định được rõ ràng vùng của các cụm, cùng 1 đối tượng, nó
có thể được đưa vào cụm này hoặc cụm khác khi dung lượng dữ liệu
thay đổi.
HVTH: CH1301098 – Võ Tấn Lực Trang 12/17
Công nghệ Tri thức & Ứng dụng GS TSKH. Hoàng Văn Kiếm
• Điều kiện khởi tạo có ảnh hưởng lớn đến kết quả. Điều kiện khởi tạo
khác nhau có thể cho ra kết quả phân cụm khác nhau.
• Không xác định được mức độ ảnh hưởng của thuộc tính đến quá trình
tạo các cụm.
Chương III: ỨNG DỤNG THUẬT TOÁN K-MEANS TRONG PHÂN ĐOẠN
ẢNH
3.1. Giới thiệu về phân đoạn ảnh
Phân đoạn ảnh là một thao tác ở mức thấp trong toàn bộ quá trình xử lý ảnh.
Quá trình này thực hiện việc phân vùng ảnh thành các vùng rời rạc và đồng nhất với
nhau hay nói cách khác là xác định các biên của các vùng ảnh đó. Các vùng ảnh
đồng nhất này thông thường sẽ tương ứng với tòan bộ hay từng phần của các đối
tượng thật sự bên trong ảnh. Vì thế, trong hầu hết các ứng dụng của lĩnh vực xử lý
ảnh (image processing), thị giác máy tính, phân đoạn ảnh luôn đóng một vai trò cơ
bản và thường là bước tiền xử lý đầu tiên trong toàn bộ quá trình trước khi thực
hiện các thao tác khác ở mức cao hơn như nhận dạng đối tượng, biểu diễn đối
tượng, nén ảnh dựa trên đối tượng, hay truy vấn ảnh dựa vào nội dung …
Vào những thời gian đầu, các phương pháp phân vùng ảnh được đưa ra chủ
yếu làm việc trên các ảnh mức xám do các hạn chế về phương tiện thu thập và lưu
trữ. Ngày nay, cùng với sự phát triển về các phương tiện thu nhận và biểu diễn ảnh ,
các ảnh màu đã hầu như thay thế hoàn toàn các ảnh mức xám trong việc biểu diễn
và lưu trữ thông tin do các ưu thế vượt trội hơn hẳn so với ảnh mức xám. Do đó, các
kỹ thuật, thuật giải mới thực hiện việc phân vùng ả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 vùng ảnh mức xám đã có sẵn.
Các hướng tiếp cận phân đoạn ảnh
Phân đoạn ảnh là 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ụ
HVTH: CH1301098 – Võ Tấn Lực Trang 13/17
Công nghệ Tri thức & Ứng dụng GS TSKH. Hoàng Văn Kiếm
thuộc vào mục tiêu của quá trình phân đoạn. 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 layer… Sau khi phân đoạn mỗi pixel chỉ thuộc về một
vùng duy nhất. Để đánh giá chất lượng của quá trình phân đoạn là rất khó. Vì vậy
trước khi phân đoạn ảnh cần xác định rõ mục tiêu của quá trình phân đoạn là gì. Xét
một cách tổng quát, ta có thể chia các hướng tiếp cận phân đoạn ảnh thành ba nhóm
chính như sau:
• Các kỹ thuật phân đoạn ảnh dựa trên không gian đặc trưng.
• Các kỹ thuật dựa trên không gian ảnh.
• Các kỹ thuật dựa trên các mô hình vật lý.
Các phương pháp dựa trên không gian đặc trưng
Nếu chúng ta giả định màu sắc bề mặt của các đối tượng trong ảnh là một
thuộc tính bất biến và các màu sắc đó được ánh xạ vào một không gian màu nào đó,
vậy thì chúng ta sẽ có một cái nhìn đối với mỗi đối tượng trong ảnh như là một cụm
(cluster) các điểm trong không gian màu đó. Mức độ phân tán của các điểm trong
trong một cụm được xác định chủ yếu bởi sự khác biệt về màu sắc. Một cách khác,
thay vì ánh xạ các pixel trong ảnh vào một không gian màu cụ thể, ta xây dựng một
histogram dựa trên các đặc trưng màu dạng ad-hoc cho ảnh đó (ví dụ như Hue), và
thông thường, các đối tượng trong ảnh sẽ xuất hiện như các giá trị đỉnh trong
histogram đó. Do đó, việc phân vùng các đối tượng trong ảnh tương ứng với việc
xác định các cụm – đối với cách biểu diễn thứ nhất – hoặc xác định các vùng cực trị
của histogram – đối với cách biểu diễn thứ hai.
Các phương pháp tiếp cận này chỉ làm việc trên một không gian màu xác
định chẳng hạn phương pháp của Park áp dụng trên không gian màu RGB, còn
phương pháp của Weeks và Hague thì áp dụng trên không gian màu HIS. Dựa trên
không gian đặc trưng, ta có các phương pháp phân đoạn: phương pháp phân nhóm
đối tượng không giám sát, phương pháp phân lớp trung bình-k thích nghi, phương
pháp lấy ngưỡng histogram.
Các phương pháp dựa trên không gian ảnh
HVTH: CH1301098 – Võ Tấn Lực Trang 14/17
Công nghệ Tri thức & Ứng dụng GS TSKH. Hoàng Văn Kiếm
Hầu hết những phương pháp được đề cập trong phần trên đều hoạt động dựa
trên các không gian đặc trưng của ảnh(thông thường là màu sắc). Do đó, các vùng
ảnh kết quả là đồng nhất tương ứng với các đặc trưng đã chọn cho từng không gian.
Tuy nhiên, không có gì đảm bảo rằng tất cả các vùng này thể hiển một sự cô đọng
(compactness) về nội dung xét theo ý nghĩa không gian ảnh (ý nghĩa các vùng theo
sự cảm nhận của hệ thần kinh con người). Mà đặc tính này là quan trọng thứ hai sau
đặc tính về sự thuần nhất của các vùng ảnh. Do các phương pháp gom cụm cũng
như xác định ngưỡng histogram đã nêu đều bỏ qua thông tin về vị trí của các pixel
trong ảnh.
Trong các báo cáo khoa học về phân vùng ảnh mức xám, có khá nhiều kỹ
thuật cố thực hiện việc thoả mãn cùng lúc cả hai tiêu chí về tính đồng nhất trong
không gian đặc trưng của ảnh và tính cô đọng về nội dung ảnh. Tuỳ theo các kỹ
thuật mà các thuật giải này áp dụng, chúng được phân thành các nhóm sau:
• Các thuật giải áp dụng kỹ thuật chia và trộn vùng.
• Các thuật giải áp dụng kỹ thuật tăng trưởng vùng.
• Các thuật giải áp dụng lý thuyết đồ thị.
• Các giải thuật áp dụng mạng neural.
• Các giải thuật dựa trên cạnh.
Các phương pháp dựa trên mô hình vật lý
Tất cả các giải thuật được xem xét qua, không ít thì nhiều ở mặt nào đó đều
có khả năng phát sinh việc phân vùng lỗi trong các trường hợp cụ thể nếu như các
đối tượng trong ảnh màu bị ảnh hưởng quá nhiều bởi các vùng sáng hoặc bóng mờ,
các hiện tượng này làm cho các màu đồng nhất trong ảnh thay đổi nhiều hoặc ít một
cách đột ngột. Và kết quả là các thuật giải này tạo ra các kết quả phân vùng quá
mức mong muốn so với sự cảm nhận các đối tượng trong ảnh bằng mắt thường. Để
giải quyết vấn đề này, các giải thuật phân vùng ảnh áp dụng các mô hình tương tác
vật lý giữa bề mặt các đối tượng với ánh sáng đã được đề xuất. Các công cụ toán
học mà các phương pháp này sử dụng thì không khác mấy so với các phương pháp
đã trình bày ở trên, điểm khác biệt chính là việc áp dụng các mô hình vật lý để
HVTH: CH1301098 – Võ Tấn Lực Trang 15/17
Công nghệ Tri thức & Ứng dụng GS TSKH. Hoàng Văn Kiếm
minh hoạ các thuộc tính phản chiếu ánh sáng trên bề mặt màu sắc của các đối
tượng.
Cột mốc quan trọng trong lĩnh vực phân vùng ảnh màu dựa trên mô hình vật
lý được Shafer đặt ra. Ông giới thiệu mô hình phản xạ lưỡng sắc cho các vật chất
điện môi không đồng nhất. Dựa trên mô hình này, Klinker đã đặt ra một giải thuật
đặt ra một số giả thiết quang học liên quan đến màu sắc, bóng sáng, bóng mờ của
các đối tượng và cố gắng làm phù hợp chúng với hình dạng của các cụm. Hạn chế
chính của giải thuật này là nó chỉ làm việc trên các vật chất điện môi không đồng
nhất. Hai ông cùng tên Tsang đã áp dụng mô hình phản xạ lưỡng sắc trong không
gian HSV để xác định các đường biên trong ảnh màu.
Healey đề xuất một mô hình phản xạ đơn sắccho các vật chất kim loại. Các
phương pháp đề cập trong phần này chỉ áp dụng cho hai loại vật chất là kim loại và
điện môi không đồng nhất. Một thuật toán tổng quát và phức tạp hơn cũng được
Maxwell và Shafer đề xuất.
3.2. Phát biểu ứng dụng
Thuật toán K-means phân cụm thường được sử dụng trong thị giác máy tính
là một hình thức phân đoạn ảnh thuộc nhóm phương pháp dựa trên không gian đặc
trưng. Các kết quả của các phân đoạn thường được sử dụng để hỗ trợ phát hiện các
đường biên biên và xác định đối tượng. Ứng dụng mẫu sau đây thực hiện phân đoạn
ảnh bằng cách sử dụng các tiêu chuẩn bình phương khoảng cách Euclide trênkhông
gian màu RGB. Các phương thức xác định khoảng cách tốt hơn để phân đoạn ảnh sẽ
không được thể hiện trong ví dụ này.
Trong chương trình này có sử dụng framework Accord.NET phiên bản
2.1.2. Đây là một bộ framework chuyên dùng trong lĩnh vực thị giác máy tính, trí
tuê nhân tạo – xử lý ảnh, mạng neural, các thuật toán di truyền, máy học,
robotics,.v.v…. Thuật toán K-means được thực hiện trong thư viện
Accord.MachineLearning.
HVTH: CH1301098 – Võ Tấn Lực Trang 16/17
Công nghệ Tri thức & Ứng dụng GS TSKH. Hoàng Văn Kiếm
Hình 3.1.Giao diện chính của chương trình
Dữ liệu cần đưa vào là một tập tin hình ảnh và chọn số cụm cần được phân
chia. Kết quả sau khi xử lý sẽ được hiển thị trong phần result. Kết quả thực hiện với
số cụm lần lượt là 4, 2 và 12 như sau:
Hình 3.2. Thực hiện chương trình với số cụm bằng 4 (k = 4)
HVTH: CH1301098 – Võ Tấn Lực Trang 17/17
Công nghệ Tri thức & Ứng dụng GS TSKH. Hoàng Văn Kiếm
Hình 3.3.Thực hiện chương trình với số cụm bằng 2 (k=2)
Hình 3.4. Thực hiện chương trình với số cụm bằng 12 (k=12)
Kết luận của chương trình
HVTH: CH1301098 – Võ Tấn Lực Trang 18/17
Công nghệ Tri thức & Ứng dụng GS TSKH. Hoàng Văn Kiếm
• Phânđoạn ảnh được thực hiện bằng việc sử dụng thuật toánK-means trong
không gian màuRGB hoạt động rất tốt với tất cả các hình ảnh.
• Sự rõ nét trong hình ảnh đã phân đoạn bằng K-meanslà rấttốt.
• Sự rõ nét của hình ảnh cũng phụ thuộc vào số lượng các cụm (số k) được
sử dụng.
• Một bất lợi của thuật toán này là số lượng cụm là phải được xác định
trong mỗi lần lặp.
HVTH: CH1301098 – Võ Tấn Lực Trang 19/17
Công nghệ Tri thức & Ứng dụng GS TSKH. Hoàng Văn Kiếm
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Bài giảng môn học “Công nghệ Tri thức & Ứng dụng” (2014)Giảng viên:
GSTSKHHoàng Văn Kiếm.
Tiếng Anh
[2]Siddheswar Ray and Rose H. Turi (2010), “Determination of Number of Clusters
in K-Means Clustering andApplication in Colour Image Segmentation”.
[3] Matteo Matteucci. “Tutorial on Clustering Algorithms,” Politecnico di Milano,
(acessed
October 4, 2010).
[4]A.D. Jepson and D.J. Fleet (2007) “Image Segmentation”. www.cs.toronto.edu
[5] Kiri Wagsta, Claire Cardie, Seth Rogers, Stefan Schroedl (2001) “Constrained
K-means Clustering with Background Knowledge”.
[6] “K-means clustering”From Wikipedia.
[7] R. Rojas: Neural Networks, Springer-Verlag, Berlin (1996), “Unsupervised
Learning and ClusteringAlgorithms” pp 101 – 120.
[8] “K-means clustering”www.onmyphd.com
HVTH: CH1301098 – Võ Tấn Lực Trang 20/17