KR102661681B1 - 선호된 포인트들을 식별하고 유지하는 포인트 클라우드들의 병합 방법 - Google Patents

선호된 포인트들을 식별하고 유지하는 포인트 클라우드들의 병합 방법 Download PDF

Info

Publication number
KR102661681B1
KR102661681B1 KR1020217021397A KR20217021397A KR102661681B1 KR 102661681 B1 KR102661681 B1 KR 102661681B1 KR 1020217021397 A KR1020217021397 A KR 1020217021397A KR 20217021397 A KR20217021397 A KR 20217021397A KR 102661681 B1 KR102661681 B1 KR 102661681B1
Authority
KR
South Korea
Prior art keywords
point
points
point cloud
preferred
cloud
Prior art date
Application number
KR1020217021397A
Other languages
English (en)
Other versions
KR20210102348A (ko
Inventor
토비아스 안데르베르그
말리크 윌리엄스
Original Assignee
소니그룹주식회사
소니 픽쳐스 엔터테인먼트, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니그룹주식회사, 소니 픽쳐스 엔터테인먼트, 인크. filed Critical 소니그룹주식회사
Publication of KR20210102348A publication Critical patent/KR20210102348A/ko
Application granted granted Critical
Publication of KR102661681B1 publication Critical patent/KR102661681B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

장면으로부터 캡처된 2 개 이상의 포인트 클라우드들의 병합 방법은 중복적인 포인트들을 제거하고, 장면을 최상으로 표현하는 포인트들을 유지한다. 방법은 일반적으로, 근접하고 이에 따라 잠재적으로 중복적인 상이한 클라우드들로부터의 포인트들을 위치파악하는 검출 단계, 및 그 다음으로, 선호된 포인트들을 식별하는 선택 단계를 포함할 수 있다. 클라우드들은 레인지 이미지들로서 표현될 수 있고, 이것은 양자의 단계들을 단순화할 수 있다. 근접성 테스팅은 레인지 이미지들을 타일들로 분할하고 클라우드들 사이의 교차들에 대하여 타일 경계설정 체적들을 테스트함으로써 최적화될 수 있다. 선호된 포인트들의 선택은 사용자 입력을 편입시킬 수 있거나, 완전히 또는 부분적으로 자동화될 수 있다. 사용자 선택은 장면의 선호된 뷰들을 갖는 이미지들을 식별하기 위하여 레인지 이미지들 상에서 2D 그리기 도구들을 이용하여 수행될 수 있다. 자동화된 선택은 예를 들어, 중첩하는 포인트들에서의 각각의 포인트 클라우드 스캔의 표면 분해능에 기초하여 품질 척도를 포인트들에 배정할 수 있다.

Description

선호된 포인트들을 식별하고 유지하는 포인트 클라우드들의 병합 방법
발명의 하나 이상의 실시예들은 컴퓨터 그래픽들 및 가상 현실의 분야들에 관련된다. 제한하는 것은 아니지만, 더 상세하게는, 발명의 하나 이상의 실시예들은 선호된 포인트들을 식별하고 유지하는 포인트 클라우드(point cloud)들의 병합 방법을 가능하게 한다.
LIDAR와 같은 스캐너들을 이용하여 장면으로부터 3D 데이터를 캡처하는 것은 때때로 상이한 뷰포인트(viewpoint)로부터의 다수의 스캔들을 수반할 수 있다. 이 다수의 스캔들로부터 기인하는 포인트 클라우드(point cloud)들은 장면의 통합된 3D 모델을 형성하기 위하여 조합될 수 있다. 그러나, 스캔들은 장면의 어떤 영역들에서 중첩할 수 있다. 모든 포인트들을 중첩하는 영역들에서 유지하는 것은 불필요한 저장 및 프로세싱 용량을 소비할 수 있고, 장면의 하나의 에어리어(area)로부터 다른 것으로 전이할 때에 렌더링 아티팩트(rendering artifact)들 또는 잡음을 초래할 수 있다. 그러므로, 포인트 클라우드들을 병합할 때에 중복적인 포인트들을 제거하는 것이 바람직하다.
포인트 클라우드들을 병합하는 본 기술분야에서 공지된 전통적인 방법들은 통상적으로, 어느 포인트들을 제거할 것인지를 결정하기 위하여 종종 간단한 거리 임계치를 갖는 고가의 옥트리 최근접-이웃 검색(octree nearest-neighbor search)을 이용한다. 이 접근법은 적절한 임계치를 구하기 위하여 반복적 실험을 요구할 수 있는데, 특히, 매우 큰 포인트 클라우드들에 대하여 매우 느릴 수 있다.
포인트 클라우드들은 레인지 이미지(range image)들로서 종종 편성된다. 레인지 이미지 포인트 클라우드들은 중복성에 대한 단일 거리 임계치 테스트를 이용하여 아티팩트들을 초래할 수 있는 원근 특성(perspective property)들을 가진다. 레인지 이미지들은 또한, 중복적인 포인트들을 구하고 근처의 포인트들의 세트로부터 적절한 포인트를 선택하기 위한 더 효율적이고 직관적인 프로세스를 지원한다. 레인지 이미지 포맷들에 대하여 최적화되는 포인트 클라우드들을 조합하기 위한 공지된 방법들이 없다.
중복적인 포인트들을 제거하기 위한 공지된 방법들은 또한, 전형적으로, 클라우드들이 중첩하는 에어리어들에서의 각각의 포인트 클라우드의 품질을 고려하지는 않는다. 예를 들어, 하나의 스캔은 장면의 영역을 더욱 상세하게 캡처할 수 있는 반면, 또 다른 스캔은 훨씬 더 낮은 분해능으로 그 영역을 오직 지엽적으로 캡처할 수 있다. 병합된 포인트 클라우드에 대한 선호된 포인트들을 선택하기 위하여 각각의 포인트 클라우드의 품질을 수동적으로 또는 자동적으로 중의 어느 하나로 평가하기 위한 메커니즘들을 제공하는 공지된 방법들이 없다.
적어도 위에서 설명된 제한들에 대하여, 선호된 포인트들을 식별하고 유지하는 포인트 클라우드들의 병합 방법에 대한 필요성이 있다.
명세서에서 설명된 하나 이상의 실시예들은 선호된 포인트들을 식별하고 유지하는 포인트 클라우드들의 병합 방법에 관련된다. 발명의 실시예들은 예를 들어, 최상의 포인트들을 유지하면서, 중첩의 에어리어들에서의 중복적인 포인트들을 제거하기 위하여 공통 3D 장면으로부터 캡처된 2 개 이상의 포인트 클라우드들을 프로세싱할 수 있다. 임의의 또는 모든 프로세싱 단계들은 메모리를 가지거나 메모리에 결합되는 컴퓨터를 이용하여 수행될 수 있다.
컴퓨터에 의해 수행된 프로세싱 단계들은 포인트 클라우드들을 획득하는 것, 2 개의 별개의 포인트들이 많아야 하나가 유지되어야 할 정도로 충분히 근접한 것인지 여부를 결정하는 근접성 테스트(closeness test)를 획득하거나 생성하는 것, 근접성 테스트를 만족시키는 근접한 포인트들의 그룹들 및 임의의 다른 클라우드에 근접하지 않은 고립된 포인트들을 식별하는 것, 근접한 포인트들의 각각의 그룹에 대한 선호된 포인트를 선택하는 것, 및 선호된 포인트들 및 고립된 포인트들을 조합함으로써 병합된 포인트 클라우드를 생성하는 것을 포함할 수 있다. 포인트들에 추가적으로, 포인트 클라우드들은 포인트 클라우드들이 캡처되는 뷰포인트, 및 포인트 클라우드들이 캡처되는 각도 분해능(angular resolution)을 포함할 수 있다.
하나 이상의 실시예들에서, 포인트 클라우드들은 레인지 이미지들로서 편성될 수 있고, 레인지 이미지들의 각각은 연관된 포인트까지의 거리를 포함하는 픽셀들의 2D 어레이를 갖는다. 각각의 레인지 이미지와 연관된 것은 3D 장면으로부터 2D 픽셀 어레이로의 투영일 수 있다. 하나 이상의 실시예들에서 이용될 수 있는 예시적인 투영은 구형 등직사각형 투영(spherical equirectangular projection)이다.
근접한 포인트들을 구하기 위하여, 하나 이상의 실시예들은 기본 포인트 클라우드의 레인지 이미지를 이용할 수 있고, 다른 포인트 클라우드들을 이 레인지 이미지 상으로 투영할 수 있다. 픽셀로 투영된 포인트들은 기본 포인트 클라우드 뷰포인트로부터의 그 거리가 레인지 이미지 픽셀에서의 거리에 근접할 경우에, 기본 클라우드의 픽셀 포인트에 근접할 수 있다.
실시예들은 레인지 이미지의 픽셀들을 타일(tile)들로 구획(partition)할 수 있고, 각각의 타일에서의 픽셀들과 연관된 포인트들에 대한 경계설정 체적(bounding volume)을 생성한다. 상이한 포인트 클라우드들로부터의 타일들 사이의 교차 테스트(intersection test)들은 포인트 근접성에 대한 예비적 테스트로서 이용될 수 있다. 그 경계설정 체적들이 교차하는 타일들은 서로에 링크될 수 있고, 교차하는 타일들로부터의 포인트들만이 위에서 설명된 근접성 테스트를 위한 기본 포인트 클라우드 레인지 이미지의 픽셀들 상으로 투영될 수 있다.
근접한 포인트들의 그룹들로부터의 선호된 포인트들의 선택은 사용자 입력으로 또는 완전히 자동적으로 수행될 수 있다. 하나 이상의 실시예들에서, 사용자가 디스플레이하기 위한 포인트 클라우드를 선택하는 것을 허용하는 사용자 인터페이스가 제시될 수 있고; 예를 들어, 그 포인트 클라우드와 연관된 레인지 이미지가 디스플레이될 수 있다. 포인트들의 디스플레이는 디스플레이된 클라우드에서의 각각의 포인트가 각각의 포인트가 속하는 근접한 포인트들의 그룹에 대한 선호된 포인트인지 여부를 도시하는 표시자를 포함할 수 있다. 이 표시자는 또한, 포인트가 상이한 클라우드에 속하는 선호된 포인트를 갖는 그룹의 멤버(member)인지 여부를 도시할 수 있다. 표시자는 예를 들어, 컬러(color), 음영(shade), 또는 패턴(pattern)일 수 있다. 사용자는 하나 이상의 포인트들, 및 선호된 포인트들의 배정을 수정하는 추가(add), 대체(replace), 또는 제거(remove)와 같은 액션을 선택하기 위한 선택 입력을 제공하는 것이 가능할 수 있다. 예를 들어, 추가 액션은 선택된 포인트들을 선호된 포인트들로 설정할 수 있고, 제거 액션은 선호된 포인트들인 것으로부터 선택된 포인트들을 소거할 수 있다.
하나 이상의 실시예들은 그룹에서의 각각의 포인트에 대한 품질 척도(quality measure)를 계산하고 최고 품질 척도를 갖는 포인트를 선택함으로써 선호된 포인트들을 자동적으로 선택할 수 있다. 예시적인 품질 척도는 각각의 포인트에서의 각각의 포인트 클라우드의 분해능에 역으로(inversely) 관련될 수 있다. 이 분해능은 예를 들어 포인트 클라우드 뷰포인트로부터 포인트까지의 뷰 벡터(view vector)의 길이 곱하기 포인트 클라우드의 각도 분해능의 1/2의 탄젠트(tangent)의 2 배로서 계산될 수 있다. 하나 이상의 실시예들에서, 이 분해능은 포인트에서의 3D 장면의 표면에 대한 뷰 벡터와 법선 벡터(normal vector) 사이의 각도의 코사인(cosine)에 의해 추가로 나누기(divide)될 수 있다.
발명의 위의 그리고 다른 양태들, 특징들, 및 장점들은 다음의 도면들과 함께 제시된 다음의 그 더욱 특정한 설명으로부터 더욱 분명할 것이고, 여기서:
도 1은 발명의 하나 이상의 실시예들에 의해 다루어진 시나리오의 예를 도시하고, 여기서, 2 개의 포인트 클라우드들은 장면으로부터 캡처되고, 포인트 클라우드들은 장면의 일부분에서 중첩한다.
도 2는 발명의 하나 이상의 실시예들의 예시적인 입력들, 출력들, 및 프로세싱 단계들의 하이-레벨 플로우차트를 도시한다.
도 3은 프로세싱 단계들을 수행하기 위하여 발명의 하나 이상의 실시예들에서 이용될 수 있는 예시적인 컴퓨터 아키턱처를 도시한다.
도 4는 포인트 클라우드들의 중첩하는 섹션들에서 근접한 포인트들을 식별하는 예시적인 단계를 도시한다.
도 5는 근접한 포인트들의 그룹들에서 선호된 포인트들을 식별하는 예시적인 단계를 도시한다.
도 6은 병합된 포인트 클라우드를 형성하기 위하여 고립된 포인트들 및 선호된 포인트들을 조합하는 예시적인 단계를 도시한다.
도 7은 발명의 하나 이상의 실시예들에서 이용될 수 있는 포인트 클라우드 데이터에 대한 레인지 이미지 포맷을 예시한다.
도 8은 근접한 포인트들을 위치파악하기 위하여 하나의 클라우드로부터의 포인트들을 또 다른 포인트 클라우드의 레인지 이미지 상으로 투영하는 것을 예시한다.
도 9는 또 다른 클라우드로부터의 투영된 포인트들이 레인지 이미지 클라우드에서의 포인트에 근접한 것인지 여부를 결정하기 위하여 레인지 이미지에서의 픽셀로부터의 절두체(frustum)의 형성을 도시하기 위하여 도 8의 예를 계속한다.
도 10은 레인지 이미지를 타일들로 분할하는 것, 및 각각의 타일의 포인트들 주위에서 경계설정 체적들을 생성하는 것을 예시한다.
도 11은 타일들과 연관된 경계설정 체적들이 근접한 포인트들의 검출을 최적화하기 위하여 어떻게 이용될 수 있는지를 도시하기 위하여 도 10의 예를 계속한다.
도 12는 포인트 클라우드들의 중첩하는 영역들에서의 선호된 포인트들의 사용자 선택을 위하여 이용될 수 있는 예시적인 사용자 인터페이스를 도시한다.
도 13은 하나의 클라우드에서의 포인트들의 사용자 선택, 및 또 다른 클라우드의 관점으로부터 이 선택된 포인트들을 관측하는 것을 도시하기 위하여 도 12의 예를 계속한다.
도 14는 사용자가 또 다른 클라우드에서 선택된 포인트들을 관측된 클라우드로부터의 포인트들로 대체하는 것을 도시하기 위하여 도 13의 예를 계속한다.
도 15는 사용자가 일부 선택된 포인트들을 삭제하는 것, 및 또 다른 클라우드의 관점으로부터 이 삭제의 효과를 관측하는 것을 도시하기 위하여 도 14의 예를 계속한다.
도 16은 하나 이상의 실시예들에서 이용될 수 있는 선호된 포인트들의 자동적 선택을 위한 예시적인 기법을 도시하고; 이 기법은 중첩의 영역에서의 각각의 포인트 클라우드의 분해능을 비교함으로써 중첩의 영역에서의 2 개의 포인트들 클라우드들의 품질을 비교한다.
도 17은 표면이 포인트 클라우드 스캐너로부터의 뷰 벡터에 수직이 아닐 때에 포인트 클라우드 표면 분해능의 계산을 도시하기 위하여 도 16의 예를 확장한다.
도 18a 및 도 18b는 선호된 포인트들의 자동적 선택을 위한 포인트 품질 비교를 도 1로부터의 스캔들에 적용하는 것을 도시하고; 도 18a는 사시도이고, 도 18b는 상면도이다.
선호된 포인트들을 식별하고 유지하는 포인트 클라우드들의 병합 방법이 지금부터 설명될 것이다. 다음의 예시적인 설명에서, 수 많은 특정 세부사항들은 발명의 실시예들의 더 철저한 이해를 제공하기 위하여 기재된다. 그러나, 본원에서 설명된 특정 세부사항들의 모든 양태들을 편입시키지 않으면서, 본 발명이 실시될 수 있다는 것은 통상의 기술자들에게 분명할 것이다. 다른 사례들에서, 본 기술분야에서의 통상의 기술자들에게 널리 공지된 특정 특징들, 수량들, 또는 측정들은 발명을 모호하게 하지 않도록 하기 위하여 상세하게 설명되지 않았다. 독자들은 발명의 예들이 본원에서 기재되지 않지만, 청구항들, 및 임의의 등가물들의 전체 범주는 발명의 한계들 및 경계들을 정의하는 것이라는 점을 주목해야 한다.
도 1은 발명의 하나 이상의 실시예들에 의해 다루어질 수 있는 시나리오를 예시한다: 다수의 포인트 클라우드들은 공통 3D 장면으로부터 캡처될 수 있고, 이 포인트 클라우드들을 단일 조합된 클라우드로 병합하는 것이 바람직할 수 있다. 그러나, 조합된 클라우드 내에 클라우드들의 전부의 모든 포인트들을 포함하는 것은 바람직하지 않을 수 있는데, 그 이유는 다수의 클라우드들 내에 포함되는 3D 장면의 에어리어들에서 중복성이 있을 수 있기 때문이다. 불필요한 저장 및 프로세싱 자원들을 소비하는 것에 추가적으로, 중복적인 포인트들은 클라우드들 사이의 천이들에서의 아티팩트들을 초래할 수 있다.
도 1에서 도시된 예시적인 예에서, 3D 장면은 간단한 원통(100)이다. 이 형상은 전시의 용이함을 위하여 도시되고; 애플리케이션들에서, 임의의 수의 포인트 클라우드들은 임의의 크기 및 복잡도의 임의의 3D 장면 또는 장면들로부터 캡처될 수 있다. 발명의 하나 이상의 실시예들에 의해 병합된 포인트 클라우드들은 실제 환경으로부터, 컴퓨터-생성된 환경으로부터, 또는 그 임의의 조합으로부터 캡처될 수 있다. 도 2에서, 2 개의 포인트 클라우드들은 장면(100)으로부터 캡처되고; 제1 포인트 클라우드(흑색 점들로 도시됨)는 스캐너(101)에 의해 캡처되고, 제2 포인트 클라우드(백색 점들로 도시됨)는 스캐너(102)에 의해 캡처된다. 포인트 클라우드들의 예시적인 포인트들은 스캐너(101)에 의해 캡처된 포인트(105), 및 스캐너(102)에 의해 캡처된 포인트(106)이다. (하나 이상의 실시예들에서, 스캐너들(101 및 102)은 물리적으로 동일할 수 있지만, 상이한 시간들에서의 상이한 스캔들에 대하여 재위치결정될 수 있거나 재활성화될 수 있음). 하나 이상의 실시예들은 2 개의 포인트 클라우드들을 포함하지만, 이것으로 제한되지는 않는 임의의 수의 포인트 클라우드들을 프로세싱하고 병합할 수 있다.
스캐너들(101 및 102)은 예를 들어, LIDAR, 구조화된 광, 및 스테레오 비전(stereo vision)을 제한 없이 포함하는, 장면으로부터 3D 데이터를 형성하기 위하여 조합된 임의의 유형 또는 유형들의 3D 스캐너들 또는 2D 센서들일 수 있다. 각각의 스캐너와 연관된 것은 예를 들어, 스캔이 취해진 뷰포인트, 및 스캔 포인트들에 대한 하나 이상의 각도 분해능들과 같은 어떤 파라미터들일 수 있다. 예를 들어, 스캐너(101)는 각도 분해능(121)으로 뷰포인트(111)로부터 제1 포인트 클라우드를 캡처하고, 스캐너(102)는 각도 분해능(122)으로 뷰포인트(112)로부터 제2 포인트 클라우드를 캡처한다. 각도 분해능은 스캔을 가로질러서 일정하지 않을 수 있고, 상이한 수평 및 수직 각도 분해능이 있을 수 있다. 이 명세서에서의 용어 각도 분해능은 포인트 클라우드가 캡처되는 가능한 각도 분해능들 중의 임의의 것 또는 전부를 지칭한다. 예시의 용이함을 위하여, 예들은 스캔을 가로질러서 그리고 축들을 가로질러서, 예를 들어, 일정할 수 있는 단일 각도 분해능만을 도시한다.
포인트 클라우드들은 상이한 뷰포인트들로부터 캡처될 수 있기 때문에, 포인트 클라우드들은 3D 장면의 상이한 특징들을 캡처할 수 있다. 예를 들어, 도 1에서, 스캐너(102)는 원통(100)의 후면 상에 있는 포인트들(107) 뿐만 아니라, (도 1에서 가시적인) 정면 상의 포인트(106)와 같은 포인트들을 캡처하고; 스캐너(101)는 원통의 정면 상의 포인트들만을 캡처한다. 그러나, 포인트 클라우드들은 영역(130)과 같은 하나 이상의 영역들에서 중첩할 수 있다. 전체 장면을 표현하는 완전한 "게슈탈트(gestalt)" 포인트 클라우드를 생성하기 위하여, 하나 이상의 실시예들은 중첩의 영역 또는 영역들에서의 포인트 클라우드들로부터 어떤 선호된 포인트들을 선택할 수 있다. 이 선호된 포인트들을 선택하기 위한 예시적인 프로세스들이 이하에서 설명된다.
예시의 용이함을 위하여, 도 1에서 도시된 포인트 클라우드들은 작은 수의 포인트들을 각각 포함한다. 실제적으로, 포인트 클라우드들은 수백만 또는 수십억 개의 포인트들을 각각 포함할 수 있고; 이 때문에, 포인트 클라우드들의 병합을 위한 프로세싱 및 저장 효율은 상당한 관심사이다. 이하에서 설명된 프로세스들은 효율적인 액세스를 위한 데이터를 편성함으로써 그리고 불필요한 프로세싱을 회피하기 위하여 포인트 비교들을 최적화함으로써 이 쟁점들을 다룰 수 있다.
도 2는 도 1로부터의 데이터를 예로서 이용하여, 2 개 이상의 포인트 클라우드들을 병합하기 위하여 발명의 하나 이상의 실시예들에서 이용될 수 있는 입력들, 출력들, 및 프로세싱 단계들의 하이-레벨 플로우차트를 도시한다. 3D 장면으로부터 캡처된 포인트 클라우드들(131 및 132)은 예를 들어, 스캐너들로부터 또는 메모리로부터 직접적으로 획득된다. 포인트 클라우드들(131 및 132)에서의 3 차원 포인트들 자체에 추가적으로, 뷰포인트들(111 및 112) 및 각도 분해능들(121 및 122)와 같은 캡처 속성들은 각각 포인트 클라우드들의 일부일 수 있거나, 포인트 클라우드들에 링크될 수 있다. 하나 이상의 실시예들은 예를 들어, 캡처들의 수직 및 수평 한도(extent)들과 같은 다른 속성들을 액세스할 수 있다. 포인트 클라우드들(131 및 132)은 3D 장면을 위한 공통 좌표계로 등록되어야 하거나 등록가능해야 한다. 포인트 클라우드 데이터(131 및 132)는 데이터를 프로세싱하는 프로세서(201)로 입력되어, 병합된 포인트 클라우드(220)의 출력으로 귀착된다. 병합된 포인트 클라우드(220)는 예를 들어, 포인트 클라우드들(131 및 132)이 중첩하는 장면의 영역들에서 감소된 중복성을 가질 수 있다.
하이 레벨에서, 프로세서(201)는 개별적인 포인트 클라우드들(131 및 132)을 병합된 포인트 클라우드(220)로 변환하기 위하여 3 개의 단계들을 수행할 수 있다. 단계(211)는 근접한 포인트들의 하나 이상의 그룹들을 식별할 수 있고, 여기서, 근접성에 대한 기준은 소스 포인트 클라우드들 또는 애플리케이션에 종속된다. 이 그룹들은 가능한 중복성들을 표현한다. 단계(212)는 이 그룹들 중의 하나 이상으로부터 선호된 포인트를 선택할 수 있다. 단계(213)에서, 최종적인 병합된 포인트 클라우드(220)를 형성하기 위하여, 선호된 포인트들은 소스 포인트 클라우드들로부터의 다른 포인트들과 조합될 수 있다.
도 3은 도 2의 단계들 또는 이 명세서에서 설명된 임의의 다른 단계들을 실행하기 위하여 발명의 하나 이상의 실시예들에서 이용될 수 있는 예시적인 하드웨어를 도시한다. 예시적인 컴퓨터(300)의 이 실시예는 시스템에서의 임의의 컴포넌트에서, 시스템에서의 임의의 컴포넌트에 의해, 또는 시스템에서의 임의의 컴포넌트로서 사용될 수 있다. 하나 이상의 실시예들에서, 컴퓨터(300)는 컴퓨터들의 네트워크일 수 있고, 컴퓨터들의 각각은 도 3에서 도시된 컴포넌트들 중의 임의의 것 또는 전부를 가질 수 있다. 하나 이상의 실시예들에서, 컴퓨터 또는 컴퓨터들(300)은 또한, 시스템에서의 임의의 기능, 즉, 시스템에서의 임의의 컴퓨터 또는 서버 또는 엔진에서 실행되는 임의의 단계 또는 액트 또는 기능을 구현하기 위하여 사용될 수 있다. 컴퓨터(300)는 발명의 실시예들의 개개의 기능들에 구체적으로 맞추어진 소프트웨어 명령들을 실행하는 프로세서 CPU(307)를 포함할 수 있다. 이와 다르게 컴퓨터 프로그램 명령들로서 공지된 소프트웨어 명령들은 메모리(306) 내에서 상주할 수 있다. 컴퓨터(300)는 예를 들어, 고도의 병렬 동작들을 위한 그래픽 명령들 또는 다른 명령들을 실행할 수 있는 프로세서 GPU(305)를 포함할 수 있다. GPU 프로그램 명령들은 또한, 메모리(306) 내에서 상주할 수 있다. 컴퓨터(300)는 시스템에서의 임의의 컴퓨터의 디스플레이 유닛 또는 유닛들(310)을 희망된 바와 같이 구동할 수 있는 디스플레이 인터페이스(308)를 포함할 수 있다. 일부 컴퓨터들(300)은 디스플레이를 사용할 수 있거나 디스플레이를 사용하지 않을 수 있다. 컴퓨터(300)는 무선 또는 유선 통신 하드웨어 프로토콜 칩들을 포함할 수 있는 통신 인터페이스(324)를 포함할 수 있다. 발명의 하나 이상의 실시예들에서, 통신 인터페이스(324)는 전화 및/또는 데이터 통신 하드웨어를 포함할 수 있다. 하나 이상의 실시예들에서, 통신 인터페이스(324)는 Wi-Fi™ 및/또는 BLUETOOTH™ 무선 통신 인터페이스를 포함할 수 있다. 임의의 무선 네트워크 프로토콜 또는 유형은 발명의 실시예들에서 사용될 수 있다. CPU(307), GPU(305), 메모리(306), 디스플레이 인터페이스(308), 통신 인터페이스(324), 인간 인터페이스 디바이스들(330), 하드 디스크(314)와 같은 보조 메모리(312), 분리가능 저장장치(316), 보조 메모리 인터페이스(320), 및 분리가능 저장 유닛들(318 및 322)은 "버스"로서 보편적으로 공지되는 통신 기반구조(302) 상에서 서로 통신할 수 있다. 통신 인터페이스(324)는 네트워크(340) 상에서의 다른 유선 또는 무선 디바이스들과의 통신을 허용하는 임의의 유선 또는 무선 매체 상에서 통신할 수 있다. 네트워크(340)는 인터넷(360) 및/또는 데이터베이스 또는 데이터베이스들(350)과 통신할 수 있다. 데이터베이스(350)는 본원에서 설명된 임의의 데이터베이스를 구현하기 위하여 사용될 수 있다.
도 4, 도 5, 및 도 6은 각각 도 2의 단계들(211, 212, 및 213)의 실시예들을 예시한다. 도 4에서 도시된 바와 같이, 발명의 하나 이상의 실시예들은 2 개의 포인트들이 병합된 포인트 클라우드로부터 2 개의 포인트들 중의 하나(또는 양자)를 제거하는 것이 바람직할 수 있도록 충분히 근접한 것인지 여부를 결정하는 근접성 테스트(401)를 정의할 수 있거나 획득할 수 있다. 하나 이상의 실시예들은 포인트들이 함께 근접한 것인지 여부를 결정하기 위하여 임의의 유형의 근접성 테스트 또는 테스트들을 이용할 수 있다. 예시적인 테스트(401)에서, 간단한 거리 임계치는 포인트들이 함께 충분히 근접한 것인지 여부를 테스트하기 위하여 이용된다. 임의의 거리 함수 또는 함수들은 이 임계치 테스트를 위하여 이용될 수 있다. 근접성 테스트(401)에 따라 근접한 2 개 이상의 포인트들은 그룹의 선호된 포인트를 결정하기 위하여 이하에서 설명된 바와 같이 프로세싱될 수 있는 그룹으로 배치될 수 있다. 도 4에서 도시된 예시적인 예에서, 포인트 클라우드들(131 및 132)은 근접성 테스트(401)로 프로세싱되어, 근접한 포인트들의 그룹들(402)로 귀착된다. 예를 들어, 그룹(403)은 클라우드(131)의 하나의 포인트 및 클라우드(132)의 2 개의 포인트들을 포함한다. 일반적으로, 근접한 포인트들의 그룹은 임의의 수의 포인트 클라우드들로부터의 임의의 수의 포인트들을 포함할 수 있다. 다른 포인트 클라우드들에서의 임의의 다른 포인트들에 근접하지 않은 모든 포인트들은 고립된 포인트들(404)로서 분류될 수 있다.
도 5는 도 4의 예를 계속한다. 프로세스(501)는 근접한 포인트들의 그룹들(402)에서 각각의 그룹의 선호된 포인트를 식별하도록 수행된다. 포인트(503)를 그룹(403)의 선호된 포인트로서 선택하기 위하여, 선호된 포인트들은 식별(502)과 같이, 화살표로 표시된다. 이 예에서, 선호된 포인트는 근접한 포인트들의 그룹들(402)의 각각에 대하여 식별된다. 하나 이상의 실시예들에서, 선호된 포인트는 이 그룹들의 서브세트(subset)에 대해서만 식별될 수 있고, 모든 포인트들은 예를 들어, 지정된 선호된 포인트를 갖지 않는 그룹들로부터 유지될 수 있다. 이하에서 설명된 수동적 또는 자동화된 방법들을 포함하는 임의의 희망된 방법은 선호된 포인트를 식별하기 위하여 이용될 수 있다. 선호된 포인트들의 식별(501) 후에, 단계(504)는 비-선호된 포인트들을 제거하고 선호된 포인트들만을 유지하여, 포인트들(505)로 귀착된다. 도 6에서 예시된 바와 같이, 그 다음으로, 병합된 포인트 클라우드(601)를 산출하기 위하여 이 선호된 포인트들(505)은 고립된 포인트들(404)과 조합될 수 있다.
도 7 내지 도 17은 위에서 설명된 일반적인 단계들을 정교하게 하고, 이 단계들을 수행하기 위하여 하나 이상의 실시예들에서 이용될 수 있는 특정 방법들 및 최적화들을 예시한다. 이 방법들 및 최적화들의 일부는 레인지 이미지로의 포인트 클라우드 데이터의 편성을 이용할 수 있다. 레인지 이미지는 예를 들어, 포인트 클라우드의 개별적인 샘플들을 표현하는 픽셀들의 2D 어레이를 가질 수 있고, 여기서, 각각의 픽셀은 대응하는 샘플에 의해 캡처된 장면에서의 포인트까지의 거리 값을 포함한다. 레인지 이미지는 3 차원 포인트들의 비구조화된 세트보다 포인트 클라우드 데이터의 더 효율적인 프로세싱을 지원할 수 있다. 도 7은 포인트 클라우드(131)에 대한 예시적인 레인지 이미지 표현(720)을 도시한다. 2 차원 픽셀 어레이(720)는 픽셀 좌표들 상으로의 3 차원 장면의 투영을 표현한다. 예시를 위하여, 각각의 픽셀의 밝기는 각각의 픽셀에서의 거리 값에 관련되고, 더 밝은 픽셀들은 더 작은 거리에 대응한다.
하나 이상의 실시예들은 레인지 이미지들에 대한 임의의 유형 또는 유형들의 투영들을 이용할 수 있다. 도 7에서 예시된 투영은 등직사각형 투영(710)이고: 3 차원 장면으로부터의 포인트들은 스캐너의 뷰포인트(111)를 중심으로 둔 구(sphere)(701) 상으로 투영되고, 그 다음으로, 구는 투영(710)으로 2 차원 어레이로 맵핑된다. 등직사각형 투영은 장면을 스캔하기 위해 방위각(azimuth) 및 앙각(elevation) 각도를 증분시킴으로써 캡처되는 일부 포인트 클라우드들에 대한 자연적 투영(natural projection)일 수 있는데, 이것은 이 각도들이 등직사각형 투영의 위도-경도로 맵핑될 수 있기 때문이다. 등직사각형 투영은 또한, 2D 픽셀 어레이에서의 전체 360-도 수평 및 180-도 수직 스캔들(또는 그 임의의 서브레인지들)의 표현을 지원한다.
투영들은 포인트 클라우드(131)의 예시적인 포인트들(702 및 704)에 대하여 도시된다. 포인트(702)는 구(701) 상의 포인트(703) 상으로 투영되고, 구(701) 상의 포인트(703)는 그 다음으로, 레인지 이미지(720)의 픽셀(723)로 맵핑된다. 픽셀(723)과 연관된 것은 3D 장면에서의 뷰포인트(111)와 포인트(702) 사이의 거리(724)이다. 유사하게, 포인트(704)는 포인트(704)와 뷰포인트(111) 사이의 거리(722)와 함께, 구(701) 상의 포인트(705) 상으로, 그리고 그 다음으로, 레인지 이미지(720)에서의 픽셀(721)로 투영된다. 거리 값들은 픽셀들(721 및 723)에 대하여 표시되고; 거리 값들은 다른 픽셀들에 대하여 도시되는 것이 아니라, 각각의 픽셀에 대한 레인지 이미지에서 존재한다.
포인트 클라우드들의 레인지 이미지 표현들은 근접한 포인트들의 검출을 용이하게 할 수 있다. 비구조화된 포인트 클라우드들(예를 들어, 3D 포인트들의 비순서화된 세트로서 표현됨)로, 주어진 포인트에 근접한 포인트들을 구하는 것은 대규모 프로세싱을 요구할 수 있다. 하나의 접근법은 포인트들의 모든 쌍들 사이의 거리를 구하는 것이고; 이것은 클라우드 크기의 함수로서의 계산들의 수에서의 2차 성장 때문에 큰 포인트 클라우드들에 대하여 비실용적으로 된다. 또 다른 대안은 포인트 클라우드들을 옥트리 또는 유사한 데이터 구조로 프리프로세싱하는 것이고; 이 접근법은 비교들의 수를 감소시키지만, 고가의 프리프로세싱 단계를 요구한다. 레인지 이미지 표현들의 이용은 이 복잡성들을 회피할 수 있고, 근접한 포인트들의 효율적인 검출을 제공할 수 있다.
도 8 및 도 9는 하나 이상의 실시예들에서 이용될 수 있는 레인지 이미지들을 이용한 근접한 포인트들의 검출을 위한 기법을 예시한다. 이 기법은 2 개의 단계들로 근접성 테스트를 수행하고: 첫째, 이 기법은 포인트들이 레인지 이미지에서의 동일한 픽셀로 투영되는지 여부를 테스트하고, 둘째, 이 기법은 동일한 픽셀에서의 포인트들과 연관된 투영된 거리들이 임계치 내에 있는지 여부를 테스트한다. 도 8은 포인트 클라우드(131)와 연관된 레인지 이미지(720) 상으로의 포인트 클라우드(132)의 포인트들의 투영을 도시한다. 클라우드(132)로부터의 포인트들은 도 7에 대하여 설명된 바와 같이, 레인지 이미지(720)와 연관된 투영(710)을 이용하여 레인지 이미지 픽셀들(720) 상으로 투영될 수 있다. 하나의 포인트 클라우드를 또 다른 포인트 클라우드와 연관된 레인지 이미지 상으로 투영할 때, 다수의 포인트들은 동일한 픽셀로 투영될 수 있다. 예를 들어, 도 8에서, 포인트들(801, 802, 803, 및 804)은 각각 투영된 포인트들(811, 812, 813, 및 814)로서, 레인지 이미지(720)의 픽셀(810) 상으로 모두 투영된다. 그러므로, 이 포인트들은 도 7에서 도시된 바와 같이, 픽셀(810)에 또한 투영되는, 포인트 클라우드(131)의 포인트(704)에 근접한 포인트들에 대한 후보들일 수 있다. 포인트 클라우드(132)의 다른 포인트들은 후보들이 아닌데, 그 이유는 이러한 다른 포인트들이 동일한 투영된 픽셀을 가지지 않기 때문이다.
도 9는 근접성 테스트가 하나 이상의 실시예들에서 후보 근접 포인트들에 대하여 어떻게 정의될 수 있는지를 도시하기 위하여 도 8의 예를 계속한다. 이 절차는 포인트 클라우드(131)의 포인트(704), 및 포인트(704)와 동일한 픽셀 상으로 투영되는 포인트 클라우드(132)의 후보 포인트들(811, 812, 813, 및 814)에 대하여 예시된다. 이 포인트들의 각각과 연관된 것은 포인트 클라우드(131)의 뷰포인트(111)와 개개의 포인트 사이의 거리이다. 예를 들어, 포인트(704)는 뷰포인트(111)까지의 거리(722)에 있고, 포인트(812)는 뷰포인트(111)까지의 거리(904)에 있다. 하나 이상의 실시예들에서는, 임계 거리(902)가 정의될 수 있고, 거리(722)와 뷰포인트(111)로부터의 포인트까지의 거리와의 사이의 차이의 절대값이 이 임계치 미만일 경우에, 포인트는 포인트(704)에 근접한 것으로 고려될 수 있다. 거리 임계치는 포인트(704)까지의 거리에 종속될 수 있다.
하나 이상의 실시예들에서, 근접성 테스트는 뷰포인트(111)로부터의 거리(722)에서 포인트(704)를 포함하는 픽셀의 투영된 크기를 고려함으로써 정의될 수 있다. 특히, 시스템은 포인트(704) 주위에서 이 절두체(901)를 생성할 수 있고, 절두체의 치수들은 포인트(704)까지의 거리, 및 그 포인트에서의 포인트 클라우드의 각도 분해능에 종속될 수 있다. 효과적으로, 포인트와 연관된 픽셀은 레인지 이미지로부터 포인트 클라우드에서의 포인트로 외부로 투영될 수 있고, 절두체는 픽셀 주위에서 생성될 수 있다. 하나 이상의 실시예들에서, 절두체는 대략 정육면체 형상을 가질 수 있고; 이 때문에, 폭은 임계 거리(902)의 대략 2 배일 수 있다. 포인트(704) 주위의 이 절두체(901) 내에 있는 또 다른 포인트 클라우드로부터의 포인트들은 포인트(704)에 근접한 것으로서 고려될 수 있다. 이 기준을 이용하면, 포인트들(811 및 812)은 이 근접성 테스트를 만족시킬 수 있는 반면, 포인트들(813 및 814)은 만족시킬 수 없는데, 그 이유는 이들이 원통(100)의 후면 상에 있는 "뒤의(behind)" 포인트(704)이기 때문이다. 이 때문에, 포인트들(704, 811, 및 812)은 그룹들(402)에서의 근접한 포인트들의 그룹(903)에 추가될 수 있다.
근접성 테스팅의 효율을 개선시키기 위한 추가적인 최적화는 하나 이상의 실시예들에서 수행될 수 있다. 하나의 이러한 최적화는 도 10 및 도 11에서 예시된다. 도 10은 스캐너(1001)로부터 캡처되고 레인지 이미지(1002) 상으로 투영된 포인트 클라우드의 일부분들을 도시한다. 예시의 용이함을 위하여, 도 10 및 도 11에서 도시된 레인지 이미지 투영들은 등직사각형 구형 투영들이 아니라 평면형 원근 투영들이고; 예시된 개념들은 모든 유형들의 투영들에 동일하게 적용된다. 레인지 이미지(1002)의 픽셀들은 타일들(1011, 1012, 103, 및 1014)로 분할될 수 있다. 4 개의 타일들이 단순화를 위하여 여기서 도시되고; 하나 이상의 실시예들은 임의의 치수들의 임의의 수의 타일들을 이용할 수 있다. 각각의 타일에 대하여, 경계설정 체적은 그 타일 내의 픽셀들 상으로 투영된 포인트들 주위에서 계산될 수 있다. 이 경계설정 체적은 예를 들어, 타일로부터 외부를 향해 투영된 절두체일 수 있고, 전방 및 후방 면들은 타일의 픽셀들 내로 투영된 포인트들의 각각 뷰포인트로부터의 최소 및 최대 거리들에 의해 결정된다. 도 10은 각각 타일들(1011 및 1014)에 대한 2 개의 절두체들(1021 및 1022)을 예시한다.
일단 경계설정 체적들이 타일들 내로 투영된 포인트들에 대하여 계산되면, 이 경계설정 체적들은 도 11에서 예시된 바와 같이, 근접성 테스팅을 최적화하기 위하여 이용될 수 있다. 도 11은 스캐너들(1001 및 1101)에 의해 캡처되고 각각 레인지 이미지들(1002 및 1102) 상으로 투영된 2 개의 포인트 클라우드들(1121 및 1122)을 예시한다. 각각의 레인지 이미지는 예시를 위하여 4 개의 타일들로 분할되고, 각각의 타일과 연관된 절두체들 경계설정 체적들이 도시된다. 포인트들에 대한 제1 레벨 근접성 테스트는 포인트들을 포함하는 경계설정 체적들이 교차하는지 여부를 결정함으로써 정의될 수 있다. 도 11에서 도시된 예에서는, 절두체들(1022 및 1103)만이 교차한다. 그러므로, 2 개의 포인트 클라우드들(1121 및 1122) 사이의 근접한 포인트들은, 만약 존재할 경우에, 레인지 이미지(1002)에서의 타일(1014)로 투영되고 레인지 이미지(1102)에서의 타일(1112)로 투영된 포인트들에서만 구해질 수 있다. 모든 다른 타일들로부터의 포인트들은 근접성 테스팅을 위하여 평가될 필요가 없을 수 있다. 예를 들어, 도 8 및 도 9에서 설명된 절차가 클라우드(1122)의 포인트들을 투영(1110)으로 레인지 이미지(1002) 상으로 투영함으로써 포인트 클라우드들(11201 및 1122) 사이의 근접한 포인트들의 그룹들을 구하기 위하여 이용될 경우에, 체적(1103)에서의 포인트들만이 근접성의 평가를 위하여 타일(1014)로 투영될 필요가 있다.
발명의 하나 이상의 실시예들에서, 도 11에서 도시된 것들과 같은 타일 경계설정 체적들은 병합되어야 하는 모든 포인트 클라우드들에 대하여 계산될 수 있고, 각각의 경계설정 체적은 다른 포인트 클라우드들로부터의 경계설정 체적들과의 교차에 대하여 체크될 수 있다. 교차 테스팅은 축 분리 이론에 기초한 것들과 같은 널리 공지된 알고리즘들을 통해 신속하게 수행될 수 있다. 각각의 타일 경계설정 체적은 예를 들어, 각각의 타일 경계설정 체적이 교차하는 타일 경계설정 체적들에 링크될 수 있다. 다른 포인트 클라우드들과의 포인트 클라우드 중첩들에 대하여 레인지 이미지 영역을 평가할 때, 그 영역에서의 타일들은 다른 포인트 클라우드들로부터의 링크된 경계설정 체적들을 식별하기 위하여 이용될 수 있고, 그 링크된 경계설정 체적들에서의 포인트들만이 고려될 필요가 있다.
선호된 포인트들의 식별로 이제 돌아가면, 하나 이상의 실시예들은 선호된 포인트들을 선택하기 위하여 사용자 입력을 편입시키는 방법들, 또는 완전히 자동적인 방법들 중의 어느 하나를 이용할 수 있다. 이 접근법들의 조합들은 또한, 예를 들어, 제안되는 선호된 포인트들을 자동으로 선택하고 수동적 입력으로 이 선택들을 확인하거나 거절하기 위하여 이용될 수 있다. 도 12 내지 도 15는 선호된 포인트들을 선택하기 위하여 사용자 입력을 획득하는 방법을 예시하고, 도 16 및 도 17은 자동화된 방법을 예시한다. 이 방법들은 예시적이고; 하나 이상의 실시예들은 근접한 포인트들의 그룹들로부터 선호된 포인트들을 식별하기 위하여 임의의 유형의 방법을 이용할 수 있다.
하나 이상의 실시예들에서, 시스템은 사용자 인터페이스를 사용자에게 제시할 수 있고, 이 사용자 인터페이스로부터 선호된 포인트들의 선택을 받아들일 수 있다. 도 12 내지 도 15에서 예시된 실시예는 2D 레인지 이미지 투영들 주위에서 편성되는 사용자 인터페이스를 제시한다. 사용자는 포인트 클라우드들의 2D 투영으로서의 임의의 선택된 레인지 이미지의 관점으로부터 포인트 클라우드들을 관측할 수 있다. 이 2D 뷰들로부터, 사용자는 사용자에 의해 그려지거나 또는 이와 다르게 표시된 영역들에서의 선호된 포인트들에 대하여 어느 포인트 클라우드가 이용되어야 하는지를 표시할 수 있다. 포인트 클라우드들의 2D 투영들 주위에서 사용자 입력을 편성하는 것은 사용자 경험을 단순화하는데, 그 이유는 사용자가 이하에서 도시된 바와 같이, 2D 이미지에서 영역들을 그림으로써 간단하게 선호된 포인트들을 선택할 수 있기 때문이다.
도 12는 초기 화면(1201)을 갖는 예시적인 사용자 인터페이스를 도시한다. 사용자는 선택 에어리어(1202)에서 어느 클라우드 레인지 이미지를 관측할 것인지를 선택하고; 이 선택은 초기에 클라우드 1로 설정된다. 선택된 클라우드의 레인지 이미지 투영은 윈도우(1203)에서 도시된다. 화면(1211)에서, 사용자는 선택(1212)에서 클라우드 2를 관측하도록 전환하여, 투영(1213)을 도시한다. 이 초기 화면들에서, 사용자는 임의의 선호된 포인트들을 아직 표시하지 않았다. 시스템이 클라우드와 연관된 레인지 이미지 투영을 도시할 때, 시스템은 투영에서 도시된 포인트들에 근접한 다른 클라우드들로부터의 포인트들을 추적하거나 계산할 수 있다. 이 포인트들은 위에서 설명된 바와 같이 결정될 수 있고, 도 11에 대하여 설명된 바와 같은 사전계산된 경계설정 체적 교차들을 이용하여 최적화될 수 있다. 예를 들어, 윈도우(1203)에서의 포인트(1204)는 이 포인트에 근접한 클라우드 2의 포인트들을 포함하는 그룹(1205)과 연관된다. 유사하게, 화면(1211)에서는, 윈도우(1213)에서의 포인트들(1214) 중의 어느 하나가 이 동일한 그룹(1205)과 연관될 수 있다. 뷰들이 상이한 포인트 클라우드들의 관점으로부터 도시되므로, 이 연관성들은 시스템에 의해 계산되거나 추적될 수 있다. 사용자가 화면들에서 선택들을 행할 때, 선호된 포인트들은 그룹(1205)과 같은 포인트 그룹들에 대하여 배정될 수 있다. 선호된 포인트들의 이 배정들 및 재배정들은 도 13 내지 도 15에서 예시된다.
도 13은 선호된 포인트들의 사용자 선택을 도시하기 위하여 이 예를 계속한다. 화면(1301)에서, 사용자는 가시적인 클라우드로부터의 선호된 포인트들을 추가하기 위하여 추가 액션(1302)을 선택한다. 사용자는 그 다음으로, 이 영역에서의 클라우드 1로부터의 포인트들이 이들이 속하는 근접한 포인트들의 임의의 그룹들에서 선호된 포인트들로서 식별되어야 한다는 것을 표시하기 위하여 영역(1303)을 그리거나, 페인팅하거나, 또는 이와 다르게 선택한다. 하나 이상의 실시예들은 크기, 태그들, 형상들, 음영표시(shading), 패턴, 또는 컬러와 같은 다양한 표시자들을 이용하여 포인트들의 상황을 표시할 수 있고; 도 13에서 도시된 예에서, 범례(legend)(1320)는 포인트 상황이 패턴에 의해 이 화면들에서 표시되는 것을 도시한다. 이 범례(1320)는 하나 이상의 실시예들에서, 사용자 인터페이스에서 도시될 수 있거나 또 다른 화면 상에서 이용가능할 수 있다. 하나 이상의 실시예들에서, 사용자는 또한, 어느 포인트들이 각각의 포인트 클라우드에서의 선호된 포인트들로서 선택되는지에 대한 표시자들로, 포인트 클라우드들의 3D 뷰를 보는 것이 가능할 수 있다. 예를 들어, 포인트들의 전부를 도시하고 어느 포인트들이 선호된 포인트들로서 선택되는지를 도시하는 뷰(1330)가 이용가능할 수 있다. (원통형 3D 장면은 전시의 용이함을 위하여 윈도우(1330)에서 도시된다.) 사용자가 선택(1312)으로 클라우드 2를 관측하기 위하여 화면(1311)에서 전환할 경우에, 디스플레이는 또 다른 포인트 클라우드에서의 선호된 포인트들로서 선택된 것으로서 영역(1313)을 도시하는데, 그 이유는 이 포인트들이 영역(1303)에서의 클라우드 1에 배정된 선택된 포인트들과 중첩하기 때문이다. 사용자는 포인트들을 상이한 포인트 클라우드들에서의 선호된 포인트들로서 증분식으로 선택할 수 있고, 상이한 포인트 클라우드들의 관점으로부터 그리고 3D로 이 선택들의 효과를 볼 수 있다.
도 14는 화면(1401)을 갖는 이 예를 계속하고, 여기서, 다시, 사용자는 클라우드 2의 관점으로부터 레인지 이미지를 관측한다. 사용자는 대체 액션(1402)을 선택하고, 상이한 포인트 클라우드에서 선택된 포인트들을 이 포인트 클라우드로부터의 포인트들로 대체하기 위하여 영역(1403)을 그리거나, 페인팅하거나, 또는 이와 다르게 선택한다. 이 대체 액션은 또한, 이전에 비선택되는 새로운 포인트들을 추가한다. 이 액션은 포인트 클라우드 1에 배정된 포인트들의 영역(1313)을 더 작은 영역(1404)으로 감소시킨다. 사용자가 화면(1411)에서 클라우드 1을 관측하기 위하여 선택(1412)을 수행할 때, 클라우드 1에 대하여 선택된 이전에 선택된 에어리어(1303)는 에어리어(1413)로 감소되고, 포인트들(1414)은 상이한 클라우드에 대하여 선택된 것으로서 도시된다. 이 예를 계속하면, 도 15에서, 사용자는 화면(1501)에서 제거 액션(1502)을 선택하고, 그 다음으로, 임의의 포인트 클라우드로의 이 포인트들의 배정을 제거하기 위하여 영역(1503)을 선택한다. 사용자가 화면(1511)으로 전환하고 클라우드 2의 레인지 이미지 뷰를 도시하기 위하여 선택(1512)을 행할 때, 클라우드 1에서 이전에 선택되었던 포인트들(1513)은 비배정된 것으로서 이제 도시된다.
도 12 내지 도 15에서 도시된 사용자 인터페이스 화면들, 선택 옵션들, 및 액션들은 예시적인 예들이다. 하나 이상의 실시예들은 사용자로부터 입력을 획득하여 병합된 포인트 클라우드에 대한 선호된 포인트들을 선택하기 위하여 임의의 유형의 사용자 인터페이스를 이용할 수 있다. 화면들(1501 및 1511)에서 도시된 것들과 같은 2D 투영들을 제시하는 사용자 인터페이스에 대하여, 임의의 유형들의 2D 그리기 또는 이미지 조작 도구들 또는 제어들은 포인트들, 영역들, 에어리어들, 또는 형상들을 선택하고 수정하기 위하여 이용될 수 있다.
선호된 포인트들을 선택하기 위하여 사용자 입력을 획득하는 것 대신에 또는 이에 추가적으로, 하나 이상의 실시예들은 선호된 포인트들을 자동적으로 선택할 수 있다. 자동적 선택은 예를 들어, 근접한 포인트들의 그룹에서의 포인트들의 각각에 대하여 계산되는 포인트 품질 척도를 이용하여 수행될 수 있고; 그룹에서 최고 품질 척도를 갖는 포인트는 그룹의 선호된 포인트로서 선택될 수 있다. 임의의 품질 척도 또는 척도들이 이용될 수 있다. 도 16 및 도 17은 장면에서의 각각의 포인트에서 각각의 포인트 클라우드에 의해 캡처되는 3D 장면의 세부사항의 레벨을 반영하는 품질 척도의 계산을 예시한다. 연관된 포인트 클라우드가 더 큰 세부사항을 캡처하는 영역들에서의 포인트들은 예를 들어, 더 높은 품질 척도를 부여받을 수 있다. 세부사항의 레벨에 기초한 품질 척도의 이용은 불필요한 또는 중복적인 포인트들을 추가하지 않으면서, 최대로 상세하게 장면을 도시하는 병합된 포인트 클라우드를 생성할 수 있다.
포인트에서 포인트 클라우드에 의해 캡처된 세부사항의 레벨은 그 포인트에서의 포인트 클라우드의 표면 분해능에 역으로 관련될 수 있다. 포인트에서의 이 표면 분해능은 포인트를 중심으로 둔 픽셀이 그 포인트에서의 포인트 클라우드에 의해 이미징된 표면 상으로 투영될 때, 예를 들어, 포인트를 중심으로 둔 픽셀의 폭으로서 정의될 수 있다. 이 폭은 픽셀로부터 그 포인트에서의 표면으로 연장되는 절두체의 후면의 폭으로서 동일하게 관측될 수 있다. 도 16에서 예시된 바와 같이, 이 표면 분해능은 포인트 클라우드의 각도 분해능, 및 포인트 클라우드의 뷰포인트와 표면 사이의 거리의 함수일 수 있다. 예시의 용이함을 위하여, 도 16에서의 계산들은 오직 하나의 축, 수평 축을 따르는 표면 분해능을 도시하고; 하나 이상의 실시예들은 다수의 축들을 따르는 표면 분해능들을 계산할 수 있다. 도 16에서 도시된 예에서, 3D 장면의 국소적 일부분을 표현할 수 있는 평면형 표면(1600)은 각각 뷰포인트들(111 및 112)로부터 2 개의 스캐너들(101 및 102)에 의해 캡처된다. 2 개의 포인트 클라우드들의 포인트들은 품질 척도들의 계산을 강조표시하기 위하여 도 16에서 비-중첩하는 것으로서 도시되고; 일반적으로, 이 품질 척도들은 근접한 포인트들의 그룹으로부터 최상의 포인트를 선택하기 위하여 포인트 클라우드들이 중첩하는 에어리어들에서 이용될 것이다. 품질 척도 계산들은 2 개의 포인트들에 대하여 예시된다: 스캐너(101)에 의해 캡처된 포인트 클라우드로부터의 포인트(1615), 및 스캐너(102)에 의해 캡처된 포인트 클라우드로부터의 포인트(1616). 스캐너(101)로부터의 스캔 포인트들이 픽셀들 내로, 하나의 포인트가 각각의 픽셀의 중심에 있도록 배치될 경우에, 표면(1600) 상으로 투영된 포인트(1615) 주위에 중심을 둔 픽셀은 직사각형(1641)이다. 이 직사각형의 폭(1611)은 그 포인트(1615)에서의 이 포인트 클라우드의 표면 분해능의 척도로서 이용될 수 있다. 유사하게, 직사각형(1642)의 폭(1612)은 포인트(1616)에서의 스캐너(102)의 포인트 클라우드의 표면 분해능의 척도로서 이용될 수 있다. 단순화를 위하여, 표면(1600)은 뷰포인트(111)로부터 포인트(1615)로의 뷰 벡터(1631)에 수직인 것으로 가정하면, 표면 분해능(1611)은 (스캐너로부터 표면까지의 거리인) 뷰 벡터(1631)의 길이(1601) 곱하기 스캐너의 각도 분해능(121)의 1/2의 탄젠트의 2 배와 동일하다. 유사하게, 표면 분해능(1612)은 뷰 벡터(1632)의 길이(1602) 곱하기 스캐너(102)의 각도 분해능(122)의 1/2의 탄젠트의 2 배와 동일하다. 이 계산들은 각각 포인트들(1615 및 1616)에 대한 품질(quality) 척도들(1621 및 1622)로 귀착된다. 이 예에서, 스캐너(101)로부터의 포인트 클라우드에 대한 표면 분해능(1611)은 스캐너(102)로부터의 포인트 클라우드에 대한 표면 분해능(1612)보다 더 굵고(더 큼); 그러므로, 스캐너(102)로부터의 포인트들은 이들이 중첩하는 스캔의 이 영역에서 선호될 수 있다.
도 16에서 위에서 설명된 표면 분해능 및 포인트 품질 척도들에 대한 계산들은 포인트에서의 뷰 벡터가 그 포인트에서의 스캐닝된 표면에 수직인 것을 가정한다. 발명의 하나 이상의 실시예들은 이 각도가 제로인 것을 가정하는 것이 아니라, 그 대신에, 뷰 벡터와 스캐닝된 표면에 대한 법선 벡터 사이의 각도를 추정할 수 있고, 포인트 품질 척도를 세분화하기 위하여 이 각도를 이용할 수 있다. 이 접근법은 도 17에서 예시된다. 단순화를 위하여, 도 17은 오직 수직 축 주위에서 틸팅된 표면을 도시하고, 그것은 표면 위의 상면도로부터의 기하구조를 도시한다. 도 17에서 예시된 계산들은 임의의 표면 방위로 즉각적으로 일반화한다. 스캔 포인트(1705)는 표면(1600a) 상에 놓이고, 이 포인트를 중심에 둔 픽셀은 표면으로 투영된다. 투영된 픽셀은 포인트(1705)에서의 표면(1600a) 상의 포인트 클라우드의 표면 분해능인 폭(1611a)을 가진다. (상부로부터 도시된) 표면(1600a)은 포인트(1705)까지의 뷰 벡터(1631)에 대하여 각도(1703)에 있는 법선 벡터(1702)를 가진다. 삼각법 계산(trigonometric calculation)들은 투영된 픽셀 폭(1611a)이 거리(1601) 곱하기 각도 분해능(121)의 1/2의 탄젠트의 2 배 나누기 각도(1703)의 코사인임을 나타낸다. 품질 척도는 예를 들어, 이 표면 분해능(1611a)의 역으로서 계산될 수 있다. 뷰 벡터와 표면 법선 사이의 비제로 각도(1703)는 표면 분해능이 각도(1703)의 코사인에 의해 나누기되는 것으로 귀착되고; 그러므로, 품질 척도는 이 인자에 의해 곱하기 된다.
표면에 대한 법선 벡터(1702)는 포인트 클라우드 데이터로부터 계산될 수 있거나, 장면에 대한 다른 정보로부터 이용가능할 수 있다. 하나 이상의 실시예들에서 이용될 수 있는 예시적인 기법은 본 기술분야에서 공지된 법선 추정의 최소-제곱(least-squares) 방법이다. 이 기법은 법선 벡터가 계산되는 픽셀을 중심으로 둔 레인지 이미지에서의 픽셀들의 3x3 어레이와 같은, 포인트 클라우드의 작은 패치에서의 포인트들을 통해 평면을 맞춘다. 맞추어진 평면에 대한 법선 벡터는 그 포인트에서의 표면에 대한 법선으로서 이용될 수 있다.
도 18a 및 도 18b는 도 17에서 설명된 조절된 품질 척도가 선호된 포인트들을 선택하기 위하여 어떻게 이용될 수 있는지를 예시한다. 도 1의 원통형 장면의 일부분(100a)이 도시된다. 도 18a는 사시도를 도시하고, 도 18b는 상면도를 도시한다. 스캐너(101)에 의해 캡처된 포인트(1801) 및 스캐너(102)에 의해 캡처된 포인트(1802)는 근접한 포인트들의 그룹 내에 있다. 포인트들(1801 및 1802) 사이의 선호된 포인트의 자동적 선택은 위에서 설명된 인자들의 전부 3 개를 참작할 수 있다: 스캐너와 포인트 사이의 거리, 스캐너의 각도 분해능, 및 스캔 뷰 벡터와 표면 법선 사이의 각도. 이 예에서, 스캐너(102)는 장면(100a)에 더 근접하게 위치될 수 있고, 스캐너(102)의 각도 분해능은 더 작을 수 있지만; 그러나, 각각 포인트들(1801 및 1802)에서, 스캐너(101)로부터의 뷰 벡터(1811)는 표면 법선 벡터(1810)에 대해 거의 평행한 반면, 스캐너(102)로부터의 뷰 벡터(1812)는 법선 벡터(1810)에 거의 수직이다. 이에 따라, 각도(1814)의 코사인은 1에 근접하지만, 각도(1813)의 코사인은 제로에 근접한다. 그러므로, 2 개의 포인트들(1801 및 1802) 사이의 품질 척도 비교(1820)는 포인트(1801)를 선택한다.
본원에서 개시된 발명은 특정 실시예들 및 그 애플리케이션들에 의하여 설명되었지만, 청구항들에서 기재된 발명의 범주로부터 이탈하지 않으면서, 수 많은 수정들 및 변동들이 본 기술분야에서의 통상의 기술자들에 의해 행해질 수 있다.

Claims (20)

  1. 선호된 포인트들을 식별하고 유지하는 포인트 클라우드들의 병합 방법으로서,
    메모리에 결합된 컴퓨터를 이용하여,
    3D 장면으로부터 캡처된 복수의 포인트 클라우드들을 획득하는 것 - 상기 복수의 포인트 클라우드들의 각각의 포인트 클라우드는,
    복수의 포인트들;
    뷰포인트; 및
    각도 분해능을 포함함 -;
    상기 복수의 포인트 클라우드들로부터의 2 개의 별개의 포인트들이 상기 2 개의 별개의 포인트들 중의 많아야 하나가 유지되어야 할 정도로 서로에 충분히 근접한 것인지 여부를 결정하는 근접성 테스트를 획득하거나 생성하는 것;
    근접한 포인트들의 하나 이상의 그룹들을 식별하는 것 -
    근접한 포인트들의 상기 하나 이상의 그룹들의 각각의 그룹은 상기 복수의 포인트 클라우드들로부터의 2 개 이상의 포인트들을 포함하고;
    상기 각각의 그룹의 상기 2 개 이상의 포인트들의 각각의 포인트는 상기 각각의 그룹의 상기 2 개 이상의 포인트들의 상이한 포인트에 대하여 상기 근접성 테스트를 만족시킴 -;
    고립된 포인트들을 식별하는 것 - 상기 고립된 포인트들은 근접한 포인트들의 상기 하나 이상의 그룹들 중의 임의의 그룹 내에 있지 않은 상기 복수의 포인트 클라우드들로부터의 모든 포인트들을 포함함 -;
    근접한 포인트들의 상기 하나 이상의 그룹들의 각각의 그룹에 대하여,
    상기 각각의 그룹의 상기 2 개 이상의 포인트들 중의 선호된 포인트를 식별하는 것; 및
    병합된 포인트 클라우드를 생성하는 것 - 상기 병합된 포인트 클라우드는,
    상기 고립된 포인트들; 및
    근접한 포인트들의 상기 하나 이상의 그룹들의 각각의 그룹의 상기 선호된 포인트를 포함하고;
    상기 병합된 포인트 클라우드는 상기 선호된 포인트가 아닌 상기 각각의 그룹의 포인트들을 포함하지 않음 -
    을 포함하는, 방법.
  2. 제1항에 있어서,
    상기 각각의 포인트 클라우드는,
    상기 복수의 포인트들을 픽셀들의 2D 어레이로서 표현하는 레인지 이미지 -
    상기 복수의 포인트들의 각각의 포인트는 상기 픽셀들의 2D 어레이의 픽셀에 대응하고;
    상기 픽셀들의 2D 어레이의 각각의 픽셀은 상기 픽셀과 연관된 포인트와 상기 각각의 포인트 클라우드의 상기 뷰포인트 사이의 거리를 포함함 -; 및
    상기 3D 장면으로부터 상기 픽셀들의 2D 어레이로의 투영을 포함하는, 방법.
  3. 제2항에 있어서, 상기 투영은,
    상기 3D 장면에서의 포인트로부터 상기 뷰포인트를 중심으로 둔 구로의 맵핑; 및
    상기 구로부터 상기 픽셀들의 2D 어레이로의 등직사각형 투영을 포함하는, 방법.
  4. 제2항에 있어서, 상기 근접한 포인트들의 하나 이상의 그룹들을 식별하는 것은,
    상기 복수의 포인트 클라우드들의 기본 포인트 클라우드를 선택하는 것;
    상기 기본 포인트 클라우드의 상기 픽셀들의 2D 어레이로부터 픽셀들의 세트를 선택하는 것;
    상기 기본 포인트 클라우드 이외의 상기 복수의 포인트 클라우드들로부터 포인트들의 세트를 선택하는 것;
    상기 기본 포인트 클라우드의 상기 픽셀들의 2D 어레이의 투영된 픽셀; 및
    상기 각각의 포인트와 상기 기본 포인트 클라우드의 상기 뷰포인트 사이의 투영된 거리를 획득하기 위하여,
    상기 기본 포인트 클라우드와 연관된 상기 투영을 상기 포인트들의 세트의 각각의 포인트에 적용하는 것; 및
    상기 투영된 거리가 상기 기본 포인트 클라우드에서의 상기 투영된 픽셀과 연관된 상기 거리의 임계 값 내에 있을 때,
    상기 각각의 포인트, 및 상기 투영된 픽셀과 연관된 상기 기본 포인트 클라우드에서의 상기 포인트를, 상기 투영된 픽셀과 연관된 근접한 포인트들의 그룹에 추가하는 것을 포함하는, 방법.
  5. 제2항에 있어서, 상기 컴퓨터를 이용하여,
    상기 각각의 포인트 클라우드의 상기 픽셀들의 2D 어레이를 복수의 타일들로 구획하는 것;
    상기 복수의 타일들의 각각의 타일에 대하여,
    상기 각각의 타일에서의 픽셀들에 투영되는 상기 각각의 포인트 클라우드의 포인트들을 포함하는 경계설정 체적을 생성하는 것;
    상기 경계설정 체적과 교차하는 연관된 경계설정 체적들을 가지는 상기 각각의 포인트 클라우드 이외의 상기 복수의 포인트 클라우드들과 연관된 타일들을 식별하는 것을 더 포함하는, 방법.
  6. 제5항에 있어서, 상기 근접한 포인트들의 하나 이상의 그룹들을 식별하는 것은,
    상기 복수의 포인트 클라우드들의 기본 포인트 클라우드를 선택하는 것;
    상기 기본 포인트 클라우드로부터 타일들의 세트를 선택하는 것;
    상기 기본 포인트 클라우드 이외의 상기 복수의 포인트 클라우드들로부터 포인트들의 세트를 선택하는 것 - 상기 포인트들의 세트는 상기 기본 포인트 클라우드로부터의 상기 타일들의 세트 중의 하나 이상의 타일들과 교차하는 상기 기본 포인트 클라우드 이외의 상기 복수의 포인트 클라우드들의 타일들에서의 포인트들을 포함함 -;
    상기 기본 포인트 클라우드의 상기 픽셀들의 2D 어레이의 투영된 픽셀; 및
    상기 각각의 포인트와 상기 기본 포인트 클라우드의 상기 뷰포인트 사이의 투영된 거리를 획득하기 위하여,
    상기 기본 포인트 클라우드와 연관된 상기 투영을 상기 포인트들의 세트의 각각의 포인트에 적용하는 것;
    상기 투영된 거리가 상기 기본 포인트 클라우드에서의 상기 투영된 픽셀과 연관된 상기 거리의 임계 값 내에 있을 때,
    상기 각각의 포인트, 및 상기 투영된 픽셀과 연관된 상기 기본 포인트 클라우드에서의 상기 포인트를, 상기 투영된 픽셀과 연관된 근접한 포인트들의 그룹에 추가하는 것을 포함하는, 방법.
  7. 제2항에 있어서, 상기 각각의 그룹의 상기 2 개 이상의 포인트들 중의 상기 선호된 포인트를 상기 식별하는 것은,
    상기 복수의 포인트 클라우드들 중의 제1 포인트 클라우드로부터의 포인트들의 세트를 디스플레이하는 사용자 인터페이스를 사용자에게 제시하는 것;
    상기 근접한 포인트들의 상기 그룹들 중의 그룹 내에 있는 상기 포인트들의 세트의 각각의 포인트에 대하여, 상기 각각의 포인트가 상기 그룹의 상기 선호된 포인트인지 여부를 표시하는 표시자를 상기 사용자 인터페이스에서 디스플레이하는 것;
    상기 제1 포인트 클라우드로부터의 상기 포인트들의 세트로부터 하나 이상의 선택된 포인트들을 선택하기 위하여 상기 사용자로부터 선택 입력을 받아들이는 것;
    상기 사용자로부터 편집 액션 입력을 받아들이는 것 - 상기 편집 액션 입력은 추가 액션 또는 제거 액션을 포함함 -;
    상기 편집 액션이 상기 추가 액션일 때, 상기 하나 이상의 선택된 포인트들을, 상기 하나 이상의 선택된 포인트들을 포함하는 근접한 포인트들의 그룹들의 선호된 포인트들로서 설정하는 것; 및
    상기 편집 액션이 상기 제거 액션일 때, 상기 하나 이상의 선택된 포인트들을, 상기 하나 이상의 선택된 포인트들을 포함하는 근접한 포인트들의 그룹들의 선호된 포인트들이 아닌 것으로서 설정하는 것을 포함하는, 방법.
  8. 제7항에 있어서, 상기 표시자는 상기 그룹의 상기 선호된 포인트가 상기 제1 포인트 클라우드와 상이한 제2 포인트 클라우드에서의 포인트인지 여부를 추가로 표시하는, 방법.
  9. 제8항에 있어서,
    상기 표시자는 상기 각각의 포인트를 포함하는 상기 제1 포인트 클라우드의 상기 픽셀들의 2D 어레이의 픽셀에 적용된 컬러, 패턴, 또는 음영이고;
    상기 컬러, 패턴, 또는 음영은,
    상기 각각의 포인트가 상기 그룹의 상기 선호된 포인트인 것을 표시하는 제1 값;
    상기 그룹의 상기 선호된 포인트가 상기 제1 포인트 클라우드와 상이한 제2 포인트 클라우드에서의 포인트인 것을 표시하는 제2 값; 및
    상기 그룹이 지정되는 선호된 포인트를 가지지 않는다는 것을 표시하는 제3 값을 포함하는, 방법.
  10. 제6항에 있어서, 상기 각각의 그룹의 상기 2 개 이상의 포인트들 중의 상기 선호된 포인트를 상기 식별하는 것은,
    상기 복수의 포인트 클라우드들 중의 제1 포인트 클라우드로부터의 포인트들의 세트를 디스플레이하는 사용자 인터페이스를 사용자에게 제시하는 것;
    상기 근접한 포인트들의 상기 그룹들 중의 그룹 내에 있는 상기 포인트들의 세트의 각각의 포인트에 대하여, 상기 각각의 포인트가 상기 그룹의 상기 선호된 포인트인지 여부를 표시하는 표시자를 상기 사용자 인터페이스에서 디스플레이하는 것;
    상기 제1 포인트 클라우드로부터의 상기 포인트들의 세트로부터 하나 이상의 선택된 포인트들을 선택하기 위하여 상기 사용자로부터 선택 입력을 받아들이는 것;
    상기 사용자로부터 편집 액션 입력을 받아들이는 것 - 상기 편집 액션 입력은 추가 액션 또는 제거 액션을 포함함 -;
    상기 편집 액션이 상기 추가 액션일 때, 상기 하나 이상의 선택된 포인트들을, 상기 하나 이상의 선택된 포인트들을 포함하는 근접한 포인트들의 그룹들의 선호된 포인트들로서 설정하는 것; 및
    상기 편집 액션이 상기 제거 액션일 때, 상기 하나 이상의 선택된 포인트들을, 상기 하나 이상의 선택된 포인트들을 포함하는 근접한 포인트들의 그룹들의 선호된 포인트들이 아닌 것으로서 설정하는 것을 포함하는, 방법.
  11. 제10항에 있어서, 상기 표시자는 상기 그룹의 상기 선호된 포인트가 상기 제1 포인트 클라우드와 상이한 제2 포인트 클라우드에서의 포인트인지 여부를 추가로 표시하는, 방법.
  12. 제11항에 있어서,
    상기 표시자는 상기 각각의 포인트를 포함하는 상기 제1 포인트 클라우드의 상기 픽셀들의 2D 어레이의 픽셀에 적용된 컬러, 패턴, 또는 음영이고;
    상기 컬러, 패턴, 또는 음영은,
    상기 각각의 포인트가 상기 그룹의 상기 선호된 포인트인 것을 표시하는 제1 값;
    상기 그룹의 상기 선호된 포인트가 상기 제1 포인트 클라우드와 상이한 제2 포인트 클라우드에서의 포인트인 것을 표시하는 제2 값; 및
    상기 그룹이 지정되는 선호된 포인트를 가지지 않는다는 것을 표시하는 제3 값을 포함하는, 방법.
  13. 제1항에 있어서, 상기 선호된 포인트를 상기 식별하는 것은,
    상기 각각의 그룹의 상기 2 개 이상의 포인트들의 각각의 포인트에 대한 품질 척도를 계산하는 것; 및
    상기 선호된 포인트를 최고 품질 척도를 갖는 상기 2 개 이상의 포인트들 중의 포인트로서 식별하는 것을 포함하는, 방법.
  14. 제13항에 있어서, 상기 각각의 포인트에 대한 상기 품질 척도는 상기 각각의 포인트를 포함하는 상기 포인트 클라우드의 상기 각각의 포인트에서의 분해능에 역으로 관련되는, 방법.
  15. 제14항에 있어서, 상기 분해능은,
    상기 각각의 포인트를 포함하는 상기 포인트 클라우드의 상기 뷰포인트로부터 상기 각각의 포인트까지의 뷰 벡터(view vector)의 길이
    곱하기
    상기 포인트 클라우드의 상기 각도 분해능의 1/2의 탄젠트의 2 배를 포함하는, 방법.
  16. 제15항에 있어서, 상기 분해능은 추가로,
    상기 뷰 벡터와, 상기 각각의 포인트가 상기 3D 장면에서 놓이는 표면에 대한 법선 벡터 사이의 각도의 코사인에 의해 나누기되는, 방법.
  17. 제6항에 있어서, 상기 선호된 포인트를 상기 식별하는 것은,
    상기 각각의 그룹의 상기 2 개 이상의 포인트들의 각각의 포인트에 대한 품질 척도를 계산하는 것; 및
    상기 선호된 포인트를 최고 품질 척도를 갖는 상기 2 개 이상의 포인트들 중의 포인트로서 식별하는 것을 포함하는, 방법.
  18. 제17항에 있어서, 상기 각각의 포인트에 대한 상기 품질 척도는 상기 각각의 포인트를 포함하는 상기 포인트 클라우드의 상기 각각의 포인트에서의 분해능에 역으로 관련되는, 방법.
  19. 제18항에 있어서, 상기 분해능은,
    상기 각각의 포인트를 포함하는 상기 포인트 클라우드의 상기 뷰포인트로부터 상기 각각의 포인트까지의 뷰 벡터의 길이
    곱하기
    상기 포인트 클라우드의 상기 각도 분해능의 1/2의 탄젠트의 2 배를 포함하는, 방법.
  20. 제19항에 있어서, 상기 분해능은 추가로,
    상기 뷰 벡터와, 상기 각각의 포인트가 상기 3D 장면에서 놓이는 표면에 대한 법선 벡터 사이의 각도의 코사인에 의해 나누기되는, 방법.
KR1020217021397A 2019-02-25 2020-02-10 선호된 포인트들을 식별하고 유지하는 포인트 클라우드들의 병합 방법 KR102661681B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/284,572 2019-02-25
US16/284,572 US10346998B1 (en) 2019-02-25 2019-02-25 Method of merging point clouds that identifies and retains preferred points
PCT/US2020/017499 WO2020176238A1 (en) 2019-02-25 2020-02-10 Method of merging point clouds that identifies and retains preferred points

Publications (2)

Publication Number Publication Date
KR20210102348A KR20210102348A (ko) 2021-08-19
KR102661681B1 true KR102661681B1 (ko) 2024-04-29

Family

ID=67106432

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217021397A KR102661681B1 (ko) 2019-02-25 2020-02-10 선호된 포인트들을 식별하고 유지하는 포인트 클라우드들의 병합 방법

Country Status (6)

Country Link
US (2) US10346998B1 (ko)
EP (1) EP3915089A4 (ko)
JP (1) JP7265639B2 (ko)
KR (1) KR102661681B1 (ko)
CN (1) CN113424224B (ko)
WO (1) WO2020176238A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10883823B2 (en) 2018-10-18 2021-01-05 Cyberoptics Corporation Three-dimensional sensor with counterposed channels
EP3672250A1 (en) * 2018-12-21 2020-06-24 InterDigital VC Holdings, Inc. Method and apparatus to encode and decode images of points of a sphere
US10346998B1 (en) * 2019-02-25 2019-07-09 Nurulize, Inc. Method of merging point clouds that identifies and retains preferred points
US11460581B2 (en) * 2019-06-10 2022-10-04 Toyota Research Institute, Inc. Systems and methods for reducing LiDAR points
US11544903B2 (en) * 2019-12-13 2023-01-03 Sony Group Corporation Reducing volumetric data while retaining visual fidelity
CN113837952A (zh) * 2020-06-24 2021-12-24 影石创新科技股份有限公司 基于法向量的三维点云降噪方法、装置、计算机可读存储介质及电子设备
CN111736114B (zh) * 2020-08-21 2020-11-13 武汉煜炜光学科技有限公司 一种提高激光雷达数据传输速度的方法和激光雷达
US11430146B2 (en) * 2020-10-31 2022-08-30 Robert Bosch Gmbh Two-stage depth estimation machine learning algorithm and spherical warping layer for EQUI-rectangular projection stereo matching
US20220260692A1 (en) * 2021-02-18 2022-08-18 Argo AI, LLC Method for characterizing lidar point cloud quality
CN113628232B (zh) * 2021-05-11 2024-02-27 深圳市汇川技术股份有限公司 剔除拟合线中干扰点的方法、视觉识别设备及存储介质
US11645824B1 (en) 2022-03-22 2023-05-09 Illuscio, Inc. Systems and methods for defining, bonding, and editing point cloud data points with primitives
US11461987B1 (en) * 2022-03-22 2022-10-04 Illuscio, Inc. Systems and methods for defining, bonding, and editing point cloud data points with primitives
WO2024129995A1 (en) * 2022-12-14 2024-06-20 Faro Technologies, Inc. Method and apparatus for fusion of depth data from multiple sources
CN116310227B (zh) * 2023-05-18 2023-09-12 海纳云物联科技有限公司 三维稠密重建方法、装置、电子设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070253635A1 (en) * 2006-04-28 2007-11-01 Hon Hai Precision Industry Co., Ltd. System and method for filtering point clouds
US20180313956A1 (en) * 2017-05-01 2018-11-01 Symbol Technologies, Llc Device and method for merging lidar data

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7605817B2 (en) * 2005-11-09 2009-10-20 3M Innovative Properties Company Determining camera motion
US7940279B2 (en) * 2007-03-27 2011-05-10 Utah State University System and method for rendering of texel imagery
US7995055B1 (en) * 2007-05-25 2011-08-09 Google Inc. Classifying objects in a scene
JP5218723B2 (ja) * 2007-06-14 2013-06-26 株式会社Ihi 蛍光探傷方法および蛍光探傷装置
JP5593177B2 (ja) * 2010-09-14 2014-09-17 株式会社トプコン 点群位置データ処理装置、点群位置データ処理方法、点群位置データ処理システム、および点群位置データ処理プログラム
KR101392804B1 (ko) * 2012-07-25 2014-05-08 연세대학교 산학협력단 지상 라이다에서 취득된 포인트 클라우드 기반의 실내공간 3차원 모델 추출 방법 및 이를 구현하기 위한 프로그램이 기록된 기록매체
US9811880B2 (en) * 2012-11-09 2017-11-07 The Boeing Company Backfilling points in a point cloud
US10018711B1 (en) * 2014-01-28 2018-07-10 StereoVision Imaging, Inc System and method for field calibrating video and lidar subsystems using independent measurements
WO2015172227A1 (en) * 2014-05-13 2015-11-19 Pcp Vr Inc. Method, system and apparatus for generation and playback of virtual reality multimedia
WO2016033036A2 (en) * 2014-08-26 2016-03-03 Massachusetts Institute Of Technology Methods and apparatus for three-dimensional (3d) imaging
CN106796721B (zh) * 2014-09-11 2021-05-04 赛博光学公司 三维轮廓测量中根据多个相机和源的点云合并
GB2532948B (en) * 2014-12-02 2021-04-14 Vivo Mobile Communication Co Ltd Object Recognition in a 3D scene
CN105719261A (zh) * 2014-12-05 2016-06-29 富泰华工业(深圳)有限公司 点云数据合并***及方法
US9811734B2 (en) * 2015-05-11 2017-11-07 Google Inc. Crowd-sourced creation and updating of area description file for mobile device localization
US9646410B2 (en) * 2015-06-30 2017-05-09 Microsoft Technology Licensing, Llc Mixed three dimensional scene reconstruction from plural surface models
WO2017023210A1 (en) * 2015-08-06 2017-02-09 Heptagon Micro Optics Pte. Ltd. Generating a merged, fused three-dimensional point cloud based on captured images of a scene
WO2018025660A1 (ja) * 2016-08-05 2018-02-08 ソニー株式会社 画像処理装置および画像処理方法
JP6868992B2 (ja) * 2016-09-27 2021-05-12 株式会社トプコン 画像処理装置、画像処理方法および画像処理用プログラム
US10074160B2 (en) * 2016-09-30 2018-09-11 Disney Enterprises, Inc. Point cloud noise and outlier removal for image-based 3D reconstruction
CN107918753B (zh) * 2016-10-10 2019-02-22 腾讯科技(深圳)有限公司 点云数据处理方法及装置
JP2018072198A (ja) * 2016-10-31 2018-05-10 富士通株式会社 位置姿勢推定装置、位置姿勢推定方法、及び位置姿勢推定プログラム
US10109055B2 (en) * 2016-11-21 2018-10-23 Seiko Epson Corporation Multiple hypotheses segmentation-guided 3D object detection and pose estimation
EP3333538B1 (en) * 2016-12-07 2020-09-09 Hexagon Technology Center GmbH Scanner vis
CN106815824B (zh) * 2016-12-08 2019-07-05 华中科技大学 一种提高大规模三维重建效率的图像近邻优化方法
WO2018176440A1 (zh) * 2017-04-01 2018-10-04 深圳市速腾聚创科技有限公司 点云与平面图像融合方法、智能设备及非易失性计算机可读存储介质
CN107230225B (zh) * 2017-04-25 2020-06-09 华为技术有限公司 三维重建的方法和装置
US10255480B2 (en) * 2017-05-15 2019-04-09 The Boeing Company Monitoring object shape and deviation from design
US10699481B2 (en) * 2017-05-17 2020-06-30 DotProduct LLC Augmentation of captured 3D scenes with contextual information
CN107301648B (zh) * 2017-06-09 2020-04-07 大连理工大学 基于重叠区域边界角度的冗余点云去除方法
US11113845B2 (en) * 2017-09-18 2021-09-07 Apple Inc. Point cloud compression using non-cubic projections and masks
GB2569609B (en) * 2017-12-21 2020-05-27 Canon Kk Method and device for digital 3D reconstruction
US10346998B1 (en) * 2019-02-25 2019-07-09 Nurulize, Inc. Method of merging point clouds that identifies and retains preferred points

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070253635A1 (en) * 2006-04-28 2007-11-01 Hon Hai Precision Industry Co., Ltd. System and method for filtering point clouds
US20180313956A1 (en) * 2017-05-01 2018-11-01 Symbol Technologies, Llc Device and method for merging lidar data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Alexiou, E., & Ebrahimi, T. (2018, July). Point cloud quality assessment metric based on angular similarity. In 2018 IEEE International Conference on Multimedia and Expo (ICME) (pp. 1-6). IEEE.*

Also Published As

Publication number Publication date
JP7265639B2 (ja) 2023-04-26
WO2020176238A1 (en) 2020-09-03
US11010912B2 (en) 2021-05-18
EP3915089A1 (en) 2021-12-01
JP2022522279A (ja) 2022-04-15
US20200273193A1 (en) 2020-08-27
CN113424224B (zh) 2023-11-17
KR20210102348A (ko) 2021-08-19
US10346998B1 (en) 2019-07-09
CN113424224A (zh) 2021-09-21
EP3915089A4 (en) 2022-04-13

Similar Documents

Publication Publication Date Title
KR102661681B1 (ko) 선호된 포인트들을 식별하고 유지하는 포인트 클라우드들의 병합 방법
US10803208B2 (en) Semantic understanding of 3D data
Schauer et al. The peopleremover—removing dynamic objects from 3-d point cloud data by traversing a voxel occupancy grid
US11398075B2 (en) Methods and systems for processing and colorizing point clouds and meshes
Hornacek et al. Depth super resolution by rigid body self-similarity in 3d
RU2679964C1 (ru) Визуализация изображений по данным лазерного сканирования
US9412040B2 (en) Method for extracting planes from 3D point cloud sensor data
Feixas et al. A unified information-theoretic framework for viewpoint selection and mesh saliency
RU2695528C2 (ru) Визуализация изображения данных лазерного сканирования
US11188739B2 (en) Processing uncertain content in a computer graphics system
US8717356B2 (en) Display processing method and apparatus
US6518964B1 (en) Apparatus, system, and method for simplifying annotations on a geometric surface
CN116721230A (zh) 一种三维实景模型的构建方法、装置、设备及存储介质
CN113168712A (zh) 从多个图像中选择互补图像以用于3d几何提取的***和方法
Lari et al. A new approach for segmentation-based texturing of laser scanning data
US11893692B1 (en) Systems and methods for retexturizing mesh-based objects using point clouds
US20220230453A1 (en) Method and apparatus for generating zebra crossing in high resolution map, and electronic device
Hoppe et al. Adaptive meshing and detail-reduction of 3D-point clouds from laser scans
Schütz Textured surfels visualization of multi-frame point cloud data
Frédéricque et al. Populating a building Multi Representation Data Base with photogrammetric tools: Recent progress
Preiner et al. Interactive Screen-Space Triangulation for High-Quality Rendering of Point Clouds
Birsak Coloring meshes of archaeological datasets
Abbott Phichet Trisiripisal

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant