Tải bản đầy đủ (.doc) (27 trang)

Báo cáo xử lý ảnh Phân cụm ảnh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (915.01 KB, 27 trang )

LỜI MỞ ĐẦU
Xử lý ảnh ngày nay đã trở thành một ngành khoa học lớn và có mặt trong nhiều
lĩnh vực của cuộc sống. Điều này hoàn toàn có thể lý giải được từ một định nghĩa đơn
giản về ngành khoa học này.
Ở Việt Nam, Xử lý ảnh là một ngành khoa học còn tương đối mới mẻ so với
nhiều ngành khoa học khác. Hiện nay nó đang là một trong những lĩnh vực được quan
tâm và đã trở thành môn học chuyên ngành của sinh viên hệ kỹ sư, cử nhân ngành
Công nghệ Thông tin.
Xử lý ảnh là ngành khoa học nghiên cứu các quá trình xử lý thông tin dạng hình
ảnh mà hình ảnh là một trong những dạng thông tin phong phú nhất đối với chúng ta.
Nhờ có công nghệ số hóa hiện đại, ngày nay con người đã có thể xử lý tín hiệu nhiều
chiều thông qua nhiều hệ thống khác nhau, từ những mạch số đơn giản cho đến những
máy tính song song cao cấp. Mục tiêu của xử lý ảnh số có thể chia làm ba hướng như
sau:
Xử lý ảnh ban đầu để có được ảnh mới theo một yêu cầu xác định (ví dụ như ảnh
mờ cần được xử lý để ảnh rõ hơn).
Phân tích ảnh để thu được các thông tin đặc trưng giúp cho việc phân loại, nhận
biết ảnh (ví dụ như phân tích ảnh vân tay để trích chọn các đặc trưng vân tay).
Hiểu ảnh đầu vào để có những mô tả về ảnh ở mức cao hơn, sâu hơn (ví dụ như
từ một ảnh tai nạn giao thông sẽ phác họa nên hiện trường tai nạn).
Trong quá trình xử lý ảnh chúng ta cũng có thể phân nó thành những cụm ảnh
riêng biệt nhau. Phân cụm ảnh nhằm mục đích phân tách các ảnh đầu vào thành những
cụm để có thể sử dụng cho việc phân loại ảnh. Vì lý do đó mà nhóm chúng em đã lựa
chọn đề tài “Phân cụm ảnh” để tìm hiểu rõ hơn về phân cụm ảnh trong Xử lý ảnh nói
chung.
Mục tiêu của bài tập lớn này nhằm hiểu rõ về công đoạn phân cụm ảnh, các
phương pháp phân cụm ảnh đặc biệt là áp dụng kỹ thuật Kmen để phân cụm ảnh. Hiểu
và lập trình được thuật toán mô phỏng.
Bài báo cáo gồm 3 chương:
Chương 1: Tổng quan về xử lý ảnh
Chương 2: Phương pháp phân cụm dữ liệu


Chương 3: Chương trình mô phỏng phân cụm
LỜI CẢM ƠN
Trên thực tế không có sự thành công nào mà không gắn liền với những sự hỗ
trợ, sự giúp đỡ dù ít hay nhiều, dù là trực tiếp hay gián tiếp của người khác. Trong suốt
thời gian từ khi bắt đầu học tập ở giảng đường Đại Học đến nay, chúng em đã nhận
được rất nhiều sự quan tâm, giúp đỡ của Thầy Cô, gia đình và bạn bè.
Với lòng biết ơn sâu sắc nhất, chúng em xin gửi đến Thầy Cô ở Khoa Công
Nghệ Thông Tin – trường Đại Học Điện Lực đã cùng với tri thức và tâm huyết của
mình để truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gian học tập
tại trường. Và đặc biệt, trong kỳ này, Khoa đã tổ chức cho chúng em được tiếp cận với
môn học rất hữu ích đối với sinh viên ngành Công Nghệ Thông Tin. Đó là môn: “Xử
lý ảnh”.
Chúng em xin chân thành cám ơn Tiến Sĩ Nguyễn Hữu Quỳnh đã tận tâm hướng
dẫn chúng em qua từng buổi học trên lớp cũng như những buổi nói chuyện, thảo luận
về môn học. Trong thời gian được học tập và thực hành dưới sự hướng dẫn của thầy,
chúng em không những thu được rất nhiều kiến thức bổ ích, mà còn được truyền sự
say mê và thích thú đối với bộ môn Xử lý ảnh. Nếu không có những lời hướng dẫn,
dạy bảo của thầy thì chúng em nghĩ đồ án này của chúng em rất khó có thể hoàn thành
được.
Xin gửi lời cảm ơn chân thành đến gia đình, bè bạn, đã luôn là nguồn động viên
to lớn, giúp chúng em vượt qua những khó khăn trong suốt quá trình học tập và thực
hiện đồ án.
Mặc dù đã rất cố gắng hoàn thiện đồ án với tất cả sự nỗ lực, tuy nhiên, do bước
đầu đi vào thực tế, tìm hiểu và xây dựng đồ án trong thời gian có hạn, và kiến thức còn
hạn chế, nhiều bỡ ngỡ, nên đồ án “Phân cụm ảnh” chắc chắn sẽ khôn thể tránh khỏi
những thiếu sót. Chúng em rất mong nhận được sự quan tâm, thông cảm và những
đóng góp quý báu của các thầy cô và các bạn để đồ án này ngày càng hoàn thiện hơn.
Chúng em xin cám ơn!
Sinh viên thực hiện
MỤC LỤC

CHƯƠNG 1. TỔNG QUAN VỀ XỬ LÝ ẢNH 1
1.1. Tổng quan về xử lý ảnh số 1
1.2. Hệ thống xử lý ảnh số 2
1.3 . Các khái niệm cơ bản 3
1.4 . Các ứng dụng của xử lý ảnh 4
1.5. Ví dụ về xử lý ảnh 7
CHƯƠNG 2. PHƯƠNG PHÁP PHÂN CỤM DỮ LIỆU 9
2.1. Phân cụm dữ liệu 9
2.2. Các phương pháp phân cụm dữ liệu 11
CHƯƠNG 3. CHƯƠNG TRÌNH MÔ PHỎNG PHÂN CỤM ẢNH 13
3.1. Giới thiệu bài toán 13
3.2. Thuật toán sử dụng 13
3.3. Sơ đồ thuật toán chung 17
3.4. Kết quả thực nghiệm 19
KẾT LUẬN 21
Kết quả đạt được 21
Hướng phát triển 21
TÀI LIỆU THAM KHẢO 21
DANH MỤC HÌNH ẢNH
Hình 1.1: Bức ảnh đầu tiên về mặt Trăng của NASA (9:09 AM, 31/6/1964) 1
Hình 1.2: Quy trình cơ bản trong xử lý ảnh 2
Hình 1.4a: Lọc nhiễu 4
Hình 1.4b: Cải thiện ảnh 5
Hình 1.4c: Thu nhỏ ảnh 5
Hình 1.4d: Theo dõi, giám sát 6
Hình 1.4e: Nhận dạng vân tay 6
Hình 1.4f: Nhận dạng biển số xe 7
Hình 1.5a: Ảnh ban đầu 7
Hình 1.5b: Ảnh đã được thêm chiếc áo 8
Hình 1.5c: Chiếc áo đã được thêm chữ 8

