6 pontos por GN⁺ 2025-06-16 | 1 comentários | Compartilhar no WhatsApp
  • Foundations of Computer Vision é um livro-texto introdutório de visão computacional que aborda processamento de imagens e machine learning, voltado tanto a estudantes de graduação e pós-graduação iniciantes quanto a profissionais experientes
  • Proposto inicialmente à MIT Press em novembro de 2010, o livro levou mais de 10 anos para ser escrito, e o objetivo de criar capítulos curtos e essenciais continuou se expandindo à medida que a área mudava
  • A revolução do deep learning de 2012 forneceu ferramentas para transformar ideias antigas em implementações reais, e conceitos iniciais que haviam ficado em segundo plano voltaram a ganhar importância com o tempo
  • O livro é organizado em 15 partes, cobrindo formação de imagens, aprendizado, processamento de sinais e imagens, filtros, representações multiescala, redes neurais, modelos generativos, geometria 3D, movimento, compreensão de cenas e conselhos para pesquisadores
  • Em vez de cobrir todos os avanços recentes da visão computacional ou se aprofundar em análise de formas, rastreamento de objetos, análise de pose humana e reconhecimento facial, o foco está nos conceitos fundamentais necessários para entender diversas aplicações

Para que tipo de leitor é este livro

  • Foundations of Computer Vision trata dos tópicos fundamentais de visão computacional pelas perspectivas de processamento de imagens e machine learning
  • O público principal são estudantes de graduação e pós-graduação que estão entrando em visão computacional, mas o livro também busca ser útil para profissionais experientes
  • Inclui muitas visualizações para construir uma intuição dos conceitos
  • No início, a ideia era criar um livro grande que cobrisse amplamente a área, mas, como o escopo da visão computacional era amplo demais, a direção mudou para um livro menor
    • A intenção era limitar cada capítulo a no máximo 5 páginas
    • Essa restrição levou a concentrar cada tópico nos conceitos importantes necessários para a compreensão
    • Mesmo o objetivo de escrever um livro curto acabou não sendo alcançado

Um processo de escrita que levou mais de 10 anos

  • A ideia do livro foi proposta pela primeira vez à MIT Press em 24 de novembro de 2010
  • A escrita não avançou de forma linear, e o volume do manuscrito não apenas aumentou: em certo momento diminuiu e depois voltou a crescer
  • O trabalho completo levou mais de 10 anos
  • Durante o processo de escrita, muitos exemplos foram criados e refinados, com o objetivo de que os leitores aprendessem reproduzindo os exemplos por conta própria

Ideias antigas que continuam após o deep learning

  • A visão computacional mudou muito nos últimos 10 anos, mas os métodos atuais têm raízes profundas na história da visão computacional e da IA
  • Mesmo que nomes tenham mudado e algumas ideias novas tenham surgido, os métodos de hoje não estão desconectados dos conceitos anteriores
  • O livro enfatiza os temas unificadores por trás de vários conceitos
  • Uma das metáforas centrais é a de múltiplas visões (views)
    • Observar uma cena física real a partir de diferentes ângulos, sensores e momentos no tempo
    • Reunir várias visões para compreender a realidade subjacente
    • O próprio livro também adota uma estrutura que combina várias perspectivas para encontrar os fundamentos da visão computacional
  • A revolução do deep learning de 2012 tornou as bases da visão computacional mais sólidas e forneceu ferramentas para transformar muitas ideias propostas no início da área em implementações funcionais
  • Após o deep learning, algumas ideias iniciais foram esquecidas por um tempo, mas muitas delas voltaram com o passar do tempo

O escopo do livro visto pelas 15 partes

  • Como a maioria dos capítulos pressupõe compreensão dos tópicos tratados anteriormente, é recomendável ler na ordem
  • Parte I: tópicos de motivação que apresentam o problema da visão e o situam em um contexto social, sistemas simples de visão e ferramentas matemáticas básicas
  • Parte II: processo de formação de imagens
  • Parte III: fundamentos do aprendizado usando exemplos de visão e conceitos amplamente aplicáveis
  • Parte IV: introdução ao processamento de sinais e imagens que serve de base para a visão computacional
  • Parte V: filtros lineares e suas aplicações, como Gaussian kernels, binomial filters, image derivatives, Laplacian filter e temporal filters
  • Parte VI: representações multiescala de imagens
  • Parte VII: redes neurais para visão
    • convolutional neural networks
    • recurrent neural networks
    • transformers
    • foco nos princípios principais, mais do que em arquiteturas específicas
  • Parte VIII: modelos estatísticos e modelos gráficos de imagens
  • Parte IX: duas abordagens poderosas de modelagem na era das redes neurais
    • a modelagem generativa trata de modelos estatísticos de imagens que formam imagens naturais e criam imagens sintéticas que seguem regras geométricas adequadas
    • o aprendizado de representações busca representações abstratas úteis de imagens, como embeddings vetoriais
  • Parte X: desafios que surgem ao criar sistemas de visão baseados em aprendizado
  • Parte XI: ferramentas geométricas e usos para reconstruir a estrutura do mundo 3D a partir de imagens 2D
  • Parte XII: processamento de sequências e medição de movimento
  • Parte XIII: compreensão de cenas e detecção de objetos
  • Parte XIV: conselhos para pesquisadores juniores sobre apresentações, escrita de artigos e atitudes de pesquisadores eficazes
  • Parte XV: retorna ao sistema visual simples apresentado na Parte I e aplica as técnicas do livro a um problema de brinquedo

O que é intencionalmente não aprofundado

  • Não oferece uma revisão dos avanços mais recentes da visão computacional moderna
  • Não se aprofunda em muitas aplicações, como análise de formas, rastreamento de objetos, análise de pose humana e reconhecimento facial
  • Para esses temas de aplicação, é mais adequado estudar artigos recentes de conferências de visão computacional e monografias especializadas
  • O foco do livro não são os resultados mais recentes em todas as aplicações, mas os conceitos fundamentais

Livros relacionados mencionados

  • Como livros-texto gerais de visão computacional, são mencionados:
    • Computer Vision: A Modern Approach
    • Computer Vision: Algorithms and Applications, de Rick Szeliski
  • Os fundamentos baseados em física são bem tratados em Robot Vision, de Horn
  • Vision, de David Marr, é citado como o livro que introduziu o autor à visão computacional e é avaliado como excelente em intuição e escrita
  • A geometria da visão por múltiplas câmeras é tratada em detalhes em Multiple View Geometry in Computer Vision, de Hartley e Zisserman
  • Em relação à geometria 3D, são mencionados Solid Shape, de Koenderink, Three-Dimensional Computer Vision, de Faugeras, e Introductory Techniques for 3D Computer Vision, de Trucco e Verri
  • Como livros sobre aprendizado, são mencionadas obras de Mackay, Bishop, Murphy e Goodfellow·Bengio·Courville
  • Os modelos probabilísticos de visão são bem tratados no livro-texto de Prince
  • Para percepção visual humana, Vision Science: Photons to Phenomenology, de Steve Palmer, é mencionado como importante
  • Para visão de baixo nível, é mencionado Signal Processing for Computer Vision, de Granlund e Knutsson; para visão de alto nível, High-level Vision, de Ullman
  • Como livro sobre luz e visão, é mencionado Light and Color in the Outdoors, de Minnaert

Informações de citação e materiais de aula

  • A entrada BibTeX para citar o livro inclui as seguintes informações
    • title: Foundations of Computer Vision
    • author: Torralba, A. and Isola, P. and Freeman, W.T.
    • isbn: 9780262378666
    • lccn: 2023024589
    • series: Adaptive Computation and Machine Learning series
    • year: 2024
    • publisher: MIT Press
  • A versão impressa pode ser comprada na MIT Press
  • Slides para instrutores podem ser baixados no Dropbox

1 comentários

 
GN⁺ 2025-06-16
Comentários do Hacker News
  • Há um trecho interessante em On Research, Writing and Speaking: “Parece trabalho duro.” Sim. A esta altura, já não é uma questão de inteligência. Nesse ponto, as pessoas ao seu redor também são todas inteligentes. Na pós-graduação, quem sai na frente é quem trabalha duro

    • É realmente uma observação perspicaz. Todo mundo chega a um estágio em que se virar só com inteligência deixa de ser suficiente
      Muita gente percebe isso ao entrar na universidade, mas na graduação o conteúdo a aprender é claro e tem um teto, então dá para se virar até certo ponto. Já no doutorado quase não há teto, não existe um número definido de artigos para ler por semana, nem algo como “isso não cai na prova”. Não é que o retorno de ser mais inteligente fique plano; é que simplesmente não há teto. Você pode ler mais, acompanhar a enxurrada da literatura e continuar melhorando experimentos e métodos
      Também são necessárias habilidades interpessoais e rede de contatos. É preciso ir a conferências, entender os rumos da comunidade e encontrar pessoas para tomar café ou jantar. Em vez de esperar instruções como na graduação, você precisa se mexer por conta própria e, ao mesmo tempo, ser suficientemente cético e crítico em relação aos métodos existentes e propor ideias novas que sejam relevantes e interessantes o bastante para a comunidade entender e aceitar
      Sem a sincronização externa dada por aulas e provas, é preciso administrar o próprio tempo e estabelecer prazos e rotinas. Essas coisas, na prática, não têm teto, e as expectativas também são vagas. Mesmo tendo sido suficientemente minucioso, você pode sofrer sua primeira rejeição porque os avaliadores não veem novidade ou porque o trabalho não se encaixa bem na moda do momento
      No fim, o doutorado pode empurrar qualquer um até o limite mental. É frustrante e, para muitos doutorandos, é um período notoriamente difícil. Claro que, se o objetivo é apenas obter o diploma, uma estratégia de “aguentar firme” também é possível, mas quem mira uma carreira acadêmica normalmente espera algo acima do mínimo, e isso vale ainda mais para quem conseguiu se manter com boas notas na graduação
    • No terceiro ano da graduação, eu tinha a sensação de que, mesmo me esforçando muito, não conseguia acompanhar as aulas. Era um curso de engenharia em que se entrava com média de cerca de 90% no ensino médio, e era tão difícil que, até o segundo ano, 75% dos alunos desistiam
    • Gostaria que alguém tivesse me contado isso na pós-graduação. Levei tempo demais para aprender como ser um pós-graduando bem-sucedido e, sinceramente, só entendi de verdade depois de terminar o curso
  • Outro bom livro nessa área é: Computer Vision, Fifth Edition, E.R. Davies, Academic Press, ISBN-13 978-0128092842

    • Outro livro de referência é Computer Vision 2nd Ed, de Szeliski, edição de 2022: https://szeliski.org/Book/
      Forsyth & Ponce também é bom, mas hoje está um pouco datado. Para 3D, o clássico ainda é Multiple View Geometry, de Hartley & Zisserman
  • É surpreendente que este livro esteja disponível gratuitamente. Agradeço a quem o disponibilizou, seja o autor ou a editora

    • As comunidades de aprendizado de máquina, visão computacional e robótica têm uma cultura muito boa de disponibilizar livros gratuitamente on-line. Dá para acessar de graça alguns dos melhores materiais didáticos dessas áreas
      Isso contrasta bastante com outras áreas nos EUA, em que professores praticamente exigem que os alunos comprem a edição mais recente de um livro por centenas de dólares. Graças a isso, pessoas em países com menos recursos financeiros também podem acessar os melhores materiais de qualquer lugar do mundo. Materiais de aula e vídeos também são frequentemente compartilhados on-line
    • É bem isso, e me junto aos agradecimentos. Mas fico curioso se alguém encontrou uma forma de baixar em PDF. Acho que, ao ler materiais de estudo, é preciso poder fazer anotações e marcações de referência
  • A seção “Writing this book” pode ser lida, por engano, como se LLMs tivessem sido usados em 2/3 do manuscrito
    Provavelmente a intenção é dizer que os LLMs forneceram muito mais material para escrever, mas seria bom deixar isso mais claro

    • Não li dessa forma. Na prática, o ChatGPT foi a primeira ferramenta capaz de ajudar na escrita, e menos de 1/3 deste livro foi escrito depois do lançamento do ChatGPT
      Pelo que parece, o gráfico marca eventos importantes da área de aprendizado de máquina/inteligência artificial
  • Para quem trabalha nessa área, fico curioso sobre o quanto esse conteúdo ainda é válido. Visto de fora, parece que boa parte do aprendizado de máquina, incluindo visão computacional, foi completamente abalada pelos avanços dos últimos 2 anos

    • Continua muito válido. Nada nas técnicas recentes é realmente revolucionário; todas estão sobre as mesmas bases. Na verdade, acho bom ler também livros ainda mais antigos
      Há muitas aplicações reais e lucrativas de visão computacional criadas com métodos clássicos como transformada de Hough, bordas de Canny, SIFT e cantos de Harris. Para parecer um especialista sério, e não alguém que apenas repete palavras da moda e conecta APIs sem entender o básico, é preciso conhecer essas coisas
    • Ainda é muito relevante. A maior parte da visão computacional usada fora da academia ainda se baseia em conteúdos antigos ou em algoritmos clássicos de visão computacional
      As oportunidades de usar modelos e técnicas de ponta são menores do que se imagina. Em geral, eles não são tão relevantes assim, só se aplicam a casos extremamente específicos ou simplesmente não é necessária tanta complexidade
    • Especialmente em sistemas nos quais não é fácil usar aceleração por GPU, ainda há muitos problemas que precisam ser resolvidos com visão computacional “clássica”. Como trabalho com SLAM (localização e mapeamento simultâneos) em plataformas com recursos computacionais limitados, pretendo ler com atenção o capítulo sobre Structure from Motion
  • Fico curioso se existe algum curso de visão computacional baseado neste livro. Gostaria de saber se há materiais como vídeos

  • Gostaria de receber recomendações de bons livros sobre machine vision. Acredito que a base de uma machine vision eficaz — e, indo além, da visão computacional — está em escolher a câmera, o sistema óptico e a iluminação corretos. Se a entrada for ruim, a saída também será ruim, portanto imagens de alta qualidade são essenciais

    • Você poderia dar um ou dois casos de uso em que esses elementos realmente fizeram uma grande diferença?