Як вибрати камери для системи стерео зору?


18

Я зараз будую систему стерео зору для використання на UGV. Система призначена для роботи, який буде використовуватися в змаганнях, в яких робот телеоперований, щоб знайти відносно невеликі кольорові скелі у великому відкритому полі. Я розумію, як калібрувати таку систему і обробляти дані для системи стерео зору. Однак я не знаю, як вибрати камери для такої системи. Які найкращі практики вибору камер для системи стерео зору?

Відповіді:


11

Зверху в голові я б рухався за такими критеріями відбору

  • color / b & w - як правило, краще, тому що стерео алгоритми так чи інакше використовують лише один канал
  • базовий рівень - це дійсно залежить від сцени. За допомогою базової лінії ви контролюєте, яку точність ви отримуєте з дистанцією. Більш широкий базовий рівень призводить до більш високих значень розбіжності і, таким чином, менше шуму при оцінці відстані. Вища базова лінія також означає, що ви отримаєте зменшене перекриття між вашим полем зору. Найголовніше, що чим ширше базова лінія, тим складніше відповідність між двома видами. Так якість результату знижується.
  • затвор - завжди використовуйте глобальний затвор для будь-чого з комп’ютерним зором на мобільних роботах
  • роздільна здатність - більшість стерео алгоритмів обчислювально дорогі. І вам, швидше за все, не знадобиться стільки 3-х очок. У найближчому полі щільність вибірки зазвичай достатня, а в далекому полі ваша помилка з низькою невідповідністю є більшою проблемою, ніж щільність вибірки. 640x480 добре в більшості випадків. Деякі мікросхеми мають більш широке співвідношення сторін, що сприятливо для перекриття, але ви можете отримати те саме, використовуючи підвікно своєї мікросхеми.
  • Цілі / поле зору - для мобільних роботів на відкритому повітрі я віддаю перевагу широкому полі зору над вузькими цілями. Більш-менш з тих же причин, що і резолюція. Переконайтесь, що ваші цілі жорсткі та мають засоби для фіксації будь-яких рухомих деталей, наприклад, наприклад, регульована фокусна відстань. У більшості випадків фіксовану фокусну відстань все одно добре, оскільки ви обмежені вибором базової лінії.
  • тригер - коли ви створюєте свою власну стереосистему, ваші камери повинні підтримувати апаратний тригер, а в ідеалі - один запускати інший.
  • рамка - На мій погляд, найменш важливий розгляд. Якщо у вас є багато процесорної потужності, ви все одно не отримаєте набагато більше, ніж щось на зразок 5 Гц. Таким чином, ваш алгоритм набагато частіше буде вузьким місцем, а не мікросхемою чи з'єднанням.
  • інтерфейс - Більшість камер оснащені Firewire / USB2 / USB3 / Ethernet. USB2 марний, оскільки споживає багато процесора. Firewire хороший, якщо у вас є порт, але я думаю, що він, здається, сьогодні знижується на користь USB3. Ще не мали великого досвіду роботи з USB3. Ethernet - це дуже приємно, оскільки зараз ви швидше знайдете вбудовані системи з GigEthernet, ніж USB3.
  • житло - максимально жорстке. Повторне калібрування - це дратівлива процедура.

6

Спершу слід обчислити, скільки кадрів в секунду вам потрібно і яку роздільну здатність камери ви можете обробити в цьому кадрі. Якщо нічого іншого, це не завадить перетратити або придбати камеру, яка не відповідає вашим потребам.

Крім цього, існує безліч особливостей, які роблять вибір складнішим / цікавішим. Різні камери (особливо мережеві камери типу Axis) дозволяють змінити якість зображення або вказати максимальний бітрейт для потоку зображення. Деякі камери також дають можливість вибору швидкості затвора, дозволяючи надавати перевагу постійному часу експозиції або постійному середньому освітленню зображення. Деякі камери більш чутливі, ніж інші (востаннє я працював з цим у 2009 році, і ми помітили, що PS3 Eye справді добре працював в умовах слабкої освітленості).

Можливо, найкраще, що ви можете зробити, - це запустити алгоритми обробки зображень на кількох статичних зображеннях, які ви робите за допомогою DSLR, а потім спробувати зменшити розмір та якість кадру, щоб побачити, де все починає ламатися.


6

Деякі речі, на які слід звернути увагу:

  • Глобальний затвор в основному означає, що всі пікселі потрапляють одночасно, на відміну від затвора, де вони послідовно фіксуються в режимі лінійного сканування. Оскільки ваш UGV буде рухатися навколо та виконувати стерео алгоритми над знімками, які ви знімаєте, може бути важливим, щоб уникнути аберацій, які виникають під час переміщення камери, таких, як ті, які бачать на малюнках нижче (зроблено з Вікіпедії ):