Hình 1.5d: Người đàn ông đã có thêm bộ râu 9
Hình 2.1.1: Ví dụ về phân cụm dữ liệu 10
Hình 3.1: Sơ đồ mô tả thuật toán K-means 15
Hình 3.2: Ví dụ các bước của thuật toán k-means 16
Hình 3.2: Sơ đồ thuật toán 18
Hình 3.4.2: Giao diện chính 19
Hình 3.4.3: Giao diện lựa chọn tập ảnh đầu vào 20
Hình 3.4.4: Giao diện kết quả phân cụm 20
CHƯƠNG 1. TỔNG QUAN VỀ XỬ LÝ ẢNH
1.1. TỔNG QUAN VỀ XỬ LÝ ẢNH SỐ
Trong nghành khoa học máy tính, xử lý ảnh là một dạng của xử lý tín hiệu cho
đầu vào là một ảnh hoặc các frame của phim ảnh. Đầu ra có thể là một hình ảnh, hoặc
tập hợp các ký tự hoặc các tham số liên quan tới hình ảnh. Thường thì kỹ thuật xử lý
ảnh có liên quan tới xử lý tín hiệu hai chiều và được áp dụng bằng một chuẩn riêng về
kỹ thuật xử lý ảnh cho nó. Các khái niệm cơ bản để xử lý tín hiệu như, khái niệm về
tích chập, các biến đổi Fourier, biến đổi Laplace, các bộ lọc hữu hạn… Ngoài ra còn
cần tới các công cụ toán học như đại số tuyến tính, xác suất, thống kê. Và một số kiến
thức cần thiết như Trí tuệ nhân tao, Mạng nơron nhân tạo cũng được đề cập trong quá
trình phân tích và nhận dạng ảnh.
Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng chính: nâng cao chất lượng
ảnh và phân tích ảnh. Ứng dụng đầu tiên được biết đến là nâng cao chất lượng ảnh báo
được truyền qua cáp từ Luân Đôn đến New York từ những năm 1920. Vấn đề nâng cao
chất lượng ảnh có liên quan tới phân bố mức sáng và độ phân giải của ảnh. Việc nâng
cao chất lượng ảnh được phát triển vào khoảng những năm 1955. Điều này có thể giải
thích vì sau chiến tranh thế giới thứ hai, máy tính phát triển nhanh tạo điều kiện cho
quá trình xử lý ảnh số thuận lợi. Năm 1964, máy tính đã có khả năng xử lý và nâng
cao chất lượng ảnh từ mặt trăng và vệ tinh Ranger 7 của Mỹ bao gồm: làm nổi đường
biên, lưu ảnh. Từ năm 1964 đến nay, các phương tiện xử lý, nâng cao chất lượng, nhận
dạng ảnh phát triển không ngừng. Các phương pháp tri thức nhân tạo như mạng nơ ron
nhân tạo, các thuật toán xử lý hiện đại và cải tiến, các công cụ nén ảnh ngày cành được

áp dụng rộng rãi và thu nhiều kết quả khả quan.
Hình 1.1: Bức ảnh đầu tiên về mặt Trăng của NASA (9:09 AM, 31/6/1964).
1 | P a g e
1.2. HỆ THỐNG XỬ LÝ ẢNH SỐ
Để dễ tưởng tượng, xét các bước cần thiết trong xử lý ảnh. Đầu tiên, ảnh tự
nhiên từ thế giới ngoài được thu nhận qua các thiết bị thu (như Camera, máy chụp
ảnh). Mặt khác, ảnh cũng có thể tiếp nhận từ vệ tinh; có thể quét bằng máy quét ảnh.
Hình 1.2: Quy trình cơ bản trong xử lý ảnh.
Trong đó:
• Thu nhận ảnh (Image Acquisition): Ảnh có thể được thu nhận qua các thiết bị
chụp ảnh. Có thể là ảnh đen trắng hoặc ảnh màu. Thông thường ảnh nhận được
là ảnh tương tự, cũng có một số thiết bị đã số hóa.
• Tiền xử lý (Image Processing): Sau khi thu nhận, ảnh có thể bị nhiễu hoặc độ
tương phản thấp nên cần đưa vào bộ tiền xử lý để nâng cao chất lượng ảnh.
Chức năng của bộ tiền xử lý là lọc nhiễu, nâng độ tương phản để làm ảnh rõ
hơn, nét hơn.
• Phân đoạn hay phân vùng ảnh (Image Segmentation): Phân vùng ảnh là tách
một ảnh đầu vào thành các vùng thành phần để biểu diễn, phân tích, nhận dạng
ảnh. Đây là phần phức tạp, khó khăn nhất trong xử lý ảnh và cũng dễ gây lỗi,
làm mất độ chính xác của ảnh. Kết quả của nhận dạng ảnh phụ thuộc rất nhiều
vào công đoạn này.
• Biểu diễn và mô tả ảnh (Image Representation): Đầu ra ảnh sau phân đoạn
chứa các điểm ảnh của vùng ảnh (ảnh đã phân đoạn) cộng với mã liên kết với
các vùng lân cận.Việc biến đổi các số liệu này thành dạng thích hợp là cần thiết
2 | P a g e
cho việc xử lý tiếp theo bằng máy tính. Việc chọn các tính chất để thể hiện ảnh
gọi là trích chọn đặc trưng (Feature Selection).
• Nhận dạng và giải thích (Image Recognition and Description): Nhận dạng là
quá trình xác định ảnh. Quá trình thường thu được bằng cách so sánh với mẫu
chuẩn đã được học (hoặc lưu) từ trước. Nội suy là phán đoán theo ý nghĩa trên

