Читайте также:
|
|
За основу створення системи керування маніпулятором (далі СКМ) було обрано бібліотеку OpenCV.
OpenCV (англ. Open Source Computer Vision Library, бібліотека комп'ютерного зору з відкритим вихідним кодом) – бібліотека алгоритмів комп'ютерного зору, обробки зображень та чисельних алгоритмів загального призначення з відкритим кодом. Реалізована на мовах C/C++, також розробляється для Python, Ruby, Matlab, Lua та інших мов. Може вільно використовуватися в академічних та комерційних цілях – поширюється в умовах ліцензії BSD.
Цілі створення даного програмного комплексу наступні:
- для затвердження загального стандартного інтерфейсу комп'ютерного зору для систем у цій області. Для сприяння зростанню числа таких систем і створення нових моделей використання PC.
- зробити платформу Intel привабливою для розробників таких програм за рахунок додаткового прискорення OpenCV за допомогою технології Intel ® Performance Libraries (зараз включає IPP (низькорівневі бібліотеки для обробки сигналів, зображень, а також медіа-кодеки) і MKL (спеціальна версія LAPACK і FFTPack)).
OpenCV здатна автоматично виявляти присутність IPP і MKL і використовувати їх для прискорення обробки.
Дана бібліотека пропонує наступний інструментарій:
- обробка 2D і 3D;
- система розпізнавання особи;
- розпізнавання жестів;
- людино-машинна взаємодія;
- детектор руху;
- ідентифікація об'єкта;
- сегментація і розпізнавання;
- стерео-бачення: сприйняття даних від двох камер;
- система прийняття рішень на основі навчання;
- алгоритм K-найближчих сусідів;
- Байєсівський класифікатор;
- штучні нейронні мережі.
Перевагами даного програмного комплексу є:
1) Проста у використанні вбудована система кореляційного аналізу вхідних відеоданих, що дозволяє легко використовувати класифікатори форми (каскади Хаара) які в режимі реального часу накладаються на зображення з подальших масштабуванням та поворотами. Даний підхід дозволяє вирішити проблему ідентифікації об’єктів у різних проекціях та під час динамічної зміни розміру.
2) Легка у реалізації система ідентифікації об’єктів за загальними класифікаторами, такими як колір (наприклад точне значення кольору, або можливі межі градації з урахуванням похибки спричиненої рівнем освітлення), форма (в системі присутня вбудована можливість ідентифікації об’єктів що відповідають певній загальній формі: коло, квадрат, лінія, трикутник).
3) Простота розширення платформи власними модулями за рахунок відкритої архітектури та системи модульності.
4) Доступність реалізацій даної системи для великої кількості мов програмування.
5) Орієнтація на основні операційні системи.
6) Вільна ліцензія.
Серед альтернатив даної системи найбільш поширеними є наступні:
Integrating Vision Toolkit – потужна і швидка бібліотека комп'ютерного зору з легкою у використанні об'єктно-орієнтованою архітектурою. Розроблена на мові С++, що дозволяє досягти додаткової швидкості роботи.
Дана бібліотека пропонує наступний мульти-платформний графічний інструментарій:
- інтерфейс камери, розроблений таким чином, що є сумісним для різних камер (IEEE1394 (CMU1394, Unicap1394), USB webcams (V4L і VfW), Quicktime, PointGrey Dragonfly, Videre SVS, і т.д.);
- калібрування камери;
- фільтри (Gaussian Smoothing, Sobel, Prewitt, Canny);
- сегментація кольору (HSV);
- стерео зір;
Недоліками даного програмного комплексу є:
1) Повна відсутність вбудованих систем ідентифікації об’єктів за основними класифікаторами, що зумовлює складність використання бібліотеки у вирішенні специфічних задач пошуку чи розрізнення певного об’єкту (присутня лише можливість побудови контуру об’єкту за раніше визначеним сплайном).
2) Складність використання методів кореляційного аналізу зображень, що зумовлена відсутністю вбудованої спеціалізованої математичної бібліотеки. Аналогічна ситуація властива і методам інтерполяції контуру об’єкту.
3) Відсутність підтримки багатоядерних процесорів для підвищення продуктивності та виконання програмного коду в декілька одночасних потоків.
4) Відсутність оновлених версій, що відкидає перспективу розподілу навантаження в роботі за рахунок використання даної системи на сучасних платформах.
Robot Operating System (ROS) – платформа для розробки програмного забезпечення роботів. Цей комплекс являє собою операційну систему, що надає функціональність гетерогенних кластерів комп'ютера. ROS була розроблена в 2007 році в Стенфордській лабораторії штучного інтелекту для підтримки STAIR проекту.
ROS надає стандартні сервіси операційної системи, такі як абстрактне представлення апаратних засобів, низькорівневі пристрої контролю, застосування часто використовуваної функціональності, передача повідомлень між процесами, і управління пакетами. ROS заснована на архітектурі графа, де обробка відбувається у вузлах. Бібліотека орієнтована на Unix-подібні системи.
ROS надає наступні функціональні можливості:
- мультиплексування інформації;
- тест-системи;
- ідентифікація об'єкта;
- сегментація і розпізнавання;
- розпізнавання осіб (за зображенням лиця);
- розпізнавання жестів;
- стеження за переміщенням;
Недоліками даного програмного комплексу є:
1) Вузька направленість загального функціоналу, спрямована в основному на робототехніку, що звужує спектр можливого використання, та майже повністю виключає можливість ведення розробок на базі даної системи для персональних компьютерів.
2) Низький рівень підтримки розробок що базуються на Windows та Mac операційних системах, а заразом і погана інтеграція з прикладним системним програмним інтерфейсом (API).
3) Відсутність системи ідентифікації об’єктів за деякими основними класифікаторами, такими як градація кольору, зміна проекції об’єкта або зміна освітленості.
AForge.NET – система комп'ютерного зору та штучного інтелекту розроблена для платформи.NET Framework. Дана бібліотека призначена для розробників і дослідників у галузі комп'ютерного зору та штучного інтелекту і охоплює своєю функціональністю наступні сфери: обробка зображень, нейронні мережі, генетичні алгоритми, машинне навчання, робототехніка і т.д.
Система включає в себе наступний набір інструментів для розробки:
- бібліотека обробки зображень та допоміжні фільтри;
- бібліотека комп'ютерного зору;
- бібліотека обчислень нейронних мереж;
- бібліотека генетичного програмування;
- бібліотека нечіткої логіки;
- бібліотека машинного навчання;
- бібліотека, яка забезпечує підтримку робототехніки;
- набір бібліотек для обробки відеоданих.
Недоліками даного програмного комплексу є:
1) Низька продуктивність роботи, що спричинена додатковими витратами ресурсів на виконання програмного коду у проміжному середовищі CLR.
2) Відсутність пакету ідентифікації зараніше визначених об’єктів (наприклад облич або частин тіла, що визначені геометричним контуром).
3) Відсутність підтримки розробок орієнтованих на операційні системи відмінні від Windows, що зумовлює проблему аналогічну бібліотеці ROS.
VXL (Vision-something-Library) – набір відкритих бібліотек розроблених на мові C++ для вирішення завдань комп'ютерного зору.
Програмний комплекс включає в собі наступні бібліотеки:
- бібліотеку геометричних перетворень;
- бібліотеку чисельних методів;
- бібліотеку обробки зображень;
- бібліотеку організації вводу-виводу;
- бібліотеку базових шаблонів;
- бібліотеку утилітних класів.
Як і основні, існують додаткові бібліотеки чисельних алгоритмів, обробки зображень, координатних систем, геометрії камери, стерео, відео маніпуляції, структури відновлення руху, ймовірності моделювання, графічного дизайну, класифікації, надійності оцінок, функцій стеження, топології, структура маніпуляції, 3D зображення та багато іншого.
Ці бібліотеки можуть бути використані для спільних наукових обчислень, а також розробки систем комп'ютерного зору.
Недоліками даного програмного комплексу є:
1) Відсутність спеціалізованих бібліотек розпізнавання образів та об’єктів, що зумовлює додаткові затрати на проектування та реалізацію власних алгоритмів ідентифікації (даний недолік поширюється як на сегментацію вхідного зображення за загальною формою або сплайном так і за кольором).
2) Складність програмування та використання вбудованих бібліотек для інтерполяції, розрізнення і подальшого стеження за ідентифікованими об’єктами.
3) Необхідність побудови складних алгоритмів та їх подальша програмна реалізація для кореляційного аналізу вхідних даних, що спричинене досить малим набором можливостей вбудованого математичного пакету.
4) Відсутність оновлених версій, що зумовлює проблему аналогічну системі Integrating Vision Toolkit.
Узагальнене порівняння розглянутих базових платформ наведено в таблиці 1.1.
Таблиця 1.1 – Порівняння базових платформ технології комп’ютерного зору
Критерій | OpenCV | AForge | ROS | VXL | IVT |
Підтримка широкого кола сучасних операційних систем | X | X | |||
Підтримка багатоядерних процесорів | X | X | |||
Можливість розподілу навантаження за рахунок мультипоточності | X | X | X | ||
Простота у використанні розробниками | X | X | X | ||
Підтримка розробниками, своєчасне оновлення версій | X | X | X | ||
Вільна ліцензія |
Дата добавления: 2015-10-21; просмотров: 325 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Відновлення зображень | | | OpenCV API |