Каталог товаров

Pixy2 CMUcam5 Камера обнаружения и слежения за объектами

Цена:

6740 р.
Уже в корзине
Код товара: 13982
Оригинальное название:
Pixy2 CMUcam5 Smart Tracking/Following Camera PixyCam

Описание товара

Датчик обнаружения объектов/слежения за объектами Pixy2 CMUcam5

Полностью автоматизированная платформа обнаружения и распознавания статичных/подвижных объектов PixyCam Pixy 2.0 с интегрированным алгоритмом слежения за их перемещением. Легко встраиваемая в проекты, построенные на большинстве популярных микроконтроллерах, таких как Arduino, Raspberry Pi, BeagleBone Black и многих других.

Pixy2 базируется на основных возможностях оригинальной Pixy. Во вторую, обновлённую модель были добавлены совершенно новые и интересные функции, среди которых вы обнаружите:

  • Распознавание линий, пересечений и маленьких штрих-кодов, предназначенных для роботов, следующих по линии
  • Производительность улучшена до частоты 60 кадров в секунду
  • Механизму определения предмета по цвету добавлен алгоритм отслеживания перемещения
  • Улучшены и упрощены библиотеки для Arduino, Raspberry Pi, Lego Mindstorms EV3 и других контроллеров
  • Встроенный источник освещения

И конечно же, Pixy2 способна на всё, что умеет её предшественница:

  • Небольшая, быстрая, простая в использовании, недорогая, легкодоступная система технического зрения
  • Запоминает предметы, которым вы её учите
  • Подключается к Arduino с помощью прилагаемого кабеля, также работает с Raspberry Pi, BeagleBone и аналогичными контроллерами
  • В репозитории Pixy располагаются все библиотеки для Arduino, Raspberry Pi и др.
  • Поддерживает языкы C/C++ и Python
  • Инструмент конфигурирования Pixy работает на Windows, MacOS и Linux
  • Всё пользовательское/фирменное программное обеспечение имеет открытый исходный код по лицензии GNU
  • Вся документация по аппаратной части, включая схемы, спецификации, разводка печатных плат и т.д, доступны в репозитории Pixy

Как появилась Pixy

Появление Pixy CMUcam5 обусловлено совместной дружбой между Институтом робототехники им. Карнеги-Меллона (Carnegie Mellon Robotics Institute) и научно-технической лабораторией Charmed Labs. Pixy принадлежит к длинной линейке разнообразных моделей камер семейства CMUcam, её реальная разработка началась с компании на Кикстартер. Успех во всём мире пришёл к Pixy в марте 2013 года. И по сей день, эта платформа находится на волне самых популярных систем машинного зрения в истории! Финансирование Pixy осуществляется исключительно через продажи, поэтому разработчики благодарят своих покупателей за помощь в поддержке Pixy.

Технические характеристики

  • Процессор: двухядерный 32-битный NXP LPC4330 на базе ARM Cortex-M4 и ARM Cortex-M0
  • Встроенный процессор обработки изображений
  • Тактовая частота: 204 МГц
  • Питание: 5 вольт от USB, 6-10 вольт от внешнего источника
  • Потребляемый ток: 140 мА
  • RAM-память: 264 Кбайт
  • Flash-память: 2 МБайт
  • Датчик изображения: Aptina MT9M114, разрешение до 1296х976 точек
  • Угол обзора: 60 градусов по горизонтали, 40 градусов по вертикали
  • Интерфейсы вывода данных: последовательный UART, SPI, I2C, USB, цифровой, аналоговый
  • Встроенный источник освещения, яркость примерно 20 люменов
  • Размеры: 38.1 х 41.9 х 15.2 мм
  • Вес: 18 гр

Обзор Pixy2

  Лицевая сторона Pixy2  
  Обратная сторона Pixy2  
  Pixy2 pinout, Pixy2 распиновка  

 

Руководство по началу работы

