Daniel Lélis Baggio [email_address] TORP – The Open Robot Project Módulo de Visão Computacional
Tópicos O que é a visão computacional? Como os computadores veem? Filtros OpenCV Algoritmos Segmentação por cor Detecção de movimento por diferença absoluta Classificadores: detecção de faces Fluxo óptico Estimativa de posição e rotação 3D Leitura de caracteres Módulo de visão computacional do TORP
Usos de visão computacional Reconhecimento Objetos, classes de objetos Ex: Reconhecimento facial, veículos Imagens médicas IVUS, tomografia computacional Visão estéreo Detecção de movimento, tracking Augmented Reality Reconstrução de cenas: SLAM
SLAM – Simultaneous Localization and Mapping http://www.youtube.com/watch?v=bq5HZzGF3vQ
SLAM – Simultaneous Localization and Mapping The Mobile Robot Programming Toolkit (MRPT)  http://babel.isa.uma.es/mrpt/index.php/Main_Page
Visão Estéreo Profundidade
Visão Estéreo Profundidade
Visão Estéreo
Visão Estéreo
Visão Estéreo
Visão Estéreo – mapa de profundidade
Augmented Reality http://www.youtube.com/watch?v=enXTKvhE7yk
Tópicos O que é a visão computacional? Como os computadores veem? Filtros OpenCV Algoritmos Segmentação por cor Detecção de movimento por diferença absoluta Classificadores: detecção de faces Fluxo óptico Estimativa de posição e rotação 3D Leitura de caracteres Módulo de visão computacional do TORP
Como os computadores veem?
Como os computadores veem?
O que é uma imagem? Vetor 2d de pixels Imagens binárias: Pixels são bits Imagens em tom de  cinza: Pixels são escalares Imagens coloridas: Pixels são vetores A ordem pode variar (RGB, BGR, HSV, YUV)‏ Podem conter um canal alpha para sobreposições
O que é uma imagem? Vetor 2d de pixels Imagens binárias: Pixels são bits Imagens em tom de  cinza: Pixels são escalares Imagens coloridas: Pixels são vetores A ordem pode variar (RGB, BGR, HSV, YUV)‏ Podem conter um canal alpha para sobreposições
O que é uma imagem? Vetor 2d de pixels Imagens binárias: Pixels são bits Imagens em tom de  cinza: Pixels são escalares Imagens coloridas: Pixels são vetores A ordem pode variar (RGB, BGR, HSV, YUV)‏ Podem conter um canal alpha para sobreposições
O que é uma imagem? Vetor 2d de pixels Imagens binárias: Pixels são bits Imagens em tom de  cinza: Pixels são escalares Imagens coloridas: Pixels são vetores A ordem pode variar (RGB, BGR, HSV, YUV)‏ Podem conter um canal alpha para sobreposições
O que é uma imagem? Vetor 2d de pixels Imagens binárias: Pixels são bits Imagens em tom de  cinza: Pixels são escalares Imagens coloridas: Pixels são vetores A ordem pode variar (RGB, BGR, HSV, YUV)‏ Podem conter um canal alpha para sobreposições
Tópicos O que é a visão computacional? Como os computadores veem? Filtros OpenCV Algoritmos Segmentação por cor Detecção de movimento por diferença absoluta Classificadores: detecção de faces Fluxo óptico Estimativa de posição e rotação 3D Leitura de caracteres Módulo de visão computacional do TORP
Imagens ruidosas e filtros: Gaussian Blur
Imagens ruidosas e filtros: Gaussian Blur Gaussian Blur Blur simples (convolução 3x3): 1 2 1 2 4 2 1 2 1 Como filtrar uma imagem no GIMP?
Tópicos O que é a visão computacional? Como os computadores veem? Filtros OpenCV Algoritmos Segmentação por cor Detecção de movimento por diferença absoluta Classificadores: detecção de faces Fluxo óptico Estimativa de posição e rotação 3D Leitura de caracteres Módulo de visão computacional do TORP
OpenCV Biblioteca open source de visão computacional  http://sourceforge.net/projects/opencvlibrary/ Desenvolvida e mantida pela Intel Escrita em C e C++, roda em Linux, Windows e Mac OS X com interfaces para Python, Ruby, Matlab e outras linguagens. Otimizada para aplicações em tempo real (> 15 fps)‏ Prover infra-estrutura para aplicações de visão computacional de fácil utilização: mais de 500 funções
OpenCV Composta por 4 sub-módulos:  CV Processamento de imagens Algoritmos de visão MLL Classificadores estatísticos Ferramentas de clusterização HighGUI GUI, entrada e saída de imagens e vídeos CXCore estruturas básicas e algoritmos, suporte a XML, funções de desenho
Tópicos O que é a visão computacional? Como os computadores veem? Filtros OpenCV Algoritmos Segmentação por cor Detecção de movimento por diferença absoluta Classificadores: detecção de faces Fluxo óptico Estimativa de posição e rotação 3D Leitura de caracteres Módulo de visão computacional do TORP
Camshift - Continuously Adaptive Mean Shift Algorithm
Camshift - Continuously Adaptive Mean Shift Algorithm
Camshift Demonstração Onde encontrar o software? Programas de demonstração da biblioteca OpenCv /usr/local/share/opencv/samples/c/camshiftdemo
Tópicos O que é a visão computacional? Como os computadores veem? Filtros OpenCV Algoritmos Segmentação por cor Detecção de movimento por diferença absoluta Classificadores: detecção de faces Fluxo óptico Estimativa de posição e rotação 3D Leitura de caracteres Módulo de visão computacional do TORP
Detecção de movimentos - Diferença absoluta cvAbsDiff(frame1gray,frame2gray,result) cvShowImage("res",result) cvThreshold(result,result,30,255,CV_THRESH_BINARY) cvShowImage("res1",result)‏
Detecção de movimentos - Diferença absoluta Importante: desabilitar ganho automático da webcam
Tópicos O que é a visão computacional? Como os computadores veem? Filtros OpenCV Algoritmos Segmentação por cor Detecção de movimento por diferença absoluta Classificadores: detecção de faces Fluxo óptico Estimativa de posição e rotação 3D Leitura de caracteres Módulo de visão computacional do TORP
Cascata de classificadores – Viola Jones Detecção de feições Face tracking
Features Retângulos Fáceis de serem calculados Áreas brancas são subtraídas das áreas pretas Integral Image – Representação especial que torna a extração da feature mais rápida
Cálculo das Features –  Integral Image Soma dos valores de cada pixel (x,y)‏ Pode ser rapidamente computada com somente uma passagem pela imagem
Cálculo das Features Soma no interior de um Retângulo Sejam A, B, C e D os valores dos retângulos considerando-se o canto superior esquerdo da imagem Logo, a soma dos valores do retângulo ABCD é dada por: SOMA = A – B – C + D Somente três adições são necessárias para qualquer tamanho de retângulo!
AdaBoost: Super Efficient Features Selector Classificadores fracos = Features A cada iteração: Calculam-se os valores de cada feature em cada exemplar Ordenam-se os exemplares pelos valores dos features Seleciona-se o melhor feature / threshold Recalculam-se os pesos dos exemplar
Principais features identificadas
Principais features identificadas Classificador extremamente rápido (60 microinstruções)‏ Ajustado para detectar 100% das faces, com 40% de falsos positivos no primeiro estágio
Cascata de classificadores: visando tempo-real Prioridade de rejeição de background nos estágios iniciais Imagem em escala de cinza (8 bits), 320x240, 500 mil janelas Tempo de deteção ~ 10ms (1 face) ~20 ms (nenhuma face)‏ 25 estágios, 2912 features, menor janela 24x24 Otimizado para encontrar apenas a maior face 70% a 80% das janelas são rejeitadas nos 2 primeiros estágios
Pré processamento Conversão para escala de cinza cvCvtColor( img, cinza, CV_BGR2GRAY ); RGB[A]->Gray: Y<-0.299*R + 0.587*G + 0.114*B Redimensionamento cvResize( cinza, imagem_reduzida, CV_INTER_LINEAR ); Normalização de brilho cvEqualizeHist( imagem_reduzida, imagem_reduzida ); 1. calcular histograma H para src. 2. normalizar histograma, de forma que a soma seja 255. 3. computar a integral do histograma: H’(i) = somatório0≤j≤iH(j)‏ 4. transformar a imagem usando H’ como look-up table: dst(x,y)=H’(src(x,y))‏
Face Tracker Onde encontrar o software? Programas de demonstração da biblioteca OpenCv /usr/local/share/opencv/samples/c/facedetect
Tópicos O que é a visão computacional? Como os computadores veem? Filtros OpenCV Algoritmos Segmentação por cor Detecção de movimento por diferença absoluta Classificadores: detecção de faces Fluxo óptico Estimativa de posição e rotação 3D Leitura de caracteres Módulo de visão computacional do TORP
Optical Flow Objetivo: recuperar vetores de movimento aparente entre um par de imagens Pode-se utilizar o algoritmo de Lucas-Kanade para verificar a velocidade de cada feição Método diferencial de dois frames I(x,y,z,t) = I(x + δx,y + δy,z + δz,t + δt)‏
Lucas-Kanade
Lucas-Kanade Demostração do Lucas Kanade Onde encontrar o software? Programas de demonstração da biblioteca OpenCv /usr/local/share/opencv/samples/c/lkdemo
Tópicos O que é a visão computacional? Como os computadores veem? Filtros OpenCV Algoritmos Segmentação por cor Detecção de movimento por diferença absoluta Classificadores: detecção de faces Fluxo óptico Estimativa de posição e rotação 3D Leitura de caracteres Módulo de visão computacional do TORP
POSIT: “Pose from Orthography and Scaling with Iteration” Estimar posicionamento e rotação 3D de um objeto conhecido
POSIT - “Model-based object pose in 25 lines of code” D. DeMenthon and L. S. Davis Solução iterativa para o problema de encontrar o vetor de translação e a matriz de rotação (6 graus de liberdade)‏ Supor inicialmente que todos os pontos têm a mesma profundidade Solução de sistema linear super-determinado. Decomposição SVD e cálculo de pseudo-inversa
EHCI – Enhanced Human Computer Interaction Utilização do algoritmo Posit para obter head tracking com 6 graus de liberdade
EHCI – Enhanced Human Computer Interaction http://code.google.com/p/ehci/ Demonstração EHCI
Tópicos O que é a visão computacional? Como os computadores veem? Filtros OpenCV Algoritmos Segmentação por cor Detecção de movimento por diferença absoluta Classificadores: detecção de faces Fluxo óptico Estimativa de posição e rotação 3D Leitura de caracteres Módulo de visão computacional do TORP
Reconhecimento de Caracteres - OCR Bibliotecas: OCR Opus http://code.google.com/p/ocropus/  Tesseract http://code.google.com/p/tesseract-ocr/
Reconhecimento de Caracteres - OCR
Tópicos O que é a visão computacional? Como os computadores veem? Filtros OpenCV Algoritmos Segmentação por cor Detecção de movimento por diferença absoluta Classificadores: detecção de faces Fluxo óptico Estimativa de posição e rotação 3D Leitura de caracteres Módulo de visão computacional do TORP
Arquitetura de visão computacional do TORP
Instalação de drivers – UVC PWC USB Video Device Class - Linux http://linux-uvc.berlios.de/ Philips USB Webcam driver for Linux http://www.saillard.org/linux/pwc/ Instalação dos drivers para Gumstix http://www.theopenrobotproject.org/tiki-index.php?page=Installation+Instructions  V4L, V4L2: APIs para captura de vídeo para Linux http://linuxtv.org/v4lwiki/index.php/Main_Page
Mjpeg streamer Servidor http + obtenção frames UVC ./mjpg_streamer -o &quot;output_http.so -w ./www&quot; http://sourceforge.net/projects/mjpg-streamer/
Referências Gary Bradsky & Adrian Kaehler  “Learning OpenCV” D. DeMenthon and L. S. Davis “Model-based object pose in 25 lines of code” Jean-Yves Bouguet.  “Pyramidal Implementation of the Lucas Kanade Feature Tracker Description of the algorithm”
Referências Rainer Lienhart and Jochen Maydt. “ An Extended Set of Haar-like Features for Rapid Object Detection.”  Submitted to ICIP2002 Viola, P; Jones, M. “ Rapid Object Detection Using a Boosted Cascade of Simple Features – (2004)‏” Alexander Kuranov, Rainer Lienhart, and Vadim Pisarevsky. “ An Empirical Analysis of Boosting Algorithms for Rapid Objects With an Extended Set of Haar-like Features” . Intel Technical Report MRL-TR-July02-01, 2002
Agradecimentos
Agradecimentos
Dúvidas, sugestões e contribuições Daniel Lélis Baggio [email_address]

