Utilizando OpenCV para soluções em visão computacional

  • View
    56

  • Download
    3

Embed Size (px)

Text of Utilizando OpenCV para soluções em visão computacional

Slide 1

OpenCV para solues de Viso ComputacionalOutubro, 2016

1

ApresentaoFormado em Cincia da ComputaoSQA LGEletronicsSuporte TOTVSAnalista de Sistemas TOTVSHoje: Inovao do Framework ADVPLPesquisas em: Viso Computacional, IA e IoT

2

Viso Computacional

3

Viso ComputacionalComo surgiu a necessidade da viso computacional?

Sempre buscamos aproximar os comportamentos do computador ao comportamento humano.

Viso Computacional nasceu com o objetivo de extrair informaes de imagens de forma automtica.

Representa grande dificuldade devido ao nmero de informaes contido em uma imagem.

Utiliza-se muito de recursos de inteligncia artificial como deep learning.

4

Como aproximar o comportamento de um computador ao comportamento humano?Surgiu a partir da necessidade de extrair informaes de imagens de forma automticaExtrao de caractersticasrea em evoluoRepresenta grande dificuldade devido ao nmero de informao contido em uma imagemIA e Deep Learning4

Viso ComputacionalQual a definio de Viso Computacional?

Viso Computacional a disciplina que investiga as questes computacionais e algortmicas associadas aquisio, processamento e compreenso de imagens. (Trivedi e Rosenfeld, 1989)

Fonte: http://fei.edu.br/~rbianchi/publications/bianchi-MsC.pdf5

Como aproximar o comportamento de um computador ao comportamento humano?Surgiu a partir da necessidade de extrair informaes de imagens de forma automticaExtrao de caractersticasrea em evoluoRepresenta grande dificuldade devido ao nmero de informao contido em uma imagemIA e Deep Learning5

Viso ComputacionalUsos da Viso Computacional:

SeguranaContagem de fluxo de pessoasMapeamento do pblicoMapa de calorDeteco de doenasBiometriaRadaresAstronomiaRobticaCarros autonomos6

6

Viso Computacional7

7

Viso Computacional8

8

Viso Computacional9

9

Viso ComputacionalSistema de viso computacional

Aquisio da imagemPr-processamentoExtrao de caractersticaDeteco e segmentaoProcessamento de alto nvel10

Tratar imagens algo muito difcil e exige um conhecimento matemtico avanado.Como criar um sistema desses de forma fcil?10

OpenCV

11

Viso ComputacionalOpenCV

OpenCV(Open Source Computer Vision Library) uma biblioteca de cdigo livre para processamento de imagens e vdeos digitais.Foi originalmente desenvolvida pela Intel.Possui mais de 2500 algoritmos otimizados.Comunidade com mais de 47 mil pessoas.Mais de 7 milhes de downloads.Est submetida a licena BSD Intel. compatvel com C++, C, Python, Java e Matlab.Suportado por Windows, Linux, Mac OS e Android.

Fonte: http://opencv.org/about.html12

12

Viso Computacional13

13

Viso ComputacionalExemplo 1 Aquisio da imagem14

14

Viso ComputacionalAplicao de Filtros

Filtro passa-baixaDiminuio do rudoSuavizao da imagemPerda de detalhesFiltro passa-altaAtenua detalhes da imagemAumenta o rudo

Fonte: http://computacaografica.ic.uff.br/transparenciasvol2cap5.pdf

15

15

Viso ComputacionalAplicao de Filtros

Mscara Filtro Gaussiano Exemplo do bitmap de uma imagem

1/16

16121242121

0015015015000150150150001501501500015015015000150150150

16

Viso ComputacionalAplicao de Filtros

Exemplo do bitmap de uma imagem1 Interao = (1*0 + 2*0 + 1*150 + 2*0 + 4*0 + 2*150 + 1*0 + 2*0 + 1*150)16 = 382 Interao = (1*0 + 2*150 + 1*150 + 2*0 + 4*150 + 2*150 + 1*0 + 2*150 + 1*150) = 943 Interao = (1*150 + 2*150 + 1*150 + 2*150 + 4*150 + 2*150 + 1*150 + 2*150 + 1*150) = 150...

17

17

Viso ComputacionalAplicao de Filtros

A imagem resultante ficar:

180015015015003894150150038941501500389415015000150150150

18

Viso ComputacionalExemplo 2 Filtros

Fontes: http://docs.opencv.org/3.0-beta/modules/imgproc/doc/filtering.htmlhttp://monografias.poli.ufrj.br/monografias/monopoli10001999.pdf

19

19

Viso ComputacionalSegmentao

Exitem diversas tcnicas de segmentao, podendo ser:Descontinuidade;Similaridade;Baseada em regies;Diviso e fuso de regies;MUITAS outras.

Fonte: http://computacaografica.ic.uff.br/transparenciasvol2cap6.pdf

20

20

Viso ComputacionalExtraes de caractersticas

Fonte: http://computacaografica.ic.uff.br/transparenciasvol2cap6.pdf

21

21

Viso ComputacionalExemplo 3 Segmentao e extrao de caractersticas

22

22

Viso ComputacionalDeteco

Uma forma eficiente de fazer deteces em imagens utilizando algoritmos de Inteligncia Artificial.Exitem algumas tcnincas para se fazer isso usando OpenCV, uma delas o Haar Cascade, entretanto, apesar de possuir bons resultados, no possui boa performance. Atualmente a melhor tcnica de IA para se usar em reconhecimento de imagens o Deep Learning.

Fonte: http://computacaografica.ic.uff.br/transparenciasvol2cap6.pdf

23

23

Viso ComputacionalExemplo 4 Reconhecimento facial com Haar Cascade

24

24

Viso ComputacionalExemplo 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.shDocker IP: docker-machine ip default

25

25

Guilherme Spadaccia Lemeguilhermesleme@gmail.com

Obrigado ;)