Báo cáo xử lý ảnh Phân cụm ảnh C Cần demo Liên hệ facebook 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 Kmeans phân tích tập ảnh ban đầu thành các cum thỏa mãn.
Trang 1LỜ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
Trang 2LỜ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ử
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
Trang 3MỤ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
Trang 4DANH 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
Trang 5Hì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
Trang 6CHƯƠNG 1 TỔNG QUAN VỀ XỬ LÝ ẢNH1.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).
Trang 71.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
Trang 8cho 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
Trang 91.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ả
21 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: 28*3=224≈ 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
Trang 11Hì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
Trang 12Hì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
Trang 13Hình 1.5b: Ảnh đã được thêm chiếc áo
Hình 1.5c: Chiếc áo đã được thêm chữ
Trang 14Hình 1.5d: Người đàn ông đã có thêm bộ râuCHƯƠ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ó
Trang 15thể đượ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ở
− 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
Trang 162.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