Самое подробное руководство по всем продуктам PixyCam вы найдёте в нашем разделе "PIXYCAM документация" (в разработке*). Репозиторий содержит в себе всю необходимую документацию по подключению Pixy к разным микроконтроллерам и их взаимодействию. В информационном разделе расположены инструкции по предварительной настройке вашего компьютера для разных ОС, по установке совместимого ПО, требуемого для написания пользовательского кода, большое количество примеров программ, советы по устранению неполадок и многое другое.

Зрение как сенсор

Если вы хотите, чтобы ваш робот выполнял такие задачи, как взятие предмета, преследование за мячом, поиск зарядной станции и т.д., и вы ищете полноценное устройство, способное помочь в осуществлении всех поставленных целей, тогда зрение — это ваш сенсор. Датчики зрения (изображения) крайне полезны, потому что они очень гибкие. При правильном алгоритме, датчик изображения может воспринимать или обнаруживать практические всё, что угодно. Стоит понимать, что сами датчики изображений имеют пару недостатков. Во первых, они выдают сразу много данных, измеряемых мегабайтами в секунду. Во вторых, обработка огромного количества данных может перегружать большинство процессоров. Если же процессор успевает обрабатывать данные, то большая часть его вычислительной мощности будет не доступна для других задач.

Pixy2 помогает решить подобные проблемы, так как объединяет в своей конструкции датчик изображения и выделенный процессор, отправляя на ваш контроллер только полезную информацию (например, фиолетовый динозавр, обнаруженный по координатам x=54 и y=103). И делает это с частотой до 60 кадров в секунду. Передаваемая информация доступна из нескольких интерфейсов: последовательный UART, SPI, I2C, USB или цифровой/аналоговый выход. Таким образом, ваш Ардуино или другой микроконтроллер способен легко общаться с Pixy2, и иметь достаточно свободных процессорных ресурсов для других задач.

К вашему микроконтроллеру можно одновременно подцепить до нескольких камер Pixy — например, робот с четырьмя камерами, обозревающий пространство вокруг себя на 360 градусов. Или использовать Pixy2 без микроконтроллера, самостоятельно управляя переключателями или сервомоторами при возникновении определённого события.

Поддержка контроллеров

Pixy2 легко подключаться ко множеству популярных микроконтроллеров, для этих целей она оснащена различными вариантами интерфейсов: последовательный UART, SPI, I2C, USB или аналоговый/цифровой выход. Первый опыт в коммуникации Pixy2 получила от общения с модулями Ардуино. Разработчиками Pixy2 добавлена поддержка Arduino Due, Raspberry Pi и BeagleBone Black. Для всех вышеперечисленных платформ предоставляются готовые библиотеки программного обеспечения, поэтому вы можете быстро приступить к работе с ней. Кроме того, в модель Pixy2 был включён программный интерфейс языка Python, если предполагается использование контроллеров на основе Linux.

60 кадров в секунду

Что подразумевается под понятием "60 кадров секунду"? Говоря коротко, Pixy2 достаточно быстро успевает обрабатывать каждый кадр изображения, на один такой кадр тратится всего 1/60 секунды (16,7 миллисекунд). Можно сказать, что Pixy2 выполняет распознавание объектов в реальном времени. Вы получаете обновляемую информацию о новом положении обнаруженных объектов каждые 16,7 миллисекунд. При такой скорости, становиться возможным отслеживание траектории прыгающего мяча. Например мяч, двигающийся со скорость около 40 миль (приблизительно 64 км) в час, перемещается на расстояние менее 1 фута (30,5 см) за 16,7 миллисекунд. Ваш робот, выполняющий слежение за полосой, обычно двигается между сменой кадров на небольшую долю дюйма.

Фиолетовые динозавры (и другие вещи)

С целью распознавания объектов, в Pixy2 реализован алгоритм цветовой фильтрации, называемый Цветовая Связность Компонентов. Подобные методы популярны, эффективны и достаточно надёжны. Большинство из нас знакомы с аббревиатурой "RBG" (красный, зелёный и синий), применяемой в представлении цветов. Pixy2 рассчитывает цвет (оттенок) и насыщенность каждого пикселя RGB, передаваемые датчиком изображения, после чего использует полученные параметры в качестве основы при выполнении алгоритма фильтрации. Цветовой оттенок объекта в значительной степени остаётся неизменным при изменяемых освещении и экспозиции. Алгоритм фильтрации Pixy надёжен в тех случая, когда речь идёт об возможных изменениях освещения и экспозиции, способных негативно повлиять на метод определения в аналогичных устройствах.

