다시점 3 차원복원기술 2016. 9. 22. 경북대학교 IT 대학컴퓨터학부 박순용
연구실소개 경북대학교컴퓨터및로봇비전연구실 ( http://vision.knu.ac.kr ) 연구분야 Kinect Binary coded pattern Color coded pattern 2D Lidar SLAM Velodyne SLAM Phase pattern Multi-view 3D Modeling GPU Acceleration Multi-view 3D images Laser pattern Bumblebee Stereo vision 3D Scanning 2 Obstacle detection 3D Processing 3D scene modeling
카메라모델
Cameras 1839, Daguerrotype 현재의카메라 4
Pinhole Camera System f 핀홀렌즈 X x Z 물체 영상센서 동일한해석 Pinhole Camera System 핀홀렌즈 f x Z X 물체 영상센서 x f X Z Pinhole Camera System 의해석 5
3 차원점 X 와영상점 x 의투영관계 6 영상센서렌즈중심 ( 카메라좌표원점 ) x f Z 1 X 2 Z 축 Z 2 Y 축 X 축 2 2 2 2 1 1 1 1 1 1 1 Z fy fx Z Z fy fx Z y x x n n n n Z fy fx y x Z Z fy fx y x Z Z fy fx y x Z 1,..., 1, 1 2 2 2 2 1 1 1 1 1 1 1 Z Y X 2 2 2 Z Y X X 1 X n 영상점물체점 Z Y X f f y x 1 0 0 0 0 0 0 1 x=kx
단일시점과다시점컴퓨터비전
단일시점카메라영상의응용 (2 차원컴퓨터비전 ) Image acquisition Biometrics 2 차원비전알고리즘및정보추출 Applications Vehicle vision Factory automation National security 8
다시점카메라영상의응용 (3 차원컴퓨터비전 ) 단일시점과다시점의구별 단일시점 (single-view) Stereo camera 다시점 (multi-view) Multi-view camera Cam1 Cam1 Cam2 Cam1 Cam2 Cam n 인식, 추적, 보안, ADAS, Mobile 2D: 입체 TV 3D: 로봇, 3 차원복원, ADAS 2D: Matrix 카메라, 입체 TV, 디지털홀로그램 3D: 3 차원복원, 360 모델링, Light field Cam1 Cam2 3 차원복원 ( 일반적이지않음 ) Cam1 Cam2 Cam n 2D: 파노라마영상, Motion Video 3D: 로봇 (SLAM), ADAS, 3 차원복원, 360 모델링 9
다시점카메라의분류 ( 산업적관점 ) 스테레오스코픽 TV (3DTV is not 3D) 두대이상의카메라를사용하지만입체디스플레이가주목적 3차원정보의획득은없어도가능 (3차원정보획득하기도함 ) Interpolated view Stereoscopic camera Multi-view camera Ultra-view camera (3 차원정보를사용하기도함 ) 10
다시점카메라의분류 ( 산업적관점 ) Integral imaging and light field camera Integral imaging Light field camera and autostereocopic camera Lytro light field camera 11
다시점카메라의분류 ( 산업적관점 ) Samsung 360 Degree Camera LG 360 Degree Camera Camera centered 2D images (videos) -> image stitching algorithm -> panorama image (videos) -> 360 image (videos) Gopro 360 Degree Camera Nokia 360 Degree Camera Bublcam Giroptic 12
다시점카메라의분류 ( 산업적관점 ) Digital hologram Digital hologram Ray Modeler Image capture View interpolation https://www.youtube.com/watch?v=6bfkc-nkrfw Matrix camera Object centered 2D images - view interpolation 13
다시점카메라의분류 ( 산업적관점 ) 3D Reconstruction & Modeling 입체TV, digital hologram, matrix camera 등에서다시점 2D 카메라의필요성 다양한물체의방향에서영상또는비디오정보획득필요 물체의 3차원정보가없기때문 시점제한의문제 View interpolation으로해결하고자하지만, 초다시점, light field camera => 비용증가 View interpolation algorithm => 가상시점의오류발생 물체의 3차원형상및색상정보를완벽히모델링할수있다면 다시점카메라의시점제한, view 생성문제를해결가능 단일카메라의이동 / 회전 고정된다시점카메라 14
3 차원복원 ( 모델링 ) 물체의 3 차원복원 (Reconstruction) 3 차원센서 (sensor) 가필요함 3 차원센서 여러종류의 3차원센서가이미제조산업에서활용되어오고있음 대표적인산업용 3차원센서 레이저기반 3차원센서 (Lidar) 레이저-카메라기반 3차원센서 프로젝터-카메라기반 3차원센서 적외선프로젝터-카메라기반 3차원센서 3 차원모델링 실세계물체 3 차원컴퓨터모델 15
3D 스캐닝기술의종류 3 차원스캐닝기술의종류 투과형 산업용 CT 3 차원스캐닝기술 비접촉식 반사형 비광학식광학식 전자파레이더초음파수동형 초점및비초점식음영측정식실루엣방식 파괴방식 슬라이싱 스테레오비전 접촉식 능동형 레이저삼각법 비파괴방식 CMM 로봇 arm 구조광방식간섭무늬방식 영상레이더 16
구조광기반 3 차원스캐닝의원리 프로젝터에서투사하는구조광의어떤패턴의영상좌표를 (u,v) 그리고, 카메라에획득된동일한구조광패턴의영상좌표를 (u,v ) 라할때 카메라와프로젝터사이의기하적보정 (calibration) 정보를이용하여물체표면에투영된패턴의 3 차원값 (X,Y,Z) 를계산할수있음 카메라와프로젝터의보정이반드시필요하며, 보정기술도다양하게개발되어있음 물체 (u,v) 프로젝터영상 (X,Y,Z) 카메라영상 (u,v ) 프로젝터 17 카메라
구조광방식 3 차원스캐너상용제품 국외 ( 데스크탑방식 ) 회사명 Steinbichler ThinkScan Keyence Threerivers Sirona 국가독일영국일본미국오스트리아 홈페이지 www.steinbichler.de www.thinksca n.co.uk www.keyence.co m www.3rivers3d.c om www.sirona.com 제품명 COMET L3D HDI Advance VR-3000 LC-2 ineos X5 구조광방식이진화구조광이진화구조광이진화구조광레이저구조광이진화구조광 스캔정밀도 6~40m 45m 0.5m 80~250m <30m 제품특징 고정밀도의 3 차원스캐너 기존프로젝터와카메라조합 초정밀고속 3 차원스캐너 레이저광원방식의구조광 이진화영상구조광 응용분야 정밀계측산업분야 일반산업용 초소형전자회로검사 일반산업용 치과의료용 대표사진 18
Time-coded pattern 프로젝터로이진화 (binary) 패턴을순차적으로투사하고카메라로투사된패턴의영상을획득 19 Images from Simon Winkelbach, Sven Molkenstruck
Phase-shifted fringe projection 획득영상 스크린 입력영상 Homography Trans. 물체 Phase 영상 Unwrapped phase 영상 프로젝터 카메라 투영영상 복원결과 20
Pseudorandom Arrays An Pseudorandom Arrays is the 2dimensional extension of a DeBruijn sequence. Every window of (x, y) units appears only once Element of the matrix can be represented by different colors or shapes Pattern resolution depends on window size & the number of different colors or shapes 0 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 1 1 0 0 1 0 1 0 Example: binary m-array o f size 4 6 and window si ze of (2 2) 21
키넥트의 3 차원스캐닝 Kinect 의출시와다양한응용소프트웨어개발로단일패턴구조광의관심과수요가증가 Projected Pattern 3D Model Depth map and skeleton 22
비전기반의 3 차원복원 ( 모델링 ) 기술 비전카메라만을사용하는 3 차원복원기술 스테레오비전기술 다시점비전기술 다수개의카메라사용 한개의카메라사용 Cam1 Cam2 Cam n Cam1 Cam2 스테레오비전기술 Cam1 Cam2 Cam n 다시점비전기술 23
스테레오비전기술
스테레오비전기술의적용분야 컴퓨터비전연구의초기부터스테레오비전연구가진행되어오고있음 아직많은산업분야에적용되고있지않음 현재연구과산업적적용이동시에진행되고고있고미래에는적용분야가확대예상 로보틱스 ADAS ( 차선인식, 보행자, 차량인식 ) 보안 (3 차원얼굴인식 ) 부품검사 의료 ( 성형, 미용 ) 25
스테레오비전이론 스테레오비전의문제는의외로단순함 좌영상의 p l 점과일치하는우영상의 p r 점 ( 대응점 ) 을찾는문제 스테레오정합 (Stereo matching) 좌영상의모든픽셀에대한우영상의일치점을탐색 => Dense stereo matching 좌영상의모든특정픽셀 ( 특징점 ) 에대한우영상의일치점을탐색 => Sparse stereo matching P p L p R C L C R Left camera coordinates 26 Right camera coordinates
스테레오비전이론 Dense stereo matching 모든픽셀의대응점을탐색해야함 스테레오비전의가장어려운문제임 최근에는 Deep Learning 을이용한기술을적용하기도함 Sparse stereo matching Disparity map Stereo images (depth map) http://vision.middlebury.edu/stereo/ 영상의특징점에대한대응점탐색 3 차원모델복원보다는연속된두장의영상에서대응점을빠르게탐색하고두카메라위치의추정에사용 N- 개의카메라로확장하면 visual SLAM 기술 3D reconstruction 27
스테레오비전이론 두카메라사이의위치이동추정 (pose estimation) 두카메라사이의위치이동의추정은 n- 개의카메라로확장될수있어매우중요한기술 Pose estimation ( 로보틱스관점 ), Camera tracking ( 방송관점 ) 으로부름 (x,y) (x,y ) 8-point Algorithm 카메라보정정보가없는경우 Fundamental matrix 3D 복원은 ambiguity 있음 (projective reconstruction) 카메라간 [R t] 도부정확 1 st frame 2 nd frame Stereo matching (feature matching) between two consecutive frames 대응점정보 (x,y) <-> (x,y ) 5-point Algorithm 카메라내부보정정보가있는경우 Essential matrix 특징점 3D 복원함 (Euclidean reconstruction) 카메라간 [R t] 추정함 28
카메라의보정 Pinhole camera model 2차원영상점 Camera intrinsic World to camera parameter transformation 3 차원점 Camera calibration 카메라의내부및외부파라메터를구하는과정 주로 Zhang s calibration algorithm 사용 ( 렌즈왜곡까지보정 ) 29
스테레오비전이론 두카메라사이의대응점을안다면대응점의 3 차원좌표는? 주어진 {x, x' }, P, P' 에대해 A 를 SVD 하여 U,, V T 로분해 A = [ U V T ] V T 의가장마지막행의값이복원하고자하는 3 차원점이됨 X = V T (end : ) 30 삼각법을이용한 3 차원복원 X 1 v u x 1 v u x T T T 3 2 1 p p p P T T T T T T T T v u v u 2 3 1 3 2 3 1 3 p p p p p p p p A T T T 3 2 1 p p p P,,,
스테레오비전이론 Sparse stereo matching example Feature detection Feature matching Pose estimation Stereo image with feature points 3D reconstruction C Reconstructed 3D point clouds 31
스테레오비전이론 영상특징이없거나매우정밀한보정이필요한경우 Coded target 사용 -> Close Range Photogrammetry 기술 Coded target C' C' C C 3 차원복원결과및카메라자세추정결과 ( 재투영오차 0.0201pixel) 32
다시점 3 차원모델링
다시점 3 차원모델링 두가지의모델링방법으로구분 비전카메라사용 3 차원비전센서사용 1 개카메라 n- 개카메라 1 개 3 차원센서 n- 개 3 차원센서 - 카메라의이동으로 2 차원영상획득 - 영상의특징추출 - 영상의특징정합 - 5-point 알고리즘사용카메라위치추정 - 특징점의 3차원복원 - Mesh 생성및 texture mapping - n-개카메라사이의위치정보보정 - n-개카메라에서동시에영상획득 - 영상의특징추출 - 영상의특징정합 - 특징점의 3차원복원 (or Dense 복원 ) - Mesh 생성및 texture mapping 3 차원센서를사용하는경우 - 센서의이동으로 3 차원 depth map 획득 - ICP 알고리즘으로센서의위치추정 - Depth map 을합성하여 mesh 생성 - Texture mapping - 모든센서사이의위치정보보정 - 모든센서에서동시에 depth map 획득 - Depth map 을합성하여 mesh 생성 - Texture mapping 고정물체 ( 항공 3 차원복원, SLAM) 고정물체, 움직이는물체, 실시간복원 ( 신체복원 ) 고정물체 (Hand-held 3D modeling, SLAM) 고정물체, 움직이는물체 ( 실시간 3D video, holoportrait) 34
카메라를이용한다시점 3 차원모델링
단일카메라기반 3 차원모델링 단일카메라에서획득한여러장의영상으로부터 scene 의 3 차원모델링 현재컴퓨터및로봇비전, wearable vision, 디지털콘텐츠등의다양한분야의적용을위한연구진행 특히로봇비전분야에서 Visual SLAM (Simultaneous Localization and Mapping) 연구와밀접한관련 Cam 0 Cam 1 Cam 2 Cam i 36
image1 단일카메라기반 3 차원모델링 단일카메라기반의 3차원모델링을위한일반적인기술단계 입력데이터는 3차원 scene을연속적으로획득한영상 로봇비전연구의 SLAM 기술과동일 feature cam1 [R 1 t 1 ] 3D model 1 image2 cam2 [R 2 t 2 ] image3 cam3 2 [R 3 t 3 ] Image-n 3 37 cam-n [R 1 t 1 ] 1 두장의영상 ( 영상 1, 영상 2) 에서특징정합으로카메라의모션 (cam1,cam2) 을추정하고 3D 초기모델생성 2 3D 초기모델과새로운영상 (image3) 의특징을이용하여새로운카메라 (cam3) 의모션을추정 3 Image3 의특징점의 3D 좌표를복원하여초기모델을확장 4 Local Bundle Adjustment 로카메라와 3D 모델최적화 5 1~4 과정을이후영상에대하여반복 6 최종영상을처리한후전체카메라의모션과최종 3D 모델을최적화 (Global Bundle Adjustment)
Global Bundle adjustment 3차원모델생성후추정된카메라의자세및 3차원점들의정밀도가떨어지는현상발생 오차발생이유 : 순차적인정합 (pairwise registration) 으로이한누적오차발생 전역최적화 (global optimization) 기법을통한정제작업이요구됨 아래의에너지함수가최소화가되도록비선형최적화알고리즘을수행 m E( M, X) D n i1 j1 2 x, X ij M i j X j M: 3x4 투영행렬 X: 복원된 3차원점 x: 2차원영상점 i: 카메라의인덱스 j: 3차원점의인덱스 P 1 X j P 1 x 1j P 2 X j x 2j P 3 X j x 3j P 2 P 3 38
단일카메라기반 3 차원모델링 실험장소 : 경북대학교공대 9 호관 복원대상물크기 : 약 (88.0m x 16.5m x 20.2m) 실험영상의수 : 71 장 16.5m 88m 경북대공대 9 호관 ( 구글맵 ) 3 차원모델복원실험에사용된영상시퀀스 39
단일카메라기반 3 차원모델링 40
단일카메라기반 3 차원모델링 41
단일카메라기반 3 차원모델링 활용분야 123d catch 3D modeling by drone, airplanes and satelliteste 42
n- 개의카메라를사용한 3D 모델링 하나의카메라를사용하는모델링기술과거의동일한방법사용 차이점 : 모든고정카메라의위치 ( 기준좌표계에대한각카메라좌표계의변환관계 ) 를보정 (calibration) 하여야함 기술의특징 초고화질 3D 모델링에활용 다시점보정의정밀도가모델링의결과직접적영향 다시점보정에관한다수논문발표 비용이많이듬 국내관련기업 http://3dstudiomoa.com/ 43
3 차원센서를이용한다시점 3 차원모델링
단일 3 차원비전센서기반의 3 차원모델링 하나의 3 차원센서를이동하여물체의 360 도다시점 depth map 을획득하고물체의 3 차원모델의생성하는기술 주로사용하는 3 차원센서종류 카메라 - 패턴프로젝트조합 : 키넥트, ASUS Xtion pro, isense 스테레오카메라 - 패턴프로젝트조합 : Intel realsense, Artec, Creaform 스테레오카메라만사용하는경우도있음 45
단일 3 차원비전센서기반의 3 차원모델링 단일 3 차원센서를움직이면서물체의 360 도전체의 3 차원데이터획득후 3 차원모델생성 주로 Hand-held 모델링기술로사용 Hand-held 3 차원모델링방법 3 차원 depth map + RGB 영상획득 센서이동위치의추정 (ICP 이용 ) 3 차원 depth map 을기준좌표계로변환 (registration) 모든 depth map 을합성하여하나의 mesh 로생성 Texture mapping optimazation 46
단일 3 차원비전센서기반의 3 차원모델링 Hand-held 모델링과정 Ranging Sensor Texture images Object Multi-view registration Multi-view integration Texture mapping Partial surfaces (range images) acquisition 47
단일 3 차원비전센서기반의 3 차원모델링 Registration Coarse registration Registration refinement 초기정합 ICP (Iterative Closest Point) algorithm Use initial transformation or coarse correspondences
단일 3 차원비전센서기반의 3 차원모델링 ICP: Registration refinement
단일 3 차원비전센서기반의 3 차원모델링 ICP Techniques Point-to-point : (P. Besl and M. McKay) Point-to-plane : (Y. Chen and G. Medioni), (Bergevin, Soucy, Gagnon and Laurendeau) Projection-based : G. Blais and M. Levine q p q q q d s d s d s p p c p Point-to-point Point-to-plane c q Projection-based
단일 3 차원비전센서기반의 3 차원모델링 Hand-held modeling example Hand-held 3D modeling using Intel realsense https://www.youtube.com/watch?v=fvxpzgde_2q Hand-held 3D modeling using stereo camera 51
단일 3 차원비전센서기반의 3 차원모델링 로봇의 SLAM (Simultaneous Localization and Mapping) 의매우중요한기술로사용되고있음 지상로봇, 항공로봇, 드론등 3 차원센서를탑재한로봇을이용한 map ( 지도 ) 생성에활용도가증가하고있음 52
n- 개의 3 차원비전센서를사용한 3 차원모델링 n- 개의 3 차원비전센서를사용한모델링의장점 움직이는물체의 360도전체의실시간모델링 움직이는물체를포함한 3D mesh 모델의 video 생성 360 4D (3D + time) data 획득 언제 (anytime) 든지어떤시점 (any view) 이든지보기 (view) 기능가능 3차원 VR contents, 영화산업등으로많은활용분야예상 대표적인 4 차원 VR 의예 Microsoft holoportation https://www.youtube.com/watch?v=7d59o6cfam0 53
연구재단과제소개 다시점깊이카메라의상용화를위한 360 도 3 차원모델생성기술개발 과제기간 : 2014.5.1 ~ 2017.4.30 과제의목적 : 실시간 3 차원센서 ( 키넥트 ) 를 4~8 개사용하여인체의 360 도전신에대한실시간 3D 비디오모델생성 시스템의구성 4 대의키넥트 + 5 대의컴퓨터 4 대의키넥터로데이터획득 4 시점의 RGBD 데이터 54 Point cloud 3 차원모델
360 도 3 차원비디오모델생성기술 다시점 RGBD 데이터의동시획득을위한소프트웨어구성 55
360 도 3 차원비디오모델생성기술 Kinect 2 의 3 차원 RGBD 데이터 Color Camera : 1920x1080 @30fps Depth Camera : 512x424 Range sensing limit : 0.5~4.5 M Color image Depth image 3D map 56
360 도 3 차원비디오모델생성기술 Kinect2 설치모습 57
360 도 3 차원비디오모델생성기술 n- 개의비전카메라또는 3 차원비전센서를사용하는경우카메라또는센서위치의추정은매우중요함 n- 개다시점 RGBD 센서의보정기술필요함 3 개의 3 차원점을이용한변환관계계산 각시점간의변환관계 다시점보정에사용한구 2014-08 정보처리학회논문지, Vol.3, No.8 pp.309~314 pissn: 2287-5905, 구형물체를이용한다중 RGB-D 카메라의간편한시점보정 58
360 도 3 차원비디오모델생성기술 볼표면분할및 RANSAC 알고리즘사용 볼표면의잡음제거및 3 차원볼중심점검출속도향상 볼중심거리조절알고리즘사용 각키넥트의 IR 센서의데이터획득시간의차이보정 획득한볼중심점데이터를사용하여설치된카메라간변환관계검출 각카메라간정밀한변환관계검출및 Mesh Model 생성 59
360 도 3 차원비디오모델생성기술 볼중심점검출 4 점을이용한볼중심점계산 60 볼중심점계산을위한 Ransac 코드
360 도 3 차원비디오모델생성기술 볼중심점이동거리비교 각센서에서계산된볼중심점의프레임간의거리차이는동일해야함 그러나센서간의데이터획득동기화불일치로인한오차발생 61
360 도 3 차원비디오모델생성기술 볼중심점의이동거리조절 볼중심점이동거리결정 - 메디안필터 (Median Filter) 사용 이동방향단위벡터 : 이동거리가조절된볼중심점 : 62
360 도 3 차원비디오모델생성기술 볼중심을이용한다시점 3 차원센서의위치보정 시점보정전의볼중심점의궤적 시점보정후의볼중심점의궤적 63
360 도 3 차원비디오모델생성기술 3 차원메쉬모델생성 Possion 3D reconstruction 알고리즘적용 향후 signed distance function을이용한 Marching Cubes 사용예정 64
360 도 3 차원비디오모델생성기술 사람전신의 3 차원메쉬모델생성 65
360 도 3 차원비디오모델생성기술 사람전신의 3 차원메쉬모델생성 66
360 도 3 차원비디오모델생성기술 67
결론 3 차원모델링기술의전망 ( 디지털콘텐츠관점에서 ) 3 차원센서의소형화및저가모델의상용화 Hand-held 또는 Online 모델링기술이발전 언제, 어디서든 3 차원모델을생성하고디지털콘텐츠로활용가능 Kinect, Realsense, Google Tango 초정밀 3 차원모델링기술 n- 개의고화질 DSLR 또는비전카메라사용 디지털가상인물 n- 개의 RGBD 센서를사용한실시간콘텐츠획득및활용 Kinect, realsense, structure sensor RGBDT (RGB + Depth + Time) 콘텐츠의도래 VR 콘텐츠로활용 : 주로엔터테인먼트시장 68
감사합니다