Ao clicar em “Aceitar todos os cookies”, concorda com o armazenamento de cookies no seu dispositivo para melhorar a navegação no site, analisar a utilização do site e ajudar nos nossos esforços de marketing. Mais informações
Definições de cookies
Ao clicar em “Aceitar todos os cookies”, concorda com o armazenamento de cookies no seu dispositivo para melhorar a navegação no site, analisar a utilização do site e ajudar nos nossos esforços de marketing. Mais informações
Saiba como funciona a estimativa de profundidade monocular, como ela se compara aos métodos de profundidade baseados em sensores e como ela permite a percepção 3D escalável em sistemas de visão.
Os carros autônomos são projetados para entender o que está a acontecer ao seu redor, para que possam dirigir com segurança. Isso significa ir além do simples reconhecimento de objetos, como pedestres ou outros veículos.
Elas também precisam saber a que distância esses objetos estão para responder corretamente. No entanto, dar às máquinas esse senso de distância não é simples. Ao contrário dos humanos, elas não percebem naturalmente a profundidade a partir de imagens e precisam ser explicitamente ensinadas a fazer isso.
Uma das razões para isso é que a maioria das câmaras captura o mundo como imagens planas e bidimensionais. Transformar essas imagens em algo que reflita a profundidade e a estrutura 3D do mundo real é complicado, especialmente quando os sistemas precisam funcionar de forma fiável em condições cotidianas.
Curiosamente, a visão computacional, que é um ramo da IA focado na interpretação e compreensão de dados visuais, permite que as máquinas compreendam melhor o mundo a partir de imagens. Por exemplo, a estimativa de profundidade monocular é uma técnica de visão computacional que estima a distância dos objetos usando apenas uma única imagem da câmara.
Ao aprender pistas visuais, como tamanho do objeto, perspetiva, textura e sombreamento, esses modelos podem prever a profundidade sem depender de sensores adicionais, como LiDAR (Light Detection and Ranging) ou câmaras estéreo. Neste artigo, exploraremos o que é a estimativa de profundidade monocular, como funciona e algumas das suas aplicações no mundo real. Vamos começar!
Uma rápida introdução à estimativa de profundidade monocular
A estimativa de profundidade monocular permite que uma máquina compreenda a distância dos objetos em relação a ela usando apenas uma única imagem. Como depende de apenas uma câmara, essa abordagem tem várias vantagens, incluindo custo mais baixo e requisitos de hardware mais simples.
Por exemplo, pode ser usado em robôs domésticos acessíveis que operam com uma única câmara. Mesmo a partir de uma única imagem, o sistema robótico pode identificar quais paredes estão mais próximas e quais portas estão mais distantes, e inferir a profundidade geral do espaço.
Muitas vezes, uma única imagem não contém informações na escala correta, por isso a estimativa de profundidade monocular geralmente se concentra na profundidade relativa. Em outras palavras, ela pode determinar quais objetos estão mais próximos e quais estão mais distantes, mesmo que as distâncias exatas não sejam conhecidas.
Quando um modelo é treinado com dados com distâncias reais ou profundidade absoluta, como medições de profundidade de sensores como LiDAR, ele pode aprender a prever distâncias em unidades do mundo real, como metros. Sem esse tipo de dados de referência, o modelo ainda pode inferir a profundidade relativa, mas não consegue estimar distâncias absolutas de forma confiável.
O resultado da estimativa de profundidade monocular é normalmente um mapa de profundidade, que é uma imagem em que cada pixel representa a distância dessa parte da cena. Um mapa de profundidade fornece aos sistemas de visão uma compreensão básica da estrutura 3D do ambiente.
Fig. 1. Um exemplo de um mapa de profundidade previsto criado usando estimativa de profundidade monocular (Fonte)
De sensores a imagens: estimando a profundidade
A estimativa de profundidade pode ser abordada de várias maneiras, dependendo dos sensores disponíveis, das restrições de hardware e dos requisitos de precisão. Os métodos tradicionais geralmente dependem de múltiplos pontos de vista ou sensores especializados para medir diretamente a distância.
Uma abordagem comum é a visão estereoscópica, que estima a profundidade comparando duas imagens sincronizadas capturadas a partir de pontos de vista ligeiramente diferentes. Ao medir a diferença entre pontos correspondentes nas duas imagens, o sistema pode inferir a distância dos objetos em relação à câmara.
Outra abordagem são os sistemas RGB-D (vermelho, verde, azul e profundidade), que utilizam sensores de profundidade ativos para medir diretamente a distância em cada pixel. Esses sistemas podem fornecer informações precisas de profundidade em ambientes controlados, mas requerem hardware adicional.
Por outro lado, os métodos baseados em LiDAR utilizam pulsos de laser para gerar representações tridimensionais precisas de uma cena. Embora sejam altamente precisos, os sensores LiDAR costumam ser caros e adicionam uma complexidade significativa ao hardware.
Em contrapartida, a estimativa de profundidade monocular infere a profundidade usando apenas uma única imagem RGB. Como não depende de várias câmaras ou sensores especializados, é mais fácil de implementar em grande escala e é uma boa opção quando os recursos financeiros e de hardware são limitados.
Aprendendo profundidade a partir de uma única imagem
Ao estimar a profundidade a partir de uma única imagem, os modelos de profundidade monocular aprendem a reconhecer pistas visuais que os humanos usam instintivamente para avaliar a distância. Essas pistas incluem linhas de perspetiva, tamanho do objeto, densidade da textura, sobreposição de objetos e sombreamento, todas elas fornecendo indícios sobre a distância dos objetos em relação à câmara.
Essas pistas trabalham em conjunto para criar uma sensação de profundidade. Objetos que parecem menores ou estão parcialmente ocultos geralmente estão mais distantes, enquanto detalhes mais nítidos e aparências visuais maiores geralmente sugerem que algo está mais próximo.
Para aprender esses padrões, os modelos de profundidade monocular são treinados em conjuntos de dados de imagens em grande escala, frequentemente combinados com informações de profundidade obtidas de outras fontes, como LiDAR ou sistemas estéreo. Durante o treinamento, os modelos aprendem como as pistas visuais se relacionam com a profundidade, permitindo-lhes inferir a distância a partir de uma única imagem no momento da inferência.
Com dados de treino diversificados, os modelos de visão modernos podem generalizar esse entendimento aprendido em uma ampla variedade de ambientes, incluindo cenas internas e externas, e podem lidar com pontos de vista desconhecidos.
Uma análise de várias técnicas de estimativa de profundidade monocular
A seguir, exploraremos as principais abordagens utilizadas para estimar a profundidade a partir de uma única imagem e como esses métodos evoluíram ao longo do tempo.
Abordagens clássicas e baseadas em geometria
Os primeiros métodos de estimativa de profundidade baseavam-se em regras visuais simples ligadas à geometria da câmara. Pistas como perspetiva, tamanho do objeto e se um objeto bloqueava outro eram usadas para estimar a distância.
Por exemplo, quando dois objetos semelhantes apareciam em tamanhos diferentes, presumia-se que o menor estava mais distante. Essas abordagens funcionavam razoavelmente bem em ambientes controlados, onde fatores como iluminação, posição da câmara e layout da cena permaneciam consistentes.
No entanto, em cenários reais, essas suposições muitas vezes não se confirmam. Variações na iluminação, mudanças de ponto de vista e maior complexidade da cena podem levar a estimativas de profundidade pouco confiáveis, limitando a eficácia dos métodos clássicos em ambientes não controlados.
Primeiras abordagens de aprendizagem automática
Os primeiros métodos de aprendizagem automática trouxeram mais flexibilidade à estimativa de profundidade, aprendendo padrões diretamente a partir dos dados. Em vez de depender apenas de regras geométricas fixas, esses modelos tentavam aprender a relação entre informação visual e distância, tratando a previsão de profundidade como um problema de regressão com base em pistas como bordas, texturas e mudanças de cor.
A seleção dessas características foi uma parte fundamental do processo. Os engenheiros tiveram que decidir quais sinais visuais extrair e como representá-los, e o desempenho do modelo dependia muito dessas escolhas.
Embora essa abordagem funcionasse melhor do que os métodos anteriores, ainda tinha limitações. Se os recursos selecionados não tivessem um contexto importante, as previsões de profundidade eram menos precisas. À medida que as cenas se tornavam mais complexas e variadas, esses modelos frequentemente tinham dificuldade em produzir resultados confiáveis.
Algoritmos de aprendizagem profunda
A maioria dos sistemas modernos de estimativa de profundidade monocular utiliza deep learning, que se refere a redes neurais com muitas camadas que podem aprender padrões complexos a partir de dados. Esses modelos aprendem a prever a profundidade diretamente a partir de imagens e produzem mapas de profundidade.
Muitas abordagens são construídas usando redes neurais convolucionais (CNNs), um tipo de rede neural projetada para processar imagens através da deteção de padrões, como bordas e formas. Esses modelos geralmente usam uma configuração de codificador-decodificador: o codificador extrai características visuais da imagem e o decodificador converte essas características num mapa de profundidade. O processamento da imagem em várias escalas ajuda o modelo a capturar o layout geral da cena, ao mesmo tempo que captura limites claros dos objetos.
Os modelos mais recentes concentram-se na compreensão das relações entre diferentes partes de uma imagem. Os modelos baseados em transformadores e Vision Transformer (ViT) utilizam mecanismos de atenção, que permitem ao modelo identificar quais as regiões de uma imagem mais relevantes e relacionar áreas distantes entre si. Isto ajuda o modelo a construir uma compreensão mais consistente da profundidade em toda a cena.
Alguns sistemas combinam as duas ideias. Os modelos híbridos CNN–Transformer utilizam CNNs para capturar detalhes locais precisos e Transformers para modelar o contexto global da cena. Embora isso muitas vezes melhore a precisão, normalmente requer mais recursos computacionais, como memória adicional e poder de processamento.
Por que a compreensão profunda é importante para os sistemas de IA de visão
À medida que aprende sobre a estimativa de profundidade monocular, pode estar a perguntar-se por que razão a compreensão da profundidade é uma parte tão importante dos sistemas de IA baseados na visão.
Quando um sistema consegue estimar a distância a que se encontram os objetos e as superfícies, obtém uma melhor compreensão da disposição de uma cena e da relação entre os diferentes elementos. Este tipo de consciência espacial é essencial para tomar decisões fiáveis, especialmente em aplicações do mundo real, como a condução autónoma.
As informações de profundidade também adicionam um contexto valioso a outras tarefas de visão computacional. Por exemplo, a deteção de objetos, suportada por modelos como Ultralytics , pode informar ao sistema o que está presente em uma cena, mas a profundidade ajuda a responder onde esses objetos estão localizados em relação à câmara e entre si.
Juntas, essas capacidades permitem uma ampla gama de aplicações de IA de visão, como a criação de mapas 3D, a navegação em ambientes complexos e a compreensão de uma cena como um todo.
Os robôs e veículos autónomos dependem dessas informações para se moverem com segurança, evitar obstáculos e reagir a mudanças em tempo real. Por exemplo, a abordagem de condução baseada apenas na visão da Tesla depende de imagens de câmaras combinadas com estimativa de profundidade, em vez de LiDAR, para compreender a distância dos objetos e a sua posição na estrada.
Como funcionam os modelos de estimativa de profundidade monocular
Embora as arquiteturas dos modelos variem, a maioria dos modelos de estimativa de profundidade monocular segue um processo semelhante para converter uma única imagem num mapa de profundidade. Aqui está uma rápida visão geral das principais etapas envolvidas:
Entrada e pré-processamento: O fluxo de trabalho começa com uma imagem de entrada. Antes de ser passada para o modelo, a imagem original é normalmente redimensionada, normalizada e convertida num tensor, que é um formato que as redes neurais utilizam para processar eficientemente os dados da imagem.
Extração de características: uma rede codificadora analisa a imagem para extrair características visuais significativas. Essas características capturam informações como texturas, limites de objetos e o layout geral da cena. A maioria dos modelos opera em várias escalas para que possam compreender tanto os detalhes finos quanto a estrutura global.
Raciocínio profundo: utilizando as características extraídas, o modelo combina detalhes locais com o contexto global para raciocinar sobre as relações espaciais na cena. Nesta fase, ele aprende quais regiões da imagem estão mais próximas da câmara e quais estão mais distantes.
Geração do mapa de profundidade: Um descodificador converte essas informações num mapa de profundidade denso. A cada pixel da imagem é atribuído um valor de profundidade, geralmente combinando previsões de diferentes escalas para melhorar a precisão e a consistência.
Como os modelos de estimativa de profundidade monocular são treinados
O processo que acabámos de discutir pressupõe que já temos um modelo treinado ou pré-treinado. Mas como funciona, na prática, o treino de um modelo de estimativa de profundidade monocular?
O treinamento começa com a preparação dos dados de imagem para que possam ser processados de forma eficiente pela rede. As imagens de entrada são redimensionadas e normalizadas para uma escala consistente e, em seguida, passadas pelo modelo para gerar um mapa de profundidade previsto que estima a distância em cada pixel.
O mapa de profundidade previsto é então comparado com os dados de profundidade de referência usando uma função de perda, que mede a distância entre a previsão do modelo e a profundidade real. Esse valor de perda representa o erro atual do modelo e fornece um sinal para melhorias.
Um otimizador usa esse sinal para atualizar o modelo, ajustando os seus pesos internos. Para fazer isso, o otimizador calcula o gradiente, que descreve como a perda muda em relação a cada parâmetro do modelo, e aplica essas atualizações repetidamente ao longo de vários períodos, ou passagens completas pelo conjunto de dados de treino.
Este processo iterativo de aprendizagem supervisionada é orientado por hiperparâmetros, como a taxa de aprendizagem, que controla o tamanho de cada etapa de atualização, e o tamanho do lote, que determina quantas imagens são processadas de uma só vez. Como o treinamento envolve um grande número de operações matemáticas, ele é normalmente acelerado usando uma unidade de processamento gráfico (GPU), que é ótima para cálculos paralelos.
Após a conclusão do treino, o modelo é avaliado utilizando métricas de avaliação padrão num conjunto de validação, que consiste em imagens que não foram utilizadas durante o treino. Essa avaliação ajuda a medir o quão bem o modelo generaliza para novos dados.
O modelo treinado pode então ser reutilizado ou ajustado para novos cenários. No geral, esse processo de treinamento permite que os modelos de estimativa de profundidade monocular produzam estimativas de profundidade consistentes, essenciais para tarefas posteriores, como reconstrução 3D e implementação no mundo real.
Explorando modelos de última geração e tendências de pesquisa
A estimativa de profundidade monocular melhorou rapidamente à medida que os modelos se tornaram mais eficientes na compreensão de cenas inteiras, em vez de apenas pequenos detalhes visuais. As abordagens anteriores frequentemente produziam mapas de profundidade irregulares, especialmente em ambientes complexos.
Modelos mais recentes, conforme observado em pesquisas recentes publicadas no arXiv, concentram-se mais num contexto global, o que leva a previsões de profundidade que parecem mais estáveis e realistas. Modelos bem conhecidos, como MiDaS e DPT, ajudaram a impulsionar essa mudança, aprendendo profundidade a partir de conjuntos de dados diversificados e de alta resolução e generalizando bem em muitas cenas.
Modelos mais recentes, incluindo ZoeDepth e Depth Anything V2, baseiam-se nesse trabalho, melhorando a consistência da escala e mantendo um forte desempenho em uma ampla gama de configurações. Esse tipo de progresso é frequentemente medido usando conjuntos de dados de benchmark comuns, como KITTI e NYU, que abrangem cenas externas e internas.
Outra tendência clara é equilibrar precisão com praticidade. Modelos menores são otimizados para velocidade e podem ser executados em tempo real em dispositivos móveis ou de ponta, enquanto modelos maiores priorizam maior resolução e precisão de profundidade de longo alcance.
Aplicações de estimativa de profundidade monocular
A seguir, vamos examinar alguns exemplos reais que mostram como a estimativa de profundidade monocular é usada para raciocinar sobre a estrutura 3D de uma cena a partir de uma única imagem.
Em todos estes casos, é importante ter em mente que as informações de profundidade são uma estimativa inferida a partir de pistas visuais, e não uma medição precisa. Isso torna a estimativa de profundidade monocular útil para compreender o layout relativo e as relações espaciais, mas não substitui sensores projetados para medir distâncias com precisão, como LiDAR ou sistemas estéreo.
Mapeamento e navegação do terreno com drones
Os drones costumam operar em ambientes onde os sinais de GPS não são confiáveis, como florestas, canteiros de obras, zonas de desastre ou áreas urbanas densas. Para voar com segurança nessas condições, eles precisam entender o terreno ao redor e saber a distância dos obstáculos. No passado, isso normalmente exigia a adição de sensores como LiDAR ou câmaras estéreo, o que aumentava o peso, o consumo de energia e o custo total.
A estimativa de profundidade monocular é uma alternativa mais simples. Usando apenas uma única câmara RGB, os drones podem estimar a profundidade a partir de imagens e construir uma compreensão 3D básica do seu ambiente. Isso permite que eles detect , como edifícios, árvores ou mudanças repentinas no terreno, e ajustem a sua trajetória de voo em tempo real.
Essas estimativas de profundidade auxiliam em tarefas essenciais de navegação, incluindo prevenção de obstáculos, controlo de altitude e aterragem segura. Como resultado, drones leves podem realizar tarefas de mapeamento, inspeção e navegação sem depender de sensores de profundidade especializados.
Fig. 2. A estimativa de profundidade monocular pode ser usada para analisar imagens de drones (Fonte)
Preenchendo pontos cegos para veículos de corrida autónomos
Os veículos autónomos normalmente dependem muito dos sensores LiDAR, que utilizam pulsos de laser para medir a distância e construir uma visão 3D da estrada. Embora seja altamente preciso, o LiDAR pode ter dificuldades com cristas acentuadas na estrada, declives íngremes, oclusão ou inclinação repentina do veículo, por vezes retornando dados de profundidade escassos ou ausentes.
A estimativa de profundidade monocular pode ajudar a preencher essas lacunas, fornecendo informações densas de profundidade a partir de uma única imagem RGB, mesmo quando os dados LiDAR estão incompletos. Considere um cenário em que um carro autônomo está a aproximar-se a alta velocidade do topo de uma colina. Os feixes LiDAR podem ultrapassar a estrada além do topo, deixando incerteza sobre o que está à frente.
A estimativa de profundidade baseada em câmera, no entanto, ainda pode inferir a forma da estrada a partir de pistas visuais, como perspectiva e textura, ajudando o veículo a manter uma percepção confiável até que os dados do LiDAR se estabilizem. Juntos, o LiDAR e a estimativa de profundidade monocular permitem uma percepção mais estável e um controlo mais seguro em condições de condução desafiadoras.
Fig. 3. Visualização da utilização da estimativa de profundidade monocular para corridas autónomas (Fonte)
Navegação robótica e prevenção de obstáculos
Os robôs são frequentemente operados em locais onde não há mapas detalhados disponíveis e as condições mudam constantemente. Para se moverem com segurança, eles precisam ter uma noção confiável do espaço ao seu redor e da localização dos obstáculos.
A estimativa de profundidade monocular pode fornecer essa percepção espacial usando uma única câmara RGB, sem depender de hardware pesado ou caro. Ao aprender pistas visuais, como escala e perspetiva, os modelos de estimativa de profundidade podem gerar mapas de profundidade densos dos arredores. Isso dá aos robôs uma visão clara da distância até superfícies e objetos.
Em particular, quando as informações de profundidade são combinadas com tarefas de visão computacional, como deteção de objetos e segmentação semântica, os robôs podem obter uma visão mais completa do seu ambiente. Eles podem identificar objetos, compreender a sua distância e decidir onde é seguro se mover. Isso auxilia na prevenção de obstáculos, deteção de espaço livre e planeamento de trajetória em tempo real.
Fig. 4. Detecção de objetos usando estimativa de profundidade monocular e detecção de objetos (Fonte)
Prós e contras da estimativa de profundidade monocular
Aqui estão algumas das principais vantagens de usar a estimativa de profundidade monocular:
Leve e com baixo consumo de energia: o uso de uma única câmara reduz o peso do sistema e o consumo de energia, o que é especialmente importante para robôs móveis, drones e sistemas incorporados.
Compatível com fusão de sensores: a profundidade monocular pode complementar outros sensores, como LiDAR ou radar, preenchendo lacunas ou fornecendo redundância.
Funciona em vários ambientes: a mesma abordagem baseada em câmaras pode ser usada em ambientes internos, externos e em diferentes plataformas, sem a necessidade de alterações de hardware.
Embora a estimativa de profundidade monocular ofereça benefícios claros, aqui estão algumas limitações a serem consideradas:
Precisão inferior à dos sensores ativos: embora esteja a melhorar rapidamente, a estimativa de profundidade monocular geralmente não consegue igualar a precisão absoluta dos sensores LiDAR ou de luz estruturada em condições controladas.
Sensibilidade às condições de iluminação: O desempenho pode diminuir em ambientes com pouca luz, sombras fortes, brilho ou cenas com textura fraca.
Desafios de generalização: um modelo treinado em um ambiente pode nem sempre ser transferido de forma confiável para domínios desconhecidos sem adaptação ou ajuste fino.
Quando não se deve confiar na estimativa de profundidade monocular
Embora a estimativa de profundidade monocular seja uma área de investigação interessante, é importante compreender onde ela pode ser usada na prática e onde não pode. As distâncias que ela produz são estimativas baseadas no que o modelo vê numa imagem, não medições exatas tiradas do mundo real.
Por isso, a qualidade dos resultados pode variar dependendo de fatores como iluminação, complexidade da cena e semelhança da cena com o que foi utilizado para treinar o modelo. A estimativa de profundidade monocular geralmente é boa para determinar o que está mais próximo e o que está mais distante, mas não é confiável quando se precisa de distâncias exatas.
Em situações em que a precisão é realmente importante, como sistemas críticos para a segurança, inspeção industrial ou robôs que precisam interagir com objetos com muita precisão, a profundidade precisa ser medida diretamente. Sensores como LiDAR, radar, câmaras estéreo ou sistemas de luz estruturada são projetados para isso e fornecem informações de distância muito mais confiáveis.
A estimativa de profundidade monocular também pode ter dificuldades em condições visuais adversas. Iluminação fraca, sombras fortes, superfícies refletivas ou transparentes, neblina, fumo ou cenas com pouca textura visual podem tornar as estimativas de profundidade menos confiáveis. A estimativa de profundidade em longas distâncias é outro caso em que sensores dedicados geralmente funcionam melhor.
Quando se trata de soluções do mundo real, a estimativa de profundidade monocular funciona melhor como uma ferramenta de apoio do que como uma solução independente. Ela pode adicionar um contexto espacial útil, ajudar a preencher lacunas quando outros sensores são limitados e melhorar a compreensão geral da cena. No entanto, ela não deve ser a única fonte de informação de profundidade quando a precisão, a segurança ou requisitos rigorosos de confiabilidade são importantes.
Principais conclusões
A estimativa de profundidade monocular é uma técnica de visão computacional que permite que as máquinas estimem a distância dos objetos usando apenas uma única imagem da câmara. Ao aprender pistas visuais, como perspetiva, tamanho do objeto, textura e sombreamento, esses modelos de IA podem inferir a estrutura 3D de uma cena sem depender de sensores como LiDAR ou câmaras estéreo. Isso torna a estimativa de profundidade monocular uma abordagem econômica e escalável para aplicações como condução autónoma, robótica e compreensão de cenas 3D.