.2 Các ngoại lệ

Một phần của tài liệu Hệ thống tự động kiểm tra ngoại quan sản phẩm rocker arm dựa trên xử lý ảnh và công nghệ học sâu (Trang 38)

a. Các thông s

Giá trịngưỡng để xác định khi điểm dữ liệu phù hợp với mơ hình t và sốđiểm dữ liệu gần cần thiết để khẳng định rằng mơ hình phù hợp tốt với dữ liệu d được xác định dựa trên các yêu cầu cụ thể của ứng dụng và tập dữ liệu, và có thể dựa trên

29 thử nghiệm đánh giá. Tuy nhiên, số lần lặp lại k có thểđược xác định như một hàm của xác suất thành công mong muốn p bằng cách sử dụng kết quả lý thuyết. Gọi p là xác suất mong muốn để thuật toán RANSAC cung cấp một kết quả hữu ích sau khi chạy. RANSAC trả về một kết quả thành công nếu trong một số lần lặp, nó chỉ chọn các phần tử trong từ tập dữ liệu đầu vào khi nó chọn n điểm mà từđó các tham sốmơ hình được ước tính. Để cho w là xác suất để chọn một hệ số mỗi khi một điểm được chọn, nghĩa là:

w = số phần tử thuộc mơ hình / sốđiểm trong dữ liệu PT 2.1

Một trường hợp phổ biến là w không được biết trước, nhưng một số giá trị thơ có thểđược đưa ra. Giả sử rằng n điểm cần thiết đểước tính mơ hình được chọn độc lập 𝑤𝑤𝑛𝑛 là xác suất để tất cả n điểm là nội nguyên và 1 – 𝑤𝑤𝑛𝑛 là xác suất mà ít nhất một trong n điểm là ngoại lệ, một trường hợp giả sử rằng một mơ hình xấu sẽđược ước lượng từ tập điểm này. Xác suất theo lũy thừa của k là xác suất mà thuật tốn khơng bao giờ chọn tập hợp n điểm mà tất cảđều là ẩn số và giá trị này phải giống như 1- p. Kết quả là:

𝑘𝑘= log (1log (1− 𝑤𝑤− 𝑝𝑝)𝑛𝑛) PT 2.2 Kết quả này giả định rằng n điểm dữ liệu được chọn độc lập, tức là một điểm đã được chọn một lần sẽ được thay thế và có thể được chọn lại trong cùng một lần lặp. Đây thường không phải là một cách tiếp cận hợp lý và giá trị suy ra của k nên được coi là giới hạn trên trong trường hợp các điểm được chọn mà khơng thay thế. Ví dụ: trong trường hợp tìm một đường phù hợp với tập dữ liệu được minh họa trong hình trên, thuật tốn RANSAC thường chọn hai điểm trong mỗi lần lặp và tính tốn maybe_model như đường thẳng giữa các điểm và sau đó điều quan trọng là hai điểm phải khác biệt.

Để có thêm độ tin cậy, độ lệch chuẩn hoặc bội số của chúng có thể được thêm vào k . Độ lệch chuẩn của k được định nghĩa là:

𝑆𝑆(𝐷𝐷) = √1𝑤𝑤− 𝑤𝑤𝑛𝑛 𝑛𝑛 PT 2.3

2.1.3 Ưu nhược điểm

Một ưu điểm của RANSAC là khảnăng ước lượng mạnh mẽ các tham số của mơ hình, tức là nó có thểước tính các tham số với mức độ chính xác cao ngay cả khi có một sốlượng lớn các giá trị ngoại lệ có trong tập dữ liệu. Một nhược điểm của RANSAC là khơng có giới hạn trên về thời gian cần thiết để tính tốn các tham số này. Khi số lần lặp được tính tốn bị giới hạn, giải pháp thu được có thể khơng tối ưu và thậm chí nó có thể không phù hợp với dữ liệu theo cách tốt. Theo cách này, RANSAC đưa ra một sựđánh đổi, bằng cách tính tốn số lần lặp lại nhiều hơn, xác suất của một mơ hình hợp lý được tạo ra sẽtăng lên. Hơn nữa, RANSAC không phải lúc nào cũng có thể tìm được bộ tối ưu ngay cảđối với các bộ bị nhiễu vừa phải và nó thường hoạt động kém khi sốlượng phần tử nội ít hơn 50%. RANSAC tối ưu đã được đề xuất để xử lý cả hai vấn đề này và có khảnăng tìm ra tập hợp tối ưu cho các tập hợp nhiễu cao, ngay cảđối với tỷ lệ phần tử nội chỉ dưới 5%. Một