Цветовые идентификаторы

Pixy2 запоминает до семи различных цветовых идентификаторов. У алгоритма цветной фильтрации Pixy2 не возникает проблем с определением объектов, имеющих уникальные цветовые идентификаторы. В тех случаях, когда требуется распознавать более семи предметов, применяются цветовые коды (см. ниже).

Методы распознавания объектов Пикси2

Система распознавания движущихся объектов вашей камеры компьютерного зрения, в буквальном смысле, может обнаружить одновременно сотни объектов. Определение положения каждого предмета в пространстве основано на алгоритме связанных компонентов, помогающий Pixy2 понять, где один объект начинается, а другой заканчивается. Затем, Pixy2 компилирует размеры и местоположения каждого объекта, и передаёт данные о них через один из интерфейсов (например, SPI).

 

Научите Pixy2 распознавать определённые предметы

Уникальность Pixy2 заключается в абсолютно простом методе запоминания интересующих вас объектов. Фиолетовый динозавр? Поместите динозавра перед камерой Pixy2 и нажмите кнопку. Оранжевый мяч? Поместите мяч перед камерой Pixy2 и нажмите кнопку. Как видите, ничего сложного.

Говоря более конкретно, вы обучаете Pixy2 простым удерживанием объекта перед объективом камеры, одновременно нажимая расположенную сверху кнопку. Находящийся под объективом RGB светодиод отображает цвет объекта, на который смотрит камера. Например, светодиод становится оранжевым, когда перед Pixy2 размещается оранжевый шарик. Отпустите кнопку, и Pixy2 создаст статическую модель цветов, содержащихся в объекте, после чего сохранит модель в своей флеш-памяти. С этого момента, модель будет задействована в поиске объектов с аналогичным цветовыми идентификаторами.

Pixy2 способна запоминать до семи цветовых идентификаторов, пронумерованных 1-7. По умолчанию, цветовому идентификатору присваивается номер 1. Запоминание других цветовых идентификаторов (2-7) выполняется простой последовательностью нажатий кнопок.

Pixy2 "отслеживает" каждый распознанный объект

Как только сенсор Pixy2 CMUcam5 обнаруживает новый объект, он добавляет его в текущую таблицу отслеживаемых предметов, и назначает ему индекс слежения. Затем, Pixy2 пытается найти объект, включая все перечисленные в таблице, в следующем кадре по наилучшему запомненному совпадению. Каждому отслеживаемому объекту присваивается индекс между 0 и 255. Индекс сохраняется до тех пор, пока объект не покинет поле зрения Pixy2, или камера не сможет найти его в последующих кадрах из-за окклюзии, отсутствия освещения и т.д.

Функция отслеживания поможет вам следить за определённым экземпляром объекта, даже если в кадре находятся несколько других похожих предметов.

Что такое "цветовой код"?

Цветовые комбинации, составленные из двух и более расположенных рядом цветовых меток, именуются цветовыми кодами. Pixy2 может обнаруживать и расшифровывать цветовые коды, и представлять их как специальные объекты. Применение подобного способа обозначения объектов полезно в тех случаях, когда требуется обнаружить и идентифицировать больше предметов, чем при отдельной семицветной маркировке.

Схема цветового кода из двух меток, составленных сочетанием четырёх основных цветов, позволяет различать до 12 уникальных объектов. Вот простой пример:

  Цветовые коды Pixy, Цветовые коды Pixy2  

Возможны комбинации из трёх, четырёх или пяти меток в сочетании с различными цветами, которыми можно обозначить огромное количество предметов или объектов. С помощью схемы из пяти меток и шести цветов, их количество достигает уже нескольких тысяч.

Почему цветовые коды?

