단일 카메라 비전 및 매핑 시스템


17

얼마 전에 저는 단일 카메라가 장착 된 작은 '토이 탱크'데모를 보았습니다. 이 탱크는 바닥을 돌아 다니며 물체를 감지 한 다음 피하거나 움직이기 위해 움직일 수있었습니다. 흥미로운 부분은 단일 카메라 비전 시스템을 사용하고 바닥이 평평하다는 이점을 기억한다는 것입니다. 그런 다음 장면을 평가하고 매핑하기 위해 기능이 모터와 이동 방향에 대해 장면에서 이동하는 속도를 사용합니다.

누구든지 이것에 대해 더 많은 정보를 얻기 위해 검색 할 내용이나이를 수행 할 수있는 코드베이스에 대한 포인터를 보낼 수 있습니까?

내가 묻는 이유는 이것이 몇 년 전 (5+)의 단일 카메라 시스템 이었기 때문에 (내가 기억하는 것) 비교적 계산 부하가 높기 때문입니다. 방이나 방 세트를 매핑하는 자동차 / 탱크를 만들기 위해 Raspberry PI에서 이것을 시도하려고했습니다.


2
로봇 공학 벤에 오신 것을 환영합니다 . 실제 문제에 기초하여 실제적이고 대답하기 쉬운 질문 을 작성하는 방법에 대한 힌트를 구하는 방법을 확인 하고 둘러 보십시오 . 감사합니다,
마크 부스

답변:


4

그들이 무엇을하고 있는지 정확히 말하기는 어렵지만 여기서 원할 수있는 용어는 " 광학 흐름 "과 " 자기 운동 "입니다. 일부 기능 감지 및 일치 (SURF 또는 SIFT와 같은) 또는 포 그라운드 / 백그라운드 분할이 발생했을 수 있습니다.

OpenCV 는 컴퓨터 비전에 가장 널리 사용되는 코드베이스 일 수 있으며 모션 분석을위한 많은 기능을 가지고 있습니다 . 알고리즘은 컴퓨팅 성능에 의해 제한 될 수 있지만 OpenCV는 Raspberry Pi에서 실행되어야합니다.


4

바탕 WildCrustcean 의 응답 또 다른 possiblity를하는 것 스테레오 비전 . 우리는 종종 스테레오 비전을 두 대의 카메라를 사용하는 것으로 생각하지만이 기술은 실제로 공간에서 변위 된 이미지와 변위 모델 만 필요합니다. 다시 말해 이미지를 촬영하고 이동 한 다음 다른 이미지를 촬영할 수 있습니다. 이 두 이미지 사이의 변환을 알고있는 한 스테레오 비전 기법을 사용하여 이미지의 한 지점까지의 거리를 계산할 수 있습니다.


2
당신이 말하는 기술은 "운동의 구조"라고 생각합니다.
Kozuch

1

Parellel Tracking and Mapping PTAM을 사용했을 수도 있습니다 . PTAM은 단일 카메라를 사용하여 세계의 3D지도를 만들고 시각적 기능을 추적하여 현지화하는 SLAM (Simultaneous Localization and Mapping) 문제를 구현 한 것입니다.

우리 팀은 한때 ROS 에서 PTAM 패키지 사용을 실험했습니다 .

우리는 Intel Atom에서 Ubuntu를 실행하고 있었는데, 프로세서가 그리 많지 않았다는 것을 기억합니다. 우리는 로봇이 작동하는 환경에서 충분한 기능을 찾을 수 없기 때문에 주로 사용하지 못했습니다.


0

일반적으로 세계에 대한 추가 정보가 없으면 단일 이미지에서 미터법 거리 측정 값을 추출 할 수 없습니다 . 예를 들어, 세계가 평면임을 알고 있거나 평면 영역 인 바닥을 감지 할 수 있으면 호모 그래피를 추정 할 수 있습니다.

호모 그래피는 평면 (3x3 매트릭스) 간의 투영 변환입니다. 카메라 고유 교정이 제공되면이 평면 유도 호모 그래피를 회전 및 평행 이동으로 분해 할 수 있습니다. 번역은 규모에 비례합니다. 카메라에서 바닥 (평면)까지의 거리를 알면이 스케일 모호성을 해결할 수 있습니다.

호모 그래피가 있으면 평면에 없는 물체를 감지 할 수 있습니다 . 호모 그래피를 사용하면 첫 번째 이미지를 두 번째 이미지로 왜곡 할 수 있습니다. 평면의 객체가 정렬되고 작은 오류가 발생합니다. 평면에없는 객체는 정렬 되지 않습니다 . 이것을 시차라고합니다.

이것을 구현하는 한 가지 방법은

  1. 두 이미지에서 피처를 추출합니다.
  2. 기능을 일치 시키거나 추적하십시오.
  3. RANSAC를 사용하여 호모 그래피를 추정하십시오.
  4. 교정을 사용하여 호모 그래피를 회전 및 병진으로 분해합니다.
  5. 첫 번째 이미지를
    두 번째 이미지로 변형시킵니다 . 오류가 큰 픽셀은 바닥에없고
    장애물 이 될 수 있습니다 .

대부분의 빌딩 블록은 opencv로 구현됩니다 ( http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html 참조 ).

행운을 빕니다.

PS 호모 그래피 분해는 평면의 법선도 제공합니다. 그러나 이것이 지상 평면이라고 가정하고 있기 때문에, 우리는 정상 방향을 향하고 있습니다. 교정 절차에서보다 정확한 솔루션을 얻을 수 있습니다. 바둑판 대상을 사용하여 포즈를 추정 할 수 있습니다. 포즈는 평면과 카메라와의 거리를 갖습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.