Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Image Registration

O registo de imagens alinha imagens da mesma cena num único sistema de coordenadas, utilizando correspondências de características ou semelhança entre píxeis e um modelo de transformação.

O registo de imagens é o processo de visão computacional que alinha duas ou mais imagens da mesma cena, de modo que cada ponto físico corresponda às mesmas coordenadas de pixel em todas elas. As imagens podem ter sido captadas em momentos, pontos de vista ou sensores diferentes: uma passagem de satélite em janeiro e outra em junho, uma ressonância magnética e uma tomografia computadorizada do mesmo paciente ou quadros consecutivos captados por uma câmera instável. Depois do registo, é possível comparar as imagens pixel a pixel, combiná-las numa única visualização ou uni-las num mosaico.

No registo, uma imagem é designada como fixa, ou de referência, e a outra, a imagem móvel, é transformada para o sistema de coordenadas da primeira. Isso envolve três escolhas: como medir se as imagens estão alinhadas, que tipo de transformação geométrica é permitido e como procurar a melhor. Depois de estimar a transformação, a imagem móvel é reamostrada, e a interpolação calcula os valores dos pixels nas novas posições.

Métodos baseados em características e em intensidade#

O registo baseado em características deteta pontos distintos, como cantos e regiões em forma de mancha, nas duas imagens, descreve cada um com um descritor como ORB ou SIFT e associa descritores entre as imagens. Os pontos-chave correspondentes fornecem pares de posições, e um estimador robusto, como o RANSAC, ajusta uma transformação rejeitando correspondências incorretas. Os métodos baseados em características são rápidos e lidam com grandes deslocamentos, o que os torna a opção habitual para unir panoramas e mapear com drones; a correspondência de imagens aprendida estende-os a cenas em que os descritores criados manualmente têm dificuldade. Este exemplo transforma uma foto de teste com rotação, escala e deslocamento conhecidos e, em seguida, recupera a transformação com o 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)

O resultado impresso é Kept 497 of 567 matches: rotation 10.01 degrees, scale 0.910. A transformação estimada é a inversa da deformação aplicada: uma rotação de volta de 10 graus e uma escala de 1/1.1; registered.png fica alinhada com a foto original onde quer que as duas se sobreponham.

O registo baseado em intensidade dispensa características explícitas e compara diretamente os valores dos pixels, ajustando a transformação para maximizar uma medida de semelhança. A ideia remonta a Bruce Lucas e Takeo Kanade, cujo artigo de 1981, «An Iterative Image Registration Technique with an Application to Stereo Vision», apresentou o método também usado hoje para o fluxo óptico. A correlação é adequada a imagens do mesmo sensor, enquanto a informação mútua, introduzida para registo médico em meados da década de 1990, lida com modalidades diferentes, como ressonância magnética e tomografia computadorizada, em que o mesmo tecido aparece com níveis de brilho distintos. Um otimizador, muitas vezes a descida do gradiente numa pirâmide de imagens de grosseira a fina, procura os melhores parâmetros; conjuntos de ferramentas como a estrutura de registo SimpleITK expõem a métrica, o otimizador, a transformação e o interpolador como componentes separados.

Métodos de aprendizagem profunda, como o VoxelMorph, publicado por Guha Balakrishnan e colegas em 2019, treinam uma rede neural convolucional para prever um campo de deformação numa única passagem direta. Assim, substituem uma otimização por par, que demora minutos ou mais, por uma predição que leva menos de um segundo numa GPU.

Escolher um modelo de transformação#

A transformação deve corresponder às diferenças reais entre as imagens:

  • Translação e rígida: Deslocamentos e, no caso rígido, rotação, mantendo as distâncias. É comum em exames do mesmo objeto rígido.
  • Semelhança e transformação afim: A semelhança acrescenta escala uniforme, e a transformação afim acrescenta escala não uniforme e cisalhamento; ambas aplicam uma única transformação à imagem inteira. São adequadas a imagens de satélite captadas com escalas ligeiramente diferentes.
  • Projetiva (homografia): Modela mudanças de perspectiva em cenas planas ou com câmeras em rotação, como na digitalização de documentos e em panoramas.
  • Deformável: Permite que cada região se mova independentemente, conforme necessário para tecidos moles que mudam de forma entre exames.

Os modelos mais flexíveis conseguem ajustar-se a praticamente tudo, incluindo mudanças reais que a análise deveria detetar; por isso, o registo começa normalmente com o modelo plausível mais simples e só acrescenta flexibilidade quando persiste um erro de alinhamento. As cenas com profundidade e uma câmara em movimento apresentam paralaxe, que nenhuma transformação 2D única consegue eliminar; o seu alinhamento depende, em vez disso, da geometria epipolar e da reconstrução 3D.

Onde o registro é usado#

No sensoriamento remoto e na análise de imagens de satélite, o registo é a primeira etapa da deteção de mudanças: imagens da mesma área captadas com meses de diferença precisam estar alinhadas antes que um modelo possa sinalizar novas construções ou áreas de floresta desmatadas, pois um pequeno deslocamento parecerá uma mudança em todas as bordas das estradas. Na análise de imagens médicas, alinhar exames de consultas diferentes permite aos médicos medir se um tumor cresceu; alinhar PET com tomografia computadorizada combina a atividade metabólica com a anatomia; e registar um atlas rotulado num novo exame transfere os seus rótulos anatômicos, uma forma clássica de fazer a segmentação de imagens das estruturas cerebrais.

As aplicações de vídeo registam quadros consecutivos para estimar o movimento da câmera. A estabilização elimina esse movimento, e os rastreadores o levam em conta para que as imagens captadas por uma câmera em movimento não confundam o movimento da câmera com o dos objetos. O rastreador TrackTrack, padrão no rastreamento de objetos do Ultralytics YOLO, regista cada quadro em relação ao anterior, acompanhando características de canto com fluxo óptico esparso à metade da resolução e ajustando uma transformação de semelhança com o RANSAC. Isso mantém os rastreamentos de uma câmera de drone ou de veículo associados aos objetos corretos.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina