Aprenda visão computacional
Ordens de leitura: a trilha de Fundamentos, em que cada unidade se apoia nas anteriores, e o Guia de Métricas, que explica como modelos são avaliados. Escolha a linha que tem a ver com você.
Comece aqui
Prefere começar pelas ideias? Estes seis
Um post de cada parte da trilha, na ordem em que dependem uns dos outros. Todos têm um lab interativo, para você mexer nos números e ver o que muda. Depois dos seis, escolha no mapa abaixo a unidade que mais te interessou.
- 1 Image processing, computer vision, and computer graphics: one picture, three directions of the arrow O que é visão computacional, e como ela difere de processamento de imagens e computação gráfica. Iniciante 14 min de leitura · Em inglês
- 2 An Image Is an Array: Shape, dtype, and Why OpenCV Hands You BGR O que um computador guarda quando guarda uma foto: uma grade de números com forma e tipo. Iniciante 7 min de leitura · Em inglês
- 3 How 2D Convolution Works on Images: Kernels, Filters, and the Math, Interactively A operação por trás do desfoque, da nitidez, das bordas e de toda CNN. Iniciante 8 min de leitura · Em inglês
- 4 What Is an Edge? Step, Ramp and Roof, and the Two Derivatives That Find Them A primeira coisa que vale encontrar numa imagem, e por que é mais difícil do que parece. Iniciante 9 min de leitura · Em inglês
- 5 What Is a Homography? Levar uma vista de um plano sobre outra: scanners de documentos, gráficos esportivos, panoramas. Iniciante 14 min de leitura · Em inglês
- 6 Classification Metrics, From the Ground Up: Precision, Recall, F1, ROC and AUC Como saber se um modelo é bom, partindo de uma tabela de contagens. Iniciante 9 min de leitura · Em inglês
Fundamentos de Visão Computacional
43 artigos até agora, em ordem de dependência: nada aparece antes daquilo de que depende. Unidades em cinza estão planejadas e ainda não foram escritas.
Imagem
Como a luz vira uma matriz de números.
Como uma cena é achatada sobre um sensor, e o que a lente faz no caminho.
4 lições · visão geral da unidade
O que o número de um pixel conta, e até onde dá para confiar nele.
5 lições · visão geral da unidade
O que a matriz guarda, onde ficam suas amostras, com que precisão são escritas e o que o arquivo fez com elas.
6 lições · visão geral da unidade
Antes desta: Captura da imagem
-
1 Uma imagem é uma matriz Iniciante 7 min · EN -
2 Amostragem: a grade de pixels Iniciante 9 min · EN -
3 Quantização e profundidade de bits Iniciante 7 min · EN -
4 Espaços de cor Iniciante 9 min · EN -
5 Quão perto está a sua cor? Intermediário 8 min · EN -
6 Formatos de arquivo e compressão Iniciante 9 min · EN
Processamento de imagens
O que fazer com essa matriz depois que você a tem.
A operação por trás do desfoque, da nitidez, das bordas e de toda CNN.
1 lição
Antes desta: Uma imagem é uma matriz
Features
O que numa imagem vale a pena apontar, e como descrever.
Encontrar onde uma coisa termina e outra começa.
5 lições · visão geral da unidade
Antes desta: Como funciona a convolução 2D
Encontrar retas e círculos por votação: a transformada de Hough, e o ajuste de uma reta ao que ela encontra.
4 lições · visão geral da unidade
Antes desta: Detecção de bordas
Sobreviver a uma câmera que se move: espaço de escala, e 128 números por ponto.
1 lição
Antes desta: Detecção de bordas
Levar uma vista de um plano sobre outra: a matriz 3×3, como ajustá-la e como deformar a imagem por ela.
5 lições · visão geral da unidade
Antes desta: Coordenadas homogêneas
Geometria
De uma câmera para várias, e de volta às três dimensões.
Intrínsecos, extrínsecos, calibração e pose a partir de pontos conhecidos.
4 lições · visão geral da unidade
Antes desta: Formação da imagem
Recuperar estrutura e movimento a partir de um conjunto de fotos.
1 lição
Antes desta: O que torna um ponto pareável?, RANSAC, PnP: pose a partir de pontos conhecidos
Dados 3-D e nuvens de pontos
O que um sensor de profundidade entrega, e como trabalhar com isso.
Reconhecimento
De pixels a rótulos.
OpenCV na Prática
Construa um projeto real por módulo com Python e OpenCV, rodando cada linha no seu navegador, e veja onde ele funciona e onde falha. Cada módulo aponta para as unidades de Fundamentos que explicam por que ele funciona. O código roda na página; a primeira execução baixa cerca de 20 MB.
Abrir uma imagem, ler seus pixels e histograma e corrigir a exposição, medida contra uma exposição mais longa da mesma cena.
6 lições · visão geral do projeto
Por que funciona: Unidade 1.2: Captura da imagem, Unidade 1.3: A imagem como dado
- 1 Abrir uma imagem e ler seus pixels 3 min
- 2 Histogramas de imagem 3 min
- 3 Brilho e contraste 3 min
- 4 Correção gama 3 min
- 5 Equalização de histograma e CLAHE 3 min
- 6 Recortar, redimensionar e salvar 3 min
Espaços de cor, máscaras, morfologia e contornos: separar objetos pela cor e contar o que o pipeline acerta e erra.
5 lições · visão geral do projeto
Por que funciona: Unidade 1.3: A imagem como dado
- 1 Achar a faixa HSV de um objeto 4 min
- 2 Máscaras de cor com inRange 3 min
- 3 Erosão, dilatação, abertura e fechamento 4 min
- 4 Encontrar e filtrar contornos 4 min
- 5 Onde a detecção por cor falha 6 min
O Guia de Métricas de Visão Computacional
Cada métrica de visão computacional, desde a base. Um livro completo sobre avaliação, com sua própria ordem de leitura: uma matriz de confusão vira precisão e revocação, e essas se estendem a caixas, máscaras, identidades ao longo do tempo e imagens sem nenhum gabarito.
- 01ClassificaçãoClassification Metrics, From the Ground Up: Precision, Recall, F1, ROC and AUC
The confusion matrix and everything that falls out of it: precision, recall, F1, specificity, the precision/recall trade-off, PR and ROC curves, and AUC, all built on one running toy example (a backyard cat-cam), with the equations, the intuition, and scikit-learn.
Confusion matrixPrecisionRecallF1SpecificityPR & ROC curvesAUC - 02Multiclasse e multirrótuloMulticlass and Multilabel Metrics: Micro, Macro, Weighted, and the Difference That Matters
How precision/recall/F1 scale past two classes: one-vs-rest, and the micro/macro/weighted averaging that decides whether rare classes count. Plus multilabel-specific metrics: subset accuracy, Hamming loss, and top-k, all on one running shelter-camera example, with scikit-learn.
One-vs-restMicroMacroWeightedSubset accuracyHamming lossTop-k - 03Detecção de objetosObject Detection Metrics: IoU, AP, and the mAP Everyone Quotes
How detection is scored: IoU to decide a hit, greedy matching into TP/FP/FN, per-class Average Precision as the area under the precision–recall curve, and the COCO mAP@[.5:.95] you see in every paper, all on one running parking-lot example, with torchmetrics.
IoUAPPR curvemAP - 04SegmentaçãoSegmentation Metrics: IoU, Dice, mIoU, and Panoptic Quality
Scoring masks instead of boxes: pixel IoU/Jaccard and the Dice coefficient (and why they're related), mIoU for semantic segmentation, mask-AP for instance segmentation, and Panoptic Quality for the unified task, on one running cat-mask example, with the equations and code.
IoU / JaccardDicemIoUMask APPanoptic Quality - 05Rastreamento de objetosObject Tracking Metrics: MOTA, MOTP, IDF1, and HOTA
Tracking adds identity over time, so its metrics score two things at once: detecting objects and keeping their IDs consistent. MOTA, MOTP, ID switches, IDF1, and the modern HOTA that balances detection against association, on one running door-cam example, with the equations and motmetrics.
MOTAMOTPID switchesIDF1HOTA - 06Geração de imagensImage Generation Metrics: FID, IS, KID, LPIPS, and CLIPScore
How do you score images with no ground truth? You compare distributions and use learned perceptual models: Inception Score, Fréchet Inception Distance, KID, LPIPS, and CLIPScore for prompt fidelity, on one running cat-generator example, with the equations, the catches, and torchmetrics.
Inception ScoreFIDKIDLPIPSCLIPScore
Artigos de modelos e de deploy na borda não têm uma ordem de leitura do mesmo jeito, já que cada um é um benchmark independente, então ficam em Projetos.