CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI
1.4 Nội dung nghiên cứu
Nghiên cứu các phương pháp tiếp cận khác nhau dựa trên học máy, học sâu và xử lý ảnh đểứng dụng cho quá trình phát hiện lỗi tựđộng trên sản phẩm cị mổ. Từđó phát triển được hệ thống kiểm tra ngoại quan sản phẩm rocker arm có các tính năng sau:
- Phát hiện lỗi xước trên bề mặt và cạnh của rocker arm.
- Phát hiện lỗi nhám bên trong lỗ trục chính và lỗ con lăn của rocker
arm.
- Phát hiện lỗi vát mép trên lỗ trục chính của rocker arm.
27
CHƯƠNG 2. THUẬT TOÁN PHÁT HIỆN LỖI LỆCH TRỤC VÀ LỖI VÁT
MÉP 2.1 Thuật toán RANSAC
2.1.1 Khái niệm
RANSAC (Random sample consensus) là một phương pháp lặp đi lặp lại để ước tính các tham số mơ hình tốn học từ một tập dữ liệu quan sát có chứa các giá trị ngoại lệ, khi các ngoại lệ không ảnh hưởng đến các giá trịước tính. Do đó, nó cũng có có thể hiểu là một phương pháp phát hiện ngoại lệ. Đây là một thuật tốn khơng xác định theo nghĩa là nó chỉ tạo ra một kết quả hợp lý với một xác suất nhất định, với xác suất này tăng lên khi cho phép nhiều lần lặp hơn. Thuật tốn được cơng bố lần đầu bởi Fischler và Bolles tại SRI International vào năm 1981. Họđã sử dụng RANSAC để giải quyết bài tốn xác định vị trí, trong đó mục tiêu là xác định các điểm trong khơng gian chiếu lên một hình ảnh thành một tập hợp các điểm mốc với các vịtrí đã biết.
Hình 2.1 Ví dụ về RANSAC trong tìm đường thẳng 2D
Một giảđịnh cơ bản là dữ liệu bao gồm "phần tử nội", tức là dữ liệu mà sự phân bố của nó có thểđược giải thích bằng một số bộ thơng số mơ hình, mặc dù có thể bị nhiễu và "phần ngoại lai" là dữ liệu không phù hợp với mơ hình. RANSAC cũng giảđịnh rằng, với một tập hợp (thường là nhỏ) các nội nhân, tồn tại một quy trình có thểước tính các tham số của mơ hình phù hợp với dữ liệu này một cách tối ưu.
2.1.2 Tổng quan
Thuật toán RANSAC là một kỹ thuật học để ước tính các tham số của mơ hình bằng cách lấy mẫu ngẫu nhiên dữ liệu quan sát. Đưa ra một tập dữ liệu có các phần tử dữ liệu chứa cả phần tử nội và phần ngoại lai, RANSAC sử dụng sơ đồ biểu quyết để tìm ra kết quả phù hợp tối ưu. Các phần tử dữ liệu trong tập dữ liệu được sử dụng để bỏ phiếu cho một hoặc nhiều mơ hình. Việc thực hiện sơ đồ bỏ phiếu này dựa trên hai giảđịnh: các đặt trưng của các phần từ ngoại lệ sẽ không bỏ phiếu cho bất kỳmơ hình đơn lẻ nào (ít ngoại lệ) và có đủ các đặc trưng để quyết định về một mơ hình tốt (ít dữ liệu bị thiếu). Thuật toán RANSAC vềcơ bản bao gồm hai bước được lặp đi lặp lại:
28 - Trong bước đầu tiên, một tập hợp con mẫu chứa các mục dữ liệu tối thiểu được chọn ngẫu nhiên từ tập dữ liệu đầu vào. Mơ hình phù hợp và các tham số mơ hình tương ứng được tính chỉ bằng cách sử dụng các phần tử của tập hợp con mẫu này. Sốlượng của tập con mẫu là nhỏ nhất đủđểxác định các tham số của mơ hình.
- Trong bước thứ hai, thuật toán kiểm tra xem phần tử nào của toàn bộ tập dữ liệu phù hợp với mơ hình được khởi tạo bằng các tham sốmơ hình ước tính thu được từbước đầu tiên. Một phần tử dữ liệu sẽđược coi là ngoại lệ nếu nó khơng phù hợp với mơ hình phù hợp được khởi tạo.
Tập hợp các nội số thu được cho mơ hình phù hợp được gọi là tập hợp đồng thuận. Thuật toán RANSAC sẽ lặp đi lặp lại hai bước trên cho đến khi tập hợp đồng thuận thu được trong một lần lặp nhất định có đủ nội số.
Đầu vào cho thuật toán RANSAC là một tập hợp các giá trị dữ liệu được quan sát, một cách đểđiều chỉnh một số loại mơ hình với các quan sát và một số tham số tin cậy . RANSAC đạt được mục tiêu của mình bằng cách lặp lại các bước sau:
- Chọn một tập hợp con ngẫu nhiên của dữ liệu gốc. Gọi tập hợp con này là tập hợp con giảđịnh.
- Một mơ hình được trang bị cho một tập hợp các giá trị giảđịnh.
- Tất cả các dữ liệu khác sau đó được kiểm tra dựa trên mơ hình được trang bị. Những điểm phù hợp tốt với mơ hình ước tính, theo một số hàm tổn thất cụ thể của mơ hình , được coi là một phần của tập hợp đồng thuận . - Mơ hình ước tính là tốt một cách hợp lý nếu có đủ nhiều điểm được xếp vào
một phần của tập hợp đồng thuận.
- Sau đó, mơ hình có thểđược cải thiện bằng cách sử dụng lại tất cả các thành viên của tập hợp đồng thuận.
Quy trình này được lặp lại một số lần cốđịnh, mỗi lần tạo ra một mơ hình bị từ chối do quá ít điểm là một phần của tập hợp đồng thuận hoặc một mơ hình đã được tinh chỉnh cùng với kích thước tập hợp đồng thuận tương ứng. Trong trường hợp sau, chúng tơi giữmơ hình đã tinh chỉnh nếu tập hợp đồng thuận của nó lớn hơn mơ hình đã lưu trước đó.
Hình 2.2 Các ngoại lệ
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 dụng
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 Thuật 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 niệm 3.1.1 Khái niệm
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