30 nhược điểm khác của RANSAC là nó yêu cầu thiết lập các ngưỡng dành riêng cho từng mơ hình.

RANSAC chỉ có thểước tính một mơ hình cho một tập dữ liệu cụ thể. Đối với bất kỳphương pháp tiếp cận một mơ hình nào khi tồn tại hai (hoặc nhiều) trường hợp mơ hình, RANSAC có thể khơng tìm thấy một trong hai. Biến đổi Hough là một kỹ thuật ước lượng mạnh mẽ thay thế có thể hữu ích khi có nhiều hơn một cá thể mơ hình. Một cách tiếp cận khác đểđiều chỉnh nhiều mơ hình được gọi là PEARL, kết hợp lấy mẫu mơ hình từ các điểm dữ liệu như trong RANSAC với việc ước tính lại lặp đi lặp lại các nội số và việc điều chỉnh đa mơ hình được xây dựng như một bài tốn tối ưu hóa.

2.1.4 ng dng

Thuật toán RANSAC thường được sử dụng trong thị giác máy tính: để giải quyết đồng thời bài tốn tương ứng và ước tính ma trận cơ bản liên quan đến một cặp stereo camera, để tính tốn tham sốcác mơ hình như đường trịn, đường thẳng, mặt phẳng trong 2D hoặc 3D. Bên cạnh đó RANSAC cịn được ứng dụng trong các bài toán loại bỏ nhiễu trong mơ hình.

Hình 2.3 RANSAC trong bài tốn ước tính mơ hình 3D

2.1.5 Thut tốn RANSAC phát hiện đường trịn trên rocker arm

Thuật tốn RANSAC cần năm dữ liệu đầu vào:

- Đám mây điểm 2D là ma trận chứa 2 tọa độ của điểm X, Y.

- Sốđường tròn là sốđường tròn cần phát hiện trong đám mây điểm đầu vào. - Ngưỡng dung sai là khoảng cách của đường tròn đã chọn và các điểm khác.

Giá trị của nó liên quan đến độ chính xác cao của đám mây điểm.

- Số vòng lặp tối đa là số lần lặp lại tối đa để tìm ra mơ hình tốt nhất từđám mấy điểm đầu vào.

- Số điểm tối đa là số lượng tối đa các điểm có thể thuộc cùng một đường trịn. Nó được suy ra từ mật độđiểm và bề mặt của đường trịn có thể thấy trước.

Nguyên lý cơ bản của thuật toán RANSAC phát hiện đường trịn là tìm kiếm đường trịn tốt nhất trong đám mây điểm 2D và làm giảm số lần lặp ngay cả khi sốđiểm rất lớn. Với mục đích này mơ hình chọn ngẫu nhiên 3 điểm trong đám mây điểm, nó chọn ngẫu nhiên ba điểm và tính tốn tham số của đường trịn tương ứng. Tiếp theo là phát hiện tất cảcác điểm của dữ liệu đám mây điểm ban đầu thuộc đường

31 trịn tính tốn, theo một ngưỡng nhất định. Sau đó, lặp lại các thủ tục N lần, mỗi lần so sánh kết quảthu được với kết quảđược lưu trước đó. Nếu kết quả mới là tốt hơn, lưu thay thế kết quả mới. Quá trình lặp đi lặp lại khi đủ N vịng lặp hoặc số điểm thuộc mơ hình tìm được thỏa mãn điều kiện đầu vào. Sau khi phát hiện xong đường trịn đầu tiên, xóa các điểm thuộc đường tròn này khỏi đám mây điểm và tiếp tục quá trình phát hiện đường trịn thứhai tương tựnhư vậy.

