Кодирование с использованием датчика зрения ИИ в блоках VEXcode V5

Убедитесь, что у вас настроены цветовых сигнатур и цветовых кодов с помощью датчика AI Vision, чтобы их можно было использовать с вашими блоками. Более подробную информацию об их настройке вы можете узнать, прочитав статьи ниже:

Датчик AI Vision также может обнаруживать AI-классификации и AprilTags. Чтобы узнать, как включить эти режимы обнаружения, перейдите по ссылке:

Более подробную информацию об этих отдельных блоках и о том, как их использовать в VEXcode, можно найти на сайте API.


Сделать снимок

Блок, содержащий команду «Сделать снимок» с двумя раскрывающимися списками: один с надписью AIVision1, а другой с надписью COL1. Этот блок предназначен для получения снимка с датчика AI Vision и ссылки на определенный объект или цвет из указанных переменных в среде визуального кодирования. Форма блока имеет небольшие изгибы на концах, типичные для интерфейсов кодирования на основе блоков.

БлокTake Snapshot делает снимок того, что в данный момент видит датчик AI Vision, и извлекает из этого снимка данные, которые затем можно использовать в проекте. При создании снимка вам необходимо указать, данные о каком типе объекта датчик AI Vision должен собирать:

  • Цветовая подпись
  • Цветовой код
  • Классификации ИИ
  • АпрельТеги

При создании снимка будет создан массив всех обнаруженных объектов, которые вы указали. Например, если вы хотите обнаружить «краснуюцветовую сигнатуру, а датчик искусственного интеллекта обнаружил 3 разных красных объекта, данные со всех трех будут помещены в массив
.
Дополнительную информацию о том, как указать между различными объектами, см. в разделе «Установка элемента объекта» в этой статье.

Светло-голубой блок кода с командой сделать снимок объекта или цвета. Есть два раскрывающихся списка: один с надписью AIVision2, а другой с надписью Blue. Блок предназначен для использования в среде блочного кодирования, где он делает снимок с датчика AI Vision и отслеживает объект или цвет, определяемый как синий. Блок имеет небольшие изгибы, типичные для интерфейсов кодирования, использующих модульные блоки.

В этом примере он будет обнаруживать только те объекты, которые соответствуют его настроенной цветовой сигнатуре «Синий» и никакой.

Данные, полученные из моментального снимка

Помните, что датчик AI Vision будет использовать свой последний снимок для всех последующих блоков. Чтобы вы всегда получали самую актуальную информацию от датчика AI Vision, делайте снимок каждый раз, когда хотите извлечь из него данные. 

Разрешение

Понимание разрешения датчика искусственного интеллекта имеет решающее значение для точной интерпретации данных. Разрешение сенсора составляет 320x240 пикселей, точный центр находится в точке с координатами (160, 120).

Координаты X менее 160 соответствуют левой половине поля зрения датчика, тогда как координаты более 160 представляют правую половину. Аналогично, координаты Y менее 120 указывают на верхнюю половину вида, а более 120 — на нижнюю половину.

Перейдите к «Понимание данных в утилите AI Vision» в VEXcode V5 для получения дополнительной информации о том, как объекты измеряются с помощью датчика AI Vision.

Ширина и высота

Это ширина или высота обнаруженного объекта в пикселях.

На изображении изображен синий бакибол с отслеживающим его белым квадратным контуром. В верхнем левом углу имеется метка, указывающая, что это синий объект с координатами X:176, Y:117 и размерами W:80, H:78. Красные стрелки указывают ширину и высоту объекта.

Измерения ширины и высоты помогают идентифицировать различные объекты. Например, Бакибол будет иметь большую высоту, чем Кольцо.

Два синих кубических объекта отслеживаются системой визуального распознавания. Верхний куб имеет белый контур с меткой, указывающей его положение как X:215, Y:70 и размеры W:73, H:84. Нижний куб имеет аналогичный белый контур с этикеткой X:188, Y:184 и размерами W:144, H:113. В центре каждого куба имеется белый крест, вероятно, указывающий точку фокусировки для отслеживания. На этикетках указаны измерения и данные отслеживания для каждого объекта.

Ширина и высота также указывают расстояние до объекта от датчика AI Vision. Меньшие значения обычно означают, что объект находится дальше, тогда как большие значения говорят о том, что он ближе.

При запуске программа начинается с блока, за которым следует бесконечный цикл. Внутри цикла программа делает снимок с помощью датчика AI Vision (AIVision1) для обнаружения синего объекта. Если объект существует, программа проверяет, составляет ли ширина объекта менее 250 пикселей. Если да, то робот движется вперед; в противном случае он прекращает движение. Блоки сложены вместе, что указывает на поток программы в модульной среде кодирования.

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

ЦентрX и Центр Y

Это координаты центра обнаруженного объекта в пикселях.

Синий бакибол, отслеживаемый системой компьютерного зрения. Объект обведен белым квадратом, а внутри контура находится меньший красный квадрат, окружающий центральный белый крест. Метка в верхнем левом углу изображения указывает, что объект синий, с координатами X:176, Y:117 и размерами W:80, H:78.

Координаты CenterX и CenterY помогают в навигации и позиционировании. Датчик AI Vision имеет разрешение 320 x 240 пикселей.

Два синих кубических объекта, отслеживаемые системой зрения. Верхний объект обозначен координатами X:215, Y:70 и размерами W:73, H:84, с белым контуром и белым крестом по центру. Нижний объект обозначен координатами X:188, Y:184 и размерами W:144, H:113, также обведен белым цветом с белым крестом в центре.

Видно, что объект, расположенный ближе к датчику AI Vision, будет иметь более низкую координату CenterY, чем объект, расположенный дальше.

Последовательность блочного кодирования, начинающаяся с момента начала работы, за которой следует бесконечный цикл. Внутри цикла программа делает снимок с помощью AIVision1 для обнаружения синего объекта. Если объект существует, программа поворачивается до тех пор, пока объект не окажется в центре поля зрения датчика AI Vision. Объект считается центрированным, если его значение centerX находится в диапазоне от 150 до 170. Если объект не по центру, робот поворачивает направо; в противном случае он прекращает движение. Блоки отображают ход и логику визуальной программы.

В этом примере, поскольку центр поля зрения датчика AI Vision находится в точке (160, 120), робот будет поворачивать направо до тех пор, пока координата centerX обнаруженного объекта не станет больше 150 пикселей, но меньше 170 пикселей.

Угол

Угол — это свойство, доступное только дляцветовых кодов иAprilTags. Это показывает, ориентирован ли обнаруженныйColor Codeили AprilTag по-разному.

Стопка из двух кубов, один зеленый сверху и один синий снизу, отслеживается системой технического зрения. Оба куба окружены белым контуром, а в центре зеленого куба находится белый крест. Метка в нижней части изображения отображает Green_Blue A:87°, что указывает на обнаруженные цвета и измерение угла. Ниже указаны координаты X:117, Y:186, с размерами W:137, H:172, представляющими положение и размер сложенных кубиков в рамке.

Вы можете увидеть, ориентирован ли робот по-разному относительно цветового кода илиAprilTag , и принять решения по навигации в соответствии с этим.

Два куба, зеленый и синий, размещены рядом и отслеживаются системой технического зрения. Оба куба окружены белым контуром с белым крестом в центре. Верхняя левая метка указывает Green_Blue A:0°, ссылаясь на обнаруженные цвета и измерение угла. Ниже показаны координаты X:150, Y:102, с размерами W:179, H:109, представляющими положение и размер кубов внутри кадра.

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

OriginX и OriginY

OriginX и OriginY — координаты верхнего левого угла обнаруженного объекта в пикселях.

Синий бакибол, отслеживаемый системой зрения. Объект окружен белым контуром, внутри которого по центру расположен белый крест. Верхняя левая метка указывает цвет объекта (синий), а также координаты X:176, Y:117 и размеры W:80, H:78. Маленький красный квадрат выделяет верхний левый угол объекта.

Координаты OriginX и OriginY помогают в навигации и позиционировании. Объединив эту координату с шириной и высотой объекта, можно определить размер ограничивающей рамки объекта. Это может помочь при отслеживании движущихся объектов или навигации между объектами.

Последовательность блочного кодирования, начинающаяся с момента начала работы, за которой следует бесконечный цикл. Внутри цикла программа делает снимок с помощью AIVision1 для обнаружения синего объекта. Если объект существует, программа нарисует прямоугольник на экране Brain на основе положения и размера объекта. Прямоугольник рисуется с использованием значений originX, originY, ширины и высоты объекта, которые предоставляются датчиком AIVision1. Эта программа визуально отслеживает и выделяет обнаруженный объект на экране Brain.

В этом примере прямоугольник будет нарисован на Мозге с использованием точных координат его начала, ширины и высоты.

tagID

Идентификатор тега доступен только дляAprilTags. Это идентификационный номер для указанногоAprilTag.

Три квадратных карточки с AprilTags, отслеживаемые системой машинного зрения. Каждая карта имеет идентификационный номер и соответствующие данные отслеживания. Карта слева маркирована ID:0 и показывает координаты A:350°, X:110, Y:96, W:41, H:41. Средняя карта, обозначенная ID:3, имеет координаты A:1°, X:187, Y:180, W:57, H:57. Карта справа маркирована ID:9 с координатами A:3°, X:237, Y:89, W:38, H:38. Каждая карточка имеет белый контур, и система отслеживает их положение и ориентацию.

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

Счет

Свойство оценки используется при обнаруженииклассификаций ИИ с помощью датчика зрения ИИ.

На изображении показаны четыре объекта, отслеживаемые системой технического зрения: два мяча и два кольца. Красный шар отмечен координатами X:122, Y:84, W:67, H:66 и оценкой 99%. Синий шар имеет X:228, Y:86, W:70, H:68, со счетом 99%. Зелёное кольцо имеет координаты X:109, Y:186, W:98, H:92 и оценку 99%. Красное кольцо обозначено X:259, Y:187, W:89, H:91, с оценкой 99%. Каждый объект обозначен белым цветом, что указывает на точность отслеживания.

Показатель уверенности показывает, насколько точно датчик AI Vision определяет объект. На этом изображении он на 99% уверен в идентификации классификаций ИИ этих четырех объектов. Эту оценку можно использовать, чтобы убедиться, что ваш робот фокусируется только на очень надежных обнаружениях.


Установить элемент объекта

Когда датчик AI Vision обнаруживает объект, он помещается в массив. По умолчанию датчик зрения ИИ извлекает данные из первого объекта в массиве или объекта с индексом 1. Если ваш датчик искусственного интеллекта обнаружил только один объект, то этот объект будет выбран по умолчанию.

Однако, если ваш датчик AI Vision обнаружил несколько объектов одновременно, вам нужно будет использовать блокSet Object Item чтобы указать, с какого объекта вы хотите извлечь данные.

Светло-голубой кодировочный блок. Он содержит команду для установки элемента объекта AIVision1 на 1. Этот блок является частью среды блочного кодирования, которая обычно используется для определения того, на каком объекте или элементе датчик AI Vision должен фокусироваться или отслеживаться. Форма блока имеет слегка изогнутые формы, что соответствует модульной природе платформы визуального кодирования.

Когда датчик AI Vision обнаруживает несколько объектов, они располагаются в массиве от большего к меньшему. Это означает, что самому большому обнаруженному объекту всегда будет присвоен индекс объекта 1, а самому маленькому объекту всегда будет присвоен наибольший номер.

Интерфейс утилиты AI Vision с двумя синими кубами, обнаруженными с левой стороны, каждый из которых отмечен своими координатами X и Y и размерами. Система подключена, AprilTags включен, а классификация ИИ выключена. Справа отображаются настройки синего цвета с регулируемыми диапазонами оттенка и насыщенности, установленными на 22 и 0,34 соответственно. Есть возможность добавить или установить цвет и остановить видео. Прошивка обновлена до версии 1.0.0.b16, внизу есть кнопка закрытия.