С помощью цветовых кодов можно значительно повысить точность обнаружения требуемых объектов. Не исключены случаи, когда заданные цвета могут появиться в определённом порядке или близко друг к другу. К одному из недостатков цветовых кодов можно причислить необходимость их размещения на каждом предмете, который вы хотите обнаружить. Зачастую, интересующий вас объект (жёлтый шарик, фиолетовая игрушка) имеет свой уникальный цветовой идентификатор, и ему не нужен отдельный цветовой код. Pixy без проблем будет одновременно распознавать предметы, как содержащие на себе цветовые коды, так и без них.

Pixy цветовые коды, пример определения

В дополнение к положению и размеру, цветовые коды дадут вам точную оценку угла расположения объекта относительно других предметов. Оценка угла, декодирование цветовых кодов или определение объектов без меток, а также их расположение и размеры обрабатываются Pixy и предоставляются пользователю со скоростью 50 кадров в секунду.

Цветовые коды полезны в проектах, использующих навигацию. Например, перемещение робота в каком-нибудь помещении, где каждый дверной проём или коридор имеют свои уникальные цветовые коды.

Реализованная в Pixy2 технология машинного зрения однозначно станет не дорогим и надёжным решением для всех энтузиастов, увлекающихся конструированием полезных электронных устройств.

Программный интерфейс Цветовая Связность Компонентов

Подробную информацию о структуре интерфейса можно найти здесь (в разработке*).

Запуск алгоритма Цветовая Связность Компонентов в PixyMon

Информацию о запуске и настройке программы Цветовая Связность Компонентов в Pixy2 можно найти здесь (в разработке*).

Отслеживание линии при движении по полосе

В Pixy2 добавлено умение обнаруживать и отслеживать линии. Движение автоматизированного механизма по полосе было и остаётся одним из популярных демонстрационных примеров в робототехнике. Механика перемещения относительно проста в реализации и даёт роботу основные навигационные навыки. Чаще всего, в роботах задействованы так называемые дискретные фотодатчики, различающие линию и фон. Такой метод не всегда эффективен и лучше всего работает с толстыми линиями. Одним из его недостатков можно обозначить затруднение в прогнозировании направления движения или обработку пересечений линий.

  Pixy2 с механизмом панорамирования-наклона на платформе Zumo, смотрит вниз и следует по линии.  

 

Сенсор умного видеослежения Пикси2 пытается решить большинство основных проблем, возникающих при следовании за полосой, при помощи собственной умной технологии обработки массива изображений. Когда вы ведёте машину, ваши глаза получают много важной информации о дороге: её направление, наличие перекрёстков или ответвлений, насколько резок или плавен поворот. Встроенный алгоритм работает по аналогичным схеме, помогая Pixy2 самостоятельно оценивать по изображениям все перечисленные факторы пути. Pixy 2 делает всё это со скоростью 60 кадров в секунду.

 

Распознавание и отслеживание линий

Алгоритм Pixy2 научен распознавать тёмные линии на светлом фоне или наоборот. Вы можете объяснить Пикси2, что вас интересуют линии с шириной в пределах определённого диапазона. В процессе обработки каждого кадра, Pixy определяет, где начинается и где заканчивается каждая линия с заданными параметрами.

Обычно, робота интересует только та линия, по которой он в данный момент двигается. Бывают моменты, когда нет необходимости, чтобы робот переключил своё внимание на новые линии, если такие появляются в кадре. Pixy2 отслеживает все видимые линии и понимает, куда ведёт каждая из них в следующем кадре. При этом она продолжит двигаться по заданном направлении, если вами не будет указанное обратное.

Линия, по которой движется ваш робот, называется Вектор. Pixy2 передаёт вам информацию о том, где Вектор начинается и заканчивается в каждом кадре. Полученные данные позволяют определять и оценивать движение робота. Например, если в кадре вектор направлен вправо, ваш робот должен поворачивать направо, если Вектор движется влево, ваш робот должен начать поворачивать налево. В репозитории программ вы найдёте примеры для Arduino, объясняющие как это сделать.

Векторы движений Pixy2

Обнаружение пересечений и "ветвлений"