Hình 2.4 Thuật tốn RANSAC phát hiện đường trịn

32

Hình 2.5 Lỗi lệch trục chính

Qui trình kiểm tra lỗi lệch trục:

- Chụp ảnh với hướng camera vng góc lỗ trục cần kiểm tra và cắt ảnh phần chứa lỗ trục cần kiểm tra.

Hình 2.6 Ảnh chụp rocker arm hướng vng góc lỗ trục

- Thơng qua các thuật tốn đểtìm đường trịn bên trong lỗvà đường trịn viền bên ngồi ở bề mặt trên. Các thuật tốn làm mờ, làm sắc cạnh, tìm đường bao để loại bỏ nhiễu và làm nối bật cạnh trên hai đường trịn cần tìm. Sử dụng thuật tốn RANSAC đểtìm hai đường trịn từ các cạnh được tách phía trên.

Hình 2.7 Ảnh tách cạnh và phát hiện đường trịn trên lỗ trục chính

- Sau khi tìm được hai đường trịn, tính tốn các thơng số độ lệch tâm giữa hai đường tròn e, khoảng cách lớn nhất ∆𝑅𝑅𝑚𝑚𝑚𝑚𝑚𝑚 , khoảng cách nhỏ nhất ∆𝑅𝑅𝑚𝑚𝑚𝑚𝑛𝑛 và khoảng cách trung bình ∆𝑅𝑅𝑚𝑚𝑚𝑚𝑚𝑚. Từđó so sánh với giá trịđúng ∆𝑅𝑅𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 để phát hiện lỗi lệch trục.

33

Hình 2.8 Qui trình kiểm tra lỗi lệch trục

Hình 2.9 Cơng thức tính các giá trị ∆𝑅𝑅

2.3 Phát hiện lỗi vát mép

34

Hình 2.11 Lỗi lệch vát mép lỗ trục chính

Lỗi vát mép gồm hai loại là lệch vát mép và vát mép sâu. Lỗi lệch vát mép là hiện tượng độ rộng vùng vát mép khơng đều trên lỗ trục chính như hình 2.10. Lỗi vát mép sâu là hiện tượng độ sâu vùng vát mép lớn hơn tiêu chuẩn dẫn đến độ rộng vùng vát mép trên hình ảnh lớn hơn nhiều so với hình ảnh vát mép tiêu chuẩn. Thuật toán để kiểm tra lỗi vát mép tương tựnhư thuật toán kiểm tra lỗi lệch trục.

- Đầu tiên chụp ảnh vng góc với bề mặt vát mép và cắt ảnh chưa vùng vát mép trên lỗ trục chính.

Hình 2.12 Vát mép trên lỗ trục chính

- Tiếp theo là quá trình xử lý ảnh với các thuật tốn làm mịn, làm sắc cạnh, tìm cạnh để loại bỏ nhiễu và giữ lại phần cạnh trên vùng vát mép. Tìm đường trịn trong và ngồi của viền vát mép thơng qua thuật tốn RANSAC.

35

Hình 2.14 Tìm đường trịn vùng vát mép trên lỗ trục chính

- Từ2 đường trịn vừa tìm được, tính tốn các thơng sốtương quan giữa hai đường tròn: độ lệch tâm giữa hai đường tròn e, khoảng cách lớn nhất ∆𝑅𝑅𝑚𝑚𝑚𝑚𝑚𝑚 , khoảng cách nhỏ nhất ∆𝑅𝑅𝑚𝑚𝑚𝑚𝑛𝑛 và khoảng cách trung bình ∆𝑅𝑅𝑚𝑚𝑚𝑚𝑚𝑚. Từđó so sánh với giá trị đúng ∆𝑅𝑅𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 để kết luận vát mép đạt yêu cầu hay sản phẩm lỗi.

36

CHƯƠNG 3. THUẬT TOÁN PHÁT HIỆN LỖI XƯỚC

