루덴스코드 Blog

3D 스캐너 구동원리
- Ciclop 를 중심으로


3D 스캐너는 3차원 입체 형상을 가진 사물의 정보를 읽어들이는 장치이다. 이를 위해 크게 몇가지 구동 방식이 있다.

간단히 정리하면 다음과 같다. 

[구동방식]

1. 접촉식
probe 가 이동하면서 표면을 찍어 각 지점의 값을 읽는 방식이다. 직접 접촉을 해야 한다는 제한 때문에 현재는 사용되지 않는 추세다.




2. 비접촉식 레이저
레이저로 라인을 그리고 삼각측량으로 깊이(depth)를 계산해 내는 방식이다. 라인레이저를 사용하거나 혹은 백색광 중 라인을 사용하여 스캔하는 방식이다. Ciclop 이 이에 해당된다.








3. 비접촉식 백색광 (Structured Lighting)
빔프로젝터로 바둑판 모양의 패턴을 모델에 비춘 다음 그것을 영상으로 받아 처리하는 방식이다. 가장 스캔 시간이 짧지만 수학적 고려사항도 많다. 빔프로젝트의 보급화(알리 최저가 $37)로 DIY 하는 사람들에게는 이 방식이 선호되는 추세이다.





[Ciclop 구동방식]
위 구동방식 중 2번, 비접촉식 레이저방식이다.
라인레이저로 빛을 보내고 반사되어 들어오는 빛을 인식하여 거리를 측정한다. 


[인식방법]
프로그램을 분석한 것이 아니라, 비접촉식 레이저 방식의 기본원리와 Ciclop 의 메뉴얼, 작동영상을 보고 추론한 것으로 잘못된 부분이 있을 수 있음.






작동영상(https://youtu.be/wb_zZjoWuFw, 2분~2분18초) 을 보면 2개의 Line Laser 를 작동시킨다. 


중심에 있는 캠의 좌우로 작동시켜서 바로 위 그림에서 보이는 라인을 2개 만든다. 중심축을 중심으로 대칭되게 만들어지는 2개의 라인 인식은 프로그램으로 어렵지 않게 오차를 보정해 주는 역할을 할 것으로 보인다.



[REFERENCE]

프로젝터와 웹캠으로 만든 3D 스캐너 http://robobob.co.kr/12
DIY 3D 스캐너제작 문서(전체 94페이지, Structured Lighting 에 관한 수학적원리 설명됨)  http://mesh.brown.edu/byo3d/notes/byo3D.pdf
레이저 거리 측정 관련 http://blog.daum.net/nobos/44


P.S.1. 
[CCD, CMOS 차이]
간단하게 말하자면 PLA 와 ABS 의 차이 정도입니다. 일반 사용자 측면에서는 큰 차이가 없습니다. 
빛을 받아들이는 방식의 차이이지만 현재는 CMOS 방식 기술이 발달해서 CCD 방식과 CMOS 방식이 사용자 측면에서는 큰 차이가 없습니다.
빠른 처리를 요하는 Vision (영상인식)에는 아직 RAW DATA 를 빨리 전달할 수 있는 CCD 센서가 사용되고 있습니다.
하지만 일반 사용자가 사용하는 대부분의 웹캠은 CMOS 입니다. 웹캠으로 CCD 를 사용한다는 것은 무의미합니다. 이유는 RAW DATA 를 전달하는 것이 아니라 하드웨어 코덱을 통해 압축된 DATA 를 PC 쪽으로 전달하기 때문입니다. 그래서 예전에 PC 영상처리를 한번 웹캠으로 해볼까 하다가 포기했던 적이 있습니다. 당시만해도 웹캠에서 나온 데이터를 사용하는 것이 원할하지 않았습니다.
지금은 아주 좋아졌네요. 이렇게 웹캠으로 찍은 동영상(사진)으로 영상처리가 가능할 정도가 되었으니 말이죠.

CCD, CMOS 에 대한 자세한 내용은 링크를 참고하세요. 



Comment +0