Criando elementos
conectados com visão
computacional usando
Raspberry Pi Zero Wireless
Prof. André Curvello – contato@andrecurvello.com.br
Sobre mim
André Márcio de Lima Curvello
• Engenheiro de Computação – USP São Carlos
• MBA em Gestão de TI - UNIFRAN
• Mestrado em Processamento de Sinais e Instrumentação – USP São Carlos
• Articulista do Portal Embarcados e FilipeFlop
• Analista de Tecnologia – Padtec S/A
• Professor na Pós-Graduação em Sistemas Embarcados – UNISAL São josé -
Campinas
2
“Falar é fácil.
Me mostre o código.
Linus Torvalds
33
Visão Computacional
Fazendo o computador... Enxergar!
4
1
Visão Computacional
▰ Conjunto de técnicas capazes de fazer um computador
interpretar imagens
▰ De maneira tão próxima quanto um ser humano é capaz
▰ E fazer um computador reconhecer suas mãos, reconhecer
seus gestos, reconhecer seu rosto, realizar sua identificação
por impressão digital, etc.
5
Visão Computacional
6
Visão Computacional
▰ Dá pra fazer com Arduino?
7
Sistema Embarcado
8
Visão Computacional
▰ Rotinas complexas!
▰ Imagens = Grandes matrizes
▰ 1 ou + CPUs
▰ Uso de GPU
▰ Uso de DSP
É preciso PODER
9
10
Raspberry Pi Zero Wireless
11
Como fazer a Rasp
enxergar?
12
OpenCV
Uma poderosa biblioteca aberta para Visão
Computacional!
13
14
$ sudo apt-get install libopencv-dev
2500
Algoritmos otimizados de visão computacional
14 milhões
De downloads da biblioteca
47000
De usuários da comunidade
15
C++, C, Python, Java e MATLAB
Uma sequência de operação para OpenCV
16
Classificando as características
17
18
Diretório com os classificadores que precisamos!
19
$ sudo apt-get install python-opencv
Irá instalar os “wrappers” de Python para OpenCV, que é C++!
WiFi e Internet OK.
Vamos ao MQTT!
$ pip install paho-mqtt
E a Rede?
20
MQTT – Um protocolo leve e prático
MQTTLens + Google Chrome
22
Tudo junto e misturado
RaspberryPi, Python,
OpenCV, MQTT...
E o que eu posso fazer com
isso?
23
24
-Executa na Rasp
-Captura Quadro
-Transmite via
Rede
Sim, poderia ser
UDP!
25
26
-Executa no Computador
-Recebe quadro
-Exibe na janela
Sim, poderia ser UDP!
27
28
29
Hora da Demonstração!
30
Captura Processa Transmite
Tudo junto e misturado!
Quero identificar MAIS!
31
http://docs.opencv.org/trunk/dc/d88/tutorial_traincascade.html
32https://www.packtpub.com/packt/free-ebook/learning-python
33
https://www.packtpub.com/free-ebook/opencv-cookbook
34
https://www.packtpub.com/free-ebook/opencv-python
35
https://www.packtpub.com/packt/offers/free-learning
36
http://www.insecam.org
37
38
Obrigado!
Perguntas?
Contato
39
@andremlcurvello
http://youtube.com/profandrecurvello
http://andrecurvello.com.br
contato@andrecurvello.com.br
http://facebook.com/profandrecurvello

Criando elementos conectados com visão computacional usando Raspberry Pi Zero Wireless