В этом примере обнаружено два объекта с цветовой сигнатуройи кодом «Синий». Они оба будут помещены в массив при использовании блокаTake Snapshot.

Интерфейс утилиты AI Vision, отслеживающий два синих куба, помеченных координатами X, Y и данными о размерах. Левый куб имеет координаты X:127, Y:179 и размеры W:136, H:123, а правый куб имеет координаты X:233, Y:74 и размеры W:78, H:87. Система подключена, AprilTags включен, а классификация ИИ выключена. Настройки синего цвета имеют диапазон тона 22 и насыщенность 0,34. Внизу отображается кнопка «Остановить видео» и информация о прошивке (версия 1.0.0.b16).

Здесь объект на переднем плане станет объектом с индексом 1, поскольку это самый большой объект, а самый маленький объект станет объектом с индексом 2.


Объект существует

Прежде чем извлекать какие-либо данные из снимка, проверять, обнаружил ли датчик AI Vision какие-либо объекты на этом снимке. Вот тут-то и вступает в игру блокObject Exists.

Существует ли светло-голубой шестиугольный кодирующий блок с текстовым объектом AIVision1? Этот блок является частью среды блочного кодирования, обычно используемой для проверки того, обнаружен ли объект датчиком AI Vision, обозначенным как AIVision1. Блок спроектирован таким образом, чтобы вписываться в модульную структуру кодирования, с небольшими изгибами и формой, характерными для таких сред.

Этот блок вернет значениеTrue илиFalse в зависимости от того, были ли обнаружены какие-либо объекты на последнем сделанном снимке.

Этот блок следуетвсегда использовать, чтобы убедиться, что вы не пытаетесь извлечь какие-либо данные из потенциально пустого снимка.

Последовательность кодирования на основе блоков, которая начинается с момента запуска, а затем следует бесконечный цикл. Внутри цикла датчик AI Vision (AIVision2) делает снимок для определения синего цвета. При обнаружении объекта с синей визуальной сигнатурой робот поедет вперед. Если объект не обнаружен, робот прекратит движение. Блоки сложены так, чтобы отражать условную логику программы, где наличие обнаруженного объекта управляет движением робота.

Например, здесь робот будет постоянно делать снимки с помощью датчика AI Vision. Если он идентифицирует с цветовой сигнатурой «синий» , он поедет вперед.


Если какой-либо снимок не имеет цветовой сигнатуры «Синий» , робот прекратит движение.


Количество объектов

Светло-голубой округлый блок кода с надписью «Количество объектов AIVision1». Этот блок используется в среде блочного кодирования для получения количества объектов, обнаруженных датчиком AI Vision, обозначенным как AIVision1. Блок вписывается в модульную структуру, обычно используемую в визуальных программных интерфейсах для робототехники или систем машинного зрения.

Использование блока Object count позволит вам увидеть, сколько объектов определенной Color Signature датчик AI Vision может увидеть на своем последнем снимке. 

Интерфейс утилиты AI Vision с двумя синими кубами, обнаруженными слева. Система подключена, AprilTags включен, а классификация ИИ отключена. Интерфейс отображает настройки для определения синего цвета со значением оттенка 22 и насыщенности 0,34. Присутствуют кнопки для остановки видео, добавления или настройки цвета. Прошивка указана как актуальная, версия 1.0.0.b16. Также имеется кнопка для отключения соединения или закрытия утилиты.

Здесь мы видим, что датчик AI Vision имеет настроенную цветовую сигнатуру цвет «Синий», и обнаруживает два объекта.

Последовательность блочного кодирования, начинающаяся с момента начала работы, за которой следует бесконечный цикл. Внутри цикла программа делает снимок с помощью AIVision2 для обнаружения синей визуальной сигнатуры. Он очищает и сбрасывает консоль перед проверкой на наличие обнаруженных синих объектов. Если существует синий объект, количество объектов выводится на консоль. Затем программа ждет две секунды, прежде чем повторить процесс. Блоки визуально представляют собой непрерывную проверку на наличие синих объектов с отображением результатов в консоли.Вывод консоли с напечатанной цифрой 2. Консоль является частью более крупного интерфейса, который, вероятно, отображает результаты работы программы, работающей в среде блочного кодирования. В верхней части консоли расположены кнопки для дополнительных действий или элементов управления, а запущенная здесь программа выводит данные на консоль печати, которая отображает на экране результат 2.

