Kiểm thử hồi tố một quy trình kiểm tra: chứng minh nó hoạt động trước khi triển khai

Cách mặc định để biết một quy trình kiểm tra có hoạt động hay không là lắp đặt rồi quan sát. Đó là một thử nghiệm tốn kém, vì thứ đang được kiểm tra chính là một khuyết tật lọt đến tay khách hàng, và bạn chỉ biết được câu trả lời sau khi điều đó đã xảy ra.
Kiểm thử hồi tố là giải pháp thay thế. Bạn tập hợp các hình ảnh có tình trạng thực tế đã biết trước, chạy toàn bộ công thức trên từng hình ảnh đó theo cách ngoại tuyến, và có được số liệu lọt lỗi cùng loại oan trước khi trạm kiểm soát bất kỳ chi tiết thật nào. Đây không phải ý tưởng mới. Đó là điều mọi thiết bị đo khác trên xưởng đều phải trải qua trước khi được tin cậy, và không có lý do gì để quy trình kiểm tra AI được miễn trừ.
Kiểm thử hồi tố thực sự làm gì
Cơ chế đơn giản đến mức có thể mô tả trong một câu: lấy một tập ảnh chụp, gán nhãn tình trạng thực sự của từng ảnh, chạy công thức đang sử dụng trên toàn bộ số ảnh đó, rồi so sánh phán quyết của công thức với nhãn đã gán.
Hai chi tiết tạo nên sự khác biệt giữa một bài kiểm tra thực sự và một buổi trình diễn. Điều đầu tiên là nó chạy toàn bộ whole công thức, mọi mô hình và mọi quy tắc, chứ không phải một mô hình đơn lẻ. Một trạm thường gặp lỗi ở điểm nối: hai mô hình đều hoạt động đúng riêng lẻ, nhưng quy tắc kết luận lại kết hợp chúng sai. Kiểm tra từng mô hình riêng biệt sẽ không bao giờ phát hiện ra điều đó.
Điều thứ hai là kết quả đầu ra là một ma trận nhầm lẫn mà bạn có thể nhấp vào để xem chi tiết. Một con số cho biết có bốn trường hợp lọt lỗi chỉ là điểm khởi đầu. Việc có thể mở bốn hình ảnh đó ra và xem chúng có điểm chung gì mới là thứ giúp bạn khắc phục nguyên nhân, thay vì chỉnh ngưỡng cho đến khi con số trông đẹp hơn.
Xây dựng một tập kiểm tra không thiên vị có lợi cho bạn
Đây là nơi hầu hết các quy trình xác thực đi chệch hướng, và chệch theo một hướng có thể đoán trước. Nếu để tự do lựa chọn, người ta thường tập hợp các trường hợp đạt rõ ràng và không đạt rõ ràng, vì đó là những chi tiết dễ gán nhãn một cách chắc chắn. Các con số thu được trông rất đẹp nhưng không trụ nổi khi đưa vào thực tế sản xuất.
Đưa vào những trường hợp gây tranh cãi
Những chi tiết mà chính các nhân viên kiểm tra của bạn cũng bất đồng ý kiến là những hình ảnh có giá trị nhất bạn có. Đó chính là nơi ranh giới quyết định thực sự nằm ở đó. Một tập kiểm tra thiếu chúng chỉ đo được câu hỏi dễ.
Bao quát sự biến động thực tế
Các lô nguyên liệu khác nhau, các ca làm việc khác nhau, gá lắp gần hết tuổi thọ cũng như gá còn mới. Nếu tập dữ liệu chỉ lấy từ một buổi chiều, nó chỉ mô tả đúng buổi chiều đó.
Gán nhãn theo sự đồng thuận, không phải theo một người
Nhãn chuẩn là một quyết định, không phải một quan sát. Nếu hai kỹ sư gán nhãn các chi tiết ranh giới khác nhau, sự bất đồng đó là một vấn đề về đặc tả, và tốt hơn là phát hiện ra ngay bây giờ thay vì sau khi nghiệm thu.
Giữ lại và chạy lại
Một tập kiểm tra chỉ dùng một lần chỉ là một buổi trình diễn. Hãy chạy lại sau mỗi lần thay đổi công thức, nếu không bạn sẽ tinh chỉnh một con số trong khi âm thầm làm hỏng một con số khác. Các tập kiểm tra có thể di chuyển giữa các camera dưới dạng tệp giúp việc này khả thi trên cả một đội thiết bị.
Một phép kiểm tra hợp lý hữu ích cho bất kỳ tập kiểm tra nào: nếu công thức đạt điểm tuyệt đối ngay lần chạy đầu tiên, nhiều khả năng tập kiểm tra quá dễ chứ không phải công thức hoàn hảo. Những chi tiết ranh giới thực sự sẽ tạo ra một vài bất đồng, và đó mới chính là những trường hợp đáng chú ý.
Độ lặp lại, và vì sao các nhóm chất lượng yêu cầu nó
Độ chính xác trong một lần chạy không đồng nghĩa với độ tin cậy. Một trạm có thể đúng trung bình nhưng vẫn không thể sử dụng được nếu nó đưa ra kết quả khác nhau cho cùng một chi tiết ở các lần chạy khác nhau, vì cách xử lý phụ thuộc vào kết quả bạn tình cờ nhận được.
Đây chính là điều một nghiên cứu độ lặp lại và độ tái lập của thiết bị đo đo lường, và điều này vốn đã là thông lệ đối với thước cặp, đồng hồ đo lỗ hay máy đo tọa độ. Áp dụng điều này cho một quy trình kiểm tra thị giác nghĩa là cho cùng các chi tiết đi qua nhiều hơn một lần và so sánh các phán quyết. Khi kết quả khác nhau, bạn đã phát hiện ra hoặc là những chi tiết ranh giới thực sự nằm đúng trên ranh giới quyết định, hoặc là một nguồn biến động ngay trong chính trạm đó: ánh sáng không cố định như mọi người vẫn tưởng, một chi tiết được đặt vào khác đi mỗi lần, hoặc độ phơi sáng bị trôi.
Đây cũng là một câu hỏi hợp lý để đặt ra với nhà cung cấp. Yêu cầu gauge R&R trên một hệ thống thị giác sẽ nhanh chóng cho bạn biết liệu họ đã từng triển khai trong sản xuất theo quy định hay chưa, hay họ chỉ định gửi cho bạn một con số phần trăm độ chính xác duy nhất rồi hy vọng là đủ.
Tỷ lệ đạt theo từng trạm giúp phân biệt hai vấn đề hoàn toàn khác nhau
Khi một trạm đã đi vào hoạt động, cách nhìn hữu ích nhất không phải là tỷ lệ đạt tổng thể. Đó là tỷ lệ đạt được chia nhỏ theo từng camera, dây chuyền hoặc máy, vì hình dạng của sự phân tách đó cho bạn biết bạn đang gặp loại vấn đề nào.

Một trạm ngoại lệ như vậy hầu như không bao giờ là vấn đề của mô hình, vì mọi trạm đều chạy cùng một mô hình. Đó là một khác biệt vật lý: một gá lắp có độ rơ lớn hơn, một nguồn sáng đã bị trôi hoặc bị va chạm, một góc nhìn mà chi tiết xuất hiện khác đi, hoặc một khác biệt quy trình thực sự tại vị trí đó. Con số tổng hợp sẽ che giấu điều này hoàn toàn, và việc lấy trung bình trên cả một đội thiết bị chính là lý do một trạm có vấn đề có thể ẩn mình không bị phát hiện trong nhiều tháng.
Trường hợp ngược lại cũng đáng nhắc đến. Nếu tất cả các trạm cùng sụt giảm, đó không phải là vấn đề gá lắp, mà là vấn đề quy trình hoặc mô hình. Cùng một dữ liệu, hai hướng điều tra hoàn toàn khác nhau, và việc phân tách dữ liệu chính là thứ cho bạn biết bạn đang ở trường hợp nào.
Một trình tự xác thực bạn có thể đưa vào đặc tả
- Thống nhất tập khuyết tật. Cả hai bên cùng ký xác nhận chi tiết nào là khuyết tật, bao gồm cả những chi tiết ranh giới. Đây là bước ngăn ngừa tranh cãi về sau.
- Xây dựng tập kiểm tra từ dữ liệu sản xuất thực tế, bao trùm nhiều lô và ca làm việc, với nhãn chuẩn được gán theo sự đồng thuận.
- Chạy toàn bộ công thức ngoại tuyến và ghi lại số lượng lọt lỗi và loại oan dưới dạng số đếm, không phải phần trăm độ chính xác.
- Mở từng trường hợp lỗi ra xem. Mọi trường hợp lọt lỗi và loại oan đều được xem xét. Các mô hình lặp lại trong đó mới thực sự là kết quả của quá trình này.
- Chạy hai lần và so sánh, để độ lặp lại là một con số được đo thực tế chứ không phải một giả định.
- Thiết lập độ nhạy theo chi phí, dựa trên số lượng lọt lỗi và loại oan so với chi phí mà mỗi loại gây ra cho bạn. Đây là một quyết định kinh doanh, không phải sở thích kỹ thuật.
- Lưu giữ tập kiểm tra cùng với công thức và chạy lại như một bước nghiệm thu sau bất kỳ thay đổi nào, kể cả sau khi huấn luyện lại.
Có hai điều trong danh sách đó đáng được nhấn mạnh. Nó không hề chứa bất kỳ con số độ chính xác nào, đây là chủ ý, vì những lý do đã được trình bày trong bài viết của chúng tôi về lọt lỗi và loại oan. Và bước bảy là bước suy giảm đầu tiên: một tập kiểm tra không được chạy lại sau khi huấn luyện lại chính là lý do một trạm đã vượt qua xác thực vào tháng ba lại âm thầm ngừng hoạt động đúng vào tháng sáu.
Tất cả những điều này không có gì đặc thù riêng cho AI, và đó chính là ý chính. Đó chỉ là cùng một kỷ luật mà một nhóm chất lượng vốn đã áp dụng cho mọi thiết bị đo lường khác, nay áp dụng cho một thiết bị mới hơn mà thôi. Vị trí của điều này trong thiết kế trạm rộng hơn được trình bày trong hướng dẫn của chúng tôi về hệ thống thị giác máy, và nếu bạn đang xác thực một trạm phát hiện bất thường cụ thể, các chi tiết ranh giới còn quan trọng hơn bình thường, vì điểm ngắt chỉ là một cài đặt độ nhạy duy nhất chứ không phải một ranh giới đã được học.
Frequently Asked Questions
Kiểm thử hồi tố trong thị giác máy là gì?
Kiểm thử hồi tố chạy toàn bộ công thức kiểm tra một cách ngoại tuyến trên một tập hình ảnh có tình trạng thực tế đã biết trước, và so sánh phán quyết của công thức với nhãn chuẩn đó. Nó cho ra số liệu lọt lỗi và loại oan trước khi trạm kiểm soát bất kỳ hoạt động sản xuất thực tế nào, thay thế cho giải pháp tốn kém là phát hiện hiệu năng thực tế khi đã đưa vào sản xuất, nơi chế độ lỗi đang được kiểm tra chính là một khuyết tật lọt đến tay khách hàng. Điều quan trọng là nó chạy toàn bộ công thức, mọi mô hình và mọi quy tắc, vì các trạm thường gặp lỗi ở điểm nối giữa các mô hình hoạt động đúng riêng lẻ.
Làm thế nào để xây dựng một tập kiểm tra tốt cho quy trình kiểm tra thị giác?
Đưa vào các chi tiết ranh giới mà chính các nhân viên kiểm tra của bạn còn tranh cãi, vì đó chính là nơi ranh giới quyết định thực sự nằm ở đó. Bao quát sự biến động thực tế: các lô nguyên liệu khác nhau, các ca làm việc khác nhau, gá lắp đã mòn cũng như gá còn mới. Gán nhãn chuẩn theo sự đồng thuận giữa nhiều hơn một người, vì sự bất đồng về các chi tiết ranh giới là một vấn đề đặc tả đáng được phát hiện sớm. Sau đó giữ lại tập dữ liệu và chạy lại sau mỗi lần thay đổi công thức. Nếu một công thức đạt điểm tuyệt đối ngay lần chạy đầu tiên, nhiều khả năng tập kiểm tra quá dễ chứ không phải công thức hoàn hảo.
Có thể chạy nghiên cứu gauge R&R trên hệ thống thị giác AI không?
Có, và đây là một yêu cầu hợp lý. Trong thực tế, điều này nghĩa là cho cùng các chi tiết đi qua nhiều hơn một lần và so sánh các phán quyết. Sự khác biệt cho thấy hoặc là những chi tiết ranh giới thực sự nằm trên ranh giới quyết định, hoặc là một nguồn biến động ngay trong chính trạm đó, chẳng hạn ánh sáng không cố định như giả định, chi tiết được đặt không nhất quán, hoặc độ phơi sáng bị trôi. Độ lặp lại của thiết bị đo vốn đã là thông lệ đối với thước cặp và máy đo tọa độ, và một quy trình kiểm tra tự động cũng không nên là ngoại lệ.
Vì sao nên xem tỷ lệ đạt theo từng trạm thay vì tỷ lệ đạt tổng thể?
Vì hình dạng của sự phân tách đó cho bạn biết bạn đang gặp loại vấn đề nào. Nếu một trạm có kết quả thấp hơn hẳn các trạm khác trong khi chạy cùng một mô hình, gần như chắc chắn đó là vấn đề vật lý: độ rơ của gá, một nguồn sáng đã bị trôi, một góc nhìn mà chi tiết xuất hiện khác đi. Nếu tất cả các trạm cùng sụt giảm, thì đó là vấn đề quy trình hoặc mô hình. Đây là hai hướng điều tra hoàn toàn khác nhau, và một con số tổng hợp sẽ che giấu sự khác biệt đó, đây chính là lý do một trạm có vấn đề có thể ẩn mình không bị phát hiện trong nhiều tháng.
Nên chạy lại tập kiểm tra bao lâu một lần?
Sau mỗi lần thay đổi công thức, kể cả sau khi huấn luyện lại. Trong thực tế, đây là bước suy giảm đầu tiên, và việc bỏ qua bước này chính là lý do một trạm đã vượt qua xác thực trong một tháng lại âm thầm ngừng hoạt động vài tháng sau đó. Coi việc chạy lại như một cổng nghiệm thu, với phiên bản của tập kiểm tra được quản lý song song với công thức, mới là điều giữ cho việc xác thực có ý nghĩa thay vì chỉ là một hoạt động một lần khi nghiệm thu.
Đặc tả xác thực có nên bao gồm mục tiêu độ chính xác không?
Không nên. Độ chính xác phần lớn phụ thuộc vào việc tập dữ liệu tình cờ có bao nhiêu chi tiết tốt và chi tiết lỗi, nên nó có thể trông rất đẹp mà không bắt được gì cả, và nó gộp trung bình hai loại lỗi có chi phí rất khác nhau. Hãy quy định rõ: số lượng lọt lỗi trên một tập khuyết tật đã thống nhất, tỷ lệ loại oan tính theo phần trăm sản lượng, độ lặp lại đã được chứng minh qua ít nhất hai lần chạy, và một tập kiểm tra được lưu giữ và chạy lại sau bất kỳ thay đổi nào. Bốn tiêu chí đó đều đo lường được, có ý nghĩa thực tế, và khó bị thao túng.
Xem Overview AI trên linh kiện của bạn
Gửi cho chúng tôi ảnh chụp linh kiện hoặc lỗi của bạn, một kỹ sư thị giác sẽ cho bạn biết Overview có phát hiện được không, phần lớn hệ thống chạy trên dây chuyền trong vài ngày.
Bài viết liên quan
Lọt lỗi và loại oan
Vì sao độ chính xác là con số sai, và bốn con số thay thế nó.
Đọc thêm →Anomaly Detection From Good Samples Only
Nơi các chi tiết ranh giới quan trọng nhất, vì điểm ngắt chỉ là một cài đặt duy nhất.
Đọc thêm →Căn chỉnh chi tiết trong thị giác máy
Vì sao lỗi căn chỉnh cần có cột riêng trong quá trình xác thực.
Đọc thêm →