cơ sở nhận dạng.
• Cơ sở tri thức (Knowledge Base): Ảnh là một đối tượng khá phức tạp về
đường nét, đô sáng tối, dung lượng điểm ảnh, môi trường thu ảnh phong phú
kéo theo nhiễu. Trong nhiều khâu xử lý và phân tích ảnh ngoài việc đơn giản
hóa các phương pháp toán học để đảm bảo tiện lợi cho xử lý, người ta mong
muốn bắt chước quy trình tiếp nhận và xử lý ảnh theo cách của con người.
Trong các bước xử lý đó, nhiều khâu hiện nay đã xử lý theo phương pháp trí tuệ
con người. Vì vậy, ở đây các cơ sở tri thức được phát huy.
1.3 . CÁC KHÁI NIỆM CƠ BẢN
1.3.1 Điểm ảnh pixcel
Ảnh trong thực tế là một ảnh liên tục về không gian và về giá trị độ sáng. Để có
thể xử lý ảnh bằng máy tính cần thiết phải tiến hành số hoá ảnh. Trong quá trình số
hoá, người ta biến đổi tín hiệu liên tục sang tín hiệu rời rạc thông qua quá trình lấy
mẫu (rời rạc hóa về không gian) và lượng hoá thành phần giá trị mà thể về nguyên tắc
bằng mắt thường không phân biệt được hai điểm kề nhau. Trong quá trình này, người
ta sử dụng khái niệm Picture element mà ta quen gọi hay viết là Pixel - phần tử ảnh. Ở
đây cũng cần phân biệt khái niệm pixel hay đề cập đến trong các hệ thống đồ hoạ máy
tính. Để tránh nhầm lẫn ta tạm gọi khái niệm pixel này là pixel thiết bị. Khái niệm
pixel thiết bị có thể xem xét như sau: khi ta quan sát màn hình (trong chế độ đồ hoạ),
màn hình không liên tục mà gồm nhiều điểm nhỏ, gọi là pixel. Mỗi pixel gồm một cặp
toạ độ x, y và màu.
Cặp toạ độ x, y tạo nên độ phân giải (resolution). Như màn hình máy tính có
nhiều loại với độ phân giải khác nhau: màn hình CGA có độ phân giải là 320 x 200;
màn hình VGA là 640 x 350
Như vậy, một ảnh là một tập hợp các điểm ảnh. Khi được số hoá, nó thường
được biểu diễn bởi bảng hai chiều I(n, p): n dòng và p cột. Ta nói ảnh gồm n x p
pixels. Người ta thường kí hiệu I(x, y) để chỉ một pixel. Thường giá trị của n chọn
bằng p và bằng 256. Hình 1.2 cho ta thấy việc biểu diễn một ảnh với độ phân giải khác
nhau. Một pixel có thể lưu trữ trên 1, 4, 8 hay 24 bit.
3 | P a g e

1.3.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.3.3 Mức xám của ảnh(Gray level)
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 đó.
Các thang giá trị mức xám thông thường: 16, 32, 64, 128, 256 (Mức 256 là phổ
dụng).
Ảnh đen trắng: là ảnh có hai màu đen, trắng (không chứa màu khác) với mức
xám ở các điểm ảnh có thể khác nhau.
Ảnh nhị phân: ảnh chỉ có 2 mức đen, trắng phân biệt tức dùng 1 bit để môt tả
2
1
mức khác nhau. Nói cách khác: mỗi điểm ảnh của ảnh nhị phân chỉ có thể là 0 hoặc
1.
Ảnh màu: trong khuôn khổ lý thuyết ba màu (Red, Blue, Green) để tạo nên thế
giới màu, người ta dùng 3 byte để mô tả mức màu, khi đó giá trị màu: 2
8*3
=2
24
≈ 16,7
triệu màu.
1.4 . CÁC ỨNG DỤNG CỦA XỬ LÝ ẢNH
♦ Thông tin, truyền thông: báo điện tử, truyền hình số. Thị giác máy, robot. Ảnh
không gian, viễn thám. Y học, sinh học. Nghiên cứu không gian. Thiên văn, địa chất.
Quân sự, hình sự, an ninh.v v
♦ Lọc nhiễu
Hình 1.4a: Lọc nhiễu
4 | P a g e
♦ Cải thiện ảnh

