프로토타입1호기를 제작해 보고난 후  다음 사항을 수정하여 2호기를 제작해 보았다.

 

1. 조명의 변경

 

-1호기에서는 카메라 촬영시 촬영하고자 부분에 조명이 훤하게 비추면 좋을 것 같아 카메라 바로 옆에 설치 했었다, 즉 회전하는 Arm과 함께 회전하면서 촬영 시점에 LED조명이 켜지도록 구성했었다. 그런데 자료를 찾아 보니 조명 즉 광원은 이동하면 안되고 고정된 곳에서 일정하게 비춰져야 한다고 한다. 따라서 2호기에서는 조명은 카메라를 따라 이동하지 않고 한 지점에서 비춰지도록 했다. 

 

2. 프로세서와 카메라의 교체

 

-1호기에 서 사용되었던 라즈베리파이 2를 라즈베리파이 3로 전부 교체하고 카메라도 버전 2로 전부 교체 했다.

 

-파이 카메라 버전 2의 해상도는 3280 x 2464 (8백만화소) 로서 버전 1의 2592 x 1944 (5백만화소) 보다 높아지고  시야각도 62도로 버전1의 53.5도 보다 넓어 졌기 때문에 하나의 Arm에 부착되는 카메라 모듈의 갯수를 7개에서 6개로 줄였다.

 

3. 카메라모듈 무선화 

 

-각각의 카메라 모듈을 유선으로 연결하다 보니 총 14가닥의 이더넷케이블이 회전 장치와 함께 움직여야 하고 이 케이블 뭉치때문에 회전이 부드럽게 되지 않고 가끔씩 버벅거린다. 각각의 케메라 모듈에 WiFi 둥글이를 부착하여 케이블을 줄이니  처리 속도가 유선에 비해 처리 속도가 늦기는 하지만 회전은 조금 부드럽게 된다. 

 

4. 3D 모델링TOOL 변경

 

-3D 모델링TOOL로 Recap 360 클라우드서비스를 이용했었는데 사진만 UPLOAD하면 되는 편리함은 있었으나 작업 옵션 변경 등에 제약사항이 많고 계속해서 이용하려면 사용료를 계속내야 하기 때문에 PhotoScan 이라는 3D 모델링 소프트웨어를 구매하여 사용해 보았다.   

 

5. 촬영구조물 개선

 

-각각의 촬영모듈을 연결하는 구조물을 3D 프린트해서 사용하다 보니 강도가 약해서 회전시 흔들거린다. 따라서 카메라모듈을 부착하는 Arm부분을 알루미늄 프로파일 골격으로 교체하고 여기에 볼트를 이용하여 장착하는 형태로 조금 더 튼튼하게 제작했다.  

 

 

작업결과물

 

 

8백만화소로 촬영된 290여장의 사진을 한 폴더에 모아 놓고 PotoScan 프로그램을 기동시킨다.   

 

 

  PotoScan 프로그램에서 해당 폴더를 지정하고  Align Photos 작업을 시키면

다음과 같이 각각의 사진이 자동으로 분석되어 촬영된 위치에 정렬된다. 

 

 

 

 

Build Dense Cloud작업을 실행시키면 다음과 같이 Dense Cloud가 제작된다.

 

 

불필요한 부분을 삭제하고

Build mesh 작업을 실행시키면 다음과 같이 3D 모델이 작성된다. 

 

작성된 3D모델을 Solid형태로 보면 다음과 같다. 

 

High quility로 Build Mesh하면 2,000,000 faces 정도로 Build할 수 있는데 

Wireframe view로 확대해서 보면 다음과 같다. 

 

여기에서 Build Texture 작업하여 텍스쳐까지 완료해서 보면

다음과 같이 상당히 선명한 3D 모델을 제작할 수 있다.

 

이상과 같이 작업하는데에는 상당한 시간과 컴퓨터자원이 소요된다.

 

작업하는 Quality와 사용하는 PC의 성능에 따라 달라지겠지만 인텔 i7 3.6Ghz, 32GB RAM 인 Windows10 PC에서 위와 같은 Quality로 작업하는데 총 15시간 정도의 시간이 소요되었다. 

 

 

운영시스템

 

 

위와 같은 간단한 웹페이지를 작성하여 사용자의 작업지시에 따라 작업되도록 운영시스템을 구성하였다.

 

- 헤드를 지정하는 만큼 회전시켜 보거나 LED조명장치를 바꿔가면서 그리고 각각의 카메라를 지정하여 촬영 여부를 선택하면서 테스트용 촬영작업을 하고, 그 결과에 따라 각각의 케메라의 상하 각도를 조정하면서 최적의 각도를 산출한다. 이 결과는 저장해 놓고 다음 번 기동시에 디폴트값으로 사용되도록 한다.

 

-테스트작업이 작업되면 연속촬영 모드로 촬영작업을 시작한다. 이때에 헤드의 시작각도와 종료각도, 매번 촬영시 마다 이동할 각도를 지정한다. 그리고 헤드 회전후 대기시간, 촬영 명령 후 다음 회전시 까지 대기할 시간 등을 지정한다.

 

