이것은 매우 어려운 문제입니다. 나는 몇 년 동안 그 일을해온 팀의 일원이었고 다른 응용 프로그램을 오랫동안 개발하고 지원해 왔으며, 찌그러짐 감지는 특히 까다로운 문제이며 처음 보는 것보다 훨씬 어렵다고 말할 수 있습니다.
실험실 조건 또는 알려진 이미지에서 알고리즘이 작동하는 것은 한 가지 일입니다. 주차장에서 보이는 자동차와 같은 "자연스러운"이미지에 정확하고 강력한 시스템을 개발하려면 몇 년 동안 팀을 구성해야 할 것입니다. 알고리즘 생성의 핵심 문제 외에도 많은 엔지니어링 어려움이 있습니다.
테스트 한 샘플 코드는 나쁜 시작이 아닙니다. 덴트의 어두운 오른쪽 주위의 가장자리를 찾을 수 있으면 자동차의 가장자리 맵과 딩을 비교하고 동일한 조명으로 동일한 각도에서 이미지가 잘 알려진 알려진 좋은 자동차의 가장자리 맵을 비교할 수 있습니다. 조명을 제어하면 상당히 도움이됩니다.
고려해야 할 문제는 다음과 같습니다.
- 조명 (처음보다 훨씬 어렵습니다)
- 조립 된 외부 패널의 예상 3D 표면 (예 : CAD 데이터)
- 덴트 특성화 기준 : 면적, 깊이, 프로파일 등
- 오 탐지 및 오 탐지 기준
- 덴트 데이터를 저장하거나 덴트를 자동차 모델 (또는 버터 플라이 레이아웃)에 저장하는 수단
- "진정한"덴트 특성을 측정하는 방법론 및 장치 : 깊이, 면적 등
- 무작위로 차량을 샘플링하여 광범위한 덴트 데이터베이스
- 다른 페인트 색상과 마감 처리
1. 조명
Martin B가 위에서 정확하게 언급했듯이이 문제에는 올바른 조명이 중요합니다. 구조화 된 조명이 양호하더라도 형상 선 근처의 작은 움푹 들어간 곳, 패널 사이의 간격, 핸들 등을 감지하는 데 큰 어려움이 있습니다.
구조적 조명에 대한 Wikipedia 항목은 약간 얇지 만 원리를 이해하기위한 시작입니다.
http://en.wikipedia.org/wiki/Structured_light
연한 줄무늬를 사용하여 굴곡 (움푹 들어간 곳) 및 돌출 부분 (진드기)을 감지 할 수 있습니다. 딩을 보려면 광원과 자동차 사이의 상대적인 움직임이 필요합니다. 라이트 + 카메라가 자동차를 기준으로 함께 움직이거나 자동차가 라이트 + 카메라를 지나서 움직입니다.
인딩 및 아웃 딩은 라이트 스트라이프의 가장자리에서 볼 때 특징적인 외관을 갖지만, 주어진 덴트의 검출 가능성은 라이트 스트라이프의 폭에 대한 덴트의 크기 및 깊이에 의존한다. 자동차의 곡률은 복잡하기 때문에 카메라에 일관된 조명 줄무늬를 표시하는 것은 매우 어렵습니다. 라이트 스트라이프가 차체를 가로 질러 이동함에 따라, 라이트 스트라이프의 곡률 및 강도도 달라질 수 있습니다.
하나의 부분적인 해결책은 카메라와 광 스트라이프가 검사되는 표면 부분의 법선 (3D 수직)에 대해 항상 일정한 각도로 유지되도록하는 것입니다. 실제로 로봇은 신체 표면에 대해 카메라를 정확하게 움직여야합니다. 로봇을 정확하게 움직이려면 차체의 자세 (위치 및 3D 각도)에 대한 지식이 필요합니다. 이는 그 자체로 어려운 문제입니다.
자동차 애플리케이션을 검사하려면 조명을 완전히 제어해야합니다. 즉, 선택한 조명을 알려진 위치에 배치 할뿐만 아니라 다른 모든 조명도 차단합니다. 이것은 상당히 큰 인클로저를 의미합니다. 자동차의 패널은 구면과 거의 같이 바깥쪽으로 구부러져 있기 때문에 주변의 모든 광원에서 빛을 반사합니다. 이 문제를 크게 단순화하기 위해 검은 벨벳으로 덮힌 인클로저 내부에 고주파 형광등을 사용할 수 있습니다. 검사 응용 프로그램과 같은 극한 상황에 처해야하는 경우가 종종 있습니다.
2. 3D 표면
자동차의 외부 표면은 복잡한 곡선으로 구성됩니다. 수상한 장소가 딩인지 확인하려면 해당 장소를 자동차의 알려진 기능과 비교해야합니다. 즉, 카메라의 2D 이미지를 특정 각도에서 본 3D 모델과 일치시켜야합니다. 이것은 신속하게 해결되는 문제가 아니며 일부 회사가 전문화하기에는 충분하지 않습니다.
3. 결함 특성 분석
학술 연구 또는 실험실 테스트의 경우 기존 방법을 약속하거나 개선하는 알고리즘을 개발하는 것으로 충분할 수 있습니다. 실제 상용 또는 산업용으로이 문제를 올바르게 해결하려면 감지하려는 크기 덴트에 대해 매우 상세한 사양이 필요합니다.
우리가이 문제를 해결할 때, 찌그러짐에 대한 합리적인 산업 또는 국가 표준은 없었습니다 (3D 변형). 즉, 면적, 깊이 및 모양으로 함몰 부를 특징 짓는 합의 된 기술이 없었다. 우리는 방금 업계 전문가들이 나쁘거나 나쁘지 않으며 심각도면에서 한계가 있다고 동의 한 샘플을 받았습니다. 딩은 (일반적으로) 3D 표면이 바깥쪽으로 휘어지는 3D 들여 쓰기이므로 딩의 "깊이"를 정의하는 것도 까다 롭습니다.
큰 딩은 감지하기 쉽지만 덜 일반적입니다. 숙련 된 자동차 작업자는 훈련받지 않은 관찰자보다 훨씬 빠르게 차체를 신속하게 스캔하고 새끼 손가락의 크기가 얕게 뾰족한 것을 찾을 수 있습니다. 자동화 시스템의 비용을 정당화하려면 숙련 된 관찰자의 능력과 일치해야합니다.
4. 검출 오류의 기준
조기에 수용 가능한 오탐과 오탐의 기준을 설정해야합니다. R & D 프로젝트 로이 문제를 연구하고 제품을 개발하지 않으려는 경우에도 탐지 기준을 정의하십시오.
위음성 : 찌그러짐 있음, 감지되지 않음 위양성 : 흠이없는 영역이 찌그러짐으로 식별 됨
일반적으로 트레이드 오프가 있습니다. 감도를 높이면 더 많은 딩을 발견하고 (거짓 감소) 더없는 딩을 찾을 수 있습니다 (거짓 양성 증가). 알고리즘이 실제로 수행하는 것보다 성능이 더 우수하다는 것을 스스로 확신시키는 것은 매우 쉽습니다. 우리의 자연스러운 편향은 알고리즘에 의해 감지 된 결함을 발견하고 감지되지 않은 결함을 설명하는 것입니다. 맹목적이고 자동화 된 테스트를 수행합니다. 가능한 경우 다른 사람이 딩을 측정하고 실제 측정 값이 무엇인지 모르도록 심각도를 지정하도록하십시오.
5. 데이터 저장 및 / 또는지도
덴트의 강도와 차체의 위치가 특징입니다. 해당 위치를 알려면 위에서 언급 한 2D-to-3D 통신 문제를 해결해야합니다.
6. 함몰 부의 "진정한"형태 결정
들어간 곳 치기는 측정하기 어렵습니다. 표면적과 깊이가 동일한 날카로운 움푹 들어간 곳과 둥근 움푹 들어간 곳이 다르게 나타납니다. 기계적 수단으로 움푹 들어간 곳을 측정하는 것은 주관적인 판단으로 이어지며, 더 이상 그렇지 않으면 수십 미터를 측정해야 할 때 깊이 게이지, 눈금자 등을 사용하는 것이 매우 지루합니다.
이것은 제조를위한 결함 감지 프로젝트에서 해결하기 어려운 엔지니어링 문제 중 하나입니다. 결함을 측정하고 특성화하는 방법은 무엇입니까? 그렇게하는 표준이 있다면, 그 표준은 검사 시스템이 측정하는 것과 밀접한 관련이 있습니까? 만약 검사 시스템이 "발견해야 할"딩을 찾지 못하면 누가 책임을 져야할까요?
즉, 검사 시스템이 알려진 결함 샘플에 대해 충분히 잘 작동하면 사용자는 결국 결함을 신뢰할 수 있으며 시스템 자체가 결함 심각도를 정의하는 표준이됩니다.
7. 덴트의 광범위한 데이터베이스
이상적으로는 제조 업체가 까다로운 차량의 다른 위치에 다른 심각도의 덴트에 대한 수천 개의 샘플 이미지가있을 수 있습니다. 조립 과정에서 사고로 인한 찌그러짐을 찾는 데 관심이있는 경우 해당 종류의 데이터를 수집하는 데 시간이 오래 걸릴 수 있습니다. 조립 과정에서 발생하는 찌그러짐은 일반적이지 않습니다.
사고 나 환경 피해로 인한 찌그러짐을 찾는 데에만 관심이 있다면 다른 문제입니다. 움푹 들어간 곳의 유형은 자동차 조립 공장 내부의 우연한 충돌로 인한 것과 다릅니다.
8. 다양한 페인트 색상 처리
하기 다양한 레벨의 명암 이미지에서 에지를 감지 할 때 엣지 디텍터가 상당히 견고 할 수 있지만, 다양한 자동차 페인트 및 마감재에 대해 "다양한 레벨의 명암"이 실제로 무엇을 의미하는지 아는 것은 매우 실망 스러울 수 있습니다. . 반짝이는 검은 색 차에 잘 어울리는 가벼운 줄무늬는 오래된 페인트가 달린 흰색 차에서는 거의 감지 할 수 없습니다.
대부분의 카메라는 다이나믹 레인지가 상대적으로 제한적이므로 반짝이는 검은 색 표면과 흰색의 칙칙한 표면 모두에 대해 명암을 얻는 것이 까다 롭습니다. 조명 강도를 자동으로 제어해야 할 가능성이 큽니다. 그것도 어렵다.