Часто задаваемые вопросы#
Общие вопросы#
Что уникального в CMUcam1?#
Традиционно для захвата и обработки изображений с камеры нужны быстрые компьютеры. Также необходимо написать программное обеспечение для выполнения этой обработки. Из-за этого трудно использовать зрение как датчик в простых системах.
Система зрения CMUcam1 использует быстрый недорогой микроконтроллер для обработки всех высокоскоростных данных камеры и содержит программное обеспечение для выполнения простых задач зрения. Поскольку пользователь может выбрать вывод из системы зрения только высокоуровневой информации с малой пропускной способностью, например, что красный объект находится в позиции X-Y, простой процессор, такой как микроконтроллер PIC, может считывать эти данные и направлять небольшого робота в задачах, таких как преследование цветного мяча. Система зрения CMUcam1 позволяет игнорировать сложность сопряжения с камерой и использовать зрение так же, как любой другой датчик (например, сонар), часто используемый в робототехнических системах.
Какова частота кадров CMUcam1?#
Самая высокая частота кадров — 16,7 кадра в секунду. Это означает, что CMUcam1 может сообщать вам положение объекта примерно 17 раз в секунду. Используя программный последовательный протокол, вы можете замедлить это при желании.
Какие скорости передачи поддерживает CMUcam1?#
В последней версии прошивки (v1.12) CMUcam1 может обмениваться данными на скоростях 9600, 19200, 38400 или 115200 бод. Скорость передачи выбирается с помощью перемычек на плате.
Как обновить прошивку моей CMUcam1?#
Если вы в настоящее время используете прошивку v1.11, нет причин обновляться, если вам не нужна поддержка более низких скоростей передачи. Версия 1.11 поддерживает 38400 и 115200 бод. Версия 1.12 поддерживает эти скорости и добавляет поддержку 9600 и 19200 бод. Чтобы обновить прошивку, вам нужно перепрограммировать флеш-память в чипе процессора. Если у вас есть программатор, вы можете загрузить текущую версию с нашей страницы Загрузки и перепрошить процессор самостоятельно.
Работает ли CMUcam1 на улице?#
CMUcam1 работает на улице, но не под прямыми солнечными лучами. CMOS-камера, которую мы используем, не имеет высококачественного ИК-фильтра, поэтому солнечный свет насыщает красные пиксели, и под прямыми солнечными лучами изображение становится, по сути, монохромным. Можно добавить внешний фильтр для улучшения работы на улице. У нас есть короткая заметка, которая показывает, как условия освещения влияют на CMUcam1, которую вы можете загрузить здесь.
Могу ли я писать собственный код для CMUcam1?#
Конечно. Для этого попросите у нас исходный код прошивки, закажите себе среду программирования на C для чипа Ubicom и приступайте. Когда мы вышлем вам исходный код прошивки, мы также вышлем краткое описание структуры кода и информацию о среде программирования, которую мы используем.
Сколько энергии потребляет CMUcam1?#
Вся система потребляет около 200 миллиампер.
Каково поле зрения CMUcam1?#
Это зависит от объектива, который вы устанавливаете на CMOS-камеру. Если вы заказываете CMOS-камеру в стандартной продаже, вы получите поле зрения около 25 градусов, что относительно узко. Однако вы можете заказать более широкоугольные объективы на заказ при заказе вашей CMOS-камеры.
Какой процессор использует CMUcam1?#
Наш код обработки изображений размещён на микроконтроллере от Ubicom, работающем на частоте 75 МГц, — SX28AC. Этот чип считывает все пиксели с CMOS-камеры через параллельный интерфейс и выполняет всю обработку в реальном времени. Затем он передаёт результаты вашему микроконтроллеру или компьютеру через интерфейс последовательного порта.
Какую CMOS-камеру использует CMUcam1?#
Мы используем CMOS-камеру, которая использует CMOS-камеру на чипе OV6620 от OmniVision. Мы используем плату CMOS-камеры с номером модели C3088, на которой установлены датчик, разъём и объектив.
Работает ли CMUcam1 с другими CMOS-камерами?#
Нет. В настоящее время аппаратная и программная система разработана специально для работы с CMOS-камерой OV6620 от OmniVision. Для работы с другой камерой систему пришлось бы полностью перепроектировать.
Есть ли где-то место, где я могу найти ответы на дополнительные вопросы?#
Да. У нас есть некоторая информация о более технических вопросах на этой странице.
Где я могу узнать больше о компьютерном зрении в целом?#
CMUcam1 выполняет простую задачу компьютерного зрения, для которой он был разработан, в небольшом, недорогом корпусе. Однако общая проблема компьютерного зрения, заключающаяся в попытке распознать произвольные объекты в произвольных условиях, всё ещё является очень активной темой исследований и очень далека от того, чтобы быть хоть сколько-нибудь близкой к решённой.
Если вы хотите узнать больше о компьютерном зрении, попробуйте эти ссылки:
Технические вопросы#
Какова точная последовательность шагов, выполняемых при включении питания демонстрационным режимом?#
Вот точная последовательность, которую демонстрационный режим выполняет при включении:
Сбросьте камеру.
Подождите 5 секунд, чтобы автоматическая подстройка параметров камеры стабилизировалась.
Отправьте строку регистров камеры:
CR 18 32 19 32, которая выбирает режим YCrCb и отключает автоусиление.Выполните команду
TW.
После чего камера начнёт направлять сервопривод к центру масс цвета, обнаруженного командой TW.
Какова точная последовательность шагов, выполняемых командой «TW»?#
Вот точная последовательность, которую выполняет команда TW:
Уменьшает окно до 1/4 размера (по каждому измерению) текущего окна до нового окна, центрированного по центру текущего окна.
Вызовите команду get mean.
Восстановите окно до полного размера изображения.
Установите максимальное и минимальное значение для каждого цветового канала равным среднему значению для этого канала +/- 30.
После чего камера начнёт передавать пакеты типа C, M или N.
При каких условиях загорается светодиод отслеживания, когда включён автоматический режим?#
Светодиод загорится, когда возвращённое значение pixel_count >= 2. Возвращаемое значение pixel_count = (actual_pixel_count + 4) / 8.
Если CMOS-камера имеет разрешение 352 x 288 пикселей, почему разрешение CMUcam1 всего 80 x 143?#
Проблема здесь в том, как работают цветные цифровые камеры. Во всех цифровых цветных камерах (даже очень дорогих — за исключением некоторых, основанных на очень продвинутой технологии) вы получаете измерение только одного цветового канала на каждое положение пикселя, это называется мозаичной фильтрацией. Вот наглядная диаграмма, которая помогает это объяснить:

(Диаграмма предоставлена Foveon, Inc.)
Итак, вы можете видеть, что пиксели можно представить сгруппированными по четыре, где в каждой группе есть два измерения G и по одному измерению R и B. Если отбросить одно из измерений G (что мы и делаем), вы увидите, что реальное разрешение камеры 352x288 ближе к 176x144. Мы запускаем камеру в режиме половинного разрешения, который пропускает каждый второй блок 2x2 по горизонтали, что даёт вам 88x144. Из-за ограничений памяти в процессоре мы отбрасываем 8 столбцов по горизонтали и одну строку по вертикали, которая содержит тестовый шаблон, что даёт вам 80x143 в качестве итогового разрешения.
Просто к сведению: стандартные цифровые камеры используют сложные методы интерполяции, чтобы попытаться заполнить недостающие значения цвета в каждом пикселе и дать вам нечто чуть ближе к полному разрешению датчика.
Как точно сфокусировать CMUcam1?#
Конечно, лучший способ выполнить фокусировку — делать дампы кадров с помощью графического интерфейса. Возможно, у вас нет под рукой компьютера, или вы используете BotBall CMUcam1, который не имеет достаточного разрешения при жёстко заданной скорости 9600 бод, чтобы это работало хорошо.
В таком случае есть две альтернативы. Во-первых, вы можете попробовать считать витки резьбы. При пиковой фокусировке объектив не ввинчен полностью. Скорее, остаётся зазор резьбы около 1 миллиметра. С точки зрения числа витков, это около 2 витков, видимых в зазоре между объективом и креплением объектива.
Второй вариант опирается на идею о том, что когда изображение резкое, тёмные участки самые тёмные, а яркие — самые яркие. Другими словами, когда контраст наибольший. Когда изображение расфокусируется, экстремумы затухают до более равномерного распределения яркостей. Итак, если вы запустите режим потоковой передачи, а затем вызовете GM (Get Mean), вы можете фокусироваться в реальном времени. Смотрите на отклонение красного. По мере того как вы резко фокусируетесь на высококонтрастном объекте (например, листе бумаги с большим количеством написанного на нём) на желаемом расстоянии, будет заметный пик в отклонении красного при наиболее резкой фокусировке. Обратите внимание, что этот подход к фокусировке требует, чтобы камера и цель были довольно прочно зафиксированы, пока вы поворачиваете объектив.