Hình 1.4b: Cải thiện ảnh
Hình 1.4c: Thu nhỏ ảnh
♦ Theo dõi, giám sát
5 | P a g e
Hình 1.4d: Theo dõi, giám sát
♦ Nhận dạng vân tay
Hình 1.4e: Nhận dạng vân tay
♦ Nhận dạng biển số xe
6 | P a g e
Hình 1.4f: Nhận dạng biển số xe
1.5. VÍ DỤ VỀ XỬ LÝ ẢNH
Hình 1.5a: Ảnh ban đầu
7 | P a g e
Hình 1.5b: Ảnh đã được thêm chiếc áo
Hình 1.5c: Chiếc áo đã được thêm chữ
8 | P a g e
Hình 1.5d: Người đàn ông đã có thêm bộ râu
CHƯƠNG 2. PHƯƠNG PHÁP PHÂN CỤM DỮ LIỆU
2.1. PHÂN CỤM DỮ LIỆU
2.1.1. Khái niệm
Phân cụm dữ liệu là một kỹ thuật trong Data mining nhằm tìm kiếm, phát hiện
các cụm, các mẫu dữ liệu tự nhiên tiềm ẩn và quan trọng trong tập dữ liệu lớn để từ đó
cung cấp thông tin, tri thức cho việc ra quyết định.
Phân cụm dữ liệu là quá trình phân chia một tập dữ liệu ban đầu thành các cụm
dữ liệu sao cho các đối tượng trong một cụm “tương tự” (Similar) với nhau và các đối
tượng trong các cụm khác nhau sẽ “không tương tự” (Dissimilar) với nhau. Số các
cụm dữ liệu được phân ở đây có thể được xác định trước theo kinh nghiệm hoặc có thể
được tự động xác định.
Mục tiêu của phân cụm dữ liệu là để xác định các nhóm nội tại bên trong một bộ
dữ liệu không có nhãn. Nhưng để có thể quyết định được cái gì tạo thành một cụm tốt.

Nhưng làm thế nào để quyết định cái gì đã tạo nên một phân cụm dữ liệu tốt? Nó có
9 | P a g e
thể được hiển thị rằng không có tiêu chuẩn tuyệt đối “tốt nhất” mà sẽ là độc lập với
mục đích cuối cùng của phân cụm dữ liệu. Do đó, mà người sử dụng phải cung cấp
tiêu chuẩn, theo cách như vậy mà kết quả của phân cụm dữ liệu sẽ phù hợp với nhu
cầu của họ cần.
Hình 2.1.1: Ví dụ về phân cụm dữ liệu
2.1.2 Ứng dụng của phân cụm dữ liệu
− Thương mại: tìm kiếm nhóm các khách hàng quan trọng dựa vào các thuộc
tính đặc trưng tương đồng và những đặc tả của họ trong các bản ghi mua bán của cơ sở
dữ liệu;
− Sinh học: phân loại động, thực vật qua các chức năng gen tương đồng của
chúng;
− Thư viện : phân loại các cụm sách có nội dung và ý nghĩa tương đồng nhau để
cung cấp cho độc giả, cũng như đặt hàng với nhà cung cấp;
− Bảo hiểm : nhận dạng nhóm tham gia bảo hiểm có chi phí yêu cầu bồi thường
trung bình cao, xác định gian lận trong bảo hiểm thông qua các mẫu cá biệt;
− Quy hoạch đô thị : nhận dạng các nhóm nhà theo kiểu, vị trí địa lí, giá trị
nhằm cung cấp thông tin cho quy hoạch đô thị;
− Nghiên cứu địa chấn : phân cụm để theo dõi các tâm động đất nhằm cung cấp
thông tin cho việc nhận dạng các vùng nguy hiểm;
− WWW: tài liệu phân loại, phân nhóm dữ liệu weblog để khám phá các nhóm
về các hình thức tiếp cận tương tự trợ giúp cho việc khai phá thông tin từ dữ liệu.
10 | P a g e
2.2. CÁC PHƯƠNG PHÁP PHÂN CỤM DỮ LIỆU
2.2.1. Phương pháp phân cụm phân hoạch (Partitioning Methods)
Phân hoạch một tập hợp dữ liệu có n phần tử thành k nhóm cho đến khi xác định
số các cụm được thiết lập. Số các cụm được thiết lập là các đặc trưng được lựa chọn
trước. Phương pháp này là tốt cho việc tìm các cụm hình cầu trong không gian
Euclidean. Ngoài ra, phương pháp này cũng phụ thuộc vào khoảng cách cơ bản giữa