-촬영작업이 완료되면 전체 사진 데이터를 마스터 콘트롤러로 전송토록 하고 이를 전부 모아 하나의 압축파일로 구성하여 사용자PC로 다운로드 받을 수 있도록 한다.           

 

 

 

 

작업FLOW

 

 

 

1.촬영이 완료되어 수합된 250장의 사진을 Reacp 360 클라우드 서비스에 업로드하여 3D 모델링작업을 의뢰한다.  

 

2. Reacp 360 클라우드 작업이 완료되면 완성된 3D 모델링제이터를 .obj 파일로 다운로드 받는다.

 

3. 다운로드 받은 파일을 Meshmixer 프로그램으로 열어 보면 다음과 같이 3D 모델을 확인할 수 있다.  

 

 

 

Meshmixer 프로그램 기능으로 원하는 부분만을 잘라 내어

 

 

 

 

 

 잘못된 부분을 보정작업하거나, 거칠게 모뎅링 된 부분을 부드럽게 손질하여

다음과 같이 원하는 3D 모델로 저장한다.

 

 

Shades 조정하여 컬러 텟스처를 제거하면 다음과 같은 모양이 되는데

이 모양이  3D 프린팅하면  출력되는 결과물의 모습이다.

 

 

4. 보정작업이 완료된 3D 모델을 stl 파일형태로 Export하여 파일로 저장하면 이 파일이 3D 프린터로 출력할 수 있는 파일이 된다.

 

시스템 구성도

 

 

본 시스템은 마스터 콘트롤러, 모터 콘트롤러 와 14대의 카메라 모듈로 구성된다.

 

마스터콘트롤러

 

- 전체 기능을 제어하고 사용자와의 인터페이스 기능을 위한 시스템으로 라즈베리파이 2 기종을 사용했다.

 

- 자체 웹서버를 가동시켜 사용자는 웹브라우저를 통해 콘트롤러의 URL로 작업화면을 호출하고 작업지시를 한다.

 

- 사용자의 작업지시는 서비스 데몬프로그램으로 전달되고 데몬프로램에서는 작업의 동기화와 제어명령을 모터콘트롤러와 각각의 카메라 모듈에 전달하여 작업을 수행토록 한다.

   . 사용자에 대한 음성안내 ( 촬영시작합니다. 촬영진행동안 움직이지 마세요 등 ) 

   . 헤더의 회전각도 지정

   . 릴레이를 작동시켜 LED 조명의 ON/OFF

   . 카메라 촬영시점 동기화

   . 촬영이 완료된 후 사진 데이터를 전부 모아 하나의 압축파일로 생성하기       

 

 

모터콘트롤러

 

- 서비스 데몬 프로그램의 지시를 받아 각각의 모터를 제어하기 위한 것으로 아두이노 2560기종을 사용했다

 

- 전체 헤드를 회전 시켜 촬영각도를 변경시키기 위한 중형 서보모터 1대

 

- 각각의 촬영모듈에 장착된 카메라의 상하 각도 조절을 위한 14대의 소형 서보모터      

 

 카메라 모듈

 

- 각각의 카메라를 제어하여 사진을 촬영하고 사진 데이터를 마스터 콘트롤러로 전송하기 모듈로서 라즈베리파이 2 기종을 사용했다.

 

- 전면 촬영용과 후면 촬영용 2개의 Arm에 각각 7개의 모듈이 부착되고 각각의 모듈에는 라즈베리파이와 카메라 그리고 카메라 상하 각도 조절을 위한 서보모터로 구성된다.  

 

 

촬영기 HARDWARE 구조 

 

 

- 촬영기 구조물은 알루미늄 프로파일로 제작하여 크기는 가로 160CM 높이 200CM의 삼각 기둥형으로 구성했다.

 

- 전면 프레임 중앙에 서보모터를 이용한 회전장치를 장치를 부착하고 그 아래에 사람이 앉아 사진을 촬영한다.  

 

-중앙 서보모터에 매달려 회전하는 Arm은 7개의 카메라 모듈이 서로 연결하여 구성되는데 각각의 카메라 모듈에는 라즈베리 파이,카메라, 서보모터, 조명용 LED스트립 그리고 전원 및 네크웍크 케이블이 연결된다.  

 

-카메라 모듈의 구조는 3D모델로 설계하여 3D 프린트하여 사용했다.  

 

 

NETWORk구성

 

- 본 시스템용 별도 네트워크를 구성하여 하나의 유무선 공유기에 연결된다.

 

- 마스터 콘트롤러와 각각의 카메라 모듈은 스위치허브를 통해 유선으로 상호 연결된다. 

 

- 사용자는 별도의 노트북 등으로 유무선 공유기를 통해 WIFI로 접속하여 작업화면을 호출하고 작업지시를 한다. 

 

- 사용자의 작업지시 화면은 위치별로 각각의 카메라 모듈을 구분하여 표시함으로서 해당 카메라 모듈의 상태 확인 및 조정작업을 할 수 있도록 했다.  

  

+ Recent posts