Campus Party - Computer Vision

  • 1.
    Daniel Lélis Baggio[email_address] TORP – The Open Robot Project Módulo de Visão Computacional
  • 2.
    Tópicos O queé a visão computacional? Como os computadores veem? Filtros OpenCV Algoritmos Segmentação por cor Detecção de movimento por diferença absoluta Classificadores: detecção de faces Fluxo óptico Estimativa de posição e rotação 3D Leitura de caracteres Módulo de visão computacional do TORP
  • 3.
    Usos de visãocomputacional Reconhecimento Objetos, classes de objetos Ex: Reconhecimento facial, veículos Imagens médicas IVUS, tomografia computacional Visão estéreo Detecção de movimento, tracking Augmented Reality Reconstrução de cenas: SLAM
  • 4.
    SLAM – SimultaneousLocalization and Mapping http://www.youtube.com/watch?v=bq5HZzGF3vQ
  • 5.
    SLAM – SimultaneousLocalization and Mapping The Mobile Robot Programming Toolkit (MRPT) http://babel.isa.uma.es/mrpt/index.php/Main_Page
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
    Visão Estéreo –mapa de profundidade
  • 12.
  • 13.
    Tópicos O queé a visão computacional? Como os computadores veem? Filtros OpenCV Algoritmos Segmentação por cor Detecção de movimento por diferença absoluta Classificadores: detecção de faces Fluxo óptico Estimativa de posição e rotação 3D Leitura de caracteres Módulo de visão computacional do TORP
  • 14.
  • 15.
  • 16.
    O que éuma imagem? Vetor 2d de pixels Imagens binárias: Pixels são bits Imagens em tom de cinza: Pixels são escalares Imagens coloridas: Pixels são vetores A ordem pode variar (RGB, BGR, HSV, YUV)‏ Podem conter um canal alpha para sobreposições
  • 17.
    O que éuma imagem? Vetor 2d de pixels Imagens binárias: Pixels são bits Imagens em tom de cinza: Pixels são escalares Imagens coloridas: Pixels são vetores A ordem pode variar (RGB, BGR, HSV, YUV)‏ Podem conter um canal alpha para sobreposições
  • 18.
    O que éuma imagem? Vetor 2d de pixels Imagens binárias: Pixels são bits Imagens em tom de cinza: Pixels são escalares Imagens coloridas: Pixels são vetores A ordem pode variar (RGB, BGR, HSV, YUV)‏ Podem conter um canal alpha para sobreposições
  • 19.
    O que éuma imagem? Vetor 2d de pixels Imagens binárias: Pixels são bits Imagens em tom de cinza: Pixels são escalares Imagens coloridas: Pixels são vetores A ordem pode variar (RGB, BGR, HSV, YUV)‏ Podem conter um canal alpha para sobreposições
  • 20.
    O que éuma imagem? Vetor 2d de pixels Imagens binárias: Pixels são bits Imagens em tom de cinza: Pixels são escalares Imagens coloridas: Pixels são vetores A ordem pode variar (RGB, BGR, HSV, YUV)‏ Podem conter um canal alpha para sobreposições
  • 21.
    Tópicos O queé a visão computacional? Como os computadores veem? Filtros OpenCV Algoritmos Segmentação por cor Detecção de movimento por diferença absoluta Classificadores: detecção de faces Fluxo óptico Estimativa de posição e rotação 3D Leitura de caracteres Módulo de visão computacional do TORP
  • 22.
    Imagens ruidosas efiltros: Gaussian Blur
  • 23.
    Imagens ruidosas efiltros: Gaussian Blur Gaussian Blur Blur simples (convolução 3x3): 1 2 1 2 4 2 1 2 1 Como filtrar uma imagem no GIMP?
  • 24.
    Tópicos O queé a visão computacional? Como os computadores veem? Filtros OpenCV Algoritmos Segmentação por cor Detecção de movimento por diferença absoluta Classificadores: detecção de faces Fluxo óptico Estimativa de posição e rotação 3D Leitura de caracteres Módulo de visão computacional do TORP
  • 25.
    OpenCV Biblioteca opensource de visão computacional http://sourceforge.net/projects/opencvlibrary/ Desenvolvida e mantida pela Intel Escrita em C e C++, roda em Linux, Windows e Mac OS X com interfaces para Python, Ruby, Matlab e outras linguagens. Otimizada para aplicações em tempo real (> 15 fps)‏ Prover infra-estrutura para aplicações de visão computacional de fácil utilização: mais de 500 funções
  • 26.
    OpenCV Composta por4 sub-módulos: CV Processamento de imagens Algoritmos de visão MLL Classificadores estatísticos Ferramentas de clusterização HighGUI GUI, entrada e saída de imagens e vídeos CXCore estruturas básicas e algoritmos, suporte a XML, funções de desenho
  • 27.
    Tópicos O queé a visão computacional? Como os computadores veem? Filtros OpenCV Algoritmos Segmentação por cor Detecção de movimento por diferença absoluta Classificadores: detecção de faces Fluxo óptico Estimativa de posição e rotação 3D Leitura de caracteres Módulo de visão computacional do TORP
  • 28.
    Camshift - ContinuouslyAdaptive Mean Shift Algorithm
  • 29.
    Camshift - ContinuouslyAdaptive Mean Shift Algorithm
  • 30.
    Camshift Demonstração Ondeencontrar o software? Programas de demonstração da biblioteca OpenCv /usr/local/share/opencv/samples/c/camshiftdemo
  • 31.
    Tópicos O queé a visão computacional? Como os computadores veem? Filtros OpenCV Algoritmos Segmentação por cor Detecção de movimento por diferença absoluta Classificadores: detecção de faces Fluxo óptico Estimativa de posição e rotação 3D Leitura de caracteres Módulo de visão computacional do TORP
  • 32.
    Detecção de movimentos- Diferença absoluta cvAbsDiff(frame1gray,frame2gray,result) cvShowImage(&quot;res&quot;,result) cvThreshold(result,result,30,255,CV_THRESH_BINARY) cvShowImage(&quot;res1&quot;,result)‏
  • 33.
    Detecção de movimentos- Diferença absoluta Importante: desabilitar ganho automático da webcam
  • 34.
    Tópicos O queé a visão computacional? Como os computadores veem? Filtros OpenCV Algoritmos Segmentação por cor Detecção de movimento por diferença absoluta Classificadores: detecção de faces Fluxo óptico Estimativa de posição e rotação 3D Leitura de caracteres Módulo de visão computacional do TORP
  • 35.
    Cascata de classificadores– Viola Jones Detecção de feições Face tracking
  • 36.
    Features Retângulos Fáceisde serem calculados Áreas brancas são subtraídas das áreas pretas Integral Image – Representação especial que torna a extração da feature mais rápida
  • 37.
    Cálculo das Features– Integral Image Soma dos valores de cada pixel (x,y)‏ Pode ser rapidamente computada com somente uma passagem pela imagem
  • 38.
    Cálculo das FeaturesSoma no interior de um Retângulo Sejam A, B, C e D os valores dos retângulos considerando-se o canto superior esquerdo da imagem Logo, a soma dos valores do retângulo ABCD é dada por: SOMA = A – B – C + D Somente três adições são necessárias para qualquer tamanho de retângulo!
  • 39.
    AdaBoost: Super EfficientFeatures Selector Classificadores fracos = Features A cada iteração: Calculam-se os valores de cada feature em cada exemplar Ordenam-se os exemplares pelos valores dos features Seleciona-se o melhor feature / threshold Recalculam-se os pesos dos exemplar
  • 40.
  • 41.
    Principais features identificadasClassificador extremamente rápido (60 microinstruções)‏ Ajustado para detectar 100% das faces, com 40% de falsos positivos no primeiro estágio
  • 42.
    Cascata de classificadores:visando tempo-real Prioridade de rejeição de background nos estágios iniciais Imagem em escala de cinza (8 bits), 320x240, 500 mil janelas Tempo de deteção ~ 10ms (1 face) ~20 ms (nenhuma face)‏ 25 estágios, 2912 features, menor janela 24x24 Otimizado para encontrar apenas a maior face 70% a 80% das janelas são rejeitadas nos 2 primeiros estágios
  • 43.
    Pré processamento Conversãopara escala de cinza cvCvtColor( img, cinza, CV_BGR2GRAY ); RGB[A]->Gray: Y<-0.299*R + 0.587*G + 0.114*B Redimensionamento cvResize( cinza, imagem_reduzida, CV_INTER_LINEAR ); Normalização de brilho cvEqualizeHist( imagem_reduzida, imagem_reduzida ); 1. calcular histograma H para src. 2. normalizar histograma, de forma que a soma seja 255. 3. computar a integral do histograma: H’(i) = somatório0≤j≤iH(j)‏ 4. transformar a imagem usando H’ como look-up table: dst(x,y)=H’(src(x,y))‏
  • 44.
    Face Tracker Ondeencontrar o software? Programas de demonstração da biblioteca OpenCv /usr/local/share/opencv/samples/c/facedetect
  • 45.
    Tópicos O queé a visão computacional? Como os computadores veem? Filtros OpenCV Algoritmos Segmentação por cor Detecção de movimento por diferença absoluta Classificadores: detecção de faces Fluxo óptico Estimativa de posição e rotação 3D Leitura de caracteres Módulo de visão computacional do TORP
  • 46.
    Optical Flow Objetivo:recuperar vetores de movimento aparente entre um par de imagens Pode-se utilizar o algoritmo de Lucas-Kanade para verificar a velocidade de cada feição Método diferencial de dois frames I(x,y,z,t) = I(x + δx,y + δy,z + δz,t + δt)‏
  • 47.
  • 48.
    Lucas-Kanade Demostração doLucas Kanade Onde encontrar o software? Programas de demonstração da biblioteca OpenCv /usr/local/share/opencv/samples/c/lkdemo
  • 49.
    Tópicos O queé a visão computacional? Como os computadores veem? Filtros OpenCV Algoritmos Segmentação por cor Detecção de movimento por diferença absoluta Classificadores: detecção de faces Fluxo óptico Estimativa de posição e rotação 3D Leitura de caracteres Módulo de visão computacional do TORP
  • 50.
    POSIT: “Pose fromOrthography and Scaling with Iteration” Estimar posicionamento e rotação 3D de um objeto conhecido
  • 51.
    POSIT - “Model-basedobject pose in 25 lines of code” D. DeMenthon and L. S. Davis Solução iterativa para o problema de encontrar o vetor de translação e a matriz de rotação (6 graus de liberdade)‏ Supor inicialmente que todos os pontos têm a mesma profundidade Solução de sistema linear super-determinado. Decomposição SVD e cálculo de pseudo-inversa
  • 52.
    EHCI – EnhancedHuman Computer Interaction Utilização do algoritmo Posit para obter head tracking com 6 graus de liberdade
  • 53.
    EHCI – EnhancedHuman Computer Interaction http://code.google.com/p/ehci/ Demonstração EHCI
  • 54.
    Tópicos O queé a visão computacional? Como os computadores veem? Filtros OpenCV Algoritmos Segmentação por cor Detecção de movimento por diferença absoluta Classificadores: detecção de faces Fluxo óptico Estimativa de posição e rotação 3D Leitura de caracteres Módulo de visão computacional do TORP
  • 55.
    Reconhecimento de Caracteres- OCR Bibliotecas: OCR Opus http://code.google.com/p/ocropus/ Tesseract http://code.google.com/p/tesseract-ocr/
  • 56.
  • 57.
    Tópicos O queé a visão computacional? Como os computadores veem? Filtros OpenCV Algoritmos Segmentação por cor Detecção de movimento por diferença absoluta Classificadores: detecção de faces Fluxo óptico Estimativa de posição e rotação 3D Leitura de caracteres Módulo de visão computacional do TORP
  • 58.
    Arquitetura de visãocomputacional do TORP
  • 59.
    Instalação de drivers– UVC PWC USB Video Device Class - Linux http://linux-uvc.berlios.de/ Philips USB Webcam driver for Linux http://www.saillard.org/linux/pwc/ Instalação dos drivers para Gumstix http://www.theopenrobotproject.org/tiki-index.php?page=Installation+Instructions V4L, V4L2: APIs para captura de vídeo para Linux http://linuxtv.org/v4lwiki/index.php/Main_Page
  • 60.
    Mjpeg streamer Servidorhttp + obtenção frames UVC ./mjpg_streamer -o &quot;output_http.so -w ./www&quot; http://sourceforge.net/projects/mjpg-streamer/
  • 61.
    Referências Gary Bradsky& Adrian Kaehler “Learning OpenCV” D. DeMenthon and L. S. Davis “Model-based object pose in 25 lines of code” Jean-Yves Bouguet. “Pyramidal Implementation of the Lucas Kanade Feature Tracker Description of the algorithm”
  • 62.
    Referências Rainer Lienhartand Jochen Maydt. “ An Extended Set of Haar-like Features for Rapid Object Detection.” Submitted to ICIP2002 Viola, P; Jones, M. “ Rapid Object Detection Using a Boosted Cascade of Simple Features – (2004)‏” Alexander Kuranov, Rainer Lienhart, and Vadim Pisarevsky. “ An Empirical Analysis of Boosting Algorithms for Rapid Objects With an Extended Set of Haar-like Features” . Intel Technical Report MRL-TR-July02-01, 2002
  • 63.
  • 64.
  • 65.
    Dúvidas, sugestões econtribuições Daniel Lélis Baggio [email_address]