Руби 3D длабинска камера
Руби 3D длабинска камера
Упатство за употреба
(v1.0) 28 септември 2022 година
ВИЗОНИ ТЕХНОЛОГИИ
Nerian Vision GmbH Zettachring 2
70567 Штутгарт Германија
Е-пошта: service@nerian.com www.nerian.com
Содржини
1 Функционалноста завршиview
4
2 Вклучени делови
4
3 Општи спецификации
4
3.1 Детали за хардверот. . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2 Стерео совпаѓање . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.3 Стапки на слики и резолуции. . . . . . . . . . . . . . . . . . . 5
4 Ласерска безбедност
5
5 Механички спецификации
6
5.1 Димензии . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.2 Монтирање . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.3 Температура . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
6 Физички интерфејси
9
6.1 Преку интерфејсview . . . . . . . . . . . . . . . . . . . . . . . . . 9
6.2 Напојување . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6.3 GPIO порта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6.3.1 Излез на активирањето . . . . . . . . . . . . . . . . . . . . . . . 11
6.3.2 Влез за активирање . . . . . . . . . . . . . . . . . . . . . . . . 11
6.3.3 Импулс за синхронизација (PPS) . . . . . . . . . . . . . . . . 11
6.4 Копче за ресетирање . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
6.5 Статусни LED диоди. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
7 Резултати од обработката
13
7.1 Поправени слики. . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7.2 Карти на диспаритет . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7.3 Проекција на слика во боја . . . . . . . . . . . . . . . . . . . . . . . 16
7.4 Тајмстamps и низа броеви . . . . . . . . . . . . . . . . 16
8 Мрежна конфигурација
17
8.1 Конфигурација на IP. . . . . . . . . . . . . . . . . . . . . . . . . . 17
8.2 Џамбо рамки . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
9 Конфигурација
19
9.1 Статус на системот . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
9.2 Поставки. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
9.3 Предview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
9.4 Поставки за стекнување. . . . . . . . . . . . . . . . . . . . . . . . . 23
9.4.1 Поставки за формат . . . . . . . . . . . . . . . . . . . . . . . 23
9.4.2 Стапка на слики. . . . . . . . . . . . . . . . . . . . . . . . . 24
1
9.4.3 Контрола на изложеност. . . . . . . . . . . . . . . . . . . . . . 24 9.4.4 Контрола на балансот на белата боја . . . . . . . . . . . . . . . . . . . 24 9.5 Мрежни поставки . . . . . . . . . . . . . . . . . . . . . . . . . . 25 9.6 Излезни канали . . . . . . . . . . . . . . . . . . . . . . . . . . 26 9.7 Одржување . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 9.8 Калибрација . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 9.8.1 Табла за калибрација . . . . . . . . . . . . . . . . . . . . . . 29 9.8.2 Ограничување на големината на сликата за калибрација. . . . . . . . 30 9.8.3 Рамки за калибрација за снимање . . . . . . . . . . . . . . . 31 9.8.4 Изведување на калибрација . . . . . . . . . . . . . . . . . . . 31 9.9 Поставки за обработка . . . . . . . . . . . . . . . . . . . . . . . . . 32 9.9.1 Режим на работа . . . . . . . . . . . . . . . . . . . . . . 32 9.9.2 Поставки за диспаритет . . . . . . . . . . . . . . . . . . . . . . 33 9.9.3 Поставки за алгоритам . . . . . . . . . . . . . . . . . . . . . 33 9.10 Напредни поставки за автоматска експозиција и добивка. . . . . . . . . . . 35 9.10.1 Изложеност и добивка . . . . . . . . . . . . . . . . . . . . . 35 9.10.2 Рачни поставки . . . . . . . . . . . . . . . . . . . . . . . 36 9.10.3 Поставки за рентабилност . . . . . . . . . . . . . . . . . . . . . . . . 37 9.11 Поставки за активирање . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 9.12 Временска синхронизација . . . . . . . . . . . . . . . . . . . . . . . 38 9.13 Reviewкалибрација резултати . . . . . . . . . . . . . . . . . . . 39 9.14 Автоматска повторна калибрација . . . . . . . . . . . . . . . . . . . . . . . . . 41 9.15 Регион од интерес . . . . . . . . . . . . . . . . . . . . . . . . . . 42 9.16 Инерцијална мерна единица . . . . . . . . . . . . . . . . . . . . . 43 9.16.1 Калибрација на инерцијалната мерна единица . . . . . . . 44
10 Информации за користење на API
45
10.1 Општи информации. . . . . . . . . . . . . . . . . . . . . . . . 45
10.2 Трансфер на слика Прampле . . . . . . . . . . . . . . . . . . . . . . 45
10.3 AsyncTransfer Прampле . . . . . . . . . . . . . . . . . . . . . . 47
10.4 3D реконструкција . . . . . . . . . . . . . . . . . . . . . . . . . 48
10.5 Параметри . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
11 Испорачан софтвер
49
11.1 NVCom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
11.2 GenICam GenTL Производител . . . . . . . . . . . . . . . . . . . . 50
11.2.1 Инсталација . . . . . . . . . . . . . . . . . . . . . . . . . 50
11.2.2 Виртуелни уреди . . . . . . . . . . . . . . . . . . . . . . . 51
11.2.3 ИД на уреди . . . . . . . . . . . . . . . . . . . . . . . . . . 52
11.3 ROS јазол . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
12 Поддршка
52
13 Информации за гаранцијата
53
2
14 Информации со отворен код
53
3
3 ОПШТИ СПЕЦИФИКАЦИИ
1 Функционалноста завршиview
Руби е длабинска камера базирана на стерео-визија. Неговите два монохроматски сензори за слика снимаат сцена на малку поинаква viewпозиции. Со корелација на податоците за сликата од двата сензори за слика, Руби може да ја заклучи длабочината на секоја набљудувана точка. Пресметаната мапа на длабочина се пренесува преку 1G етернет до поврзан компјутер или друг вграден систем. Дополнителен сензор за боја се користи за снимање информации за бојата, а сликата во боја автоматски се порамнува со податоците за длабочина.
Руби може да врши мерења активно или пасивно. За активни мерења, ласерски проектор се користи за проектирање на шема на видливи површини. Ова им овозможува на предметите да се мерат дури и ако имаат униформа и без текстура изглед.
Во ситуации кога проектираната шема не може да се набљудува, поради силна амбиентална светлина, долги мерни растојанија или затоа што проекторот е оневозможен, мерењата сè уште може да се добиваат пасивно. Во случај на пасивни мерења, потребна е доволна текстура на површината за да се добијат точни резултати.
2 Вклучени делови
Следниве делови треба да се вклучат кога нарачувате нова Ruby 3D камера за длабочина од Nerian Vision Technologies:
· Ruby 3D длабинска камера · 12 V DC напојување со заменливи мрежни конектори за Eu-
јаже, Северна Америка, Обединетото Кралство и Австралија · Печатено упатство за употреба · Етернет кабел, 3 m
Ако некој од овие ставки недостасува, тогаш ве молиме контактирајте со поддршката за корисници.
3 Општи спецификации
3.1 Детали за хардверот
Сензор за слика Резолуција на слика Формат на сензор Фокусна должина Поле на View Проектор со шема на бленда
IMX296 1.5 MP 1/2.9″ 4.18 mm 62.2° × 48.8° (74.0° дијагонално) 3.0 ласер со случајни точки (класа 1)
4
3.2 Стерео совпаѓање
4 ЛАСЕРСКА БЕЗБЕДНОСТ
Бранова должина на проекторот Инертен сензор (IMU) Макс. Стапка на мерење на IMU Напојување Потрошувачка на енергија Димензии Тежина В/И Работна температура Сообразност
830 nm BNO085 400 Hz (магнетометар: 100 Hz) 11.2 30 V DC 9W 130 × 92.5 × 34.5 mm околу. 450 g Gigabit Ethernet, GPIO 0 40°C CE, FCC, UKCA, RoHS, Laser class 1
3.2 Стерео совпаѓање
Стерео алгоритам Максимална резолуција Поддржани формати на пиксели Опсег на диспаритет Брзина на слики Резолуција на подпиксели Постобработка
Варијација на полуглобално совпаѓање (SGM) 1440 × 1056 пиксели Mono8, Mono12, RGB8 32 до 256 пиксели до 60 fps 4 бита (1/16 пиксели) Проверка на конзистентност, проверка на уникатност, интерполација на јазот, намалување на шум на филтрирање,
3.3 Достижни стапки на слики и резолуции на слики
Максималната стапка на слики што може да се постигне зависи од конфигурираната резолуција на сликата и опсегот на диспаритет. Табела 1 дава листа на препорачани конфигурации. Ова е само подмножество од достапниот простор за конфигурација. Различните резолуции на слики и опсегот на нееднаквост може да се користат за да се исполнат специфичните барања на апликацијата.
Табела 1: Максимална стапка на слики според резолуцијата на сликата и опсегот на диспаритет.
Опсег на диспаритет
128 пиксели 256 пиксели
Резолуција на слика 720×512 1024×768 1440×1026
60 fps n/a
30 fps 17 fps
15 fps 8 fps
4 Ласерска безбедност
Руби содржи инфрацрвен ласерски проектор кој не е видлив за човечкото око. Ласерот е во согласност со меѓународните стандарди IEC 60825-1:2014 и DIN EN 60825-1:2015 за класа 1. Затоа, ласерот се смета за безбеден за очите и не се потребни безбедносни мерки на претпазливост.
5
5 МЕХАНИЧКИ СПЕЦИФИКАЦИИ
Слика 1: Ласерска етикета на долната страна на Руби.
Известувањето за ласер од класа 1 може да се најде на етикетата на производот на долната страна на уредот. Оваа ознака е прикажана на Слика 1.
Сите промени или модификации направени на системот кои не се изрично одобрени од производителот може да го поништат овластувањето на корисникот да работи со опремата.
5 Механички спецификации
5.1 Димензии
На сликите 2 и 3 е прикажан Руби гледан од различни насоки. Обезбедените димензии се мерат во милиметри.
5.2 Монтирање
Куќиштето на Ruby има две држачи за монтирање на страните на уредот. Секој држач за монтирање има две отвори со дупчиња, што овозможува Ruby да се монтира на рамна површина. Димензиите и поставеноста на отворите со дупчиња се дадени на слика 2б.
Покрај тоа, Руби има дупка со навој од 1/4" UNC на долната страна. Ова овозможува Ruby да се монтира на стандарден статив за камера.
5.3 Температура
Руби може да се ракува без дополнителни мерки на амбиентални температури помеѓу 0°C и 40°C. Доколку е потребна работа на повисока температура на околината, мора да се преземат дополнителни мерки за ладење. Таквите мерки може да се состојат од монтирање на Ruby на термички спроводлива површина и/или користење вентилатор за да се зголеми протокот на воздух. Ве молиме следете ги температурните сензори на уредот (видете дел 9.1) кога работите со Ruby на такви покачени температури на околината.
6
5.3 Температура
5 МЕХАНИЧКИ СПЕЦИФИКАЦИИ
(а) Предна страна view
(б) Врв view
Слика 2: (а) Преден и (б) врв view од Рубин со димензии во милиметри.
7
5.3 Температура
5 МЕХАНИЧКИ СПЕЦИФИКАЦИИ
(а) Назад view
(б) Дното view
Слика 3: (а) Назад и (б) дното view од Рубин со димензии во милиметри.
8
6 ФИЗИЧКИ ИНТЕРФЕЈСИ
Слика 4: Достапни интерфејси на задната страна.
6 Физички интерфејси
6.1 Преку интерфејсview
Слика 4 ги прикажува достапните физички интерфејси на задната страна на Руби. Овие интерфејси се: Приклучок за DC напојување: Се поврзува со напојување во рамките на дозволеното
кнtage опсег (види Дел 6.2). GPIO порта: излегува сигнал за активирање или го синхронизира Ruby со надворешен
извор на активирање. Функционира и како влез за пулсот за синхронизација на времето (види Дел 6.3). Етернет порта: Порт за поврзување на Ruby со клиентски компјутер или друг вграден систем преку 1G етернет. Оваа порта се користи за доставување резултати од обработката и за обезбедување пристап до конфигурацискиот интерфејс. Копче за ресетирање: Копче за ресетирање на фирмверот на уредот назад во фабричка состојба (видете Дел 6.4). ЛЕД за напојување: Зелена ЛЕД што покажува дека уредот е вклучен. ЛЕД за статус на врска (зелена): Покажува дали етернет врската е успешно воспоставена (види Дел 6.5) LED за статусот на аквизиција (портокалова): Ја означува состојбата на стекнување слика и известува за потенцијални дефекти на ласерот (види Дел 6.5).
9
6.2 Напојување
6 ФИЗИЧКИ ИНТЕРФЕЈСИ
1 6
Доделување на пинови 1 Влез за активирање (опто-изолиран) 2 Влез за синхронизација (опто-изолиран) 3 Излез за активирање (опто-изолиран) 4 Opto GND 5 +5V 6 GND
Слика 5: Доделување пинови на GPIO конекторот.
6.2 Напојување
Приклучокот за напојување треба да се поврзе со испорачаниот адаптер за напојување или со друг соодветен волtagе извор. Кога користите алтернативно напојување, проверете дали волtage е во дозволениот опсег од 11.2 – 30 V DC. Higher voltages може да го оштети уредот. Напојувањето треба да биде оценето за најмалку 10 W.
Приклучокот за напојување користи женски приклучок за буре со внатрешен дијаметар од 6.5 mm и дијаметар на пиновите од 2 mm. Приклучокот за парење треба да има надворешен дијаметар од 5.5 mm. Поларитетот мора да биде централно позитивен.
6.3 GPIO порта
GPIO портата обезбедува пристап до следните сигнали:
· Излез на активирањето
· Влез за активирање
· Пулс за синхронизација (PPS)
· +5V DC излез
Сите влезни и излезни сигнали за податоци се поврзани преку опто-спојки. Оттука, пинот Opto GND мора да се користи како референца за заземјување за сите сигнали.
Покрај влезните/излезни сигнали, Ruby обезбедува излез од 5V DC, кој може да испорача струја до 100 mA. Ако се надмине тековната граница, излезната енергија ќе се исклучи.
GPIO конекторот користи женски конектор од серијата Molex Micro-Lock Plus 505567. Доделувањето на пиновите е прикажано на Слика 5. Следните броеви на делови од производителот одговараат на соодветните конектори и треба да се користат за поврзување:
45111-0606 204532-0601
Соодветен конектор со кабел од 600 mm Соодветен конектор без кабли
Карактеристиките на секој поединечен влез/излезен сигнал се опишани во следните потсекции.
10
6.3 GPIO порта
6 ФИЗИЧКИ ИНТЕРФЕЈСИ
Излез за активирање 6
1
Опто ГНД
4
3
TLP293
ГНД
Слика 6: Шема на излезното коло на активирањето
6.3.1 Излез на активирањето
Во апликацијата за машинско визија, можеби ќе биде потребно да се синхронизираат други сензори или осветлување (на пр. проектор за шаблони) со стекнување слика на Руби. За таа цел, Ruby може да емитува сигнал за активирање на отворен колектор на GPIO пинот 3. Сигналот е изолиран преку опто-спојувач како што е прикажано на дијаграмот на колото на Слика 6.
Апсолутните максимални оценки на опто-спојувачот се:
Колектор-емитер кнtagе: макс. 80 В
Емитер-колектор кнtagе: макс. 7 В
Струја на колектор:
макс. 50 mA
Дисипација на моќта на колекторот: макс. 100 mW
Ве молиме погледнете го делот 9.11 за повеќе детали за тоа како да го конфигурирате излезот на активирањето.
6.3.2 Влез за активирање
Наместо да синхронизира друга опрема со преземањето слика на Ruby, Ruby може исто така да го синхронизира своето стекнување слика со надворешен извор на активирање, користејќи го влезниот сигнал за активирање на пинот 1.tagНивото на влезниот сигнал за активирање мора да биде помеѓу 3.3 V и 24 V. Руби троши 2 mA струја на овој сигнал. Ве молиме погледнете го делот 9.11 за повеќе детали за тоа како да го конфигурирате влезот на активирањето.
6.3.3 Импулс за синхронизација (PPS)
Пулсот за синхронизација од пиновите 2 е влезен сигнал кој може да се користи за синхронизирање на внатрешниот часовник на Руби со голема прецизност. Секогаш кога ќе се прими позитивен раб на сигналот, Ruby може или да го ресетира своето внатрешно време на 0 или да го зачува тековното време на системот и да го пренесе со следната рамка. волtage од овој пулс мора да биде помеѓу 3.3 и 24 V. Во типична апликација, пулсот се генерира од извор на пулс во секунда (PPS).
Ве молиме погледнете го делот 9.12 за детали за тоа како да го конфигурирате пулсот за синхронизација и други методи за синхронизација како што се PTP или NTP.
11
6.4 Копче за ресетирање
6 ФИЗИЧКИ ИНТЕРФЕЈСИ
6.4 Копче за ресетирање
На задната страна на уредот има вдлабнато копче за ресетирање. Копчето се користи за ресетирање на фирмверот на Ruby во фабричка состојба. Треба да се изврши ресетирање ако уредот не реагира поради погрешна конфигурација или оштетување на фирмверот. Кога ќе започне процедурата за ресетирање, сите конфигурации, калибрација и инсталирани ажурирања на фирмверот се губат.
За да започнете ресетирање, нежно притиснете го копчето со игла додека уредот е исклучен. Потоа приклучете го напојувањето додека го држите копчето притиснато и отпуштете го копчето кратко потоа.
Постапката за ресетирање ќе бара неколку минути за да се заврши. Откако ќе заврши ресетирањето, уредот ќе започне нормално и ќе може да се открие на мрежата со стандардната IP адреса. Можете да ја користите апликацијата NVCom (види Дел: 11.1) за да следите кога уредот ќе стане откриен откако ќе заврши ресетирањето.
6.5 LED диоди за статус
Уредот содржи три статусни LED диоди, како што е прикажано на Слика 4:
ЛЕД за напојување (зелена): ЛЕД-то за напојување свети зелено кога уредот е вклучен.
LED статус на врската (зелена): Покажува дали етернет врската е успешно воспоставена. Ако ЛЕР не светне по поврзувањето на кабелот за етернет, тогаш ве молиме проверете го кабелот за оштетувања и уверете се дека далечинскиот систем (прекинувачот или компјутерот домаќин) работи.
LED за статусот на стекнување (портокалова): Оваа LED ја известува состојбата на стекнување слика и можните ласерски дефекти:
Исклучено: Стекнувањето слики сè уште не е започнато. Ова е случај ако уредот сè уште се подига. Ве молиме проверете го web интерфејс за грешки (види Дел 9.1), ако ЛЕД-то остане исклучено повеќе од неколку минути по вклучувањето.
Трепка: Добивањето слики е успешно започнато и уредот работи според планираното.
Постојано вклучено: Откриен е дефект на ласерот и ласерскиот проектор е исклучен. Ве молиме контактирајте со поддршката за да го решите овој неуспех.
12
7 РЕЗУЛТАТИ ОД ОБРАБОТКАТА
(а)
(б)
Слика 7: Прample за (а) неисправена и (б) исправена слика од камерата.
7 Резултати од обработката
7.1 Поправени слики
Дури и со прецизно порамнетите сензори за слика на Ruby, веројатно нема да добиете слики што одговараат на очекуваниот резултат од идеална стерео камера. Сликите се под влијание на различни изобличувања кои се резултат на грешки во оптиката и поставувањето на сензорот. Затоа, првиот чекор на обработка што се изведува е операција за неизобличување на сликата, која е позната како исправка на сликата.
Поправката на сликата бара прецизно познавање на проективните параметри на поставувањето на камерата. Тие можат да се утврдат преку калибрација на камерата. Ве молиме погледнете во Дел 9.8 за детално објаснување на постапката за калибрација на камерата. Руби ќе биде испорачан претходно калибриран и вообичаено нема да биде потребна повторна калибрација во текот на животниот век на уредот.
Слика 7а покажува прampСлика од камерата, каде што камерата беше насочена кон табла за калибрација. Рабовите на плочата изгледаат малку закривени, поради радијалните изобличувања предизвикани од оптиката на камерата. Слика 7б ја прикажува истата слика по исправката на сликата. Овој пат, сите рабови на таблата за калибрација изгледаат совршено исправени.
7.2 Карти на диспаритет
Резултатите од стерео совпаѓањето се испорачуваат во форма на карта на диспаритет од перспектива на левата монохроматска камера. Мапата на диспаритет го поврзува секој пиксел на сликата на левата камера со соодветен пиксел на сликата на десната камера. Бидејќи и двете слики беа претходно поправени за да одговараат на идеалната геометрија на стерео камерата, соодветните пиксели треба да се разликуваат само во нивните хоризонтални координати. Така, мапата на диспаритет кодира само хоризонтална координатна разлика.
13
7.2 Карти на диспаритет
7 РЕЗУЛТАТИ ОД ОБРАБОТКАТА
(а)
(б)
Слика 8: Прample за (а) лева слика од камерата и соодветна карта на диспаритет.
ExampЛезите за слика од левата камера и соодветната карта на диспаритет се прикажани на сликите 8а и 8б. Овде картата на диспаритет е кодирана во боја, со сини нијанси што одразуваат мали разлики, а црвените нијанси што одразуваат големи разлики. Како што може да се види, диспаритетот е пропорционален на обратната длабочина на соодветната точка на сцената.
Опсегот на диспаритет го одредува регионот на сликата што се бара за наоѓање кореспонденција на пиксели. Големиот опсег на диспаритет овозможува многу прецизни мерења, но предизвикува големо пресметковно оптоварување и на тој начин ја намалува остварливата стапка на слики. Ruby поддржува конфигурирачки опсег на диспаритет (види Дел 9.9), кој му овозможува на корисникот да избира помеѓу мерења со голема прецизност или со голема брзина.
Можно е да се трансформира картата на диспаритет во збир од 3D точки. Ова може да се направи на правилна метричка скала ако системот е правилно калибриран. Трансформацијата на мапата на диспаритет во збир од 3Д точки бара познавање на матрицата за мапирање диспаритет до длабочина Q, која се пресметува за време на калибрацијата на камерата и ја пренесува Руби заедно со секоја карта на диспаритет. 3Д локацијата xyz T на точка со координати на сликата (u, v) и диспаритет d може да се реконструира на следниов начин:
xy =
z
1 w
x · y,
z
со
x
u
y
z
=
Q
·
v
d
w
1
Кога се користи матрицата Q обезбедена од Руби, примените координати ќе се мерат во метри во однос на координатниот систем прикажан на Сл.
14
7.2 Карти на диспаритет
z (оптичка оска)
7 РЕЗУЛТАТИ ОД ОБРАБОТКАТА
x
y
Слика 9: Координатен систем што се користи за 3D реконструкција.
ure 9. Овде, потеклото се совпаѓа со центарот на проекција на објективот (локацијата на отворот во моделот на камерата со дупчиња) за левата монохроматска камера. Ефикасна имплементација на оваа трансформација е обезбедена со достапниот API (види Дел 10.4).
Руби пресметува мапи на диспаритет со резолуција на диспаритет што е под еден пиксел. Мапите на диспаритет имаат длабочина на битови од 12 бита, при што долните 4 бита од секоја вредност ја претставуваат компонентата на фракционата диспаритет. Затоа, потребно е секоја вредност во картата на диспаритет да се подели со 16, за да се добие точната големина на диспаритет.
Руби применува неколку техники за пост-обработка со цел да го подобри квалитетот на мапите на диспаритет. Некои од овие методи откриваат погрешни разлики и ги означуваат како неважечки. Неважечките разлики се поставени на 0xFFF, што е највисоката вредност што може да се зачува во 12-битна мапа на диспаритет. Во ексampВо картата на диспаритет од Слика 8б, невалидните разлики се прикажани како сива боја.
Ве молиме имајте предвид дека обично има лента од неважечки разлики на левата граница на сликата на картата на диспаритет. Ова однесување е очекувано бидејќи картата на диспаритет се пресметува од перспектива на левата камера. Регионите на сликата на левиот раб на сликата на левата камера не може да се набљудуваат од десната камера и затоа не може да се пресмета валидна разлика. Колку подалеку се наоѓа објектот, толку подалеку треба да биде, за да биде видлив и за десната камера. Оттука, целосниот опсег на длабочина може да се набљудува само за левите пиксели на сликата со хоризонтална координата на сликата u dmax.
Слично на тоа, може да се очекува да се појават невалидни разлики лево на кој било објект во преден план. Овој неважечки регион налик на сенка е предизвикан од затнувањето на видливата позадина на десната слика од камерата, но не и на левата слика од камерата. Овој ефект е познат како оклузивна сенка и е јасно видлив во дадениот прampле слика.
15
7.3 Проекција на слика во боја
7 РЕЗУЛТАТИ ОД ОБРАБОТКАТА
(а)
(б)
Слика 10: Прampле за (а) карта на диспаритет и (б) проектирана слика во боја со артефакт.
7.3 Проекција на слика во боја
Левиот монохроматски сензор се користи како референтна камера за пресметување на длабочина. Иако сензорот за боја е поставен веднаш до него, ќе има паралакса (очигледно оптичко поместување) помеѓу сликата во боја и мапата на диспаритет / левата монохроматска слика.
Ова поместување може да се компензира со проектирање на сликата во боја назад во view на референтната камера. Откако ќе се изврши оваа проекција, соодветните точки на сликата помеѓу левата монохроматска слика, картата на диспаритет и сликата во боја ќе имаат идентични координати на сликата, а сите три слики може директно да се преклопат.
Руби е способен автоматски да ја изврши оваа проекција. Проекцијата зависи од мерењата на длабочината и за жал не е совршена. Ова значи дека треба да се очекуваат некои визуелни артефакти. Количината на артефакти силно зависи од квалитетот на мерењето на длабочината. Особено рабовите на предметите можат да бидат погодени од артефакти.
Зголемена потсекција на ексampСликата во боја и мапата на длабочина што го прикажуваат овој ефект може да се видат на Слика 10. Во случаи кога паралаксата помеѓу мерењата на длабочината и сликата во боја се прифатливи, артефактите може да се избегнат со оневозможување на оваа проекција. За повеќе детали, погледнете во Дел 9.6.
7.4 Тајмстamps и низа броеви
Секој сет на слики што го пренесува Руби, исто така вклучува и временски периодamp и низен број. Времетоamp се мери со точност во микросекунда и е поставено на времето во кое сензорите за слика почнаа да изложуваат рамка.
16
8 КОНФИГУРАЦИЈА НА МРЕЖАТА
Оттука, секогаш треба да се земе предвид времето на експозиција кога се обидувате да го измерите доцнењето на сензорот.
Како што е објаснето во деловите 6.3.3 и 9.12, можно е да се синхронизира внатрешниот часовник на Руби со надворешен сигнал или временски сервер. Ова директно влијае на произведеното време улampс. Кога се синхронизира со временски сервер, времето улamps се мерат во микросекунди од 1 јануари 1970 година, 00:00:00 UTC. Ако не се изврши синхронизација, внатрешниот часовник е поставен на 0 при вклучување. Кога се синхронизирате со надворешен PPS сигнал, како што е објаснето во Дел 6.3.3, часовникот е поставен на 0 на работ на влезниот растечки сигнал.
Ве молиме имајте предвид дека синхронизацијата со PPS сигнал, исто така, произведува негативен временски периодampс. Ова се случува кога ќе се прими сигнал за синхронизација додека Руби обработува веќе снимен пар слики. Негативното времеamp тогаш е временската разлика помеѓу приемот на сигналот за синхронизација и времето на снимање на тековниот пар на слики.
8 Мрежна конфигурација
Се препорачува да го поврзете Ruby директно со етернет-портата на компјутерот-домаќин, без никакви прекинувачи или хабови помеѓу нив. Ова е затоа што Ruby произведува мрежни податоци со многу висока пропусност, што може да доведе до губење на пакети кога се користат мрежни прекинувачи кои не можат да ги исполнат бараните перформанси. Мора да се осигура дека мрежниот интерфејс на компјутерот домаќин може да се справи со брзина на дојдовни податоци од 900 MBit/s.
Потребните поставки за мрежна конфигурација за компјутерот домаќин се опишани во следните потсекции.
8.1 Конфигурација на IP
Стандардно, Руби ќе ја користи IP адресата 192.168.10.10 со маска на подмрежа 255.255.255.0. Меѓутоа, ако на мрежата е присутен DHCP сервер, може да му додели друга адреса на Ruby. Во овој случај, користете го обезбедениот софтвер NVCom за откривање на уредот (видете Дел 11.1).
Ако нема друг DHCP сервер на мрежата, Ruby ќе започне свој DHCP сервер. Ова значи дека ако вашиот компјутер е конфигуриран да користи динамична IP адреса, компјутерот автоматски ќе добие IP адреса во правилната подмрежа и не е потребна дополнителна конфигурација.
Ако вашиот компјутер не е конфигуриран да користи динамична IP адреса или интегрираниот DHCP сервер на Ruby е оневозможен, тогаш треба рачно да ја конфигурирате вашата IP адреса. За Windows 10, следете ги овие чекори:
1. Кликнете на Start Menu > Settings > Network and Internet > Ethernet > Change адаптер опции.
2. Десен-клик на саканата етернет конекција.
17
8.2 Џамбо рамки
8 КОНФИГУРАЦИЈА НА МРЕЖАТА
3. Кликнете на „Карактеристики“
4. Изберете „Интернет протокол верзија 4 (TCP/IPv4)“.
5. Кликнете на „Карактеристики“.
6. Изберете „Користете ја следнава IP адреса“.
7. Внесете ја саканата IP адреса (192.168.10.xxx).
8. Внесете ја маската на подмрежата (255.255.255.0).
9. Притиснете ОК.
За Linux, користете ги следните команди за привремено да ја поставите IP адресата 192.168.10.xxx на мрежниот интерфејс eth0: sudo ifconfig eth0 192.168.10.xxx netmask 255.255.255.0
8.2 Џамбо рамки
За максимални перформанси, Ruby треба да биде конфигуриран да користи Jumbo Frames (види Дел 9.5). Стандардно, поддршката за Jumbo Frame може да не е овозможена во испорачената конфигурација, бидејќи тоа бара соодветна конфигурација на мрежниот интерфејс на компјутерот домаќин.
Ако Руби е достапен преку web интерфејс и откриен во списокот на уреди (на пр. во NVCom, види Дел 11.1), но не се примаат податоци за сликата (0 fps), ова може да укаже дека Jumbo Frames се активирани во Ruby, но мрежната врска на соодветниот клиентски компјутер не е правилно конфигуриран да ги прифати.
За да ја активирате поддршката за Jumbo Frame во Windows 10, следете ги овие чекори:
1. Отворете „Центар за мрежи и споделување“
2. Отворете го дијалогот за својства на саканата мрежна врска
3. Притиснете го копчето „Конфигурирај…“
4. Отворете го јазичето „Напредно“.
5. Изберете „Jumbo Packet“ и изберете ја саканата големина на пакетот (види Слика 11)
Забележете дека за разлика од Линукс, некои мрежни драјвери за Виндоус исто така го сметаат заглавието на етернет од 14 бајти како дел од големината на пакетот. Кога го конфигурирате Ruby да користи MTU од 9000 бајти, компјутерот со Windows може да бара големина на пакет од 9014 бајти.
На Linux, поддршката за Jumbo Frame може да се активира со поставување на доволно голем MTU, преку командата ifconfig. За конфигурирање на MTU од 9000 бајти за интерфејс eth0, ве молиме користете ја следнава командна линија:
18
9 КОНФИГУРАЦИЈА
Слика 11: Конфигурација на Jumbo Frames во Windows > sudo ifconfig eth0 mtu 9000 Ве молиме имајте предвид дека името на интерфејсот може да се разликува од eth0, особено во поновите изданија на Linux. MTU се доделува автоматски според поставките на Ruby Jumbo Frame секогаш кога компјутерот Linux добива конфигурација од активен Ruby DHCP сервер (види Дел 9.5). На Windows, автоматското доделување MTU не работи, бидејќи Windows не ја поддржува оваа функција.
9 Конфигурација
Руби е конфигуриран преку a web интерфејс, до кој може да се дојде со внесување на нејзината IP адреса во вашиот прелистувач. Стандардната адреса е http://192.168.10.10, но ако е присутен DHCP сервер на мрежата, тој може да додели друга адреса на Ruby (види Дел 8.1). Во овој случај, користете го обезбедениот софтвер NVCom за откривање на уредот (видете Дел 11.1).
Ако Руби штотуку е приклучен, ќе потрае неколку секунди пред да web интерфејсот е достапен. За користење на web интерфејс, потребен ви е прелистувач со поддршка за HTML 5. Користете неодамнешна верзија на еден од главните прелистувачи, како што се Chrome, Firefox, Safari или Edge.
На web-интерфејсот е поделен на два дела: Општи поставки и Ad19
9.1 Статус на системот
9 КОНФИГУРАЦИЈА
Слика 12: Слика од екранот на страницата за статус на конфигурација.
напредни поставки. Страниците со општи поставки ги содржат најчесто приспособените параметри. Измената само на овие параметри треба да биде доволна за повеќето апликации. Поретко приспособените параметри кои би можеле да бидат релевантни за многу специфични апликации може да се најдат на страниците за напредни поставки.
9.1 Статус на системот
Првата страница што ја гледате при отворањето на web интерфејсот е страницата „статусот на системот“ што е прикажана на Слика 12. На оваа страница, можете да ги најдете следните информации:
Модел: Името на моделот за вашиот уред.
Статус на калибрација: Обезбедува информации за тоа дали системот е правилно калибриран.
Статус на обработка: Покажува дали подсистемот за обработка на слики е стартуван. Ако ова не е случај, тогаш можеби има проблем со конфигурацијата или можеби се појавила системска грешка. Во овој случај, ве молиме консултирајте се со системските дневници. Подсистемот за обработка на слики ќе се стартува веднаш штом ќе се реши причината за грешката.
SOC температура: Температурата на централниот System-on-Chip (SoC) што ги извршува сите задачи за обработка. Максималната работна температура
20
9.2 мемории
9 КОНФИГУРАЦИЈА
Слика 13: Слика од екранот на страницата за претходно поставени конфигурации.
за употребениот SoC е на 100 C. Се применува зелено-портокалово-црвена боја-кодирање за да сигнализира добри, алармантни и критични температури.
Лев/десен/сензор за слика во боја: Температури на чипот за левиот, десниот и сензорот за слика во боја. Максималната работна температура за сензорите за слика е 75 C. Како и за температурата SOC, се применува зелено-портокалово-црвена боја кодирање.
Системски дневници: Список на пораки од системски дневници подредени по време. При редовно работење, ќе најдете информации за тековните перформанси на системот. Во случај на грешки, системските дневници содржат соодветни пораки за грешка.
9.2 мемории
Достапни се различни конфигурациски поставки за избрани комбинации на резолуција на сликата и стапка на слики. Употребата на претходно поставено е многу препорачливо, бидејќи ќе гарантира оптимална употреба на перформансите на Ruby.
Слика 13 ги прикажува претходно поставените поставки web-страница за интерфејс. Вчитувањето на претходно поставено ќе ги измени само параметрите што се релевантни за дадена конфигурација. Другите параметри нема да се менуваат. Ако сите параметри треба да се постават на претпочитаната стандардна вредност, се препорачува прво да се изврши ресетирање на конфигурацијата (види Дел 9.7) и потоа да се вчита саканата меморираност.
21
9.3 Предview
9 КОНФИГУРАЦИЈА
Слика 14: Слика од екранот на конфигурацијата предview страница.
9.3 Предview
Преview страница, која е прикажана на Слика 14, обезбедува живо предview на моментално пресметаната карта на диспаритет. Ве молиме проверете дали вашата мрежна конекција го поддржува високиот пропусен опсег што е потребен за пренос на видео податоци (видете Дел 8.2). За користење на предview страница, потребна ви е директна мрежна врска со Ruby. Не може да се користи помеѓу прокси-сервер или рутер кој врши превод на мрежна адреса (NAT).
При отворањето на предview страница, Руби престанува да пренесува податоци за слики на кој било друг домаќин. Преносот продолжува веднаш штом прозорецот на прелистувачот е затворен, корисникот го притиска копчето за пауза под предview област или ако корисникот се движи на друга страница. Само еден отворен пример од предview страница, или која било друга страница што пренесува видео податоци во прелистувачот, е дозволена во исто време. Ако се обиде да отвори повеќе од еднаш, само еден пример ќе добие податоци.
Преview што е прикажано во прелистувачот не го одразува целосниот квалитет на пресметаната карта на диспаритет. Особено, брзината на слики е ограничена на 20 fps и прецизноста на подпиксели не е достапна. За да добиете целосен квалитет предview, ве молиме користете ја апликацијата NVCom, која е опишана во Дел 11.1.
Различни шеми за кодирање на бои може да се изберат преку паѓачката листа под предview област. Надесно е прикажана скала на бои, која обезбедува информации за мапирањето помеѓу боите и вредностите на разликите. Можното
22
9.4 Поставки за стекнување
9 КОНФИГУРАЦИЈА
Слика 15: Слика од екранот на конфигурациската страница за поставките за стекнување.
шеми на бои се:
Виножито: Шема на бои на виножито со ниски бранови должини што одговараат на високи разлики и високи бранови должини што одговараат на ниски разлики. Невалидните разлики се прикажани во сива боја.
Црвено / сино: Градиент од црвено кон сино, со црвени нијанси што одговараат на високи разлики и сини нијанси што одговараат на ниски разлики. Невалидните разлики се прикажани во црно.
Необработени податоци: необработени податоци за разлика без кодирање во боја. Интензитетот на пикселот се совпаѓа со целобројната компонента на измерениот диспаритет. Неважечките разлики се прикажани во бело.
9.4 Поставки за стекнување
Најрелевантните параметри за стекнување слика се наведени на страницата за поставки за стекнување што е прикажана на Слика 15. Оваа страница е поделена на три различни области.
9.4.1 Поставки за формат Овој дел ги опфаќа сите поставки поврзани со форматот на сликата. Наместо да ги менувате поставките за формат поединечно, препорачавме да користите претходно поставено
23
9.4 Поставки за стекнување
9 КОНФИГУРАЦИЈА
(видете Дел 9.2) и променете ги само поединечните поставки доколку е потребно. Ова ќе обезбеди оптимално искористување на способностите за сликање и обработка на Руби.
Ве молиме имајте предвид дека копчето за примена мора да се притисне за да стапат на сила какви било промени во конфигурацијата. Достапните поставки се:
Ширина:
Висина: Формат на пиксели:
Хоризонтално врзување:
Вертикално врзување:
Осветленост на проекторот на моделот:
Ширина во пиксели на избраниот регион од интерес (ROI). Видете исто така Дел 9.15 за повеќе опции за рентабилност. Висина во пиксели на избраната рентабилност. Посакуван режим на кодирање со пиксели. Достапните поставки се 8-битни моно (Mono8) или 12-битни моно-моно (Mono12P). Број на хоризонтални фотосензитивни ќелии кои се комбинирани за еден пиксел на сликата. Број на вертикални фотосензитивни ќелии кои се комбинираат за еден пиксел на сликата. Осветленоста на проекторот на шемата наведена во проценти. 100% означува целосна осветленост, додека 0% целосно го исклучува проекторот.
9.4.2 Стапка на слики
Стапката на слики со која Ruby снима слики може слободно да се конфигурира. Максималната стапка на слики што може да се постигне зависи од избраната резолуција на сликата, опсегот на диспаритет, форматот на пиксели и мрежниот интерфејс. Ако поставите стапка на слики што е повисока од остварливиот максимум, тогаш тоа може да резултира со неправилно стекнување слика или да не се добијат кадри. Се препорачува прво да изберете претходно поставено (видете Дел 9.2) со саканата резолуција, а потоа само да ја намалите стапката на слики доколку е потребно.
9.4.3 Контрола на изложеноста
Ruby автоматски ќе ја контролира изложеноста и засилувањето на сензорот за да одговара на даден просечен интензитет, кој може да се избере во областа „контрола на експозиција“. Ако не е посакувано автоматско прилагодување, тогаш корисникот може алтернативно да одреди рачно време на експозиција и поставка за засилување. Понапредните опции за експозиција и засилување се достапни на страницата „напредни поставки за автоматска експозиција и засилување“ (видете Дел 9.10).
9.4.4 Контрола на балансот на белата боја
Руби поддржува автоматско или рачно балансирање на белата боја; може да се контролираат факторите на рамнотежа на црвената и сината боја. Оваа функционалност може да се конфигурира во областа „контрола на балансот на белата боја“. Во стандардниот режим на баланс на белата боја, „автоматски (сив свет)“, поставките за рамнотежа на каналот во боја се прилагодуваат во реално време, врз основа на хеуристичка проценка на бојата на осветлувањето од податоците на сликата. Во режимот „рачен“ баланс на белата боја, алгоритмот е оневозможен, а црвеното и
24
9.5 Мрежни поставки
9 КОНФИГУРАЦИЈА
Слика 16: Слика од екранот на конфигурациската страница за мрежните поставки.
факторите на сина рамнотежа може да се прилагодат рачно. Моментално ефективни фактори на рамнотежа се исто така прикажани во областа.
9.5 Мрежни поставки
Страницата „мрежни поставки“, која е прикажана на Слика 16, се користи за конфигурирање на сите параметри поврзани со мрежата. Руби може автоматски да ја побара мрежната конфигурација преку барањата на клиентот DHCP, кои се стандардно овозможени за да помогнат во префрлувањето помеѓу постојните мрежни поставки. Уредите на Ruby во мрежа што доделува IP поставки преку DHCP лесно се откриваат и пристапуваат преку API-то за откривање уред, како и преку алатката NVCom (Дел 11.1). Ако нема DHCP сервери, Ruby ги користи своите статички IP поставки како резервна копија.
Поддршката за клиентот DHCP може да се оневозможи ако се посакуваат фиксни поставки за IP и уредот нема да се префрли помеѓу различни мрежи. Во овој случај, поставките за IP во овој дел се користат како статични вредности.
Руби содржи и резервен DHCP сервер. Стандардно е овозможено, но се активира само кога претходно барање на клиентот DHCP не успеа. Ова значи дека ниту еден DHCP сервер никогаш не се стартува ако поддршката за клиентот DHCP е исклучена, за да се осигура дека Ruby никогаш нема да се натпреварува со постоечки DHCP сервер. Серверот Ruby DHCP ги користи поставките за IP адреса како основа; опсегот на закуп е секогаш во подмрежата /24 на IP адресата.
Во делот „IP поставки“, можете да го оневозможите или овозможите составот на DHCP
25
9.6 Излезни канали
9 КОНФИГУРАЦИЈА
вклопи и наведете IP адреса, маска на подмрежа и адреса на портата, кои се користат како статичка конфигурација или резервна конфигурација во зависност од поставките за DHCP. Кога ги менувате поставките за IP, проверете дали вашиот компјутер е во истата подмрежа или дека постои портен рутер преку кој може да се префрлаат податоци помеѓу двете подмрежи. Во спротивно нема да можете да пристапите до web повеќе интерфејс и можеби ќе бидете принудени да извршите ресетирање на фирмверот (видете Дел 6.4).
Во делот „мрежен протокол“, можете да го изберете основниот мрежен протокол што ќе се користи за доставување на пресметковните резултати на клиентскиот компјутер. Можните опции се TCP и UDP. Поради големиот опсег на податоци во реално време, препорачуваме користење UDP.
За да се добијат најдобри можни перформанси, поддршката за џамбо рамки треба да се активира во делот „џамбо рамки“. Меѓутоа, пред да го направите тоа, мора да бидете сигурни дека поддршката за џамбо рамки е овозможена и за мрежниот интерфејс на вашиот клиентски компјутер. Детали за тоа како да се овозможи поддршка за џамбо рамки на вашиот компјутер може да се најдат во Дел 8.2 на страница 18. За компјутерите-клиенти на Linux, поставката за џамбо рамки (MTU) автоматски се применува кога се прима конфигурација од активен Ruby DHCP сервер. Забележете дека во овој случај, менувањето на режимот Ruby Jumbo Frames или MTU Size бара нови договори за DHCP за ширење на поставката (на пр. со исклучување и повторно вметнување на мрежниот кабел).
9.6 Излезни канали
Активните излезни канали може да се конфигурираат на страницата „излезни канали“. Излезен канал е поток на податоци од сликата што се пренесува преку мрежата. Достапни се следните излезни канали:
· Излез на левата камера
· Аутпут на диспаритет
· Излез од десната камера
· Излез на камера во боја
Ако режимот на работа (види Дел 9.9) е поставен на стерео совпаѓање (стандардно) или поправете, тогаш податоците за сликата на сите излезни канали се поправаат (видете дел 7.1 за детали). Меѓутоа, ако режимот на работа е поставен да поминува, сликите од камерата ќе се пренесат без измени.
Како што е опишано во делот 7.3, сликата на камерата во боја може да се проектира на view на левата камера. Оваа проекција може да се активира со избирање на соодветната опција за параметарот „color output mode“.
Имајте предвид дека зголемувањето на бројот на активни излезни канали исто така го зголемува оптоварувањето на мрежата и може да резултира со намалена стапка на слики. Сите спецификации за изведба дадени во овој документ се однесуваат на конфигурација со активиран само излезниот канал за боја и диспаритет.
26
9.7 Одржување
9 КОНФИГУРАЦИЈА
Слика 17: Слика од екранот на страницата за конфигурација на излезни канали.
9.7 Одржување
На страницата за одржување што е прикажана на Слика 18, можете да преземете a file што ја содржи тековната конфигурација на уредот и системските дневници, со притискање на врската за преземање. Во случај на технички проблеми, ве молиме вклучете го ова file во вашето барање за поддршка, така што може да се репродуцира конфигурацијата на вашиот уред и да се истражат системските проблеми.
Преземена конфигурација file може повторно да се постави во подоцнежен момент. Ова овозможува брзо префрлување помеѓу различни конфигурации на уреди. За да испратите конфигурација, ве молиме изберете ја конфигурацијата file и притиснете го копчето за поставување. Имајте предвид дека поставувањето различна конфигурација може да ја измени IP адресата на уредот. За да избегнете неисправна состојба на конфигурација, ве молиме поставувајте само конфигурации кои претходно биле преземени преку web интерфејс.
Ако имате проблеми со моменталната конфигурација на уредот, можете да ги ресетирате сите конфигурациски поставки на фабричките поставки, со притискање на копчето за ресетирање. Имајте предвид дека ова исто така ќе ја ресетира мрежната конфигурација, што може да доведе до промена на IP адресата на Ruby.
Ако Руби покаже знаци на погрешно однесување, можно е да се рестартира уредот со притискање на копчето „рестартирај сега“. Ќе бидат потребни неколку секунди додека не се заврши рестартирањето и Руби повторно ќе ги обезбеди податоците за мерењето. Ве молиме користете ја оваа функција како алтернатива на циклусот на напојување, ако уредот не може да биде
27
9.8 Калибрација
9 КОНФИГУРАЦИЈА
Слика 18: Слика од екранот на страницата за одржување на конфигурацијата.
лесно достапни. Страницата за одржување дополнително ви овозможува да вршите ажурирања на фирмверот. Користете
оваа функционалност само за фирмверот fileкои се официјално објавени од Nerian Vision Technologies. За да извршите ажурирање на фирмверот, изберете го саканиот фирмвер file и притиснете го копчето за ажурирање. Процесот на ажурирање ќе трае неколку секунди. Не исклучувајте го уредот, повторно вчитувајте ја страницата за одржување или повторно кликнете на копчето за ажурирање додека вршите ажурирања на фирмверот. Во спротивно, ова може да доведе до оштетена состојба на фирмверот. Откако ќе заврши ажурирањето, уредот автоматски ќе изврши рестартирање со новата верзија на фирмверот. Конфигурацијата на уредот е зачувана за време на ажурирањата на фирмверот, но некои ажурирања може да бараат да приспособите одредени поставки потоа.
9.8 Калибрација
Руби се испорачува претходно калибриран и вообичаено не е потребна калибрација на корисникот во текот на целиот животен век на уредот. Меѓутоа, доколку доживеете намалување на квалитетот и густината на мерењето, можете да ги поправите потенцијалните оптички неусогласувања со повторно калибрација. Во овој случај ќе се користи страницата за калибрација, која е прикажана на слика 19.
28
9.8 Калибрација
9 КОНФИГУРАЦИЈА
Слика 19: Слика од екранот на конфигурациската страница за калибрација на камерата.
9.8.1 Одбор за калибрација
Потребна ви е табла за калибрација, која е рамен панел со видлива шема за калибрација од едната страна. Моделот што го користи Руби се состои од асиметрична мрежа од црни кругови на бела позадина, како што е прикажано на Слика 20.
Кога ја отворате страницата за калибрација, прво ќе треба да ја одредите големината на таблата за калибрација, која ќе ја користите во процесот на калибрација. Ве молиме погрижете се да ја изберете точната големина, бидејќи во спротивно резултатите од калибрацијата не може да се користат за 3D реконструкција со правилна метричка скала (види Дел 7.2).
Моделот може да се преземе директно од оваа страница. Едноставно изберете ја саканата големина на шаблонот во паѓачката листа „табла за калибрација“ и кликнете на врската за преземање.
Доколку ви е потребна табла за калибрација со прилагодена големина, тогаш можете да изберете приспособена од паѓачката листа „табла за калибрација“. Ова ви овозможува рачно да ги внесувате деталите на таблата за калибрација. Првата димензија на големината на шаблонот е бројот на кругови во една колона на мрежа. Овој број мора да биде еднаков за сите колони од мрежата на кругови.
Бројот на кругови по ред е дозволено да варира за 1 помеѓу непарните и парните редови. Така, втората димензија е збир на кругови во два последователни редови. Сите стандардни шеми за калибрација што може да се преземат имаат големина од 4 × 11.
Последниот параметар што треба да го внесете кога користите прилагодена калибрација
29
9.8 Калибрација
9 КОНФИГУРАЦИЈА
5 см 2 ин
Големина: 4 x 11; Растојание на кругови: 2.0 cm; Дијаметар на кругот: 1.5 cm; nerian.com
Слика 20: Табла за калибрација што ја користи Руби.
таблата е проредот на кругот. Ова е растојанието помеѓу центрите на два соседни кругови. Растојанието мора да биде еднакво во хоризонтална и вертикална насока за сите кругови.
Откако ќе се одреди точната големина на плочата, ве молиме кликнете на копчето за продолжување за да продолжите со процесот на калибрација.
9.8.2 Ограничување на големината на сликата за калибрација
Стандардно, процесот на калибрација ќе работи на целата област на сензорот, со максимална валидна големина на сликата достапна за моментално активниот формат на сликата и поставките за стекнување. Ова се препорачува за повеќето поставувања, бидејќи помал регион на интерес може да се избере во секое време по калибрацијата (види Дел 9.15). За специјални поставки, на прampАко кругот на сликата на објективот е помал од областа на сензорот за слика, неопходно е да се ограничи релевантниот регион на сензорот пред почетната калибрација.
Со притискање на копчето „ограничување на прозорец“ во долниот дел од „камерата предview` област, се прикажува центрирана рамка за преклопување, која може да се промени големината со влечење. Ако се примени, калибрацијата ќе се префрли во режим на ограничен регион. Калибрацијата може да се врати на стандардната операција со притискање на копчето „ресетирање во целосна резолуција“.
Кога процесот на калибрација е успешно завршен со ограничен регион, ова ќе ја намали стандардната излезна големина (и максималната достапна големина за регион од интерес) од максималната валидна големина на сликата на избраната, ефективно исклучувајќи ги сите области кои се надвор од калибриран сензорски регион.
30
9.8 Калибрација
9 КОНФИГУРАЦИЈА
9.8.3 Рамки за калибрација за снимање
Во живо предview од сите сензори за слика се прикажува во `камера предviewобласт. Освен ако регионот за калибрација не е ограничен како што е наведено погоре, резолуцијата на камерата за време на калибрацијата е поставена на максималната валидна големина на сликата за моментално активниот формат на сликата и поставките за добивање. Проверете дали таблата за калибрација е целосно видлива на сите слики од камерата и потоа притиснете го копчето „снимајте една рамка“ во контролниот дел. Повторете го овој процес неколку пати додека ја движите камерата или таблата за калибрација.
Таблата за калибрација мора да се снима на повеќе различни позиции и ориентации. Ќе се прикаже зелено преклопување во предview прозорец за сите локации, каде таблата е претходно откриена. Треба да го менувате растојанието на таблата и да бидете сигурни дека го покривате поголемиот дел од полето на view од сите камери.
Колку повеќе рамки снимате, толку попрецизна ќе биде пресметаната калибрација. Сепак, повеќе рамки исто така предизвикуваат пресметувањето на параметрите за калибрација да трае подолго. Руби поддржува снимање до 40 калибрациски рамки. Препорачуваме да користите најмалку 20 рамки за калибрација за да добиете точни резултати.
Снимањето на калибрациските рамки може да се поедностави со активирање на режимот „автоматско снимање“. Во овој режим, нова рамка за калибрација се снима во интервали за фиксирање. Можете да го внесете саканиот интервал во делот за автоматско снимање и потоа да го притиснете копчето „започни автоматско снимање“. Доколку сакате, може да се репродуцира звучен звук за да се сигнализира одбројувањето и снимањето на нова рамка. Режимот за автоматско снимање може да се прекине со притискање на копчето „стоп автоматско снимање“.
Мал предview на секоја заробена калибрациона рамка се додава во делот „фатени рамки“. Рамките се прекриени со откриените позиции на круговите на таблата за калибрација. Можете да кликнете на било кој од предview слики за да ја видите рамката за калибрација со целосна резолуција. Еден поранешенampЗа рамка за калибрација со правилно откриена табла за калибрација е прикажана на слика 21. Ако таблата за калибрација не е правилно откриена или ако не сте задоволни со квалитетот на рамката за калибрација, тогаш можете да ја избришете со кликнување на симболот × .
9.8.4 Изведување на калибрација
Откако ќе снимите доволен број рамки за калибрација, можете да го започнете процесот на калибрација со притискање на копчето за калибрирање во контролниот дел. Времето потребно за калибрација на камерата зависи од бројот на калибрациските рамки што сте ги снимиле. Калибрацијата обично ќе потрае неколку минути за да се заврши. Ако калибрацијата е успешна тогаш веднаш сте пренасочени на `review страницата за калибрација.
Калибрацијата нема да успее ако пресметаното вертикално или хоризонтално поместување на пиксели го надмине дозволениот опсег за која било точка на слика. Најчестите причини за неуспеси во калибрацијата се:
· Недоволен број на калибрациони рамки.
31
9.9 Поставки за обработка
9 КОНФИГУРАЦИЈА
Слика 21: Прampрамка за калибрација со откриена табла за калибрација.
· Лоша покриеност на полето на view со таблата за калибрација.
· Леќи со силни геометриски нарушувања.
· Леќи со нееднакви фокусни должини.
· Рамки со погрешно откривање на таблата за калибрација.
Доколку калибрацијата не успее, тогаш ве молиме разрешете ја причината за грешката и повторете го процесот на калибрација. Ако причината за грешката е една или повеќе погрешни рамки за калибрација, тогаш можете да ги избришете тие рамки и повторно да го притиснете копчето за калибрирање. Исто така, во случај на премалку калибрациски рамки, можете да снимате дополнителни рамки и да го рестартирате пресметувањето за калибрација.
9.9 Поставки за обработка
9.9.1 Режим на работа
Главните параметри за обработка може да се променат на страницата „поставки за обработка“, која е прикажана на Слика 22. Најрелевантна опција е режимот на работа, кој може да се постави на една од следните вредности:
Поминете низ: во овој режим Ruby ги препраќа сликите на сите сензори за слика без модификација. Овој режим е наменет за реviewвнесување на податоците за сликата пред да се примени каква било обработка.
Rectify: во овој режим Ruby ги пренесува исправените слики од сите сензори за слика. Овој режим е наменет за проверка на исправноста на исправката на сликата.
Стерео совпаѓање: Ова е стандардниот режим, во кој Руби ја врши вистинската обработка на стерео слики (стерео совпаѓање). Руби ја пренесува мапата на диспаритет и, во зависност од конфигурацијата на излезните канали, исправените слики.
32
9.9 Поставки за обработка
9 КОНФИГУРАЦИЈА
Слика 22: Слика од екранот на конфигурациската страница за поставките за обработка.
9.9.2 Поставки за диспаритет
Ако режимот на работа е поставен на стерео совпаѓање, тогаш „поставките за диспаритет“ дозволуваат конфигурација на опсегот на диспаритет што го бара Ruby. Опсегот на диспаритет влијае на стапката на слики што може да се постигне. Стапката на слики треба да се прилагоди откако ќе се смени опсегот на диспаритет (видете Дел 3.3 на страница 5 за препораки). Имајте предвид дека зголемувањето на опсегот на диспаритет ќе ја намали и максималната големина на сликата што може да се конфигурира.
Опцијата „број на разлики“ го одредува вкупниот број на пиксели што се пребаруваат за кореспонденција. Оваа опција има големо влијание врз резолуцијата на длабочината и опфатениот опсег на мерење (види Дел 7.2). Почетокот на опсегот на диспаритет може да се избере преку опцијата „поместување на диспаритет“. Вообичаено, вредност од 0 е посакувана за поместување, што овозможува мерење на опсегот до бесконечност. Ако е сигурно дека растојанието што може да се набљудува е ограничено, тогаш нема да се појават ниски вредности на диспаритет. Во овој случај, можно е да се зголеми поместувањето на диспаритетот, така што овие ниски разлики не се пресметуваат.
9.9.3 Поставки за алгоритам
Однесувањето на алгоритмите за обработка на слики може да се контролира преку „алгоритмските поставки“. Стандардната конфигурација е одредена со помош на методи за машинско учење, и затоа треба да биде најдобриот избор за најголема употреба
33
9.9 Поставки за обработка
9 КОНФИГУРАЦИЈА
случаи. Сепак, сите параметри на алгоритмот може да се прилагодат преку web интерфејс. Следниве параметри го контролираат алгоритмот за усогласување на стерео:
Казна за промени на диспаритет (Р1): Казна што се применува на постепено менување на разликите. Голема вредност предизвикува постепени промени на диспаритет да се случуваат поретко, додека мала вредност предизвикува постепени промени да се случуваат почесто. Може да се конфигурираат различни вредности за пиксели кои се на рабовите на сликата (P1-раб) и пиксели кои не се на рабовите (P1-no-edge). Овие вредности мора да бидат помали од вредностите за P2.
Казна за дисконтинуитети на диспаритет (P2): Казна што се применува на нагло менување на диспаритетите. Голема вредност предизвикува дисконтинуитети на диспаритет да се појавуваат поретко, додека мала вредност предизвикува дисконтинуитети да се појавуваат почесто. Може да се конфигурираат различни вредности за пиксели кои се на рабовите на сликата (P2-раб) и пиксели кои не се на рабовите (P2-no-edge). Овие вредности мора да бидат поголеми од вредностите за P1.
Руби применува алгоритам за оптимизација за да ја подобри точноста на пресметаната карта на диспаритет во резолуцијата на под-пиксели. Ако е релевантен само мал регион од интерес (ROI) на влезната слика / картата на диспаритет, тогаш овој процес на автоматско подесување може да се ограничи само на овој ROI. Во овој случај, треба да се очекуваат попрецизни мерења на подпиксели во внатрешноста на ROI. Релевантните параметри за ограничување на рентабилноста на подесување на подпиксели се:
Прилагодете ја оптимизацијата на подпиксели на рентабилност: ако е овозможена, оптимизацијата на подпиксели се прилагодува на регионот дефиниран со следните параметри, наместо на целата слика.
Ширина: Ширина во пиксели на избраниот регион на интерес (ROI).
Висина: Висина во пиксели на избраната рентабилност.
Офсет X: Хоризонтално поместување на рентабилноста во однос на центарот на сликата.
Офсет Y: Вертикално поместување на рентабилноста во однос на центарот на сликата.
Руби имплементира неколку методи за пост-обработка на пресметаната карта на диспаритет. Секој метод на пост-обработка може да се активира или деактивира поединечно. Достапните методи се:
Маскирај ги граничните пиксели: ако е овозможено, оваа опција ги означува сите разлики што се блиску до границата на видливата област на сликата како неважечки, бидејќи имаат голема неизвесност. Ова ги вклучува и сите пиксели за кои не се достапни вистински податоци за сликата, поради искривувањето применето од исправката на сликата (видете дел 7.1).
34
9.10 Напредни поставки за автоматска експозиција и добивка 9 КОНФИГУРАЦИЈА
Проверка на конзистентност: Ако е овозможено, стерео совпаѓањето се врши во двете соодветни насоки, лево-десно и десно-лево. Пикселите за кои разликата не е конзистентна се означени како неважечки. Чувствителноста на проверката на конзистентноста може да се контролира преку лизгачот „чувствителност за проверка на конзистентност“.
Проверка на уникатност: ако е овозможено, пикселите во картата на диспаритет се означени како неважечки ако нема доволно уникатно решение (т.е. функцијата на трошоците нема глобален минимум кој е значително помал од сите други локални минимуми). Чувствителноста на проверката на уникатноста може да се контролира преку лизгачот „чувствителност за проверка на единственост“.
Филтер за текстура: ако е овозможено, пикселите што припаѓаат на региони на слики со мала текстура се означени како невалидни во картата на диспаритет, бидејќи постои голема веројатност овие пиксели да се несовпаѓаат. Чувствителноста на овој филтер може да се прилагоди преку лизгачот „чувствителност на филтер за текстура“.
Интерполација на празнини: ако е овозможено, малите делови од невалидни разлики, кои се предизвикани од еден од претходните филтри, се пополнуваат преку интерполација.
Намалување на шум: ако е овозможено, филтерот за слика се применува на картата на диспаритет, што го намалува шумот и ги отстранува оддалечените.
Итерации на филтер за дамки: Означува мали изолирани закрпи со слична разлика како неважечки. Таквите дамки често се резултат на погрешни совпаѓања. Бројот на повторувања одредува колку филтерот ќе биде агресивен со отстранување на дамки. Вредноста 0 го оневозможува филтерот.
9.10 Напредни поставки за автоматска експозиција и добивка
За да се обезбеди најдобар можен квалитет на сликата, Ruby обезбедува целосно автоматско време на експозиција и приспособување за стекнување за брзо менување на условите на осветлување, што често се случува во надворешни сценарија. Можете да ги активирате и деактивирате двете автоматски функции независно на страницата за автоматска експозиција, која е прикажана на Слика 23.
9.10.1 Изложеност и добивка
Режим: избира дали времето на експозиција и/или засилувањето се прилагодуваат автоматски. Во нормални околности, „автоматска изложеност и засилување“ треба да се изберат за автоматско прилагодување на двата параметри.
Целен интензитет: избира просечна вредност на интензитет за стерео сликите, која е насочена со автоматско прилагодување. Вредностите на интензитетот се запишани во процентиtage броеви со 0 што претставува црно и 100 бело. Може да се дадат различни вредности за сензорите во боја и монохроматски.
35
9.10 Напредни поставки за автоматска експозиција и добивка 9 КОНФИГУРАЦИЈА
Слика 23: Слика од екранот на конфигурациската страница за поставките за автоматско прилагодување на експозицијата и засилувањето. Целна рамка: Избира дали интензитетот на левата рамка, интензитетот на
десната рамка или просечниот интензитет на двете рамки треба да се прилагоди на целниот интензитет. Максимално време на експозиција: Може да се одреди максимална вредност за времето на експозиција за да се ограничи заматувањето при движење. Вредноста за максималното време на експозиција секогаш треба да биде помала од времето помеѓу две кадри. Може да се дадат различни вредности за сензорите во боја и монохроматски. Максимална добивка: Исто како и за времето на експозиција, исто така е можно да се ограничи максимално дозволеното засилување. Ограничувањето на засилувањето може да ги подобри резултатите од обработката на сликата за ситуации со висок шум на сензорот. Може да се дадат различни вредности за сензорите во боја и монохроматски. 9.10.2 Рачни поставки Ако автоматското прилагодување е деактивирано при изборот на режим, времето на експозиција и/или засилувањето може рачно да се постават на фиксни вредности во овој дел.
36
9.11 Поставки за активирање
9 КОНФИГУРАЦИЈА
Слика 24: Слика од екранот на конфигурациската страница за поставките за активирањето.
9.10.3 Поставки за рентабилност
Наместо да го вршите прилагодувањето во однос на просечниот интензитет на целосната слика, можете да го пресметате просечниот интензитет само на регион од интерес. Овозможете „користете ROI за прилагодување“ во тој случај. „Офсет X“ и „Офсет Y“ ја опишуваат централната позиција на регионот во однос на центарот на сликата. „Width ROI“ и „Height ROI“ ви дозволуваат да го прилагодите просторното проширување на ROI. ROI мора да биде целосно содржан во сликата. Ако ова не е случај, рентабилноста ќе се отсече автоматски.
9.11 Поставки за активирање
Страницата „поставки за активирањето“ што е прикажана на Слика 24 овозможува конфигурација на влезот и излезот на активирањето. Ruby располага со GPIO порта што обезбедува пристап до еден излез за активирање и еден влезен сигнал за активирање. За електрични спецификации на овие сигнали погледнете во Дел 6.3.
Кога е овозможен влезот на активирањето, Ruby ќе сними рамка само кога ќе пристигне сигнал пулс до влезниот пин на активирањето или ако софтверски активирач се емитува преку API. За хардверскиот активирачки сигнал, изложувањето на сензорот за слика започнува со предниот раб на дојдовниот сигнал. Кога е овозможен влезот на активирањето, излезот на активирањето не е достапен.
Кога излезот на активирањето не е овозможен, може да се одреди дали
37
9.12 Временска синхронизација
9 КОНФИГУРАЦИЈА
Слика 25: Слика од екранот на конфигурациската страница за синхронизација на времето.
излезот треба да биде поврзан со константа вклучено (логично 1) или константно исклучено (логично 0). Ако е овозможено, поларитетот на генерираниот сигнал може да биде или активен-висок или активен низок. Ширината на пулсот може да биде константна или циклус помеѓу листа на претходно конфигурирани вредности.
Фреквенцијата на излезот на активирањето секогаш ќе одговара на моменталната стапка на слики на Ruby. Сепак, можно е да се одреди временско поместување, што е доцнење од почетокот на изложувањето на сензорот до предниот раб на излезот на активирањето.
9.12 Временска синхронизација
Страницата „временска синхронизација“, која е прикажана на Слика 25, може да се користи за конфигурирање на три можни методи за синхронизирање на внатрешниот часовник на Руби. Како што е објаснето во Дел 7.4, внатрешниот часовник се користи за времеampИНГ снимени рамки.
Првата опција е да се синхронизира со временски сервер, користејќи го протоколот за мрежно време (NTP) до верзијата 4. Во овој случај, Руби го синхронизира својот внатрешен часовник со дадениот временски сервер, користејќи Координирано универзално време (UTC). Точноста на временската синхронизација зависи од доцнењето на вашата мрежа и временскиот сервер. Ако е активна NTP синхронизацијата на времето, статистиката за синхронизација се прикажува во посебна област за статус.
Како алтернатива на NTP, протоколот за прецизно време (PTP) може да се користи за синхронизација. PTP обезбедува значително поголема точност кога ком-
38
9.13 ОдгviewИНГ резултати од калибрација
9 КОНФИГУРАЦИЈА
Слика 26: Слика од екранот на конфигурациската страница за реviewкалибрација на камерата.
споредено со NTP, и затоа треба да се претпочита ако е достапно. Како и за NTP, часовникот исто така ќе биде поставен на UTC и ќе се прикажат информациите за статусот на синхронизацијата.
Кога се користи сигналот Pulse Per Second (PPS), внатрешниот часовник може да се ресетира на 0 секогаш кога ќе се прими сигнал за синхронизација. Алтернативно, системското време улamp за последниот примен PPS сигнал може да се пренесе со заробена рамка. Ве молиме погледнете го Делот 6.3.3 на страница 11 за детали за синхронизацијата на PPS.
9.13 ОдгviewИНГ резултати од калибрација
Откако ќе се изврши калибрацијата, можете да ги прегледате резултатите од калибрацијата на `review страницата за калибрација, која е прикажана на Слика 26. На врвот на оваа страница можете да видите во живо предview од сите сензори за слика бидејќи тие се поправаат со тековните параметри за калибрација. Проверете дали соодветните точки на сликите на сите сензори за слика имаат идентична вертикална координата.
Со активирање на опцијата „прикажи епиполарни линии“, можете да преклопите збир на хоризонтални линии на сликите. Ова овозможува лесна проценка дали е исполнет критериумот за еднакви вертикални координати. Еден поранешенampЗа левата и десната влезна слика со преклопени епиполарни линии е прикажано на Слика 27.
Во делот „информации за квалитет“ можете да ја најдете просечната грешка при репроекцијата. Ова е мерка за квалитетот на вашата калибрација, со помал вал-
39
9.13 ОдгviewИНГ резултати од калибрација
9 КОНФИГУРАЦИЈА
Слика 27: Прample за евалуација на вертикалните координати на сликата.
ues што укажува на подобри резултати од калибрацијата. Проверете дали просечната грешка при репроекцијата е далеку под 1 пиксел.
Сите пресметани параметри за калибрација се прикажани во делот „податоци за калибрација“. Овие параметри се:
M1, M2 и M3: матрици на камерата за левата, десната и камерата во боја.
D1, D2 и D3: коефициенти на изобличување за левата, десната и камерата во боја.
R1, R2 и R3: матрици на ротација за ротации помеѓу оригиналните и исправените слики од камерата.
P1, P2 и P3: проекциони матрици во новите (поправени) координатни системи.
П12: матрица за мапирање на разлика до длабочина за левата камера. Видете дел 7.2 за неговата употреба.
П13: матрица за мапирање на разлика до длабочина за камерата во боја (обично не е потребна).
T12, T13: преводен вектор помеѓу координатните системи на левата и десната, и левата и камерите во боја.
R12, R13: матрица на ротација помеѓу координатните системи на левата и десната, и левата и камерите во боја.
Матриците на камерата Mi се структурирани на следниов начин:
fx 0 cx
Mi
=
0
fy
cy
,
(1)
001
40
9.14 Автоматска ре-калибрација
9 КОНФИГУРАЦИЈА
Слика 28: Слика од екранот на поставките за автоматска рекалибрација.
каде што fx и fy се фокусните должини на леќите во хоризонтална и вертикална насока (мерено во пиксели), а cx и cy се координатите на сликата на центарот за проекција.
Векторите на коефициент на дисторзија D1 и D2 ја имаат следната структура:
Di = k1 k2 p1 p2 k3,
(2)
каде што k1, k2 и k3 се коефициенти на радијално изобличување, а p1 и p2 се коефициенти на тангенцијално изобличување.
Можете да ги преземете сите информации за калибрација како машински читлив YAML file, со кликнување на врската за преземање на дното од делот „податоци за калибрација“. Ова ви овозможува лесно да ги внесувате податоците за калибрација во вашите сопствени апликации. Понатаму, можете да ги зачувате податоците за калибрација на вашиот компјутер и повторно да ги вчитате подоцна, користејќи го делот „подигни податоци за калибрација“.
9.14 Автоматска ре-калибрација
На страницата „автоматска повторна калибрација“, која е прикажана на Слика 28, можете да овозможите автоматска проценка на параметрите за калибрација. Во овој случај, системот останува калибриран дури и ако оптичкото порамнување е предмет на варијации.
Параметрите за калибрација обично се поделени на внатрешни параметри (фокусна должина, центар на проекција и коефициенти на изобличување) и надворешни параметри (трансформација помеѓу позите на сите камери). Само автоматска рекалибрација
41
9.15 Регион на интерес
9 КОНФИГУРАЦИЈА
врши ажурирање на надворешните параметри, бидејќи тие се значително повеќе склони кон варијации. Поконкретно, се проценува само ротацијата помеѓу камерите. Ова е обично најкревкиот параметар, на кој може значително да влијаат дури и мали деформации.
Автоматската повторна калибрација може да се активира со избирање на опцијата „овозможи автоматска повторна калибрација“. Руби потоа континуирано ќе пресметува samples за проценетата ротација меѓу камерите. Се применува робустен метод на проценка за избор на конечна проценка на ротација од множеството ротација sampлес. Бројот на сampможе да се конфигурираат лесовите што се користат за овој процес на проценка. Мали сampголемини овозможуваат брза реакција на варијациите на порамнувањето, додека големите сampголемини овозможуваат многу точни проценки. Ако е избрана опцијата „трајно зачувај поправена калибрација“, тогаш ажурираната калибрација се запишува во неиспарлива меморија и останува присутна дури и по циклус на напојување.
За да функционира автоматската калибрација, камерите мора да набљудуваат сцена со доволно визуелни информации. Руби ќе ги идентификува истакнатите карактеристики на сликата и ќе ги совпадне со сите слики. Ако не може да се откријат доволно функции, тогаш автоматската повторна калибрација нема да се изврши. Типична сцена треба да биде доволна за автоматско повторно калибрирање на левата и десната монохроматска камера. Меѓутоа, за вклучување на автоматското повторно калибратирање на камерата во боја, се препорачува црно/бела шема богата со карактеристики. Бела страница со печатен текст, на прampле, добро служи за оваа намена.
Во областа за статистика можете да најдете различни информации за тековните перформанси на процесот на автоматска калибрација. Ова го вклучува статусот на последниот обид за рекалибрација, времето од последното ажурирање на калибрацијата, ротационото поместување на последното ажурирање и бројот на ротации сampоние што се собрани и отфрлени од последното ажурирање. Конечно, можете да најдете листа на неодамна пресметани ротации меѓу камерите во областа на историјата. Наведените ротации се претставени како ротациони кватерниони.
9.15 Регион на интерес
Ако не е потребна целата слика на сензорот, туку само подсекција, тогаш ова може да се конфигурира на страницата „регион на интерес“ (ROI). Оваа страница ќе отвори предview на левата и десната слика со преклопени рамки што го прикажуваат исечениот регион, кој може да се премести и менува големината едногласно со помош на глувчето (види Сл. 29). Уредот ќе ги ревидира бараните димензии на ROI; во овој случај ќе видите дека регионот автоматски се прилепува до најблиската валидна големина на сликата.
Ако калибрацијата е извршена на ограничен центриран прозорец наместо целосната резолуција на сензорот (види Дел 9.8), овие ограничени граници не може да се надминат при изборот на ROI. Предview големината на сликата на страницата за избор на ROI ќе ја одразува ограничената резолуција за време на калибрација.
42
9.16 Инерцијална мерна единица
9 КОНФИГУРАЦИЈА
Слика 29: Слика од екранот на изборот на регион од интерес.
9.16 Инерцијална мерна единица
Инерцијалната мерна единица (IMU) вградена во Ruby, која може да обезбеди тродимензионални мерења во реално време за податоци за акцелерометар, жироскоп, линеарно забрзување и магнетометар, како и интегрирани читања за ориентација на кватернион, може да се конфигурира на „инерцијалната мерна единица“ страница, која е прикажана на слика 30.
Во делот „фреквенција на мрежни пакети“, можете да ја поставите стапката на пакети во секунда за читањата на сензорот. Вредноста може да се зголеми за употреба на минимална латентност (во реално време), или да се намали за чисто снимање на временски серии, во тој случај подолгите серии на податоци ќе се соберат за секој пакет.
С.ampЛинг фреквенциите за поединечните сензори може да се конфигурираат во `sampдел за фреквенции на линг. Вредностите се движат помеѓу 0 Hz (што оневозможува одреден канал) и максималната брзина, која е 100 Hz за податоците од магнетометарот и 400 Hz за другите канали. Каналот „ротирачки кватернион“, кој ја рефлектира ориентацијата на уредот интегрирана од поединечни канали на сензорот, има дополнително менување на режимот: во режимот „апсолутен (геомагнетски)“, уредот го интегрира магнетометарот за да обезбеди отчитувања за аголот на скршнување (т.е. ротација околу оска на гравитација), со што се проценува апсолутното лежиште на компас. Во режимот „релативен (негеомагнетен)“, не се користат податоци од магнетометар, а отчитувањето на скршнувањето се заснова исклучиво на интеграција на движење, што подразбира почеток на нула скршнување, без оглед на почетната ориентација на уредот и прогресивно дивергентно
43
9.16 Инерцијална мерна единица
9 КОНФИГУРАЦИЈА
Слика 30: Слика од екранот на страницата за поставки за инерцијална мерна единица.
нанос на пријавениот агол на скршнување во однос на апсолутните насоки на компасот.
9.16.1 Калибрација на инерцијалната мерна единица
Во живо view на отчитувањата за ориентација може да се набљудуваат во делот „калибрација / ориентација на уредот“. Освен аглите на тркалање, чекор и скршнување, квалитетот на калибрацијата е пријавен на скала од нула до три (што ги одразува нивоата на BNO08X на несигурен; ниска точност; средна точност и висока точност). Проценетата точност за аголот на скршнување (лого на компас) се известува ако е овозможен режимот „апсолутен (геомагнетски)“. Читањата на магнетометарот се најмалку доверлива компонента, затоа статусот на калибрација може да биде пријавен како помалку прецизен во „апсолутен (геомагнетен)“ режим.
Копчето „започнете со калибрација“ го става IMU во режим на калибрација. Препорачаната постапка е потоа да го ориентирате уредот во пет до шест нормални насоки (што одговараат на лицата на коцките) со различни ротации и накратко да го држите уредот мирен на секоја од тие ориентации. Статусот на калибрација треба постепено да се подобрува на ниво 2 или 3. Копчето „заврши калибрација“ ги зачувува новите податоци за калибрација и ги ресетира, читањата на IMU ќе продолжат по краток момент со новата базна калибрација, која потоа ќе опстојува низ циклусите на напојување.
44
10 ИНФОРМАЦИИ ЗА УПОТРЕБА НА API
10 Информации за користење на API
10.1 Општи информации
Крос-платформскиот libvisiontransfer C++ и Python API е достапен за поврзување прилагоден софтвер со Ruby. За Windows, достапна е бинарна верзија на библиотеката што може да се користи со Microsoft Visual Studio. За Linux, компајлирајте ја библиотеката од достапниот изворен код. API е вклучен како дел од достапното издание на софтвер, кое може да се преземе од нашата поддршка webсајт1.
libvisiontransfer API обезбедува функционалност за примање на резултатите од обработката на Ruby преку компјутерска мрежа. Понатаму, API овозможува и пренос на податоци за слики. Така може да се користи за емулирање на Руби при изведување на развој на системи.
Пренесените резултати од обработката се состојат од збир на слики. Обично тоа се исправената лева слика и пресметаната карта на диспаритет. Меѓутоа, ако е конфигуриран, Ruby може да ги обезбеди и необработените снимени слики или сите поправени слики (види Дел 9.9).
Оригиналните и исправените слики од камерата обично се пренесуваат со монохроматска длабочина на битови од 8 бита или 12 бита по пиксел или во 8-битен RGB режим. Картата на диспаритет секогаш се пренесува со малку длабочина од 12 бита. Внатре во библиотеката, мапата на диспаритет и сите 12-битни слики се надуени на 16 бита, за да се овозможи поефикасна обработка.
API обезбедува три класи кои можат да се користат за примање и пренос на податоци за слики:
· ImageProtocol е интерфејс на најниско ниво. Оваа класа овозможува кодирање и декодирање на множества на слики до / од мрежни пораки. Ќе треба сами да се справите со целата мрежна комуникација.
· ImageTransfer отвора мрежен приклучок за испраќање и примање комплети слики. Оваа класа е со една нишка и затоа ќе блокира при примање или пренесување податоци.
· AsyncTransfer овозможува асинхроно примање или пренос на множества на слики. Оваа класа создава една или повеќе нишки кои се справуваат со целата мрежна комуникација.
Детални информации за употребата на секоја класа може да се најдат во достапната API документација.
10.2 Трансфер на слика Прample
Поранешенampза користење на класата ImageTransfer во C++ за примање резултати од обработка преку мрежата и нивно запишување на слика files, е прикажано подолу.
1https://nerian.com/support/software/
45
10.2 Трансфер на слика Прample
10 ИНФОРМАЦИИ ЗА УПОТРЕБА НА API
Овој изворен код file е дел од изданието на изворниот код на API. Ве молиме погледнете ја документацијата API за дополнителни информации за користењето на Пренос на слики и на прamples во Пајтон.
#include < visiontransfer / набројување на уреди . h> #include < visiontransfer / imagetransfer . h> #include < visiontransfer / imageset . h> #вклучи #вклучи #вклучи
#ifdef _MSC_VER // Визуелно студио #definesnprintf #endif
не доаѓа _snprintf_s
со
snprintf
користење на именски простор за пренос на видот;
int main () { // Пребарај за Nerian stereo devices DeviceEnumeration deviceEnum ; DeviceEnumeration : : DeviceList devices = deviceEnum . discoverDevices ( ) ; i f ( d e v i c e s . s i z e ( ) == 0 ) { s t d : : c o u t << “No d e v i c e s d i s c o v e r e d ! ” << s t d : : e n d l ; return -1; }
// Уреди за печатење std : : cout << ” D iscovereddevices : ” << std : : endl ; за ( unsignedinti = 0 ; i < уреди . големина ( ) ; i ++) {
std : : cout << уреди [ i ] . до S tring ( ) << std : : endl ; } std : : cout << std : : endl ;
// Креирај објект за пренос на слики што прима податоци од // првиот откриен уред ImageTransfer imageTransfer (уреди [0]);
// Примајте 100 слики за ( int imgNum=0; imgNum<100; imgNum++) {
std : : cout << ” Збир на слика за примање ” << imgNum << std : : endl ;
// Примање слика ImageSet imageSet ; додека (! imageTransfer . receiveImageSet ( imageSet )) {
// Продолжете да се обидувате додека не биде успешен приемот }
// Напишете ги сите вклучени слики една по друга за ( inti = 0 ; i < imageSet . getNumberOfImages ( ) ; i ++) {
// C reate PGM-датотека
46
10.3 AsyncTransfer Прample
10 ИНФОРМАЦИИ ЗА УПОТРЕБА НА API
кал fileИме [100]; snprintf ( fileИме , големина на (датотека N ame ), ” image%03d_%d . pgm“, јас,
imgNum ) ;
imageSet . напиши PgmFile (јас, fileИме); } }
враќање 0; }
10.3 AsyncTransfer Прample
Поранешенampза користење на класата AsyncTransfer во C++ за примање резултати од обработка преку мрежата и нивно запишување на слика files, е прикажано подолу. Овој изворен код file е дел од изданието на изворниот код на API. Ве молиме погледнете ја документацијата за API за дополнителни информации за користење на AsyncTransfer и на прamples во Пајтон.
#include < visiontransfer / набројување на уреди . h> #include < visiontransfer / asynctransfer . h> #include < visiontransfer / imageset . h> #вклучи #вклучи #вклучи
#ifdef _MSC_VER // Визуелно студио #definesnprintf #endif
не доаѓа _snprintf_s
со
snprintf
користење на именски простор за пренос на видот;
int main () { try { // Пребарај за Nerian stereo devices DeviceEnumeration deviceEnum ; DeviceEnumeration : : DeviceList devices = deviceEnum . discoverDevices ( ) ; i f ( d e v i c e s . s i z e ( ) == 0 ) { s t d : : c o u t << “No d e v i c e s d i s c o v e r e d ! ” << s t d : : e n d l ; return -1; }
// Уреди за печатење std : : cout << ” D iscovereddevices : ” << std : : endl ; за ( unsignedinti = 0 ; i < уреди . големина ( ) ; i ++) {
std : : cout << уреди [ i ] . до S tring ( ) << std : : endl ; } std : : cout << std : : endl ;
47
10.4 3D реконструкција
10 ИНФОРМАЦИИ ЗА УПОТРЕБА НА API
// Креирај објект за пренос на слика кој прима податоци од // првиот откриен уред AsyncTransfer asyncTransfer (уреди [0]);
// Примајте 100 слики за ( int imgNum=0; imgNum<100; imgNum++) {
std : : cout << ” Збир на слика за примање ” << imgNum << std : : endl ;
// Примање слика ImageSet imageSet ; додека (! asyncTransfer. collectReceivedImageSet (imageSet,
0.1 / истекот на времето / )) { // Продолжете да се обидувате додека не успее приемот }
// Напишете ги сите вклучени слики една по друга за ( inti = 0 ; i < imageSet . getNumberOfImages ( ) ; i ++) {
// C reate PGM датотека карактер fileИме [100]; snprintf ( fileИме , големина на (датотека N ame ), ” image%03d_%d . pgm“, јас,
imgNum ) ;
imageSet . напиши PgmFile (јас, fileИме); } } } catch (const std : : исклучок& ex ) { std : : cerr << ” E exceptionoccurred : ” << ex . што ( ) << std : : endl ; }
враќање 0; }
10.4 3D реконструкција
Како што е опишано во Дел 7.2, картата на диспаритет може да се трансформира во збир од 3D точки. Ова бара познавање на матрицата за мапирање диспаритет до длабочина Q (види Дел 7.2), која ја пренесува Руби заедно со секоја карта на диспаритет.
Оптимизирана имплементација на потребната трансформација, која користи множества на инструкции SSE или AVX, е обезбедена од API преку класата Reconstruct3D. Оваа класа конвертира карта на диспаритет во мапа на координати на 3Д точки. Ве молиме погледнете ја документацијата API за повеќе детали.
10.5 параметри
За читање и пишување параметри на уредот се користи посебен мрежен протокол. Овој протокол е имплементиран од DeviceParameters. Сите параметри што се менуваат преку овој протокол ќе се ресетираат ако уредот се рестартира или ако корисникот направи промена на параметарот преку web интерфејс.
48
11 Испорачан СОФТВЕР
Слика 31: Слика од екранот на апликацијата NVCom.
11 Испорачан софтвер
11.1 NVCom
Достапниот изворен код или изданието на бинарниот софтвер ја вклучува и клиентската апликација NVCom, која е прикажана на Слика 31. Кога сами ја составувате оваа апликација, ве молиме проверете дали сте ги инсталирале библиотеките OpenCV и Qt. NVCom ги обезбедува следниве карактеристики:
· Откријте Ruby уреди, view нивниот статус и пристап до нивното поставување. · Примајте и прикажувајте слики и карти за разлики од Руби. · Изведете кодирање во боја на карти за разлики. · Обезбедете визуелизација во живо 3D pointcloud. · Напишете ги примените податоци на files како слики или облаци со 3D точки. NVCom доаѓа со GUI што овозможува пристап до сите важни функции. Понапредните функции се достапни преку опциите на командната линија, кои се наведени во Табела 2. Опциите на командната линија може да се користат и за автоматизирање на снимање или репродукција на податоци. Освен ако NVCom не се извршува во не-графички режим, тој отвора прозорец GUI што ги прикажува примените слики. Моментално прикажаниот сет на слики може да се запише на дискот со притискање на копчето Enter или со кликнување на иконата на камерата во лентата со алатки. При притискање на копчето за празно место или кликнување на иконата за снимање, сите последователни слики ќе се зачуваат. Кога ќе го затворите NVCom, ќе ги зачува своите тековни поставки, кои автоматски ќе се вчитаат повторно кога NVCom ќе се активира следниот пат.
49
11.2 GenICam GenTL продуцент
11 Испорачан СОФТВЕР
Табела 2: Достапни опции за командната линија за NvCom.
-c VAL
-f FPS -w DIR -s DIR -n Неграфски -p PORT -H HOST -t вклучено/исклучено -d -T -3 VAL
-z VAL -F -b вклучено/исклучено -h, помош
Изберете шема за кодирање на бои (0 = без боја, 1 = црвено / сино, 2 = виножито) Ограничете ја брзината на испраќање слики до FPS Веднаш запишете ги сите слики во DIR Испратете ги сликите од дадениот директориум
Користете го дадениот број на далечинска порта за комуникација Користете го даденото име на далечинскиот управувач за комуникација Активирајте / деактивирајте ги преносите на TCP Оневозможете прием на слика Печатете го времето на рамкатаamps Напишете облак со 3D точки со растојанија до VAL (0 = исклучено) Поставете го факторот на зумирање на VAL проценти Стартувај во режим на цел екран Пишување облаци со точки во бинарен формат наместо текстуален Ја прикажува оваа помош.
11.2 GenICam GenTL продуцент
11.2.1 Инсталација
Достапното издание на софтвер дополнително вклучува софтверски модул кој е во согласност со стандардот GenICam GenTL. Стандардот GenTL одредува генерички интерфејс за транспортен слој за пристап до камери и други уреди за сликање. Според конвенцијата за именување на GenICam, производителот GenTL е софтверски двигател кој обезбедува пристап до уред за сликање преку интерфејсот GenTL. Потрошувач на GenTL, од друга страна, е секој софтвер што користи еден или повеќе производители на GenTL преку овој интерфејс. Испорачаниот софтверски модул претставува производител на GenTL и може да се користи со кој било апликативен софтвер што делува како потрошувач. Ова овозможува подготвена интеграција на Ruby во постоечки софтверски пакети за машинско видување како на пр. HALCON.
Во зависност од верзијата што сте ја презеле, продуцентот е даден или како бинарен или како изворен код. Ако го изберете изданието на изворниот код, продуцентот ќе биде изграден заедно со другите софтверски компоненти. Произведениот / преземениот бинар е именуван nerian-gentl.cti. За да биде пронајден од потрошувач, ова file мора да се стави во директориум што е во патеката за пребарување GenTL. Патеката за пребарување е одредена преку следните две променливи на околината:
GENICAM_GENTL32_PATH: патека за пребарување за 32-битни производители на GenTL. GENICAM_GENTL64_PATH: патека за пребарување за 64-битни производители на GenTL.
Бинарниот инсталатер на Windows автоматски ги конфигурира овие опкружувања
50
11.2 GenICam GenTL продуцент
11 Испорачан СОФТВЕР
променливи. Кога го креирате изданието на изворниот код, ве молиме рачно конфигурирајте ги променливите на околината.
11.2.2 Виртуелни уреди
Откако ќе се постави патеката за пребарување, производителот е подготвен да го користи потрошувачот. За секој Ruby, производителот обезбедува пет виртуелни уреди, од кои секој доставува по еден дел од добиените податоци. Овие виртуелни уреди се именувани како што следува:
/color Ја дава сликата на камерата во боја што ја пренесува Ruby. Во стандардната конфигурација, ова е сликата откако ќе се примени исправката и проекцијата. Сликата е кодирана како RGB слика со 8 бита по канал (RGB8).
/left Ја обезбедува сликата од левата камера што ја пренесува Руби. Во стандардната конфигурација, овој поток на податоци не е достапен. Сликата е кодирана со 8 или 12 бита по пиксел (Mono8 или Mono12).
/right Ја дава вистинската слика од камерата. Во стандардната конфигурација, овој поток на податоци не е достапен. Сликата е кодирана во формат Mono8 или Mono12.
/disparity Ја дава картата на диспаритет што ја пренесува Руби. Овие податоци не се достапни ако Ruby е конфигуриран во режимот на премин или исправка. Картата на диспаритет се пренесува со неспакувано кодирање од 12 бита по пиксел (Mono12).
/pointcloud Обезбедува трансформација на мапата на диспаритет во облак со 3D точки (види Дел 7.2). Секоја точка е претставена со три 32-битни броеви со подвижна запирка кои кодираат x-, y- и z-координати (Coord3D_ABC32f).
/ Овој виртуелен уред обезбедува проток на податоци од повеќе делови кој ги содржи сите податоци што се достапни преку другите уреди. Во стандардната конфигурација, овој уред ја обезбедува сликата од левата камера, картата на диспаритет и облакот за 3D точки.
Виртуелните уреди /color, /left, /right и /disparity ги испорачуваат необработените податоци што се добиваат од Ruby. Податоците добиени преку /pointcloud уредот ги пресметува производителот од добиената карта на диспаритет. Ова се прави со множење на картата на диспаритет со матрицата за мапирање диспаритет до длабочина Q (види Дел 7.2), која ја пренесува Руби заедно со секој пар на слики. Неважечките разлики се поставени на минимален диспаритет и на тој начин резултираат во точки со многу големи растојанија.
Се препорачува да се користи повеќеделниот виртуелен уред / кога е потребен повеќе од еден тип на податоци. Ова ќе гарантира дека стекнувањето на сите податоци е синхронизирано. Кога се бара само еден тип на влезни податоци, тогаш користењето на посветените виртуелни уреди е најефикасната опција.
51
11.3 ROS јазол
12 ПОДДРШКА
11.2.3 ИД на уреди Сите ID на уреди кои се доделени од производителот се URLи се состои од следните компоненти:
протокол :// адреса / виртуелен уред
Компонентата на протоколот го идентификува основниот транспортен протокол што ќе се користи за комуникација. Можни се следните вредности:
udp: Користете го UDP транспортниот протокол без врска за комуникација.
tcp: Користете го TCP транспортниот протокол ориентиран кон поврзување за комуникација.
Виртуелниот уред ќе биде поставен на едно од имињата на уредите што се наведени во претходниот дел. Некои бившиampза валидни ID на уреди се: udp://192.168.10.10/ pointcloud tcp://192.168.10.100/ лево
11.3 ROS јазол
За интегрирање на Ruby со оперативниот систем на роботи (ROS), постои официјален јазол ROS. Овој јазол се нарекува nerian_stereo и може да се најде во официјалното складиште на ROS пакети. Јазолот ја објавува пресметаната карта на диспаритет и соодветниот облак од 3D точки како теми за ROS. Понатаму, може да објавува информации за калибрација на камерата и читања на IMU.
За да го инсталирате овој јазол од серверите за пакети ROS на Ubuntu Linux систем, ве молиме користете ги следните команди: > sudo apt -get update > sudo apt -get install ros -`rosversion -d`-nerian -stereo
Детални информации за овој јазол може да се најдат на соодветната вики страница на ROS2.
12 Поддршка
Ако ви треба поддршка со користење на Руби, тогаш користете го нашиот форум за поддршка на https://nerian.com/support/forum/ или контактирајте:
Nerian Vision GmbH Zettachring 2 70567 Штутгарт Германија
2http://wiki.ros.org/nerian_stereo
52
14 ИНФОРМАЦИИ ОТВОРЕН ИЗВОР
Телефон: +49 711 2195 9414 Е-пошта: service@nerian.com
Webсајт: www.nerian.com
13 Информации за гаранцијата
Уредот е обезбеден со 2-годишна гаранција според германскиот сојузен закон (BGB). Гаранцијата се губи доколку:
· Куќиштето го отвораат други лица освен официјалниот сервисен персонал на Nerian Vision Technologies.
· фирмверот е изменет или заменет, освен за официјални ажурирања на фирмверот.
Во случај на гаранција, ве молиме контактирајте го нашиот персонал за поддршка.
14 Информации со отворен код
Фирмверот на Ruby содржи код од библиотеките и апликациите со отворен код наведени во Табела 3. Изворниот код за овие софтверски компоненти и формулацијата на соодветните софтверски лиценци може да се добијат од информациите со отворен код webсајт 3. Некои од овие компоненти може да содржат код од други проекти со отворен код, кои можеби не се наведени овде. За конечна листа, ве молиме консултирајте се со соодветните изворни пакети.
Следниве организации и поединци придонесоа за различните компоненти со отворен код:
Фондацијата за слободен софтвер Inc., Емануел Пако, EMVA и соработниците, Проектот со отворен код за Android, Red Hat Incorporated, Универзитетот во Калифорнија, Беркли, Дејвид М. Геј, Кристофер Г. Деметриу, Кралскиот институт за технологија, Алексеј Зелкин, Андреј А. Чернов, FreeBSD, SL Moshier, Citrus Project, Todd C. Miller, DJ Delorie, Intel Corporation, Хенри Спенсер, Мајк Баркрофт, Константин Чугуев, Артем Битјуки, IBM, Сони, Тошиба, Алекс Татманјантс, М. Ворнер Лош, Андреј А. Чернов, Даниел Ајшен, Џон Бенистон, ARM Ltd, CodeSourcery Inc, MIPS Technologies Inc, Intel Corporation, Willow Garage Inc., NVIDIA Corporation, Advanced Micro Devices Inc., OpenCV Foundation, Itseez Inc., The Independent JPEG Group, elibThomas G. Lane, Guido Vollbeding, SimonPierre Cadieux, Eric S. Raymond, Mans Rullgard, Cosmin Truta, Gilles Vollant, James Yu, Tom Lane, Glenn Randers-Pehrson , Вилем ван Шаик, Џон Боулер, Кевин Брејси, Сем Бушел, Магнус Холмгрен, Грег Рулофс, Том Танер, Андреас Дилгер, Дејв Мартиндејл, Гај Ерик Шалнат, Пол Шмит, Тим Вегнер, Сем Лефлер, Силикон Графикс, Inc. Industrial Light & Magic, Универзитетот во Делавер, Мартин Бурники, Харлан Стен, Дени Мајер, Групата PHP, OpenSSL Software Services, Inc., OpenSSL Software Foundation, Inc., Енди Полјаков, Бен Лори, Бен Кадук, Бернд Едлингер, Бодо Молер, Дејвид Бенџамин, Емилија Кеспер, Ерик Јанг, Џеф Торп, Холгер Реиф, Курт Роеккс, Луц Јеник, Марк Џ. Кокс, Мет Касвел, Матијас Сент Пјер, Нилс Ларш, Пол Дејл, Пол К. Сатон, Ралф С. Енгелшал, Рич Салц, Ричард Левит, Стивен Хенсон, Стив Маркис, Тим Хадсон, Улф Молер, Виктор Духовни
3http://nerian.com/support/resources/scenescan-open-source/
53
14 ИНФОРМАЦИИ ОТВОРЕН ИЗВОР
Сите автори придонесуваат за пакетите вклучени во PetaLinux. Добијте ја целосната листа од www.xilinx.com/petalinux.
Ако мислите дека вашето име треба да биде вклучено во оваа листа, тогаш ве молиме известете не.
54
14 ИНФОРМАЦИИ ОТВОРЕН ИЗВОР
Табела 3: Компоненти со отворен код.
Име на Aravis GenApi референтна имплементација libgpiod libwebприклучоци Linux PTP ntp
OpenCV
OpenSSL PetaLinux PHP
Верзијата 0.6.4 закрпена 3.1.0 1.4 2.2 3.1 4.2.8p10
3.2.0
1.1.1d 2019.2 7.3.7
Лиценца(и)
Лиценца GNU LGPL 2.0 GenICam GNU LGPL 2.1 GNU LGPL 2.1 GNU GPL 2 BSD лиценца MIT лиценца BSD лиценца libpng лиценца JasPer лиценца 2.0 BSD лиценца Разни лиценца за PHP
55
Историја на ревизии
14 ИНФОРМАЦИИ ОТВОРЕН ИЗВОР
Историја на ревизии
Датум на ревизија
Опис на автор(и).
v1.0
28 септември 2022 година КС
v0.1
23 август 2022 година КС
Почетна верзија Прелиминарен нацрт
56
Документи / ресурси
![]() |
Nerian Ruby 3D длабинска камера [pdf] Упатство за користење Руби 3D длабинска камера, Руби 3D, камера за длабочина, камера |
![]() |
Nerian Ruby 3D длабинска камера [pdf] Упатство за користење Руби 3D длабинска камера, Руби 3D, камера за длабочина, камера |