Автомобіль, знятий із фотокамери CMOS, демонструє перекос Фотографія з частковою експозицією.  Умови освітлення змінювались між експозицією верхньої та нижньої частин фотографії. Постріл гвинта турбовикрут

  • Синхронізація камер в апараті досягається деякими камерами, зокрема, брандмауерними камерами AFAIK. Це може значно покращити результати стереосистеми, коли речі рухаються.

  • Монтаж повинен здійснюватися таким чином, що зміни зовнішніх параметрів (відносної пози між камерами) для стереопари навряд чи зміняться після калібрування. У вашій установці це може бути важливішим, оскільки UGV може опинитися на нерівній місцевості на вулиці, і все буде вібрувати.

  • Виділене стерео апаратне забезпечення дозволяє отримувати зображення нерівномірності безпосередньо як вихід вашої системи стерео зору, що полегшує навантаження на ваші вбудовані обчислення. Це також, як правило, набагато швидше, ніж запуск тих самих алгоритмів в програмному забезпеченні.

Як завжди, чим більше ви готові платити, тим краще результати. Якщо чесно, якщо ви зможете придбати повноцінну стереокамеру, таку як Bumblebee2 , це я б зробив. В іншому випадку, якщо ви на дешевшій стороні, я б просто поїхав з Kinect : навряд чи ви зможете отримати систему, яка перевершує її за ту ж ціну.


Питання було для зовнішньої системи. Це фактично виключає Kinect. Крім того, алгоритми, що поставляються з джмелем, далеко не оптимальні, ми знайшли.
Якоб

Я з вами на коментарі Kinect, але хіба не можуть стерео алгоритми, які постачаються з джмелем, замінити власним кодом? Найбільша перевага, яку я зазначив, - це власне обладнання, а не програмне забезпечення, яке входить до нього.
georgebrindeiro

так це правда. Ви можете використовувати його як дві звичайні камери, і він має перевагу жорсткого корпусу.
Якоб

не тільки це, але глобальний затвор, хороші лінзи та інші смаколики
georgebrindeiro

4

Це цікава тема, і не дуже легко дістатись з першої спроби. З досвіду цього, ось найважливіші речі.

  • Синхронізація . Камера повинна бути 100% синхронізована. Наприклад, скажімо, що UGV працює зі скромними 36 км / год (10 м / с) і записує кадри зі швидкістю 30 кадрів в секунду. Тобто, на кожному кадрі UGV покривав би 3м. Скажімо, ваша синхронізація вимкнена на 1 мс, одна з камер вимкнеться на ~ 0,3 м, що погано [просто вгорі голови]. Проблеми з синхронізацією дуже важко виявити.

  • δZ=Z2БfδгδZБfδZδгδг1/2δг

  • Перекриття . Ви хочете мати перекриття між камерами, щоб отримати стерео. Отже, вам потрібно вибрати комбінацію фокусної відстані лінзи (поле зору) та базову лінію, щоб у вас було достатньо перекриття для застосування. В основному, тригонометрія працює на дошці, або швидкий сценарій матлаб / пітон.

Для UGV є два варіанти використання стерео.

  1. Навігація та оцінка пози У цьому випадку вам, ймовірно, потрібна велика базова лінія + довга фокусна відстань. Це дозволяє стерео стерео бачити і вирішувати глибину краще і на більшій відстані.

  2. Виявлення перешкод та їх уникнення Вам, ймовірно, знадобиться коротша базова лінія та ширший об'єктив (менша фокусна відстань), щоб ви могли зосередитись на дуже близьких вам речах.

Деякі UGV можуть мати обидві стереоустановки, велике вузьке поле зору зору для навігації та ще одне-два для уникнення перешкод.

Будьте дуже уважні, що купуєте. Деякі компанії пропонують вже вбудовані стереоустановки. Це чудово на стороні надійності речей, вони не втрачають калібрування легко і завжди синхронізовані. Проблема полягає в тому, що комерційно доступні мають невелику базову лінію. Якщо ви хочете побудувати свій власний. Я здогадуюсь, що ви все-таки зробите це, переконайтеся, що камера синхронізується . Firewire чудово підходить для цього, дві камери на одній шині синхронізуються з точністю 125 мкм. Камери USB та Gige синхронізуються болісно. Збираючи все разом, ви хочете переконатися, що лінзи взагалі не рухаються, а базова лінія жорстка, дуже жорстка для застосування.

Також будьте обережні у підборі лінз. Не всі об'єктиви працюють з усіма камерами. Лінзи теж мають роздільну здатність. Це ще одна тема, ось коротка стаття на цю http://www.qualitymag.com/articles/90642-qa--selecting-lenses-for-machine-vision-systems


4
Ваші обчислення синхронізації неправильні. 30 FPS при 10 м / с дає відстань 33 см (не 3 м) на кадр. Також 1 мс при цій швидкості означає відстань 1 см (незалежно від FPS). Отже синхронізація на рівні мс - це супер результат насправді для таких швидкостей!
Козуч
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.