Modelos Lineares: mudanças entre as edições
mSem resumo de edição |
|||
(13 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 2: | Linha 2: | ||
* Link para o curso de '''[[ML2012|2012]]''' | * Link para o curso de '''[[ML2012|2012]]''' | ||
[[Imagem:Fig13-autocalibration.jpg|right|300px]] | |||
[[Imagem:Fig09-autocalibration.jpg|right|250px]] | |||
== Informacoes gerais == | == Informacoes gerais == | ||
* Instrutor: prof. [http://www.lems.brown.edu/~rfabbri Ricardo Fabbri], Ph.D. | * Instrutor: prof. [http://www.lems.brown.edu/~rfabbri Ricardo Fabbri], Ph.D. | ||
* Periodo: 2o. Semestre de 2014, voltado ao 6o. periodo de Engenharia da Computacao | * Periodo: 2o. Semestre de 2014, voltado ao 6o. periodo de Engenharia da Computacao | ||
* Tercas 14:20-16h e | * Tercas 14:20-16h e Quintas 12:30-14:10, sala 206 e Lab Inf #?? | ||
=== Pre-requisitos === | === Pre-requisitos === | ||
Probabilidade e estatistica, Algebra Linear e Introducao `a Programacao. | Probabilidade e estatistica, Algebra Linear e Introducao `a Programacao. | ||
== Software == | |||
* Usaremos o [[Scilab]] primariamente. | |||
** Ver funcoes <tt>svd</tt>, <tt>sva</tt>, e '<tt>\</tt>' (barra invertida) | |||
* Eventualmente utilizaremos o software [[www.r-project.org|R]] | |||
* Python e Octave sao alternativas aceitaveis. | |||
== Recursos principais == | == Recursos principais == | ||
* Grupo de discussao: [http://uerj.tk uerj.tk] | * Grupo de discussao: [http://uerj.tk uerj.tk] | ||
== 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 "<tt>[modelos-lineares]</tt>" 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 <tt>rand()</tt> ao longo de cada coordenada | |||
** use a "barra invertida" '<tt>\</tt>' 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 <tt>rand()</tt> ao longo de cada coordenada | |||
** use a "barra invertida" '<tt>\</tt>' 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. | |||
# Forneca um conjunto de pontos aleatorios com ruido em torno de uma reta | |||
# Plote o sinograma para diferentes niveis de ruido | |||
# Repita o processo para diversas retas | |||
# Plote as melhores retas encontradas pela transformada de hough e compare o ajuste com as tecnicas estudadas nas tarefas anteriores | |||
==== Ajuste de multiplos circulos ==== | |||
# Forneca um conjunto de pontos amostrados de um ou mais circulos, adicionados de ruido aleatorio | |||
# 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 ([[VC#Lab2:_Detec.C3.A7.C3.A3o_de_m.C3.BAltiplas_retas_e_circulos| laboratorio de visao computacional ]]) | |||
No trabalho, | |||
voce ajustara multiplas retas e circulos a objetos em imagens, para fim de contagem, dimensionamento, deteccao, etc. | |||
=== Bibliografia === | === 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 === | === Aulas === | ||
* Visao inicial de ajuste de curvas robustos. | |||
** Aula parcialmente baseada nos slides de James Hays, CS-143, Brown University: | |||
*** [http://cs.brown.edu/courses/cs143/lectures/10.pdf Aula 10, slides 15-37] (restante dos slides sao opcionais/motivacionais). Ate 9/out/2014: apenas ate RANSAC, sem Hough Transform | |||
*** [http://cs.brown.edu/courses/cs143/lectures/11.pdf 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 === | === Provas === | ||
== Criterio de Avaliacao == | == Criterio de Avaliacao == | ||
<small> | |||
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. | |||
</small> | |||
[[Category:IPRJ]] [[Category:Lab Macambira]] | [[Category:IPRJ]] [[Category:Lab Macambira]] |
Edição atual tal como às 19h38min de 10 de dezembro de 2014
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
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
- Grupo de discussao: uerj.tk
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.
- Forneca um conjunto de pontos aleatorios com ruido em torno de uma reta
- Plote o sinograma para diferentes niveis de ruido
- Repita o processo para diversas retas
- Plote as melhores retas encontradas pela transformada de hough e compare o ajuste com as tecnicas estudadas nas tarefas anteriores
Ajuste de multiplos circulos
- Forneca um conjunto de pontos amostrados de um ou mais circulos, adicionados de ruido aleatorio
- 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
- Aula parcialmente baseada nos slides de James Hays, CS-143, Brown University:
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.