Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial Internet of Things >> Интернет вещей

Как open-source библиотеки ускоряют разработку робототехнического зрения

Как open-source библиотеки ускоряют разработку робототехнического зрения
Эта статья часть специального проекта AspenCore по роботам с видовым управлением.

Системы робототехнического зрения требуют широкого спектра возможностей, но open-source экосистема предлагает решения почти для любого требования. От базовой обработки изображений и распознавания объектов до продвинутого планирования движения и избегания столкновений — разработчики могут черпать из богатой коллекции библиотек. Ниже мы выделяем ключевые open-source пакеты обработки изображений, позволяющие создавать сложные робототехнические приложения. (Примечание: этот обзор фокусируется на базовых алгоритмах на базе изображений и намеренно исключает AI-драйвенные фреймворки зрения.)

OpenCV — фундамент

Любой разговор о софте для робо-видения должен признать библиотеку OpenCV. Широко принятая и богатая функциями, OpenCV доставляет более 2500 алгоритмов по модулям:

Написанная на C++, OpenCV предлагает биндинги для C++, Python, Java и MATLAB, работает на Windows, Linux, Android и macOS. Также поддерживает SIMD-инструкции и даёт GPU-ускорение через CUDA (модуль gpu) и OpenCL (модуль ocl). Релиз OpenCV 4.0 привнёс улучшения производительности и интегрировал популярный алгоритм Kinect Fusion.

SimpleCV — высокоуровневый Python-интерфейс

Хотя глубина OpenCV — сила, она может создавать крутой learning curve для разработчиков, желающих быстро прототипировать. Python-библиотека SimpleCV закрывает эту щель. Построенная на OpenCV, SimpleCV предлагает высокоуровневый, интуитивный API, позволяющий менее опытным разработчикам реализовывать типичные задачи машинного зрения с лаконичными Python-вызовами. Например, пороговое бинаризирование изображения можно выполнить в одну строку:

from SimpleCV import Image, Color, Display
# Create a half‑and‑half image
def halfsies(left, right):
    result = left
    crop = right.crop(right.width/2.0, 0, right.width/2.0, right.height)
    result = result.blit(crop, (left.width/2, 0))
    return result

# Load an image
img = Image('https://i.imgur.com/lfAeZ4n.png')
# Binarize with threshold 90 and invert
output = img.binarize(90).invert()
# Create side‑by‑side image
result = halfsies(img, output)
# Display and save
result.show()
result.save('juniperbinary.png')

Как open-source библиотеки ускоряют разработку робототехнического зрения
Рисунок 1. Результаты Python-кода выше (Источник: SimpleCV)

Point Cloud Library (PCL) для 3D восприятия

Помимо базовой манипуляции изображениями, OpenCV и SimpleCV предоставляют продвинутые алгоритмы, критичные для робототехнического восприятия, такие как распознавание объектов, выравнивание и безопасная навигация. Центральная структура данных в этих задачах — облако точек (point cloud) — многомерное представление объекта, захваченное камерами глубины. Облака точек позволяют базовые робототехнические операции: идентификацию, выравнивание, подгонку. Библиотека Point Cloud Library (PCL) поставляет алгоритмы для фильтрации, сегментации, извлечения ключевых точек и др., делая её незаменимой для 3D восприятия.

Как open-source библиотеки ускоряют разработку робототехнического зрения
Рисунок 2. Набор данных облака точек для базового тора. (Источник: Wikimedia Commons/Kieff).

Интернет вещей

  1. Over-the-Air софт-апдейты в IoT: почему SOTA matters
  2. GE создает спин-офф IIoT за 1,2 млрд долларов для усиления цифрового портфеля
  3. Подъём IoT: Почему безопасность должна быть встроена с первого дня
  4. Наследие встречает IoT: использование SaaS для более умного производства
  5. Software AG прогнозирует следующую волну роста IoT
  6. Почему надежный софт необходим для промышленной безопасности
  7. Tata расширяет присутствие в промышленном Интернете вещей
  8. Тестирование программного обеспечения для IoT-устройств: ключевые вызовы и решения
  9. 10 ключевых индикаторов того, что вашей ERP-системе нужен апгрейд
  10. Использование DevOps для преодоления сложностей встроенного ПО