Phân lớp bằng thuật toán kết nhóm K-means

Một phần của tài liệu Phát hiện lỗi màu trên gạch men (Trang 66 - 80)

• Kết nhóm K – means là gì

Kết nhóm K-means nói đơn giản nó là một thuật toán dùng để phân lớp hay kết nhóm các đối tượng dựa vào đặc tính hay đặc trưng theo K thành phần, với K là một số nguyên dương. Việc kết nhóm được thực hiện bằng cách tối thiểu hoá tổng bình phương khoảng cách của dữ liệu đến trọng tâm của nhóm tương ứng. Vì thế mục đích của việc kết nhóm K-means là để phân lớp dữ liệu, để mô tả rõ vấn đề này ta khảo sát một ví dụ.

Ví dụ: giả sử ta có 4 đối tượng mà tập dữ liệu huấn luyện của mỗi đối tượng có hai thuộc tính như trong bảng 3.1, mỗi thuộc tính của một đối tượng được mô tả tương ứng với một toạ độ

Bảng 3.1 Thuộc tính các đối tượng K=1 Đối

tượng Thuộc tính 1 (X): Thuộc tính 2 (Y):

A 1 1

B 2 1

C 4 3

D 5 4

Vì thế chúng ta cũng phân biệt được trước rằng các đối tượng đó theo hai nhóm. Vấn đề bây giờ là xác định xem loại nào là thuộc nhóm 1 và loại nào phải xếp vào nhóm 2. Mỗi loại được mô tả bằng một điểm của hai thành phần toạ độ.

Các bước cơ bản của kết nhóm K-means thì đơn giản. Đầu tiên chúng ta xác định số cần kết nhóm K, sau đó chúng ta giả sử trọng tâm trung tâm của nhóm đó. Chúng ta có thể lấy bất kỳ một đối tượng nào để khởi tạo trọng tâm hay các đối tượng K đầu tiên cũng có thể phù hợp để khởi tạo các trọng tâm

Thuật toán K-means được thực hiện qua 3 bước cho đến khi hội tụ thì kết thúc

Lập lại đến khi nào ổn định (không có đối tượng nào đổi nhóm) B1. xác định trọng tâm trên hệ trục biểu diễn cho dữ liệu

B2. xác định khoảng cách của mỗi đối tượng đến trọng tâm B3. nhóm các đối tượng dựa vào khoảng cách tối thiểu (tìm trọng tâm ngắn nhất)

• Lưu đồ giải thuật

Hình 3.4 Lưu đồ giải thuật cho thuật toán K-means

Bắt đầu Số nhóm K Tìm trọng tâm ban đầu Tìm khoảng cách các phần tửđến trọng tâm Nhóm các phần tử lại từ khoảng cách gần nhất Điều kiện không kết nhóm Kết thúc Sai Đúng

Các con số trong ví dụ dưới đây sẽ mô tả phép lặp của thuật toán. Giả sử chúng ta có 4 đối tượng mỗi đối tượng có hai thuộc tính như trong bảng 3.2

Bảng 3.2 Thuộc tính các đối tượng K=2 Đối tượng Đặc tính 1 (X): Đặc tính 2 (Y): A 1 1 B 2 1 C 4 3 D 5 4 Mục tiêu của chúng ta là nhóm các đối tượng này thành 2 nhóm (K=2) theo hai đặc tính như đã cho. Mỗi loại được mô tả bằng một điểm với hai đặc tính (X,Y) mà chúng ta có thể biểu diễn bằng một trục toạ độ trong không gian đặc trưng chỉ như hình 3.4

Hình 3.5 Biểu diễn bốn đối tượng [19]

Sau đây là các bước thực hiện kết nhóm của ví dụ trên

Giả sử chúng ta sử dụng A và B là trọng tâm đầu tiên, khi đó c1 và c2 được định nghĩa trọng tâm trên hệ trục là c1= (1,1) và c1= (2,1)

