Mudanças entre as edições de "Aula03 SSC0715 2012(fosorio)"

De CoteiaWiki
(Criou página com '<pre> SSC0715 - SENSORES INTELIGENTES - Agosto 2012 Aula 03 => Processamento de Imagens ******* 1. Segmentação por Tonalidade e Cor (Modelo de Cor) Limiar de Intensida...')
(Sem diferença)

Edição das 13h02min de 27 de agosto de 2012


SSC0715 - SENSORES INTELIGENTES - Agosto 2012

Aula 03 => Processamento de Imagens
*******

1. Segmentação por Tonalidade e Cor (Modelo de Cor)
   Limiar de Intensidade (Brilho: muito claro, muito escuro)
   Modelo de Cor (Estatística: média e desvio padrão)
   Ajuste de Limiares

2. Segmentação por Detecção de Bordas
   Algoritmo usado no Robô SRV1
   Algoritmo de Segmentação baseado no OpenCV
   > Smooth, Laplace/Canny, Limiares/Binarização, Erosão/Dilatação
   > Determinação automática de parâmetros por Aprendizado/Otimização 

3. Segmentação por Extração de BackGround (Modelo de Fundo da Cena)
   Treinamento do Fundo da Cena  (background)
   Segmentação: Separação do Elemento Frontal da Cena (foreground)
   Permite o acompanhamento dos elementos móveis da cena (Tracking)

4. Tracking: Deteção de Atributos/Descritores de Elementos (Robust Features)
   > Algoritmo Harris Corner Detector (deteção de pixels "relevantes" na cena)
   > Algoritmos SIFT e SURF  (invariante posição, escala, orientação e 
     inclusive a variações pequenas de iluminação) - 1 pixel pode ser
     representado por uma assinatura de cerca de 200 bytes (quase única)!  
   
5. Tracking de Movimentação: Fluxo Ótico
   Algoritmo: Método Lucas–Kanade
   Demo OpenCV: lkdemo

>> Tracking por Features => Busca uma "assinatura" na Imagem
   http://en.wikipedia.org/wiki/Feature_detection_(computer_vision)

   - Corners Detectors (Harris) 
   - Dectores de Retângulos e de Círculos (Hough Transform)
   - Detecção de Blocos (regiões) 
   - Histogram Match
   - NCC: Normalized Cross-Correlation
   - Mean Shift
   - Detecção de Features Invariantes
   - SIFT
   
Referências Complementares:

Trabalhos Orientados por F.Osório (docs disponíveis)
> Correlação: Leandro Facchinetti/Histogram (IC), Eduardo Righes/NCC (TCC)
> SIFT/SURF: Rafael Jeffman (Mestrado), Leandro Couto (Mestrado)
> Detecção de Bordas: Ignácio Magalhães (TCC), Matheus Compri (IC)
> Modelos de Cores: Túlio Bender (Mestrado)

==========================================================
1. Segmentação por Tonalidade e Cor (Modelo de Cor) Limiar de Intensidade (Brilho: muito claro, muito escuro) Modelo de Cor (Estatística: média e desvio padrão) Ajuste de Limiares Demos/Programas Exemplo: >> Exibindo um arquivo de Imagens (JPG, PNG, ...) Show-imagem.cpp [parâmetro: nome do arquivo] >> Exibindo a captura de uma Câmera (WebCam). OpenCV adquire imagens compatíveis com o V4L (video for Linux) Show-camera.cpp [parâmetro: nro. da câmera] >> Aplicando um limiar para seleção e alteração de cores na WebCam (limiar) em tempo real. O programa permite acessar os pixels da imagem obtida a partir de uma WebCam (ou de qualquer imagem no OpenCV usando IPLImage). As Cores próximas ao preto (muito escuras, com valores baixos) < 40 em R,G,B => Troca para Vermelho (0,0,255) na notação BGR adotada pelo OpenCV As Cores próximas ao branco (muito claras, com valores altos) > 220 => Troca para Azul (255,0,0) Note que os limiares foram definidos de modo empírico (a mão) Show-change.cpp >> Aplicando um limiar para seleção de cores por limiar em Vídeo Binarização da Imagem (Similar ao Show-Change porem aplicado em um vídeo) Show-avi-change.cpp >> Segmentação Por Intenside: Show-change é um exemplo desta técnica. >> Segmentação Por Cor: modelo de cores RGB (poderia ser baseado no HSV) 1. Selecionar uma região mouse-box.cpp => Exemplo de como selecionar um retângulo com mouse roi.cpp => Definindo uma Região de Interesse no OpenCV (ROI) draw-lines.cpp => Exemplo de como desenhar linhas na tela 2. Recortar a região selecionada: gera um arquivo denominado out.png Select.cpp => Exemplo de uma selação interativa de uma região a ser recortada da imagem 3. Dada uma região selecionada (ROI) é possível usar funções para estimar medidas (estatísticas) sobre o modelo de cores desta região (modelo => média e desvio padrão RGB ou HSV) Stats.cpp => Exemplo de determinação da média e desvio das cores 4. Segmentar a região baseado no modelo: baseado no modelo extraído do arquivo out.png realiza a segmentação de uma imagem (colors.jpg) Stats1.cpp

==

F.Osório Agosto 2012
=