các điểm để lựa chọn các điểm dữ liệu nào có quan hệ là gần nhau với mỗi điểm khác
và các điểm dữ liệu nào không có quan hệ hoặc có quan hệ là xa nhau so với mỗi điểm
khác. Tuy nhiên, phương pháp này không thể xử lí các cụm có hình dạng kỳ quặc hoặc
các cụm có mật độ các điểm dầy đặc.
Điển hình trong phương pháp tiếp cận theo phân cụm phân họach là các thuật
toán như: K_means, K-medoids, CLARA (Clustering Large Applications), CLARANS
(Clustering Large Applications based on RAndomized Search)…
2.2.2. Phương pháp phân cụm phân cấp (Hierarchical Methods)
Xây dựng một phân cấp trên cơ sở các đối tượng dữ liệu đang xem xét. Nghĩa là
sắp xếp một tập dữ liệu đã cho thành một cấu trúc có dạng hình cây, cây phân cấp này
được xây dựng theo kỹ thuật đệ quy. Có hai cách tiếp cận phổ biến của kỹ thuật này đó
là: hòa nhập nhóm, thường được gọi là tiếp cận (Bottom-Up); phân chia nhóm, thường
được gọi là tiếp cận (Top-Down).
− Phương pháp “dưới lên” (Bottom up): Phương pháp này bắt đầu với mỗi đối
tượng được khởi tạo tương ứng với các cụm riêng biệt, sau đó tiến hành nhóm các đối
tượng theo một độ đo tương tự (như khoảng cách giữa hai trung tâm của hai nhóm),
quá trình này được thực hiện cho đến khi tất cả các nhóm được hòa nhập vào một
nhóm (mức cao nhất của cây phân cấp) hoặc cho đến khi các điều kiện kết thúc thỏa
mãn.
− Phương pháp “trên xuống” (Top Down): Bắt đầu với trạng thái là tất cả các đối
tượng được xếp trong cùng một cụm. Mỗi vòng lặp thành công, một cụm được tách
thành các cụm nhỏ hơn theo giá trị của một phép đo độ tương tự nào đó cho đến khi
mỗi đối tượng là một cụm, hoặc cho đến khi điều kiện dừng thỏa mãn. Cách tiếp cận
này sử dụng chiến lược chia để trị trong quá trình phân cụm.
11 | P a g e
Điển hình trong phương pháp tiếp cận theo phân cụm phân cấp là các thuật toán như:
AGNES (Agglomerative Nesting), DIANA (Divisive Analysis), BIRCH (1996),
CURE (1998), CHAMELEON (1999),…
2.2.3. Phương pháp phân cụm dựa trên mật độ (Density-Based Methods)
Nhóm các đối tượng dữ liệu dựa trên hàm mật độ xác định, mật độ là số các đối

tượng lân cận của một đối tượng dữ liệu theo một nghĩa nào đó. Trong cách tiếp cận
này, khi một dữ liệu đã xác định thì nó tiếp tục được phát triển thêm các đối tượng dữ
liệu mới miễn là số các đối tượng lân cận này phải lớn hơn một ngưỡng đã được xác
định trước. Phương pháp phân cụm dựa trên mật độ của các đối tượng để xác định các
cụm dữ liệu có thể phát hiện ra các cụm dữ liệu với hình thù bất kỳ.
Điển hình trong phương pháp tiếp cận theo phân cụm dựa trên mật độ là các
thuật toán như: DBSCAN (KDD’96), DENCLUE (KDD’98), CLIQUE
(SIGMOD’98), OPTICS (SIGMOD’99), …
2.2.4. Phương pháp phân cụm dựa trên lưới (Grid-Based Methods)
Kỹ thuật phân cụm dựa trên lưới thích hợp với dữ liệu nhiều chiều, dựa trên cấu
trúc dữ liệu lưới để phân cụm, phương pháp này chủ yếu tập trung áp dụng cho lớp dữ
liệu không gian. Mục tiêu của phương pháp này là lượng hóa dữ liệu thành các ô tạo
thành cấu trúc dữ liệu lưới. Sau đó, các thao tác phân cụm chỉ cần làm việc với các đối
tượng trong từng ô trên lưới chứ không phải các đối tượng dữ liệu.
Điển hình trong phương pháp tiếp cận theo phân cụm dựa trên lưới là các thuật
toán như: STING (a STatistical INformation Grid approach) bởi Wang, Yang và
Muntz (1997), WAVECLUSTER bởi Sheikholeslami,…
2.2.5. Phân cụm dựa trên mô hình (Model-Based Clustering Methods)
Phương này cố gắng khám phá các phép xấp xỉ tốt của các tham số mô hình sao
cho khớp với dữ liệu một cách tốt nhất. Chúng có thể sử dụng chiến lược phân cụm
phân hoạch hoặc phân cụm phân cấp, dựa trên cấu trúc hoặc mô hình mà chúng giả
định về tập dữ liệu và cách chúng hiệu chỉnh các mô hình này để nhận dạng ra các
phân hoạch.
Điển hình trong phương pháp tiếp cận theo phân cụm dựa trên mô hình là các
thuật toán như: EM, COBWEB, CLASSIT, AutoClass (Cheeseman and Stutz, 1996)
12 | P a g e
2.2.6. Phân cụm có dữ liệu ràng buộc (Binding data Clustering Methods)
− Phân cụm thống kê: Dựa trên các khái niệm phân tích hệ thống, nhánh nghiên
cứu này sử dụng các độ đo tương tự để phân hoạch các đối tượng, nhưng chúng chỉ áp
dụng cho các dữ liệu có thuộc tính số.

