2. VGLAB 이명규Geometrically-Correct Projection-Based Texture Mapping onto a Deformable Object
A G E N D A
01
02
03
04
05
06
Overview
System Components
Single Procam System
Multi Procam System
Evaluation
Conclusion and limitations
4. VGLAB 이명규Geometrically-Correct Projection-Based Texture Mapping onto a Deformable Object
↳
Overview
• 구부러지고 꼬거나 접을 수 있는 기질(substrate)에 대한 프로젝션
매핑 시스템
• 프로젝터와 카메라를 사용한 광학 기반의 추적
• Registration을 유지하는 것 뿐만 아니라 표면 위에 추가적인
디지털 페인팅 또한 가능
• 하나의 Procam 또는 멀티 Procam 시스템으로 확장 가능
개요
Part 01
6. VGLAB 이명규Geometrically-Correct Projection-Based Texture Mapping onto a Deformable Object
↳
System Components
• 변형 가능한 기질(Substrate)과 기질 위에 그려질 마커 패턴
• 한 대 또는 두 대의 Procam과 그에 대응하는 프로젝터
• 컴퓨터(Intel core I7-3930k, 16GB RAM, GTX 560ti VGA)
시스템 구성 요소
Part 02
7. VGLAB 이명규Geometrically-Correct Projection-Based Texture Mapping onto a Deformable Object
↳
• 알루미늄 금속 망과 아크릴 폼 시트로 구성
• 금속 망은 두께 0.2mm, 가로 기준 인치당 18개의
구멍과 세로 기준 인치당 16개의 구멍이 뚫려 있음
• 아크릴 폼 시트는 두께 1.1mm를 갖고, 금속 망 위에
부착됨.
• 금속 망은 변형을 가한 후에도 변형된 모양을
유지하는 역할
• 시트 사이즈는 300mm * 200mm
System ComponentsPart 02
Deformable Object
8. VGLAB 이명규Geometrically-Correct Projection-Based Texture Mapping onto a Deformable Object
↳
• 중성색(녹색이나 보라 계통의 색처럼 난색이나 한색에도 속하지 않는 색)을 갖는
반투명 역반사 머티리얼(Retroreflective material) 마커를 사용
• Szentandrasi et al의 마커 패턴을 기반으로 새로운 패턴을 디자인
• Szentandrasi et al의 마커 패턴은 평면 종이에서의 추적을 위해 개발되었으며, 따라서 Line
Detection 알고리즘으로 분리하는 과정에서 프로세싱이 쉬운 사각형이 최소 마커 단위로 사용됨
• 본 논문의 연구에서는 마커 패턴이 변형 가능한 물체 위에 존재해야 하므로 최소 단위로 ‘점’을 사용
System ComponentsPart 02
Marker Pattern
10. VGLAB 이명규Geometrically-Correct Projection-Based Texture Mapping onto a Deformable Object
↳
Single Procam system
• 하나의 Procam을 사용하는 프로젝션은 크게 3D Measurement,
Marker Recognition, Interpolation & Projection으로 구성
• Graycode Pattern Method와 카메라의 RGB모드를 사용해
카메라와 프로젝터의 각 픽셀 간 Correspondence를 얻음
• NaturalPoint 社의 OptiTrack처럼 토글로 RGB와 IR모드를
오갈 수 있는 카메라 사용
• 이 프로세스를 통해 얻은 Dense Point Cloud 정보를 통해
마커 인식 및 마커 보간에 사용
3D Measurement
Part 03
11. VGLAB 이명규Geometrically-Correct Projection-Based Texture Mapping onto a Deformable Object
↳
• 적외선 모드에서 Retroreflective Point를 Detect하고
그리드 생성 프로세스로 전달
Single Procam system
Marker Recognition
(Detect Point)
Part 03
12. VGLAB 이명규Geometrically-Correct Projection-Based Texture Mapping onto a Deformable Object
↳
1. 전체 영역을 작은 사각형으로 분할하고
각 영역에서 한쌍의 연속적인 점들을 탐지
(그림 a, 분할 영역에 포함되는 점 개수가 미리 설정된
Threshold보다 클 경우 사각형을 더작은 사이즈로 재분할)
2. 분할된 각 영역의 Detected points를 통해
가능한 모든 방향의 선들 중 가장 두드러지는
방향을 결정(그림 b)
3. 두 방향을 기반으로 각 점들을 이어 Grid 생성
Single Procam system
Marker Recognition
(Region division & Grid calculation)
Part 03
13. VGLAB 이명규Geometrically-Correct Projection-Based Texture Mapping onto a Deformable Object
↳
• Grid Point(그리드의 각 교차점)는 작은 마커 패턴으로 사용될 수 있다는
아이디어에 기반해 사전에 미리 정의해 둔 Reference Pattern과 대조
• Reference Pattern과의 매칭은 생성된 그리드의 4*4 영역 단위마다 수행
(Grid Point의 위치는
𝟐𝟐𝟏𝟏𝟏𝟏
𝟒𝟒
= 𝟏𝟏𝟏𝟏𝟏𝟏𝟏𝟏𝟏𝟏개의 패턴 중에서도 유일하게 인식될 수 있기 떄문)
• 참조 패턴과의 매칭 이후 각 작은 패턴의 ID는 Grid Point상에
일시적으로 할당되어 Voting Process로 넘겨짐
Single Procam system
Marker Recognition
(Matching with reference pattern)
Part 03
14. VGLAB 이명규Geometrically-Correct Projection-Based Texture Mapping onto a Deformable Object
↳
• 각 Grid Point에 임시 부여된 ID는
bin에 할당
• 각 작은 영역들은 겹쳐질 수 있으며
겹쳐지는 횟수가 높을수록 신뢰도가
높은 ID로 간주
• 신뢰도가 높은 Dot만 남기고 나머지는 제거
Single Procam system
Marker Recognition
(Error removal with Voting)
Part 03
15. VGLAB 이명규Geometrically-Correct Projection-Based Texture Mapping onto a Deformable Object
↳
• 곡률이 높은 영역에서는 일부 그리드가 온전하지 않을 수 있으므로
해당 부분에서의 Detected Point는 ID가 할당되지 않은 상태로 유지됨
• 반사광으로 인한 오탐지 또한 ID가 할당되지 않은 상태로 유지
• 보간 프로세스는 현재 처리 중인 ID가 위치하는 참조 패턴상의 8-connective
points 중 IDs(이하 ‘recognized point’)와 연관된 점 위치를 통해 수행
• 보간해야할 점과 8-connective points 사이의 이상적인 3D 공간상의 위치를 알기 때문
• 본 논문에서 수평 또는 수직인 경우 13mm, 대각선으로 인접한 점 간의 거리는
𝟏𝟏𝟏𝟏 × 𝟐𝟐 ≒ 𝟏𝟏𝟏𝟏. 𝟒𝟒𝟒𝟒𝟒𝟒
Single Procam system
Marker Recognition
(interpolation) (1/4)
Part 03
16. VGLAB 이명규Geometrically-Correct Projection-Based Texture Mapping onto a Deformable Object
↳
• 서로 교차하는 원들을 통해 손실된 점을 보간
• 아무 기준 없이 보간된 점으로 새로운 점을 보간하면
오류가 누적될 우려가 있으므로, 높은 신뢰도를 갖는
점부터 보간 시작
• 높은 신뢰도란 그림 (b)처럼 ‘row 안에 있으면서,
Intersecting sphere를 사용해 추적이 가능한 점의 개수가
많은 상태’를 의미(그림 b의 경우는 2개)
Single Procam system
Marker Recognition
(interpolation) (2/4)
Part 03
17. VGLAB 이명규Geometrically-Correct Projection-Based Texture Mapping onto a Deformable Object
↳
• 위치를 결정할 수 있는 경우에 대한 기준
• 0~1개의 Recognized point : 점 위치를 결정할 수 없음
• 2~3개의 Recognized point : 모든 점이 한 열에 있으므로 그림 b와 같이
2개의 후보가 존재하게 됨. 따라서 위치는 고유하게 결정될 수도, 결정되지
않을 수도 있음
• 4개 이상의 Recognized point : 점의 위치가 고유하게 결정될 수 있음.
• 따라서 3개 이상의 Recognized point를 갖는 점들부터 먼저 보간 수행
Single Procam system
Marker Recognition
(interpolation) (3/4)
Part 03
18. VGLAB 이명규Geometrically-Correct Projection-Based Texture Mapping onto a Deformable Object
↳
• N : recognized points
• 𝑿𝑿𝒖𝒖𝒖𝒖𝒖𝒖𝒖𝒖𝒖𝒖 : Unrecognized Points
• 𝑿𝑿𝒊𝒊 : 8-connective points에 포함되는 점들 중 unrecognized인
점들의 모음
• 𝑿𝑿𝒋𝒋 : 8-connective points에서 unrecognized인 서로 이웃하는
점들의 모음
• n : 이미지상에서 𝑿𝑿𝒖𝒖𝒖𝒖𝒖𝒖𝒖𝒖𝒖𝒖(𝑿𝑿𝒋𝒋 )의 인접점 개수
• 𝑪𝑪𝑪𝑪𝑪𝑪𝑪𝑪𝑪𝑪𝒊𝒊 : 인접점의 거리
• 𝑿𝑿𝒋𝒋𝒋𝒋𝒋𝒋𝒋𝒋𝒋𝒋𝒋𝒋 : 보간된 위치
• 𝑫𝑫𝒊𝒊𝒊𝒊 : 𝑿𝑿𝒊𝒊와 𝑿𝑿𝒋𝒋 의 거리
Single Procam system
Marker Recognition
(interpolation) (4/4)
Part 03
19. VGLAB 이명규Geometrically-Correct Projection-Based Texture Mapping onto a Deformable Object
↳
• 앞선 과정으로 나뉜 작은 패치를 통해 프로젝션 수행
(이전 단계에서 계산된 ID들의 카메라 이미지 좌표 위치를 프로젝터 이미지 좌표 위치로 변환)
• 그레이 코드 패턴을 사용하므로 성능상으로 좋지 못함
• 카메라와 투사되는 프레임을 동기화
• 수평 또는 수직 그레이 패턴 둘 중 하나만 사용
• 10비트 그레이 코드 패턴 사용(각 패턴은 음수와 양수를 가지므로, 10비트의 패턴을 사용하면
그레이코드 이미지의 최소 개수는 20개에 불과)
• 다른 옵션
• 짧은 시간 동안 작동하는 Depth Sensor 사용
• 카메라와 프로젝터에 대응하는 광축을 사용
Single Procam system
Projection
Part 03
21. VGLAB 이명규Geometrically-Correct Projection-Based Texture Mapping onto a Deformable Object
↳
Multi-Procam System
• 쓸만한 프로젝션 시스템을 위해선 프로젝션 영역의 범위가 늘어날 필요가 있음
• 여러 대의 프로젝터가 동일한 영역에 프로젝션하면 겹친 영역이 밝아지고
다른 프로젝션 영역과 혼합되어 혼란 발생
• 따라서 여러 대의 카메라로 관측한 각 영역에서 어떤 프로젝터를 쓸 것인지
선정하는 과정 필요
• 각 프로젝터의 광축(Light Axis)과 프로젝션 대상 물체 표면의 Normal Vector
사이의 각도를 기준으로 채택
• 네 개의 Grid Point로 둘러싸인 각 영역을 패치로 간주하고 각 패치에 대해
어떤 프로젝터를 사용할지 결정
Extension to Multi-Procams
Part 04
22. VGLAB 이명규Geometrically-Correct Projection-Based Texture Mapping onto a Deformable Object
↳
• 한 영역에 대한 모든 3D 정보를 수집한 후 영역(이하 ‘패치’)의 중심점과
각 점 사이의 거리를 원소로 하는 공분산 행렬 C를 계산
• �𝒑𝒑는 패치의 중심벡터를 의미
• C행렬에 대한 PCA(주성분분석)를 수행함으로서 첫번째와 두번째 주성분에 대응하는
벡터를 얻을 수 있음
Multi-Procam System
Extension to Multi-Procams
Part 04
23. VGLAB 이명규Geometrically-Correct Projection-Based Texture Mapping onto a Deformable Object
↳
• PCA를 통해 얻은 벡터들은 영역의 표면에 대한 Tangent Vector이므로,
따라서 Normal Vector는 이들을 외적하면 얻을 수 있음.
• Normal Vector과 Projector Vector(광축)의 내적으로 계산된 값을 신뢰도 값으로 사용
• 각 패치마다 각 프로젝터에 대한 이 신뢰도 값을 비교하여 최대 값을 갖는 프로젝터가
해당 패치에 대한 프로젝션에 사용됨.
Multi-Procam System
Extension to Multi-Procams
Part 04
25. VGLAB 이명규Geometrically-Correct Projection-Based Texture Mapping onto a Deformable Object
↳
Evaluation
• 평균 오차는 Shape 1의 경우 2.04mm,
shape 2의 경우 2.47mm
• 따라서 3D Measurement에서의
정확도 향상이 프로젝션 정확도로
이어지는 것을 확인
• 여러 개의 프로캠 시스템이 사용되면
인식된 점 개수가 증가하여 정확도가
향상될 것으로 보임
Projection Evaluation for single Procam
Part 05
26. VGLAB 이명규Geometrically-Correct Projection-Based Texture Mapping onto a Deformable Object
↳
Evaluation
• 이중 원은 마커 인식에 의해 결정된 점,
밋밋한 원은 보간 과정을 통해 결정된 점
• 하늘색 영역은 1번 프로젝터(+1번 프로캠), 밝은 핑크색 영역은
2번 프로젝터(+2번 프로캠)로 투영된 부분
• 기질이 솟는 부분에서 1번과 2번 프로젝터가 능동적으로
적절하게 화상을 투영하며, 오차값도 줄어든 것을 확인 가능
• Shape 1,2에서 각각 2.01mm, 1.97mm의 오차
• 따라서 여러 개의 프로캠을 사용하면 정확도가 향상됨을 확인
Projection Evaluation for multi-Procam
Part 05
28. VGLAB 이명규Geometrically-Correct Projection-Based Texture Mapping onto a Deformable Object
↳
Conclusion and limitations
• 본 논문에선 새로운 텍스쳐 매핑의 프로젝션을 위한
인식 방법을 제안했지만 다음의 두 가지 한계점이 존재
• 역반사 도트가 표면 재구성 과정 전반에 걸쳐 일정 간격을 유지해야 함
(늘어짐이 발생하면 점들 간 거리가 멀어져 8-connective point 개념을 사용하기 어려움)
• 절단, 긁기 및 조각과 같은 작업은 역반사 마커를 제거할 수 있으며
너무 세밀하기 때문에 정밀한 추적이 어려움.
결론과 한계
Part 06