2020년 1월 9일 목요일

스테레오 이미지/IR/IMU 내장된 MYNT EYE 센서 사용기

이 글은 MYNT EYE 센서 사용 후기이다. 현재 3차원 역설계 비전 연구를 진행 중이라, 가성비 높은 센서가 필요한 부분이 있다. 지금까지 다음과 같은 종류의 장치를 구매해 환경을 설치하고 예제를 실행해 보았다. 
  1. 고정식 고가 LiDAR (Trimble, FARO. $30,000~120,000): 고정밀 엔지니어링용
  2. 실시간 LiDAR (Velodyne. $4,000~20,000): 중저가 무인 이동체 객체 충돌 회피용 3차원 맵 생성
  3. 스테레오 이미지 기반 센서 (ZED. $400): 저가용 실내외 3차원 맵 생성
  4. 적외선 기반 센서 (Kinect, Realsense, $200): 저가용 실내 3차원 맵 생성
  5. 저가 2D LiDAR (RpLiDAR, $99): 저가용 실내 2차원 맵 생성
  6. 복합 3D 센서 (MYNT EYE, $250): 스테레오 이미지+IR+IMU 활용 3차원 맵 생성 
오늘 소개할 MYNT EYE 센서는 TZBOT이란 회사에서 개발한 저가 3차원 DEPTH MAP 스캐너로 IMU, IR, 스테레오 카메라가 포함되어 있다. 
MYNT EYE 사용 예시

사용 방법
AMAZON 등에서 해당 센서를 구입한다. 직구하면 가격은 200~300달러 정도 된다.

빌드하기 전에 UBUNTU, NVIDIA DRIVER, CUDA 등 기본적인 개발환경을 설치해야 놓아야 한다. 환경 준비가 되어 있다면, 다음 같이 소스코드를 다운로드 받는다.
git clone https://github.com/slightech/MYNT-EYE-S-SDK

생성된 폴더 안에서 다음과 같은 명령을 입력해, 코드를 빌드한다.
make
make init
make sample

참고로, NVIDIA JETSON TK 보드에서는 호환성 문제로 빌드되지 않았다. 이 센서는 INTEL 계열 API를 사용한다.

센서를 컴퓨터 USB에 연결하고, 빌드된 예제를 실행해 본다. 그리고, 센서 번호인 0을 입력한다.
./samples/_output/bin/camera_with_junior_device_api

문제없다면, 센서 데이터를 출력할 것이다.

다음은 get_depth_and_points 예제를 실행해 본 결과이다. 가까운 0.8미터쯤에서 포인트가 인식되며, 거리가 멀어질수록 오차가 커지는 것을 알 수 있다. 2미터 정도까지는 어느 정도 정확하게 인식된다. 10미터까지 인식된다.


이 센서는 IMU가 포함되어 있다. 다음은 이와 관련된 예제이다.

개인적 의견으로 다양한 DEPTH MAP 센서를 사용해 스캔을 해보니 가격은 저렴하나 성능은 서로 비슷하다는 것을 느꼈다. 스캔 센서는 가격에 비례해 정확도, 정밀도, 스캔 거리가 높아진다. IR 적외선 센서와 스테레오 이미지 센서는 각각 실외, 실내에서 사용할 때 강하고, LiDAR 센서는 정확도는 높지만 RGB가 없다. 이런 이유로 스캔 센서는 응용 목적에 따라 적합한 것을 활용해야 한다.

추신 - 이 글을 올리고 있을 때 벨로다인에서 10만원대 LiDAR 센서가 CES에서 공개되었다는 뉴스를 SNS를 통해 들었다. 올해는 3D point cloud processing 기술이 보편화되는 시점이 될 것 같다.

댓글 없음:

댓글 쓰기