우리가 작업하고있는 프로젝트를 바탕으로 흥미로운 토론을했습니다. 왜 템플릿 매칭 알고리즘보다 CNN 육안 검사 시스템을 사용합니까?
배경 : 특정 유형의 물체가 "깨지거나"결함이 있는지 여부를 감지하는 간단한 CNN 비전 시스템 (웹캠 + 랩톱)의 데모를 보여주었습니다.이 경우에는 PCB 회로 보드입니다. 내 CNN 모델에는 정적 배경에서 적절하고 파손 된 회로 기판 (각각 약 100 개 이미지)의 예가 표시되었습니다. 우리의 모델은 사전 훈련 된 VGG16 (imagenet)의 처음 몇 개의 conv / maxpool 레이어를 사용한 다음 몇 개의 밀도를 가진 훈련 가능한 conv / pool을 몇 개 더 추가하여 분류를위한 dim-3 1 개의 핫 인코딩 된 벡터 출력을 생성했습니다. : (is_empty, has_good_product, has_defective_product).
이 모델은 매우 쉽게 훈련되었으며 99 % 검증에 도달했습니다. 또한 데이터 세트가 작다는 것을 알기 때문에 다양한 데이터 확대에 대해 교육했습니다. 실제로는 10 개 중 9 회 정도 작동했지만 동일한 회로 보드의 몇 가지 임의의 변환 / 회전으로 인해 때때로 반대 클래스에 배치 될 수 있습니다. 아마도보다 적극적인 데이터 확대가 도움이되었을 것입니다. 어쨌든 프로토 타입 컨셉 프로젝트는 기뻤습니다.
이제 우리는 다른 엔지니어와 그의 동료에게 발표했고, 그는 NN이 너무 과도하다는 주장을 제기했습니다. 템플릿 일치 만 사용해야하는데 왜 CNN을 원할까요?
특정 응용 프로그램 (예 : 검사 할 다른 부품)에서 접근 방식이 더 나은 이유에 대해서는 큰 답을 얻지 못했습니다. 우리가 제기 한 몇 가지 사항 :
1) 불확실성 (예 : 데이터 확대)
2) 온라인 학습을 통해 시스템을 개선 할 수 있습니다 (예 : 사람이 소프트웨어에 잘못된 예를 알려줄 수 있음)
3) 기존의 컴퓨터 비전 알고리즘에서와 같이 임계 값을 설정할 필요가 없습니다. 이러한 유형의 검사 작업에 CNN 시스템의 장점이 더 있다고 생각하십니까? 어떤 경우에 템플릿 일치보다 낫습니까?
심층 NN이 작업 기술이 될 수있는 경우에 대한 몇 가지 무작위 아이디어 : 입력의 일부로 3D 심도 감지가 필요한 시스템 또는 변형 / 스트레칭 / 정지 될 수 있지만 여전히 "좋은"모든 유형의 개체 결함이 없음 (예 : 박제 된 동물, 전선 등). 당신의 생각을 듣고 궁금합니다 :)