Часті запитання#

Загальні запитання#

Що унікального в CMUcam1?#

Традиційно для захоплення та обробки зображень з камери потрібні швидкі комп’ютери. Також необхідно написати програмне забезпечення для виконання цієї обробки. Через це важко використовувати зір як сенсор у простих системах.

Система зору CMUcam1 використовує швидкий недорогий мікроконтролер для оброблення всіх високошвидкісних даних камери й містить програмне забезпечення для виконання простих завдань зору. Оскільки користувач може вибрати виведення лише низькосмугової високорівневої інформації від системи зору, як-от червоний об’єкт перебуває в положенні X-Y, простий процесор, як-от мікроконтролер PIC, може зчитати ці дані та керувати невеликим роботом у таких завданнях, як переслідування кольорового м’яча. Система зору CMUcam1 дає змогу ігнорувати складність сполучення з камерою та використовувати зір так само, як будь-який інший датчик (тобто сонар), який часто використовується в робототехнічних системах.

Яка частота кадрів CMUcam1?#

Найшвидша частота кадрів становить 16.7 кадрів на секунду. Це означає, що CMUcam1 може повідомляти вам положення об’єкта приблизно 17 разів на секунду. Використовуючи програмний послідовний протокол, ви можете сповільнити це за бажанням.

Які швидкості передачі (baud rate) підтримує 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-камеру на кристалі OmniVision OV6620. Ми використовуємо плату CMOS-камери з номером моделі C3088, на якій встановлено сенсор, роз’єм та об’єктив.

Чи працює CMUcam1 з іншими камерами CMOS?#

Ні. Наразі апаратна та програмна система розроблена для роботи саме з камерою CMOS OmniVision OV6620. Систему потрібно було б повністю перепроєктувати для роботи з іншою камерою.

Чи є якесь місце, де я можу знайти відповіді на додаткові запитання, які в мене є?#

Так. У нас є деяка інформація про більш технічні питання на цій сторінці.

Де я можу дізнатися більше про комп’ютерний зір загалом?#

CMUcam1 виконує просте завдання комп’ютерного зору, яке вона була розроблена виконувати, у малому, недорогому корпусі. Однак загальна проблема комп’ютерного зору — намагання розпізнати довільні об’єкти за довільних умов — усе ще є дуже активною темою досліджень і дуже далека від того, щоб бути хоч скількись близькою до розв’язаної проблеми.

Якщо ви хочете дізнатися більше про комп’ютерний зір, можливо, ви захочете спробувати ці посилання:

Технічні запитання#

Яка точна послідовність кроків, що виконується при увімкненні живлення в демонстраційному режимі?#

Ось точна послідовність, яку демонстраційний режим виконує під час увімкнення живлення:

  1. Скиньте камеру.

  2. Зачекайте 5 секунд, доки автоматичне налаштування параметрів камери стабілізується.

  3. Надішліть рядок регістрів камери: CR 18 32 19 32, який вибирає режим YCrCb і вимикає автоматичне підсилення.

  4. Виконайте команду TW.

Після чого камера почне повертати сервопривід до центру мас кольору, виявленого командою TW.

Яка точна послідовність кроків, що виконується командою «TW»?#

Ось точна послідовність, яку виконує команда TW:

  1. Зменшити вікно до 1/4 розміру (у кожному вимірі) поточного вікна до нового вікна, відцентрованого за центром поточного вікна.

  2. Викличте get mean.

  3. Відновіть вікно до повного розміру зображення.

  4. Встановіть максимальне та мінімальне значення для кожного колірного каналу як середнє для цього каналу +/- 30.

Після чого камера почне передавати пакети типу C, M або N.

За яких умов світлодіод відстеження загоряється, коли увімкнено автоматичний режим?#

Світлодіод засвітиться, коли повернене pixel_count >= 2. Повернене pixel_count = (actual_pixel_count + 4) / 8.

Якщо камера CMOS має роздільну здатність 352 x 288 пікселів, чому роздільна здатність CMUcam1 лише 80 x 143?#

Проблема тут у тому, як працюють кольорові цифрові камери. У всіх цифрових кольорових камерах (навіть дуже дорогих - окрім деяких, що ґрунтуються на якійсь дуже передовій технології) ви отримуєте лише одне вимірювання колірного каналу на розташування пікселя, це називається мозаїчною фільтрацією. Ось гарна діаграма, яка допомагає пояснити це:

Mosaic

(Діаграма надана Foveon, Inc.)

Отже, ви можете бачити, що пікселі можна уявити розташованими групами по чотири, де на групу припадає два вимірювання G та по одному вимірюванню R і B. Якщо відкинути одне з вимірювань G (що ми й робимо), ви побачите, що реальна роздільна здатність камери 352x288 ближча до 176x144. Ми запускаємо камеру в режимі половинної роздільної здатності, який пропускає кожен другий блок 2x2 по горизонталі, що дає вам 88x144. Через обмеження пам’яті в процесорі ми відкидаємо 8 стовпців по горизонталі та один рядок по вертикалі, що містить тестовий шаблон, що дає вам 80x143 як кінцеву роздільну здатність.

Просто до відома: стандартні цифрові камери використовують складні методи інтерполяції, щоб спробувати заповнити відсутні значення кольору в кожному пікселі та дати вам щось трохи ближче до повної роздільної здатності датчика.

Як я можу точно сфокусувати CMUcam1?#

Звичайно, найкращий спосіб виконати фокусування — це робити дампи кадрів за допомогою графічного інтерфейсу. У вас може не бути під рукою комп’ютера, або ви можете використовувати BotBall CMUcam1, яка не має достатньої роздільної здатності за своєї жорстко заданої швидкості 9600 бод, щоб це працювало добре.

У цьому випадку є дві альтернативи. По-перше, ви можете спробувати рахувати витки різьби. При піковому фокусі об’єктив не закручено повністю. Радше видно приблизно 1-міліметровий проміжок різьби. З точки зору кількості витків, це приблизно 2 витки, видні в проміжку між об’єктивом і кріпленням об’єктива.

Друга альтернатива ґрунтується на ідеї, що коли зображення різке, темні ділянки найтемніші, а світлі — найсвітліші. Іншими словами, коли контраст найбільший. Коли зображення розфокусовується, тоді екстремуми згасають до однорідніше розподілу інтенсивностей. Отже, якщо ви запустите потоковий режим, а потім викличете GM (Get Mean), ви можете фокусувати в реальному часі. Подивіться на відхилення червоного. Коли ви різко фокусуєтеся на висококонтрастному об’єкті (як-от аркуш паперу з великою кількістю написаного на ньому) на бажаній відстані, буде помітний пік у відхиленні червоного, коли сфокусовано найрізкіше. Зверніть увагу, що цей підхід до фокусування вимагає, щоб ви тримали камеру та ціль досить твердо закріпленими, поки ви повертаєте об’єктив.