3.1 Thuật toán YOLO3.1.1 Khái nim 3.1.1 Khái nim

Yolo là một mơ hình mạng tích chập cho việc phát hiện, nhận dạng, phân loại đối tượng. Yolo được tạo ra từ việc kết hợp giữa các lớp tích chập và các lớp kết nối. Trong đó các lớp tích chập sẽ trích xuất ra các đặc trưng của ảnh, còn các lớp được kết nối đầy đủ sẽ dựđoán ra xác suất và tọa độ của đối tượng đó.

Hình 3.1. Ví dụ yolo

3.1.2 Mơ hình

Hình 3.2. Ví dụ một mơ hình yolo đơn giản

Đầu vào của mơ hình là một ảnh, mơ hình sẽ nhận dạng ảnh đó có đối tượng nào hay khơng, sau đó sẽ xác định tọa độ của đối tượng trong bức ảnh. Ảnh đầu vào được chia thành thành S×S ơ, thường sẽ là 3x3, 7x7, 9x9... việc chia ơ này có ảnh hưởng tới việc mơ hình phát hiện đối tượng.

37

Hình 3.3. Chia lưới trong yolo

Với đầu vào là 1 ảnh, đầu ra mơ hình là một ma trận 3 chiều có kích thước S×S×(5×N+M) với sốlượng tham số mỗi ơ là (5×N+M) với N và M lần lượt là số lượng hộp giới hạn và lớp mà mỗi ơ cần dựđốn. Dự đốn mỗi hộp giới hạn gồm 5 thành phần: (x, y, w, h, prediction) với (x, y) là tọa độ tâm của hộp giới hạn, (w, h) lần lượt là chiều rộng và chiều cao của hộp giới hạn, prediction được định nghĩa Pr(Object)∗IOU(pred, truth). Trong đó Pr(Object) là xác suất có vật, IOU (Intersection Over Union) là hàm đánh giá độ chính xác của object detector trên tập dữ liệu cụ thể.

𝐼𝐼𝐼𝐼𝐼𝐼 =𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴 𝑜𝑜𝑜𝑜 𝐼𝐼𝑂𝑂𝐴𝐴𝐴𝐴𝑂𝑂𝐴𝐴𝑝𝑝𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴 𝑜𝑜𝑜𝑜 𝐼𝐼𝑈𝑈𝑈𝑈𝑜𝑜𝑈𝑈 PT 3.1 Trong đó Area of Overlap là diện tích phần giao nhau giữa hộp giới hạn dựđốn với hộp giới hạn thực, còn Area of Union là diện tích phần hợp giữa hộp giới hạn dựđốn với hộp giới hạn thực. Những hộp giới hạn thực được đánh nhãn bằng tay trong tập dữ liệu đào tạo và dữ liệu kiểm tra. Nếu IOU > 0.5 thì prediction được đánh giá là tốt.

Hàm lỗi trong YOLO được tính trên việc dựđốn và nhãn mơ hình để tính. Cụ thể hơn nó là tổng độ lỗi của 3 thành phần con sau:

- Classifycation loss - độ lỗi của việc dựđoán loại nhãn của object, hàm lỗi này chỉ tính trên những ơ vng có xuất hiện object, cịn những ơ vng khác ta khơng quan tâm. Classifycation loss được tính bằng cơng thức sau: 𝐿𝐿𝑐𝑐𝑐𝑐𝑚𝑚𝑐𝑐𝑐𝑐𝑚𝑚𝑐𝑐𝑚𝑚𝑐𝑐𝑚𝑚𝑡𝑡𝑚𝑚𝑐𝑐𝑛𝑛 =� 𝜋𝜋𝑚𝑚𝑐𝑐𝑜𝑜𝑜𝑜� (𝑝𝑝𝑚𝑚(𝑐𝑐) 𝑐𝑐∈𝑐𝑐𝑐𝑐𝑚𝑚𝑐𝑐𝑐𝑐 𝑐𝑐2 𝑚𝑚=0 − 𝑝𝑝̂𝑚𝑚(𝑐𝑐))2 PT 3.2