В этом коде датчик зрения ИИ сделает снимок и выведет «2» на консоль VEXcode, поскольку он обнаруживает только две сигнатуры цвета «синий» .


Объект

Раскрывающееся меню для выбора свойств объекта, связанных с AIVision1. Выбранный параметр — ширина, а в меню перечислены другие параметры, включая высоту, centerX, centerY, угол, originX, originY, tagID и оценку. Эти параметры позволяют пользователю извлекать определенные точки данных из объекта, обнаруженного датчиком AI Vision, обеспечивая гибкость отслеживания или измерения различных атрибутов объекта.

БлокObject позволяет вам сообщить свойство указанного вами объекта. Это позволяет использовать любые доступные данные, извлеченные из последнего сделанного снимка.

Свойства объекта, которые можно извлечь из сделанных снимков:

  • ширина
  • высота
  • centerX
  • centerY
  • угол
  • originX
  • originY
  • tagID
  • счет

Более подробную информацию об этих свойствах можно найти в разделе «Данные, полученные из моментального снимка» данной статьи.


Обнаружен AprilTag

Светло-голубой шестиугольный блок из интерфейса кодирования. Он содержит команду для проверки того, соответствует ли обнаруженный AIVision1 AprilTag значению 1. Этот блок используется в среде блочного кодирования и предназначен для оценки наличия определенного AprilTag. Форма и структура позволяют ему вписываться в другие логические блоки, обычно используемые в визуальном программировании для задач робототехники или искусственного интеллекта.

БлокDetected AprilTag is доступен только при включенном режиме обнаружения AprilTag

Этот блок выдаст значение True или False в зависимости от того, является ли указанный объект определенным AprilTag.

Три AprilTags отслеживаются системой технического зрения. Каждый тег имеет идентификатор и связанные с ним координаты. Левая метка имеет маркировку ID:0 с координатами X:110, Y:96, W:41, H:41. Центральная метка имеет маркировку ID:3 и координаты X:187, Y:180, W:57, H:57. Правая метка имеет идентификатор ID:9 и координаты X:237, Y:89, W:38, H:38.

Если в одном снимке обнаружено несколько AprilTags, они упорядочиваются в массиве на основе их идентифицированного идентификатора, а не по размеру.

На этом изображении обнаружены три AprilTags с идентификаторами 0, 3 и 9. Они будут организованы в массиве в порядке возрастания их идентификаторов. Объект с индексом 1 будет соответствовать AprilTag с идентификатором 0, с индексом 2 — AprilTag с идентификатором 3, а с индексом 3 — AprilTag с идентификатором 9.

Дополнительную информацию о том, что такое AprilTags и как включить их обнаружение с помощью датчика AI Vision, можно найти в этой статье.


Классификация ИИ

Светло-голубой шестиугольный блок из среды блочного кодирования. Блок содержит команду AIVision1 Классификация ИИ - BlueBall? Этот блок проверяет, классифицировал ли датчик AI Vision (AIVision1) обнаруженный объект как BlueBall. Блок содержит раскрывающиеся списки, позволяющие пользователям выбирать различные объекты или классификации ИИ для отслеживания и принятия решений в визуальном интерфейсе программирования.

Блок классификации ИИ доступен только в том случае, если включен режим обнаружения классификации ИИ.

 

Этот блок выдаст значение True или False в зависимости от того, относится ли указанный объект к определенной классификации ИИ.

То, какие классификации ИИ может обнаружить датчик ИИ-зрения, зависит от используемой модели. Дополнительную информацию о доступных классификациях ИИ и о том, как включить их обнаружение с помощью датчика AI Vision, можно найти в этой статье.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: