Tôi đã có một cuộc thảo luận thú vị được đưa ra dựa trên một dự án mà chúng tôi đang thực hiện: tại sao sử dụng hệ thống kiểm tra trực quan CNN qua thuật toán khớp mẫu?
Bối cảnh: Tôi đã cho thấy bản demo của một hệ thống tầm nhìn CNN đơn giản (webcam + máy tính xách tay) đã phát hiện xem một loại đối tượng cụ thể có bị "hỏng" / bị lỗi hay không - trong trường hợp này là bảng mạch PCB. Mô hình CNN của tôi đã được hiển thị các ví dụ về các bảng mạch thích hợp và bị hỏng (khoảng 100 hình ảnh của mỗi bảng) trên nền tĩnh. Mô hình của chúng tôi đã sử dụng một vài lớp đối lưu / maxpool đầu tiên của VGG16 được đào tạo trước (trên fantenet), và sau đó chúng tôi đã thêm một vài đối tượng / nhóm có thể huấn luyện được, với một vài mật độ, dẫn đến đầu ra được mã hóa theo kiểu dim-3 : (is_empty, has_good_product, has_defective_product).
Mô hình được đào tạo khá dễ dàng và đạt 99% xác nhận acc không có vấn đề gì; chúng tôi cũng được đào tạo với nhiều dữ liệu khác nhau vì chúng tôi biết rằng tập dữ liệu của chúng tôi rất nhỏ. Trong thực tế, nó hoạt động khoảng 9 lần trong số 10, nhưng một vài bản dịch / phép quay ngẫu nhiên của cùng một bảng mạch đôi khi sẽ đưa nó vào lớp đối diện. Có lẽ tăng cường dữ liệu tích cực hơn sẽ có ích. Dù sao, đối với một dự án nguyên mẫu, chúng tôi rất vui.
Bây giờ chúng tôi đã trình bày với một kỹ sư khác và đồng nghiệp của anh ấy, và anh ấy đưa ra lập luận rằng các NN quá mức cho việc này, chỉ nên sử dụng so khớp mẫu, tại sao người ta lại muốn làm CNN?
Chúng tôi không có câu trả lời tuyệt vời cho lý do tại sao phương pháp của chúng tôi có thể tốt hơn trong một số ứng dụng nhất định (ví dụ: các phần khác để kiểm tra). Một số điểm chúng tôi đã đưa ra:
1) Mạnh mẽ hơn đối với bất biến (thông qua việc tăng dữ liệu)
2) Có thể học trực tuyến để cải thiện hệ thống (ví dụ: con người có thể cho phần mềm biết ví dụ nào bị lỗi)
3) Không cần thiết lập các ngưỡng như trong thuật toán thị giác máy tính cổ điển Các bạn nghĩ sao, có nhiều lợi thế hơn cho hệ thống CNN cho loại nhiệm vụ kiểm tra này không? Trong trường hợp nào nó sẽ tốt hơn so với khớp mẫu?
Một vài ý tưởng ngẫu nhiên nữa khi các NN sâu có thể là công nghệ cho công việc: đối với các hệ thống yêu cầu cảm biến độ sâu 3D như một phần của đầu vào, hoặc bất kỳ loại đối tượng nào có thể bị biến dạng / kéo dài / bị cắt xén nhưng vẫn "tốt" và không bị lỗi (ví dụ như thú nhồi bông, dây điện, v.v.). Tò mò muốn nghe suy nghĩ của bạn :)