Trong đó 𝜋𝜋𝑚𝑚𝑐𝑐𝑜𝑜𝑜𝑜 : bằng 1 nếu ơ vng đang xét có object, ngược lại bằng 0. 𝑝𝑝̂𝑚𝑚(𝑐𝑐): là xác xuất của lớp c tại ô vng tương ứng mà mơ hình dựđốn

- Localization loss là hàm lỗi dùng để tính giá trị lỗi cho boundary box được dựđoán bao gồm tọa độ tâm, chiều rộng, chiều cao của so với vị trí thực tế từ dữ liệu huấn luyện của mơ hình. Giá trị hàm Localization

38 loss được tính trên tổng giá trị lỗi dự đoán toạ độ tâm (x, y) và (w, h) của hộp giới đoạn dựđoán với hộp giới hạn thực.

𝐿𝐿𝑐𝑐𝑐𝑐𝑐𝑐𝑚𝑚𝑐𝑐𝑚𝑚𝑙𝑙𝑚𝑚𝑡𝑡𝑚𝑚𝑐𝑐𝑛𝑛 =𝜆𝜆𝑐𝑐𝑐𝑐𝑐𝑐𝑡𝑡𝑚𝑚� � 𝜋𝜋𝑚𝑚𝑜𝑜𝑐𝑐𝑜𝑜𝑜𝑜��𝑥𝑥𝑚𝑚 − �𝑥𝑥�𝑚𝑚�2 𝐵𝐵 𝑜𝑜=0 (�𝑦𝑦𝑚𝑚 𝑆𝑆2 𝑚𝑚=0 − �𝑦𝑦�𝑚𝑚)2 +𝜆𝜆𝑐𝑐𝑐𝑐𝑐𝑐𝑡𝑡𝑚𝑚� � 𝜋𝜋𝑚𝑚𝑜𝑜𝑐𝑐𝑜𝑜𝑜𝑜��𝑤𝑤𝑚𝑚 𝐵𝐵 𝑜𝑜=0 𝑆𝑆2 𝑚𝑚=0 − �𝑤𝑤�𝑚𝑚�2(�ℎ𝑚𝑚 − �ℎ�𝑚𝑚)2 PT 3.3 -

Hình 3.4. Ví dụ bouding box trong yolo

- Confidence loss là độ lỗi giữa dựđoán nhãn hộp giới hạn chứa object so với nhãn thực tế tại ơ vng đó. 𝐿𝐿𝑐𝑐𝑐𝑐𝑛𝑛𝑐𝑐𝑚𝑚𝑚𝑚𝑡𝑡𝑛𝑛𝑐𝑐𝑡𝑡 =� �𝐵𝐵 𝜋𝜋𝑚𝑚𝑜𝑜𝑐𝑐𝑜𝑜𝑜𝑜(𝐶𝐶𝑚𝑚 − 𝐶𝐶̂𝑚𝑚)2 𝑜𝑜=0 𝑆𝑆2 𝑚𝑚=0 +𝜆𝜆𝑛𝑛𝑐𝑐𝑐𝑐𝑜𝑜𝑜𝑜𝑡𝑡𝑐𝑐𝑡𝑡� 𝜋𝜋𝑆𝑆2 𝑚𝑚𝑜𝑜𝑛𝑛𝑐𝑐𝑐𝑐𝑜𝑜𝑜𝑜(𝐶𝐶𝑚𝑚− 𝐶𝐶̂𝑚𝑚)2 𝑚𝑚=0 PT 3.4 Tổng lại chúng ta có hàm lỗi là tổng của 3 hàm lỗi trên: 𝐿𝐿𝑡𝑡𝑐𝑐𝑡𝑡𝑚𝑚𝑐𝑐 =𝐿𝐿𝑐𝑐𝑐𝑐𝑚𝑚𝑐𝑐𝑐𝑐𝑚𝑚𝑐𝑐𝑚𝑚𝑐𝑐𝑚𝑚𝑡𝑡𝑚𝑚𝑐𝑐𝑛𝑛 + 𝐿𝐿𝑐𝑐𝑐𝑐𝑐𝑐𝑚𝑚𝑐𝑐𝑚𝑚𝑙𝑙𝑚𝑚𝑡𝑡𝑚𝑚𝑐𝑐𝑛𝑛 + 𝐿𝐿𝑐𝑐𝑐𝑐𝑛𝑛𝑐𝑐𝑚𝑚𝑚𝑚𝑡𝑡𝑛𝑛𝑐𝑐𝑡𝑡 PT 3.5

