Quando alguém fala em Computer Vision, a primeira coisa que costuma vir à cabeça é detecção de objetos.
É uma parte importante, mas está longe de ser tudo.
Na prática, Computer Vision reúne problemas bem diferentes: entender imagens, acompanhar objetos em vídeo, estimar profundidade, descobrir a posição de uma câmera, reconstruir ambientes em 3D, trabalhar com LiDAR, interpretar documentos e, mais recentemente, conectar visão com modelos de linguagem.
Um sistema mais completo pode ter algo parecido com isto:
Camera / LiDAR / IMU
↓
Preprocessing
↓
Detection / Segmentation
↓
Tracking / Pose
↓
Depth / Geometry
↓
SfM / MVS / SLAM
↓
Point Cloud
↓
Mesh / 3D Representation
↓
Scene Understanding
↓
Vision-Language Model
↓
LLM
Enter fullscreen mode Exit fullscreen mode
A ideia deste texto é organizar esse universo de forma prática para quem desenvolve software e quer entender como as peças se encaixam.
1. O mapa geral
Uma forma simples de dividir Computer Vision é:
COMPUTER VISION
│
├── Imagens
│ ├── Classification
│ ├── Detection
│ ├── Segmentation
│ ├── OCR
│ ├── Image Retrieval
│ ├── Image Restoration
│ └── Image Generation
│
├── Vídeo
│ ├── Object Tracking
│ ├── Action Recognition
│ ├── Optical Flow
│ └── Motion Analysis
│
├── Geometria
│ ├── Camera Models
│ ├── Camera Calibration
│ ├── Stereo Vision
│ ├── Depth Estimation
│ ├── Epipolar Geometry
│ ├── SfM
│ ├── MVS
│ └── 3D Reconstruction
│
├── 3D
│ ├── LiDAR
│ ├── Point Clouds
│ ├── Registration
│ ├── SLAM
│ ├── Mesh Reconstruction
│ ├── NeRF
│ ├── Gaussian Splatting
│ └── 3D Object Detection
│
├── Humanos
│ ├── Face Detection
│ ├── Face Recognition
│ ├── Pose Estimation
│ ├── Hand Tracking
│ └── Gesture Recognition
│
└── IA Moderna
├── CNN
├── Vision Transformers
├── Vision-Language Models
├── Embeddings
├── Multimodal AI
└── Vision + LLM
Enter fullscreen mode Exit fullscreen mode
O interessante é que essas áreas não ficam isoladas. Em projetos reais, normalmente existe uma combinação delas.
2. Imagem é um tensor
Antes de falar de modelos, vale entender o dado de entrada.
Uma imagem RGB pode ser representada como:
H × W × 3
Enter fullscreen mode Exit fullscreen mode
Por exemplo:
1920 × 1080 × 3
Enter fullscreen mode Exit fullscreen mode
Em frameworks de Deep Learning, é comum encontrar:
[B, C, H, W]
Enter fullscreen mode Exit fullscreen mode
onde:
-
B= batch; -
C= canais; -
H= altura; -
W= largura.
Uma imagem pode ser vista como uma função:
I(x, y, c)
Enter fullscreen mode Exit fullscreen mode
onde x e y representam a posição do pixel e c o canal.
Parece uma definição simples, mas praticamente todo pipeline de visão começa aqui.
3. Image Processing
Antes de colocar uma imagem em uma rede neural, muitas vezes é necessário prepará-la.
Algumas operações comuns:
- resize;
- crop;
- padding;
- normalização;
- conversão de espaço de cor;
- redução de ruído;
- sharpening;
- thresholding;
- detecção de bordas;
- operações morfológicas;
- correção de distorção.
Um pipeline básico:
Imagem original
↓
Resize
↓
Normalização
↓
Correção / filtragem
↓
Modelo
Enter fullscreen mode Exit fullscreen mode
Bibliotecas muito usadas:
OpenCV
Pillow
NumPy
scikit-image
Enter fullscreen mode Exit fullscreen mode
Nem todo problema precisa de Deep Learning. Em alguns casos, OpenCV resolve praticamente tudo.
4. Classification
Classification responde:
Qual é a classe dessa imagem?
Por exemplo:
Imagem
↓
Modelo
↓
dog: 0.96
cat: 0.03
horse: 0.01
Enter fullscreen mode Exit fullscreen mode
Formalmente:
P(class | image)
Enter fullscreen mode Exit fullscreen mode
Arquiteturas clássicas:
- LeNet;
- AlexNet;
- VGG;
- GoogLeNet;
- ResNet;
- DenseNet;
- EfficientNet;
- ConvNeXt;
- Vision Transformer.
Classification é normalmente o ponto de entrada para quem começa a estudar visão computacional com Deep Learning.
5. CNNs
As Convolutional Neural Networks foram responsáveis por uma grande parte da evolução inicial do Deep Learning aplicado a imagens.
A convolução percorre a imagem utilizando filtros que aprendem padrões.
De forma simplificada:
Image
↓
Convolution
↓
Feature Map
↓
Activation
↓
Pooling
↓
More Features
↓
Classifier
Enter fullscreen mode Exit fullscreen mode
No começo da rede aparecem padrões mais simples:
edges
corners
textures
Enter fullscreen mode Exit fullscreen mode
Nas camadas seguintes:
shapes
parts
objects
Enter fullscreen mode Exit fullscreen mode
E no final:
semantic representation
Enter fullscreen mode Exit fullscreen mode
6. Object Detection
Classification diz o que existe.
Detection também precisa dizer onde.
Uma saída típica contém:
class
confidence
x1
y1
x2
y2
Enter fullscreen mode Exit fullscreen mode
Ou:
class
confidence
center_x
center_y
width
height
Enter fullscreen mode Exit fullscreen mode
Visualmente:
┌──────────────────────────────┐
│ │
│ ┌───────────────┐ │
│ │ person │ │
│ └───────────────┘ │
│ │
│ ┌────────┐ │
│ │ car │ │
│ └────────┘ │
│ │
└──────────────────────────────┘
Enter fullscreen mode Exit fullscreen mode
7. Object Detection: principais abordagens
Two-stage detectors
Exemplos:
R-CNN
Fast R-CNN
Faster R-CNN
Mask R-CNN
Enter fullscreen mode Exit fullscreen mode
A ideia geral:
Image
↓
Region Proposals
↓
Classification
↓
Bounding Box Refinement
Enter fullscreen mode Exit fullscreen mode
One-stage detectors
Exemplos:
YOLO
SSD
RetinaNet
Enter fullscreen mode Exit fullscreen mode
A ideia:
Image
↓
Neural Network
↓
Boxes + Classes + Confidence
Enter fullscreen mode Exit fullscreen mode
Essa abordagem costuma ser muito interessante quando existe requisito de tempo real.
Transformer-based detectors
Um exemplo conhecido é o DETR.
Aqui a detecção é formulada de uma maneira diferente, usando a arquitetura Transformer para prever os objetos.
8. IoU e NMS
Detection gera muitas previsões.
Duas bounding boxes podem representar o mesmo objeto.
Para medir a sobreposição, usamos IoU:
IoU = Intersection / Union
Enter fullscreen mode Exit fullscreen mode
Quanto mais próximo de 1, maior a sobreposição.
Depois, algoritmos como Non-Maximum Suppression (NMS) ajudam a remover previsões duplicadas.
Uma versão simplificada:
Detections
↓
Ordenar por confidence
↓
Escolher melhor box
↓
Comparar IoU
↓
Remover duplicatas
Enter fullscreen mode Exit fullscreen mode
9. Segmentation
Detection trabalha com bounding boxes.
Segmentation trabalha em nível de pixel.
Semantic Segmentation
Cada pixel recebe uma classe:
pixel → class
Enter fullscreen mode Exit fullscreen mode
Por exemplo:
road
car
person
sky
building
Enter fullscreen mode Exit fullscreen mode
Instance Segmentation
Aqui cada objeto é uma instância separada:
person #1
person #2
person #3
Enter fullscreen mode Exit fullscreen mode
Mesmo todos pertencendo à classe person.
Panoptic Segmentation
Combina semantic segmentation e instance segmentation para representar a cena de forma mais completa.
10. Segment Anything
Modelos como SAM popularizaram uma abordagem mais geral para segmentação.
Em vez de ter um modelo treinado exclusivamente para uma classe específica, podemos fornecer diferentes tipos de prompt.
Por exemplo:
point
box
mask
text
Enter fullscreen mode Exit fullscreen mode
Um pipeline pode ser:
Imagem
↓
Prompt
↓
Segmentation Model
↓
Mask
Enter fullscreen mode Exit fullscreen mode
Isso é útil para ferramentas interativas, edição de imagens e pipelines de anotação.
11. OCR
OCR significa Optical Character Recognition.
O objetivo é transformar texto presente em pixels em texto digital.
Um pipeline tradicional:
Image
↓
Preprocessing
↓
Text Detection
↓
Text Recognition
↓
Post-processing
↓
Text
Enter fullscreen mode Exit fullscreen mode
Por exemplo:
Imagem de documento
↓
"NOTA FISCAL"
"VALOR: R$ 1.250,00"
"CNPJ: ..."
Enter fullscreen mode Exit fullscreen mode
OCR moderno pode combinar CNNs, LSTMs, Transformers e modelos multimodais.
12. Document AI
OCR resolve apenas uma parte do problema.
Um documento real também possui layout, tabelas, campos e relações entre informações.
Um pipeline de Document AI pode ser:
Document
↓
OCR
↓
Layout Analysis
↓
Entity Extraction
↓
Document Understanding
Enter fullscreen mode Exit fullscreen mode
O sistema pode identificar:
invoice_number
customer
company
date
total
tax
items
Enter fullscreen mode Exit fullscreen mode
Isso aparece bastante em automação de processos, sistemas financeiros, jurídico e governo.
13. Image Retrieval
Outra aplicação é encontrar imagens semelhantes.
A ideia moderna é transformar uma imagem em um embedding:
Image
↓
Vision Encoder
↓
Embedding
Enter fullscreen mode Exit fullscreen mode
Por exemplo:
[0.12, -0.81, 0.43, 0.19, ...]
Enter fullscreen mode Exit fullscreen mode
Depois armazenamos esses vetores e fazemos busca por similaridade.
Query Image
↓
Embedding
↓
Vector Database
↓
Nearest Neighbors
↓
Similar Images
Enter fullscreen mode Exit fullscreen mode
Tecnologias comuns:
FAISS
Qdrant
Milvus
Weaviate
pgvector
Enter fullscreen mode Exit fullscreen mode
14. Vídeo
Um vídeo é uma sequência temporal:
Frame 1
Frame 2
Frame 3
...
Frame N
Enter fullscreen mode Exit fullscreen mode
Então temos duas dimensões importantes:
spatial information
+
temporal information
Enter fullscreen mode Exit fullscreen mode
É isso que torna vídeo mais complicado que uma imagem isolada.
15. Object Tracking
Detection identifica objetos.
Tracking tenta manter a identidade desses objetos ao longo dos frames.
Frame 1 → person #17
Frame 2 → person #17
Frame 3 → person #17
Frame 4 → person #17
Enter fullscreen mode Exit fullscreen mode
Assim podemos obter uma trajetória:
(x1, y1)
(x2, y2)
(x3, y3)
...
Enter fullscreen mode Exit fullscreen mode
Algumas abordagens conhecidas:
Kalman Filter
SORT
DeepSORT
ByteTrack
BoT-SORT
Enter fullscreen mode Exit fullscreen mode
16. Optical Flow
Optical Flow tenta estimar o movimento aparente dos pixels entre frames.
Um vetor pode ser representado por:
u(x,y)
v(x,y)
Enter fullscreen mode Exit fullscreen mode
O resultado é um campo de movimento:
→ → →
→ → →
→ → →
Enter fullscreen mode Exit fullscreen mode
Aplicações:
- motion estimation;
- estabilização de vídeo;
- tracking;
- action recognition;
- robótica.
17. Action Recognition
Agora o objetivo não é apenas descobrir que existe uma pessoa.
Queremos descobrir o que ela está fazendo:
walking
running
jumping
falling
sitting
Enter fullscreen mode Exit fullscreen mode
Isso exige informação temporal.
Arquiteturas podem utilizar:
CNN + RNN
3D CNN
Video Transformer
Enter fullscreen mode Exit fullscreen mode
18. Motion Analysis
Depois de detectar e acompanhar objetos, podemos analisar:
- trajetória;
- velocidade;
- direção;
- aceleração;
- interação entre objetos;
- comportamento temporal.
Um pipeline:
Video
↓
Detection
↓
Tracking
↓
Trajectory
↓
Motion Analysis
↓
Event Detection
Enter fullscreen mode Exit fullscreen mode
É uma base para aplicações como monitoramento, análise esportiva e robótica.
19. Camera Model
Para entrar em visão 3D, precisamos entender como uma câmera transforma o mundo 3D em uma imagem 2D.
Um ponto:
P = (X, Y, Z)
Enter fullscreen mode Exit fullscreen mode
pode ser projetado aproximadamente como:
x = fX/Z
y = fY/Z
Enter fullscreen mode Exit fullscreen mode
onde f representa a distância focal.
Uma câmera real normalmente é representada por uma matriz intrínseca:
K =
[ fx 0 cx ]
[ 0 fy cy ]
[ 0 0 1 ]
Enter fullscreen mode Exit fullscreen mode
Isso aparece constantemente em reconstrução 3D.
20. Camera Calibration
Calibration determina os parâmetros da câmera.
Intrinsics
Exemplos:
fx
fy
cx
cy
k1
k2
k3
p1
p2
Enter fullscreen mode Exit fullscreen mode
Os primeiros representam parâmetros internos da câmera e os demais podem representar distorção.
Extrinsics
Representam a pose da câmera:
R
t
Enter fullscreen mode Exit fullscreen mode
onde:
R = rotation
t = translation
Enter fullscreen mode Exit fullscreen mode
Uma transformação pode ser escrita como:
P_camera = R P_world + t
Enter fullscreen mode Exit fullscreen mode
21. Lens Distortion
Lentes reais introduzem distorções.
As mais conhecidas:
radial distortion
tangential distortion
Enter fullscreen mode Exit fullscreen mode
Um pipeline pode começar com:
Distorted Image
↓
Undistortion
↓
Rectified Image
Enter fullscreen mode Exit fullscreen mode
Isso é especialmente importante em aplicações geométricas.
22. Stereo Vision
Duas câmeras permitem estimar profundidade.
Left Camera Right Camera
\ /
\ /
\ /
Object
Enter fullscreen mode Exit fullscreen mode
A diferença entre a posição de um ponto nas duas imagens é a disparidade:
disparity = d
Enter fullscreen mode Exit fullscreen mode
Uma relação simplificada:
Z = fB / d
Enter fullscreen mode Exit fullscreen mode
onde:
Z = profundidade
f = focal length
B = baseline
d = disparity
Enter fullscreen mode Exit fullscreen mode
Quanto maior a disparidade, normalmente menor a distância do objeto.
23. Depth Estimation
Depth estimation tenta produzir um mapa de profundidade.
Entrada:
RGB Image
Enter fullscreen mode Exit fullscreen mode
Saída:
Depth Map
Enter fullscreen mode Exit fullscreen mode
Pode ser:
- monocular;
- stereo;
- RGB-D;
- baseado em sensores;
- baseado em múltiplas imagens.
Representação:
RGB
↓
Depth Network
↓
Depth Map
Enter fullscreen mode Exit fullscreen mode
Modelos modernos utilizam arquiteturas profundas, inclusive Transformers.
24. Epipolar Geometry
Em stereo e reconstrução 3D, epipolar geometry é fundamental.
Um ponto em uma imagem não corresponde a qualquer lugar da segunda imagem. Ele está restrito a uma linha epipolar.
Conceitos importantes:
Fundamental Matrix
Essential Matrix
Epipoles
Epipolar Lines
Enter fullscreen mode Exit fullscreen mode
Uma relação clássica:
x'ᵀ F x = 0
Enter fullscreen mode Exit fullscreen mode
onde F é a Fundamental Matrix.
25. Feature Detection
Para reconstruir uma cena a partir de imagens, precisamos encontrar pontos que possam ser reconhecidos em diferentes views.
Algoritmos clássicos:
SIFT
SURF
ORB
AKAZE
Enter fullscreen mode Exit fullscreen mode
Um feature normalmente envolve:
keypoint
+
descriptor
Enter fullscreen mode Exit fullscreen mode
O keypoint representa a localização.
O descriptor representa as características daquela região.
26. Feature Matching
Depois de extrair features de duas imagens:
Image A
↓
Descriptors A
Image B
↓
Descriptors B
Enter fullscreen mode Exit fullscreen mode
podemos procurar correspondências:
A[124] ↔ B[87]
A[233] ↔ B[152]
A[901] ↔ B[421]
Enter fullscreen mode Exit fullscreen mode
Esses matches são a matéria-prima de muitos pipelines de reconstrução.
27. RANSAC
Nem todo match é correto.
Alguns são outliers.
RANSAC é usado para estimar modelos geométricos de forma robusta.
Matches
↓
RANSAC
↓
Inliers + Outliers
Enter fullscreen mode Exit fullscreen mode
Os inliers são usados para estimar uma transformação ou modelo geométrico mais confiável.
28. Structure from Motion
SfM, ou Structure from Motion, tenta recuperar:
camera poses
+
3D structure
Enter fullscreen mode Exit fullscreen mode
a partir de várias imagens.
Um pipeline simplificado:
Images
↓
Feature Extraction
↓
Feature Matching
↓
Camera Pose Estimation
↓
Triangulation
↓
Sparse Point Cloud
Enter fullscreen mode Exit fullscreen mode
A grande vantagem é que não precisamos necessariamente de um sensor de profundidade dedicado.
A geometria pode ser recuperada a partir das imagens.
29. Triangulation
Se temos:
Camera A
Camera B
Enter fullscreen mode Exit fullscreen mode
e um mesmo ponto aparece nas duas imagens, podemos estimar sua posição 3D.
Camera A
\
\
P
/
/
Camera B
Enter fullscreen mode Exit fullscreen mode
Esse processo é chamado de triangulação.
O resultado é um ponto no espaço:
P = (X, Y, Z)
Enter fullscreen mode Exit fullscreen mode
30. Bundle Adjustment
Durante SfM, as estimativas iniciais podem conter erros.
Bundle Adjustment otimiza simultaneamente:
camera poses
+
3D points
Enter fullscreen mode Exit fullscreen mode
buscando minimizar o erro de reprojeção.
Conceitualmente:
minimize Σ || observed_pixel - projected_3D_point ||²
Enter fullscreen mode Exit fullscreen mode
Esse tipo de otimização é uma das partes mais importantes de um pipeline de reconstrução fotogramétrica.
31. Multi-View Stereo
SfM normalmente produz uma reconstrução esparsa.
MVS tenta gerar uma reconstrução muito mais densa.
SfM
↓
Sparse Point Cloud
↓
MVS
↓
Dense Point Cloud
Enter fullscreen mode Exit fullscreen mode
Uma maneira útil de pensar:
SfM = entender câmeras + estrutura inicial
MVS = recuperar geometria densa
Enter fullscreen mode Exit fullscreen mode
32. Fotogrametria
Um pipeline de fotogrametria pode ser:
Photos
↓
Feature Extraction
↓
Feature Matching
↓
Camera Calibration
↓
SfM
↓
Sparse Reconstruction
↓
MVS
↓
Dense Point Cloud
↓
Surface Reconstruction
↓
Mesh
↓
Texture
Enter fullscreen mode Exit fullscreen mode
Ferramentas conhecidas:
COLMAP
OpenMVG
OpenMVS
AliceVision / Meshroom
Open3D
Enter fullscreen mode Exit fullscreen mode
33. Point Clouds
Uma Point Cloud é um conjunto de pontos 3D.
O mínimo:
X
Y
Z
Enter fullscreen mode Exit fullscreen mode
Mas um ponto pode carregar muito mais informação:
X
Y
Z
R
G
B
normal
intensity
confidence
timestamp
Enter fullscreen mode Exit fullscreen mode
Por exemplo:
P1 = (1.2, 0.4, 2.1)
P2 = (1.3, 0.5, 2.0)
P3 = (1.4, 0.5, 2.2)
Enter fullscreen mode Exit fullscreen mode
34. Point Cloud Registration
Se temos duas nuvens:
Cloud A
Cloud B
Enter fullscreen mode Exit fullscreen mode
precisamos encontrar a transformação que alinha uma com a outra.
Um algoritmo clássico é o ICP:
Iterative Closest Point
Pipeline:
Initial Alignment
↓
Nearest Neighbors
↓
Estimate Transform
↓
Apply Transform
↓
Repeat
Enter fullscreen mode Exit fullscreen mode
A transformação normalmente pertence ao grupo de movimentos rígidos:
T ∈ SE(3)
Enter fullscreen mode Exit fullscreen mode
35. LiDAR
LiDAR significa Light Detection and Ranging.
O princípio básico é medir o tempo que a luz leva para ir até uma superfície e retornar.
Uma aproximação:
d = cΔt / 2
Enter fullscreen mode Exit fullscreen mode
onde:
d = distância
c = velocidade da luz
Δt = tempo de voo
Enter fullscreen mode Exit fullscreen mode
O sensor pode gerar uma representação 3D do ambiente.
36. LiDAR + Camera
Câmera e LiDAR têm características diferentes.
A câmera oferece:
color
texture
semantic information
Enter fullscreen mode Exit fullscreen mode
O LiDAR oferece:
depth
geometry
Enter fullscreen mode Exit fullscreen mode
Com calibração entre os dois sensores, podemos projetar pontos do LiDAR na imagem.
LiDAR Point
↓
Extrinsic Transform
↓
Camera Coordinate System
↓
Pixel Projection
Enter fullscreen mode Exit fullscreen mode
Isso permite, por exemplo, associar cor RGB a pontos 3D.
37. SLAM
SLAM significa:
Simultaneous Localization and Mapping
O sistema precisa resolver duas coisas ao mesmo tempo:
Onde estou?
Enter fullscreen mode Exit fullscreen mode
e:
Como é o ambiente?
Enter fullscreen mode Exit fullscreen mode
Pipeline simplificado:
Sensor
↓
Feature / Point Extraction
↓
Motion Estimation
↓
Pose
↓
Map Update
↓
Loop Closure
Enter fullscreen mode Exit fullscreen mode
Aplicações:
- robótica;
- AR;
- VR;
- drones;
- navegação;
- mapeamento.
38. Visual SLAM
No Visual SLAM, câmeras são usadas para estimar movimento e construir o mapa.
Alguns sistemas conhecidos:
ORB-SLAM
ORB-SLAM2
ORB-SLAM3
VINS
OpenVSLAM
Enter fullscreen mode Exit fullscreen mode
A qualidade depende bastante de fatores como textura, iluminação, movimento e características da câmera.
39. Visual-Inertial SLAM
Podemos combinar câmera e IMU:
Camera
+
IMU
Enter fullscreen mode Exit fullscreen mode
A IMU normalmente fornece:
accelerometer
gyroscope
Enter fullscreen mode Exit fullscreen mode
Os sensores podem ser combinados:
Camera ─────┐
├──> Sensor Fusion ──> Pose
IMU ────────┘
Enter fullscreen mode Exit fullscreen mode
Isso ajuda principalmente em movimentos rápidos e cenários onde a imagem sozinha é insuficiente.
40. Mesh Reconstruction
Point cloud não é necessariamente uma superfície.
Uma mesh possui:
vertices
edges
faces
Enter fullscreen mode Exit fullscreen mode
Normalmente utilizamos triângulos:
Triangle Mesh
Enter fullscreen mode Exit fullscreen mode
Pipeline:
Point Cloud
↓
Surface Reconstruction
↓
Mesh
Enter fullscreen mode Exit fullscreen mode
41. Poisson Surface Reconstruction
Poisson Surface Reconstruction é um método bastante conhecido para transformar pontos orientados em uma superfície.
Point Cloud
+
Normals
↓
Poisson Reconstruction
↓
Surface
↓
Triangle Mesh
Enter fullscreen mode Exit fullscreen mode
A qualidade das normais e da densidade da nuvem influencia bastante o resultado.
42. TSDF
TSDF significa Truncated Signed Distance Function.
A ideia é integrar várias observações de profundidade em um volume.
Depth Frame 1
Depth Frame 2
Depth Frame 3
...
Depth Frame N
↓
TSDF Volume
↓
Surface Extraction
↓
Mesh
Enter fullscreen mode Exit fullscreen mode
Essa técnica aparece em vários sistemas de reconstrução RGB-D.
43. NeRF
NeRF significa Neural Radiance Fields.
Em vez de representar uma cena apenas com pontos ou polígonos, o sistema aprende uma representação neural.
De forma simplificada:
(x, y, z, direction)
↓
Neural Network
↓
density + color
Enter fullscreen mode Exit fullscreen mode
Depois podemos renderizar a cena a partir de diferentes posições de câmera.
A ideia geral:
Camera Ray
↓
Sample Points
↓
Neural Field
↓
Volume Rendering
↓
Pixel
Enter fullscreen mode Exit fullscreen mode
44. Gaussian Splatting
3D Gaussian Splatting segue outra abordagem para representar uma cena.
Em vez de uma mesh tradicional, a cena é composta por gaussianas 3D.
Uma gaussiana pode carregar:
position
scale
rotation
opacity
color
Enter fullscreen mode Exit fullscreen mode
Pipeline:
Scene
↓
3D Gaussians
↓
Rasterization
↓
Rendered Image
Enter fullscreen mode Exit fullscreen mode
É uma técnica especialmente interessante para visualização e reconstrução de cenas.
45. 3D Object Detection
Detection também pode acontecer diretamente no espaço 3D.
Entrada:
Point Cloud
Enter fullscreen mode Exit fullscreen mode
Saída:
3D Bounding Box
Enter fullscreen mode Exit fullscreen mode
Uma bounding box 3D pode conter:
x
y
z
width
height
depth
rotation
class
confidence
Enter fullscreen mode Exit fullscreen mode
Isso aparece bastante em:
- veículos autônomos;
- robótica;
- logística;
- ambientes industriais.
46. Face Detection
Face Detection responde:
Onde existem rostos?
Normalmente produz bounding boxes.
Image
↓
Face Detector
↓
Bounding Boxes
Enter fullscreen mode Exit fullscreen mode
Isso é diferente de reconhecimento facial.
47. Face Recognition
Recognition tenta gerar uma representação que permita comparar rostos.
Pipeline:
Face Detection
↓
Face Alignment
↓
Face Embedding
↓
Similarity
Enter fullscreen mode Exit fullscreen mode
O rosto vira um vetor:
[0.13, -0.44, 0.82, ...]
Enter fullscreen mode Exit fullscreen mode
E podemos comparar embeddings usando medidas de distância ou similaridade.
48. Pose Estimation
Pose Estimation tenta localizar partes do corpo.
Exemplo:
head
shoulder
elbow
wrist
hip
knee
ankle
Enter fullscreen mode Exit fullscreen mode
Uma saída 2D pode ser:
(x, y, confidence)
Enter fullscreen mode Exit fullscreen mode
Em 3D:
(x, y, z)
Enter fullscreen mode Exit fullscreen mode
Isso permite aplicações de:
- análise esportiva;
- realidade aumentada;
- interação humano-computador;
- animação;
- robótica.
49. Hand Tracking
Mãos podem ser representadas por landmarks.
Um modelo pode retornar dezenas de pontos:
landmark
├── x
├── y
├── z
└── confidence
Enter fullscreen mode Exit fullscreen mode
Com esses pontos podemos construir reconhecimento de gestos.
Camera
↓
Hand Detection
↓
Landmarks
↓
Gesture Classification
Enter fullscreen mode Exit fullscreen mode
50. Vision Transformers
Transformers mudaram primeiro o NLP e depois passaram a dominar uma parte importante da visão computacional.
No caso do Vision Transformer:
Image
↓
Patch Extraction
↓
Patch Embeddings
↓
Transformer
↓
Visual Representation
Enter fullscreen mode Exit fullscreen mode
Uma imagem pode ser dividida em patches.
Por exemplo:
224 × 224
Enter fullscreen mode Exit fullscreen mode
com patches de:
16 × 16
Enter fullscreen mode Exit fullscreen mode
resulta em:
14 × 14 = 196 patches
Enter fullscreen mode Exit fullscreen mode
Esses patches podem ser tratados como uma sequência de tokens visuais.
51. Self-Attention
O mecanismo de atenção permite que diferentes partes da imagem sejam relacionadas entre si.
A operação básica é:
Attention(Q, K, V)
=
softmax(QKᵀ / √d)V
Enter fullscreen mode Exit fullscreen mode
Isso ajuda o modelo a capturar relações de longo alcance.
Em comparação com convoluções, a atenção oferece uma maneira diferente de modelar dependências espaciais.
52. CNN vs Vision Transformer
Característica CNN Vision Transformer Operação principal Convolução Attention Viés espacial Forte Mais flexível Relações locais Muito boas Aprendidas Relações globais Mais limitadas Muito fortes Escalabilidade Alta Muito alta Uso atual Muito relevante Muito relevanteNão existe uma regra simples de que um substituiu completamente o outro. Ambos continuam sendo usados.
53. Vision-Language Models
Vision-Language Models conectam visão e linguagem.
Um modelo pode receber:
Image
+
Question
Enter fullscreen mode Exit fullscreen mode
e produzir:
Answer
Enter fullscreen mode Exit fullscreen mode
Ou:
Image
↓
Description
Enter fullscreen mode Exit fullscreen mode
A ideia é criar uma representação compartilhada ou conectada entre conteúdo visual e linguagem.
Isso abre espaço para sistemas que conseguem conversar sobre imagens.
54. Multimodal AI
Multimodal vai além de imagem + texto.
Um sistema pode trabalhar com:
Image
Video
Audio
Text
3D
Sensors
Enter fullscreen mode Exit fullscreen mode
Conceitualmente:
Image Encoder ───┐
Video Encoder ───┤
Audio Encoder ───┼──> Multimodal Representation
Text Encoder ────┤
3D Encoder ──────┘
Enter fullscreen mode Exit fullscreen mode
Esse tipo de arquitetura é particularmente interessante quando o problema não pode ser resolvido olhando apenas para um tipo de dado.
55. Vision + LLM
Uma arquitetura cada vez mais comum:
Camera
↓
Vision Encoder
↓
Visual Features
↓
LLM
↓
Reasoning
↓
Action
Enter fullscreen mode Exit fullscreen mode
Por exemplo:
Camera
↓
Detection
↓
Scene Understanding
↓
Vision-Language Model
↓
LLM
↓
"Existe um obstáculo aproximadamente 2 metros à frente."
Enter fullscreen mode Exit fullscreen mode
Aqui a visão deixa de ser apenas uma etapa de classificação e passa a fazer parte de um sistema de raciocínio.
56. Embeddings visuais
Embeddings são uma das peças importantes dos sistemas modernos.
Image
↓
Encoder
↓
Vector
Enter fullscreen mode Exit fullscreen mode
Depois podemos usar o vetor para:
- busca;
- clustering;
- classificação;
- recomendação;
- retrieval;
- comparação;
- RAG multimodal.
Um exemplo:
Query Image
↓
Embedding
↓
Vector Database
↓
Similar Content
↓
LLM / Application
Enter fullscreen mode Exit fullscreen mode
57. RAG multimodal
RAG tradicional costuma trabalhar com texto.
Em uma arquitetura multimodal, podemos recuperar:
documents
images
tables
diagrams
photos
Enter fullscreen mode Exit fullscreen mode
Pipeline:
User Question
↓
Query Embedding
↓
Vector Search
↓
Relevant Images + Documents
↓
Multimodal Model
↓
Answer
Enter fullscreen mode Exit fullscreen mode
Isso pode ser usado para manuais técnicos, documentação, inspeções, plantas, contratos e outros conteúdos.
58. Sensor Fusion
Sistemas avançados raramente precisam depender de um único sensor.
Podemos combinar:
Camera
LiDAR
Radar
IMU
GPS
Depth Sensor
Enter fullscreen mode Exit fullscreen mode
A arquitetura:
Camera ───┐
LiDAR ────┤
Radar ────┼──> Sensor Fusion
IMU ──────┤
GPS ──────┘
↓
World Model
Enter fullscreen mode Exit fullscreen mode
Cada sensor tem pontos fortes e limitações.
A fusão tenta obter uma representação mais confiável do ambiente.
59. Computer Vision em veículos autônomos
Um perception stack pode ser:
Cameras
LiDAR
Radar
IMU
↓
Sensor Fusion
↓
Object Detection
↓
Tracking
↓
Depth / 3D Perception
↓
Localization
↓
Scene Understanding
↓
Planning
Enter fullscreen mode Exit fullscreen mode
A visão é apenas uma parte do sistema inteiro.
60. Computer Vision em robótica
Um robô precisa perceber o ambiente antes de tomar decisões.
Um pipeline possível:
Sensors
↓
Perception
↓
Localization
↓
Mapping
↓
Planning
↓
Control
Enter fullscreen mode Exit fullscreen mode
A percepção pode envolver:
Detection
Segmentation
Depth
SLAM
3D Reconstruction
Pose Estimation
Enter fullscreen mode Exit fullscreen mode
61. Augmented Reality
AR depende bastante de entender a relação entre câmera e mundo.
Um pipeline típico:
Camera
↓
Tracking
↓
SLAM
↓
Plane Detection
↓
World Tracking
↓
Virtual Object Placement
Enter fullscreen mode Exit fullscreen mode
Sem uma estimativa razoável da pose da câmera, objetos virtuais não conseguem permanecer corretamente posicionados no ambiente.
62. 3D Scanning
Um scanner 3D é um ótimo exemplo de como várias áreas se juntam.
Podemos ter:
Camera
+
LiDAR
+
IMU
Enter fullscreen mode Exit fullscreen mode
e um pipeline:
Capture
↓
Frame Selection
↓
Image Quality
↓
Feature Extraction
↓
Feature Matching
↓
Camera Pose
↓
Depth
↓
Point Cloud
↓
Registration
↓
Dense Reconstruction
↓
Mesh
↓
Texture
↓
3D Model
Enter fullscreen mode Exit fullscreen mode
Aqui aparecem praticamente todos os conceitos discutidos anteriormente.
63. Captura de imagens para reconstrução
Mais imagens não significa necessariamente uma reconstrução melhor.
Alguns fatores importantes:
sharpness
exposure
overlap
texture
viewpoint diversity
motion blur
lighting
camera calibration
Enter fullscreen mode Exit fullscreen mode
Se uma imagem estiver muito borrada, os features podem ser ruins.
Se houver pouca sobreposição entre duas imagens, o matching pode falhar.
Se todas as imagens forem praticamente iguais, também pode faltar informação geométrica.
64. Frame Selection
Em uma aplicação de captura contínua, não é necessário guardar todos os frames.
Podemos avaliar:
blur score
feature count
motion
image quality
overlap
pose change
Enter fullscreen mode Exit fullscreen mode
Por exemplo:
Quality < threshold
→ discard
Feature count < threshold
→ discard
Pose change muito pequeno
→ skip
Motion muito alto
→ wait
Enter fullscreen mode Exit fullscreen mode
Isso reduz processamento, armazenamento e tráfego de rede.
65. Edge AI
Nem todo processamento precisa acontecer no servidor.
Podemos dividir o pipeline:
Mobile
├── Capture
├── Preprocessing
├── Detection
├── Tracking
└── Quality Control
Server
├── SfM
├── MVS
├── Reconstruction
└── Heavy Inference
Enter fullscreen mode Exit fullscreen mode
Essa arquitetura pode reduzir:
latency
bandwidth
server load
Enter fullscreen mode Exit fullscreen mode
e em determinados cenários também pode ajudar com privacidade.
66. CPU vs GPU
Computer Vision moderno pode ser bastante pesado.
CPU é muito útil para:
- I/O;
- lógica;
- pré-processamento;
- serialização;
- pós-processamento.
GPU é especialmente boa para:
- convoluções;
- Transformers;
- operações matriciais;
- treinamento;
- inferência paralela.
Um pipeline pode ser:
CPU
↓
Data Preparation
↓
GPU
↓
Inference
↓
CPU
↓
Post-processing
Enter fullscreen mode Exit fullscreen mode
67. Frameworks
Um stack bastante comum:
Python
Python
NumPy
OpenCV
PyTorch
scikit-image
Enter fullscreen mode Exit fullscreen mode
Computer Vision
OpenCV
MediaPipe
Open3D
PCL
Enter fullscreen mode Exit fullscreen mode
3D / Photogrammetry
COLMAP
OpenMVG
OpenMVS
Meshroom
Open3D
Enter fullscreen mode Exit fullscreen mode
Deep Learning
PyTorch
TensorFlow
ONNX
TensorRT
Enter fullscreen mode Exit fullscreen mode
Mobile
ARKit
Vision
Core ML
TensorFlow Lite
ONNX Runtime
Enter fullscreen mode Exit fullscreen mode
68. OpenCV
OpenCV continua sendo uma das bibliotecas mais importantes da área.
Ela oferece ferramentas para:
image processing
feature detection
camera calibration
stereo vision
optical flow
video processing
geometric transformations
Enter fullscreen mode Exit fullscreen mode
Mesmo quando o modelo de IA é desenvolvido em PyTorch, OpenCV frequentemente aparece em outras partes do pipeline.
69. Open3D
Open3D é especialmente útil para aplicações 3D.
Pode trabalhar com:
Point Clouds
Meshes
RGB-D
Registration
Visualization
Surface Reconstruction
Enter fullscreen mode Exit fullscreen mode
Um pipeline típico:
RGB-D
↓
Point Cloud
↓
Registration
↓
Fusion
↓
Mesh
Enter fullscreen mode Exit fullscreen mode
70. COLMAP
COLMAP é uma das ferramentas mais conhecidas para reconstrução 3D a partir de imagens.
Um pipeline típico:
Images
↓
Feature Extraction
↓
Feature Matching
↓
SfM / Mapper
↓
Sparse Reconstruction
↓
Dense Reconstruction
↓
Point Cloud
Enter fullscreen mode Exit fullscreen mode
É uma ferramenta importante para quem trabalha com:
photogrammetry
SfM
MVS
3D reconstruction
Enter fullscreen mode Exit fullscreen mode
71. Avaliação de modelos
Um modelo não deve ser avaliado apenas olhando alguns resultados.
É necessário usar métricas.
Classification
Accuracy
Precision
Recall
F1
Top-k Accuracy
Enter fullscreen mode Exit fullscreen mode
Detection
IoU
Precision
Recall
mAP
Enter fullscreen mode Exit fullscreen mode
Segmentation
IoU
Dice
Pixel Accuracy
Enter fullscreen mode Exit fullscreen mode
Tracking
MOTA
MOTP
IDF1
HOTA
Enter fullscreen mode Exit fullscreen mode
72. Confusion Matrix
Para classificação:
Predicted
Cat Dog
Actual Cat TP FN
Actual Dog FP TP
Enter fullscreen mode Exit fullscreen mode
A partir disso:
Precision = TP / (TP + FP)
Recall = TP / (TP + FN)
F1 = 2 × Precision × Recall
------------------------
Precision + Recall
Enter fullscreen mode Exit fullscreen mode
73. IoU
IoU é utilizado principalmente em detection e segmentation.
IoU = Intersection / Union
Enter fullscreen mode Exit fullscreen mode
Exemplo conceitual:
Prediction
┌───────────────┐
│ │
│ ┌──────────┼────┐
│ │ │ │
└────┼──────────┘ │
└───────────────┘
Ground Truth
Enter fullscreen mode Exit fullscreen mode
Quanto maior a interseção relativa, melhor a sobreposição.
74. mAP
Mean Average Precision é uma métrica muito usada em object detection.
Ela envolve a relação entre:
Precision
Recall
IoU
Enter fullscreen mode Exit fullscreen mode
É comum encontrar:
mAP@50
mAP@50:95
Enter fullscreen mode Exit fullscreen mode
É importante observar exatamente qual métrica está sendo reportada antes de comparar dois modelos.
75. Latência e FPS
Em aplicações reais, accuracy não é tudo.
Também precisamos medir:
Latency
FPS
Memory
GPU utilization
Power consumption
Enter fullscreen mode Exit fullscreen mode
Um modelo muito preciso pode não servir para uma aplicação que exige tempo real.
Por exemplo:
30 FPS
Enter fullscreen mode Exit fullscreen mode
significa aproximadamente:
33 ms por frame
Enter fullscreen mode Exit fullscreen mode
Então todo o pipeline precisa caber nesse orçamento de tempo.
76. Quantization
Modelos podem ser quantizados:
FP32
↓
FP16
↓
INT8
Enter fullscreen mode Exit fullscreen mode
Isso pode reduzir:
memory
latency
power consumption
Enter fullscreen mode Exit fullscreen mode
mas pode haver perda de precisão dependendo do modelo e da estratégia utilizada.
77. Outras otimizações
Algumas técnicas:
Pruning
Knowledge Distillation
Quantization
Operator Fusion
ONNX
TensorRT
Compilation
Enter fullscreen mode Exit fullscreen mode
Um pipeline de deployment pode ser:
Training Model
↓
Export
↓
Optimization
↓
Quantization
↓
Compilation
↓
Deployment
Enter fullscreen mode Exit fullscreen mode
78. Model Deployment
O modelo pode rodar em:
Cloud
Server
Desktop
Edge Device
Mobile
Embedded Hardware
Enter fullscreen mode Exit fullscreen mode
Um exemplo híbrido:
Mobile Camera
↓
On-device Model
↓
Local Filtering
↓
API
↓
Backend
↓
Heavy Model
Enter fullscreen mode Exit fullscreen mode
A arquitetura depende de latência, custo, hardware, conectividade e privacidade.
79. Dados
Um dos maiores erros ao começar em Machine Learning é assumir que o modelo é a parte mais importante.
Na prática, a qualidade dos dados tem enorme impacto.
Problemas comuns:
dataset pequeno
labels ruins
classes desbalanceadas
lighting diferente
camera diferente
resolution diferente
domain shift
Enter fullscreen mode Exit fullscreen mode
Um modelo excelente treinado com dados ruins continuará produzindo resultados ruins.
80. Data Augmentation
Durante o treinamento podemos variar os dados:
rotation
crop
flip
scale
brightness
contrast
noise
blur
perspective
color jitter
Enter fullscreen mode Exit fullscreen mode
Por exemplo:
Original
↓
Augmentation
↓
Training Samples
Enter fullscreen mode Exit fullscreen mode
A ideia é tornar o modelo menos dependente de condições específicas do dataset.
81. Domain Shift
Um modelo treinado em um ambiente pode se comportar de maneira completamente diferente em outro.
Por exemplo:
Training:
studio lighting
Production:
outdoor lighting
Enter fullscreen mode Exit fullscreen mode
Ou:
Training:
high-end camera
Production:
mobile camera
Enter fullscreen mode Exit fullscreen mode
Esse problema é conhecido como domain shift.
É uma das razões pelas quais modelos que parecem excelentes em benchmarks podem precisar de ajustes quando chegam à produção.
82. Perception Stack
Podemos juntar várias dessas ideias em uma arquitetura:
SENSORS
│
┌───────────────┼───────────────┐
▼ ▼ ▼
Camera LiDAR IMU
│ │ │
└───────────────┼───────────────┘
▼
Sensor Fusion
│
▼
Object Detection
│
▼
Tracking
│
▼
Depth / 3D
│
▼
Localization
│
▼
Scene Understanding
│
▼
World Model
│
▼
Decision
Enter fullscreen mode Exit fullscreen mode
Essa arquitetura aparece, com variações, em robótica, veículos autônomos, AR e sistemas de mapeamento.
83. Spatial Intelligence
Existe uma evolução interessante quando passamos de reconhecimento para entendimento espacial.
Primeiro:
"Existe uma cadeira."
Enter fullscreen mode Exit fullscreen mode
Depois:
"A cadeira está a 2 metros."
Enter fullscreen mode Exit fullscreen mode
Depois:
"A cadeira está à esquerda e está orientada nessa direção."
Enter fullscreen mode Exit fullscreen mode
E finalmente:
"Existe espaço suficiente para passar ao lado da cadeira."
Enter fullscreen mode Exit fullscreen mode
O sistema deixa de apenas classificar objetos e começa a construir uma representação do ambiente.
Isso aproxima Computer Vision de conceitos como:
3D perception
spatial reasoning
world models
robotics
multimodal AI
Enter fullscreen mode Exit fullscreen mode
84. Um pipeline completo de visão + 3D + IA
Uma arquitetura mais ambiciosa poderia ser:
WORLD
│
▼
┌─────────┐
│ Sensors │
└────┬────┘
│
┌───────────┼───────────┐
▼ ▼ ▼
Camera LiDAR IMU
│ │ │
└───────────┼───────────┘
▼
Preprocessing
│
▼
Computer Vision
│
┌─────────────┼─────────────┐
▼ ▼ ▼
Detection Segmentation Tracking
│ │ │
└─────────────┼─────────────┘
▼
Geometry
│
┌─────────────┼─────────────┐
▼ ▼ ▼
Depth SfM SLAM
│ │ │
└─────────────┼─────────────┘
▼
3D World
│
┌─────────────┼─────────────┐
▼ ▼ ▼
Point Cloud Mesh Neural Field
│ │ │
└─────────────┼─────────────┘
▼
Scene Understanding
│
▼
Vision-Language Model
│
▼
LLM
│
▼
Reasoning
│
▼
Action
Enter fullscreen mode Exit fullscreen mode
85. Como estudar Computer Vision
Para um desenvolvedor, uma sequência possível seria:
Python
↓
NumPy
↓
OpenCV
↓
Image Processing
↓
CNN
↓
Classification
↓
Object Detection
↓
Segmentation
↓
Video Processing
↓
Tracking
↓
Camera Geometry
↓
Calibration
↓
Stereo
↓
Depth
↓
Feature Matching
↓
SfM
↓
MVS
↓
Point Clouds
↓
Registration
↓
SLAM
↓
Mesh Reconstruction
↓
Vision Transformers
↓
Vision-Language Models
↓
Multimodal AI
↓
Vision + LLM
Enter fullscreen mode Exit fullscreen mode
Não é necessário dominar tudo para começar a construir aplicações. Mas esse mapa ajuda a entender onde cada tecnologia se encaixa.
86. Stack para começar
Um stack prático para estudar e prototipar:
Language
Python
Numerical Computing
NumPy
Image Processing
OpenCV
Deep Learning
PyTorch
Object Detection
YOLO / DETR
Segmentation
SAM / segmentation models
3D
Open3D
Photogrammetry
COLMAP
Point Clouds
Open3D / PCL
Optimization
SciPy / Ceres
Model Runtime
ONNX Runtime / TensorRT
Backend
FastAPI
Mobile
Swift / Kotlin / React Native
Multimodal
VLM + LLM
Enter fullscreen mode Exit fullscreen mode
87. O ponto principal
O mais importante para quem desenvolve sistemas de Computer Vision é não enxergar essas tecnologias como ferramentas isoladas.
Um projeto real pode começar com:
Camera
Enter fullscreen mode Exit fullscreen mode
e terminar com:
3D Model
+
Scene Understanding
+
LLM
Enter fullscreen mode Exit fullscreen mode
No meio existem dezenas de etapas:
Capture
↓
Preprocessing
↓
Detection
↓
Segmentation
↓
Tracking
↓
Calibration
↓
Depth
↓
Pose Estimation
↓
SfM
↓
MVS
↓
Point Cloud
↓
Registration
↓
Mesh
↓
Vision Model
↓
VLM
↓
LLM
Enter fullscreen mode Exit fullscreen mode
Cada etapa resolve um problema diferente.
E é justamente a combinação delas que permite construir sistemas realmente sofisticados.
Conclusão
Computer Vision não é apenas reconhecimento de imagens.
É a combinação de várias áreas:
Computer Vision
+
Deep Learning
+
Geometry
+
Computer Graphics
+
3D Reconstruction
+
Robotics
+
Generative AI
+
Multimodal AI
+
LLMs
Enter fullscreen mode Exit fullscreen mode
Uma forma de enxergar a evolução é:
Pixels
↓
Features
↓
Objects
↓
Semantics
↓
Motion
↓
Depth
↓
Geometry
↓
3D
↓
Scene Understanding
↓
Multimodal Reasoning
↓
Action
Enter fullscreen mode Exit fullscreen mode
Uma câmera produz pixels.
Um detector encontra objetos.
Um modelo de segmentação separa regiões.
Um sistema geométrico recupera profundidade e pose.
SfM e MVS conseguem reconstruir uma cena.
LiDAR fornece medições espaciais.
SLAM conecta percepção e localização.
Modelos multimodais conectam visão e linguagem.
E um LLM pode usar todas essas informações para raciocinar sobre o que está acontecendo.
É aí que Computer Vision começa a deixar de ser apenas “reconhecimento de imagem” e passa a funcionar como uma camada de percepção de sistemas inteligentes.
Referências e tecnologias para explorar
Computer Vision
OpenCV
PyTorch
scikit-image
MediaPipe
Enter fullscreen mode Exit fullscreen mode
Detection
YOLO
Faster R-CNN
DETR
Enter fullscreen mode Exit fullscreen mode
Segmentation
U-Net
Mask R-CNN
SAM
Enter fullscreen mode Exit fullscreen mode
Geometry
Camera Calibration
Stereo Vision
Epipolar Geometry
SfM
MVS
Enter fullscreen mode Exit fullscreen mode
Photogrammetry
COLMAP
OpenMVG
OpenMVS
Meshroom
Enter fullscreen mode Exit fullscreen mode
3D
Open3D
PCL
SLAM
NeRF
Gaussian Splatting
Enter fullscreen mode Exit fullscreen mode
Modern AI
Vision Transformers
Vision-Language Models
Multimodal LLMs
Visual Embeddings
RAG
Enter fullscreen mode Exit fullscreen mode
Final thought
O caminho mais interessante, na minha visão, não está em escolher entre Computer Vision, 3D ou LLM.
Está em conectar essas áreas.
Perception
+
Geometry
+
3D
+
Deep Learning
+
Language
=
Intelligent Systems
Enter fullscreen mode Exit fullscreen mode
Quando essas camadas começam a trabalhar juntas, a aplicação deixa de apenas “ver” e passa a construir uma representação cada vez mais rica do mundo.