- Đưa ra được một số thuật toán phân cụm dữ liệu phổ biến có trong phương pháp tách màu từ ảnh màu, đó là thuật toán K - means, Fuzzy C - means, Interval Type II Fuzzy C - means... Vì th
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2 KHOA CÔNG NGHỆ THÔNG TIN
*************
LÊ THANH DIỄM
CÁC PHƯƠNG PHÁP TÁCH MÀU
TỪ ẢNH MÀU VIẾT CHƯƠNG TRÌNH
THỬ NGHIỆM VỚI ẢNH 24 BIT
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
C u n n n o ọ m t n
HÀ NỘI – 2015
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2 KHOA CÔNG NGHỆ THÔNG TIN
*************
LÊ THANH DIỄM
CÁC PHƯƠNG PHÁP TÁCH MÀU
TỪ ẢNH MÀU VIẾT CHƯƠNG TRÌNH
THỬ NGHIỆM VỚI ẢNH 24 BIT
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
C u n n n o ọ m t n
N ười ướng dẫn khoa học ThS NGUYỄN MINH HIỀN
HÀ NỘI – 2015
Trang 3LỜI CẢM ƠN
Trong suốt thời gian học tập tại trường Đại học Sư phạm Hà Nội 2, em
đã nhận được rất nhiều sự quan tâm, giúp đỡ của quý thầy, cô giáo và bạn bè Với lòng biết ơn sâu sắc nhất, em xin gửi lời cảm ơn đến quý thầy, cô giáo khoa Công nghệ Thông tin đã truyền đạt những kiến thức, kinh nghiệm quý báu của mình cho sinh viên
Đặc biệt, em xin chân thành cảm ơn Th.s Nguyễn Minh Hiền, người
đã bỏ ra rất nhiều thời gian, công sức và nhiệt huyết để giảng dạy cho em nhiều điều, giúp đỡ cho em không chỉ về kiến thức mà còn cả về tinh thần để
em có thể hoàn thành luận văn tốt nghiệp này
Cuối cùng, em xin gửi lời cảm ơn chân thành đến gia đình và bạn bè, những người luôn ở bên cạnh giúp đỡ cho em
Đây là lần đầu tiên em làm một bài khóa luận tốt nghiệp nên không thể tránh được những sai sót vì vậy rất mong nhận được sự góp ý của quý thầy,
cô giáo và các bạn để em có thể hoàn thiện tốt bài khóa luận của mình
Hà Nội, tháng 4 năm 2015 Sinh viên
Lê Thanh Diễm
Trang 4LỜI CAM ĐOAN
Tên em là: LÊ THANH DIỄM
Sinh viên lớp: K37 – Tin học, khoa Công nghệ Thông tin, trường Đại học sư phạm Hà Nội 2
Em xin cam đoan:
Luận văn là công trình nghiên cứu của cá nhân, dưới sự hướng dẫn của
Thạc sĩ Nguyễn Minh Hiền
Em cũng xin cam đoan rằng số liệu và kết quả nghiên cứu trong khóa luận này là trung thực và không trùng lặp với các đề tài khác và các thông tin trích dẫn trong khóa luận đã được chỉ rõ nguồn gốc
Em xin chịu hoàn toàn trách nhiệm về nghiên cứu của mình
Người cam đoan
Lê Thanh Diễm
Trang 5MỤC LỤC
MỞ ĐẦU 1
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 4
1.1 Tổng quan về xử lý ảnh số 4
1.1.1 Giới thiệu về xử lí ảnh số 4
1.1.2 Điểm ảnh và quan hệ giữa các điểm ảnh 8
1.1.3 Biểu diễn ảnh trên máy tính 10
1.2 Mô hình màu 10
1.2.1 Mô hình màu RGB (Red - Green - Blue) 11
1.2.2 Biểu thức màu 13
1.3 Kỹ thuật phân cụm ảnh 15
1.3.1 Khái niệm về phân cụm 15
1.3.2 Các yêu cầu của phân cụm 17
1.3.3 Những kỹ thuật tiếp cận trong phân cụm dữ liệu 19
1.3.4 Một số độ đo trong phân cụm 22
1.3.5 Mục đích của phân cụm 23
1.3.6 Tổng quan về phân cụm mờ 23
CHƯƠNG 2: CÁC THUẬT TOÁN TÁCH MÀU TỪ ẢNH MÀU 26
2.1 Thuật toán K - means 26
2.1.1 Mô tả bài toán 26
2.1.2 Thuật toán 26
2.2 Thuật toán Fuzzy c - means 31
2.2.1 Cơ sở thuật toán 31
2.2.2 Thuật toán FCM 32
2.3 Thuật toán Interval TypeII fuzzy c - means 33
2.3.1 Cơ sở thuật toán 33
2.3.2 Thuật toán tìm tâm cụm: v v vj, R, L 35
2.3.3 Thuật toán Interval Type II Fuzzy C - means 36
Trang 6CHƯƠNG 3: CHƯƠNG TRÌNH THỬ NGHIỆM 37
3.1 Giới thiệu bài toán 37
3.2 Hướng giải quyết bài toán 37
3.2.1 Phương pháp chọn lớp màu tương đương 37
3.2.2 Phương pháp tách màu bằng thuật toán phân cụm 41
3.3 Lựa chọn ngôn ngữ cài đặt 46
3.4 Một số kết quả 48
3.4.1 Tách màu bằng phương pháp duyệt tuần tự 48
3.4.2 Tách màu bằng phương pháp K – means 50
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 53
TÀI LIỆU THAM KHẢO 54
Trang 7DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Quá trình xử lý ảnh 4
Hình 1.2 Các bước cơ bản trong một hệ thống xử lý ảnh 5
Hình 1.3 Minh họa về điểm ảnh 9
Hình 1.4 Lân cận các điểm ảnh của tọa độ (x, y) 9
Hình 1.5 Mô hình màu RGB 11
Hình 1.6 Ví dụ về không gian màu RGB 12
Hình 1.7 Sự cảm nhận cường độ sáng của mắt người 13
Hình 1.8 Biểu đồ màu CIE 14
Hình 1.9 Mô tả phân cụm dữ liệu 16
Hình 2.1 Mô tả của thuật toán K – means 27
Hình 2.2 Chọn các đối tượng và trọng tâm ban đầu 28
Hình 2.3 Cập nhật lại vị trí trọng tâm lần 1 29
Hình 2.4 Cập nhật lại vị trí trọng tâm lần 2 30
Hình 3.1 Ma trận điểm ảnh 38
Hình 3.2 “Vết dầu loang” 40
Hình 3.3 Tách màu từ điểm có R = 0, G = 0, B = 0, sai số 0 49
Hình 3.4 Tách màu từ điểm có R = 202, G = 56, B = 20, sai số 20 49
Hình 3.5 Tách màu từ điểm có R = 252, G = 180, B = 89, sai số 80 50
Hình 3.6 Tách màu từ điểm có R = 184, G = 44, B = 17, sai số 120 50
Hình 3.7 Tách màu bằng thuật toán K – means với số cụm là 2 51
Hình 3.8 Tách màu bằng thuật toán K – means với số cụm là 3 51
Hình 3.9 Tách màu bằng thuật toán K – means với số cụm là 4 52
Hình 3.10 Tách màu bằng thuật toán K – means với số cụm là 5 52
Trang 8cụ hữu ích cho rất nhiều ứng dụng khác nhau trên các lĩnh vực khác nhau
và nhất là lĩnh vực công nghệ thông tin
Việc nghiên cứu tách màu từ ảnh màu đóng vai trò cơ sở, nền tảng
để thực hiện các thao tác xử lý ảnh như nén ảnh, phân đoạn ảnh Trên thế giới đã xuất hiện các nghiên cứu tách màu sử dụng nhiều phương pháp khác nhau với nhiều thuật toán khác nhau song mỗi phương pháp đều có những ưu điểm và nhược điểm riêng tùy thuộc vào từng bài toán cụ thể Ở Việt Nam, đây vẫn là một lĩnh vực khá mới mẻ cần nhiều thời gian nghiên cứu để tìm ra phương pháp tách màu tối ưu nhất
Sau một thời gian tìm hiểu, nghiên cứu cùng với những kiến thức mà
em đã được các thầy, cô giáo trong khoa Công nghệ Thông tin trường Đại học
Sư phạm Hà Nội 2 trang bị, đặc biệt là được sự đồng ý của giảng viên hướng
dẫn, cô Nguyễn Minh Hiền, em đã chọn đề tài “Các phương pháp tách màu
từ ảnh màu Viết chương trình thử nghiệm với ảnh 24 bit” làm khóa
luận của mình
2 Mụ đ v n iệm vụ nghiên cứu
- Thấy được một số ứng dụng thực tế của tách màu trong khoa học và thực tiễn đời sống
- Đưa ra được một số thuật toán phân cụm dữ liệu phổ biến có trong phương pháp tách màu từ ảnh màu, đó là thuật toán K - means, Fuzzy C -
means, Interval Type II Fuzzy C - means
Trang 92
- Chỉ ra được một số phương pháp tách màu: Tách màu bằng phương pháp chọn lớp màu tương đương và tách màu bằng phương pháp phân cụm
- Dựa trên các thuật toán và phương pháp đã nghiên cứu viết chương trình thử nghiệm với ảnh 24 bit
3 P ươn p p n i n ứu
Phương pháp nghiên cứu lý luận:
Nghiên cứu qua việc đọc sách, báo và các tài liệu liên quan nhằm xây dựng cơ sở lý thuyết của đề tài và các biện pháp cần thiết để giải quyết các vấn đề của đề tài
Phương pháp chuyên gia:
Tham khảo ý kiến của các chuyên gia để có thể thiết kế chương trình phù hợp với yêu cầu thực tiễn Nội dung xử lý nhanh đáp ứng được yêu cầu ngày càng cao của người sử dụng
Phương pháp thực nghiệm:
Thông qua quan sát thực tế, yêu cầu của cơ sở, những lý luận được nghiên cứu và kết quả đạt được qua những phương pháp trên
4 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu:
Đối tượng nghiên cứu là ảnh màu và các phương pháp tách màu từ ảnh màu
Phạm vi nghiên cứu:
Nói tới tách màu là một thao tác ở mức thấp trong cả một quá trình
xử lý ảnh nhưng nó lại có phạm vi lớn bởi có rất nhiều thuật toán khác nhau Khóa luận chỉ tìm hiểu trong phạm vi một số thuật toán và phương pháp đơn giản
5 Ý n ĩ k o ọc và thực tiễn củ đề tài
- 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
Trang 103
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 Do đó, các kỹ thuật, thuật giải mới thực hiện việc tách ảnh trên ảnh màu liên tục được phát triển để đáp ứng các nhu cầu mới
- Ứng dụng thực tế nhất trong việc in ấn, photoshop hay xa hơn là nhận dạng (nhận dạng trong điều tra tội phạm, nhận dạng vết bớt trên cơ
thể người)
6 Cấu trúc khóa luận
Ngoài phần mở đầu, kết luận và hướng phát triển thì cấu trúc khóa luận gồm có các phần sau:
C ươn 1 Cơ sở lý thuyết
Chương này giới thiệu tổng quan về xử lý ảnh số, mô hình màu và kĩ thuật phân cụm ảnh
C ươn 2: Các thuật toán tách màu từ ảnh màu
Chương này trình bày một số thuật toán tách màu của kĩ thuật phân cụm đó là K - means, Fuzzy C - means và Interval Type II Fuzzy C - means
C ươn 3 Viết ươn trìn t ử nghiệm
Chương này trình bày hai phương pháp tách màu từ ảnh màu đó là phương pháp chọn lớp màu tương đương và phương pháp phân cụm, trên cơ
sở đó viết chương trình thử nghiệm với ảnh 24 bit
Trang 11Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho ra kết quả mong muốn Kết quả đầu ra của một quá trình xử lý ảnh
có thể là một ảnh “tốt hơn” hoặc một kết luận
Hình 1.1 Quá trình xử lý ảnh
Từ “tốt hơn” ở đây mang ý nghĩa rằng ảnh sau khi xử lý sẽ đi theo đúng
ý đồ của chúng ta, tùy trường hợp mà ta sẽ dùng những thuật toán nào để xử
lý ảnh
Xử lý ảnh là một môn khoa học tương đối mới mẻ so với các ngành khoa học khác, nhất là trên quy mô rộng lớn Tuy nhiên trong xử lý ảnh đã bắt đầu xuất hiện hệ thống chuyên dụng dành riêng cho công tác xử lý ảnh, cũng như đã xuất hiện nhiều hệ thống ứng dụng kết quả của hệ thống xử lý ảnh để đáp ứng nhu cầu cho hệ thống đó
Để 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 (Camera, máy chụp ảnh) Trước đây, ảnh thu qua camera là các ảnh tương tự (Camera
Ảnh “tốt hơn”
Kết luận
Trang 125
ống kiểu CCIR) Gần đây, với sự phát triển của công nghệ, ảnh màu hoặc đen trắng được lấy ra từ camera, sau đó nó được chuyển trực tiếp thành ảnh số tạo thuận lợi cho xử lý tiếp theo (Máy ảnh số hiện nay là một thí dụ gần gũi) Mặt khác, ảnh cũng có thể tiếp nhận từ vệ tinh; có thể quét từ ảnh chụp bằng máy quét ảnh Hình 1.2 mô tả các bước cơ bản trong xử lý ảnh
Hình 1.2 Các bước cơ bản trong một hệ thống xử lý ảnh
Sơ đồ này bao gồm các thành phần sau:
- Phần thu nhận ảnh:
Ảnh có thể nhận qua camera màu hoặc đen trắng Thường ảnh nhận qua camera là ảnh tương tự (Loại camera ống chuẩn với tần số 1/25, mỗi ảnh 25 dòng), cũng có loại camera đã số hoá (Loại CCD - Change Coupled Device)
là loại photodiot tạo cường độ sáng tại mỗi điểm ảnh
Camera thường dùng là loại quét dòng, ảnh tạo ra có dạng hai chiều Chất lượng một ảnh thu nhận được phụ thuộc vào thiết bị thu, vào môi trường (Ánh sáng, phong cảnh)
- Tiền xử lý:
Sau bộ thu nhận, ảnh có thể nhiễu độ 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 Chức năng chính 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
Tiền xử
lý
Phân đoạn ảnh
Biểu diễn
và mô tả
Nhận dạng và nội suy Thu nhận
Cơ sở tri thức
Trang 136
- P ân đoạn hay phân vùng ảnh:
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 Ví dụ: Để nhận dạng chữ hoặc mã vạch trên phong bì thư cho mục đích phân loại bưu phẩm, cần chia các câu, chữ về địa chỉ hoặc tên người thành các từ, các chữ, các số hoặc các vạch riêng biệt
để nhận dạng Đâ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ả nhận dạng ảnh phụ thuộc rất nhiều vào công đoạn này
- Biểu diễn ảnh:
Đầu ra ảnh sau phân đoạn chứa các điểm ảnh của vùng ảnh 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 cho 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 gắn với việc tách các đặc tính của ảnh dưới dạng các thông tin định lượng hoặc làm cơ sở để phân biệt lớp đối tượng này với đối tượng khác trong phạm vi ảnh nhận được Ví dụ: Trong nhận dạng ký tự trên phong bì thư, chúng ta miêu tả các đặc trưng của từng ký
tự giúp phân biệt ký tự này với ký tự khác
- Nhận dạng và nội suy ảnh:
Nhận dạng ảnh là quá trình xác định ảnh Quá trình này thường thu được bằng cách so sánh với mẫu chuẩn đã được học từ trước Nội suy là phán đoán theo ý nghĩa trên cơ sở nhận dạng Ví dụ: Một loạt chữ số và nét gạch ngang trên phong bì thư có thể được nội suy thành mã điện thoại Có nhiều cách phân loại ảnh khác nhau về ảnh Theo lý thuyết về nhận dạng, các mô hình toán học về ảnh được phân theo hai loại nhận dạng ảnh cơ bản:
+ Nhận dạng theo tham số
+ Nhận dạng theo cấu trúc
Một số đối tượng nhận dạng khá phổ biến hiện nay đang được áp dụng trong khoa học và công nghệ là: Nhận dạng ký tự (Chữ in, chữ viết tay, chữ
Trang 14- Mô tả (Biểu diễn ảnh):
Từ hình 1.2, ảnh sau khi số hoá sẽ được lưu vào bộ nhớ, hoặc chuyển sang các khâu tiếp theo để 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ớ cực 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 đặc tả lại hay đơn giản là mã hoá theo các đặc điểm của ảnh được gọi là các đặc trưng ảnh như: Biên ảnh (Boundary), vùng ảnh (Region) Một số phương pháp biểu diễn thường dùng:
+ Biểu diễn bằng mã chạy (Run - length code)
+ Biểu diễn bằng mã xích (Chaine - code)
+ Biểu diễn bằng mã tứ phân (Quad - tree code)
Biểu diễn bằng mã chạy:
Phương pháp này thường biểu diễn cho vùng ảnh và áp dụng cho ảnh nhị phân Một vùng ảnh R có thể mã hoá đơn giản nhờ một ma trận nhị phân:
U(m, n) = 1 nếu (m, n) thuộc R
U(m, n) = 0 nếu (m, n) không thuộc R
Trong đó: U(m, n) là hàm mô tả mức xám ảnh tại tọa độ (m, n).Với cách biểu diễn trên, một vùng ảnh được mô tả bằng một tập các chuỗi số 0 hoặc 1 Giả sử chúng ta mô tả ảnh nhị phân của một vùng ảnh được thể hiện
Trang 158
theo toạ độ (x, y) theo các chiều và đặc tả chỉ đối với giá trị “1” khi đó dạng
mô tả có thể là: (x, y) r; trong đó (x, y) là toạ độ, r là số lượng các bit có giá trị “1” liên tục theo chiều ngang hoặc dọc
Biểu diễn bằng mã xích:
Phương pháp này thường dùng để biểu diễn đường biên ảnh Một đường bất kỳ được chia thành các đoạn nhỏ Nối các điểm chia, ta có các đoạn thẳng kế tiếp được gán hướng cho đoạn thẳng đó tạo thành một dây xích gồm các đoạn Các hướng có thể chọn 4, 8, 12, 24,… mỗi hướng được mã hoá theo số thập phân hoặc số nhị phân thành mã của hướng
Biểu diễn bằng mã tứ phân:
Phương pháp mã tứ phân được dùng để mã hoá cho vùng ảnh Vùng ảnh đầu tiên được chia làm bốn phần thường là bằng nhau Nếu mỗi vùng đã đồng nhất (Chứa toàn điểm đen (1) hay trắng (0)), thì gán cho vùng đó một
mã và không chia tiếp Các vùng không đồng nhất được chia tiếp làm bốn phần theo thủ tục trên cho đến khi tất cả các vùng đều đồng nhất Các mã phân chia thành các vùng con tạo thành một cây phân chia các vùng đồng nhất
1.1.2 Điểm ảnh và quan hệ giữ điểm ảnh
a Điểm ảnh
Gốc của ảnh là ảnh liên tục về không gian và độ sáng Để xử lý bằng máy tính ảnh cần phải được số hoá Số hoá ảnh là sự biến đổi gần đúng một ảnh liên tục thành một tập điểm phù hợp với ảnh thật về vị trí (Không gian) và
độ sáng (Mức xám) Khoảng cách giữa các điểm ảnh đó được thiết lập sao cho mắt người không phân biệt được ranh giới giữa chúng Mỗi một điểm tùy
ý như vậy gọi là điểm ảnh hay gọi tắt là pixel Trong khuôn khổ ảnh hai chiều, mỗi pixel ứng với tọa độ (x,y)
Điểm ảnh là một phần tử của ảnh số tại tọa độ (x,y) với độ xám hoặc màu nhất định Kích thước và khoảng cách giữa các điểm ảnh đó được chọn thích hợp sao cho mắt người cảm nhận được sự liên tục về không gian và mức
Trang 169
xám hoặc màu của ảnh số gần như thật Mỗi phần tử trong ma trận được gọi là một phần tử ảnh
Hình 1.3 Minh họa về điểm ảnh
b Quan hệ giữ điểm ảnh
Một ảnh số giả sử được biểu diễn bằng hàm f(x,y) Tập con các điểm ảnh là S; cặp điểm ảnh có quan hệ với nhau ký hiệu là p, q Chúng ta có một
số khái niệm sau:
- Các lân cận củ điểm ảnh (Image neighbors):
x Nam
y
Bắc
Hình 1.4 Lân cận các điểm ảnh của tọa độ (x, y)
Giả sử có điểm ảnh p tại tọa độ (x, y), p có 4 điểm lân cận gần nhất theo chiều đứng và chiều ngang (Có thể coi như lân cận 4 hướng chính Đông, Tây, Nam, Bắc)
(x – 1, y – 1) (x, y – 1) (x + 1, y – 1)(x – 1, y) (x, y) (x + 1, y) (x – 1, y + 1) (x, y + 1) (x + 1, y + 1)
Trang 1710
{(x - 1, y); (x, y - 1); (x, y + 1); (x + 1, y)} = N4(p)
Trong đó: số 1 là giá trị logic; N4(p) tập 4 điểm lân cận của p
- Các lân cận chéo:
Các điểm lân cận chéo Np(p) (Có thể coi lân cận chéo là 4 hướng
Đông/Nam, Đông/Bắc, Tây/Nam, Tây/Bắc)
đi kèm tạo nên một hình ảnh nào đó
Mỗi điểm ảnh có thể được biểu diễn bằng n bytes dưới các hệ màu khác nhau (RGB, HSV, YCrCb,…) Việc chuyển đổi giữa các hệ màu thông thường được thực hiện thông qua các phép biến đổi ma trận Trong bài này
em sẽ giới thiệu các phương thức chuyển đổi từ ảnh 24 bit RGB, sở dĩ chọn ảnh 24 bit RGB là vì trong máy tính, ảnh được hiểu dưới dạng không gian màu RGB (Không gian màu số nguyên) Các bạn có thể xem màu điểm ảnh bất kì bằng photoshop hay paint
1.2 Mô hình màu
Phân tích ảnh liên quan đến việc xác định các số đo định lượng của ảnh
để đưa ra một mô tả đầy đủ về ảnh Các kỹ thuật được sử dụng ở đây nhằm mục đích xác định biên của ảnh, phân vùng ảnh, Có nhiều kỹ thuật khác nhau được sử dụng để tách biên ảnh như: Tách biên dựa vào lọc vi phân, dò biên theo quy hoạch động, Tương tự cũng có nhiều kỹ thuật phân vùng ảnh
Trang 1811
Từ ảnh thu được, người ta tiến hành các kỹ thuật tách hay hợp dựa theo các
tiêu chuẩn đánh giá như: Màu sắc, cường độ xám,
1.2.1 Mô hình màu RGB (Red - Green - Blue)
Có thể nói đây là mô hình màu thông dụng nhất bao gồm ba màu: Red, Green và Blue Tổ hợp của các màu này tạo nên tập các màu khác Cấu trúc
mô hình màu này được mô tả như hình 1.5
Hình 1.5 Mô hình màu RGB
Khi thay đổi giá trị Red(R), Green(G), hay Blue(B) ta sẽ được một màu khác Giá trị của R, G, B dao động từ 0 - 255, tức là 256 giá trị, vừa bằng 28,
vì vậy trong máy người ta dùng 1 byte để biểu diễn một giá trị màu R, hoặc
G, hoặc B Vậy gọi là ảnh 24 bit RGB là vì 3 giá trị màu là 3 byte, mỗi byte là
8 bit vậy ta có 3 x 8 = 24 bit
Lưu ý: Trong thực tế, không phải lúc nào thứ tự của 3 bytes trong 1 điểm ảnh cũng là R - G - B, đôi khi thứ tự này có thể là B - G - R
Trang 1912
Hình 1.6 Ví dụ về không gian màu RGB
Có tám tính chất cơ bản quyết định hỗn hợp của ba màu:
1 Một điểm màu tổng hợp thì độc lập đối với độ sáng trên một phạm vi rộng
2 Độ sáng của một hỗn hợp các màu là tổng của các độ sáng riêng lẻ
3 Bất kỳ một màu nào cũng đƣợc tạo ra bởi một hỗn hợp không nhiều hơn ba màu thành phần
7 Các màu kết hợp tuân theo luật trừ
8 Các màu kết hợp tuân theo luật bắc cầu Nếu C1 kết hợp C2 và C2 kết hợp C3 thì C1 kết hợp với C3
Trang 2013
1.2.2 Biểu t ứ m u
Các màu riêng RGB: Đỏ (Red), lục (Green), lam (Blue) là các màu riêng vật lý đƣợc dùng trong các thí nghiệm vật lý thực sự Các màu riêng này không phải là duy nhất và ta có thể dùng các màu riêng khác để thay thế Vào năm 1938, CIE đã đƣa ra một tập các màu riêng không vật lý, ký hiệu là X, Y,
Z Cải tiến chính trong tập màu này là độ sáng đƣợc đƣa ra trực tiếp nhƣ là một màu riêng (Y) Y sẽ cho ta mức xám từ ảnh màu Các màu riêng này đƣợc rút ra từ các màu riêng vật lý theo biến đổi tuyến tính cho bởi:
X = 2.7690R + 1.7518G + 1.1300B
Y = 1.0000R + 4.5907G + 0.0601B
Z = 0.0000R + 0.0565G + 5.5943B
Hình 1.7 Sự cảm nhận cường độ sáng của mắt người
Các biểu thức này là đúng cho bất kỳ màu nào Dựa trên các X, Y, Z sơ
đồ màu CIE đã đƣợc phát triển Sơ đồ này là một không gian biểu diễn cho tất
cả các màu có phổ và tổng hợp của chúng nhƣ hình 1.7 Toạ độ màu rút ra từ:
Trang 21Trong sơ đồ CIE một loạt các màu có phổ được cho dọc theo đường cong, các góc biểu diễn cho ba màu riêng: Đỏ, lục, và lam Gần trung tâm của miền nằm trong tam giác các màu trở nên ít bão hoà hơn, biểu diễn cho hỗn hợp màu Màu trắng nằm tại điểm trung tâm w với toạ độ x = y = 0,3333
Sơ đồ màu trên chứa các màu với cùng một độ sáng Nếu độ sáng của màu được cho bởi giá trị của z tại góc bên phải của mặt phẳng x - y, tất cả các màu với độ sáng của nó sẽ có dạng như hình 1.7 Nếu độ sáng tăng lên, sơ đồ màu sẽ trở nên rộng hơn và sẽ có nhiều chi tiết màu trông thấy Tại các mức
Đỏ tươi Các sắc màu khác
(G) (G')
.
0.6 0.5
0.4 0.3
0.2 0.1
Bước sóng
y
Trang 22dữ liệu là một ví dụ của phương pháp học không có thầy
Không giống như phân lớp dữ liệu, phân cụm dữ liệu không đòi hỏi phải định nghĩa trước các mẫu dữ liệu huấn luyện Vì thế, có thể coi phân cụm dữ liệu là một cách học bằng quan sát, trong khi phân lớp dữ liệu là học bằng ví dụ… Ngoài ra phân cụm dữ liệu còn có thể được sử dụng như một bước tiền xử
lý cho các thuật toán khai phá dữ liệu khác như là phân loại và mô tả đặc điểm,
có tác dụng trong việc phát hiện ra các cụm
Phân cụm có ý nghĩa rất quan trọng trong hoạt động của con người Ngay từ lúc bé, con người đã học cách làm thế nào để phân biệt giữa mèo và chó, giữa động vật và thực vật và liên tục đưa vào sơ đồ phân loại trong tiềm thức của mình Phân cụm được sử dụng rộng rãi trong nhiều ứng dụng, bao gồm nhận dạng mẫu, phân tích dữ liệu, xử lý ảnh, nghiên cứu thị trường Với
tư cách là một chức năng khai phá dữ liệu, phân tích phân cụm có thể được sử dụng như một công cụ độc lập chuẩn để quan sát đặc trưng của mỗi cụm thu được bên trong sự phân bố của dữ liệu và tập trung vào một tập riêng biệt của các cụm để giúp cho việc phân tích đạt kết quả
Một vấn đề thường gặp trong phân cụm là hầu hết các dữ liệu cần cho phân cụm đều có chứa dữ liệu nhiễu do quá trình thu thập thiếu chính xác hoặc thiếu đầy đủ, vì vậy cần phải xây dựng chiến lược cho bước tiền xử lí dữ liệu nhằm khắc phục hoặc loại bỏ nhiễu trước khi chuyển sang giai đoạn phân tích cụm dữ liệu Nhiễu ở đây được hiểu là các đối tượng dữ liệu không chính xác, không tường minh hoặc là các đối tượng dữ liệu khuyết thiếu thông tin
Trang 2316
về một số thuộc tính Một trong các kỹ thuật xử lí nhiễu phổ biến là việc thay thế giá trị các thuộc tính của đối tượng nhiễu bằng giá trị thuộc tính tương ứng Ngoài ra, dò tìm phần tử ngoại lai cũng là một trong những hướng nghiên cứu quan trọng trong phân cụm, chức năng của nó là xác định một nhóm nhỏ các đối tượng dữ liệu khác thường so với các dữ liệu trong cơ sở dữ liệu, tức là các đối tượng dữ liệu không tuân theo các hành vi hoặc mô hình dữ liệu nhằm tránh sự ảnh hưởng của chúng tới quá trình và kết quả của phân cụm Mục tiêu của phân cụm là xác định được bản chất nhóm trong tập dữ liệu chưa có nhãn Nhưng để có thể quyết định được cái gì tạo thành một cụm tốt, nó
có thể chỉ ra rằng không có tiêu chuẩn tuyệt đối “tốt” mà có thể không phụ thuộc vào kết qủa phân cụm Vì vậy, nó đòi hỏi người sử dụng phải cung cấp tiêu chuẩn này theo cách mà kết quả phân cụm sẽ đáp ứng yêu cầu
Quá trình phân chia một tập dữ liệu ban đầu thành các cụm dữ liệu thỏa mãn:
- Các đối tượng trong một cụm “tương tự” nhau
- Các đối tượng khác cụm thì “không tương tự” nhau
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 có nhãn
Hình 1.9 Mô tả phân cụm dữ liệu
Trang 2417
Nếu X là một tập các điểm dữ liệu, Ci là cụm thứ i
Ta có :
1.3.2 Các yêu cầu của phân cụm
Phân cụm là một thách thức trong lĩnh vực nghiên cứu ở chỗ những ứng dụng tiềm năng của chúng được đưa ra ngay chính trong những yêu cầu đặc biệt của chúng Sau đây là những yêu cầu cơ bản của phân cụm trong khai phá dữ liệu:
- Có khả năn mở rộng:
Nhiều thuật toán phân cụm làm việc tốt với những tập dữ liệu nhỏ chứa
ít hơn 200 đối tượng, tuy nhiên, một cơ sở dữ liệu lớn có thể chứa tới hàng triệu đối tượng Việc phân cụm với một tập dữ liệu lớn có thể làm ảnh hưởng tới kết quả Vậy làm cách nào để chúng ta có thể phát triển các thuật toán phân cụm có khả năng mở rộng cao đối với các cơ sở dữ liệu lớn
- Khả năn t n i với các kiểu thuộc tính khác nhau:
Nhiều thuật toán được thiết kế cho việc phân cụm dữ liệu có kiểu khoảng (Kiểu số) Tuy nhiên, nhiều ứng dụng có thể đòi hỏi việc phân cụm với nhiều kiểu dữ liệu khác nhau, như kiểu nhị phân, kiểu tường minh (Định danh - không thứ tự), và dữ liệu có thứ tự hay dạng hỗn hợp của những kiểu
dữ liệu này
- Khám phá các cụm với hình dạng bất kỳ:
Nhiều thuật toán phân cụm xác định các cụm dựa trên các phép đo khoảng cách Euclidean và khoảng cách Manhattan Các thuật toán dựa trên các phép đo như vậy hướng tới việc tìm kiếm các cụm hình cầu với mật độ và kích cỡ tương tự nhau Tuy nhiên, một cụm có thể có bất cứ một hình dạng nào Do đó, việc phát triển các thuật toán có thể khám phá ra các cụm có hình dạng bất kỳ là một việc làm quan trọng
- Tối thiểu lượng tri thức cần o x định các tham số đầu vào:
Nhiều thuật toán phân cụm yêu cầu người dùng đưa vào những tham
j
k ngoailai i
Trang 2518
số nhất định trong phân tích phân cụm Kết quả của phân cụm thường khá nhạy cảm với các tham số đầu vào Nhiều tham số rất khó đế xác định, nhất là với các tập dữ liệu có lượng các đối tượng lớn Điều này không những gây trở ngại cho người dùng mà còn làm cho khó có thể điều chỉnh được chất lượng của phân cụm
- Khả năn t n i với dữ liệu nhiễu:
Hầu hết những cơ sở dữ liệu thực đều chứa đựng dữ liệu ngoại lai, dữ liệu lỗi, dữ liệu chưa biết hoặc dữ liệu sai Một số thuật toán phân cụm nhạy cảm với dữ liệu như vậy và có thể dẫn đến chất lượng phân cụm thấp
- Ít nhạy cảm với thứ tự của các dữ liệu vào:
Một số thuật toán phân cụm nhạy cảm với thứ tự của dữ liệu vào, ví dụ như với cùng một tập dữ liệu, khi được đưa ra với các thứ tự khác nhau thì với cùng một thuật toán có thể sinh ra các cụm rất khác nhau Do đó, việc quan trọng là phát triển các thuật toán mà ít nhạy cảm với thứ tự vào của dữ liệu
số chiều lớn, đặc biệt vì khi xét những không gian với số chiều lớn có thể rất thưa và có độ nghiêng lớn
- Phân cụm ràng buộc:
Nhiều ứng dụng thực tế có thể cần thực hiện phân cụm dưới các loại ràng buộc khác nhau Một nhiệm vụ đặt ra là đi tìm những nhóm dữ liệu có trạng thái phân cụm tốt và thỏa mãn các ràng buộc
- Dễ hiểu và dễ sử dụng:
Người sử dụng có thể chờ đợi những kết quả phân cụm dễ hiểu, dễ lý giải và dễ sử dụng Nghĩa là, sự phân cụm có thể cần được giải thích ý nghĩa
Trang 2619
và ứng dụng rõ ràng
Với những yêu cầu đáng lưu ý này, nghiên cứu của ta về phân tích phân cụm diễn ra như sau: Đầu tiên, ta nghiên cứu các kiểu dữ liệu khác và cách chúng có thể gây ảnh hưởng tới các phương pháp phân cụm Thứ hai, ta đưa
ra một cách phân loại chung trong các phương pháp phân cụm Sau đó, ta nghiên cứu chi tiết mỗi phương pháp phân cụm, bao gồm các phương pháp phân hoạch, phân cấp, dựa trên mật độ, Ta cũng khảo sát sự phân cụm trong không gian đa chiều và các biến thể của các phương pháp khác
1.3.3 Những kỹ thuật tiếp cận trong phân cụm dữ liệu
Các kỹ thuật phân cụm có rất nhiều cách tiếp cận và các ứng dụng trong thực tế, nó đều hướng tới hai mục tiêu chung đó là chất lượng của các cụm khám phá được và tốc độ thực hiện của thuật toán Hiện nay, các kỹ thuật phân cụm có thể phân loại theo các cách tiếp cận chính sau:
- P ươn p p p ân ụm phân hoạch:
Kỹ thuật này 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ệ 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ệ 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 Các thuật toán phân hoạch dữ liệu có độ phức tạp rất lớn khi xác định nghiệm tối ưu toàn cục cho vấn đề phân cụm dữ liệu, do nó phải tìm kiếm tất cả các cách phân hoạch có thể được Chính vì vậy, trên thực tế thường đi tìm giải pháp tối ưu cục bộ cho vấn đề này bằng cách sử dụng một hàm tiêu chuẩn để đánh giá chất lượng của cụm cũng như
để hướng dẫn cho quá trình tìm kiếm phân hoạch dữ liệu Như vậy, ý tưởng chính của thuật toán phân cụm phân hoạch tối ưu cục bộ là sử dụng chiến
Trang 2720
lược ăn tham (Greedy) để tìm kiếm nghiệm
- P ươn p p p ân ụm phân cấp:
Phương pháp này 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
Thực tế áp dụng, có nhiều trường hợp kết hợp cả hai phương pháp phân cụm phân hoạch và phân cụm phân cấp, nghĩa là kết quả thu được của phương pháp phân cấp có thể cải tiến thông qua bước phân cụm phân hoạch Phân cụm phân hoạch và phân cụm phân cấp là hai phương pháp phân cụm dữ liệu
cổ điển, hiện đã có rất nhiều thuật toán cải tiến dựa trên hai phương pháp này
đã được áp dụng phổ biến trong khai phá dữ liệu
- P ươn p p p ân ụm dựa trên mật độ:
Kỹ thuật này 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ỳ Kỹ thuật này có thể khắc phục được các phần tử ngoại lai hoặc giá trị nhiễu rất tốt, tuy nhiên việc xác định các tham số mật độ của thuật toán là rất khó khăn, trong khi các tham số
này lại có tác động rất lớn đến kết quả phân cụm
- P ươn p p p ân ụm dự tr n lưới:
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
Trang 2821
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 Cách tiếp cận dựa trên lưới này không di chuyển các đối tượng trong các ô mà xây dựng nhiều mức phân cấp của nhóm các đối tượng trong một ô Phương pháp này gần giống với phương pháp phân cụm phân cấp nhưng chúng không trộn các ô, đồng thời giải quyết khắc phục yêu cầu đối với dữ liệu nhiều chiều mà phương pháp phân phân cụm dựa trên mật
độ không giải quyết được Ưu điểm của phương pháp phân cụm dựa trên lưới
là thời gian xử lí nhanh và độc lập với số đối tượng dữ liệu trong tập dữ liệu ban đầu, thay vào đó là chúng phụ thuộc vào số ô trong mỗi chiều của không gian lưới
- P ươn p p p ân ụm dựa trên mô hình:
Phương pháp 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 Phương pháp phân cụm dựa trên mô hình cố gắng khớp giữa các dữ liệu với mô hình toán học, nó dựa trên giả định rằng dữ liệu được tạo ra bằng hỗn hợp phân phối xác suất cơ bản Các thuật toán phân cụm dựa trên mô hình có hai cách tiếp cận chính: Mô
hình thống kê và mạng nơron Phương pháp này gần giống với phương pháp
phân cụm dựa trên mật độ, vì chúng phát triển các cụm riêng biệt nhằm cải tiến các mô hình đã được xác định trước đó, nhưng đôi khi nó không bắt đầu với một số cụm cố định và không sử dụng cùng một khái niệm mật độ cho các cụm
- P ươn p p p ân ụm có dữ liệu ràng buộc:
Sự phát triển của phân cụm dữ liệu không gian trên cơ sở dữ liệu lớn đã cung cấp nhiều công cụ tiện lợi cho việc phân tích thông tin địa lí, tuy nhiên hầu hết các thuật toán này cung cấp rất ít cách thức cho người dùng để xác
Trang 2922
định các ràng buộc trong thế giới thực cần phải được thỏa mãn trong quá trình phân cụm Để phân cụm dữ liệu không gian hiệu quả hơn, các nghiên cứu bổ sung cần được thực hiện để cung cấp cho người dùng khả năng kết hợp các ràng buộc trong thuật toán phân cụm
Hiện nay, các phương pháp phân cụm trên đã và đang được phát triển
và áp dụng nhiều trong các lĩnh vực khác nhau và đã có một số nhánh nghiên cứu được phát triển trên cơ sở của các phương pháp đó như:
+ 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ử dụ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
1.3.4 Một số độ đo tron p ân ụm
Đây chính là cơ sở để xác định các đối tượng “tương tự” hay “không tương tự”
Trang 30xã/phường để gửi thư Đó chính là một ứng dụng của bài toán phân cụm rõ
Vậy bài toán phân cụm rõ là gì?
Ta có thể định nghĩa bài toán phân cụm rõ như sau: Cho tập dữ liệu mẫu X, ta kiểm tra các điểm dữ liệu xem nó giống với đặc điểm của nhóm nào nhất thì ta gán điểm dữ liệu đó vào trong nhóm đó Nhưng trong thực tế không phải lúc nào bài toán phân cụm rõ cũng áp dụng được Chẳng hạn, ta
có phép phân loại sau: Những người đi xe máy xịn thì thuộc nhóm người giàu, những người đi xe máy thường thuộc nhóm người bình dân Vậy người nghèo mà đi xe máy xịn thì chúng ta xếp người đó vào nhóm nào? Vì vậy,
chúng ta cần đưa vào khái niệm bài toán phân cụm mờ
Trong các phương pháp phân cụm, mỗi phương pháp phân cụm phân hoạch một tập dữ liệu ban đầu thành các cụm dữ liệu có tính tự nhiên và mỗi đối tượng dữ liệu chỉ thuộc về một cụm dữ liệu, phương pháp này chỉ phù hợp với việc khám phá ra các cụm có mật độ cao và rời nhau, với đường biên giữa các cụm được xác định tốt Tuy nhiên, trong thực tế, đường biên giữa các cụm
có thể mờ, các cụm có thể chồng lên nhau, nghĩa là một số các đối tượng dữ liệu thuộc về nhiều các cụm khác nhau, do đó mô hình này không mô tả được
dữ liệu thực Vì vậy người ta đã áp dụng lý thuyết về tập mờ trong phân cụm