Bài toán phân cụm ảnh

Một phần của tài liệu Sử dụng mạng noron cho phân cụm dữ liệu và ứng dụng (LV01137) (Trang 60)

3.1.1 Giới thiệu

Màu sắc là một loại dữ liệu tự nhiên và tập hợp của chúng tạo nên thế

giới mà ta quan sát được bằng mắt. Trong quá trình phát triển công nghệ, con

người đã liên tục mã hóa và sử dụng màu sắc trong máy tính ngày một nhiều

hơn. Khi dữ liệu đa phương tiện bùng nổ thì màu sắc cũng theo đó trở thành

một loại dữ liệu phổ biến và thông dụng bậc nhất trong kho dữ liệu của con

người. Trong bài toán này chỉ lấy ví dụ minh họa về phân cụm màu sắc cho

khả năng của mạng SOM cho sự phân loại dữ liệu tự nhiên. Đối tượng mang

cụ thể cho loại dữ liệu này là ảnh số. Một loại dữ liệu phổ biến từ khi máy

tính phát triển và đồng hành cùng con người.

Ảnh số là một ma trận các điểm ảnh và như vậy các đối tượng trong

ảnh số cũng sẽ được mô tả bởi một tập các điểm ảnh. Vậy màu sắc là một cơ

sở đơn giản giúp chúng ta có thể phân cụm được những điểm ảnh của cùng

một đối tượng có trên ảnh số. Xét chi tiết trên mỗi điểm ảnh (Pixel) là những

kiểu dữ liệu đặc trưng cho màu sắc. Trong ảnh nhị phân chỉ có 2 màu đen

trắng, trong ảnh đa cấp xám có 256 cấp xám tương ứng với 256 màu, trong

ảnh định dạng thông thường được sử dụng rộng rãi hiện nay mỗi điểm ảnh là

sự kết hợp của 3 màu Red, Green, Blue (định dạng RGB), như vậy có

256*256*256=16777216 màu sắc khác nhau. Nhiệm vụ đặt ra là phân biệt các

tập điểm ảnh cùng màu và chỉ ra sự tương đồng về màu sắc giữa chúng. Đây

là cơ sở cho quá trình nhận dạng các phân vùng đối tượng ảnh dựa theo màu

sắc và việc phát triển này hướng tới khả năng phân cụm đối tượng và tách

chúng ra khỏi ảnh để thực hiện quá trình tiếp theo là nhận dạng đối tượng trên

Trong ảnh màu thông tin về các đối tượng là đầy đủ và màu sắc là cơ sở

chủ yếu để phân định giữa các đối tượng. Vì lý do đó mà việc phân loại các

đối tượng trên ảnh sẽ dựa trên sự biến thiên về màu của các vùng đối tượng.

Từ đó đòi hỏi một giải thuật xử lý được những dữ liệu màu sắc và phân loại

chúng một các chính xác. Tuy nhiên việc kết hợp của 3 màu cơ bản là Red,

Green, Blue lại tạo vô số màu sắc khác nhau. Đây là nguyên nhân cho việc

ứng dụng mạng SOM vào việc phân cụm dữ liệu trên ảnh số, mạng này có

khả năng xác định những mối quan hệ giữa những điểm ảnh và phân chúng

vào những nhóm hợp lý.

3.1.2. SOM cho phân cụm ảnh

Thiết kế mạng

Mạng SOM gồm 2 lớp nơron: một lớp đầu vào và một lớp Kohonen.

Mỗi một nơron được thiết kế với mục đích phân cụm dữ liệu trên ảnh số và

đơn vị cho các đầu vào là các điểm ảnh ở định dạng RGB. Vì vậy mỗi nơron

sẽ được thiết kế một trọng số mô tả giá trị màu điểm ảnh truyền vào gồm 3

trọng số kiểu byte mô tả Red, Green, Blue.

Việc khởi tạo mạng SOM được thực hiện khởi tạo ngẫu nhiên cho mỗi

nơron. Khi được khởi tạo mạng sẽ là một tập hợp của rất nhiều màu sắc và

chúng chưa được phân thành các nhóm. Giải thuật huấn luyện mạng có thể

được chia thành 2 phương pháp:

- Huấn luyện ngẫu nhiên: Tạo một tập dữ liệu ngẫu nhiên và cho mạng

tự học. Phương pháp này tạo ra một mạng có khả năng phân biệt hầu hết các

màu sắc, tập các nhóm màu sắc này sẽ biến thiên trong khoảng màu nhìn thấy

được của cong người. Tuy nhiên khi ứng dụng mạng huấn luyện kiểu này vào

một bức ảnh cụ thể chưa thu được kết quả như mong đợi.

- Huấn luyện có chủ đích: Khi sử dụng mạng để phân loại dữ liệu trên

dụng chính những điểm ảnh có sẵn trong bức ảnh đầu vào làm tập huấn luyện.

Khi đó mạng được huấn luyện sẽ chuyên phân cụm những điểm ảnh trên ảnh

đầu vào hoặc những bức ảnh có cấu hình tương tự.

Vì mạng là tự học nên ta không cần giám sát trong quá trình học của

mạng và thuật toán huấn luyện được định sẵn cho mục đích sử dụng mạng.

Thuật toán học mạng

Thuật toán học SOM được chia làm 5 bước cơ bản như sau: Bước 1: Xác định cấu hình mạng, và các tham số.

Bước 2: Khởi tạo ngẫu nhiên trọng số của các nơron lớp Kohonen

Lặp lại

Bước 3: Đọc mẫu học v, đưa vào lớp vào. Bước 4: Tìm nơron chiến thắng (BMU) trong lớp Kohonen (gần với mẫu học v nhất) Bước 5: Cập nhật trọng số các nơron nằm trong bán kính lân cận với BMU.

Cho đến khi thỏa mãn điều kiện dừng.

Các điểm cần lưu ý trong thuật toán học:

a) Khởi tạo các tham số: SOM bị ảnh hưởng rất nhiều bởi quá trình lựa

chọn các tham số của mạng. Các tham số này bao gồm: kích thước của bản đồ

(Width/Height), số lần lặp (N), bán kính khởi tạo (σ0), giá trị khởi tạo cho tốc độ học (L0). Thực tế không có một hướng dẫn cụ thể cho việc lựa chọn các tham số này ứng với các bài toán áp dụng SOM, do vậy, việc “thử sai” (trial

and error) là cần thiết nhằm xác định tập các giá trị thích hợp ứng với tập dữ

liệu đầu vào.

b) Xác định BMU: Để chọn BMU sử dụng một trong ba hàm khoảng cách là Euclidian (thường dùng), Manhattan, và Vector Dot Product.

Duyệt tất cả các nút và tính khoảng cách Euclide (Dist) giữa vector

trọng số (w) của mỗi nút và vector nhập hiện hành (v). Nút có vector trọng số gần nhất với giá trị của vector nhập sẽ được chọn là BMU.

( )2 0 is w n i i i D t v = = å - (4.1)

c) Xác định bán kính lân cận và cập nhật trọng số các nơron lân cận của BMU:

Trọng số của phần tử lân cận được xác định ở bước trên bao gồm cả

BMU sẽ được điều chỉnh để chúng có giá trị gần giống với giá trị của vector

nhập hơn. Phần tử càng gần BMU thì trọng số của nó sẽ càng dễ bị thay đổi

nhiều hơn. Các vector trọng số sẽ được tính theo công thức:

W (t +1) = W (t) + Θ(t)L(t)(V (t) W (t)) (4.2)

Θ(t): Hàm nội suy theo thời gian học, nó thể hiện sự tác động của

khoảng cách đối với quá trình học và được tính theo công thức sau:

(4.3)

dist: Khoảng cách từ một nơron đến nơron chiến thắng

t: Bước lặp hiện tại

L: Tốc độ học (sẽ giảm dần theo số lần lặp)

- Biểu thức trên cho thấy trọng số của mỗi nút sau khi hiệu chỉnh chính

là giá trị trọng số cũ W của nó cộng thêm phần giá trị khác biệt giữa trọng số

W và vector nhập V theo hệ số tốc độ học

- Hàm nội suy tốc độ học L (t) cho mỗi bước lặp được tính theo công

thức sau:

L0: giá trị khởi tạo ban đầu của tốc độ học.

- Càng tiến gần về điểm giữa thì tốc độ học càng giống với hàm mũ nội

suy của phép co. Tốc độ học sẽ được nội suy dần theo tốc độ học và giá trị của

hàm sẽ tiến dần về không khi số lần lặp đạt tới những bước cuối cùng.

d) Điều kiện dừng: Có thể dựa trên số lần lặp hay số mẫu học hay độ cân bằng

của mạng (các trọng số thay đổi dưới một ngưỡng nhất định) [1], [3], [4].

3.2 Giới thiệu môi trường cài đặt

Phần cứng: Một máy tính Pentium V trở lên.

Card đồ họa 512MB. Ổ cứng 1GB.

Phần mềm: Chương trình được cài đặt trên ngôn ngữ lập trình C# của

Microsoft

3.3. Cài đặt và sử dụng 3.3.1. Cài đặt 3.3.1. Cài đặt

Hình 3.1. Giải nén file ‘PHANCUMANH.rar’ và mở file ‘setup_PHANCUMANH’

Hình 3.3. Bắt đầu quá trình cài đặt

Hình 3.5.Chương trình đã cài đặt xong và file chạy chương trình nằm trên màn hình destop ‘WindowsFormsApplication1.exe’

3.3.2. Sử dụng

Hình 3.7.Nhấn nút chọn ảnh để phân cụm ảnh được chọn

Hình 3.9. Phân cụm ảnh ngẫu nhiên với Ngang 20, dọc 30 và ngưỡng là 500

3.4. So sánh SOM với các phương pháp phân cụm khác 3.4.1. Thuật toán K-means 3.4.1. Thuật toán K-means

Ưu điểm:

Độ phức tạp nhỏ: O(nkd.t), với d là số chiều, t số vòng lặp.

K-means phân tích phân cụm đơn giản nên có thể áp dụng đối với tập dữ liệu lớn.

Nhược điểm:

K-means không có khả năng tìm ra các cụm không lồi hoặc các cụm có hình dạng phức tạp, chỉ áp dụng với dữ liệu số. Nó không khắc phục được nhiễu và các phần tử ngoại lai.

Chất lượng phân cụm phụ thuộc vào nhiều tham số đầu vào như: số cụm k và k trọng tâm khởi tạo ban đầu.

Số lượng và các tham số là do người dùng nhập, nên nếu đầu vào khác nhau thì kết quả các cụm sẽ khác nhau

3.4.2. Phân cụm mờ

Ưu điểm:

Áp dụng thành công trong giải quyết một số lớn các bài toán Phân cụm dữ liệu như trong nhận dạng mẫu, xử lý ảnh, y học,…

Nhược điểm:

Lớn nhất của thuật toán FCM là nhạy cảm với các nhiễu và phần tử ngoại lai trong dữ liệu, nghĩa là các trung tâm cụm có thể nằm xa so với trung tâm thực của cụm. Do đó các cụm dữ liệu được khám phá có thể rất lệch so với các cụm trong thực tế.Việc khử nhiễu và phần tử ngoại lai là một vấn đề cần phải được giải quyết.

3.4.3. Mạng noron Kohonen (SOM)

Ưu điểm:

Tự tổ chức trong mạng nơron là một trong những chủ đề cuốn hút trong mạng nơron. Một mạng nơron như vậy có thể được luyện để tìm ra các quy

luật và các tương quan, các giá trị nhập vào và dự đoán các kết quả tiếp theo. Các nơron của mạng thông qua quá trình luyện cạnh tranh để nhận ra một nhóm các đối tượng đầu vào tương đương nhau. Mục đích chính của việc luyện trong mạng nơron Kohonen là gom cụm các vector đầu vào cùng loại.

Các thuộc tính cơ bản nhằm phân biệt SOM với các mạng nơron khác là nó sử dụng ký số thay cho ký tự không tham số, và học không giám sát. Phương pháp dùng số tự nhiên cho phép SOM xem xét, xử lý dữ liệu số tự nhiên thống kê được và nhằm để biểu diễn các mối quan hệ đã được chọn lọc. Bởi do SOM không yêu cầu học có giám sát và là một dạng không tham số cho nên nó có thể tìm ra những cấu trúc không hề mong muốn từ dữ liệu đã cho.

Nhược điểm:

Khó khăn thứ nhất là việc phát hiện số lượng và biên cụm theo nội dung của ảnh: nếu áp dụng thuật toán tích tụ cần biết trước số cụm cần hình thành; còn áp dụng thuật toán loang thường thất bại do khó xác định được ranh giới chính xác giữa các cụm khi các điểm màu trên ảnh có sự biến thiên nhỏ.

Khó khăn thứ hai là tốc độ hội tụ của giải thuật chậm do khối lượng tính toán lớn. Xét một mạng SOM với kích thước 20x30=600 nơron, độ phân giải của bức ảnh đầu vào được tính bằng đơn vị megapixel tức là có tới hàng triệu điểm ảnh. Như vậy riêng trong quá trình huấn luyện, việc tìm BMU đã phải duyệt qua khoảng 600 triệu lần các nơron. Ngoài ra, các thuật toán để hình thành cụm cũng đòi hỏi số lần lặp tương đối lớn. Để khắc phục hai hạn chế đó cần một giải pháp hình thành cụm phù hợp và tăng tốc độ giải thuật.

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Mạng nơron là một lĩnh vực nghiên cứu tương đối rộng và đòi hỏi

