포인트 클라우드 데이터에서 원형 패턴 감지


10

내가 작업하고있는 일부 볼륨 재구성 알고리즘의 경우 (LIDAR 장치에서 오는) 3d 포인트 데이터에서 임의의 수의 원형 패턴을 감지해야합니다. 패턴은 공간에서 임의로 배향 될 수 있으며 얇은 2D 평면에 (완벽하지는 않지만) 놓여 있다고 가정합니다. 다음은 동일한 평면에 두 개의 원이있는 예입니다 (이것은 3d 공간임을 기억하십시오).

여기에 이미지 설명을 입력하십시오

나는 많은 접근법을 시도했다. 가장 간단한 (그러나 지금까지 가장 효과적인 방법은) 가장 가까운 이웃 그래프의 분리 된 세트를 기반으로 클러스터링하는 것이다. 이것은 패턴이 멀리 떨어져있을 때 합리적으로 잘 작동하지만 예제의 것과 같은 원은 서로 가깝습니다.

나는 K-means를 시도했지만 잘되지 않습니다 : 원형 점 배열이 적합하지 않은 것 같습니다. 또한 K의 가치를 미리 알지 못하는 추가 문제가 있습니다.

가장 가까운 이웃 그래프에서 사이클 감지를 기반으로 더 복잡한 접근법을 시도했지만 너무 취약하거나 계산 비용이 많이 듭니다.

나는 또한 많은 관련 주제 (Hough transform 등)에 대해 읽었지만이 특정 상황에 완벽하게 적용되는 것은 없습니다. 어떤 아이디어 나 영감을 주시면 감사하겠습니다.


더 간단한 질문 : 2 차원 데이터에서 선분을 어떻게 감지합니까?
charles.y.zheng

"예시와 같은 것"? 어떤 예입니까? 링크를 추가 할 수 있습니까?
onestop

허프 변환은 확실한 선택입니다. 잘 작동합니다.
whuber

그동안 내가 언급 한 이미지 예제를 추가 할만 큼 충분한 평판을 얻었습니다.
cjauvin

3
이것은 클러스터링 문제가 아닙니다. 통계에서 "클러스터" 는 다른 개체보다 서로 더 가까운 개체 집합으로 구성됩니다 . 친밀감은 원형을 포착하지 못하므로 K- 평균이나 다른 클러스터링 알고리즘이 작동하지 않습니다. 따라서이 문제는 이미지 처리 또는이 문제에 대한 전문가를 찾을 수있는 GIS 사이트에 더 적합합니다.
whuber

답변:


9

일반화 된 Hough 변환 은 정확히 원하는 것입니다. 3D에서 원의 공간은 6 개의 차원 (중심에 3 개, 평면에 2 개, 반지름에 1 개)이 있기 때문에 어려움이 있습니다. 이것은 직접적인 계산을 배제하는 것으로 보입니다.

한 가지 가능성은 더 간단한 Hough 변환 시퀀스를 통해 결과를 몰래 들여 오는 것입니다. 예를 들어 평면 서브 세트를 감지하기 위해 (일반) Hough 변환으로 시작할 수 있습니다. 계산에는 3D 그리드 만 필요합니다. 감지 된 각 평면 하위 집합에 대해 해당 평면을 따라 원래 점을 슬라이스하고 원 감지를 위해 일반화 된 Hough 변환을 수행합니다. 원본 이미지에 원으로 생성 된 신호를 익사시킬 수있는 동일 평면상의 점 (원으로 형성된 점 이외)이 많지 않으면 제대로 작동합니다.

원 크기에 미리 결정된 상한이 있으면 많은 계산을 절약 할 수 있습니다. 원본 이미지의 모든 쌍 또는 삼중점을 보지 않고 각 점의 경계 부근 내에서 쌍 또는 삼중에 초점을 맞출 수 있습니다.


제안 된 모든 접근 방식을 결합하려고 시도합니다. 원래 포스터에서 설명한 것처럼 거리를 기반으로 한 첫 번째 클러스터. 여러 원으로 구성된 클러스터를 제공합니다. 그런 다음 Hough를 사용하여 각 클러스터 내에서 평면 서브 세트를 감지하십시오. 그런 다음 각 평면 하위 집합 내에서 다시 Hough를 사용하여 원을 찾습니다. 이 마지막 단계가 비싸면 효과적인 단락을 수행 할 수 있습니다. 몇 번의 트리플을 시도하고 원을 추측하고 하위 세트의 점의 상당 부분이 해당 원에 매우 가까운 지 확인하십시오. 그렇다면 해당 원을 기록하고 해당 지점을 모두 제거한 다음 계속하십시오.
Erik P.

3
후자의 아이디어는 RANSAC라고하며, 특히 이미지 당 원 수가 적은 경우 자체적으로 사용될 수 있습니다.
SheldonCooper

조명 아이디어에 감사드립니다! 다단계 Hough 변환은 나에게 가장 강력하고 일반적인 솔루션으로 보이지만 RANSAC은 실제로 구현하기가 더 쉬워 보이며 내 상황에서는 충분할 수 있습니다. 그래도 내가 빨리 알아 차린 한 가지 문제는 불균형 크기의 패턴이있는 경우이며, 이는 더 큰 물체를 향한 샘플링을 분명히 바이어스합니다. 이 문제에 대한 생각이 있습니까?
cjauvin

큰 원을 감지하면 샘플링에서 해당 원을 모두 제거하십시오.
SheldonCooper

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