Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Image Registration

Регистрация изображений совмещает изображения одной и той же сцены в общей системе координат с помощью сопоставления признаков или сходства пикселей и модели преобразования.

Регистрация изображений — это процесс компьютерного зрения, который выравнивает два или более изображения одной сцены так, чтобы каждой физической точке соответствовали одинаковые пиксельные координаты на всех изображениях. Изображения могут быть получены в разное время, с разных точек обзора или датчиков: при спутниковой съёмке в январе и июне, на МРТ и КТ одного пациента или в последовательных кадрах с дрожащей камеры. После регистрации изображения можно сравнивать попиксельно, объединять в единое представление или сшивать в мозаику.

При регистрации одно изображение выбирают в качестве фиксированного, или эталонного, а другое, подвижное, преобразуют в его систему координат. Для этого нужно принять три решения: как измерять степень выравнивания изображений, какие геометрические преобразования разрешены и как искать наилучшее преобразование. После его оценки подвижное изображение пересэмплируют, вычисляя интерполяцией значения пикселей в новых позициях.

Методы на основе признаков и интенсивности#

Регистрация на основе признаков находит в обоих изображениях характерные точки, например углы и блобы, описывает каждую дескриптором, например ORB или SIFT, и сопоставляет дескрипторы между изображениями. Сопоставленные ключевые точки образуют пары соответствующих координат, а устойчивый оцениватель, например RANSAC, подбирает преобразование, отбрасывая ошибочные соответствия. Методы на основе признаков работают быстро и справляются с большими смещениями, поэтому их обычно выбирают для сшивки панорам и картографирования с дронов. Обучаемые методы сопоставления изображений расширяют их возможности на сцены, где рукотворные дескрипторы дают сбой. В этом примере тестовую фотографию поворачивают, масштабируют и сдвигают на известные значения, а затем восстанавливают преобразование с помощью OpenCV:

import cv2
import numpy as np
from skimage import data

# Fixed image, and a moving copy rotated 10 degrees, scaled 1.1x, and shifted (25, -15) pixels
fixed = data.camera()
warp = cv2.getRotationMatrix2D((256, 256), 10, 1.1)
warp[:, 2] += (25, -15)
moving = cv2.warpAffine(fixed, warp, (512, 512))

# Detect and match ORB features in both images
orb = cv2.ORB_create(1000)
kp_moving, des_moving = orb.detectAndCompute(moving, None)
kp_fixed, des_fixed = orb.detectAndCompute(fixed, None)
matches = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True).match(des_moving, des_fixed)
src = np.float32([kp_moving[m.queryIdx].pt for m in matches])
dst = np.float32([kp_fixed[m.trainIdx].pt for m in matches])

# Fit a similarity transform (rotation, scale, translation) with RANSAC, rejecting wrong matches
M, inliers = cv2.estimateAffinePartial2D(src, dst, method=cv2.RANSAC)
angle, scale = np.degrees(np.arctan2(M[1, 0], M[0, 0])), np.hypot(M[0, 0], M[1, 0])
print(f"Kept {inliers.sum()} of {len(matches)} matches: rotation {angle:.2f} degrees, scale {scale:.3f}")

# Resample the moving image into the fixed image's coordinates
registered = cv2.warpAffine(moving, M, (512, 512))
cv2.imwrite("registered.png", registered)

Результат — Kept 497 of 567 matches: rotation 10.01 degrees, scale 0.910. Оценённое преобразование является обратным к применённому: поворот на 10 градусов в обратную сторону и масштаб 1/1.1. Изображение registered.png совпадает с исходной фотографией в области их наложения.

Регистрация на основе интенсивности не использует явные признаки, а напрямую сравнивает значения пикселей и корректирует преобразование так, чтобы максимизировать меру сходства. Идея восходит к Брюсу Лукасу и Такэо Канаде: в статье 1981 года «Итеративный метод регистрации изображений с применением к стереозрению» они представили метод, который теперь используется и для оптического потока. Корреляция подходит для изображений, снятых одним датчиком, а взаимная информация, предложенная для регистрации медицинских изображений в середине 1990-х, позволяет работать с разными модальностями, например сопоставлять МРТ и КТ, на которых одна ткань выглядит по-разному. Оптимизатор, часто использующий градиентный спуск на пирамиде изображений от грубого масштаба к точному, ищет наилучшие параметры. Инструментарии, например среда регистрации SimpleITK, предоставляют метрику, оптимизатор, преобразование и интерполятор как отдельные компоненты.

Методы глубокого обучения, например VoxelMorph, опубликованный Гухой Балакришнаном и его коллегами в 2019 году, обучают свёрточную нейронную сеть предсказывать поле деформации за один прямой проход. Вместо оптимизации для каждой пары изображений, занимающей несколько минут или больше, сеть выдаёт результат менее чем за секунду на GPU.

Выбор модели преобразования#

Преобразование должно соответствовать фактическим различиям между изображениями:

  • Перенос и жёсткое преобразование: Сдвиг, а в случае жёсткого преобразования — ещё и поворот, при сохранении расстояний. Обычно используется для сканирований одного и того же жёсткого объекта.
  • Подобное и аффинное преобразование: Подобное преобразование добавляет равномерное масштабирование, а аффинное — неравномерное масштабирование и сдвиг. Одно преобразование применяется ко всему изображению. Подходит для спутниковых снимков, сделанных в немного разных масштабах.
  • Проективное преобразование (гомография): Моделирует перспективные изменения в плоских сценах или при повороте камеры, например при сканировании документов и создании панорам.
  • Деформируемое преобразование: Позволяет каждой области перемещаться независимо. Оно нужно для мягких тканей, меняющих форму между сканированиями.

Более гибкие модели могут подстроиться почти под что угодно, включая реальные изменения, которые нужно обнаружить. Поэтому регистрацию обычно начинают с самой простой правдоподобной модели и добавляют гибкость только там, где сохраняется ошибка выравнивания. В сценах с глубиной и движущейся камерой возникает параллакс, который нельзя устранить одним двумерным преобразованием; для выравнивания таких сцен используют эпиполярную геометрию и трехмерную реконструкцию.

Где применяется регистрация изображений#

В дистанционном зондировании и анализе спутниковых изображений регистрация — первый этап обнаружения изменений: изображения одной области, сделанные с разницей в несколько месяцев, необходимо выровнять, прежде чем модель сможет обнаружить новую постройку или вырубленный лес. Иначе даже небольшой сдвиг будет выглядеть как изменение вдоль каждого края дороги. В анализе медицинских изображений совмещение снимков, сделанных при разных посещениях врача, позволяет оценить рост опухоли; совмещение ПЭТ с КТ объединяет метаболическую активность и анатомическое строение; регистрация размеченного атласа на новом снимке переносит на него анатомические метки — классический способ сегментации изображений структур мозга.

В видеоприложениях последовательные кадры регистрируют для оценки движения камеры. Стабилизация устраняет это движение, а трекеры используют его оценку, чтобы не путать движение камеры с движением объекта. Трекер TrackTrack, используемый по умолчанию в отслеживании объектов Ultralytics YOLO, регистрирует каждый кадр относительно предыдущего: он отслеживает угловые точки с помощью разреженного оптического потока при половинном разрешении и подбирает подобное преобразование с помощью RANSAC. Благодаря этому треки остаются привязаны к нужным объектам при съёмке с камеры дрона или автомобиля.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения