KR102424135B1 - 2개의 카메라로부터의 곡선의 세트의 구조형 광 매칭 - Google Patents

2개의 카메라로부터의 곡선의 세트의 구조형 광 매칭 Download PDF

Info

Publication number
KR102424135B1
KR102424135B1 KR1020167019717A KR20167019717A KR102424135B1 KR 102424135 B1 KR102424135 B1 KR 102424135B1 KR 1020167019717 A KR1020167019717 A KR 1020167019717A KR 20167019717 A KR20167019717 A KR 20167019717A KR 102424135 B1 KR102424135 B1 KR 102424135B1
Authority
KR
South Korea
Prior art keywords
probable
images
scene
epipolar
matching
Prior art date
Application number
KR1020167019717A
Other languages
English (en)
Other versions
KR20160121509A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=53777380&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR102424135(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 크레아폼 인크. filed Critical 크레아폼 인크.
Publication of KR20160121509A publication Critical patent/KR20160121509A/ko
Application granted granted Critical
Publication of KR102424135B1 publication Critical patent/KR102424135B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/246Calibration of cameras
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • 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/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • 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/10Image acquisition modality
    • G06T2207/10141Special mode during image acquisition
    • G06T2207/10152Varying illumination
    • 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/20068Projection on vertical or horizontal image axis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Abstract

2개의 카메라에 의해 취득된 장면의 2개의 이미지 간 포인트를 매칭시키기 위한 방법으로서, 그 방법은 이미지에서의 반사로부터 블랍을 추출하고 그리고 블랍에 고유 식별자로 개별적으로 라벨을 붙이는 단계; 선택된 에피폴라 평면을 선택하고 그리고 이미지의 각각 상에 켤레 에피폴라 라인을 정의하는 단계; 이미지의 각각에서의 블랍으로부터 선택된 개연성 있는 블랍에 대한 고유 식별자 및 투영된 패턴의 광 시트 라벨을 포함하는 개연성 있는 조합을 식별하는 단계; 개연성 있는 조합의 각각에 대한 매칭 오차를 계산하는 단계; 적어도 일부 에피폴라 평면에 대해 선택하는 단계, 식별하는 단계 및 계산하는 단계를 반복하는 단계; 개연성 있는 조합에 대한 성능 지수를 컴퓨팅함으로써 가장 확률 높은 조합을 결정하는 단계; 가장 확률 높은 조합으로부터 프레임에서의 매칭 포인트를 식별하는 단계를 포함한다.

Description

2개의 카메라로부터의 곡선의 세트의 구조형 광 매칭{STRUCTURED LIGHT MATCHING OF A SET OF CURVES FROM TWO CAMERAS}
본 발명은 일반적으로는 물체의 표면 기하구조의 3-차원 스캐닝 분야에 관한 것이고, 더 구체적으로는, 구조형 광 스테레오비전에 관한 것이다.
물체의 표면 기하구조의 3-차원 스캐닝 및 디지털화는 여러 산업 및 서비스에서 흔히 사용되고, 그들의 응용은 수없이 많다. 그러한 응용의 몇몇 예는 산업 생산 시스템, 복잡한 기하구조를 갖는 기존 부품의 역공학, 생체인식 등에서 형상 일치성의 측정 및 검사이다.
물체의 형상은 표면 상의 포인트의 세트와 센서 간 거리를 측정하는 레인징 센서를 사용하여 스캐닝 및 디지털화된다. 레인지 센서에 대해 여러 다른 원리가 개발되어 왔다. 그들 중에서, 삼각측량-기반 레인지 센서는 일반적으로는, 수 미터 아래의 거리와 같은, 가까운 레인지 측정에 충분하다. 이러한 유형의 장치를 사용하여, 물체 상의 동일한 피처 포인트에 수렴하는 적어도 2개의 광선은 베이스라인 거리만큼 떨어진 2개의 다른 관점으로부터 획득된다. 베이스라인 및 2개의 광선 방향으로부터, 관찰된 포인트의 상대 위치가 복원될 수 있다. 양 광선의 교차점은 삼각형에서 한 변의 길이 및 2개의 각도의 지식을 사용하여 결정되는데, 실제로 스테레오비전에서 삼각측량의 원리이다. 스테레오비전에서의 도전과제는 어느 픽셀이 프레임을 구성하는 스테레오 쌍의 각각의 이미지에서 서로 대응하는지 효율적으로 식별하는 것이다. 이러한 문제는, 가장 일반적 경우에, 매칭에 필요한 모든 정보가 단일 프레임 내에서 구해져야 하는 것이 부과되는 포터블 또는 핸드 헬드 스캐너에 특히 중요하다.
매칭 문제를 단순화하기 위해, 기지의 방향으로 광선의 세트를 출력하는 광 투영기로 광 검출기 중 하나를 대신할 수 있다. 이러한 경우에는, 매칭 포인트를 구하기 위해 투영된 광선의 정향 및 물체 표면 상에서 반사된 각각의 검출된 광선을 활용하는 것이 가능하다. 그때 삼각형의 베이시스에 상대적으로 각각의 관찰된 피처 포인트의 좌표를 계산하는 것이 가능하다.
전문 광 검출기가 사용될 수 있기는 하지만, 전형적으로는 디지털 CCD 또는 CMOS 카메라가 사용된다.
투영기에 대해, 광 소스는 스폿, 광 평면 또는 많은 다른 가능한 패턴을 투영시키는 코히어런트 소스(레이저) 또는 비-코히어런트 소스(예를 들어, 백색광)일 수 있다. 광 투영기의 사용은 물체 표면 상의 어디에서라도 반사된 포인트의 검출을 용이하게 하기는 하지만, 패턴이 더 복잡할수록, 대응하는 픽셀 및 광선을 효율적으로 식별하기 위한 도전과제는 더 크게 될 것이다.
이러한 이유로, 사영 기하학의 이론으로부터의 속성을 더 활용할 것이다. 이미지 전체에서의 탐색과는 달리, 대응하는 픽셀의 탐색을 단일 직선으로 한정하도록 에피폴라 제약(epipolar constraint)을 활용할 수 있는 것이 2개의 뷰의 경우에는 적어도 30년 동안 당업계에 주지되어 왔다. 이러한 원리는 (투영기로) 능동 및 수동 스테레오비전 양자에서 널리 활용된다. 이러한 용례의 일례는 미국 특허 제8,032,327호에 기술되어 있고, 거기서 레이저 투영기는 2개의 직각 광 평면을 크로스헤어 패턴으로서 투영시키며 표면 상에서의 그 반사는 2개의 카메라에 의해 캡처링된다. 얇은 단색 스트라이프를 투영시키는 것은 양호한 신호-대-잡음 비를 획득하고 이미지 프로세싱을 단순화하여 각각의 단일 프레임으로부터 3D 포인트를 획득하는데 유익하다. 각각의 카메라에 의해 관찰가능한 단일 스트라이프를 갖는 것은 각각의 에피폴라 라인이 스트라이프와 한 번 교차하고 그리하여 매칭 모호성을 회피하는 것을 보장한다.
물체의 표면의 형상을 캡처링하는데 필요한 시간을 감축하기 위해, 동시에 투영되는 스트라이프의 수를 증가시키든지 또는 프레임 레이트를 증가시키든지, 또는 둘 다 할 필요가 있을 것이다. 제안된 하나의 접근법은 스트라이프의 그리드를 투영시키는데 있다. 그리드를 투영시키는 것은, 투영된 패턴은 곡선의 네트워크를 물체 표면 상에 산출하고 여기서 2개의 방향으로부터의 접선 곡선은 표면 법선을 측정하는 것을 가능하게 하므로, 표면 재구성에 더 흥미롭다. 표면 법선 정보는 유익하게도 미국 특허 제7,487,063호에 기술된 바와 같이 3D 측정으로부터의 실시간 표면 재구성에서 활용될 수 있다. 스트라이프의 수를 증가시키는 것은 스캐닝 속도에 유익하지만, 스트라이프의 수가 증가됨에 따라, 삼각측량을 적용하기 전에 이미지 포인트를 매칭하는 복잡도가 기하급수적으로 커지고, 일부 경우에서는, 해결될 수 없는 모호성을 도입한다.
모호성을 해결하기 위한 하나의 방법은 하나 이상의 카메라를 부가하는데 있지만 하드웨어 복잡도가 증가하고 그것은 소정 대역폭에 대해 프레임 레이트 한계를 감축할 것이다. 하나 또는 2개의 카메라를 활용하는 방법은 투영된 그리드로부터 포인트를 매칭하도록 제안되어 왔다. 반사된 곡선의 교차점은 부가적 매칭 제약을 설정하기 위해 곡선 섹션의 연결된 네트워크를 세그먼팅 및 식별하는 것을 가능하게 한다. 그렇지만, 2개의 곡선의 교차점 가까이에서 추출되는 포인트는 덜 정밀하다. "가까이"는 2개의 곡선으로부터의 픽셀에 대한 이미지 프로세싱 연산자가 간섭하는 거리 내를 의미한다. 정밀도를 유지하기 위해, 이들 포인트를 폐기 및 상실할 필요가 있을 것이다.
단일 프레임에서 그리드의 투영을 회피하면서 표면 접선으로부터 추출된 표면 법선 정향으로부터 혜택을 보기 위해 비 교차 곡선의 2개 세트를 교번하여 산출하는 것이 도움이 될 것이다. 그렇지만, 매칭 도전과제가 남아있을 것이다. 하나의 해법은 다색 스트라이프를 투영시키는데 있다. 그렇지만, 일부 재료 상에서의 색 반사율은 매칭의 품질에 유해할 것이고 투영기는 더 복잡하게 될 필요가 있을 것이다. 다른 접근법은 각각의 프레임에서 가시적이어야 하는 평면 배경 상에 물체를 위치결정하도록 부과한다. 이것은, 특히 환경과 간섭함이 없이 장소 상에서 물체를 측정할 필요가 있을 때, 시스템의 융통성을 명확히 제한한다.
단지 2개의 카메라, 변화할 수 있는 투영된 패턴, 및 관찰된 장면에 대한 특정 제약 없음으로, 각각의 단일 프레임에 대해 독립적으로 매칭 문제를 해결하는 해법에 대한 필요성이 여전하다.
넓은 일 양상에 의하면, 이미지에서 포인트를 매칭시키기 위해 블랍(blob)의 연속성을 활용하기 위한 방법이 제공된다.
넓은 일 양상에 의하면, 2개의 카메라에 의해 취득된 장면의 2개의 이미지 간 포인트를 매칭시키기 위한 방법이 제공되고, 그 방법은 이미지에서 반사로부터 블랍을 추출하고 그리고 블랍에 고유 식별자로 개별적으로 라벨을 붙이는 단계; 선택된 에피폴라 평면을 선택하고 그리고 이미지의 각각 상에 켤레 에피폴라 라인을 정의하는 단계; 이미지의 각각에서의 블랍으로부터 선택된 개연성 있는 블랍에 대한 고유 식별자 및 투영된 패턴의 광 시트 라벨을 포함하는 개연성 있는 조합을 식별하는 단계; 개연성 있는 조합의 각각에 대한 매칭 오차를 계산하는 단계; 적어도 일부 에피폴라 평면에 대해 선택하고, 식별하고 그리고 계산하는 단계를 반복하는 단계; 개연성 있는 조합에 대한 성능 지수를 컴퓨팅함으로써 가장 확률 높은 조합을 결정하는 단계; 가장 확률 높은 조합으로부터 프레임에서 매칭 포인트를 식별하는 단계를 포함한다.
다른 넓은 일 양상에 의하면, 2개의 카메라에 의해 동시에 취득된 장면의 2개의 이미지 간 포인트를 매칭시키기 위한 방법에 제공되고, 2개의 이미지는 프레임을 형성하고, 이미지는 장면 상에서의 투영된 패턴의 반사를 각각 포함하고 있고, 투영된 패턴은 장면 상에 광 시트를 투영시키는 광 투영기 유닛에 의해 제공되고, 카메라 및 투영기 유닛은 공통 좌표계에서 교정되고, 그 방법은 이미지에서 반사로부터 블랍을 추출하고 그리고 블랍에 고유 식별자로 개별적으로 라벨을 붙이는 단계; 에피폴라 평면의 세트로부터 선택된 에피폴라 평면을 선택하고 그리고 이미지의 각각 상에 켤레 에피폴라 라인을 정의하는 단계; 개연성 있는 조합을 식별하는 단계로서, 개연성 있는 조합은 이미지의 각각에서의 블랍으로부터 선택된 개연성 있는 블랍에 대한 고유 식별자 및 투영된 패턴의 광 시트 라벨을 포함하고, 개연성 있는 블랍은 켤레 에피폴라 라인과 교차하는 식별하는 단계; 개연성 있는 조합의 각각에 대한 매칭 오차를 계산하는 단계; 에피폴라 평면의 세트의 각각의 에피폴라 평면에 대해 선택하고, 식별하고 그리고 계산하는 단계를 반복하는 단계; 에피폴라 평면의 세트의 각각의 에피폴라 평면에 대한 매칭 오차를 사용하여 개연성 있는 조합에 대한 성능 지수를 컴퓨팅함으로써 가장 확률 높은 조합을 결정하는 단계; 가장 확률 높은 조합으로부터 프레임에서 매칭 포인트를 식별하는 단계를 포함한다.
또 다른 넓은 일 양상에 의하면, 장면의 2개의 이미지 간 포인트를 매칭시키기 위한 시스템이 제공되고, 그 시스템은: 장면 상에 광 시트를 투영시키고 그로써 투영된 패턴을 장면 상에 제공하는 광 투영기 유닛; 장면의 2개의 이미지를 동시에 취득하기 위한 2개의 카메라로서, 2개의 이미지는 프레임을 형성하고, 카메라 및 투영기 유닛은 공통 좌표계에서 교정되고, 이미지는 장면 상에서의 투영된 패턴의 반사를 각각 포함하고 있는 카메라; 이미지에서 반사로부터 블랍을 추출하고 그리고 블랍에 고유 식별자로 개별적으로 라벨을 붙이고; 에피폴라 평면의 세트로부터 선택된 에피폴라 평면을 선택하고 그리고 이미지의 각각 상에 켤레 에피폴라 라인을 정의하고; 켤레 에피폴라 라인과 교차하는 개연성 있는 블랍으로서 이미지의 각각에서의 블랍으로부터 선택된 개연성 있는 블랍에 대한 고유 식별자 및 투영된 패턴의 광 시트 라벨을 포함하는 개연성 있는 조합을 식별하고; 개연성 있는 조합의 각각에 대한 매칭 오차를 계산하고; 에피폴라 평면의 세트의 각각의 에피폴라 평면에 대해 선택하고, 식별하고 그리고 계산하는 단계를 반복하고; 에피폴라 평면의 세트의 각각의 에피폴라 평면에 대한 매칭 오차를 사용하여 개연성 있는 조합에 대한 성능 지수를 컴퓨팅함으로써 가장 확률 높은 조합을 결정하고; 그리고 가장 확률 높은 조합으로부터 프레임에서 매칭 포인트를 식별하기 위한 프로세서를 포함한다.
다른 넓은 일 양상에 의하면, 적어도 하나의 컴퓨터 프로세서에 의해 수행되는, 장면의 2개의 이미지 간 포인트를 매칭시키기 위한 컴퓨터-구현 방법이 제공되고, 그 방법은 센서에 의해 취득된 2개의 이미지를 검색하는 단계로서, 2개의 이미지는 장면과 센서 간 단일 상대 위치에서 캡처링된 프레임을 형성하고, 이미지는 장면 상에서의 투영된 패턴의 반사를 각각 포함하고 있는, 상기 검색하는 단계; 이미지에서 반사로부터 블랍을 추출하고 그리고 블랍에 고유 식별자로 개별적으로 라벨을 붙이는 단계; 에피폴라 평면의 세트로부터 선택된 에피폴라 평면을 선택하고 그리고 이미지의 각각 상에 켤레 에피폴라 라인을 정의하는 단계; 개연성 있는 조합을 식별하는 단계로서, 개연성 있는 조합은 이미지의 각각에서의 블랍으로부터 선택된 개연성 있는 블랍에 대한 고유 식별자 및 투영된 패턴의 광 시트 라벨을 포함하고, 개연성 있는 블랍은 켤레 에피폴라 라인과 교차하는, 상기 식별하는 단계; 개연성 있는 조합의 각각에 대한 매칭 오차를 계산하는 단계; 에피폴라 평면의 세트의 각각의 에피폴라 평면에 대해 선택하고, 식별하고 그리고 계산하는 단계를 반복하는 단계; 에피폴라 평면의 세트의 각각의 에피폴라 평면에 대한 매칭 오차를 사용하여 개연성 있는 조합에 대한 성능 지수를 컴퓨팅함으로써 가장 확률 높은 조합을 결정하는 단계; 가장 확률 높은 조합으로부터 프레임에서 매칭 포인트를 식별하는 단계; 프레임에서의 매칭 포인트를 식별시키는 출력을 발생시키는 단계를 포함한다.
또 다른 넓은 일 양상에 의하면, 적어도 하나의 컴퓨터 프로세서에 의해 실행될 때 위에서 열거된 방법 단계를 수행하는 컴퓨터 실행가능한 명령어들을 저장해 놓은 컴퓨터 판독가능한 메모리를 포함하는 컴퓨터 프로그램 제품이 제공된다.
일 실시형태에 있어서, 센서는 2개의 카메라 및 광 투영기 유닛을 갖고, 투영된 패턴은 장면 상에 적어도 하나의 광 시트를 투영시키는 광 투영기 유닛에 의해 제공되며, 카메라 및 광 투영기 유닛은 공통 좌표계에서 교정된다.
일 실시형태에 있어서, 방법은 성능 지수가 매치 임계치의 품질을 충족시키지 못하면 매칭 포인트를 폐기하기 위해 매칭 포인트를 유효성 검증하는 단계를 더 포함한다.
일 실시형태에 있어서, 방법은 복수의 프레임에 대해 컴퓨터-구현 방법을 반복하는 단계를 더 포함한다.
일 실시형태에 있어서, 프레임에서의 매칭 포인트를 사용하여 3D 포인트의 세트를 계산하는 단계를 더 포함한다.
일 실시형태에 있어서, 방법은 공통 좌표계에서 3D 포인트를 통합하기 위해 각각의 프레임에서 센서의 위치를 추정하는 단계를 더 포함하되, 센서의 위치를 추정하는 단계는 장면에 붙은 표적, 장면의 기하구조 및 장면의 텍스처 중 적어도 하나를 사용하는 단계를 포함한다.
일 실시형태에 있어서, 방법은 3D 곡선의 세그먼트를 획득하기 위해 3D 포인트의 세트를 계산하도록 이미지를 활용하는 단계를 더 포함한다.
다른 넓은 일 양상에 의하면, 장면의 2개의 이미지 간 포인트를 매칭시키기 위한 시스템이 제공되고, 그 시스템은 장면 상에 적어도 하나의 광 시트를 투영시키고 그로써 투영된 패턴을 장면 상에 제공하는 광 투영기 유닛 및 장면의 2개의 이미지를 취득하기 위한 2개의 카메라를 포함하는 센서로서, 2개의 이미지는 장면과 센서 간 단일 상대 위치에서 캡처링된 프레임을 형성하고, 이미지는 장면 상에서의 투영된 패턴의 반사를 각각 포함하고 있되, 카메라 및 광 투영기 유닛은 공통 좌표계에서 교정되는 센서; 및 센서와 전자 통신하고 있는 적어도 하나의 컴퓨터 프로세서로서, 카메라에 의해 취득된 2개의 이미지를 검색하고, 이미지에서 반사로부터 블랍을 추출하고 그리고 블랍에 고유 식별자로 개별적으로 라벨을 붙이고, 에피폴라 평면의 세트로부터 선택된 에피폴라 평면을 선택하고 그리고 이미지의 각각 상에 켤레 에피폴라 라인을 정의하고, 켤레 에피폴라 라인과 교차하는 개연성 있는 블랍으로서 이미지의 각각에서의 블랍으로부터 선택된 개연성 있는 블랍에 대한 고유 식별자 및 투영된 패턴의 광 시트 라벨을 포함하는 개연성 있는 조합을 식별하고, 개연성 있는 조합의 각각에 대한 매칭 오차를 계산하고, 에피폴라 평면의 세트의 각각의 에피폴라 평면에 대해 선택하고, 식별하고 그리고 계산하는 단계를 반복하고, 에피폴라 평면의 세트의 각각의 에피폴라 평면에 대한 매칭 오차를 사용하여 개연성 있는 조합에 대한 성능 지수를 컴퓨팅함으로써 가장 확률 높은 조합을 결정하고, 그리고 가장 확률 높은 조합으로부터 프레임에서 매칭 포인트를 식별하기 위한 적어도 하나의 컴퓨터 프로세서; 프레임에서의 매칭 포인트를 식별시키는 출력을 발생시키기 위해 프로세서와 전자 통신하고 있는 적어도 하나의 컴퓨터 출력부를 포함한다.
일 실시형태에 있어서, 광 투영기 유닛은 장면 상에 적어도 하나의 광 시트를 각각 투영시키는 2개의 광 투영기를 포함하고, 투영된 패턴은 각각의 프레임에서 2개의 광 투영기 중 단 하나에 의해 제공되고 그리고 투영된 패턴은 2개의 광 투영기의 각각에 대해 다르다.
일 실시형태에 있어서, 적어도 하나의 광 시트는 광 평면이다.
또 다른 넓은 일 양상에 의하면, 적어도 하나의 컴퓨터 프로세서에 의한 실행을 위해 문장들 및 명령어들을 기록해 놓은 컴퓨터 판독가능한 메모리가 제공되고, 문장들 및 명령어들은 센서에 의해 취득된 2개의 이미지를 검색하기 위한 코드 수단으로서, 2개의 이미지는 장면과 센서 간 단일 상대 위치에서 캡처링된 프레임을 형성하고, 이미지는 장면 상에서의 투영된 패턴의 반사를 각각 포함하고 있는 검색하기 위한 코드 수단; 이미지에서 반사로부터 블랍을 추출하고 그리고 블랍에 고유 식별자로 개별적으로 라벨을 붙이기 위한 코드 수단; 에피폴라 평면의 세트로부터 선택된 에피폴라 평면을 선택하고 그리고 이미지의 각각 상에 켤레 에피폴라 라인을 정의하기 위한 코드 수단; 개연성 있는 조합을 식별하기 위한 코드 수단으로서, 개연성 있는 조합은 이미지의 각각에서의 블랍으로부터 선택된 개연성 있는 블랍에 대한 고유 식별자 및 투영된 패턴의 광 시트 라벨을 포함하고, 개연성 있는 블랍은 켤레 에피폴라 라인과 교차하는 식별하기 위한 코드 수단; 개연성 있는 조합의 각각에 대한 매칭 오차를 계산하기 위한 코드 수단; 에피폴라 평면의 세트의 각각의 에피폴라 평면에 대해 선택하고, 식별하고 그리고 계산하는 단계를 반복하기 위한 코드 수단; 에피폴라 평면의 세트의 각각의 에피폴라 평면에 대한 매칭 오차를 사용하여 개연성 있는 조합에 대한 성능 지수를 컴퓨팅함으로써 가장 확률 높은 조합을 결정하기 위한 코드 수단; 가장 확률 높은 조합으로부터 프레임에서 매칭 포인트를 식별하기 위한 코드 수단; 프레임에서의 매칭 포인트를 식별시키는 출력을 발생시키기 위한 코드 수단을 포함한다.
본 개시의 위에서 언급된 특징 및 목적은 유사한 참조 숫자가 유사한 요소를 나타내는 수반 도면과 함께 취해지는 이하의 설명을 참조하여 더 명백하게 될 것이다:
도 1은 도 1a 및 도 1b를 포함하되, 도 1a는 광 투영기 유닛을 갖는 일례의 시스템 구성의 예시도 및 도 1b는 2개의 광 투영기를 포함하는 광 투영기 유닛을 갖는 일례의 시스템 구성의 예시도;
도 2는 광 평면의 세트를 투영시키는 광 투영기 유닛의 예시도;
도 3은 평면 표면으로부터 반사된 2개의 조합된 패턴의 예시도;
도 4는 장면 상에 오버레잉된 에피폴라 평면의 표현도;
도 5는 이미지의 뷰, 투영된 패턴, 및 물체 상에서의 그 반사의 묘사도;
도 6은 2개의 카메라 및 광 투영기 유닛으로부터의 광선 교차의 표현도;
도 7은 도 7a 및 도 7b를 포함하되, 도 7a는 매치의 품질을 측정하는 하나의 방법의 묘사도 및 도 7b는 매치의 품질을 측정하는 다른 하나의 방법의 묘사도;
도 8은 블랍의 세트에 대한 매칭 오차의 그래프;
도 9는 3D 포인트를 매칭 및 산출하기 위한 일례의 방법의 순서도; 및
도 10은 3D 포인트를 매칭 및 산출하기 위한 시스템의 예시적 주 컴포넌트의 블록 선도.
2개의 카메라를 사용하여 모든 프레임마다 매치를 효율적으로 구하기 위해, 시스템 및 컴퓨터-구현 방법이 제안된다.
도 1은 센서(100)의 일례의 실시형태를 예시하고 있다. 하나 이상의 광 투영기 유닛(130)은 2개의 카메라(110) 사이에 장착된다. 각각의 카메라(110)는 시야(120)를 갖는다. 각각의 광 투영기 유닛(130)은, (140a) 및 (140b)로 표기된, 각각의 스팬(140) 내에서 패턴을 투영시킨다. 도 1a에서, 광 투영기 유닛(130)은 단일 광 투영기를 포함한다. 도 1b에서, 센서(102)는 2개의 광 투영기(130a, 130b)를 포함하는 광 투영기 유닛을 위해 다른 실시형태를 갖는다. 광 투영기는 레이저 광 투영기, 백색광 투영기 등일 수 있다.
일례의 실시형태에 있어서, 카메라(110) 사이의 베이스라인(150)은 170㎜이고 카메라의 렌즈의 초점 길이는 5,7㎜이다. 2개의 카메라의 광학축의 폭주는 약 30°이다. 도 2에 도시된 광 투영기 유닛(130)에 대해, 광 평면의 수는 5이지만, 예를 들어 1과 15 또는 그 이상 사이에서 변할 수 있다. (220a), (220b), (220c), (220d) 및 (220e)로 표기된 5개의 광 평면(220)을 산출하는 광 투영기 유닛(130)의 일례의 실시형태(200)가 도 2에 예시되어 있다.
도 1b의 실시형태에 있어서, 2개의 광 투영기(130a, 130b)는 도 3에 도시된 바와 같이 표면 상에 교차하는 곡선(300)을 생성하는 여러 다른 패턴을 산출하도록 정향된다. 시스템은 각각의 패턴을 교번하여 투영시킬 것이다. 곡선의 2개 세트(310, 320)는 각각 투영기(130a, 130b)에 의해 투영된다. 그것들은 (310a), (310b), (310c), (310d), 및 (310e) 그리고 (320a), (320b), (320c), (320d) 및 (320e)로 표기된다. 예를 들어, 도 1b의 예의 실시형태에 있어서, 광 투영기(130a, 130b)는 여러 다른 패턴을 산출하도록, 예를 들어 +30° 및 -30°로, 물체에 대해 소정 각도로 그들 자신이 정향된다.
쉽게 이해될 바와 같이, 투영 유닛(130)은 하나보다 많은 광 패턴을 투영시킬 수 있는 프로그래밍가능한 광 투영기 유닛을 포함할 수 있다. 예를 들어, 투영 유닛(130)은 교차하는 곡선(300)의 2개 세트 및 부가적 광 평면을 동시에 또는 대안으로 투영시키도록 프로그래밍될 수 있다.
카메라(110) 및 광 투영기 유닛(130)은 공통 좌표계에서 교정된다. 이것은 왜곡 파라미터를 포함하는 내재 파라미터는 물론 양 카메라(110)에 대한 외재 파라미터도 측정됨을 의미한다. 투영되는 광 시트의 각각은 동일한 좌표계에서 교정된다. 이러한 예에 있어서, 광 시트는 평면 근사이다. 투영기의 파장과 매칭하도록 카메라 렌즈 상에 대역통과 필터를 부착하는 것도 가능하다. 이것은 주변 광 및 다른 소스로부터의 간섭을 감축할 것이다.
적어도 하나의 컴퓨터 프로세서를 갖는 그러한 센서(100)를 사용하여, 3D 포인트는 이하의 컴퓨터-구현 방법을 적용한 후에 획득될 수 있다. 프레임의 2개의 이미지는 2개의 카메라(110)를 사용하여 캡처링된다. 2개의 이미지는 동시에 캡처링되는데, 이미지의 취득 동안 장면과 센서(100) 사이에 상대적 변위가 없음 또는 이러한 상대적 변위가 무시될 수 있음을 의미한다. 카메라는 장면에 대한 센서(100)의 상대적 위치가 동일하게 남아있거나 기결정된 무시될 수 있는 레인지 내에서 변하는 연장된 시간 기간 동안 순차적으로든 동시에든 이미지를 캡처링하도록 동기화된다. 이들 양 경우는 센서에 의한 이미지의 동시 캡처라고 생각된다.
프레임의 2개의 이미지가 캡처링되고 나면, 이미지 프로세싱이 적용된다. 2개의 이미지는, 카메라(110)의 2개의 각각의 관점으로부터, 장면에서 투영된 패턴의 반사를 포함하고 있다. 반사된 패턴은 각각의 이미지에서 곡선 섹션의 세트처럼 보인다. 이들 곡선 섹션은 이미지에서 배경보다 더 밝게 보이고 첨단 기술을 사용하여 세그먼팅될 수 있다. 하나의 기술은 이미지 신호를 임계화하는데 있다. 곡선의 프로파일이 전형적이므로 세그먼테이션 유효성 검증이 적용될 수 있다; 그것은 이미지에서 마루 프로파일로서 나타난다. 폭 또한 유효성 검증될 수 있다. 잡음의 충격을 감축하기 위해, 곡선 세그먼트의 길이는 또한, 예를 들어, 2개 픽셀과 같은 기결정된 픽셀 수로 설정되는 최소 임계치를 초과할 것이다. 동일한 연결된 컴포넌트의 일부분인 픽셀은 라벨로 인덱싱되는 블랍을 정의한다. 최종적으로 프로파일 섹션의 중심의 위치는 폴리라인을 구성하도록 이들 중심을 잇기 전에 블랍을 따라 각각의 픽셀 라인에 대해 추정된다.
프레임의 2개의 이미지가 세그먼팅되고 나면, 에피폴라 평면이 선택된다. 일례의 에피폴라 평면(430)은 장면(420) 상에 오버레잉된 에피폴라 평면(430)의 예시도(400)인 도 4에 도시되어 있다. 에피폴라 평면은 2개의 카메라(C1, C2)의 투영 중심(450, 460) 사이에 공통 라인 세그먼트를 공유한다. 라인 세그먼트(C1-C2)는 에피폴라 평면을 정의하기 위한 회전축으로서 역할한다. 그리하여, 에피폴라 평면의 세트는 파라미터 각도 또는, 등가적으로, 이미지에서의 픽셀 좌표를 사용하여 인덱싱될 수 있다. 에피폴라 평면은 2개의 이미지 평면과 교차하고 그리하여 2개의 켤레 에피폴라 라인을 정의한다. 일반성의 상실 없이, 이미지의 정류된 스테레오 쌍을 가정하면, 각각의 이미지 라인은 에피폴라 평면의 인덱스이다. 도 4에 예시된 경우에서, 장면(420)은 평면이다. 투영기(P)의 투영 중심(470)으로부터 생기는 광선(440)은 점선으로 도시되어 있다. 장면(420)으로부터 반사된 곡선 프로파일(410)은 분명하다. 그것들은 (410a), (410b), (410c), (410d) 및 (410e)로 표기된다.
도 5는 이미지의 뷰(500), 투영된 패턴 및 물체 상에서의 그 반사를 묘사하고 있다. 각각의 에피폴라 평면에 대해, 또는 등가적으로 이미지에서의 픽셀의 각각의 라인에 대해, 양 이미지에서 현재 라인과 교차하는 세그먼팅된 블랍은 각각의 이미지에 대해 블랍 인덱스의 리스트를 발생시키도록 식별된다. 제1 카메라(C1)는 그 투영 중심(552) 및 그 이미지 평면(540)에 의해 표현된다. 제2 카메라(C2)는 그 투영 중심(554) 및 그 이미지 평면(542)에 의해 표현된다. 투영기(P)는 투영 중심(470) 및 이미지 평면(536)에 의해 예시되어 있다. 투영기의 투영 중심(470)은 카메라의 투영 중심(552, 554) 사이의 베이스라인 상에 위치하고 있을 필요는 없지만 도 5의 예의 실시형태에서는 그렇긴 하다.
이미지 평면과 에피폴라 평면 간 교차점(550)은 점선을 사용하여 도시되어 있다. 광선(522, 520, 524)은 동일한 에피폴라 평면에 속한다. 투영기는 광 평면(532)을 물체(544) 상에 투영시키고, 그리하여 반사된 곡선(510)을 산출한다. 그 후 이러한 반사된 곡선(510)은 제1 카메라(C1)에 의해 캡처링된 제1 이미지에서 이미징되는 한편(이미징된 곡선(530)) 그것은 또한 제2 카메라(C2)에 의해 캡처링된 제2 이미지에서 이미징된다(이미징된 곡선(534)). 그때 반사된 곡선(510) 상의 포인트(546)는 이미징된 곡선(530, 534) 상에 존재하고 그 3D 좌표를 구하는 것을 가능하게 하도록 이들 이미지에서 적절히 식별 및 매칭되어야 한다. 이미징된 곡선(530, 534)은, 물체(544) 상에서의 반사된 곡선(510)으로부터 기원하는, 광선(522, 520)을 따라 교차점(550) 상에서 예시된 에피폴라 평면과 교차한다.
광 투영기 유닛 및 카메라는 동일한 좌표계에서 교정되므로, 인덱스의 트리플릿을 인덱싱하는 것이 가능하며 여기서 트리플릿(I1, I2, IP)은 제1 이미지에서의 곡선의 인덱스(I1), 제2 이미지에서의 후보 대응 곡선의 인덱스(I2) 및 투영기에서의 광 시트의 인덱스(IP)로 구성된다. 가능한 조합의 수는 N, 투영된 패턴에서의 광 시트의 수가 증가할 때, 조합의 수의 증가의 오더인 O(N3)이다. 조합의 수를 제한하기 위해, 에피폴라 평면 내에서의 라인 광선의 교차점(610)을 분석하고 오차 척도를 소정 교차점으로부터 나타낼 수 있다. 도 6은 2개의 카메라 및 투영기로부터의 광선 교차의 표현도(600)이다. 광선(604, 606)은 각각 카메라(C2, C1)에 의해 캡처링된다. 광선(602)은 투영기(P)에 의해 투영된다. 투영기(P)에 대해, 광선은 각도(630)를 사용하여 인덱싱될 수 있다. 단일 포인트에서 교차하는 것처럼 보이는 교차점(610b)과 같은 일부 교차점(610)은 더 확률 높은 매치인 한편, 교차점(610a, 610c)과 같은 다른 교차점은 더 큰 오차를 갖는다.
도 7a 및 도 7b는 교차점으로부터 나타낼 수 있는 2개의 예의 오차 측정을 예시하고 있다. 도 7a에서, 오차 척도(700)는 포인트와 3개의 광선의 각각 간 거리의 최소 합이다. 도 7b에서, 오차 척도(702)는 2개의 카메라 광선의 교차점과 투영기 광선 간 거리이다. 다른 변형이 가능하다. 개연성 있는 조합의 수는 획득된 값에 임계치를 부과한 후에 상당히 감축될 수 있다. 투영기의 광 시트가 각도에 의해 인덱싱되는 평면에 의해 근사될 수 있을 때, 제2 오차 척도는 효율적으로 컴퓨팅될 수 있는 한편 가장 가까운 평면만을 유지할 수 있게 한다. 이것은 매칭 복잡도를 O(N2)로 감축할 것이다.
이들 연산을 완료한 후에, 잠재적 매치의 트리플릿의 리스트를 획득하며 여기서 각각으로부터 에피폴라 평면의 인덱스 및 오차를 나타낸다. 이러한 연산은 블랍 세그먼트와 교차하는 모든 에피폴라 평면에 대해, 전형적으로는 (반드시는 아니기는 하지만) 정류된 이미지에서의 픽셀의 모든 로우에 대해 반복된다.
그들 연관된 오차 및 에피폴라 인덱스를 따른 트리플릿은 그 후 에피폴라 인덱스를 거슬러 추적된다. 도 8에는, 에피폴라 인덱스에 대한 오차의 그래프(800)가 곡선(802, 804, 806, 808)을 갖는 4개의 트리플릿의 각각에 대해 묘사되어 있다. 그래프(800)는 모든 개연성 있는 트리플릿에 대한 정보를 조합한다. 더 중요하게는 그것은, 소정 트리플릿에 대해, 에피폴라 평면을 따른 블랍에 대한 모든 정보를 통합한다. 그리하여, 예를 들어, 소정 곡선에 대해 평균 오차를 계산한 후에, 대응하는 트리플릿을 매칭시키기 위한 성능 지수를 획득할 것이다. 도 8에서, 오차가 곡선(806)으로 묘사되어 있는 트리플릿은 이러한 예에서는 최상의 성능 지수를 산출할 것이다. 평균 오차는 임계치를 적용한 후에 더 유효성 검증될 수 있다. 또한, 모호성이 없음을 확인함으로써 더 유효성 검증할 수 있다. 실제로, 짧은 곡선 섹션에 대해, 하나보다 많은 트리플릿이 낮은 평균 오차를 제시할 가능성이 있다. 이러한 경우에, 매치는 거절될 것이다. 곡선은 곡선(808)에 대해 그러한 바와 같이 국소적으로는 최상의 성능 지수를 갖는 곡선보다 더 낮은 최소치에 도달할 수 있음을 주목할 가치가 있다. 이것은, 예를 들면, 투영된 광 시트가 완벽히 교정되지는 않을 때 또는 이미지에서 곡선의 피크 검출에서 더 높은 오차가 있을 때 발생할 것이다. 도 8은 식별된 곡선이 반드시 동일한 길이는 아님을 더 보여주고 있다. 그것은 양 이미지에서의 반사된 곡선의 가시성에 종속할 것이다.
소정 프레임에 대한 매칭 단계의 완료 후에, 3D 포인트는 각각의 트리플릿에 대한 관찰로부터 계산된다. 그 목적으로, 공간에서 3개의 광선의 각각과 3D 포인트 간 거리를 최소화할 수 있다. 그 후, 투영된 광 시트는 더 정확한 측정치를 결국 획득하도록, 룩-업 테이블(LUT)을 사용하여서든 파라미터에 의해서든, 매우 잘 교정된다고 가정된다. 실용적 응용에 있어서, 상업용 광학 컴포넌트를 통해 산출된 투영된 광 시트는 평면에 정확히 대응하지는 않을 수 있다. 이러한 이유로, LUT의 사용이 더 적합할 수 있다. 다른 가능한 접근법은 3D 포인트의 최종 계산을 위해 2개의 카메라로부터의 이미지만을 활용하는데 있다. 그렇지 않으면, 2D 이미지에서, 3D 포인트의 재투영 오차를 최소화할 수 있다. 그때 투영된 평면을 정확하게 교정할 필요가 있지는 않다. 더욱, 이러한 후자의 경우에서, 3D 측정은 물체의 표면 상의 텍스처 불연속과 같은 반사된 신호의 프로파일에 의해 영향을 덜 받는다. 결과적 3D 포인트는 더 정확하다. 3D 포인트의 세트를 계산한 후에, 3D 곡선의 세그먼트를 획득한다.
매칭 방법(900)에 대한 예시적 단계가 도 9에 도시되어 있다. 양 이미지에서 블랍이 추출된다(910). 에피폴라 평면이 선택된다(920). 선택된 에피폴라 평면을 따른 모든 개연성 있는 트리플릿 조합이 식별된다(930). 트리플릿 조합의 각각에 대해 성능 지수가 계산된다(940). 모든 성능 지수가 계산될 때, 각각의 이미지 블랍은 가장 개연성 있는 트리플릿과 연관된다(950). 각각의 매치는 유효성 검증된다(960). 그 후 3D 포인트의 세트가 계산된다(970).
그 방법은 에피폴라 평면의 각각을 따른 독립적 매칭과는 달리 수개의 에피폴라 평면에 걸쳐 매칭되는 블랍의 공간적 연속성으로부터 혜택을 본다. 그럼에도 불구하고, 일부 매칭 오차가 남아있을 가능성이 여전히 있다. 예를 들면, 블랍은, 특정 기하구조 상에 2개의 곡선의 부수적 투영에 기인하여, 하나의 이미지에서 "Y" 형상 구조처럼 보일 수 있다. 더욱, 평면의 수가, 예를 들면 15개를 넘어, 증가하면, 모호성의 수도 증가할 수 있다. 그렇지만, 그들 모호성은 미국 특허 제7,487,063호에 기술된 것과 같은 표면 재구성 방법이 3D 포인트를 입력으로서 취할 때 표면에 영향을 미치도록 하나의 프레임으로부터 다른 하나로까지 영속적으로 머물러야 할 것이다. 실제로, 이러한 유형의 접근법은 다수의 관찰이 취득된 구역에서 표면이 재구성되므로 아웃라이어 관찰을 소거하도록 잘 적응된다.
모바일 3D 센서 시스템에 통합될 때, 즉, 물체와 센서 간 상대 운동이 있을 때, 시스템은 공통 좌표계에서 3D 포인트를 통합하기 위해 각각의 프레임에서 그 위치를 추정한다. 시스템은, 예를 들어, 재귀-반사성 표적과 같은 표적을 사용하여, 또는 물체가 강성(또는 "준-강성")일 때 물체의 텍스처 또는 기하구조를 사용하여 각각의 프레임에서 센서의 위치를 추정할 수 있다. 시스템이 텍스처를 캡처링하는 카메라를 더 통합할 때, 센서의 포즈도 텍스처 특성을 매칭시킨 후에 계산될 수 있다.
도 3에 도시된 예의 실시형태에 있어서, 광 시트의 2개의 그러한 세트는 평면 상에 투영될 때 곡선의 2개 세트(310, 320), 이 경우에서는 평행 라인을 산출한다. 그때 시스템은 다른 정향을 갖는 광 시트의 교번하는 세트를 투영시킨다. 물체의 표면 상에서 캡처링될 3D 곡선 섹션은 관찰된 물체의 표면 상의 국소적 접선 벡터를 추정하는 것을 가능하게 한다. 더욱, 광 시트 세트를 교번시키면서, 국소적 접선 벡터는 여러 다른 방향을 따라 계산될 수 있고 그리고 이들 3D 접선 벡터로부터 표면 상의 표면 법선 정향을 계산할 것이다. 표면 법선 정보는 3D 표면 재구성을 개선하는 것을 도울 수 있다.
도 10은 시스템(980)의 예시적 주 컴포넌트를 도시하는 블록 선도이다. 센서(982)는 제1 카메라(984) 및 적어도 하나의 제2 카메라(986)는 물론 적어도 하나의 광 투영기를 포함하는 광 투영기 유닛(988)도 포함한다. 프레임 발생기(990)는 단일 프레임에서 카메라에 의해 캡처링된 이미지를 어셈블링하도록 사용될 수 있다. 센서(982)는 프레임의 이미지들 간 포인트를 매칭시키는 프로세싱 단계를 구현하기 위한 적어도 하나의 컴퓨터 프로세서(992)와 통신하고 있다. 컴퓨터 프로세서(들)(992)는 매칭된 포인트 및/또는 어느 부가적 또는 중개 출력이라도 출력하기 위한 출력 디바이스(994)와 전자 통신하고 있다. 쉽게 이해될 바와 같이, 프로세서(들)(992) 및/또는 센서(982)에 의한 사용을 위해 데이터를 입력할 필요가 있을 수 있다. 그래서, 입력 디바이스(들)(996)가 이러한 목적으로 제공될 수 있다.
쉽게 이해될 바와 같이, 여기에서 설명된 방법은 2개의 이미지로 수행되어 그로써 트리플릿 조합을 형성하고 있지만, 2개보다 많은 이미지가 프레임당 취득될 수 있고 그 조합이 3개보다 많은 원소를 포함하고 있을 수 있다. 대안으로 또는 부가적으로, 2개보다 많은 이미지가 프레임당 취득되면, 이들 이미지 중 2개에 대한 트리플릿 조합이 포인트를 매칭시키도록 사용될 수 있고 부가적 이미지(들)는 매치를 유효성 검증하도록 사용될 수 있다.
위에서 설명된 기술은, 예를 들어, 하드웨어, 컴퓨터-판독가능한 매체 상에 유형적으로 저장된 소프트웨어, 펌웨어, 또는 그 어느 조합으로라도 구현될 수 있다. 위에서 설명된 기술은 프로세서, 프로세서에 의해 판독가능한 저장 매체(예를 들어, 휘발성 및 비-휘발성 메모리 및/또는 저장 소자를 포함함), 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스를 포함하는 프로그래밍가능한 컴퓨터 상에서 실행되는 하나 이상의 컴퓨터 프로그램으로 구현될 수 있다. 프로그램 코드는 설명된 기능을 수행하고 출력을 발생시키도록 입력 디바이스를 사용하여 입력된 입력에 적용될 수 있다. 출력은 하나 이상의 출력 디바이스에 제공될 수 있다.
아래 청구항의 범위 내의 각각의 컴퓨터 프로그램은 어셈블리 언어, 기계 언어, 하이-레벨 절차 프로그래밍 언어, 또는 객체-지향 프로그래밍 언어와 같은 어느 프로그래밍 언어로라도 구현될 수 있다. 프로그래밍 언어는, 예를 들어, 컴파일링되거나 해석된 프로그래밍 언어일 수 있다.
각각의 그러한 컴퓨터 프로그램은 컴퓨터 프로세서에 의한 실행을 위해 기계-판독가능한 저장 디바이스에 유형적으로 구체화된 컴퓨터 프로그램 제품으로 구현될 수 있다. 본 발명의 방법 단계는 입력 상에 연산하여 출력을 발생시킴으로써 본 발명의 기능을 수행하도록 컴퓨터-판독가능한 매체 상에 유형적으로 구체화된 프로그램을 실행하는 컴퓨터 프로세서에 의해 수행될 수 있다. 적합한 프로세서는, 예를 들어, 범용 및 전용 마이크로프로세서 양자를 포함한다. 일반적으로, 프로세서는 롬 및/또는 램으로부터 명령어 및 데이터를 수신한다. 컴퓨터 프로그램 명령어를 유형적으로 구체화하는데 적합한 저장 디바이스는, 예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스를 포함하는, 반도체 메모리 디바이스와 같은, 비-휘발성 메모리의 모든 형태; 내부 하드 디스크 및 착탈식 디스크와 같은 자기 디스크; 자기-광학 디스크; 및 CD-ROM을 포함한다. 전술한 것 중 어느 것이라도 특수-설계된 ASIC(주문형 반도체) 또는 FPGA(필드-프로그래밍가능한 게이트 어레이)에 의해 보충되거나 그에 편입될 수 있다. 또한, 일반적으로 컴퓨터는 내부 디스크(도시되지 않음) 또는 착탈식 디스크와 같은 저장 매체로부터 프로그램 및 데이터를 수신할 수 있다. 이들 요소는 또한, 어느 디지털 프린트 엔진 또는 마킹 엔진, 디스플레이 모니터, 또는 종이, 필름, 디스플레이 스크린 또는 다른 출력 매체 상에 컬러 또는 그레이 스케일 픽셀을 산출할 수 있는 다른 래스터 출력 디바이스와도 함께 사용될 수 있는, 관용적 데스크톱, 포터블 컴퓨터 또는 워크스테이션 컴퓨터는 물론 여기에서 설명된 방법을 구현하는 컴퓨터 프로그램을 실행하는데 적합한 다른 컴퓨터에서도 보일 것이다. 여기에서 설명된 컴퓨터 프로그램을 실행하는데 적합한 태블릿, 패블릿, 스마트폰, 피디에이(PDA), 포터블 컴퓨터, 랩톱, 착용식 컴퓨터 등과 같은 다른 모바일 디바이스가 또한 사용될 수 있다.
위의 설명은 발명자에 의해 현재 생각된 바와 같은 예시의 실시형태에 관한 것이기는 하지만, 그 넓은 양상에서의 본 발명은 여기에서 설명된 요소의 균등물 및 변형물을 포함함을 이해할 것이다. 위에서 설명된 실시형태는 단지 예시의 의도일 뿐이다. 그래서 본 발명의 범위는 오로지 첨부 청구범위에 의해서만 제한되려는 의도이다.

Claims (15)

  1. 적어도 하나의 컴퓨터 프로세서에 의해 수행되는, 장면의 2개의 이미지 간 포인트를 매칭시키기 위한 컴퓨터-구현 방법으로서,
    센서에 의해 동시에 취득된 2개의 이미지를 검색하는 단계로서, 상기 2개의 이미지는 상기 장면과 상기 센서 간 단일 상대 위치에서 캡처링된 프레임을 형성하고, 상기 이미지는 상기 장면 상에서의 투영된 패턴의 반사를 각각 포함하고 있는, 상기 검색하는 단계;
    상기 이미지에서의 상기 반사로부터 블랍(blob)을 추출하고 그리고 상기 블랍에 고유 식별자로 개별적으로 라벨을 붙이는 단계;
    에피폴라 평면(epipolar plane)의 세트로부터 선택된 에피폴라 평면을 선택하고 그리고 상기 이미지의 각각 상에 켤레 에피폴라 라인을 정의하는 단계;
    개연성 있는 조합을 식별하는 단계로서, 상기 개연성 있는 조합은 2개의 개연성 있는 블랍 각각에 대한 상기 개별적인 고유 식별자 및 상기 투영된 패턴의 광 시트 라벨을 포함하고, 각각의 개연성 있는 블랍은 상기 이미지 중 하나에 있고, 상기 2개의 개연성 있는 블랍 각각은 상기 켤레 에피폴라 라인과 교차하는 상기 식별하는 단계;
    상기 개연성 있는 조합의 각각에 대한 매칭 오차를 계산하는 단계;
    상기 에피폴라 평면의 세트의 각각의 에피폴라 평면에 대해 상기 선택하는 단계, 상기 식별하는 단계 및 상기 계산하는 단계를 반복하는 단계;
    상기 에피폴라 평면의 세트의 각각의 에피폴라 평면에 대하여 계산된 상기 매칭 오차를 사용하여 상기 개연성 있는 조합에 대한 개별적인 성능 지수를 계산함으로써 가장 확률 높은 조합을 결정하는 단계;
    상기 프레임에서 상기 가장 확률 높은 조합에 대한 매칭 포인트를 식별하는 단계;
    상기 프레임에서의 상기 매칭 포인트를 식별시키는 출력을 발생시키는 단계를 포함하는, 장면의 2개의 이미지 간 포인트를 매칭시키기 위한 컴퓨터-구현 방법.
  2. 제1항에 있어서, 상기 성능 지수를 계산하는 것은 주어진 에피폴라 평면에서 개별적인 매칭 오차의 기여도를 계산하는 것을 포함하는, 장면의 2개의 이미지 간 포인트를 매칭시키기 위한 컴퓨터-구현 방법.
  3. 제1항 또는 제2항에 있어서, 상기 가장 확률 높은 조합을 결정하는 단계는 각각의 블랍에 대해 수행되는, 장면의 2개의 이미지 간 포인트를 매칭시키기 위한 컴퓨터-구현 방법.
  4. 제1항 또는 제2항에 있어서, 상기 센서는 2개의 카메라 및 광 투영기 유닛을 갖고, 상기 투영된 패턴은 상기 장면 상에 적어도 하나의 광 시트를 투영시키는 상기 광 투영기 유닛에 의해 제공되며, 상기 카메라 및 상기 광 투영기 유닛은 공통 좌표계에서 교정되는, 장면의 2개의 이미지 간 포인트를 매칭시키기 위한 컴퓨터-구현 방법.
  5. 제4항에 있어서, 상기 광 투영기 유닛은 서로 다른 방향으로 교번하는 광 시트 세트를 투영시키는, 장면의 2개의 이미지 간 포인트를 매칭시키기 위한 컴퓨터-구현 방법.
  6. 제1항 또는 제2항에 있어서, 상기 성능 지수가 매치 임계치의 품질을 충족시키지 못하면 상기 매칭 포인트를 폐기하기 위해 상기 매칭 포인트를 유효성 검증하는 단계를 더 포함하는, 장면의 2개의 이미지 간 포인트를 매칭시키기 위한 컴퓨터-구현 방법.
  7. 제1항 또는 제2항에 있어서, 복수의 프레임에 대해 상기 컴퓨터-구현 방법을 반복하는 단계를 더 포함하는, 장면의 2개의 이미지 간 포인트를 매칭시키기 위한 컴퓨터-구현 방법.
  8. 제1항 또는 제2항에 있어서, 상기 프레임에서의 상기 매칭 포인트를 사용하여 3D 포인트의 세트를 계산하는 단계를 더 포함하는, 장면의 2개의 이미지 간 포인트를 매칭시키기 위한 컴퓨터-구현 방법.
  9. 제8항에 있어서, 공통 좌표계에서 상기 3D 포인트를 통합하기 위해 각각의 프레임에서 상기 센서의 위치를 추정하는 단계를 더 포함하되, 상기 센서의 상기 위치를 상기 추정하는 단계는 상기 장면에 붙은 표적, 상기 장면의 기하구조 및 상기 장면의 텍스처 중 적어도 하나를 사용하는 단계를 포함하는, 장면의 2개의 이미지 간 포인트를 매칭시키기 위한 컴퓨터-구현 방법.
  10. 제8항에 있어서, 3D 곡선의 세그먼트를 획득하기 위해, 상기 3D 포인트의 세트를 상기 계산하는 단계를 위한 상기 이미지를 활용하는 단계를 더 포함하는, 장면의 2개의 이미지 간 포인트를 매칭시키기 위한 컴퓨터-구현 방법.
  11. 장면의 2개의 이미지 간 포인트를 매칭시키기 위한 시스템으로서,
    센서로서,
    상기 장면 상에 적어도 하나의 광 시트를 투영시키고 그로써 상기 장면 상에 투영된 패턴을 제공하는 광 투영기 유닛, 및
    상기 장면의 상기 2개의 이미지를 취득하기 위한 2개의 카메라로서, 상기 2개의 이미지는 상기 장면과 상기 센서 간 단일 상대 위치에서 캡처링된 프레임을 형성하고, 상기 이미지는 상기 장면 상에서의 상기 투영된 패턴의 반사를 각각 포함하고 있는, 상기 카메라를 포함하되,
    상기 카메라 및 상기 광 투영기 유닛은 공통 좌표계에서 교정되는, 상기 센서; 및
    상기 센서와 전자 통신하고 있는 적어도 하나의 컴퓨터 프로세서로서,
    상기 카메라에 의해 동시에 취득된 상기 2개의 이미지를 검색하고;
    상기 이미지에서의 상기 반사로부터 블랍을 추출하고 그리고 상기 블랍에 고유 식별자로 개별적으로 라벨을 붙이고;
    에피폴라 평면의 세트로부터 선택된 에피폴라 평면을 선택하고 그리고 상기 이미지의 각각 상에 켤레 에피폴라 라인을 정의하고;
    개연성 있는 조합을 식별하되, 상기 개연성 있는 조합은 2개의 개연성 있는 블랍 각각에 대한 상기 개별적인 고유 식별자 및 상기 투영된 패턴의 광 시트 라벨을 포함하고, 각각의 개연성 있는 블랍은 상기 이미지 중 하나에 있고, 상기 2개의 개연성 있는 블랍 각각은 상기 켤레 에피폴라 라인과 교차하고;
    상기 개연성 있는 조합의 각각에 대한 매칭 오차를 계산하고;
    상기 에피폴라 평면의 세트의 각각의 에피폴라 평면에 대해 선택하고, 식별하고 그리고 계산하는 단계를 반복하고;
    상기 에피폴라 평면의 세트의 각각의 에피폴라 평면에 대하여 계산된 상기 매칭 오차를 사용하여 상기 개연성 있는 조합에 대한 개별적인 성능 지수를 계산함으로써 가장 확률 높은 조합을 결정하고; 그리고
    상기 프레임에서 상기 가장 확률 높은 조합에 대한 매칭 포인트를 식별하기 위한, 상기 적어도 하나의 컴퓨터 프로세서;
    상기 프레임에서의 상기 매칭 포인트를 식별시키는 출력을 발생시키기 위해 상기 프로세서와 전자 통신하고 있는 적어도 하나의 컴퓨터 출력부를 포함하는, 장면의 2개의 이미지 간 포인트를 매칭시키기 위한 시스템.
  12. 제11항에 있어서, 상기 광 투영기 유닛은 상기 장면 상에 적어도 하나의 광 시트를 각각 투영시키는 2개의 광 투영기를 포함하고, 상기 투영된 패턴은 각각의 프레임에서 상기 2개의 광 투영기 중 단 하나에 의해 제공되고 그리고 상기 투영된 패턴은 상기 2개의 광 투영기의 각각에 대해 다른, 장면의 2개의 이미지 간 포인트를 매칭시키기 위한 시스템.
  13. 제11항 또는 제12항에 있어서, 상기 적어도 하나의 광 시트는 광 평면인, 장면의 2개의 이미지 간 포인트를 매칭시키기 위한 시스템.
  14. 적어도 하나의 컴퓨터 프로세서에 의해 실행될 때 제1항 또는 제2항의 방법 단계를 수행하는 컴퓨터 실행가능한 명령어들을 저장해 놓은 컴퓨터 판독가능한 매체.
  15. 적어도 하나의 컴퓨터 프로세서에 의한 실행을 위해 문장들 및 명령어들을 기록해 놓은 컴퓨터 판독가능한 메모리로서, 상기 문장들 및 명령어들은,
    센서에 의해 동시에 취득된 장면의 2개의 이미지를 검색하기 위한 코드 수단으로서, 상기 2개의 이미지는 상기 장면과 상기 센서 간 단일 상대 위치에서 캡처링된 프레임을 형성하고, 상기 이미지는 상기 장면 상에서의 투영된 패턴의 반사를 각각 포함하고 있는, 상기 검색하기 위한 코드 수단;
    상기 이미지에서의 상기 반사로부터 블랍을 추출하고 그리고 상기 블랍에 고유 식별자로 개별적으로 라벨을 붙이기 위한 코드 수단;
    에피폴라 평면의 세트로부터 선택된 에피폴라 평면을 선택하고 그리고 상기 이미지의 각각 상에 켤레 에피폴라 라인을 정의하기 위한 코드 수단;
    개연성 있는 조합을 식별하기 위한 코드 수단으로서, 상기 개연성 있는 조합은 2개의 개연성 있는 블랍 각각에 대한 상기 개별적인 고유 식별자 및 상기 투영된 패턴의 광 시트 라벨을 포함하고, 각각의 개연성 있는 블랍은 상기 이미지 중 하나에 있고, 상기 2개의 개연성 있는 블랍 각각은 상기 켤레 에피폴라 라인과 교차하는, 상기 식별하기 위한 코드 수단;
    상기 개연성 있는 조합의 각각에 대한 매칭 오차를 계산하기 위한 코드 수단;
    상기 에피폴라 평면의 세트의 각각의 에피폴라 평면에 대해 선택하고, 식별하고 그리고 계산하는 단계를 반복하기 위한 코드 수단;
    상기 에피폴라 평면의 세트의 각각의 에피폴라 평면에 대하여 계산된 상기 매칭 오차를 사용하여 상기 개연성 있는 조합에 대한 개별적인 성능 지수를 계산함으로써 가장 확률 높은 조합을 결정하기 위한 코드 수단;
    상기 프레임에서 상기 가장 확률 높은 조합에 대한 매칭 포인트를 식별하기 위한 코드 수단;
    상기 프레임에서의 상기 매칭 포인트를 식별시키는 출력을 발생시키기 위한 코드 수단을 포함하는, 컴퓨터 판독가능한 메모리.
KR1020167019717A 2014-02-05 2015-02-04 2개의 카메라로부터의 곡선의 세트의 구조형 광 매칭 KR102424135B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461936033P 2014-02-05 2014-02-05
US61/936,033 2014-02-05
PCT/IB2015/050856 WO2015118467A1 (en) 2014-02-05 2015-02-04 Structured light matching of a set of curves from two cameras

Publications (2)

Publication Number Publication Date
KR20160121509A KR20160121509A (ko) 2016-10-19
KR102424135B1 true KR102424135B1 (ko) 2022-07-25

Family

ID=53777380

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167019717A KR102424135B1 (ko) 2014-02-05 2015-02-04 2개의 카메라로부터의 곡선의 세트의 구조형 광 매칭

Country Status (7)

Country Link
US (1) US10271039B2 (ko)
EP (1) EP3102908B1 (ko)
JP (1) JP6596433B2 (ko)
KR (1) KR102424135B1 (ko)
CN (1) CN105960570B (ko)
CA (1) CA2938104C (ko)
WO (1) WO2015118467A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10643343B2 (en) 2014-02-05 2020-05-05 Creaform Inc. Structured light matching of a set of curves from three cameras
GB201407270D0 (en) * 2014-04-24 2014-06-11 Cathx Res Ltd 3D data in underwater surveys
US9674504B1 (en) * 2015-12-22 2017-06-06 Aquifi, Inc. Depth perceptive trinocular camera system
US9992472B1 (en) * 2017-03-13 2018-06-05 Heptagon Micro Optics Pte. Ltd. Optoelectronic devices for collecting three-dimensional data
JP7005175B2 (ja) * 2017-05-30 2022-01-21 キヤノン株式会社 距離測定装置、距離測定方法及び撮像装置
US10606079B1 (en) * 2017-06-06 2020-03-31 Rockwell Collins, Inc. Image integrity monitoring systems and methods for light processing based head up displays
CN108269279B (zh) * 2017-07-17 2019-11-08 先临三维科技股份有限公司 基于单目三维扫描系统的三维重构方法和装置
US10818024B2 (en) * 2018-03-26 2020-10-27 Simmonds Precision Products, Inc. Ranging objects external to an aircraft using multi-camera triangulation
US20200292297A1 (en) 2019-03-15 2020-09-17 Faro Technologies, Inc. Three-dimensional measurement device
US11908162B2 (en) * 2020-12-23 2024-02-20 Faro Technologies, Inc. Line scanner having target-tracking and geometry-tracking modes
US11930155B2 (en) 2020-12-23 2024-03-12 Faro Technologies, Inc. Handheld scanner for measuring three-dimensional coordinates
DE102021108232A1 (de) 2021-03-31 2022-10-06 Carl Zeiss Industrielle Messtechnik Gmbh Messgerät zur 3D-Erfassung einer Oberfläche

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5589942A (en) 1990-04-05 1996-12-31 Intelligent Automation Systems Real time three dimensional sensing system
US20040213452A1 (en) 2003-04-22 2004-10-28 Jung-Kak Seo Method for estimation of fundamental matrix in implementing a stereo vision
WO2010015086A1 (en) 2008-08-06 2010-02-11 Creaform Inc. System for adaptive three-dimensional scanning of surface characteristics
US20100074532A1 (en) 2006-11-21 2010-03-25 Mantisvision Ltd. 3d geometric modeling and 3d video content creation
JP2013210254A (ja) 2012-03-30 2013-10-10 Canon Inc 三次元計測装置、三次元計測方法及び三次元計測プログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1991019265A1 (en) * 1990-05-29 1991-12-12 Axiom Innovation Limited Machine vision stereo matching
US5383013A (en) * 1992-09-18 1995-01-17 Nec Research Institute, Inc. Stereoscopic computer vision system
JP3539788B2 (ja) * 1995-04-21 2004-07-07 パナソニック モバイルコミュニケーションズ株式会社 画像間対応付け方法
WO2004088245A1 (en) * 2003-03-27 2004-10-14 Zanen Pieter O Method of solving the correspondence problem in convergent stereophotogrammetry
US7487063B2 (en) 2003-06-13 2009-02-03 UNIVERSITé LAVAL Three-dimensional modeling from arbitrary three-dimensional curves
EP1649423B1 (en) * 2003-07-24 2008-08-13 Cognitens Ltd. Method and sytem for the three-dimensional surface reconstruction of an object
EP2230482B1 (en) 2005-03-11 2013-10-30 Creaform Inc. Auto-referenced system and apparatus for three-dimensional scanning
CN100554873C (zh) 2007-07-11 2009-10-28 华中科技大学 一种基于二维编码的三维形貌测量方法
CN102042814B (zh) 2010-06-24 2012-03-07 中国人民解放军国防科学技术大学 大型堆场三维形貌的投影辅助摄像测量方法
CN102175182B (zh) 2011-01-27 2012-10-10 浙江大学宁波理工学院 结构光三维测量装置及其完整点云数据的获取方法
WO2013076605A1 (en) * 2011-11-23 2013-05-30 Creaform Inc. Method and system for alignment of a pattern on a spatial coded slide image
JP6172581B2 (ja) 2012-03-26 2017-08-02 パナソニックIpマネジメント株式会社 リモコン制御システム
CN106403845B (zh) 2016-09-14 2017-10-03 杭州思看科技有限公司 三维传感器系统及三维数据获取方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5589942A (en) 1990-04-05 1996-12-31 Intelligent Automation Systems Real time three dimensional sensing system
US20040213452A1 (en) 2003-04-22 2004-10-28 Jung-Kak Seo Method for estimation of fundamental matrix in implementing a stereo vision
US20100074532A1 (en) 2006-11-21 2010-03-25 Mantisvision Ltd. 3d geometric modeling and 3d video content creation
WO2010015086A1 (en) 2008-08-06 2010-02-11 Creaform Inc. System for adaptive three-dimensional scanning of surface characteristics
JP2013210254A (ja) 2012-03-30 2013-10-10 Canon Inc 三次元計測装置、三次元計測方法及び三次元計測プログラム

Also Published As

Publication number Publication date
EP3102908B1 (en) 2018-12-12
EP3102908A4 (en) 2017-01-25
US20160350929A1 (en) 2016-12-01
JP6596433B2 (ja) 2019-10-23
JP2017510793A (ja) 2017-04-13
CN105960570A (zh) 2016-09-21
CA2938104A1 (en) 2015-08-13
CN105960570B (zh) 2019-03-22
EP3102908A1 (en) 2016-12-14
WO2015118467A1 (en) 2015-08-13
KR20160121509A (ko) 2016-10-19
US10271039B2 (en) 2019-04-23
CA2938104C (en) 2019-12-17

Similar Documents

Publication Publication Date Title
KR102424135B1 (ko) 2개의 카메라로부터의 곡선의 세트의 구조형 광 매칭
US10643343B2 (en) Structured light matching of a set of curves from three cameras
EP3907702B1 (en) Three-dimensional sensor system and three-dimensional data acquisition method
US8339616B2 (en) Method and apparatus for high-speed unconstrained three-dimensional digitalization
US11243072B2 (en) Method for the three dimensional measurement of moving objects during a known movement
US7430312B2 (en) Creating 3D images of objects by illuminating with infrared patterns
EP2881702B1 (en) Image processing system, and image processing method
CN106595519B (zh) 一种基于激光mems投影的柔性三维轮廓测量方法及装置
US20180091798A1 (en) System and Method for Generating a Depth Map Using Differential Patterns
KR101090082B1 (ko) 단일 카메라 및 레이저를 이용한 계단 치수 측정 시스템 및 방법
JP5761750B2 (ja) 画像処理方法および装置
JP4379626B2 (ja) 3次元形状計測方法及びその装置
US20220092345A1 (en) Detecting displacements and/or defects in a point cloud using cluster-based cloud-to-cloud comparison
JP2008275366A (ja) ステレオ3次元計測システム
Kim et al. An active trinocular vision system of sensing indoor navigation environment for mobile robots
JP5656018B2 (ja) 球体の検出方法
Jiang et al. Stereo matching based on random speckle projection for dynamic 3D sensing
Munaro et al. Fast 2.5 D model reconstruction of assembled parts with high occlusion for completeness inspection
JPH11183142A (ja) 三次元画像撮像方法及び三次元画像撮像装置
CA3223018A1 (en) 3d scanner with structured light pattern projector and method of using same for performing light pattern matching and 3d reconstruction

Legal Events

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