− Phân cụm khái niệm: Kỹ thuật này được phát triển áp dụng cho dữ liệu hạng
mục, chúng phân cụm các đối tượng theo các khái niệm mà chúng xử lí.
− Phân cụm mờ: Sử đụng kỹ thuật mờ để phân cụm dữ liệu. Các thuật toán thuộc
loại này chỉ ra lược đồ phân cụm thích hợp với tất cả các hoạt động đời sống hàng
ngày, chúng chỉ xử lí các dữ liệu thực không chắc chắn.
− Phân cụm mạng Kohonen: Loại phân cụm này dựa trên khái niệm của các
mạng nơron. Mạng Kohonen có tầng nơron vào và các tầng nơron ra. Mỗi nơron của
tầng vào tương ứng với mỗi thuộc tính của bản ghi, mỗi một nơron vào kết nối với tất
cả các nơron của tầng ra. Mỗi liên kết được gắn liền với một trọng số nhằm xác định vị
trí của nơron ra tương ứng.
CHƯƠNG 3. CHƯƠNG TRÌNH MÔ PHỎNG PHÂN CỤM ẢNH
3.1. GIỚI THIỆU BÀI TOÁN
Bài toán “Phân cụm ảnh”
Giả sử có một tập ảnh ban đầu, ta cần phân tập ảnh đó thành một số hữu hạn các
cụm ảnh theo yêu cầu.
Bước đầu tiên ta cần phân tích đặc trưng về màu sắc của ảnh trong cụm. Sử dụng
khoảng cách Euclid để tính độ tương đồng giữa các ảnh. Dựa trên giải thuật K-means
phân tích tập ảnh ban đầu thành các cum thỏa mãn.
3.2. THUẬT TOÁN SỬ DỤNG
3.2.1. Độ đo tương tự và phi tương tự
Để phân cụm, người ta phải đi tìm cách thích hợp để xác định “khoảng cách”
giữa các đối tượng, hay là phép đo tương tự dữ liệu. Đây là các hàm để đo sự giống
nhau giữa các cặp đối tượng dữ liệu, thông thường các hàm này hoặc là để tính độ
tương tự (Similar) hoặc là tính độ phi tương tự (Dissimilar) giữa các đối tượng dữ liệu.
Một không gian metric là một tập trong đó có xác định các “khoảng cách” giữa
từng cặp phần tử, với những tính chất thông thường của khoảng cách hình học:
− Với mỗi cặp phần tử x, y thuộc X đều có xác định, theo một quy tắc nào đó,
một số thực δ(x,y), được gọi là khoảng cách giữa x và y.
13 | P a g e
− Quy tắc nói trên thoả mãn hệ tính chất sau : δ(x,y) > 0 nếu x ≠ y ; (ii) δ(x, y)=0