nhiều công sức và nỗ lực trong quá trình nghiên cứu. Bên cạnh đó việc cài

đặt và ứng dụng mạng nơron gặp nhiều khó khăn do độ phức tạp tương đối

cao của giải thuật. Vì lí do đó trong khuôn khổ đồ án chỉ hướng tới mạng

nơron dùng để phân cụm dữ liệu ảnh là mạng SOM để nghiên cứu và phát

triển. Thực tế đã chứng minh mạng SOM có rất nhiều ứng dụng và việc

nghiên cứu khai thác mạng này sẽ đem lại nhiều kết quả thực tiễn.

1. Luận văn đã thực hiệnđược kết quả sau:

- Giới thiệu tổng quan vềcác phương pháp phân cụm dữ liệu.

- Trình bày một cách tổng quát về mô hình mạng nơron và ứng dụng

mạng nơron trong khai phá dữ liệu. Trình bày một cách hệ thống các giải

pháp học mạng nơron không giám sát và có giám sát.

- Nghiên cứu, phân tích việc sử dụng thuật toán SOM giải quyết bài

toán phân cụm màu ảnh theo mô hình mạng nơron.

- Xây dựng được chương trình phân cụm ảnh với ảnh đầu vào có kích

thước 40x40=1600 nơron. Mỗi nơron có chứa một vector trọng số tương ứng

với giá trị RGB của nó. Trọng số nơron được khởi tạo ngẫu nhiên. Sau khi thực hiện phân cụm sử dụng thuật toán SOM.

2. Hạn chế

Phân cụm dữ liệu và ứng dụng mạng nơron vào phân cụm dữ liệu là hướng nghiên cứu cần thiết và quan trọng. Tuy nhiên đây cũng là một mảng rất rộng, bao hàm nhiều phương pháp, kỹ thuật và hình thành nhiều nhóm khác nhau.

Trong quá trình nghiên cứu, thực hiện luận văn mặc dù đã cố gắng tập trung nghiên cứu và tham khảo nhiều tài liệu, bài báo, tạp chí khoa học trong

và ngoài nước, nhưng do trình độ còn có nhiều giới hạn không thể tránh khỏi thiếu sót và hạn chế. Em rất mong được sự chỉ bảo đóng góp nhiều hơn nữa của các thầy, cô giáo, đồng nghiệp, các nhà khoa học…

3. Hướng phát triển

- Tiếp tục nghiên cứu thêm về lý thuyết về phân cụm dữ liệu, mạng nơron.

- Xây dựng, phát triển thêm các kỹ thuật, ứng dụng của Phân cụm dữ liệu, ứng dụng của mạng nơron trong phân cụm dữ liệu nói riêng và trong các lĩnh vực khác.

TÀI LIỆU THAM KHẢO Tiếng Việt

[1] Lê Bá Dũng, Bài giảng cao học Mạng nơ–ron và ứng dụng, ĐHCNTT và TT, Đại Học Thái Nguyên.

[2] Đỗ Phúc, Giáo trình khai thác dữ liệu, NXB Đại học quốc gia TP HCM, 2005.

[3] Bùi Công Cường và Nguyễn Doãn Phước, (2006), Hệ mờ, mạng nơron

và ứng dụng, NXB Khoa học và Kỹ thuật.

[4] Nguyễn Đình Thúc, (2000), Trí tuệ nhân tạo – Mạng nơron – Phương pháp và ứng dụng, NXB Giáo dục.

Tiếng Anh

[5] A.K. Jain, R.C. Dubes, (1988), Algorithms for clustering data, Ptentice

Hall, Englewood Cliffs, NJ.

[6] W.Pedrycz, (1990) Algorithms of fuzzy clustering with partial supervision, Pattern Recognition, vol. 23, pp.121-146.

[7] J. Han, M. Kamber, (2001), Data Mining Concepts and Techniques, Morgan Kaufmann Publishers.

Một phần của tài liệu Sử dụng mạng noron cho phân cụm dữ liệu và ứng dụng (LV01137) (Trang 60)

Tải bản đầy đủ (PDF)

(77 trang)