utilizando opencv para soluções em visão computacional
Post on 16-Apr-2017
62 Views
Preview:
TRANSCRIPT
OpenCV para soluções de Visão Computacional
Outubro, 2016
2
Apresentação
• Formado em Ciência da Computação• SQA LGEletronics• Suporte TOTVS• Analista de Sistemas TOTVS
• Hoje: Inovação do Framework ADVPL• Pesquisas em: Visão Computacional, IA e IoT
Visão Computacional
4
Visão Computacional
Como surgiu a necessidade da visão computacional?
• Sempre buscamos aproximar os comportamentos do computador ao comportamento humano.
• Visão Computacional nasceu com o objetivo de extrair informações de imagens de forma automática.
• Representa grande dificuldade devido ao número de informações contido em uma imagem.
• Utiliza-se muito de recursos de inteligência artificial como deep learning.
5
Visão Computacional
Qual a definição de Visão Computacional?
• Visão Computacional é a disciplina que investiga as questões computacionais e algorítmicas associadas à aquisição, processamento e compreensão de imagens. (Trivedi e Rosenfeld, 1989)
• Fonte: http://fei.edu.br/~rbianchi/publications/bianchi-MsC.pdf
6
Visão Computacional
Usos da Visão Computacional:
• Segurança• Contagem de fluxo de pessoas• Mapeamento do público• Mapa de calor• Detecção de doenças• Biometria• Radares• Astronomia• Robótica• Carros autonomos
7
Visão Computacional
8
Visão Computacional
9
Visão Computacional
10
Visão Computacional
Sistema de visão computacional
• Aquisição da imagem• Pré-processamento• Extração de característica• Detecção e segmentação• Processamento de alto nível
OpenCV
12
Visão Computacional
OpenCV
• OpenCV (Open Source Computer Vision Library) é uma biblioteca de código livre para processamento de imagens e vídeos digitais.
• Foi originalmente desenvolvida pela Intel.• Possui mais de 2500 algoritmos otimizados.• Comunidade com mais de 47 mil pessoas.• Mais de 7 milhões de downloads.• Está submetida a licença BSD Intel.• É compatível com C++, C, Python, Java e Matlab.• Suportado por Windows, Linux, Mac OS e Android.
• Fonte: http://opencv.org/about.html
13
Visão Computacional
14
Visão Computacional
Exemplo 1 – Aquisição da imagem
15
Visão Computacional
Aplicação de Filtros
• Filtro passa-baixa• Diminuição do ruído• Suavização da imagem• Perda de detalhes
• Filtro passa-alta• Atenua detalhes da imagem• Aumenta o ruído
• Fonte: http://computacaografica.ic.uff.br/transparenciasvol2cap5.pdf
16
Visão Computacional
Aplicação de Filtros
Máscara Filtro Gaussiano Exemplo do bitmap de uma imagem
1/161 2 12 4 21 2 1
0 0 150 150 1500 0 150 150 1500 0 150 150 1500 0 150 150 1500 0 150 150 150
17
Visão Computacional
Aplicação de Filtros
Exemplo do bitmap de uma imagem1ª Interação = (1*0 + 2*0 + 1*150 + 2*0 + 4*0 + 2*150 + 1*0 + 2*0 + 1*150)16 = 382ª Interação = (1*0 + 2*150 + 1*150 + 2*0 + 4*150 + 2*150 + 1*0 + 2*150 + 1*150) = 943ª Interação = (1*150 + 2*150 + 1*150 + 2*150 + 4*150 + 2*150 + 1*150 + 2*150 + 1*150) = 150...
18
Visão Computacional
Aplicação de Filtros
A imagem resultante ficará:
0 0 150 150 1500 38 94 150 1500 38 94 150 1500 38 94 150 1500 0 150 150 150
19
Visão Computacional
Exemplo 2 – Filtros
Fontes: http://docs.opencv.org/3.0-beta/modules/imgproc/doc/filtering.htmlhttp://monografias.poli.ufrj.br/monografias/monopoli10001999.pdf
20
Visão Computacional
Segmentação
Exitem diversas técnicas de segmentação, podendo ser:• Descontinuidade;• Similaridade;• Baseada em regiões;• Divisão e fusão de regiões;• MUITAS outras.
• Fonte: http://computacaografica.ic.uff.br/transparenciasvol2cap6.pdf
21
Visão Computacional
Extrações de características
• Fonte: http://computacaografica.ic.uff.br/transparenciasvol2cap6.pdf
22
Visão Computacional
Exemplo 3 – Segmentação e extração de características
23
Visão Computacional
Detecção
Uma forma eficiente de fazer detecções em imagens é utilizando algoritmos de Inteligência Artificial.Exitem algumas técnincas para se fazer isso usando OpenCV, uma delas é o Haar Cascade, entretanto, apesar de possuir bons resultados, não possui boa performance. Atualmente a melhor técnica de IA para se usar em reconhecimento de imagens é o Deep Learning.
• Fonte: http://computacaografica.ic.uff.br/transparenciasvol2cap6.pdf
24
Visão Computacional
Exemplo 4 – Reconhecimento facial com Haar Cascade
25
Visão Computacional
Exemplo 5 – OpenFace
• docker pull bamos/openface • docker run -p 9000:9000 -p 8000:8000 -t -i bamos/openface /bin/bash • cd /root/openface • ./demos/compare.py images/examples/{lennon*,clapton*} • ./demos/classifier.py infer models/openface/celeb-classifier.nn4.small2.v1.pkl
./images/examples/carell.jpg • ./demos/web/start-servers.sh• Docker IP: docker-machine ip default
Obrigado ;)
Guilherme Spadaccia Lemeguilhermesleme@gmail.com
top related