천문 장비 혹은 필요한 도구들을 스스로 만들기 위한 정보들을 교환하는 장입니다.
우리가 함께 만든 우주선이 달나라에 가지 말라는 법이 있을까요?
총 게시물 111건, 최근 0 건
   
3D 스캐너 제작 - 구동
글쓴이 : 이형철 별님 날짜 : 2013-08-13 (화) 14:16 조회 : 10990
3D 스캐너를 구동하여 보았습니다.
 
일단 아래와 같이 1개의 웹캠, 라인 레이저, 스텝 모터, 아두이노, 모터 드라이버로
하드웨어를 만들었습니다. 케이스는 3D 프린터로 출력 하였습니다.
 
 
스캐너의 원리는 레이저와 카메라의 상대적 거리 및 각도를 고정하여
항상 고정된 선상에 촬영 되도록 한 후
두께가 있는 물체를 촬영한다면 예상된 선 보다 이미지상에서 x축 좌측에서 촬영될 것이라는 생각에 기반합니다.
 

이 원리에 따라 삼각함수를 이용하여 촬영된 이미지상에서 레이저 빔이 맺힌 위치를
현재 레이저가 자르고 있는 평면상의 물체의 두께로 변환합니다.
 
이렇게 하여 하나의 레이저 빔이 자르는 평면상의 두께를 한번에 얻을 수 있지만
3차원적인 물체의 모양을 얻기 위해서는 위와 같은 작업을 회전 혹은 수평 이동하며 반복하여야 합니다.
 

결과물은 x, y, z 좌표와 레이저 빔이 꺼져있을 때의 색깔을 ply 형태의 파일로 저장하였습니다.
 
결과를 오픈소스 프로그램인 MeshLab에서 띄우자
생각보다 괜찮았습니다.
 

머리카락 부위는 레이저빔이 흡수되기 때문에 스캔이 되지 않았습니다.
 
잘못 검출된 점들을 제거하고, 필요한 영역만을 남겼습니다.
 

마치 태양계를 중심으로 돌고 있는 행성을 보는 듯 합니다.
 
raw 데이터는 필요없이 많은 점들을 포함하고 있기 때문에
 
Filters > Sampling > Clustered Vertex Subsampling
필터를 적용하여 0.1 cm 두께로 클러스터를 대표하는 점만 남겼습니다. 이 과정에서 색깔 정보는 사라집니다. (추후에 복원함)
 

다음으로
Point Set > Compute normals for point sets
필터를 적용하여 0에서 뻗어나가는 각 점들의 법선 벡터를 계산한 후
 
Point Set > Smooths normals on a point sets
필터를 적용하여 이웃한 10개 점의 법선 백터를 평균하여 새로운 법선 벡터를 계산하였습니다.
(여기서는 이웃한 10개 점들이 이루는 평면에 수직인 벡터를 구합니다)
 

다음으로
Point Sets > Surface Reconstruction: Poisson
필터를 적용하여 점들을 연결하는 삼각형들을 생성하고
 
Sampling > Vertex Attribute Transfer
필터를 이용하여 기존의 컬러값을 가장 가까운 삼각형의 꼭지점에 전달하였습니다.
 

마지막으로
Selection > Select Faces by Vertex Quality
필터를 적용하여 색깔이 없는 점들을 삭제하면
기존의 색깔이 있던 점들과 가장 가까운 점들만 남게 됩니다.
 

자작한 스캐너 치고는 퀄리티가 괜찮았지만
 
문제는 역시 한 면만 스캔이 가능하다는 점입니다.
 
3D 프린터로 물체를 출력하기 위해서는 물체를 360도 전체에 걸쳐 스캔 해야 하는데요
(360도 + 위, 아래도 해야합니다)
 
그러기 위해서는
1) 원형 트랙을 깔고 위의 스캐너를 물체 중심으로 한 바퀴 돌리거나 (이동성이 떨어지는 단점이 있습니다)
2) 물체 자체를 일정 속도로 회전하는 턴테이블 위에 올리거나 (사람은 올리지 못한다는 단점이 있습니다)
3) 스캐너 3-4대를 120도 간격으로 배치하는 것입니다.
 
또 한가지 문제점은
레이저 빔에 수직하거나 빔에 서 봤을 때 겹쳐 보여
빔이 닫지 못하는 곳은 스캔이 되지 않는다는 점입니다.
 
아래 사진은 후두경 (기관 내 삽관을 위한 의료 장비의 일종) 의 날을 스캔한 것인데 빔에 수직한 면은 전혀 스캔이 되지 않습니다.
 

이러한 물체의 경우 120도 간격 뿐 아니라 위, 아랫면에서도 스캔을 해야하지 않을까 싶습니다.
 
이상으로 라인 레이저와 웹캠으로 3D 스캐너를 충분히 만들 수 있음을 확인하였고
모든 방향에서 완전한 물체를 스캔 하기 위해서는 좀 더 생각하고 개발해야하겠다는 점을 확인하였습니다.
 

정유진별님 2013-08-16 (금) 16:49
뭐 하시는 분일까...대단하십니다.
댓글주소
지용호별님 2013-09-24 (화) 13:18
장난아니야~ ㅎㅎㅎ
댓글주소
정재원별님 2013-11-29 (금) 12:39
라인레이저로 뎁스를 검출하나요??
신기한데요?ㅋㅋ
댓글주소
이경헌별님 2015-12-22 (화) 17:18
* 비밀글 입니다.
댓글주소
   

총 게시물 111건, 최근 0 건
번호 이미지 제목 글쓴이 날짜 조회 추천
96 헬륨 가스 +3 이형철별님 09-06 5091 0
95 성층권 촬영위해 비행선을 만들었어요. +2 황규복별님 08-31 5855 1
94 3D 스캐너 제작 - 구동 +4 이형철별님 08-13 10991 2
93 3D 스캐너 제작 - 하드웨어 +2 이형철별님 07-25 5205 0
92 우주로 보낼 카메라 - 고민중 +1 최고관리자별님 07-25 4283 0
91 라즈베리 파이 카메라 이형철별님 07-23 7628 0
90 함께 우주에서 ISON 혜성 보기 프로젝트 - 제안 +4 이형철별님 07-22 4194 0
89 오픈소스 천체 추적기 - 1호기 완성 +1 이형철별님 07-22 5065 0
88 오픈소스 천체 추적기 - 카메라 & 전원 연결 +1 이형철별님 07-12 4232 0
87 오픈소스 천체 추적기 - 스테핑 모터의 구동 +7 이형철별님 07-09 8428 0
86 오픈소스 천체 추적기 - 하드웨어 제작 +1 이형철별님 07-05 4962 0
85 기어가 도착하였습니다. 이형철별님 06-25 3801 0
84 3D 프린터를 이용한 3D 스캐너 제작 최고관리자별님 06-19 8657 0
83 극축 망원경 - 의견 부탁드려요. +1 이형철별님 06-19 4057 0
82 높은 잇수를 가지는 기어 구입 이형철별님 06-19 3836 0
처음  1  2  3  4  5  6  7  8  맨끝
 
Since 2001.2.7 과학기술정보통신부 등록 비영리민간단체 천문노트. Copyright All rights reserved.
단체명 : 천문노트  |    고유번호 : 101-82-15888  |    대표자명 : 김태욱, 조우성  |    주소 : 138-804 서울특별시 송파구 가락동 93 금강빌딩 7층 710호  |    전화 : 02-543-3295  |    Fax : 02-6918-6888  |    통신판매신고번호 : 종로 제01-5696호  |    개인정보관리책임자 및 사이트관리자 : 지용호