윤곽 일치-윤곽 변위 찾기


17

동일한 물체가있는 두 이미지에서 윤곽선을 찾았으며이 물체의 변위 및 회전을 찾고 싶습니다. 이 윤곽선의 회전 경계 상자와 각도 및 중심점으로 시도했지만 경계 상자의 회전은 각도 a + 0, a + 90, a + 180 등에서 동일하기 때문에 윤곽 회전에 대해 올바르게 알려주지 않습니다. 도. 윤곽선의 회전 및 변위를 찾는 다른 좋은 방법입니까? 아마도 볼록 껍질, 볼록 결함이 있습니까? OpenCv 학습에서 윤곽 일치에 대해 읽었지만 도움이되지 않았습니다. 누군가가 예를 들어 줄 수 있습니까?

예 :

1 2 삼 4

예를 들어 분홍색 사각형과 두 번째 경우 펜을 감지하고 싶습니다. 다른 예는 약간의 구멍, 별 등이있는 사각형 일 수 있습니다. 가능한 많은 방법을 테스트하고 싶기 때문에 모든 제안에 감사드립니다.


그림이 여기에 도움이 될 것입니다
mirror2image

보편적 인 기능을 만들고 싶습니다. 따라서 테스트 사진은 무엇이든 될 수 있습니다. 사각형 모양의 단순한 모양의 요소 또는 좀 더 복잡한 모양.
krzych

2
글쎄, 모든 경우에 단일 방법을 적용 할 수는 없습니다. 실용적인 방법은 대비 범위, 노이즈 추정, 배경 및 모양 자체에 따라 달라집니다. 부드러움, 토폴로지 등이 사진이 도움이되는 이유입니다.
mirror2image

답변:


4

윤곽선 사이의 스케일 차이에 대해 걱정해야합니까? 그렇지 않다면 단순히 각 윤곽의 중심을 찾아 서로 빼서 변위를 계산할 수 있습니다. 그런 다음 윤곽의 주축을 계산하고 그 사이의 회전 각도를 찾을 수 있습니다.

스케일링이 관련된 경우 해당 주축의 비율을 취하여 스케일링 계수를 계산할 수 있습니다.


예, 규모도 다를 수 있습니다. 또한 opencv의 프리맨 체인과 비슷한 점에 대해 생각하여 각 윤곽선의 프리맨 체인을 만든 다음 비교하고 어떤 식 으로든 번역을 찾으려고 노력했지만 좋은 알고리즘을 찾을 수는 없습니다.
krzych

최소 회전 경계 상자를 만들고 회전 및 변위를 취하는 것과 같습니다. 이 접근 방식을 시도했지만 결과가 만족스럽지 않습니다. 그래서 나는이 방법이 전혀 좋지 않다고 생각합니다.
krzych

왜 작동하지 않는지 더 구체적으로 설명 할 수 있습니까? 윤곽은 평행 이동, 회전 및 배율 만 관련이 있습니까 아니면 다른 방식으로 변형 될 수 있습니까? 어떤 사진은 정말 도움이 될 것입니다. 비 종교 변환 또는 임의 노이즈를 처리해야하는 경우 모양 컨텍스트를 시도 할 수 있습니다. 알려주세요. 몇 가지 서류를 알려 드릴 수 있습니다.
Dima

변환, 회전 및 스케일링에만 관련되며 변형은 다른 사진에서 거의 다른 윤곽 감지에 연결됩니다. 모양 컨텍스트? 이것을 확장 할 수 있습니까?
krzych

1
@kzych 여기서 가장 큰 문제는 에지 감지의 노이즈 인 것 같습니다. 최소 회전 상자를 어떻게 찾습니까? 왜 그것이 제대로 작동하지 않는지 여전히 확실하지 않습니다. 모양 컨텍스트는 윤곽을 나타내는 방법입니다. 자세한 내용은 다음과 같습니다. en.wikipedia.org/wiki/Shape_context
Dima

2

스케일 또는 투영 왜곡에 대해 걱정할 필요가 없다면 체인 코드가 여기에 도움이 될 수 있습니다. 같은 스케일을 가진 대략 같은 모양의 체인 코드를 가지고 있다면 1 차원 FFT 위상 상관 관계를 가진 번역을 찾을 수 있습니다 http://en.wikipedia.org/wiki/Phase_correlation

투영 왜곡을 고려해야하는 경우 윤곽선 대신 피처 포인트 (모퉁이 등)를 사용할 수도 있습니다.


좋은 체인 코드를 작성하는 방법에 대한 조언이 있습니까? OpenCv의 Mayby (Freeman 체인 만 있음). 지금은 각 등고선 점을 사용하여 인접 점의 x 축에 대한 각도를 계산하여 체인 코드를 작성하고 있지만 더 좋은 아이디어가 있습니까? 체인에 관한 좋은 논문을 참조한다면 감사하겠습니다.
krzych

2

당신이 말하는 질문에

내가 말했듯이, 나는 일방적 인 것을 만들고 싶다

그러나 문제에 대한 "보편적 인"해결책을 찾기가 매우 어렵다.

상용 패턴 로케이터 소프트웨어를 구입하여 애플리케이션에 통합 할 수 있습니다. 일반적으로 광범위한 애플리케이션에서 성능이 뛰어납니다. 이 제품에 대한 참조 매뉴얼 인 아이디어를 제공하기 위해 http://www.lmi3d.com/sites/default/files/support/4.2.0.70-hexsight_user_guide.pdf

또한 특정 경우 (예 : 이미지의 펜)에 대한 임시 솔루션을 개발할 수 있습니다.

그렇지 않으면 "형상"이 호출되는 계산 기하학 ( http://www.cs.sunysb.edu/~algorith/files/shape-similarity.shtml ) 에 기반을 둔 매우 기초적인 기초부터 시작하여 문제를 열심히 연구 할 수 있습니다. "다각형", 다음과 같은 내용을 읽습니다.

M. de Berg, O. Devillers, M. Kreveld, O. Schwarzkopf 및 M. Teillaud. 변환시 두 개의 볼록 다각형의 최대 겹침을 계산합니다. 이론 컴퓨터 과학, 31 : 613–628, 1998.

H. Ahn, O. Cheong, C. Park, C. Shin 및 A. Vigneron. 강성 모션에서 두 평면 볼록 세트의 겹침을 최대화합니다. 계산 기하학 : 이론 및 응용, 37 : 3–15, 2007.

그리고 객체 인식 소프트웨어 도구를 판매하는 다른 소프트웨어 회사MVTec 과 공동 작업을 하는 Markus Ulrich의 "이미지에서 복합 객체의 계층 적 실시간 인식"으로 끝납니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.