Компьютерное зрение
Материал из MachineLearning.
| Строка 92: | Строка 92: | ||
* '''Адаптация под синтаксис MediaWiki:''' Ввиду специфики парсера портала MachineLearning.ru (отсутствие поддержки стандартного внутритекстового рендеринга LaTeX через символы <code>$</code> и ограничений тега <code><math></code>), формулы и математические выражения были вручную оптимизированы с использованием валидных HTML-тегов и Юникод-символов (Ω, ×, ∈, ∑, ŷ) для предотвращения сбоев отображения. | * '''Адаптация под синтаксис MediaWiki:''' Ввиду специфики парсера портала MachineLearning.ru (отсутствие поддержки стандартного внутритекстового рендеринга LaTeX через символы <code>$</code> и ограничений тега <code><math></code>), формулы и математические выражения были вручную оптимизированы с использованием валидных HTML-тегов и Юникод-символов (Ω, ×, ∈, ∑, ŷ) для предотвращения сбоев отображения. | ||
* '''Методологическая основа:''' Структура статьи полностью канонизирована согласно правилам курса. | * '''Методологическая основа:''' Структура статьи полностью канонизирована согласно правилам курса. | ||
| + | == Литература == | ||
| + | * ''Otsu N.'' A threshold selection method from gray-level histograms // IEEE Transactions on Systems, Man, and Cybernetics. — 1979. — Vol. 9, no. 1. — P. 62–66. | ||
| + | * ''Beucher S., Lantuéjoul C.'' Use of watersheds in contour detection // International Workshop on Image Processing: Real-Time Edge and Motion Detection/Estimation. — Rennes, France, 1979. | ||
| + | * ''Boykov Y. Y., Jolly M. P.'' Interactive graph cuts for optimal boundary & region segmentation of objects in ND images // Proceedings of the Eighth IEEE International Conference on Computer Vision (ICCV). — Vancouver, BC, Canada, 2001. — Vol. 1. — P. 105–112. | ||
| + | * ''Long J., Shelhamer E., Darrell T.'' Fully convolutional networks for semantic segmentation // Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). — Boston, MA, USA, 2015. — P. 3431–3440. | ||
| + | * ''Ronneberger O., Fischer P., Brox T.'' U-Net: Convolutional networks for biomedical image segmentation // Medical Image Computing and Computer-Assisted Intervention (MICCAI). — Munich, Germany, 2015. — P. 234–241. | ||
| + | * ''Chen L. C., Papandreou G., Kokkinos I., Murphy K., Yuille A. L.'' Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs // IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI). — 2017. — Vol. 40, no. 4. — P. 834–848. | ||
| + | * ''Kirillov A., He K., Girshick R., Rother C., Dollár P.'' Panoptic segmentation // Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). — Long Beach, CA, USA, 2019. — P. 9404–9413. | ||
| + | * ''Zheng S., Lu J., Zhao H., Zhu X., Luo Z., Wang Y., Fu Y., Feng J., Xiang T., Torresani L., Zhang C.'' Rethinking semantic segmentation from a sequence-to-sequence perspective with transformers // Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). — 2021. — P. 6881–6890. | ||
| + | * ''Kirillov A., Mintun E., Ravi N., Mao H., Rolland C., Gustafson L., Xiao T., Whitehead S., Berg A. C., Lo W. Y., Dollár P., Girshick R.'' Segment anything // Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV). — Paris, France, 2023. — P. 4015–4026. | ||
Версия 12:55, 15 июня 2026
Шаблон:Философия ИИ/Статья создана с помощью ИИ
Содержание
|
Сегментация изображений
Сегментация изображений (англ. image segmentation) — одна из фундаментальных задач компьютерного зрения, заключающаяся в разделении цифрового изображения на несколько сегментов (множеств пикселей) с целью упрощения или изменения представления изображения для его последующего анализа. С точки зрения статистического обучения, задача сегментации представляет собой задачу пространственно-координированной попиксельной классификации или регрессии.
1. Постановка задачи
Пусть задано исходное изображение, представленное в виде трёхмерного тензора X из пространства RH × W × C, где H — высота изображения (число строк пикселей), W — ширина изображения (число столбцов пикселей), а C — количество каналов (например, C = 3 для цветового пространства RGB или C = 1 для полутоновых изображений).
Определим дискретную пространственную сетку пикселей как множество пар индексов:
- Ω = {1, ..., H} × {1, ..., W}, (i, j) ∈ Ω
Каждому пикселю с координатами (i, j) соответствует вектор признаков xij ∈ RC. В зависимости от постановки задачи, задано конечное множество меток классов Y = {1, ..., K}, где K — количество целевых категорий, включая, если необходимо, класс «фон» (background).
Целью обучения является построение отображения (алгоритма классификации) f, переводящего тензор признаков в матрицу ответов. Таким образом, для каждого отдельного пикселя алгоритм принимает решение:
- ŷij = f(X)ij, ŷij ∈ {1, ..., K}
2. Разновидности сегментации
В современном компьютерном зрении принято строгое разделение задачи на три подтипа в зависимости от структуры множества меток и требований к идентифицируемым объектам:
- Семантическая сегментация (Semantic Segmentation): Попиксельная классификация, при которой все пиксели, принадлежащие к объектам одного и того же класса (например, «автомобиль»), помечаются идентичным индексом класса. Индивидуальные границы отдельных экземпляров объектов внутри одного класса не разделяются.
- Экземплярная сегментация (Instance Segmentation): Задача, совмещающая детекцию объектов и сегментацию. Алгоритм должен не только определить класс объекта, но и локализовать каждый экземпляр (instance) отдельно. Множество меток для изображения динамически расширяется уникальными идентификаторами для каждого физического объекта. Пиксели фона при этом могут игнорироваться.
- Паноптическая сегментация (Panoptic Segmentation): Синтез семантической и экземплярной сегментации (Kirillov et al., 2019). Все множество классов разделяется на подмножества исчисляемых объектов (things: люди, машины) и аморфных фоновых регионов (stuff: небо, трава, дорога). Для объектов применяется экземплярный подход, для фона — семантический, при этом каждый пиксель изображения обязан получить ровно одну уникальную метку.
3. Эволюция подходов и историческая справка
Развитие методов сегментации можно разделить на два выраженных этапа: классический (детерминированный) и глубокий (стохастический).
Классические методы
До доминирования глубоких нейронных сетей сегментация опиралась на эвристические алгоритмы обработки сигналов и теорию графов:
- Пороговая фильтрация (Thresholding): Метод Отсу (Otsu, 1979), максимизирующий межклассовую дисперсию интенсивностей пикселей для бинаризации изображений.
- Маркерный водораздел (Watershed Algorithm): Интерпретация градиента изображения как топографического рельефа (Beucher, Lantuéjoul, 1979). Метод склонен к избыточной сегментации при наличии шумов.
- Графовые методы (Graph Cuts): Изображение представляется в виде взвешенного графа, где пиксели — вершины, а ребра отражают пространственную илическую близость. Задача сегментации сводится к нахождению минимального разреза (Boykov, Jolly, 2001) путём максимизации потока в графе.
Переход к глубокому обучению
Революция в задаче произошла в 2015 году с публикацией концепции Fully Convolutional Networks (FCN) (Long, Shelhamer, Darrell, 2015). Авторы предложили заменить полносвязные (dense) слои классификационных сетей (архитектур VGG, AlexNet) на свёрточные слои. Это позволило принимать на вход изображения произвольного пространственного размера и сохранять пространственную разметку тензора на выходе за счет применения операций транспонированной свёртки (transposed convolution) для восстановления исходного разрешения.
4. Базовые нейросетевые архитектуры
U-Net
Разработана для сегментации медицинских изображений (Ronneberger et al., 2015). Архитектура имеет симметричную контурную структуру (U-shape) и состоит из двух частей:
- Энкодер (сжимающий путь): Классическая свёрточная топология, извлекающая высокоуровневые семантические признаки и уменьшающая пространственное разрешение тензора с помощью операций Subsampling (Max Pooling).
- Декодер (разжимающий путь): Восстанавливает исходный размер маски с помощью апсэмплинга (Up-sampling / Transposed Convolution).
Ключевое нововведение U-Net — перекрёстные связи (skip-connections). Тензоры признаков из энкодера конкатенируются с соответствующими по разрешению тензорами декодера до выполнения свёртки:
- Zdec(l) = concat( Zenc(l), Up( Zdec(l+1) ) )
Это решает проблему потери низкоуровневых пространственных признаков (координат, точных границ), которая неизбежно происходит при сильном сжатии в энкодере.
Семейство DeepLab и разреженная свёртка
Предложено группой исследователей из Google (Chen et al., 2014–2017). Вместо сильного уменьшения разрешения с последующим восстановлением, авторы применили разреженную (atrous / dilated) свёртку. Свёрточное ядро расширяется за счет введения параметра разреженности r. Для одномерного сигнала свёртка с ядром w длины K приобретает вид:
- y[i] = ∑k=1..K x[i + r · k] · w[k]
Использование r > 1 позволяет экспоненциально увеличивать рецептивное поле нейрона без увеличения числа обучаемых параметров. Дополнительно введен модуль ASPP (Atrous Spatial Pyramid Pooling), извлекающий признаки на разных масштабах.
Сегментирующие трансформеры и SAM
Современный этап развития CV ознаменовался переходом от свёрточных архитектур к архитектурам на основе механизмов внимания (Attention). Модели класса Vision Transformer (ViT), такие как SETR (Zheng et al., 2021), рассматривают изображение как последовательность визуальных патчей. Кульминацией этого направления стала модель SAM (Segment Anything Model) (Kirillov et al., 2023), разработанная Meta. SAM способна осуществлять сегментацию в режиме Zero-Shot на основе различных типов промптов: точек или ограничивающих рамок.
5. Функции потерь (Loss Functions)
Выбор функции потерь критически важен из-за специфики задачи (в частности, сильного дисбаланса между площадью фона и целевых объектов). Применяются следующие подходы:
- Попиксельная многоклассовая кросс-энтропия (Pixel-wise Cross-Entropy):
- LCE = − (1 / |Ω|) · ∑(i,j)∈Ω ∑k=1..K y ij, k · ln( p ij, k )
- где y ij, k — бинарный индикатор принадлежности пикселя (i,j) к классу k, а p ij, k — предсказанная моделью вероятность (после слоя Softmax). Данная функция нестабильна, если мелкие объекты теряются на огромном фоне.
- Потери на основе коэффициента Дайса (Dice Loss):
- Представляет собой дифференцируемый аналог меры сходства и напрямую оптимизирует перекрытие масок:
- LDice = 1 − ( 2 · ∑(i,j)∈Ω y ij · p ij ) / ( ∑(i,j)∈Ω y ij2 + ∑(i,j)∈Ω p ij2 )
- Focal Loss (Фокальные потери):
- Модификация кросс-энтропии для подавления вклада легко классифицируемых пикселей (обычно пикселей фона):
- LFocal = − (1 / |Ω|) · ∑(i,j)∈Ω (1 − p ij)γ · ln( p ij )
- где γ (гамма) — гиперпараметр фокусировки. При γ > 0 модель концентрируется на «сложных» пикселях (границах и мелких деталях).
6. Метрики качества
Для оценки точности построенных масок сегментации на тестовой выборке используют три стандартных метрики:
- Pixel Accuracy (PA): Простая доля правильно классифицированных пикселей. Метрика дает ложно завышенные результаты при дисбалансе классов (если фон занимает 95% площади, предсказание чистого фона даст PA = 95%).
- Intersection over Union (IoU / Метрика Жаккара): Отношение площади пересечения предсказанной и истинной масок к площади их объединения. Для класса k рассчитывается как:
- IoUk = TPk / (TPk + FPk + FNk)
- где TP, FP, FN — истинно положительные, ложно положительные и ложно отрицательные попиксельные срабатывания соответственно. Итоговое качество модели оценивается по метрике mIoU (среднее IoU по всем классам).
- Dice Coefficient (F1-score на уровне пикселей): Гармоническое среднее между попиксельной точностью (Precision) и полнотой (Recall):
- Dicek = (2 · TPk) / (2 · TPk + FPk + FNk)
7. Распространенные ошибки и практические рекомендации
- Размытие и неточность границ объектов: Свёрточные сети из-за операций макс-пулинга склонны «округлять» острые углы и размывать мелкие детали. Рекомендуется использовать архитектуры со skip-connections (U-Net) или применять блоки условных случайных полей (CRF) на этапе постпроцессинга.
- Дисбаланс классов: Борьба с доминированием фона ведется либо через взвешивание кросс-энтропии (введение весов классов, обратно пропорциональных их частоте в датасете), либо переходом на Dice Loss.
- Аугментация данных: При обучении моделей сегментации любые геометрические трансформации (повороты, отражения, масштабирование) должны применяться к исходному изображению X и к маске ответов Y абсолютно синхронно, иначе разрушается пространственная координация пар «признак-ответ».
Примечания по подготовке материала
Данная статья была подготовлена с использованием искусственного интеллекта в рамках выполнения учебного задания. В процессе генерации и верификации контента были применены следующие технологические решения и методологии:
- Использованные модели: Комбинация LLM-архитектур (Gemini Pro и Claude 3.5 Sonnet) для обеспечения максимальной фактологической точности и строгости формулировок.
- Адаптация под синтаксис MediaWiki: Ввиду специфики парсера портала MachineLearning.ru (отсутствие поддержки стандартного внутритекстового рендеринга LaTeX через символы
$и ограничений тега<math>), формулы и математические выражения были вручную оптимизированы с использованием валидных HTML-тегов и Юникод-символов (Ω, ×, ∈, ∑, ŷ) для предотвращения сбоев отображения. - Методологическая основа: Структура статьи полностью канонизирована согласно правилам курса.
Литература
- Otsu N. A threshold selection method from gray-level histograms // IEEE Transactions on Systems, Man, and Cybernetics. — 1979. — Vol. 9, no. 1. — P. 62–66.
- Beucher S., Lantuéjoul C. Use of watersheds in contour detection // International Workshop on Image Processing: Real-Time Edge and Motion Detection/Estimation. — Rennes, France, 1979.
- Boykov Y. Y., Jolly M. P. Interactive graph cuts for optimal boundary & region segmentation of objects in ND images // Proceedings of the Eighth IEEE International Conference on Computer Vision (ICCV). — Vancouver, BC, Canada, 2001. — Vol. 1. — P. 105–112.
- Long J., Shelhamer E., Darrell T. Fully convolutional networks for semantic segmentation // Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). — Boston, MA, USA, 2015. — P. 3431–3440.
- Ronneberger O., Fischer P., Brox T. U-Net: Convolutional networks for biomedical image segmentation // Medical Image Computing and Computer-Assisted Intervention (MICCAI). — Munich, Germany, 2015. — P. 234–241.
- Chen L. C., Papandreou G., Kokkinos I., Murphy K., Yuille A. L. Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs // IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI). — 2017. — Vol. 40, no. 4. — P. 834–848.
- Kirillov A., He K., Girshick R., Rother C., Dollár P. Panoptic segmentation // Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). — Long Beach, CA, USA, 2019. — P. 9404–9413.
- Zheng S., Lu J., Zhao H., Zhu X., Luo Z., Wang Y., Fu Y., Feng J., Xiang T., Torresani L., Zhang C. Rethinking semantic segmentation from a sequence-to-sequence perspective with transformers // Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). — 2021. — P. 6881–6890.
- Kirillov A., Mintun E., Ravi N., Mao H., Rolland C., Gustafson L., Xiao T., Whitehead S., Berg A. C., Lo W. Y., Dollár P., Girshick R. Segment anything // Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV). — Paris, France, 2023. — P. 4015–4026.

