Modelos Lineares

De Pontão Nós Digitais

Esta é a página oficial do curso de Modelos Lineares (graduação) do IPRJ, contendo material potencialmente útil ao publico geral.

  • Link para o curso de 2012
Fig13-autocalibration.jpg
Fig09-autocalibration.jpg

Informacoes gerais

  • Instrutor: prof. Ricardo Fabbri, Ph.D.
  • Periodo: 2o. Semestre de 2014, voltado ao 6o. periodo de Engenharia da Computacao
  • Tercas 14:20-16h e Quintas 12:30-14:10, sala 206 e Lab Inf #??

Pre-requisitos

Probabilidade e estatistica, Algebra Linear e Introducao `a Programacao.

Software

  • Usaremos o Scilab primariamente.
    • Ver funcoes svd, sva, e '\' (barra invertida)
  • Eventualmente utilizaremos o software R
  • Python e Octave sao alternativas aceitaveis.

Recursos principais

Tarefas

As tarefas devem ser formatadas com notacao matematica adequada, preferencialmente em Latex.

Somente serao aceitos arquivos eletronicos no formato PDF ou outro formato aberto como .odt

Quando a tarefa envolver qualquer programacao, o aluno devera enviar o codigo fonte. O codigo junto com a documentacao devera estar dentro de um unico diretorio comprimido com .zip ou tar, com o nome do aluno, disciplina e data.

Entregar com "[modelos-lineares]" no subject do email. Voce devera receber uma confirmação automática de recebimento se fez tudo certo.

Tarefa 0

  • Instalar Scilab e R.
  • Fazer tutoriais de ambos.

Tarefa 1 - Ajuste de Retas

  • Ajuste de retas
    • escreva um programa que, dados 2 pontos, calcule a reta entre eles
    • mostre a reta e os pontos graficamente.
    • simule a geração de um conjunto sintético de pontos "experimentais" ao longo de uma reta e os perturbe com a função rand() ao longo de cada coordenada
    • use a "barra invertida" '\' do Scilab para gerar a curva que mais se aproxima dos pontos gerados
    • plote seus resultados para diferentes intensidades de ruído

Tarefa 2 - Ajuste de Curvas

  • Ajuste de cônicas
    • simule a geração de um conjunto sintético de pontos "experimentais" ao longo de uma curva polinomial bi-dimensional de grau 2 (círculo, parábola, elipse..) e os perturbe com a função rand() ao longo de cada coordenada
    • use a "barra invertida" '\' do Scilab para gerar a curva que mais se aproxima dos dados gerados
    • plote seus resultados para diferentes intensidades de ruído

Tarefa 3 - Ajuste Robusto

Implementar o RANSAC para(3.1) pontos e modelos usados nas tarefas 1 e (problema 3.2). Ver o algoritmo nos slides de aula.

  • Introduzir outliers ou pontos bem fora da curva como dados
  • Discuta o método, justifique os parâmetros escolhidos, e analise se você usaria esta técnica na prática
  • Opcionalmente realize um mínimos quadrados no resultado, usando o conjunto de inliers ou pontos mais proximos
  • Calcule a distancia de ponto a modelo usando uma equacao em forma fechada ou o metodo mais rapido (porem de pior qualidade) que

simplesmente define a norma do residuo da equacao como a distancia ponto a reta.

Tarefa 4 - Transformada Hough

Ajuste de multiplas retas

Implemente a transformada de Hough para ajuste de multiplas retas a um conjunto de pontos.

  1. Forneca um conjunto de pontos aleatorios com ruido em torno de uma reta
  2. Plote o sinograma para diferentes niveis de ruido
  3. Repita o processo para diversas retas
  4. Plote as melhores retas encontradas pela transformada de hough e compare o ajuste com as tecnicas estudadas nas tarefas anteriores

Ajuste de multiplos circulos

  1. Forneca um conjunto de pontos amostrados de um ou mais circulos, adicionados de ruido aleatorio
  2. Repita as etapas, realizadas para retas, mas para os parametros do circulo. O foco eh plotar o circulo encontrado pela transformada de Hough.

Implementacao com imagens

  • Implemente a tarefa de visao computacional como aplicacao da tecnica de ajuste desenvolvida:

Veja ( laboratorio de visao computacional ) No trabalho, voce ajustara multiplas retas e circulos a objetos em imagens, para fim de contagem, dimensionamento, deteccao, etc.

Bibliografia

  • "Análise de Modelos de Regressão Linear", Reinaldo Charnet, Clarice Freire, Eugência Charnet e Heloísa Bovino, Ed. UNICAMP
    • Este é o livro basico que usaremos no curso
  • A. Izenman, Modern Multivariate Statistical Techniques, Springer, 2013.
    • Este livro contém muito material interessante e com aplicações modernas em aprendizagem de máquina (machine learning), data mining, etc.

Aulas

  • Visao inicial de ajuste de curvas robustos.
    • Aula parcialmente baseada nos slides de James Hays, CS-143, Brown University:
      • Aula 10, slides 15-37 (restante dos slides sao opcionais/motivacionais). Ate 9/out/2014: apenas ate RANSAC, sem Hough Transform
      • Aula 11, slides 7-21 (restante dos slides sao apenas motivacionais e serao explicados ao longo do curso): 9/out/2014 - apenas ate RANSAC, sem Hough Transform

Provas

Criterio de Avaliacao

     M = 0.6*P + 0.4*T , onde T é a nota dos trabalhos, e P nota da prova unica
     Se M >= 5, passa --> M
     Sub: (apenas se alguem faltou alguma prova ou quiser melhorar nota - mas quem entregar ira substituir)
     M_sub = media com sub
     Se M_sub >= 5, passou --> M_sub
     Quem for usar a prova como Sub ira substituir a nota independentemente do resultado.