정보통신프로젝트 2014학년도 1학기 | |
---|---|
수행시기 | 2014.1 ~ 2014. 6 |
수행한 사람 | 이민혁, 정준영1) |
플랫폼 | C++ 2), Camera Devices, Projector. |
주 참고문헌 | ? |
지도교수 | 박인규 |
소스코드주소 | https://github.com/minhyeok/projStructuredLight.git |
프로젝트는 방학 기간에서 부터 진행이 시작되었다. 지도교수인 박인규 교수님은 비전컴퓨팅을 전공하는 교수님이기 때문에 내심 'CUDA등을 이용한 병렬컴퓨팅'에 대한 공부를 해보기를 희망했지만, 기술을 배우고 싶다는 희망에 비해 이유가 뚜렷하지 못했고, 결국 교수님께서 '스캐닝 기법의 해상력 향상'에 대해 공부해 보기를 권해주셨다.
Structrued Light Scanning은, 3D 스캐닝을 할 수 있는 기법 중의 하나로 카메라 + Projector를 이용하는 것. 본디 카메라는 2차원 정보 만을 취득 할 수 있지만, 3차원(z축)의 정보를 Projector를 이용해서 얻어내는 것이다. 이때 Projector는 정보가 담긴 Structured Light를 피사체에 투영하고 영상장비가 이 정보를 취득해서 3차원 정보를 얻어낸다. 이때 투영되는 Structured Light는 흑백 정보인데, 투영되는 피사체의 화소 영역에 코드를 부여하기 위함인 것.
<순서정보 그림으로 삽입할 것.>
해결해야 할 문제는, 구조광이 피사체에 투영되면서, 피사체의 형태에 따라 구조광의 해상력을 저해할 여지가 있다는 점이다. 가령, 구조광의 패턴각과 피사체의 법선벡터의 방향이 직교 할 경우, 패턴의 면적이 넓어지게 됨에 따라 해상력이 저하될 수 있기 때문이다.
<문제점을 지적하는 그림 삽입>
따라서 이 프로젝트는 다음의 문제를 해결하고자 한다.
<n주차별 교수님께 브리핑시간에 발표한 발표자료를 삽입할 것.>
프로그램 구현 궤적과 이론적 배경 변화를 설명할 것.
<발표 일자 명시.> 영어 발표였던게 함정.
교수님의 추천으로 한국방송공학회에서 발표를 할 수 있는 기회를 가졌다. 제주도 제주대학교에서 포스터 발표를 수행했다.
혼자 제주도 여행도 즐기는 등 좋은 경험이 되었다.
기타사항은 추가예정
이 프로젝트를 기반으로 14년도에 삼성소프트웨어 멤버쉽에 지원하였으나, 기반기술에 대한 지식 부족으로 탈락했다.대신 소프트웨어 마에스트로에 붙었다.
물론 스캐닝을 수행하는 주 논리에도 공여한 부분이 있지만, 주로 C++을 활용한 리팩토링과, Win32 및 OpenGL을 활용한 인터페이스 프로그래밍을 주로 담당했다. 소스 버전관리를 제대로 수행하지 못했던것에서 나중에 아쉬운 생각이 들었다.
이전 부터 박인규 교수님의 과목을 수강했던것이 이번 프로젝트 수행의 큰 동기가 되었고, 이것이 3D 스캐닝 공부에 이어지게 되었다.
ABEEK프로그램의 한 부분이었던 프로젝트였기 때문에 프로젝트 발표를 '영어'로 수행해야 했던 프로젝트. 하지만 당연히도 네이티브 스피커가 아닌 우리들은 전문적인 발표내용을 영어로 하는데에 한계가 있었고, 발표장에는 'This'와 'As you can see'만 주구장창 들을 수 있었다. 다만 이건 반대로 한글 발표자료 였을때의 텍스트 떡칠을 바꾸어 그림, 그래프와 표 위주의 발표자료를 만드는 효과가 있었다(…) 교훈이 있다면, 스크립트를 작성하되 스크립트를 외울 것이 아니고, 화면의 내용과 흐름을 외울 필요가 있다는 것. 따라서 보여주는 내용에 유연하게 대처하는 것이 가능하다. 이것이 가능하려면 역시 영어실력이 필요할 듯.
제주도 학회 발표는 포스터 발표로 진행되었는데, 학회 관계자분께서 발표 자료를 확인하고 내용에 대해 질문하는 형태의 발표. 타 발표 주제들이 영상처리와 패턴 인식이었던 것에 반해 3D 스캐너 주제는 이 발표에서 유일한 내용이었기 때문에 관계자분들 께서도 흥미있어 하는 평가였다.