2️⃣ Физика машинного зрения
🌈 Свет и цвет в машинном зрении
Видимый спектр
Человек видит: 380-750 нм
Роботы могут видеть: 200-2000 нм
- Ультрафиолет (200-380 нм): обнаружение загрязнений
- Видимый свет (380-750 нм): цветная съемка
- Инфракрасный (750-2000 нм): тепловидение, ночная съемка
Цветовые модели
RGB модель:
- R (Red) - красный: 0-255
- G (Green) - зеленый: 0-255
- B (Blue) - синий: 0-255
Пример: Желтый = R:255, G:255, B:0
📷 Принцип работы цифровой камеры
Основные компоненты
- Объектив - фокусирует свет
- Диафрагма - регулирует количество света
- Матрица - преобразует свет в электрический сигнал
- Процессор - обрабатывает сигнал в цифровое изображение
Матрица камеры
CCD матрица:
- Высокое качество изображения
- Низкий уровень шумов
- Большое потребление энергии
CMOS матрица:
- Быстрая работа
- Низкое энергопотребление
- Встроенная обработка сигнала
🔍 Разрешение и качество изображения
Разрешение матрицы
$$\text{Разрешение} = \text{Ширина} \times \text{Высота}$$
Примеры:
- VGA: 640×480 = 307,200 пикселей
- HD: 1280×720 = 921,600 пикселей
- Full HD: 1920×1080 = 2,073,600 пикселей
- 4K: 3840×2160 = 8,294,400 пикселей
Размер пикселя
$$\text{Размер пикселя} = \frac{\text{Размер матрицы}}{\text{Количество пикселей}}$$
Влияние на качество:
- Большие пиксели → лучше при слабом освещении
- Маленькие пиксели → выше детализация
💡 Освещение в машинном зрении
Типы освещения
Прямое освещение:
- Яркое освещение объекта
- Четкие тени
- Хорошо для измерения размеров
Рассеянное освещение:
- Мягкие тени
- Равномерное освещение
- Подходит для анализа поверхности
Подсветка сзади:
- Объект выглядит как силуэт
- Идеально для измерения контуров
- Выявляет отверстия и дефекты
Математика освещения
Закон обратных квадратов:
$$I = \frac{I_0}{r^2}$$
где $I$ - освещенность, $I_0$ - яркость источника, $r$ - расстояние
3️⃣ Типы камер и сенсоров
📸 Классификация камер
По типу изображения
Монохромные (черно-белые):
- Высокая чувствительность
- Быстрая обработка
- Меньший размер файлов
- Применение: измерения, контроль качества
Цветные (RGB):
- Полная цветовая информация
- Естественное восприятие
- Большие файлы
- Применение: сортировка, распознавание
🎥 Специальные типы камер
Стереокамеры
Принцип работы:
- Две камеры, расположенные на известном расстоянии
- Анализ различий между изображениями
- Вычисление глубины объектов
Расчет глубины:
$$Z = \frac{f \times B}{d}$$
где:
- $Z$ - расстояние до объекта
- $f$ - фокусное расстояние
- $B$ - расстояние между камерами
- $d$ - различие в положении объекта на изображениях
Камеры глубины (ToF)
Time-of-Flight принцип:
- Излучение инфракрасного света
- Измерение времени возврата отраженного света
- Прямое измерение расстояния до каждого пикселя
$$\text{Расстояние} = \frac{c \times t}{2}$$
где $c$ - скорость света, $t$ - время полета
🌡️ Специализированные сенсоры
Тепловизионные камеры
Диапазон: 8-14 мкм (дальний инфракрасный)
Применение:
- Поиск людей в темноте
- Контроль температуры оборудования
- Обнаружение утечек тепла
Гиперспектральные камеры
Особенность: Анализ множества узких спектральных диапазонов
Применение:
- Анализ состава материалов
- Контроль качества продуктов питания
- Медицинская диагностика
Лидары (LiDAR)
Принцип: Лазерное сканирование
Характеристики:
- Высокая точность: ±2-5 см
- Большая дальность: до 200 м
- Работа в любых условиях освещения
📊 Характеристики камер
Основные параметры
Параметр |
Бюджетная камера |
Промышленная камера |
Разрешение |
640×480 |
2048×2048 |
Частота кадров |
30 fps |
100+ fps |
Динамический диапазон |
8 бит |
12-16 бит |
Точность цвета |
±5% |
±1% |
Стоимость |
$50-200 |
$1000-5000 |
Выбор камеры для задач
Для измерений: высокое разрешение, монохромные
Для сортировки: цветные, средняя скорость
Для слежения: высокая частота кадров
Для контроля качества: высокий динамический диапазон
4️⃣ Алгоритмы обработки изображений
🔧 Предварительная обработка
Фильтрация шумов
Гауссовский фильтр:
1Алгоритм размытия по Гауссу:
21. Взять пиксель и его соседей
32. Умножить на коэффициенты Гаусса
43. Сложить результаты
54. Заменить исходный пиксель
Медианный фильтр:
1Алгоритм медианной фильтрации:
21. Взять окрестность пикселя 3×3
32. Отсортировать значения яркости
43. Выбрать средний элемент (медиану)
54. Заменить центральный пиксель
Коррекция яркости и контраста
Линейная коррекция:
$$I_{новый} = \alpha \times I_{старый} + \beta$$
где $\alpha$ - контраст, $\beta$ - яркость
🎨 Пороговая обработка (бинаризация)
Простая бинаризация
1Алгоритм простой бинаризации:
21. Выбрать пороговое значение T
32. ДЛЯ каждого пикселя (x,y):
4 ЕСЛИ яркость > T ТО
5 установить пиксель = 255 (белый)
6 ИНАЧЕ
7 установить пиксель = 0 (черный)
Адаптивная бинаризация
1Алгоритм адаптивной бинаризации:
21. ДЛЯ каждого пикселя (x,y):
3 2. Вычислить среднюю яркость в окрестности
4 3. T = средняя_яркость - константа
5 4. ЕСЛИ яркость > T ТО белый ИНАЧЕ черный
Преимущества адаптивной бинаризации:
- Работает при неравномерном освещении
- Автоматически подстраивается под локальные условия
🔍 Выделение границ и контуров
Оператор Собеля
Принцип: Вычисление градиента яркости
Маски Собеля:
1Горизонтальная: Вертикальная:
2[-1 0 1] [-1 -2 -1]
3[-2 0 2] [ 0 0 0]
4[-1 0 1] [ 1 2 1]
Алгоритм:
11. Применить горизонтальную маску → Gx
22. Применить вертикальную маску → Gy
33. Вычислить силу градиента: G = √(Gx² + Gy²)
44. Если G > порог, то граница найдена
Алгоритм Кэнни
Этапы алгоритма Кэнни:
- Размытие по Гауссу (убрать шум)
- Вычисление градиентов (Собель)
- Подавление немаксимумов
- Двойная пороговая фильтрация
- Трассировка границ
🎯 Выделение объектов по цвету
HSV цветовая модель
Компоненты:
- H (Hue) - оттенок: 0-360°
- S (Saturation) - насыщенность: 0-100%
- V (Value) - яркость: 0-100%
Преимущества HSV:
- Проще выделять объекты по цвету
- Менее чувствительна к освещению
- Интуитивно понятна
Алгоритм выделения по цвету
1Алгоритм выделения красных объектов:
21. Преобразовать изображение из RGB в HSV
32. Задать диапазон для красного цвета:
4 H: 0-10° или 350-360°
5 S: 50-100%
6 V: 50-100%
73. ДЛЯ каждого пикселя:
8 ЕСЛИ пиксель в диапазоне ТО
9 маска[пиксель] = 255
10 ИНАЧЕ
11 маска[пиксель] = 0
124. Результат: бинарная маска красных объектов
5️⃣ Распознавание и анализ объектов
📏 Анализ формы объектов
Геометрические характеристики
Площадь объекта:
$$S = \sum \text{пикселей объекта}$$
Периметр:
$$P = \text{количество граничных пикселей}$$
Компактность:
$$K = \frac{4\pi S}{P^2}$$
Интерпретация компактности:
- K ≈ 1.0 → круг
- K ≈ 0.785 → квадрат
- K ≈ 0.604 → треугольник
- K < 0.5 → вытянутый объект
🔲 Классификация геометрических фигур
Алгоритм распознавания фигур
1Алгоритм определения типа фигуры:
21. Найти контур объекта
32. Вычислить площадь S и периметр P
43. Рассчитать компактность K = 4πS/P²
54.
6 ЕСЛИ K > 0.85 ТО
7 фигура = "круг"
8 ИНАЧЕ ЕСЛИ K > 0.75 ТО
9 фигура = "квадрат"
10 ИНАЧЕ ЕСЛИ K > 0.55 ТО
11 фигура = "треугольник"
12 ИНАЧЕ
13 фигура = "неопределенная"
Анализ углов и вершин
1Алгоритм подсчета углов:
21. Найти контур объекта
32. Упростить контур (убрать лишние точки)
43. ДЛЯ каждой точки контура:
5 - Вычислить угол между соседними отрезками
6 - ЕСЛИ угол < 160° ТО счетчик_углов++
74. Классификация:
8 - 3 угла → треугольник
9 - 4 угла → четырехугольник
10 - >8 углов → вероятно круг
📊 Статистические методы распознавания
Анализ цветовых характеристик
1Алгоритм анализа цвета объекта:
21. Выделить область объекта
32. ДЛЯ каждого пикселя в области:
4 - Получить значения R, G, B
5 - Добавить в соответствующие суммы
63. Вычислить средние значения:
7 R_средний = сумма_R / количество_пикселей
8 G_средний = сумма_G / количество_пикселей
9 B_средний = сумма_B / количество_пикселей
104. Определить доминирующий цвет:
11 ЕСЛИ R_средний > G_средний И R_средний > B_средний ТО
12 цвет = "красный"
13 ИНАЧЕ ЕСЛИ G_средний > B_средний ТО
14 цвет = "зеленый"
15 ИНАЧЕ
16 цвет = "синий"
🎯 Определение положения объекта
Центр масс (центроид)
$$x_c = \frac{\sum x_i}{n}, \quad y_c = \frac{\sum y_i}{n}$$
где $(x_i, y_i)$ - координаты пикселей объекта, $n$ - количество пикселей
Ориентация объекта
Главная ось объекта:
1Алгоритм определения ориентации:
21. Найти центр масс объекта (x_c, y_c)
32. ДЛЯ каждого пикселя объекта (x, y):
4 - dx = x - x_c
5 - dy = y - y_c
6 - M20 += dx²
7 - M02 += dy²
8 - M11 += dx×dy
93. Вычислить угол главной оси:
10 угол = 0.5 × arctan(2×M11 / (M20 - M02))
Результат: угол поворота объекта относительно горизонтали
6️⃣ Применение в робототехнике
🏭 Промышленные роботы
Контроль качества продукции
Задачи:
- Проверка размеров деталей
- Поиск дефектов поверхности
- Контроль правильности сборки
- Проверка маркировки
Пример алгоритма контроля:
1Алгоритм контроля качества детали:
21. Получить изображение детали
32. Найти контур детали
43. Измерить геометрические параметры:
5 - длина, ширина, диаметры
64. Проверить соответствие стандарту:
7 ЕСЛИ все размеры в допуске ТО
8 деталь = "годная"
9 ИНАЧЕ
10 деталь = "брак"
115. Переместить деталь в соответствующий лоток
Точное позиционирование
Применение: Сборочные операции, сварка, покраска
Алгоритм:
11. Сделать снимок рабочей зоны
22. Найти целевой объект на изображении
33. Определить его положение и ориентацию
44. Вычислить смещение от заданной позиции
55. Скорректировать движение робота
66. Выполнить операцию
🚗 Мобильные роботы
Навигация и избежание препятствий
Стереозрение для навигации:
1Алгоритм навигации с препятствиями:
21. Получить пару стереоизображений
32. Вычислить карту глубины
43. Обнаружить препятствия:
5 ЕСЛИ глубина < безопасное_расстояние ТО
6 препятствие = True
74. Выбрать направление движения:
8 - Найти свободный коридор
9 - Спланировать траекторию обхода
105. Отправить команды моторам колес
SLAM (одновременная локализация и картирование)
Принцип: Робот одновременно строит карту и определяет свое положение
Этапы:
- Выделение ключевых точек на изображении
- Сопоставление точек между кадрами
- Вычисление движения камеры
- Обновление карты окружения
- Корректировка положения робота
🏠 Сервисные роботы
Распознавание людей и жестов
Задачи:
- Обнаружение лиц
- Распознавание эмоций
- Интерпретация жестов
- Слежение за человеком
Алгоритм обнаружения лица:
1Упрощенный алгоритм поиска лица:
21. Преобразовать изображение в оттенки серого
32. Найти овальные объекты подходящего размера
43. ДЛЯ каждого кандидата:
5 - Проверить наличие глаз (два темных пятна)
6 - Проверить наличие рта (горизонтальная линия)
7 - Оценить пропорции лица
84. ЕСЛИ все признаки найдены ТО
9 лицо_обнаружено = True
Манипуляция объектами
Захват предметов с визуальным наведением:
1Алгоритм визуального захвата:
21. Найти целевой объект на изображении
32. Определить его положение в 3D пространстве
43. Спланировать траекторию руки робота
54. Приблизиться к объекту
65. Скорректировать положение по камере
76. Выполнить захват
87. Проверить успешность захвата
📊 Производительность систем
Скорость обработки
Задача |
Разрешение |
Время обработки |
Простая бинаризация |
640×480 |
1-5 мс |
Выделение контуров |
640×480 |
10-50 мс |
Распознавание объектов |
640×480 |
50-200 мс |
Анализ сцены |
1920×1080 |
200-1000 мс |
Точность распознавания
- Геометрические фигуры: 95-99%
- Цветовая сортировка: 90-95%
- Обнаружение дефектов: 85-98%
- Распознавание лиц: 95-99.5%
📚 Что мы изучили
Теоретические основы
- Физика зрения: оптика, сенсоры, освещение
- Цифровые изображения: пиксели, цветовые модели, разрешение
- Алгоритмы обработки: фильтрация, бинаризация, выделение контуров
- Методы распознавания: анализ формы, цвета, текстуры
Практические навыки
- Создание блок-схем алгоритмов
- Анализ требований к системам машинного зрения
- Понимание этапов обработки изображений
- Оценка эффективности алгоритмов
STEM-интеграция
- Физика: принципы работы камер и освещения
- Математика: геометрические вычисления и статистика
- Технология: применение в робототехнике
- Информатика: алгоритмическое мышление
🎯 Практическое значение
В повседневной жизни
- Разблокировка смартфонов по лицу
- Автоматические системы безопасности
- Навигация в автомобилях
- Медицинская диагностика
В промышленности
- Контроль качества продукции
- Роботизированная сборка
- Автоматическая сортировка
- Системы безопасности на производстве
В науке и исследованиях
- Анализ медицинских изображений
- Исследование космоса
- Мониторинг окружающей среды
- Археологические исследования
🔍 Рефлексия
Метод “3-2-1”
3 новые вещи, которые я узнал:
-
2 вещи, которые меня удивили:
-
1 вопрос, который у меня остался:
-
Самооценка понимания
- Отлично понимаю - могу объяснить другим
- Хорошо понимаю - разбираюсь в основах
- Частично понимаю - нужно повторить некоторые темы
- Плохо понимаю - требуется дополнительное изучение
📝 Домашнее задание
Базовый уровень
Исследование применений:
Найдите и опишите 3 примера использования машинного зрения в разных областях (медицина, транспорт, развлечения, безопасность и т.д.)
Структура описания:
- Название системы/устройства
- Область применения
- Какую задачу решает
- Какие алгоритмы использует
Продвинутый уровень
Проект улучшения алгоритма:
Возьмите созданный на уроке алгоритм и предложите способы его улучшения:
- Как повысить точность?
- Как ускорить работу?
- Как сделать более универсальным?
Творческий уровень
Собственная задача:
Придумайте новую задачу для машинного зрения в школе или дома и опишите алгоритм ее решения в виде блок-схемы.
🎉 Заключение
Машинное зрение меняет мир!
Сегодня мы узнали:
- Как роботы “видят” окружающий мир
- Какие технологии используются для обработки изображений
- Где применяется машинное зрение в современной жизни
- Как создавать алгоритмы распознавания объектов
Помните: Машинное зрение - это не просто камеры, это сложные алгоритмы, которые превращают изображения в полезную информацию для принятия решений.
Следующий урок: “Сенсоры и датчики в робототехнике”