tìm hiểu và hệ thống lại các phương pháp phân đoạn ảnh đã có theo các hướng: như phân đoạn theo ngưỡng, phân đoạn theo đường biên và theo miền đồng nhất. và lập trình minh họa các phương pháp bằng Matlab
Trang 1Mở đầu 2
Phân chia công việc 3
Chương 1: Tổng quan về xử lý ảnh 4
1.1 Giới thiệu về xử lý ảnh 4
1.2 Quá trình xử lý ảnh 4
1.2.1 Thu nhận ảnh 4
1.2.2 Tiền xử lý ảnh 5
1.2.3 Phân đoạn ảnh 5
1.2.4 Biểu diễn và mô tả 5
1.2.5 Nhận dạng và nội suy 5
1.2.6 Cơ sở trí thức 5
1.3 Tổng quan về phân đoạn ảnh 5
1.4 Một số khái niệm cơ bản 6
1.4.1 Điểm ảnh 6
1.4.2 Độ phân giải của ảnh 6
1.4.3 Mức xám của ảnh 6
1.4.4 Quan hệ giữa các điểm ảnh 6
1.4.5 Nén ảnh 7
1.4.6 Các định dạng cơ bản trong xử lý ảnh 7
Chương 2: Một số phương pháp phân đoạn ảnh 8
2.1 Bài toán phân đoạn ảnh 8
2.2 Khái niệm đoạn ảnh 8
2.3 Các phương pháp phân đoạn ảnh: 8
2.4 Tìm hiểu chi tiết một số phương pháp 9
2.4.1 Lấy ngưỡng tối ưu Otsu 9
2.4.2 Phân vùng ảnh dựa trên thuật toán K-means 13
2.4.3 Phân vùng ảnh dựa trên ngưỡng thích nghi cục bộ bằng giải thuật Watershed 29
Chương 3: Lập trình minh họa 45
3.1 Hướng dẫn sử dụng chương trình 45
3.2 Kết quả chạy chương trình 46
Tài liệu tham khảo 51
Trang 2Mở đầu
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ìnhnà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áchkhá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 toàn bộ hay từng phần của các đối tượng thật sự bên trong ảnh Vì thế, tronghầu hết các ứng dụng của lĩnh vực xử lý ả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áckhá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 đốitượng, hay truy vấn ảnh dựa vào nội dung … Trước đây, 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ảimớ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 ứngcác nhu cầu mới
Mục đích chính của chúng em là tìm hiểu và hệ thống lại các phương pháp phân đoạnảnh đã có theo các hướng: như phân đoạn theo ngưỡng, phân đoạn theo đường biên và theomiền đồng nhất Với mục đích như vậy chúng em đã trình bày đồ án thành 3 phần chính nhưsau:
Chương 1: Tổng quan về xử lý ảnh
Chương 2: Một số phương pháp phân đoạn ảnh
Chương 3: Lập trình minh họaChúng em chân thành cảm ơn TS Nguyễn Linh Giang đã cung cấp tài liệu và giúpchúng em hoàn thành bài tập lớn này Do điều kiện thời gian và kiến thức còn hạn chế nênphần tìm hiểu của chúng em vẫn còn nhiều thiếu xót Chúng em mong nhận được sự góp ýcủa thầy và các bạn trong lớp để bài báo cáo được hoàn thiện hơn
Trang 4Phân chia công việc
- Nguyễn Quang Huy:
Tìm hiểu và lập trình minh họa phương pháp K-means
Làm báo cáo và slide
- Phan Ngọc Phùng:
Tìm hiểu và lập trình minh họa phương pháp Watershed
Làm báo cáo và slide
- Nguyễn Văn Phương:
Tìm hiểu và lập trình minh họa phương pháp Otsu
Làm báo cáo và slide
Trang 5
-Chương 1: Tổng quan về xử lý ảnh 1.1 Giới thiệu về xử lý ảnh
Quá trình xử lý ảnh là một quá trình thao tác nhằm phân tích, biến đổimột ảnh đầu vào để đưa ra một kết quả mong muốn Kết quả của quá trình xử
lý ảnh có thể là một ảnh tốt hơn hoặc một kết luận Điều này tùy thuộc vào mụcđích yêu cầu của quá trình
1.2 Quá trình xử lý ảnh
Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng chính như nâng caochất lượng ảnh và phân tích ảnh Do vậy, quá trình xử lý ảnh bao giờ cũng bắtđầu bằng công việc thu nhận ảnh và kết thúc là việc nhận dạng ảnh hoặc mộtphán đoán theo ý nghĩa trên cơ sở nhận dạng ảnh Cụ thể, các bước cơ bảntrong quá trình xử lý ảnh được thể hiện thông qua hình 1.1 sau:
Hình 1.1-Các bước cơ bản trong xử lý ảnh
anh-dua-tren-rwr-random-walker-restart-45856/
Nguồn:luanvan.net.vn/luan-van/luan-van-tim-hieu-phuong-phap-phan-doan-1.2.1 Thu nhận ảnh
Trang 6Công việc cụ thể ở giai đoạn này là thu ảnh qua một bộ thu ảnh và số hoánhững tín hiệu liên tục được sinh ra bởi bộ thu ảnh đó Bộ thu ảnh có thể là máychụp ảnh đơn sắc hay màu, máy quét ảnh, máy quay
1.2.2 Tiền xử lý ảnh
Công việc cụ thể của bước này là cải thiện độ tương phản của ảnh, khửnhiễu Mục đích của các công việc này là làm cho chất lượng ảnh trở lên tốthơn chuẩn bị cho các bước xử lý tiếp theo
1.2.3 Phân đoạn ảnh
Đây là giai đoạn này tách một ảnh đầu vào thành nhiều vùng khác nhau haycòn gọi là các đối tượng để biểu diễn phân tích, nhận dạng ảnh
1.2.4 Biểu diễn và mô tả
Ảnh sau khi số hoá sẽ được lưu vào bộ nhớ hoặc chuyển sang các khâu tiếptheo để phân tích Nếu lưu trữ ảnh trực tiếp từ các ảnh thô đòi hỏi dung lượng
bộ nhớ rất lớn và không hiệu quả theo quan điểm ứng dụng và công nghệ.Thông thường, các ảnh thô đó được biểu diễn lại theo các đặc điểm của ảnhđược gọi là các đặc trưng ảnh như: biên ảnh, vùng ảnh Các thông tin này sẽđược chọn các tính chất đặc trưng để thể hiện gọi là trích chọn đặc trưng
1.2.5 Nhận dạng và nội suy
Nhận dạng ảnh là quá trình xác định ảnh bằng cách so sánh ảnh với mẫuchuẩn đã được lưu từ trước Nội suy là phán đoán theo ý nghĩa trên cơ sở nhậndạng ảnh Một số đối tượng nhận dạng khá phổ biến hiện nay đang được ápdụng trong khoa học và công nghệ là: Nhận dạng ký tự (chữ in, chữ viết tay,chữ ký điện tử), nhận dạng văn bản, nhận dạng vân tay, nhận dạng mã vạch,nhận dạng mặt người
1.2.6 Cơ sở trí thức
Trong nhiều khâu xử lý và phân tích ảnh, ngoài việc đơn giản hoá cácphương pháp toán học đảm bảo tiện lợi cho xử lý thì chúng ta luôn hướng đếnviệc xây dựng hệ thống tự động tiếp nhận và xử lý theo cách của con người Vìvậy, nhiều khâu hiện nay đã được xử lý theo các phương pháp trí tuệ nhân tạo,
sử dụng cơ sở tri thức của con người
1.3 Tổng quan về phân đoạn ảnh
Trang 7Phân đoạn ảnh là một thao tác ở mức thấp và là bước then chốt trongquá trình xử lý ảnh Giai đoạn này nhằm phân tích ảnh thành những vùng rờirạc có cùng tính chất nào đó dựa vào việc xác định biên và các vùng liên thôngcho từng vùng Tiêu chuẩn để xác định các vùng liên thông có thể là cùng mứcxám, cùng màu hay cùng độ nhám… Các vùng ảnh này thông thường sẽ tươngứng với toàn bộ hay từng phần của đối tượng thật bên trong ảnh.
1.4 Một số khái niệm cơ bản
1.4.1 Điểm ảnh
Điểm ảnh (Pixel) là một phần tử của ảnh số tại tọa độ (x,y) với độ xám hoặcmàu nhất định Kích thước và khoảng cách giữa các điểm ảnh đó được chọn thíchhợp sao cho mắt người cảm nhận sự liên tục về không gian và mức xám (hoặcmàu) của ảnh số gần như ảnh thật
1.4.2 Độ phân giải của ảnh
Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh được ấn định trên mộtảnh số được hiển thị
1.4.3 Mức xám của ảnh
Mức xám của điểm ảnh là cường độ sáng của nó được gán bằng giá trị số tạiđiểm đó
1.4.4 Quan hệ giữa các điểm ảnh
a Các lân cận của điểm ảnh (Image Neighbors)
Hình 1.2 – Lân cận các điểm ảnh của tọa độ (x,y)
dua-tren-rwr-random-walker-restart-45856/
Trang 8Nguồn:luanvan.net.vn/luan-van/luan-van-tim-hieu-phuong-phap-phan-doan-anh-b Khoảng cách giữa các điểm ảnh
- Khoảng cách Euclide
- Khoảng cách khối
- Khoảng cách bàn cờ
1.4.5 Nén ảnh
Ảnh dù ở dạng nào vẫn chiếm không gian nhớ rất lớn Vì vậy, khi mô tả ảnh
có thể sử dụng kỹ thuật nén ảnh để thu gọn dung lượng nhớ dành cho ảnh
1.4.6 Các định dạng cơ bản trong xử lý ảnh
Hình ảnh khi lưu trữ dưới dạng tệp tin sẽ được số hóa Một số dạng ảnh đãđược chuẩn hóa như: ảnh GIF, BMP, PCX, IMG,…
Trang 9Chương 2: Một số phương pháp phân đoạn ảnh
2.1 Bài toán phân đoạn ảnh
- Phân tách ảnh thành tập hợp những điểm không giao nhau (phân hoạch)
- Mục đích: phục vụ bài toán nhận dạng ảnh, hiểu ảnh và những bài toán liên quanđến xử lý vùng
- Phân đoạn ảnh là bài toán xác định yếu (ill-defined): việc xác định vùng ảnh phụthuộc vào ngữ cảnh
2.2 Khái niệm đoạn ảnh
- Xác định toán tử P là phép toán xác định trên vùng ảnh Điểm ảnh x được coi lànằm trong vùng ảnh xác định qua toán tử P, P(x) = true nếu điểm ảnh thỏa mãnnhững tính chất xác định
- Ví dụ về toán tử vùng:
Các giá trị mức xám trong một khoảng (ngưỡng)
Gradient của các mức xám trong một khoảng (biên)
Phân bố thống kê như nhau (kết cấu bề mặt)
- Sau khi áp dụng các toán tử xác định vùng, ảnh trở thành ảnh nhị phân Sử dụng cácđịnh nghĩa về tính liên thông, ta có thể xác định được các vùng ảnh
2.3 Các phương pháp phân đoạn ảnh:
- Phân vùng dựa trên ngưỡng: tìm các vùng ảnh bằng cách nhóm các điểm có giá trị
mức xám tương tự nhau
- Phân vùng dựa theo đường biên: xác định đường ranh giới giữa các vùng lân cận.
Đây là bài toán đối ngẫu với bài toán phân đoạn ảnh Bởi lẽ nếu xác định được đốitượng trong ảnh ta sẽ dễ dàng xác định được biên và ngược lại Do vậy bài toán này
ta sẽ tìm hiểu sau
- Phân vùng ảnh dựa trên các miền: xác định trực tiếp các vùng ảnh bằng cách gia
tăng hoặc phân chia vùng
- Phân vùng ảnh dựa trên chuyển động: xác định vùng dựa trên việc so sánh các
khung video liên tiếp trong một chuỗi video để xác định vùng tương ứng với đối
Trang 10tượng trong chuyển động Chúng ta sẽ bàn đến phương pháp này khi xử lý đếnvideo Trong phạm vi chương trình, bọn em chỉ đề cập đến đây.
2.4 Tìm hiểu chi tiết một số phương pháp
2.4.1 Lấy ngưỡng tối ưu Otsu
Xuất phát từ bài toán lấy ngưỡng cứng như dưới
Nguồn: Slide bài giảng môn xử lý ảnh TS Hoàng Văn Hiệp
- Phụ thuộc chủ quan (phân tích histogram)
- Dễ bị ảnh hưởng bởi nhiễu
- Ảnh hưởng bơi thay đổi độ sáng
Phương pháp otsu nhằm khắc phục nhược điểm của phương pháp lấy ngưỡng cứng nhằm đưa ra 1 ngưỡng thíc hợp
Trang 11Thuật toán phân ngưỡng Otsu được tác giả Nobuyuki Otsu giới thiệu năm 1979 Phương pháp phân ngưỡng Otsu dựa trên biểu đồ histogram Trước tiên, tá giả xét biểu đồ histogram chuẩn hóa dựa trên hàm mật độ(PDF- Probability Density Function) theo công thức:
Giả sử có ngưỡng k được chọn sao cho C0 là tập hợp các pixel có ngưỡng từ [0,1,….,k-1] và
C1 là tập hợp các pixel có ngưỡng từ [k,k+1,… ,L-1] Phương pháp Otsu lựa chọn ngưỡng k sao cho độ lệch chuẩn σ B
2
giữa các lớp là lớn nhất Độ lệch chuẩn σ B
2
được xác định theocông thức:
Để làm rõ thuật toán ta sẽ lấy ví dụ bằng cách sử dụng một ảnh 6x6 và histogram của ảnh
đó Để đơn giản hóa bài toán ta chỉ sử dụng ảnh có 6 mức xám.
Trang 13Như vậy tại ngưỡng k = 3 thì σ2B=2 6287 là giá trị độ lệch chuẩn lớn nhất,
như vậy trong ví dụ này ngưỡng tối ưu theo phương pháp Otsu là k = 3
Trang 142.4.2 Phân vùng ảnh dựa trên thuật toán K-means
2.4.2.1 Giới thiệu
Bài toán K-mean thuộc dạng phân đoạn ảnh dựa theo các thuật toán gom nhóm.Gom nhóm dữ liệu là gom nhóm những đối tượng dữ liệu tương tự vào 1 nhómthỏa mãn điều kiện:
- Các đối tượng trong 1 nhóm tương tự nhau
- Các đối tượng khác nhóm thì không tương tự nhau
Gom nhóm giúp giải quyết vấn đề tìm kiếm, phát hiện các cụm, các mẫu dữliệu trong một tập hợp ban đầu các dữ liệu không co dãn
K-means trong phân đoạn xử lý ảnh có rất nhiều ứng dụng cũng như rất hiệuquả Ở đây, trong phạm vi chương trình, chúng em chỉ tìm hiểu một chút vềviệc áp dụng k-means để phân đoạn ảnh theo màu
Trong thuật toán K-means clustering, chúng ta không biết nhãn (label) của từngđiểm dữ liệu Mục đích là làm thể nào để phân dữ liệu thành các cụm (cluster)
khác nhau sao cho dữ liệu trong cùng một cụm có tính chất giống nhau.
2.4.2.2 Phân tích toán học
Mục đích cuối cùng của thuật toán phân nhóm này là: từ dữ liệu đầu vào và sốlượng nhóm chúng ta muốn tìm, hãy chỉ ra center của mỗi nhóm và phân cácđiểm dữ liệu vào các nhóm tương ứng Giả sử thêm rằng mỗi điểm dữ liệu chỉthuộc vào đúng một nhóm
Một số ký hiệu toán học
Giả sử có N điểm dữ liệu X= [x 1, x 2 …, x N ] ϵ RdxN và K<N là số cluster chúng ta
muốn phân chia Chúng ta cần tìm các center m 1 , m 2 , m k ϵ Rdx1 và label củamỗi điểm dữ liệu
Lưu ý về kí hiệu toán học: Các số vô hướng được biểu diễn bởi chữ viết ở
dạng không in đậm, có thể viết hoa, ví dụ x 1 , N, y, k Các vector được biểu diễn
Trang 15bằng các chữ cái thường in đậm, ví dụ m, x 1 Ác ma trận biểu diễn bởi các chữ
hoa in đậm, ví dụ X, Y, Z.
Với mỗi điểm dữ liệu xi đặt yi= [yi1, yi2…, yik] là label vector của nó, trong đónếu xi được phân vào cluster k thì yik=1 và yij=0, ∀j≠k Điều này có nghĩa là cóđúng một phần tử của vector yi là bằng 1 (tương ứng với cluster của xi), cácphần tử còn lại bằng 0 Ví dụ: nếu một điểm dữ liệu có label vector là [1, 0, 0,
…,0] thì nó thuộc vào cluster 1, là [0, 1, 0…,0] thì nó thuộc vào cluster 2, …….Cách mã hóa label của dữ liệu như thế này được goi là biểu diễn one-hot Ràng buộc của yi có thể viết dưới dạng toán học như sau:
k=1
N
y ik=1(1)
Hàm mất mát và bài toán tối ưu
Nếu ta coi center mk là center (hoặc representative) của mỗi cluster và ước lượng tất cả các điểm được phân vào cluster này bởi mk, thì một điểm dữliệu xi được phân vào cluster k sẽ bị sai số là (xi−mk) Chúng ta mong muốn sai
số này có trị tuyệt đối nhỏ nhất nên ta sẽ tìm cách để đại lượng sau đây đạt giátrị nhỏ nhất:
‖x i−mk‖2
2
(Bình phương khoảng cách Euclid)
Hơn nữa, vì xi được phân vào cluster k nên yik=1, yij=0, ∀j≠k Khi đó, biểu thứcbên trên sẽ được viết lại là:
Trang 16Trong đó Y= [y 1 ; y 2; … y N ], M= [m 1 ; m 2; … m K ] lần lượt là các ma trận được
tạo bởi label vector của mỗi điểm dữ liệu và center của mỗi cluster Hàm số mấtmát trong bài toán K-means clustering của chúng ta là hàm L (Y , M ) với ràngbuộc như được nêu trong phương trình (1)
Tóm lại, chúng ta cần tối ưu bài toán sau:
Nhắc lại khái niệm arg min: Chúng ta biết ký hiệu min là giá trị nhỏ nhất của
hàm số, arg min chính là giá trị của biến số để hàm số đó đạt giá trị nhỏ nhất
đó Nếu f(x)=x2−2x+1=(x−1) =(x−1) 2 thì giá trị nhỏ nhất của hàm số này bằng
0, đạt được khi x=1 Trong ví dụ này minxf(x)=0 và arg minx f(x)=1 Thêm ví
dụ khác, nễu x1=0, x2=10, x3=5 thì ta nói arg mini xi = 1 vì 1 là chỉ số để xi đạtgiá trị nhỏ nhất (=0) Biến số viết bên dưới minmin là biến số cúng ta cần tối
ưu Trong các bài toán tối ưu, ta thường quan tâm tới arg min hơn là min
Thuật toán tối ưu hàm mất mát
Bài toán (2) là một bài toán khó tìm điểm tối ưu vì nó có thêm các điều kiện ràng buộc Bài toán này thuộc loại mix-integer programming (điều kiện biến là
số nguyên) - là loại rất khó tìm nghiệm tối ưu toàn cục (global optimal point, tức nghiệm làm cho hàm mất mát đạt giá trị nhỏ nhất có thể) Tuy nhiên, trong
một số trường hợp chúng ta vẫn có thể tìm được phương pháp để tìm được
nghiệm gần đúng hoặc điểm cực tiểu (Nếu chúng ta vẫn nhớ chương trình toán
ôn thi đại học thì điểm cực tiểu chưa chắc đã phải là điểm làm cho hàm số đạt giá trị nhỏ nhất).
Một cách đơn giản để giải bài toán (2) là xen kẽ giải Y và M khi biến còn lạiđược cố định Đây là một thuật toán lặp, cũng là kỹ thuật phổ biến khi giải bàitoán tối ưu Chúng ta sẽ lần lượt giải quyết hai bài toán sau đây:
Cố định M, tìm Y
Trang 17Giả sử đã tìm được các centers, hãy tìm các label vector để hàm mất mát đạt giá trị nhỏ nhất Điều này tương đương với việc tìm cluster cho mỗi điểm
chính là bình phương khoảng cách tính từ điểm xi tới center mj, ta
có thể kết luận rằng mỗi điểm xi thuộc vào cluster có center gần nó nhất! Từ
đó ta có thể dễ dàng suy ra label vector của từng điểm dữ liệu
Tới đây, ta có thể tìm nghiệm bằng phương pháp giải đạo hàm bằng 0, vì hàm
cần tối ưu là một hàm liên tục và có đạo hàm xác định tại mọi điểm Và quan trọng hơn, hàm này là hàm convex (lồi) - một mảng cực kỳ quan trọng trong
Trang 18toán tối ưu - theo mj nên chúng ta sẽ tìm được giá trị nhỏ nhất và điểm tối ưu tương ứng
Đặt l(mj) là hàm bên trong dấu arg min, ta có đạo hàm:
Đầu vào: Dữ liệu X và số lượng cluster cần tìm K.
Đầu ra: Các center M và label vector cho từng điểm dữ liệu Y.
1 Chọn K điểm bất kỳ làm các center ban đầu
2 Phân mỗi điểm dữ liệu vào cluster có center gần nó nhất
Trang 193 Nếu việc gán dữ liệu vào từng cluster ở bước 2 không thay đổi so với vòng lặptrước nó thì ta dừng thuật toán.
4 Cập nhật center cho từng cluster bằng cách lấy trung bình cộng của tất các cácđiểm dữ liệu đã được gán vào cluster đó sau bước 2
5 Quay lại bước 2
Chúng ta có thể đảm bảo rằng thuật toán sẽ dừng lại sau một số hữu hạn vònglặp Thật vậy, vì hàm mất mát là một số dương và sau mỗi bước 2 hoặc 3, giátrị của hàm mất mát bị giảm đi Theo kiến thức về dãy số trong chương trình
cấp 3: nếu một dãy số giảm và bị chặn dưới thì nó hội tụ! Hơn nữa, số lượng
cách phân nhóm cho toàn bộ dữ liệu là hữu hạn nên đến một lúc nào đó, hàmmất mát sẽ không thể thay đổi, và chúng ta có thể dừng thuật toán tại đây
2.4.2.3 Hạn chế
Chúng ta cần biết số lượng cluster cần clustering
Để ý thấy rằng trong thuật toán nêu trên, chúng ta cần biết đại lượng K là sốlượng clusters Trong thực tế, nhiều trường hợp chúng ta không xác định được
Trang 20giá trị này Có một số phương pháp giúp xác định số lượng clusters Bạn đọc cóthể tham khảo Elbow method - Determining the number of clusters in a dataset.
Nghiệm cuối cùng phụ thuộc vào các centers được khởi tạo ban đầu
Tùy vào các center ban đầu mà thuật toán có thể có tốc độ hội tụ rất chậm, vídụ:
hoặc thậm chí cho chúng ta nghiệm không chính xác (chỉ là local minimum điểm cực tiểu - mà không phải giá trị nhỏ nhất):
Trang 21-Cách đơn giản để khắc phục đó là chạy K-means clustering nhiều lần với cáccenter ban đầu khác nhau rồi chọn các hàm có mất mát cuối cùng bé nhất.
Các cluster cần có só lượng điểm gần bằng nhau
Dưới đây là một ví dụ với 3 cluster với 20, 50, và 1000 điểm Kết quả cuốicùng không chính xác
Trang 22Các cluster cần có dạng hình tròn
Tức các cluster tuân theo phân phối chuẩn và ma trận hiệp phương sai là matrận đường chéo có các điểm trên đường chéo giống nhau
Dưới đây là 1 ví dụ khi 1 cluster có dạng hình dẹt
Khi một cluster nằm phía trong 1 cluster khác
Đây là ví dụ kinh điển về việc K-means clustering không thể phân cụm dữ liệu.Một cách tự nhiên, chúng ta sẽ phân ra thành 4 cụm: mắt trái, mắt phải, miệng,xunh quanh mặt Nhưng vì mắt và miệng nằm trong khuôn mặt nên K-meansclustering không thực hiện được:
Trang 23Mặc dù có những hạn chế nhưng K-means clustering vẫn cự kì quan trọngtrong xử lý ảnh cũng như là nền tảng cho nhiều thuật toán sau này Chúng ta
cần bắt đầu từ những thứ đơn giản:” Simple is best”.
2.4.3.4 Phân tích 1 ví dụ cụ thể
Đề bài: Giả sử ta có 4 loại thuốc A, B, C, D, mỗi loại thuộc được biểu diễn bởi
2 đặc trưng X và Y như sau Mục đích của ta là nhóm các thuốc đã cho vào 2nhóm (K=2) dựa vào các đặc trưng của chúng:
Bước 1: Khởi tạo tâm (centroid) cho 2 nhóm Giả sử ta chọn A là tâm của
nhóm thứ nhất (tọa độ tâm nhóm thứ nhất c1 (1,1)) và B là tâm của nhóm thứ 2(tạo độ tâm nhóm thứ hai c2 (2,1))
Trang 24Bước 2: Tính khoảng cách từ các đối tượng đến tâm của các nhóm (Khoảng
- Ví dụ, khoảng cách từ loại thuốc C= (4,3) đến tâm c1(1,1) là 3.61 và đến tâmc2(2,1) là 2.83 được tính như sau:
Trang 25Ta thấy rằng nhóm 1 sau vòng lặp thứ nhất gồm có 1 đối tượng A và nhóm 2gồm các đối tượng còn lại B, C, D.
G=[1 0 0 00 1 1 1]
Bước 4: Tính lại tọa độ các tâm cho các nhóm mới dựa vào tọa độ của các đối
tượng trong nhóm Nhóm 1 chỉ có 1 đối tượng A nên tâm nhóm 1 vẫn khôngđổi, c1(1,1) Tâm nhóm 2 được tính như sau: