Visão Computacional
Esta é a pagina principal do curso de visão computacional de graduacao ministrado em 2018/2 no IPRJ/UERJ, de utilidade geral para a formação de programadores de nivel intermediario e avancado. Este ano focaremos no desenvolvimento de software 3D (como aquele utilizado no Kinect, [Hololens]), Escaneamento no Google Streetview, dentre outros.
Informacoes gerais
- Instrutor: prof. Ricardo Fabbri, Ph.D.
- Periodo: 1o. Semestre de 2018, voltado ao 10o. periodo de Engenharia da Computacao
- Tercas e Quintas, 3:10pm-5:00pm sala 207
Pre-requisitos
O aluno deverá saber conceitos básicos de programação e conseguir aprender linguagens rapidamente sob demanda durante o curso. Experiência previa com algebra linear e calculo vetorial altamente recomendados.
Software
Neste ano, focaremos em C++ (necessario para programacao 3D), juntamente com uma linguagem auxiliar como o Python, Scilab/Matlab, e Pd.
Recursos principais
- Grupo de discussao: email
Bibliografia
- Principal livro este ano (enfase 3D): An Invitation to 3D Vision, Yi Ma, Stefano Soatto, Jana Kosecka e Shankar Sastry
- Segundo livro principal (enfase 3D): Multiple View Geometry in Computer Vision, Hartley & Zisserman
Livros Auxiliares
- Auxiliar 1: Computer Vision, Richard Szeliski, cujo pdf se encontra on-line: http://szeliski.org/Book
- Auxiliar 2 2: Shape Classification and Analysis, 2nd. Ed., Luciano da Fontoura Costa & Roberto Marcondes Cesar Jr.
- Usaremos este livro para muito do material dado em aula
Links
- Computer Vision research course at Brown Engineering, 2013 - ENGN 2560
- Image Understanding course at Brown Engineering (basic to intermediate level)
- 2013 course http://mesh.brown.edu/engn1610
- 2011 course http://vision.lems.brown.edu/engn161/fall2011
- Computer Vision course at Brown Computer Science (basic to intermediate) http://cs.brown.edu/courses/cs143
- Curso de Computacao Paralela do IPRJ: incluindo CUDA
- Curso de Álgebra Linear Numérica do IPRJ: muitos conceitos úteis para visao computacional e computação gráfica
- Curso de Computacao Grafica do IPRJ
- Curso de Teoria dos Padroes do IPRJ: aprendizagem de maquina, tecnicas estocasticas, vertente importante de Visao Computacional
- OpenCV, VXL, SIP: bibliotecas de visao computacional em C/C++ e Scilab, respectivamente.
Provas
Tarefas
Labs
Download dos Labs
Todo material dos trabalhos (imagens, pdfs, etc) pode ser baixado e atualizado pelo Git [1]:
git clone https://github.com/rfabbri/vision-course.git
Lab1: Processamento ponto a ponto
- Enunciado
- As imagens necessarias estao no repositorio Git[2]
- Data de entrega: quarta-feira 13/Nov/2013 ate a meia-noite. Atrasos serao aceitos porem somente com reducao na nota.
Instrucoes para Submissao
- A solucao deve ser digitada em um relatorio e entregue no formato pdf.
- Incluir tambem todo o codigo fonte e dados gerados
- Enviar um arquivo zipado com tudo (scripts scilab, relatorio, etc) por email, no formato:
<sobrenome>-<nome>-visao-computacional-lab<numero_lab>.zip
Projetos
3D Reconstruction for Robotics
Optional: Toy Piano
Build an interactive toy piano or toy keyboard where you have colored objects representing each letter of the alphabet, and the user would touch each object and the computer would react to the persons' touch. To make this easy and cheap, this could work with a webcam and color detection, and the person/baby could use a black glove/sock.
Criterio de Avaliacao
- Graduacao: Nota = 70% projetos e tarefas, 30% prova
- Pos-graduacao: Nota = 100% projetos e tarefas
- Bonus: top 2 projetos (que atingirem nivel de excelencia) ganharao +3 pontos na media