Hình 3.6 Khởi tạo giá trị lần lặp đầu tiên [19]

• B2: Tính khoảng cách trọng tâm các đối tượng

Chúng ta tính khoảng cách từ mỗi đối tượng đến trọng tâm của nhóm bằng cách sử dụng khoảng cách không gian hình học, sau đó chúng ta có ma trận khoảng cách tại lần lặp thứ 0 là

(3.2) Mỗi cột trong ma trận khoảng cách ký hiệu cho một đối tượng. Hàng đầu tiên của ma trận khoảng cách tương ứng với khoảng cách của mỗi đối tượng đến trọng tâm đầu tiên, và hàng thứ hai là khoảng cách của mỗi đối tượng đến trọng tâm thứ hai. Trong ví dụ khoảng cách từ loại C = (4,3) đến trọng

tâm đầu tiên c1(1,1) là d = (4−1) (2 + 3−1)2 =3.61 và khoảng cách của nó đến trọng tâm thứ hai là c2(2,1) là

(4−2) (2 + 3−1)2 =2.83

=

d

• B3: Kết nhóm đối tượng

Chúng ta ấn định mỗi đối tượng dựa vào khoảng cách tối thiểu. Vì thế loại A được ấn định cho nhóm 1, loại B , C, D được ấn định cho nhóm 2. Phần tử của ma trận nhóm là 1 nếu như đối tượng nào được ấn định trong nhóm đó

(3.3)

• B4: Lần lặp thứ nhất, xác định trọng tâm

Để biết số lượng của mỗi nhóm, bây giờ chúng ta tính trọng tâm mới của mỗi nhóm dựa vào thành phần mới đó. Nhóm 1 chỉ có một thành viên vì thế trọng tâm vẫn là c1(1,1). Nhóm 2 có ba thành viên vì thế trọng tâm là trung bình trên hệ trục toạ độ giữa ba thành phần

Hình 3.7 Xác định trọng tâm lần lặp thứ nhất [19]

• B5: Lần lặp thứ nhất, tính khoảng cách trọng tâm các đối tượng Bước tiếp theo là tính khoảng cách của tất cả các đối tượng đến trọng tâm mới, giống như bước 2, chúng ta có khoảng cách ở lần lặp thứ nhất

(3.4)

• B6: Lần lặp thứ nhất, kết nhóm các đối tượng

Giống bước 3 chúng ta ấn định mỗi đối tượng dựa vào khoảng cách tối thiểu. Dựa vào khoảng cách của ma trận mới chúng ta di chuyển loại B đến nhóm 1, còn các loại khác vẫn giữ nguyên. Ma trận nhóm thu được như sau

• B7: Lần lặp thứ hai, xác định trọng tâm

Bây giờ chúng ta lập lại bước 4 để tính trọng tâm trên trục toạ độ mới dựa vào kết quả kết nhóm của lần lặp trước, cả nhóm một và nhóm hai đều có hai thành phần. Vì thế trọng tâm mới là

Hình 3.8 Xác định trọng tâm lần lặp thứ hai [19]

• B8: Lần lặp thứ hai, tính khoảng cách trọng tâm các đối tượng Lập lại bước hai ta có ma trận khoảng cách mới ở lần lặp thứ hai

(3.6)

Một lần nữa chúng ta ấn định mỗi đối tượng dựa vào khoảng cách tối thiểu

(3.7) Chúng ta thu được kết quả G2 = G1. So sánh nhóm ở lần lặp

sau cùng nhìn chung thì chúng không thay đổi gì, vì thế việc tính toán của thuật toán kết nhóm K-means tiến đến trạng thái ổn định của nó và không cần phải thực hiện thêm cho lần lặp nào nữa chúng ta có kết quả sau cùng được kết nhóm như trong bảng 3.3

Bảng 3.3 Thuộc tính các đối tượng K=3 Đối tượng Đặc tính 1 (X) Đặc tính 2 (Y) Kết quả kết nhóm A 1 1 1 B 2 1 1 C 4 3 2 D 5 4 2

• Độ hội tụ của thuật toán K – means

Anderberg chỉ dẫn các bước thực hiện chứng minh thuật toán K-means hội tụ qua các bước sau

Bước 1: Bắt đầu bằng cách phân chia bất kỳ giá trị khởi tạo mà các nhóm dữ liệu trong K nhóm, để làm điều này ta cần

a. Lấy K đầu tiên làm mẫu huấn luyện và xem như là thành phần đơn giản để kết nhóm

b. Ấn định lại mỗi mẫu N-K tới nhóm bằng trọng tâm gần nhất, sau mỗi lần ấn định tính lại trọng tâm của nhóm

Bước 2: Lấy mẫu Pj trong dãy và tính khoảng cách của nó từ trọng tâm của mỗi nhóm K. Nếu Pj không hiện diện trong nhóm với trọng tâm gần nhất thì ngắt Pj rồi cập nhật lại trọng tâm của nhóm Pj

Bước 3: lập lại bước 2 đến khi hội tụ, đều này được thực hiện cho đến khi các mẫu huấn luyện không có sự thay đổi mới nào. Nó thì được chứng minh rằng sự hội tụ luôn luôn xảy ra nếu thoả điều kiện

a. Mỗi lần ngắt trong bước 2 sẽ giảm đi tổng bình phương khoảng cách từ mỗi mẫu huấn luyện đến trọng tâm nhóm của mẫu huấn luyện đó

b. Ở đó phải xác định nhiều phần phân chia của mẫu huấn luyện trong nhóm K

• Ứng dụng của thuật toán kết nhóm K – means

Có nhiều ứng dụng từ phương pháp K-means như: phương pháp xếp hạng từ việc học không giám sát của mạng neural, nhận dạng mẫu, phân tích sự phân lớp, xử lý ảnh, khoa học nhìn bằng máy…Trong trường hợp chúng ta có nhiều đối tượng và mỗi đối tượng lại có một thuộc tính chung và chúng ta muốn phân loại các đối tượng dựa vào các thuộc tính khi đó chúng ta cũng có thể áp dụng phương pháp này

• Yếu điểm của kết nhóm K – means

Giống như các phương pháp khác, thuật toán K-means cũng có nhiều yếu điểm

- Khi thành phần dữ liệu không quá nhiều, thì sự khởi tạo nhóm sẽ xác định số nhóm đáng kể

- Số nhóm K phải được xác định bằng tay trước

- Chúng ta không bao giờ biết thật sự nhóm sử dụng cùng dữ liệu, nếu như nó được đưa vào một cách khác có thể tạo ra nhóm khác, nếu như số lượng dữ liệu ít

- Chúng ta cũng không bao giờ biết được thuộc tính nào đã góp phần nhiều vào trong quá trình kết nhóm từ đó chúng ta giả sử rằng mỗi thuộc tính có cùng trọng số

• Trường hợp số thuộc tính lớn

Nhìn chung kết nhóm K-means với n thuộc tính, chúng ta định nghĩa trọng tâm bởi một vector, ở đây mỗi thành phần được mô tả bằng trọng tâm của thành phần đó. Mỗi thành phần mô tả một thuộc tính. Vì thế mỗi điểm thứ j có n thành phần hay được định nghĩa bằng

( j j j jm jn)

j x x x x x

p = 1, 2, 3,..., ,..., (3.8)

Nếu chúng ta có N điểm huấn luyện, thì thành phần m có trọng tâm được tính như sau

∑ = j jm m x N x 1 (3.9) Sau cùng phương pháp này lại giống như phương pháp trên

• Số nhỏ nhất của thuộc tính

Như chúng ta có thể đoán trước số lượng tối thiểu của thuộc tính sẽ là 1. Nếu như số thuộc tính là 1, mỗi điểm mẫu được mô tả bằng một điểm trong mỗi phân bố. Thuật toán K-means