nếu x =y; (iii) δ(x,y) = δ(y,x) với mọi x,y; (iv) δ(x,y) ≤ δ(x,z)+δ(z,y).
− Hàm δ(x,y) được gọi là một metric của không gian. Các phần tử của X được
gọi là các điểm của không gian này.
− Khoảng cách Euclid giữa hai điểm p và q là chiều dài đoạn thẳng. Trong hệ tọa
độ Descartes, nếu p = (p1, p2, , pn) và q = (q1, q2, , qn) là hai điểm trong không
gian Euclidn chiều, thì khoảng cách từ p đến q bằng:
3.2.2. Thuật toán K-means
Thuật toán này dựa trên độ đo khoảng cách của các đối tượng dữ liệu đến phần tử
là trung tâm của cụm chứa nó. Thuật toán k-means lấy tham số đầu vào là k và phân
chia một tập n đối tượng vào trong k cụm để cho kết quả độ tương đồng trong cụm là
cao trong khi độ tương đồng ngoài cụm là thấp. Độ tương đồng cụm được đo khi đánh
giá giá trị trung bình của các đối tượng trong cụm, nó có thể được quan sát như là
“trọng tâm” của cụm.
Giải thuật xử lý như sau: trước tiên nó lựa chọn ngẫu nhiên k đối tượng, mỗi đối
tượng đại diện cho một trung bình cụm hay tâm cụm. Đối với những đối tượng còn lại,
mỗi đối tượng sẽ được ấn định vào một cụm mà nó giống nhất dựa trên khoảng cách
giữa đối tượng và trung bình cụm. Sau đó sẽ tính lại trung bình cụm mới cho mỗi cụm.
Xử lý này sẽ được lặp lại cho tới khi hàm tiêu chuẩn hội tụ.
Sơ đồ mô tả thuật toán K-means:
14 | P a g e
Hình 3.1: Sơ đồ mô tả thuật toán K-means
− Đầu vào: số cụm k, tập ảnh cần phân cụm.
− Đầu ra: k cụm thỏa mãn yêu cầu.
− Bước 1: Khởi tạo.
Chọn ngẫu nhiên k tâm ban đầu trong tập ảnh. Mỗi cụm được đại diện bằng các tâm
của cụm.
− Bước 2: Tính toán khoảng cách.
Đối với mỗi điểm xi (1 ≤ i ≤ n), tính toán khoảng cách của nó tới mỗi trọng tâm mj (1
≤ j ≤ k). Sau đó tìm trọng tâm gần nhất đối với mỗi điểm và nhóm chúng vào các
nhóm gần nhất.

− Bước 3: Cập nhật lại trọng tâm.
Đối với mỗi 1≤ j ≤ k, cập nhật trọng tâm cụm mj bằng cách xác định trung bình cộng
các vectơ đối tượng dữ liệu.
− Bước 4: Gán lại các điểm gần trung tâm nhóm mới.
Nhóm các đối tượng vào nhóm gần nhất dựa trên trọng tâm của nhóm.
15 | P a g e
− Điều kiện dừng: Lặp lại các bước 2 và 3 cho đến khi các trọng tâm của cụm
không thay đổi.
Thuật toán k-means được chứng minh là hội tụ và có độ phức tạp tính toán là O(tkn)
với t là số lần lặp, k là số cụm, n là số đối tượng của tập dữ liệu vào. Thông thường
k<<n và t<<n thường kết thúc tại một điểm tối ưu cục bộ.
Tuy nhiên, nhược điểm của k-means là 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ệu 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.
Hình 3.2: Ví dụ các bước của thuật toán k-means
16 | P a g e
3.3. SƠ ĐỒ THUẬT TOÁN CHUNG
17 | P a g e
k cụm
tập P ảnh đầu vào
Khởi tạo tập trọng tâm cụm
Tam1 =random(P)
Tam2 lưu lại trọng tâm trước
=
Với mỗi ảnh đầu vào:
Tính D(ảnh(i), tâm(j))
Tìm min của D
Gán ảnh(i) vào Cụm(min)
Với mỗi ảnh đầu vào:

Chuyển ảnh về đa cấp xám,
giảm lược số màu
Gán Tam2=Tam1
Tính lại trọng tâm Tam1
Tam1<>Tam2
Xuất ra k
Cụm
Hình 3.2: Sơ đồ thuật toán.
18 | P a g e
3.4. KẾT QUẢ THỰC NGHIỆM
3.4.1. Công cụ sử dụng
− Ngôn ngữ sử dụng: C#
− Công cụ lập trình: Visual studio 2010
− Dữ liệu đầu vào:
• Số cụm k.
• Tập dữ liệu là file ảnh.
− Dữ liệu đầu ra: k cụm ảnh
3.4.2. Giao diện chính
Hình 3.4.2: Giao diện chính
19 | P a g e
3.4.3. Giao diện lựa chọn tập ảnh đầu vào
Hình 3.4.3: Giao diện lựa chọn tập ảnh đầu vào
3.4.4. Giao diện kết quả phân cụm
Hình 3.4.4: Giao diện kết quả phân cụm
20 | P a g e

×