이번 글에서는 적외선 패시브 마커를 이용하여 모션캡쳐 촬영 준비 및 촬영에 대해서 다룰 것이다.
지금까지는 나의 삽질들을 모두 담아내면서 의식의 흐름대로 써왔는데, 아무래도 글이란 것은 읽는 사람들에게 가치가 있어야 하는 것 아니겠는가.
그래서 이번 글부터는 삽질 없이 설명하듯 글을 작성해보려고 한다.
촬영을 위해서는 당연히 촬영 장비를 구매해야 한다. 근데 이게 실제로 VICON과 같은 회사에서 쓰는 것과 동일한 사양의 장비들을 구비하려면 최소 천 만원은 각오해야 할 것이다. 그래서 최대한 저가로 부품을 수배하는 데 공을 들였다....
BEST는 1000fps에서 해상도도 최소한 1080p 정도 되는 걸 찾았으면 했다. 그러나 그런 카메라 가격은 후덜덜했고... 나는 좋은 게 없을까 하고 알리익스프레스를 돌아다녔다.
눈을 낮추고 낮추어 240fps만 되면 해상도는 얼마가 되든 상관 없다고 생각했다. (실제로 모션 캡쳐에서는 카메라의 대수가 많은 것이 개별 카메라의 해상도가 높은 것보다 정확도 향상에 더 도움이 된다.)
그리고 찾다찾다보니 적절한 카메라를 찾을 수 있었다!
60fps@1080p, 120fps@720p, 260fps@360p를 지원하는 카메라로, 그냥 꽂으면 알아서 PC에서 인식하는 일반적인 웹캠이다.
예전에 누구에게 듣기를 픽셀이 개 있을 때 시계열적으로 4분할해 하나씩 찍으면 화소는 4배 줄고 fps는 4배 증가시켜서 촬영할 수 있다는 얘기를 들었는데, 이게 대충 그런 방식인 듯하다.
하나를 테스트용으로 구매했고, 멀쩡하게 260fps가 잘 촬영됨을 확인했다. 신나는 마음에 10대를 주문했고, 100만원이 조금 덜 되는 가격으로 구할 수 있었다.
그러나 내가 하려는 것은 RGB 기반이 아닌 IR 기반 모션캡쳐이므로, 일반 렌즈가 아닌 적절한 렌즈를 장착할 필요가 있었다.
정확하게는, 빛이 [렌즈 -> 필터 -> CCD]의 과정으로 상이 맺히는데, 이 필터가 'IR cut' 필터이면 일반적인 RGB 사진이 되고, 'IR pass' 필터이면 가시광선 파장에 해당하는 빛을 차단하고 적외선만을 CCD 필터로 통과시킨다.
내가 주문한 ELP 카메라는 CCD 센서가 아니라 렌즈에 IR cut 필터가 붙어 있는 형태였고, 이를 개조하려고 많은 시도를 해봤지만 실패했다. 그래서 제조사에 직접 문의를 했더니 IR cut 필터를 떼고 IR pass 필터를 붙인 상품을 제조해서 판매해주었다. ELP 제조사에 무한한 감사를...
아래는 주고 받은 메시지의 제조사 답변 중 일부이다.
I just asked our production. The ir filter attached to this lens can not removed by yourself. we need to remove in factory for you.
...
It is not like normal lens, normal lens is easier to remove ir filter.
If possible, would you like to order an extra lens without ir filter for camera?
...
Yes, we can install 850nm or 940nm ir pass filter
The price will be higher US$5/pc
...
Please place the order from this link:
https://www.aliexpress.com/item/1005001640107522.html?spm=2114.12010611.8148356.42.48d0243cZ4x6u2
단순히 렌즈를 갈아 끼는 작업만으로 RGB 카메라가 IR 카메라가 되었다!
850nm 렌즈를 10개 주문했다.
마커는 카메라만큼 중요한 모션캡쳐 장비 중 하나이다. 몸에 부착하기 편해야 하며, 내구성도 적당히 있는 재귀 반사 구형 마커여야 한다.
일단 어디서 사야할지 짐작도 안가서.. 무턱대고 VICON 회사 홈페이지를 찾아가 보았다.
VICON 사이트에서 직구는 하기 어렵고.... 공식 디스트리뷰터가 있는 듯 했다. 한국에는 VISOL이라는 회사가 유일한 디스트리뷰터로 있었고, 마커 10개당 14만원 정도로 팔고 있더랬다. (나중에 직구 사이트를 찾았는데, 10개당 6~7만원 선이더라;;;;)
메일을 주고 받아 7박스 정도 샀다. 그러니까 대략 100만원 정도 썼다.
대략 이렇게 생겼는데, 엄청 작다. 지름이 14mm, 9.5mm 정도이다.
저 마커가 마냥 몸에 딱 붙느냐? 절대 아니다. 아무 테이프를 써도 마커에는 잘 붙겠지만, 맨몸이나 옷에는 테이프가 거의 붙지 않는다. 일반 테이프는 쓰기 어렵다는 사실을 알고 쿠팡에서 온갖 테이프를 10종류 정도 사서 테스트했고, 결론은 아래와 같다.
의료용 테이프가 접착력이 생각보다 아주 강하고 몸과 옷에도 잘 붙었다. 나중에 안 사실이지만 가발용으로도 많이 쓰인다고...
그래서 의료용 양면 테이프를 대량 구매했다.
자 이제 IR 카메라와 IR 재귀반사 마커를 구했다. 이러면 충분한가? 아니다!
IR 재귀반사 마커이므로, 빛을 싸줘야 반사를 할 것이다. 구체적으로, 카메라의 시야각 방향으로 IR 광선을 쏴줘야 그 방향 그대로 마커가 반사해 카메라 렌즈로 빛이 들어갈 것이다. 따라서 카메라 대수만큼 IR 광선을 방출할 광원이 필요하고, 또 그 광원은 카메라에 장착이 가능해야 했다.
알리 익스프레스를 여러 군데 찾아 적절한 LED를 하나 찾았고, 10개를 주문했는데 전부 다 불량이었다....
그래서 동일한 부품을 디바이스마트에서 10개 샀다.(참고로 알리 익스프레스의 가격은 개당 2천원이었고, 디바이스마트에서의 가격은 개당 2만원이었다.) 모두 정상적으로 작동했다.
배터리는 AA 배터리 8개 홀더를 10개 사고 AA 알칼리 건전지를 박스째로 엄청 많이 샀다..
전선을 적당히 구매해 홀더와 LED를 연결해서 LED를 제어하도록 했다.
여기까지 하면 다음과 같이 촬영할 수 있다.
삼각대는 2m짜리 삼각대를 쿠팡에서 적당히 1~2만원짜리로 많이 구매했다.
의외로 이 부분이 발목을 잡았다.
내가 구매한 카메라는 웹캠이었기에 USB로 PC에 연결해야 했다. 즉 웹캠에서 데이터를 받아 PC로 기록을 하는 것이다.
여기서 문제가 좀 있었던 게, USB 버스 대역폭 때문에 고생을 좀 했다. 일단 싸구려 PC들은 USB 포트가 많아도 결과적으로 메인보드 단에서 하나로 합쳐지는 경우도 있어서 싸구려 PC는 카메라를 2대도 감당하지 못했다.
더군다나 내가 부동산이 있는 것도 아니어서 고정된 장소에 설치해야 하는 데스크탑을 사용하지 못하고, 노트북을 사용해야 했다.
결국 결론은 사양 좋은 게이밍 노트북을 써야 한다는 것이었다. 문제는 웬만한 노트북들이 USB 포트가 3개 정도이기에, 10대의 카메라를 촬영하려면 4대의 게이밍 노트북이 필요하다는 것이었다. 여러 기종으로 테스트한 결과 대략 130~150만원 정도의 노트북부터 안정적으로 3대의 카메라를 촬영할 수 있었으니, 필요한 예산이 상상을 초월했다.
좀 봐줘서 카메라 9대 - 노트북 3대로 타협하더라도 어려운 조건임은 분명했다.
대여를 찾다가 코로나19로 인해 학생들에게 노트북을 대여해주던 학교가 생각나 찾아봤고, 1050ti가 붙은 델 인스피론이 하루에 4천원으로 대여할 수 있어서 이를 이용하기로 했다.
즉, 하루 12,000원의 예산으로 모션 캡쳐 촬영을 할 수 있었다.
대여한 노트북에 카메라를 3대씩 연결하여 OBS나 iPi Recorder 등의 프로그램을 통해 성공적으로 촬영됨을 확인했다.
모션캡쳐는 생각보다 많은 공간을 필요로 한다. 아쉽게도 내가 가진 부동산이 없기에, 적당한 댄스 연습실을 빌려야 했다.
스페이스 클라우드 서비스를 이용해서 수많은 공간을 사용해보았는데, 댄스 연습실이 제일 무난했다.
공간 선정에서 주의할 점은 반사인데, 댄스 연습실은 거의 무조건 벽면에 거울이 매우 많기에 촬영에 방해가 될 가능성이 매우 크다. 또, 바닥이 빛을 잘 반사하는 재질일 경우에도 촬영에 방해가 된다.
나는 댄스 연습실 바닥에 매트를 깔아 IR LED의 빛이 반사가 되지 않도록 했다. 거울은 여러가지 후처리 과정에서 방해가 되었으나, 최종적으로 모션 캡쳐나 캘리브레이션 과정에서 직접적인 방해가 되지 않아서 잘 해결했다.
여기까지 하면 다음과 같이 촬영할 수 있다.
이제 촬영을 위한 준비가 끝났다. 촬영을 하면 우리는 모션 데이터를 얻을 수 있을까? 당연히 아니다.
카메라 캘리브레이션이라는 아주 어려운 과정이 남아있기 때문이다.
지금까지의 여정은 그저 돈만으로 해결할 수 있는 일들이었다. 그러나 캘리브레이션은 공부가 좀 필요한 영역이었으며, 결정적으로 우수한 결과를 도출해난다고 보장할 수 없다. 이게 무슨 헛소리인지는 캘리브레이션을 공부해 보면 안다.
이번 포스트는 여기서 마치도록 하고, 다음 포스트에서는 기초적인 Camera Geometry와 캘리브레이션 알고리즘을 알아보겠다.
그 다음 포스트에서 캘리브레이션을 위한 준비, 캘리브레이션 과정 설계, 캘리브레이션 결과를 얘기할 계획이다.
반갑습니다. 이렇게 직접 모션캡처 시스템을 만드시다니, 뭔가 너무 감동적인 과정이네요.
칼리브레이션 결과가 잘 되었는지 나중에 알려주세요! ^^