trở thành một cách để tính giá trị trung bình của k phân bố. hình vẽ sau ví dụ cho một mẫu của phân bố k =2

Hình 3.9 Tối thiểu thuộc tính [19]

• Quá trình học của thuật toán K-means

Mỗi đối tượng được mô tả bằng một điểm phân bố là một ví dụ về thuật toán và nó được ấn định một cách tự động để kết nhóm. Chúng ta gọi trường hợp này là học không giám sát, bởi gì thuật toán này phân lớp đối tượng một cách tự động chỉ dựa vào tiêu chí khoảng cách tối thiểu đến trọng tâm. Chúng ta không cần phải giám sát chương trình mà có thể kết luận sự phân lớp là đúng hoặc sai. Quá trình học là tuỳ thuộc vào mẫu huấn luyện mà chúng ta cần trong phương pháp. Chúng ta có thể chọn một trong hai cách học

- Huấn luyện vô hạn: Mỗi dữ liệu cần thiết trong thuật toán sẽ tự động xem xét bởi các mẫu huấn luyện.

- Huấn luyện hữu hạn: sau khi huấn luyện được xem xét sẽ kết thúc mà ta cho là đúng nơi của trị trung bình, chúng ta bắt đầu thực hiện công việc của thuật toán để phân loại nhóm của các điểm mới. Điều này được thực hiện một cách đơn giản bằng cách đánh dấu điểm đến trọng tâm gần nhất rồi tính toán lại trọng tâm mới. Vì thế sau khi kết thúc huấn luyện trọng tâm mới được cố định

Chương 4 PHÁT HIN LI TRÊN GCH MEN

Vấn đề tìm lỗi bề mặt đã được nhiều bài báo đề cập.Trong các nghiên cứu trước đây hầu hết chỉ sử dụng tìm lỗi cho ảnh đen trắng. Vấn đề tìm lỗi cho ảnh màu được nghiên cứu trong đề tài này sẽ thực hiện ý tưởng bằng cách kết hợp phân tích ảnh nhị phân để tạo thành các lớp màu theo kết cấu với đặc tính màu sắc của ảnh, từ đó sẽ tính toán các thông tin chứa nội dung có liên quan đến kết cấu ảnh, vì điều này rất cần thiết cho công việc tìm lỗi. Kỹ thuật này cũng được các bài báo mới đây nhất [20], [21], [22], [23], [24],[25], [26], [27] đề cập. Từ

tham khảo trên tác giả đã nghiên cứu và thực hiện phương pháp mới nhằm cải tiến cho công việc thực hiện kiểm tra lỗi bề mặt được đơn giản hơn, hiệu quả hơn. Trong các thuật toán phân tích và xử lý, vấn

đề đơn giản đầu tiên là việc xem các kết cấu ảnh màu dưới dạng vĩ

mô, tức là phân tích theo các lớp màu, tính các giá trị trung bình và ma trận tương quan để tìm đặc trưng cho kết cấu ảnh

Nhìn chung đề tài này thực hiện nhận dạng lỗi bề mặt bằng cách

ứng dụng phương pháp phân tích kết nhóm màu theo kết cấu ảnh, phân chia ảnh theo các lớp màu, sau đó tìm vector đặc trưng cho các lớp màu đó để xác định lỗi. Bằng cách sử dụng các phép toán xử lý tín hiệu, các phép toán thống kê như được giới thiệu trong chương 2 để

thực hiện cho phương pháp dò tìm lỗi sau

• Tìm lỗi sai màu theo phương pháp phân tích màu sắc của ảnh và sử dụng luật quyết định Bayes để phát hiện lỗi

• Tìm lỗi sai màu theo phương pháp phân tích màu sắc của ảnh và sử dụng kỹ thuật truy hồi trạng thái hình học để phát hiện lỗi

• Tìm lỗi sai kích thước sử dụng phương pháp tính đặc trưng khoảng cách cực đại và cực tiểu của ảnh

4.1 CÁC LỖI Ở GẠCH MEN [2], [3], [21]

Gạch men có nhiều dạng lỗi rất phức tạp, các điểm lỗi và điểm không lỗi khác nhau không nhiều, nhất là lỗi về màu sắc trong các

ảnh gạch có nhiều kết cấu. Trong một lớp của một kết cấu ảnh các pixel có đặc trưng được xem là lỗi, tuy nhiên cũng là các pixel có đặc trưng như thế nhưng trong lớp của kết cấu khác nó không phải là lỗi. Vì thế để phát hiện được các lỗi chính xác và nhanh, cách tốt nhất ta phải phân tích chính xác kết cấu ảnh hay phân tích các lớp màu khác nhau càng chính xác thì kết quả tìm lỗi sẽ càng tối ưu. Để thực hiện nhanh phù hợp với việc xử lý thời gian thực dữ liệu xử lý phải càng ít càng tốt, vì thế phương pháp tốt nhất là tìm đặc trưng của từng lớp màu. Công việc tìm lỗi chỉ thực hiện trên các tập đặc trưng của các lớp màu, như vậy vấn đề quan trọng nhất chính là việc phân lớp màu.

Các lỗi thường được đánh giá ở gạch men như: sự giống và khác nhau về màu, lỗi trầy xước bề mặt, lỗi sai kích thước, lỗi cong vênh…thường được xác định dựa vào đặc trưng kích thước, hình dạng, số lượng của các lỗi. Khi xử lý để phân biệt lỗi, chủ yếu dựa vào màu sắc và kết cấu ảnh.

Để đánh giá lỗi được tốt và hoàn thiện nhất trên từng lớp màu của gạch. Theo phương pháp truyền thống việc đánh giá và quan sát bằng mắt của con người thì khó có thể xác định được chính xác vị trí và số lượng các lỗi của một tấm gạch. Phương pháp kiểm tra đánh giá theo cách tự động, ảnh của gạch được quay từ camera đưa về

trung tâm xử lý, các vùng trên ảnh được phân chia để huấn luyện, việc huấn luyện và xử lý chỉ chọn một số các pixel đặc trưng của một lớp trong vùng đó.

Các lỗi trong gạch men được thực hiện trong các hệ thống tìm lỗi tự động bao gồm các lỗi sau

• Lỗi nứt mẻ góc: các góc, cạnh của gạch bị nứt mẻ

• Lỗi về màu sắc: sự thay đổi về màu sắc so với ảnh gốc

• Lỗi nứt: gạch bị rạn nứt bề mặt

• Lỗi bị dơố: gạch bị dơố trên bề mặt, bị mờ

• Lỗi các đốm màu: gạch bị các đốm màu thường xảy ra đối với gạch có nhiều kết cấu, nguyên nhân gây ra thường do lúc tạo màu cho gạch

• Lỗi tạo đường sọc: gạch bị các đường, sọc nhỏ trên bề mặt

• Lỗi tạo các lỗ chấm: gạch bị các chấm nhỏ trên bề mặt hay còn gọi là gạch bị bọt

• Kết cấu không đồng đều nhau: gạch có nhiều kết cấu đa màu sắc, các mẫu màu không giống nhau so với gạch gốc

(a1) (a2) (b1) (b2)

(c1) (c2) (d1) (d2)

Hình 4.1 Các loại lỗi ở gạch men Hình (a1) ảnh bình thường Hình (a2) ảnh bị lỗi vết dơ

Hình (b1) ảnh bình thường Hình (b2) ảnh bị lỗi sai màu Hình (c1) ảnh bình thường Hình (c2) ảnh bị lỗi lỗ chấm

Một phần của tài liệu Phát hiện lỗi màu trên gạch men (Trang 66 - 80)

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

(130 trang)