Пересечения — трудное испытание для роботов, двигающихся по полосе. Векторы могут принимать самые разные фигуры и формы. Предположим, ваш робот хорошо справляется с Т-образными перекрёстками. Он вполне может потерпеть неудачу, когда увидит Y-образное разветвление. А как насчёт 4 или 5-перекрёстных направлений? Что если пересечения и линии нарисованы от руки или слишком кривые? Pixy2 справиться и в таких случаях. Она сообщит вашей программе, что впереди обнаружено многовекторное пересечение, определит количество и угол каждой ветви. Ваша программа должна принять решение, по какому направлению двигаться дальше, и сообщить об этом Pixy2. Модуль камеры Pixi2 назначит указанную ветвь своей новой векторной линией, по которой в дальнейшем будет двигаться робот.

Определение направления движения по многовекторным пересечениям Pixy2

Чтобы PixyMon помечал перекрёстки наподобие этих, убедитесь в установке параметра "Delayed turn" на закладке Expert в таблице настроек. В противном случае, Pixy2 незамедлительно выберет поворот/ветвь, и пересечение больше не будет актуальным, пропав из PixyMon.

Штрих-коды

У Pixy2 есть ещё одна замечательная функция — она умеет различать специальные знаки в виде небольших и несложных штрих-кодов. Вы можете научить Pixy2 понимать эти знаки и выполнять соответствующие действия, когда такой знак появляется в поле её зрения. Например — повернуть налево, повернуть направо, замедлить движение и так далее. Механизм определения знаков распознаёт до 16 штрих-кодов, предоставляя вашей программе принятие самостоятельного решения на каждый из них.

Определение штрих-кодов в Pixy2

Встроенный источник света

Источник света, установленный на плате Pixy2, помогает повышсить уровень освещения окружающей среды и уменьшить размытость изображения при движении, если ваш робот следует по линии. Яркость источника освещения составляет примерно 20 люменов.

Внешнее освещение Pixy2

Программный интерфейс Слежения за линией

Подробную информацию о структуре интерфейса можно найти здесь (в разработке*).

Запуск алгоритма Слежения за линией в PixyMon

Информация о запуске и настройке программы Слежение за линией в Pixy2 открыта для изучения здесь (в разработке*).

PixyMon покажет вам, что видит Pixy2

PixyMon — удобное пользовательское приложение, совместимое с ОС Windows, MacOs и Linux. Оно позволяет вам видеть всё, что видит объектив камеры Pixy2. Отображаемое в реальном времени, изображение выводится на экран в виде необработанного или обработанного видео. Оно помогает правильно настраивать Pixy2, устанавливать порт вывода данных и управлять цветовыми идентификаторами. PixyMon связывается с Pixy2 через стандартный кабель mini-USB.

PixyMon отлично подходит для отладки вашего проекта. Когда Pixy2 соединена с Arduino или другим микроконтроллером, вы можете подключить USB-кабель к обратной стороне Pixy2 и запустить PixyMon для вывода изображения на экран, чтобы понимать происходящее. При этом не нужно ничего отключать от микроконтроллера.

Приложение PixyMon распространяется с открытым исходным кодом, как и все остальное ПО.

  Определение объектов через приложение PixyMon  

 

Видео

Видео программа отображает видео - всё просто! Её можно задействовать в задачах, когда нужно определить значения красного, зелёного или синего пикселей в указанных местах на видеоизображениях. Для получения более подробной информации, ознакомьтесь с разделом Программный Интерфейс Видео (в разработке*).

Разработчиками было замечено, что обладатели Pixy1 использовали алгоритм Цветовой Связности Компонентов для простого определения цвета (на примере кубика Рубика). Для упрощения данной процедуры, в видеопрограмму была добавлена более полезная и удобная функция getRGB.

Обратите внимание, программа PixyMon выводит координаты указателя мышки по осям X и Y в нижней части окна, облегчая получение значений координат, запрашиваемых в функции getRGB.

Сопутствующие товары

 

Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !
© Все права защищены 2021г https://compacttool.ru
Связаться с нами 8-495-752-55-22 zakaz@compacttool.ru