preloader
Комп’ютерний зір: вступ для початківців

Комп’ютерний зір: вступ для початківців

Ваш телефон розблоковується, коли бачить ваше обличчя. Камера на заводі за частку секунди помічає подряпину на деталі, яку людина пропустила б. Автомобіль розпізнає пішохода на переході. Все це — комп’ютерний зір: напрям, який вчить машини розуміти зображення. Розберімося, як комп’ютер «бачить», які задачі він уміє розв’язувати і де це використовують.

Що таке комп’ютерний зір

Комп’ютерний зір — це методи, які дозволяють отримати корисну інформацію з фото чи відео. Не просто зберегти картинку, а відповісти на питання про неї: що на ній? де саме? скільки? чи є дефект?

Для людини бачити — найпростіша річ на світі. Ми впізнаємо друга в натовпі, навіть не замислюючись. Для комп’ютера це довго було однією з найскладніших задач. Чому так, стане зрозуміло, якщо подивитися, що він насправді отримує з камери.

Що «бачить» комп’ютер

Зображення шайби 10 на 10 пікселів і таблиця чисел яскравості
Для комп’ютера зображення — це таблиця чисел

Зображення складається з пікселів — маленьких квадратиків. Для чорно-білої картинки кожен піксель — це одне число від 0 (чорний) до 255 (білий). Кольорове зображення має три таких таблиці: червону, зелену і синю (RGB). Звичайна камера на 12 мегапікселів дає 36 мільйонів чисел на кадр.

Тобто комп’ютер не бачить «шайбу». Він бачить таблицю чисел. Задача комп’ютерного зору — знайти в цих числах закономірності, які відповідають шайбі, подряпині чи обличчю. І зробити це так, щоб результат не змінювався, коли трохи змінилося освітлення, кут чи фон.

Три базові задачі

Класифікація, детекція і сегментація на прикладі металевої пластини з подряпиною
Та сама деталь, три різні питання
  • Класифікація відповідає на питання «що на зображенні?». Деталь добра чи бракована. Кіт чи собака.
  • Детекція знаходить об’єкти і малює навколо них рамки: «тут подряпина, впевненість 94 %». Так рахують людей у кадрі чи знаходять коробки на палеті.
  • Сегментація визначає, яким саме пікселям належить об’єкт. Це потрібно, коли важлива точна форма: площа плями, контур деталі, межі пухлини на знімку.

Крім цього, є ще задачі зчитування тексту і кодів (OCR), вимірювання розмірів, відстеження об’єктів між кадрами, визначення 3D-положення.

Два підходи: класичний і нейромережі

Класичний комп’ютерний зір — це набір перевірених алгоритмів: фільтри, пошук країв і контурів, порівняння з шаблоном. Інженер сам вирішує, на що дивитися: «якщо на світлому фоні є темна пляма більше 2 мм — це брак». Такі алгоритми швидкі, передбачувані і добре працюють у контрольованих умовах. Найвідоміша бібліотека для цього — OpenCV.

Глибоке навчання змінило галузь приблизно з 2012 року. Замість того, щоб описувати ознаки вручну, нейромережі показують тисячі прикладів, і вона сама вчиться, що відрізняє подряпину від відблиску. Популярні моделі на зразок родини YOLO роблять детекцію в реальному часі навіть на невеликих пристроях. Детальніше про те, як нейромережі навчаються, — у вступі до штучного інтелекту.

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

Як це працює на виробничій лінії

П’ять кроків системи машинного зору: світло і камера, знімок, аналіз, рішення, дія
Система машинного зору від камери до відбраковки
  1. Світло і камера. Освітлення підбирають так, щоб дефект був максимально помітним: наприклад, світло під малим кутом робить подряпини яскравими лініями.
  2. Знімок. Датчик на конвеєрі повідомляє, що деталь у кадрі, і камера робить фото.
  3. Аналіз. Алгоритм або нейромережа обробляє зображення.
  4. Рішення. Добре чи брак, які розміри, де лежить деталь.
  5. Дія. Результат іде в ПЛК, який відбраковує деталь або керує роботом.

Головний урок, який швидко засвоюють усі, хто будує такі системи: хороше освітлення важливіше за хитрий алгоритм. Якщо дефект погано видно на знімку, жодна нейромережа його надійно не знайде.

Де це використовують

  • Контроль якості: подряпини, сколи, неправильне складання, рівень рідини в пляшці.
  • Зчитування кодів і маркування: штрихкоди, QR, дати на упаковці.
  • Роботи, що бачать: знайти деталь у ящику, де вона лежить як завгодно, і взяти її.
  • Безпека: помітити людину в небезпечній зоні або відсутність каски.
  • Поза заводом: медичні знімки, сільське господарство (стан посівів з дронів), автомобілі, магазини без кас.

Звідки беруться дані

Нейромережу треба навчити, а для цього потрібні розмічені дані: тисячі зображень, де людина позначила, де дефект, а де ні. На заводі тут є парадокс: добрих деталей мільйони, а дефектних — одиниці. Тому використовують аугментацію (штучно повертають, освітлюють, шумлять наявні знімки), синтетичні дані (генерують реалістичні зображення дефектів) і моделі, які вчаться розпізнавати «щось незвичне» лише на прикладах норми.

Куди рухається галузь

  • Базові моделі зору. Великі моделі, натреновані на мільярдах зображень, уміють сегментувати майже будь-який об’єкт без донавчання. Це різко скорочує час на старт проєкту.
  • Моделі «зір + мова». Їм можна показати фото і запитати текстом: «Що не так з цією платою?». Для швидкої перевірки ідей це вже працює, для критичних рішень на лінії поки потрібна обережність.
  • Обчислення на камері (edge AI). Нейромережі працюють прямо в розумних камерах, без передачі відео на сервер.
  • 3D-зір. Стереокамери і структуроване світло дають не лише картинку, а й глибину.

З чого почати

  1. Встановіть Python і бібліотеку OpenCV. Завантажте фото, переведіть у відтінки сірого, знайдіть краї. Це 10 рядків коду.
  2. Візьміть готову попередньо навчену модель детекції (наприклад, з родини YOLO) і запустіть на власних фото чи відео з вебкамери.
  3. Спробуйте розв’язати маленьку реальну задачу: порахувати монети на столі або відрізнити зламане печиво від цілого.

Комп’ютерний зір — один з найнаочніших способів побачити, як штучний інтелект працює в реальному виробництві. У наступних статтях розберемо камери, освітлення і перші практичні проєкти.

Схожі статті