3.1.3 Cu trúc và đặc điểm mơ hình yolov3 áp dng phát hin lỗi xước trên rocker arm trên rocker arm

Trong khi mơ hình YOLOv1 thì sử dụng 24 lớp chập, sang YOLOv2 thì sử dụng backbone là darknet19 cộng với 11 lớp chập nữa để nhận dạng, thì mơ hình YOLOv3 sử dụng darknet53 làm backbone, với 53 lớp tích chập được đào tạo trên ImageNet. Đối với nhiệm vụ phát hiện, 53 lớp khác được chồng lên nó, mang lại kiến trúc phức hợp 106 lớp tích chập cho YOLOv3.

39

Hình 3.5 Cấu trúc darknet53

Hình 3.6 Kiến trúc mạng YOLOv3

Đối với YOLOv1, chúng ta đã biết thuật tốn này chia bức ảnh thành các ơ lưới với kích thước SxS với S =3,5 hoặc 7. Cịn đối với YOLOv2 thì kích thước này là 13. Nhưng đối với các kích thước đó, vẫn chưa đủ để có thể tìm kiếm những đối tượng có kích thước nhỏ trong bức hình. Vậy nên YOLOv3 đã xử lý bằng cách là nhận dạng 3 lần trên một bức ảnh với kích thước khác nhau.

40 Giả sử ta có bức ảnh đầu vào có kích thước: 416×416: Tại lớp tích chập thứ 82: Bức ảnh được chia thành các ơ lưới với kích thước 13×13 (bức ảnh đã được chia lưới với kích thước 32). Tại đây, các ơ lưới sẽ có trách nhiệm tìm các vật thể có kích thước lớn trong bức hình. Tại lớp tích chập thứ 94: Bức ảnh được chia thành các ô lưới với kích thước 26 x26 (bức ảnh được chia với kích thước 16) và có trách nhiệm tìm các vật thể có kích thước trung bình. Tương tự, tại lớp tích chập 106, bức ảnh được chia thành các ơ lưới với kích thước 52×52 (ảnh được chia với kích thước 8) và có trách nhiệm tìm các vật thểcó kích thước bé.

YOLO v3 sử dụng binay cross-entropy để tính tốn lỗi phân loại cho mỗi nhãn trong khi độ tin cậy của đối tượng và dựđoán lớp được dựđốn thơng qua hồi quy logistic.

3.2 Phát hiện lỗi xước

Để phát hiện lỗi xước trên bề mặt và cạnh đề xuất sử dụng thuật toán YOLOv3 với các bước thực hiện là:

Bước 1: Thu thp d liu

Để tạo tập dữ liệu cho bước đào tạo, chúng tôi đã chụp ảnh với độ phân giải cao (6000x4000 pixel) với 7 hướng xung quanh rocker arm, đảm bảo bao phủ toàn bộ bề mặt ngồi rocker arm. Sau đó, mỗi hình ảnh sẽđược chia thành các hình ảnh nhỏhơn bằng cách trượt hình chữ nhật có kích thước w x h dọc theo hướng x với bước w / 2 và hướng y với bước h / 2 (Hình 4.6). Bằng cách này, chúng tơi có thể giảm sốlượng hình ảnh đã chụp được sử dụng đểđào tạo. Điều này có thể tiết kiệm rất nhiều thời gian.

Một phần của tài liệu Hệ thống tự động kiểm tra ngoại quan sản phẩm rocker arm dựa trên xử lý ảnh và công nghệ học sâu (Trang 38)

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

(84 trang)