Комп'ютерний зір - Конспекти
21 жовтня
Лекція 1: Модель зорового каналу та основи цифрових зображень
Самарі лекції
Ця лекція знайомить з основами комп'ютерного зору, проводячи паралелі між біологічною системою зору людини та її цифровою реалізацією. Людина сприймає близько 80-90% інформації через зоровий канал, який є надзвичайно складним та ефективним. Він починається з ока, що діє як первинний перетворювач світла, та сітківки, де фоторецептори (палички для нічного та колбочки для кольорового зору) перетворюють оптичні сигнали в нервові імпульси. Ці імпульси передаються через зоровий нерв до зорової кори головного мозку, розташованої у потиличній частині, де і відбувається фінальна обробка та "бачення" картини.
За аналогією до біологічної системи, штучні системи розпізнавання зображень також мають свою структуру: блок попередньої обробки, який виділяє з зображення ключові ознаки у вигляді вектора, блок пам'яті, де зберігаються еталонні вектори, та блок порівняння, що ідентифікує об'єкт.
В комп'ютерній графіці зображення переважно представлені у двох форматах: растровому та векторному. Растрова графіка — це масив пікселів, ідеальний для фотореалістичних зображень, але має суттєвий недолік — втрату якості при масштабуванні. Векторна графіка, навпаки, описує зображення за допомогою математичних примітивів (ліній, кривих), що дозволяє ідеально масштабувати його без втрат, але вона менш придатна для складних фотографій.
Зоровий канал людини як біологічна система
Людина, як біологічна система, взаємодіє з навколишнім світом через органи чуття. Найбільш інформативним з них є зір, через який ми отримуємо 80-90% усієї інформації. На відміну від інших органів чуття, що можуть сприймати дані послідовно, зір дозволяє миттєво обробляти цілі інформаційні масиви (зорові сцени).
Зоровий канал людини є складною структурою, яка включає:
Око: Первинний механічний та оптичний перетворювач.
Сітківка: Внутрішня оболонка ока, що перетворює оптичні сигнали на нервові імпульси. Вона вистилає близько 70% очного дна, а не є пласкою поверхнею, як матриця фотоапарата.
Зорові нерви: Канали передачі сигналів від сітківки до мозку.
Зорова кора головного мозку: Розташована в потиличній частині мозку, саме тут відбувається фінальна обробка сигналів і формування образу, який ми "бачимо". Пошкодження цієї ділянки може призвести до втрати зору, навіть при здорових очах.
Будова ока та сітківки
Око є складним оптичним приладом. Світло проходить через рогівку, зіницю та кришталик, після чого фокусується на сітківці.
Сітківка — це ключовий елемент перетворення світла. Її клітинна структура складається з кількох шарів:
Фоторецептори: Перший шар, що реагує на світло. Існує два типи:
Палички: Близько 120 мільйонів. Відповідають за зір при низькому освітленні (нічний зір), не розрізняють кольори.
Колбочки: Близько 3 мільйонів. Відповідають за денний та кольоровий зір. Існує три типи колбочок, чутливих до хвиль різної довжини, що відповідають червоному, зеленому та синьому кольорам (RGB). Найвища чутливість людського ока припадає на зелений колір (близько 520 нм).
Горизонтальні, біполярні та амакринові клітини: Проміжні шари нейронів, які виконують первинну обробку сигналів від фоторецепторів.
Гангліозні клітини: Збирають оброблену інформацію та формують вихідний сигнал, який у вигляді послідовності електричних імпульсів передається у зоровий нерв.
Кібернетична модель системи розпізнавання
Штучні системи комп'ютерного зору будуються за схожим принципом. Узагальнена кібернетична структура системи розпізнавання зображень має такий вигляд:
Блок попередньої обробки: Отримує вхідне зображення та виконує над ним низку операцій (сегментація, виділення контурів, масштабування), в результаті чого формується вектор характеристичних ознак — набір чисел, що унікально описує об'єкт.
Блок пам'яті: Зберігає базу даних еталонних векторів ознак для відомих об'єктів (наприклад, вектори для "кішки", "кола", "трикутника").
Блок порівняння: Порівнює вхідний вектор ознак з еталонними векторами з пам'яті. Якщо знайдено збіг (з певною похибкою), система ідентифікує об'єкт.
Растрові зображення: Основи та характеристики
У сучасних комп'ютерах використовуються два основні типи представлення графіки. Перший і найпоширеніший — растровий.
Растрове зображення (bitmap image) — це прямокутна сітка (масив) точок, які називаються пікселями. Кожен піксель має свої координати та характеристики, головним чином колір та яскравість. Завдяки малим розмірам пікселів людське око сприймає їх як єдине цілісне зображення.
Основні характеристики растрового зображення:
Розмір: Кількість пікселів по ширині та висоті (наприклад, 1920x1080).
Глибина кольору: Кількість біт, що використовується для кодування кольору одного пікселя. Найпопулярнішою є 24-бітна система (True Color), де на кожен з трьох каналів (червоний, зелений, синій) виділяється по 8 біт. Це дозволяє відобразити до 16.7 мільйонів кольорів.
Роздільна здатність (Resolution): Кількість пікселів на одиницю довжини (наприклад, точок на дюйм - DPI), важлива для друку.
Недолік: Головний мінус растрової графіки — неможливість ідеального масштабування. При збільшенні зображення пікселі стають помітними, що призводить до втрати чіткості та появи "драбинкового ефекту".
Формати растрових файлів та стиснення
Растрові файли можуть займати багато місця, тому для їх зберігання застосовують алгоритми стиснення, які бувають двох типів:
Стиснення без втрат (Lossless):
Алгоритм зменшує розмір файлу, але дозволяє відновити зображення в його первинному вигляді без жодних втрат якості.
Приклади форматів: BMP (зазвичай нестиснутий), PNG (добре підходить для вебу, підтримує прозорість), TIFF (часто використовується у видавничих системах та поліграфії).
Стиснення із втратами (Lossy):
Алгоритм значно зменшує розмір файлу (в десятки разів), але робить це шляхом видалення частини "несуттєвої" інформації. Відновити зображення в оригінальній якості неможливо.
Приклад формату: JPEG (JPG) — найпопулярніший формат для фотографій, використовується в мобільних телефонах та інтернеті завдяки малому розміру файлів.
Векторна графіка: Альтернативний підхід
Векторна графіка — це спосіб представлення зображень за допомогою сукупності графічних примітивів: точок, ліній, кривих та полігонів, які описуються математичними формулами.
Переваги:
Ідеальне масштабування: Оскільки зображення описується формулами, його можна нескінченно збільшувати або зменшувати без будь-якої втрати якості.
Малий розмір файлу: Для опису простих геометричних об'єктів потрібно значно менше даних, ніж для зберігання кожного пікселя.
Недоліки:
Непридатність для фотореалістичних зображень: Складні зображення з плавними переходами кольорів та великою кількістю деталей (як фотографії) дуже важко або неможливо представити у векторному вигляді.
Перетворення з векторного формату в растровий є простим завданням, тоді як зворотний процес (растеризація) є дуже складним.
Лекція 2: Характеристики зображень та алгоритми стиснення
Самарі лекції
Ця лекція поглиблює знання про цифрові зображення, зосереджуючись на їхніх ключових характеристиках та методах зменшення обсягу даних. Растрові зображення, що є масивами пікселів, вимагають значних обсягів пам'яті, особливо при високій якості. Їхня якість визначається двома основними параметрами: роздільною здатністю (кількістю пікселів, що впливає на чіткість) та глибиною кольору (кількістю біт на піксель, що визначає палітру доступних кольорів). Найпоширенішим є 24-бітний формат (True Color), де колір кожного пікселя кодується комбінацією трьох основних кольорів: червоного, зеленого та синього (RGB).
Для ефективної роботи із зображеннями застосовують алгоритми стиснення, які поділяються на дві категорії. Стиснення без втрат (Lossless) дозволяє зменшити розмір файлу без будь-якої втрати інформації, що ідеально підходить для графіки та креслень. До таких методів належать RLE (кодування довжин серій), сімейство алгоритмів LZ та кодування Хаффмана, яке присвоює коротші коди символам, що зустрічаються частіше. Стиснення із втратами (Lossy) забезпечує набагато вищий ступінь компресії за рахунок видалення частини "несуттєвої" для людського ока інформації. Яскравим прикладом є алгоритм JPEG, який є стандартом для фотографій. Він працює шляхом розбиття зображення на блоки 8x8 пікселів та застосування до них дискретного косинусного перетворення для відкидання менш значущих деталей.
Ключові характеристики растрових зображень
Якість та обсяг растрового зображення залежать від кількох фундаментальних параметрів.
1. Роздільна здатність (Resolution)
Роздільна здатність визначає кількість пікселів, з яких складається зображення, і безпосередньо впливає на його деталізацію та чіткість. Чим більше пікселів на одиницю площі, тим якіснішим є зображення. Низька роздільна здатність приводить до ефекту пікселізації (аліасингу), коли окремі пікселі стають видимими, а контури об'єктів виглядають як "драбинка".
[Примітка: Тут потрібне візуальне порівняння зображення з низькою та високою роздільною здатністю, щоб продемонструвати пікселізацію.]
2. Глибина кольору (Color Depth)
Глибина кольору — це кількість біт, що використовується для кодування кольору одного пікселя. Цей параметр визначає, скільки унікальних кольорів може бути у зображенні.
Чорно-біле зображення: 1 біт на піксель (0 — білий, 1 — чорний).
Відтінки сірого (Grayscale): 8 біт на піксель, що дозволяє відобразити 256 градацій від чорного до білого.
Індексовані кольори: 8 біт на піксель, але замість відтінків сірого використовується фіксована палітра з 256 кольорів.
Повноколірне зображення (True Color): 24 біти на піксель. Це найпоширеніший стандарт, що дозволяє відобразити приблизно 16.7 мільйонів відтінків, що є більше, ніж може розрізнити людське око.
[Примітка: Тут доречно вказати формулу розрахунку кількості кольорів: Кількість кольорів = 2^N, де N — глибина кольору в бітах.]
Кодування кольорових зображень
Для того, щоб комп'ютер міг працювати з кольором, його необхідно представити у числовому вигляді. В 24-бітній моделі RGB колір кожного пікселя формується шляхом змішування трьох базових кольорів: червоного (Red), зеленого (Green) та синього (Blue). На кожен з цих трьох каналів виділяється по 8 біт, що дозволяє задати 256 рівнів інтенсивності для кожного з них (від 0 до 255).
Чорний колір отримується, коли інтенсивність усіх трьох каналів дорівнює нулю.
Білий колір — коли інтенсивність усіх каналів максимальна (255).
Інші кольори та відтінки утворюються шляхом комбінації різних рівнів інтенсивності трьох базових кольорів.
[Примітка: Тут потрібне зображення — діаграма змішування трьох основних кольорів (RGB), що показує утворення білого, блакитного, пурпурового та жовтого кольорів на перетинах.]
Стиснення зображень без втрат (Lossless Compression)
Алгоритми стиснення без втрат зменшують розмір файлу, зберігаючи при цьому абсолютно всю вихідну інформацію. Після розархівації зображення буде ідентичним оригіналу. Такі методи є ефективними для зображень з обмеженою кількістю кольорів та великими однотонними областями (креслення, графіки, логотипи).
Алгоритм RLE (Run-Length Encoding)
Один з найпростіших алгоритмів. Його принцип полягає у заміні послідовностей (серій) однакових байтів на пару значень: кількість повторень і сам байт. Наприклад, якщо в зображенні є рядок з п'яти підряд білих пікселів, RLE замінить їх на код, що означає "5 білих пікселів".
[Примітка: Тут потрібен простий візуальний приклад роботи алгоритму RLE. Наприклад, рядок пікселів "АААББББВ" перетворюється на "3А4Б1В".]
Алгоритм LZ та його сімейство
Ці алгоритми працюють, знаходячи повторювані послідовності байтів у всьому файлі. Замість того, щоб зберігати послідовність знову, алгоритм створює посилання на її попередню появу, вказуючи зміщення та довжину.
Алгоритм Хаффмана
Це класичний алгоритм, що базується на частоті появи символів (значень байтів) у файлі. Його ідея полягає в тому, щоб присвоїти коди різної довжини:
Символам, що зустрічаються найчастіше, присвоюються найкоротші бітові коди.
Символам, що зустрічаються рідко, присвоюються довші коди.
Таким чином, загальний обсяг даних зменшується. Цей метод часто використовується як один з етапів в інших, більш складних алгоритмах стиснення (включаючи JPEG).
[Примітка: Тут потрібна ілюстрація принципу кодування Хаффмана. Можна показати дерево кодування для простого набору символів, де видно, як символи з вищою частотою отримують коротші коди.]
Стиснення зображень із втратами (Lossy Compression)
Ці алгоритми досягають значно вищих коефіцієнтів стиснення шляхом незворотного видалення частини інформації, яка вважається менш важливою для візуального сприйняття людиною. Вони ідеально підходять для фотографій, де плавні переходи кольорів та велика кількість деталей роблять втрати майже непомітними.
Алгоритм JPEG (Joint Photographic Experts Group)
JPEG є промисловим стандартом для стиснення повноколірних зображень. Його робота складається з кількох основних етапів:
Розбиття на блоки: Зображення ділиться на блоки розміром 8x8 пікселів.
Дискретне косинусне перетворення (ДКП): Для кожного блоку застосовується математичне перетворення, яке переводить дані з просторового представлення (пікселі) у частотне (коефіцієнти). Це дозволяє відокремити важливі низькочастотні компоненти (плавні зміни кольору) від менш важливих високочастотних (різкі деталі).
Квантування: На цьому етапі відбувається основна втрата даних. Коефіцієнти, отримані на попередньому кроці, діляться на значення зі спеціальної таблиці, а результат округлюється. Високочастотні коефіцієнти, які менш помітні для ока, округлюються більш грубо, багато з них стають нулями.
Кодування: Отримана матриця коефіцієнтів стискається за допомогою алгоритмів без втрат (зокрема, RLE для нулів та кодування Хаффмана).
Ступінь стиснення в JPEG можна регулювати: вищий ступінь стиснення означає більшу втрату якості.
[Примітка: Тут потрібна схема, що ілюструє основні етапи JPEG-стиснення: розбиття зображення на блоки 8x8, застосування ДКП, квантування та кодування.]
Лекція 3: Алгоритми стиснення без втрат (Хаффман) та з втратами (JPEG)
Самарі лекції
Ця лекція детально розглядає два фундаментальні підходи до стиснення зображень. Перший — метод кодування Хаффмана, що є класичним алгоритмом стиснення без втрат. Його ключовий принцип полягає в аналізі частоти появи кожного унікального байта в зображенні. Байтам, що зустрічаються найчастіше, присвоюються найкоротші бітові коди, тоді як рідкісні байти отримують довші коди. Це дозволяє суттєво зменшити загальний обсяг даних без жодної втрати інформації, що робить його ідеальним для архівування даних та як складову частину більш складних алгоритмів.
Другий підхід — алгоритм JPEG, який є світовим стандартом для стиснення фотографічних зображень із втратами. Це багатоетапний процес, розроблений для досягнення максимального стиснення шляхом видалення візуально несуттєвої інформації. Процес включає перетворення колірного простору з RGB в YCrCb для окремої роботи з яскравістю та кольором, розбиття зображення на блоки 8x8 пікселів, застосування дискретного косинусного перетворення для переходу в частотну область, та ключовий етап — квантування, де відбувається основна втрата даних. На фінальному етапі отримані коефіцієнти стискаються без втрат за допомогою алгоритмів RLE та Хаффмана. Хоча JPEG забезпечує високу ефективність стиснення, він може призводити до появи візуальних артефактів, таких як блочність та ефект Гіббса (ореоли на різких межах).
Метод кодування Шеннона-Фано (Нагадування)
Перш ніж перейти до методу Хаффмана, варто згадати схожий за ідеєю метод Шеннона-Фано. Він також базується на ймовірностях появи символів (байтів). Його суть полягає в рекурсивному поділі відсортованого за ймовірністю списку символів на дві групи з приблизно однаковою сумарною ймовірністю. Одній групі присвоюється біт '0', другій — '1', і процес повторюється для кожної підгрупи, поки в ній не залишиться один символ.
Алгоритм Хаффмана: стиснення на основі частоти
Метод Хаффмана є більш оптимальним та поширеним алгоритмом, ніж Шеннон-Фано. Він також використовує ймовірності появи байтів, але будує коди за іншим принципом — "знизу вгору".
Процес кодування:
Аналіз та сортування: Складається список усіх унікальних байтів у файлі та підраховується ймовірність (частота) появи кожного з них. Список сортується в порядку спадання ймовірності.
Побудова дерева (згортка):
Беруться два елементи з найменшими ймовірностями і об'єднуються в один новий вузол. Ймовірність цього вузла дорівнює сумі ймовірностей двох його дочірніх елементів.
Список пересортовується з урахуванням нового вузла.
Цей процес повторюється доти, доки всі елементи не будуть об'єднані в одне дерево з єдиним кореневим вузлом, ймовірність якого дорівнює 1.
Присвоєння кодів:
Починаючи від кореня дерева, ребрам, що ведуть до дочірніх вузлів, присвоюються біти '0' та '1' (наприклад, '0' для меншої ймовірності, '1' для більшої).
Код для кожного байта — це послідовність бітів, що утворюється при русі від кореня дерева до відповідного листового вузла.
Результат: Байти з найбільшою ймовірністю появи (наприклад, колір фону) отримують найкоротші коди (1-2 біти), а рідкісні байти — найдовші. Це забезпечує високий ступінь стиснення без втрат.
[Примітка: Тут необхідна візуальна схема, що демонструє побудову дерева Хаффмана крок за кроком, як було показано в лекції. Схема повинна включати початковий список імовірностей, процес їх згортання та фінальний граф з присвоєнням кодів '0' та '1' ребрам.]
Алгоритм JPEG: стандарт стиснення із втратами
JPEG (Joint Photographic Experts Group) — це не просто один алгоритм, а цілий конвеєр послідовних операцій, розроблений спеціально для стиснення повноколірних фотореалістичних зображень.
Етапи стиснення JPEG:
Перетворення колірного простору: Зображення переводиться з моделі RGB (Червоний, Зелений, Синій) у модель YCrCb. У цій моделі:
Y — компонента яскравості (Luminance).
Cr та Cb — компоненти кольоровості (Chrominance). Людське око набагато чутливіше до змін яскравості, ніж до змін кольору. Це дозволяє сильніше стискати дані про колір (Cr, Cb) майже без помітної втрати якості.
[Примітка: Тут доречно навести матрицю переходу з простору RGB у YCrCb, згадану в лекції.]
Розбиття на блоки: Зображення ділиться на матриці (блоки) розміром 8x8 пікселів. Усі подальші операції виконуються над кожним таким блоком окремо.
Дискретне косинусне перетворення (ДКП): До кожного блоку 8x8 застосовується ДКП. Це математичне перетворення переводить просторовий опис блоку (значення пікселів) у частотний (матрицю коефіцієнтів).
Коефіцієнти у верхньому лівому куті матриці відповідають за низькі частоти (плавні зміни кольору, основна частина зображення).
Коефіцієнти у правому нижньому куті — за високі частоти (різкі переходи, дрібні деталі).
Квантування: Це ключовий етап, на якому відбувається втрата даних. Кожен коефіцієнт з матриці 8x8 ділиться на відповідне значення зі спеціальної "матриці квантування", а результат округлюється. Значення в матриці квантування підібрані дослідним шляхом так, щоб сильніше "загрубити" високочастотні коефіцієнти, які менш помітні для ока. Багато з них після цього кроку стають нулями. Саме якість матриці квантування визначає баланс між ступенем стиснення та якістю зображення.
Зигзаг-сканування: Матриця коефіцієнтів 8x8 перетворюється на одновимірний вектор (масив з 64 елементів) шляхом її обходу по діагоналі ("зигзагом"). Це робиться для того, щоб згрупувати велику кількість нульових коефіцієнтів (які з'явились після квантування) в кінці вектора.
[Примітка: Тут потрібне зображення, що ілюструє зигзаг-сканування матриці 8x8, яке перетворює її на одновимірний вектор.]
Стиснення без втрат: Отриманий вектор стискається за допомогою комбінації методів:
RLE (Run-Length Encoding) застосовується для ефективного кодування довгих послідовностей нулів.
Кодування Хаффмана використовується для стиснення решти коефіцієнтів.
Недоліки JPEG та візуальні артефакти
Незважаючи на високу ефективність, стиснення із втратами призводить до появи специфічних спотворень, особливо при високих коефіцієнтах стиснення:
Блочність: Зображення може візуально "розпадатися" на квадрати 8x8, оскільки кожен блок обробляється незалежно.
Ефект Гіббса (Ореоли): На межах різких переходів кольорів (наприклад, контур об'єкта на контрастному фоні) можуть з'являтися розмиті "ореоли" або шуми. Це відбувається через втрату високочастотних коефіцієнтів, що відповідають за чіткість країв.
Інші методи стиснення (Фрактальний алгоритм)
Існують й інші підходи до стиснення, наприклад, фрактальний алгоритм. Його ідея полягає в тому, щоб знайти в зображенні самоподібні патерни та описати все зображення не пікселями, а набором математичних перетворень (афінних перетворень), які можуть відтворити ці патерни. Цей метод дозволяє досягти дуже високих ступенів стиснення, але є обчислювально складним.
Лекція 4: Засоби реєстрації відеоінформації та методи обробки зображень
Самарі лекції
Лекція починається з огляду сучасних засобів реєстрації відеоінформації, зокрема телевізійних камер та систем відеоспостереження. Розглядаються ключові характеристики, що визначають якість камери та її застосування: оптичний формат матриці, роздільна здатність, порогова чутливість (особливо для нічної зйомки), наявність електронного затвору та діафрагми. Особлива увага приділяється параметрам об'єктивів, зокрема фокусній відстані, яка безпосередньо впливає на кут огляду та перспективу зображення, що є критично важливим для систем розпізнавання.
Друга, більш теоретична частина лекції, присвячена фундаментальним методам обробки зображень, що базуються на математичних перетвореннях. Розглядається перетворення Фур'є, яке дозволяє розкласти складний сигнал або зображення на прості гармонійні складові, аналізуючи його в частотній області. Далі лекція знайомить з вейвлет-перетворенням, що є більш досконалим методом, оскільки дозволяє аналізувати сигнал одночасно в часовій та частотній областях. Наостанок розглядається перетворення Адамара, яке, на відміну від Фур'є, використовує базисні функції у вигляді прямокутних імпульсів, що робить його зручним для цифрової обробки.
Телевізійні камери та системи відеоспостереження
Сучасні системи відеоспостереження можуть бути побудовані на різній базі: від простих квадраторів, що виводять зображення з чотирьох камер, до потужних відеореєстраторів та гнучких систем на базі персонального комп'ютера з платами відеозахвату.
Лектор демонструє приклади сучасних камер: IP-камера, що вкручується в патрон лампи, та поворотна камера для розміщення на поверхнях, які керуються через мобільні додатки (наприклад, Tuya, Imou) і є елементами "розумного будинку".
Телевізійна камера — це первинний перетворювач, що конвертує оптичне зображення в електричний відеосигнал. Саме її характеристики визначають фінальну якість зображення в системі. Основні елементи камери — це об'єктив та світлочутливий елемент, яким найчастіше є ПЗЗ-матриця (прилад із зарядовим зв'язком).
Камери класифікуються за багатьма параметрами:
Корпусні та безкорпусні.
Чорно-білі та кольорові.
Звичайного та високого розрізнення.
Для внутрішнього та зовнішнього спостереження.
Мініатюрні (для прихованого спостереження) та IP-камери.
Ключові характеристики телекамер
Оптичний формат: Розмір світлочутливої області ПЗЗ-матриці, що вимірюється в дюймах (1/4", 1/3", 1/2"). Чим більший формат, тим менше геометричних спотворень.
Роздільна здатність (Розрізнення): Максимальна кількість телевізійних ліній (ТВЛ), яку камера може розрізнити. Чим вище цей показник, тим дрібніші деталі видно на зображенні.
Звичайне розрізнення: 380-420 ТВЛ для чорно-білих, 300-320 ТВЛ для кольорових.
Високе розрізнення: 500-600 ТВЛ для чорно-білих, 375-450 ТВЛ для кольорових.
Порогова чутливість: Мінімальна освітленість (в Люксах, Лк), при якій камера ще здатна формувати зображення. Камери з високою чутливістю та інфрачервоною підсвіткою можуть працювати в повній темряві, реагуючи на теплове випромінювання об'єктів.
Синхронізація: Механізм, що забезпечує узгоджену роботу кількох камер в одній системі, аби перемикання між ними відбувалося плавно, на початку кадру.
Електронний затвор: Дозволяє змінювати час накопичення заряду (витримку). Це необхідно для отримання чіткого зображення об'єктів, що швидко рухаються, або при роботі в умовах надмірної освітленості.
Автоматичне регулювання підсилення (АРП): Властивість камери автоматично змінювати коефіцієнт підсилення відеосигналу залежно від рівня освітленості сцени.
Об'єктиви та їхні параметри
Об'єктив — це оптична система, що формує зображення на ПЗЗ-матриці.
Фокусна відстань (F): Відстань від центру оптичної системи до її головного фокуса. Цей параметр визначає кут огляду та перспективу знімка.
Коротка фокусна відстань: Дає широкий кут огляду, але "розтягує" перспективу, збільшуючи візуальну відстань між об'єктами.
Довга фокусна відстань: Дає вузький кут огляду ("наближає" об'єкти) та "ущільнює" перспективу, візуально зменшуючи відстань між переднім та заднім планами.
[Примітка: Тут необхідна серія порівняльних фотографій, аналогічна до прикладу з дівчиною та деревом, що демонструє, як зміна фокусної відстані (наприклад, 24 мм, 35 мм, 50 мм, 70 мм) впливає на перспективу та співвідношення об'єктів на передньому та задньому планах.]
Трансфокатор (Зум): Пристрій, що дозволяє плавно змінювати фокусну відстань об'єктива.
Діафрагмове число: Характеризує відносний отвір об'єктива, тобто його здатність пропускати світло.
Основи обробки зображень: Перетворення Фур'є
Перетворення Фур'є — це фундаментальний математичний інструмент, що дозволяє перевести сигнал (в тому числі й зображення) з його звичного просторового (або часового) представлення у частотне. Суть перетворення полягає в розкладанні будь-якого складного сигналу на суму простих гармонійних коливань (синусів та косинусів) з різними частотами та амплітудами. Результатом є амплітудно-частотний спектр, який показує, які частоти і з якою інтенсивністю присутні в сигналі.
[Примітка: Тут доцільно розмістити два візуальних пояснення: 1) Графік, що показує розкладання складного сигналу на прості синусоїди (його амплітудно-частотний спектр). 2) Графік, що демонструє зворотний процес — як сума кількох простих синусоїд утворює складний сигнал.]
Для цифрових сигналів використовується Дискретне перетворення Фур'є (ДПФ).
[Примітка: Тут потрібен візуальний приклад застосування перетворення Фур'є до зображення. Слід показати: 1) Оригінальне зображення ("Олена"). 2) Його амплітудний спектр. 3) Його фазовий спектр.]
Вейвлет-перетворення (Wavelet Transform)
Вейвлет-перетворення є більш сучасним та потужним аналогом перетворення Фур'є. Його головна перевага полягає у локалізації в часі та частоті. На відміну від синусоїд, які є нескінченними в часі, базисні функції вейвлетів ("материнський вейвлет" та його копії) є локальними "сплесками" або "хвильками". Це дозволяє аналізувати, які частоти присутні в сигналі в конкретні моменти часу, що є неможливим при класичному перетворенні Фур'є.
[Примітка: Тут потрібна ілюстрація, що показує вигляд материнської вейвлет-функції та її "породжених" копій, які відрізняються масштабом та сувом.]
Перетворення Адамара
Перетворення Адамара також базується на розкладанні сигналу по системі базисних функцій. Однак, на відміну від перетворення Фур'є, де базисними функціями є синуси та косинуси, тут використовуються прямокутні періодичні функції, елементи яких приймають значення лише "+1" або "-1". Ці функції задаються за допомогою матриць Адамара. Такий підхід є обчислювально простішим і добре підходить для цифрової реалізації, оскільки не потребує операцій множення.
[Примітка: Тут необхідне зображення базисних функцій (зображень) перетворення Адамара для матриці 8x8, де чорний колір відповідає +1, а білий — -1.]
Лекція 5: Методи обробки зображень. Перетворення Хафа, Хартлі та Радона
Самарі лекції
Ця лекція продовжує розгляд математичних методів обробки зображень, фокусуючись на трьох важливих перетвореннях. Перше — перетворення Хафа, яке є ефективним інструментом для виявлення геометричних примітивів, зокрема прямих ліній, на зображенні. Його суть полягає у переході від простору координат зображення (XY) до "простору параметрів" (простору Хафа), де кожна точка зображення "голосує" за всі можливі прямі, що через неї проходять. Максимуми в цьому просторі параметрів відповідають лініям на вихідному зображенні.
Друге — перетворення Хартлі, яке є альтернативою класичному перетворенню Фур'є. Його головна відмінність і перевага полягає в тому, що воно працює виключно з дійсними числами, перетворюючи дійсні функції в дійсні, без використання комплексних чисел, що спрощує обчислення. Третє, і найбільш детально розглянуте, — перетворення Радона. Цей потужний метод полягає в отриманні набору проекцій зображення під різними кутами. Інтегруючи (або сумуючи в дискретному випадку) інтенсивності пікселів вздовж паралельних ліній, можна отримати одновимірні проекції, які унікально описують об'єкт. Цей підхід лежить в основі медичної томографії та є ефективним для розпізнавання об'єктів, виявлення ліній та видалення шумів.
Перетворення Хафа (Hough Transform)
Перетворення Хафа — це алгоритм, призначений для пошуку та виділення на зображенні об'єктів певного класу, найчастіше — прямих ліній. Основна ідея полягає у використанні процедури "голосування" у просторі параметрів.
Принцип роботи:
Параметризація прямої: Замість стандартного рівняння прямої y = mx + b (яке має проблему з вертикальними лініями, де m прямує до нескінченності), використовується нормальне рівняння: r = x cos(θ) + y sin(θ)
r — довжина перпендикуляра, опущеного з початку координат на пряму.
θ — кут, який цей перпендикуляр утворює з віссю X.
Перехід у простір Хафа: Кожна точка (x, y) на зображенні перетворюється не в точку, а в синусоїдальну криву у просторі параметрів (r, θ). Ця крива представляє всі можливі прямі, що проходять через дану точку.
Голосування: Для кожної "яскравої" точки на зображенні будується відповідна синусоїда в просторі Хафа (який зазвичай представляють у вигляді 2D-масиву-акумулятора). У комірках, через які проходить синусоїда, значення акумулятора збільшується на одиницю.
Пошук максимумів: Точки перетину синусоїд в просторі Хафа відповідають прямим, що проходять через кілька точок на вихідному зображенні. Комірки акумулятора з найбільшими значеннями (локальні максимуми) вказують на параметри (r, θ) найбільш ймовірних прямих на зображенні.
Таким чином, задача пошуку колінеарних точок на зображенні зводиться до задачі пошуку точок перетину кривих у просторі параметрів.
[Примітка: Тут необхідна візуалізація, що демонструє принцип роботи перетворення Хафа. Вона має включати: 1) Точку в декартових координатах та відповідну їй синусоїду в просторі Хафа (r, θ). 2) Дві точки в декартових координатах та перетин їхніх синусоїд в одній точці в просторі Хафа.]
Перетворення Хартлі (Hartley Transform)
Перетворення Хартлі, запропоноване у 1942 році, є альтернативою перетворенню Фур'є. Його ключова особливість — робота виключно в області дійсних чисел.
Воно перетворює дійснозначну функцію (сигнал) в іншу дійснозначну функцію (її спектр).
Для цього використовується спеціальне ядро перетворення: cas(t) = cos(t) + sin(t).
Головна перевага — відсутність необхідності працювати з комплексними числами, що може спростити апаратну реалізацію та обчислення.
[Примітка: Тут потрібно навести формулу прямого перетворення Хартлі та визначення його ядра cas(t).]
Для цифрової обробки сигналів існує Дискретне перетворення Хартлі (ДПХ), яке є аналогом Дискретного перетворення Фур'є (ДПФ).
Перетворення Радона (Radon Transform)
Перетворення Радона, запропоноване ще в 1917 році, є фундаментальним інструментом, що лежить в основі комп'ютерної томографії, сейсмології та сучасної обробки зображень.
Суть перетворення: полягає в отриманні набору проекцій об'єкта (двовимірної функції) шляхом інтегрування її значень вздовж прямих ліній під різними кутами.
У дискретному випадку для цифрового зображення це означає сумування значень інтенсивності пікселів вздовж паралельних ліній для кожного заданого кута.
Для традиційної прямокутної сітки пікселів зазвичай будують проекції під кутами 0°, 45°, 90°.
При використанні гексагональної (шестикутної) мозаїки, як у дослідженнях лектора, можна отримати більше проекцій (0°, 30°, 60°, 90°, 120°, 150°), що підвищує точність аналізу.
Набір таких одновимірних проекцій (радонівський образ) унікально описує вихідне зображення. Існує фундаментальний зв'язок між перетворенням Радона та перетворенням Фур'є, що дозволяє відновлювати зображення за його проекціями.
[Примітка: Тут потрібна ілюстрація, що показує, як для простої фігури (наприклад, трикутника) будується її проекція під певним кутом шляхом сумування інтенсивностей вздовж паралельних ліній.]
Практичне застосування перетворення Радона
Лектор демонструє роботу власної програми, яка реалізує перетворення Радона, на кількох прикладах:
Розпізнавання фігур: Проекції для різних геометричних фігур (лінія, трикутник, шестикутник) є унікальними і можуть слугувати їхніми числовими дескрипторами для розпізнавання.
Виявлення ліній: Різкі та високі піки на графіку проекції свідчать про наявність на зображенні прямих ліній, орієнтованих перпендикулярно до напрямку проектування. Це дозволяє, наприклад, ідентифікувати сторони символу "А".
Видалення шуму: Випадковий шум на зображенні проявляється на проекціях у вигляді дрібних, низькоамплітудних сплесків по краях основного сигналу. Встановивши поріг і відфільтрувавши ці сплески на проекціях, можна ефективно очистити вихідне зображення від шуму.
Аналіз складних об'єктів: Проекції дозволяють аналізувати структуру об'єкта. Наприклад, розрив на проекції може свідчити про наявність двох окремих об'єктів або проміжків між частинами одного об'єкта на зображенні.
Лектор підкреслює, що такий багатопроекційний аналіз є ближчим до принципу роботи зорової системи людини, де сітківка ока має сферичну форму, а не пласку, що дозволяє отримувати та аналізувати зображення під різними кутами одночасно.
Лекція 6: Фільтрація зображень та характеристичні ознаки
Самарі лекції
Ця лекція присвячена двом ключовим етапам обробки зображень: фільтрації для усунення завад та виділенню характеристичних ознак для подальшого аналізу та розпізнавання. Фільтрація є необхідною для боротьби з різноманітними шумами та дефектами, що виникають через недосконалість апаратури або особливості цифрового представлення (наприклад, аліасинг). Фільтри працюють, аналізуючи значення кожного пікселя та його околиці (сусідніх пікселів).
Розглядаються два основні підходи до фільтрації. Лінійна фільтрація (наприклад, усереднення) ефективно згладжує зображення, але має суттєвий недолік — розмиття важливих деталей та меж об'єктів. Нелінійна фільтрація є більш досконалим методом, що дозволяє боротися з шумом, краще зберігаючи контури. Яскравим прикладом є медіанний фільтр, який замінює значення пікселя на медіану його околиці, що робить його надзвичайно ефективним проти імпульсних шумів, таких як "сіль та перець".
Друга частина лекції знайомить з поняттям характеристичних (інформативних) ознак — ключових параметрів, що дозволяють описати зображення у компактній формі (у вигляді вектора чисел) для його подальшої класифікації. Завдання полягає у виборі таких ознак, які є одночасно високоінформативними та мають невелику розмірність. Правильний вибір ознак (наприклад, не тільки кількість кутів, а й їхні величини) дозволяє надійно відрізняти навіть схожі об'єкти. Ознаки можуть бути природними (форма, колір) або штучними (гістограми, спектри), отриманими у просторовій або частотній області.
Фільтрація зображень: основи та необхідність
Зображення, отримані за допомогою цифрових пристроїв (фотокамер, сканерів), часто містять завади (шуми), спричинені недосконалістю сенсорів, умовами зйомки або особливостями цифрового представлення. Одним із таких дефектів є аліасинг — ступіньковий ефект на кривих та похилих лініях у растрових зображеннях.
Ці завади ускладнюють як візуальний аналіз, так і автоматичну обробку зображень. Фільтрація — це процес, спрямований на ослаблення дії завад шляхом модифікації значень яскравості пікселів на основі аналізу їхнього локального оточення.
Фільтрацію можна здійснювати у двох областях:
Просторова область: Перетворення виконуються безпосередньо над значеннями пікселів зображення.
Частотна область: Зображення спочатку переводиться у частотне представлення (наприклад, за допомогою перетворення Фур'є), де відбувається модифікація його спектру, після чого виконується зворотне перетворення.
Просторова фільтрація та поняття околиці
Ідеологія просторової фільтрації базується на тому, що нове значення для пікселя обчислюється на основі аналізу не тільки самого цього пікселя, а і його околиці — групи найближчих сусідніх пікселів.
Існують різні типи околиць:
Околиця фон Неймана: Включає 4 найближчих сусіди (зверху, знизу, зліва, справа).
Околиця Мура: Включає 8 найближчих сусідів (всі пікселі, що оточують центральний).
Аналіз околиці дозволяє враховувати локальні властивості зображення при боротьбі з шумом.
[Примітка: Тут необхідна візуальна схема, що ілюструє околиці фон Неймана (4 сусіди) та Мура (8 сусідів) для центрального пікселя.]
Лінійна та нелінійна фільтрація
Лінійна фільтрація
При лінійній фільтрації нове значення центрального пікселя у "ковзаючому вікні" (масці або ядрі фільтра) обчислюється як лінійна комбінація (зважена сума) значень усіх пікселів у цьому вікні. Простим прикладом є усереднюючий фільтр. Недолік: Лінійні фільтри, хоча й придушують шум, одночасно розмивають різкі межі, контури та дрібні деталі, що призводить до втрати важливої інформації.
Нелінійна фільтрація
Ці фільтри також працюють у ковзаючому вікні, але виконують нелінійні операції над значеннями пікселів. Вони є більш ефективними для збереження меж об'єктів.
Сигма-фільтр: Призначений для придушення шуму зі збереженням контурів. Нове значення пікселя обчислюється як середнє зважене лише по тим сусіднім пікселям, яскравість яких потрапляє у певний діапазон (наприклад, ±2σ) від яскравості центрального елемента.
Медіанний фільтр: Один з найпопулярніших нелінійних фільтрів. Він замінює значення центрального пікселя на медіану (серединне значення у відсортованому ряді) всіх значень пікселів у вікні.
Перевага: Дуже ефективно видаляє імпульсні шуми, такі як "сіль та перець" (випадкові білі та чорні точки), практично не розмиваючи краї об'єктів.
Адаптивна медіанна фільтрація: Покращений варіант, який змінює розмір вікна та застосовує фільтрацію лише до тих пікселів, які ідентифіковані як зашумлені.
[Примітка: Тут потрібна візуальна демонстрація ефекту медіанної фільтрації: 1) Оригінальне зображення. 2) Зображення, зашумлене шумом типу «сіль та перець». 3) Зображення, відновлене за допомогою медіанного фільтра.]
Інверсна фільтрація
Інверсна фільтрація — це метод, що застосовується для відновлення зображень, які були спотворені (наприклад, розмиті) відомим чином. Задача полягає у знаходженні "оберненого" оператора, який би компенсував спотворення. Цей метод є обчислювально складним і чутливим до наявності шуму, оскільки він може підсилювати його разом з корисним сигналом.
Характеристичні ознаки зображень
Аналіз зображень — це процес виявлення та вимірювання характеристичних (інформативних) ознак, які дозволяють віднести зображення або об'єкт на ньому до певного класу.
Характеристична ознака — це визначальна властивість (параметр, характеристика) зображення, за якою його можна аналізувати. Мета полягає в тому, щоб представити складне зображення у вигляді компактного вектора характеристичних ознак — набору чисел, який є достатнім для його класифікації. Наприклад, трикутник можна описати вектором з чотирьох чисел: кількість кутів (3) та величини кожного з трьох кутів.
Головна вимога до набору ознак — поєднання високої інформативності та невеликої розмірності.
Автоматичний вибір оптимальних ознак є однією з найскладніших проблем комп'ютерного зору. Нейронні мережі роблять це імпліцитно в процесі навчання, знаходячи найбільш вагомі патерни. При класичному підході правильний вибір ознак є ключовим. Наприклад, щоб розрізнити квадрат і ромб, ознак "кількість кутів" та "довжина сторін" недостатньо — необхідно додати ознаку "величина кута".
[Примітка: Тут доречно показати два зображення – квадрата і ромба – щоб проілюструвати, чому для їх розрізнення потрібна ознака "величина кута".]
Класифікація ознак
Ознаки можна класифікувати за різними критеріями:
За способом отримання:
Природні: Ознаки, які може оцінити зорова система людини (яскравість, колір, форма, текстура).
Штучні: Ознаки, що визначаються за допомогою спеціальних обчислень (гістограми розподілу яскравості, спектри просторових частот).
За областю аналізу:
Ознаки, отримані в просторовій області: Геометричні (площа, периметр, кількість кутів) та структурні.
Ознаки, отримані в частотній області: Характеристики спектру зображення.
