SlideShare una empresa de Scribd logo
ALL YOUR FACES
BELONG TO US
JORGE HIDALGO
6 DE MAYO DE 2017
OPENSOUTHCODE 2017
Reconocimiento de imágenes
con tecnologías abiertas
SOBRE MÍ
Jorge Hidalgo
@_deors
deors
https://deors.wordpress.com/
Senior Technology Architect
Global Java Lead – Accenture Technology
Custom Distributed, Architecture & DevOps Lead –
Accenture Delivery Center in Spain
Copyright © 2017 Accenture. Todos los derechos reservados. 2
• Cosas → Objetos:
• Sensores de presión en neumáticos
• Monitores de implantes coronarios
• GPS en taxis
• Termómetros en oficinas
• …
• Con un identificador único
• Conectados a Internet
• Transfieren datos sin intervención humana
• Se integran y forman parte de un sistema mayor
INTERNET DE LAS COSAS /
INTERNET OF THINGS
Copyright © 2017 Accenture. Todos los derechos reservados. 3
H
• Respuesta autónoma
• Capacidad de toma de decisiones
• Capacidad de adaptación
NECESITAMOS INTELIGENCIA
EN LAS “COSAS”
Copyright © 2017 Accenture. Todos los derechos reservados. 4Pictures from stock archive © their respective owners.
Copyright © 2017 Accenture. Todos los derechos reservados. 5
• Soluciones cerradas:
• Microsoft Computer Vision API (link)
• IBM Watson Visual Recognition (link)
• Google Cloud Vision API (link)
• Amazon Rekognition (link)
• Clarifai (link)
RECONOCIMIENTO DE IMÁGENES
• Soluciones abiertas:
• OpenCV (www.opencv.org)
• SimpleCV (simplecv.org)
• TensorFlow (www.tensorflow.org)
• AForge.Net (www.aforgenet.com)
• VLFeat.org (www.vlfeat.org)
• Point Cloud Library (PCL)
(pointclouds.org)
• Gesture Recognition Toolkit (GRT)
(www.nickgillian.com/grt)
• Desarrollada en C++
• Con interfaces para Python y Java
• Libre (licencia BSD)
• Soportada en Windows, Linux (x86 y ARM), Mac OS, iOS y Android
• Foco importante en aplicaciones de tiempo real:
• Optimizada para uso de hardware de aceleración
• Optimizada para uso de múltiples núcleos
• Última versión: 3.2.0 (diciembre de 2016)
• En GitHub: https://github.com/opencv/opencv
OPENCV LIBRARY
Copyright © 2017 Accenture. Todos los derechos reservados. 6
• Un conjunto de reglas (en formato XML)
• Se aplica a cada frame de un stream de vídeo (o a imágenes individuales)
• Detecta rasgos (features)
• Una cara humana
• Una cara de gato
• Un coche
• La forma de un árbol
• …
• OpenCV contiene un conjunto de clasificadores listos para usar
• Se pueden crear nuevos clasificadores mediante entrenamiento
CASCADE CLASSIFIER
Copyright © 2017 Accenture. Todos los derechos reservados. 7
Copyright © 2017 Accenture. Todos los derechos reservados. 8
• LBP
• Más rápido
• Cálculos sobre enteros
• La mejor opción para entornos
móviles/embebidos
CASCADE CLASSIFIER – TIPOS
• HAAR
• Más preciso
• Cálculos sobre punto flotante
• La mejor opción cuando el % de acierto
es fundamental
• Es un proceso lento
• Requiere un conjunto numeroso de imágenes con el rasgo a detectar
• Para formas rígidas (un logo), basta con unas pocas
• Para formas variables (un tipo de objeto), se necesitan cientos
• Para rasgos de seres vivos (cara, pelo, forma corporal…), se necesitan miles
• Cada imagen vendrá acompañada de las coordenadas de los rasgos
• Se enriquece la muestra de ‘positivos’ con variaciones (samples)
• Requiere un conjunto aún más numeroso de imágenes ‘negativas’
ENTRENAMIENTO EN OPENCV
Copyright © 2017 Accenture. Todos los derechos reservados. 9
• La herramienta de entrenamiento actual es opencv_traincascade
• Recibe como entradas:
• Fichero de vectores generado a partir de las imágenes ‘positivas’
• La colección de imágenes ‘negativas’
• Parámetros de configuración del algoritmo de machine learning
• Usa los positivos para formular las hipótesis y mejorarlas
• Usa los negativos para confirmar las hipótesis y mejorarlas
• El resultado final es el fichero con los datos del cascade classifier (XML)
ENTRENAMIENTO EN OPENCV
Copyright © 2017 Accenture. Todos los derechos reservados. 10
from picamera.array import PiRGBArray
from picamera import PiCamera
import time
import cv2
with PiCamera() as camera:
camera.resolution = (1920, 1080)
camera.framerate = 30
rawCapture = PiRGBArray(camera, size = (1920, 1080))
time.sleep(1)
for frame in camera.capture_continuous(rawCapture, format = "bgr", use_video_port = True):
image = frame.array
cv2.imshow("frame", image)
key = cv2.waitKey(1) & 0xFF
rawCapture.truncate(0)
if key == ord('q'):
break
OPENCV HELLO CAM! – PYTHON VERSION
Copyright © 2017 Accenture. Todos los derechos reservados. 11
org.opencv.core
• Mat
org.opencv.videoio
• VideoCapture
org.opencv.objdetect
• CascadeClassifier
OPENCV JAVA API – PRINCIPALES CLASES
org.opencv.imgproc
• Imgproc
org.opencv.imgcodecs
• Imgcodecs
DIAGRAMA DE SECUENCIA
read
VideoCapture
Mat
Imgproc
cvtColor
equalizeHist
CascadeClassifier
detectMultiScale
Imgcodecs
imwrite
new
new
rectangle
¿HECHOS UN LÍO?
Copyright © 2017 Accenture. Todos los derechos reservados. 14All pictures and clips © their respective owners.
 Bajo ancho de banda
 Bajo uso de energía
 Perfecto para IoT
 Patrón Publish / Subscribe
 Puede transportarse mediante
WebSocket
 Librerías – Eclipse IoT (link):
 Cliente – Eclipse Paho:
http://www.eclipse.org/paho/
 Broker – Eclipse Mosquitto:
http://mosquitto.org
PROTOCOLO MQTT
MQTT Broker
Topic
Device 1
publish
Device 2
Device N
subscribe
subscribe
…
ESCENARIO DE LA DEMO
…
DetectorDevices
publish
MQTT Broker Web Server
subscribe
MQTT MQTT
WS
ESCENARIO DE LA DEMO
publish subscribe
MQTT broker
DEMO TIME!
Copyright © 2017 Accenture. Todos los derechos reservados. 18Pictures from stock archive © their respective owners.
¿AUN HECHOS UN LÍO?
Copyright © 2017 Accenture. Todos los derechos reservados. 19All pictures and clips © their respective owners.
Faces Detector:
https://github.com/locoporf1/faces-detector
WebApp Monitor:
https://github.com/locoporf1/faces-detector-server
Instrucciones detalladas:
https://static.rainfocus.com/oracle/oow16/sess/1463395410
0810018DAr/ppt/JavaOne%20-%20FacesCounter.pptx
CÓDIGO FUENTE
(Kudos para Mariano Rodríguez @locoforf1)
Scala y OpenCV con Akka Streams
https://beachape.com/blog/2016/03/08/scala-and-opencv-ep-1-akka-webcam/
https://beachape.com/blog/2016/03/14/scala-and-opencv-ep-2-akka-face-detector/
Ejemplos del libro “Mastering OpenCV”
https://github.com/MasteringOpenCV/code
OTROS SITIOS INTERESANTES
PARA EMPEZAR CON OPENCV
Documentación oficial
http://docs.opencv.org/3.2.0/dc/d88/tutorial_traincascade.html
Blog de Coding Robin
http://coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.html
Gran pregunta y mejor respuesta en el foro de OpenCV
http://answers.opencv.org/question/39160/opencv_traincascade-parameters-
explanation-image-sizes-etc/
PARA LOS VALIENTES QUE QUIERAN
ENTRENAR POKÉMON CLASIFICADORES
¿PREGUNTAS?
Copyright © 2017 Accenture. Todos los derechos reservados. 23All pictures and clips © their respective owners.
¡GRACIAS!

Más contenido relacionado

PDF
Por qué DevOps, por qué ahora @ CHAPI 2017
Jorge Hidalgo
 
PPTX
DevOps Te Cambia la Vida - eComputing 2018-07-03
Jorge Hidalgo
 
ODP
Devopsen tic
Javier Turégano Molina
 
PDF
Cloud & DevOps: encontrando seguridad y soporte en la nube.
Alejandro Varas H.
 
PPTX
El reto del DevOps agil
Ernesto Cardenas Cangahuala
 
PPTX
Desayuno Tecnológico Data Adviser: "DevOps, realidad o ficción" ~ 28 de Junio...
Mkt Manager Data Adviser
 
PPTX
Diseñando y operando al estilo DevOps
Guillermo Alvarado Mejía
 
PDF
Liderando un Cambio Cultural a través de Prácticas Devops en LATAM Airlines
Luiza Nunes
 
Por qué DevOps, por qué ahora @ CHAPI 2017
Jorge Hidalgo
 
DevOps Te Cambia la Vida - eComputing 2018-07-03
Jorge Hidalgo
 
Cloud & DevOps: encontrando seguridad y soporte en la nube.
Alejandro Varas H.
 
El reto del DevOps agil
Ernesto Cardenas Cangahuala
 
Desayuno Tecnológico Data Adviser: "DevOps, realidad o ficción" ~ 28 de Junio...
Mkt Manager Data Adviser
 
Diseñando y operando al estilo DevOps
Guillermo Alvarado Mejía
 
Liderando un Cambio Cultural a través de Prácticas Devops en LATAM Airlines
Luiza Nunes
 

Similar a All Your Faces Belong to Us - Opensouthcode 2017-05-06 (20)

PPTX
Detección de rostros con dlib (CNN).pptx
carmen420511
 
PPTX
Entregable3
mandymota
 
PDF
Reconocimiento facial en aplicaciones móviles: Comparando OpenCV, Cognitive S...
Software Guru
 
PDF
KERAS Y TENSORFLOW
jose vasante
 
PPTX
Destapando superhéroes
Josué Yeray Julián Ferreiro
 
DOCX
Proyecto wonderful3
Diego Muiño
 
PDF
L1.1 - Intro.pdf
ssuser47a640
 
PPT
recognition presentationSing D
mucura11
 
PPTX
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
Gabriela Soto
 
PPTX
Semana12ClasificadordeImagenes.pptx
Ivan Esmit Mayhua
 
PDF
How do machine see us? Getting started with OpenCV
Bernardo Ronquillo Japón
 
PPTX
Metric Video Analytics
Inteligencia Artificial Chile
 
PPTX
Reconocimiento facial e identificación de textos en videos interactivos - Ram...
Red Auti
 
PPTX
Raspberry Pi: Reconocimiento de imágenes con Tensorflow
Plain Concepts
 
PDF
Reconocimiento Facial, para Registro de Asistencia
Alfredo Carrion Ventura
 
PDF
Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Iniciativa Barcelona Open Data
 
PPTX
20180520 expertslive ai_and_machine_learning_demistified
Ricardo González
 
PDF
Tfm ignacio-arriola
Coral Alonso Jiménez
 
PDF
Modelos predictivos para el sector asegurador usando datos masivos (Big Data ...
JCarlos Gonzalez Joyé
 
PDF
Segmentación imagenes
Marco Muñoz
 
Detección de rostros con dlib (CNN).pptx
carmen420511
 
Entregable3
mandymota
 
Reconocimiento facial en aplicaciones móviles: Comparando OpenCV, Cognitive S...
Software Guru
 
KERAS Y TENSORFLOW
jose vasante
 
Destapando superhéroes
Josué Yeray Julián Ferreiro
 
Proyecto wonderful3
Diego Muiño
 
L1.1 - Intro.pdf
ssuser47a640
 
recognition presentationSing D
mucura11
 
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
Gabriela Soto
 
Semana12ClasificadordeImagenes.pptx
Ivan Esmit Mayhua
 
How do machine see us? Getting started with OpenCV
Bernardo Ronquillo Japón
 
Metric Video Analytics
Inteligencia Artificial Chile
 
Reconocimiento facial e identificación de textos en videos interactivos - Ram...
Red Auti
 
Raspberry Pi: Reconocimiento de imágenes con Tensorflow
Plain Concepts
 
Reconocimiento Facial, para Registro de Asistencia
Alfredo Carrion Ventura
 
Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Iniciativa Barcelona Open Data
 
20180520 expertslive ai_and_machine_learning_demistified
Ricardo González
 
Tfm ignacio-arriola
Coral Alonso Jiménez
 
Modelos predictivos para el sector asegurador usando datos masivos (Big Data ...
JCarlos Gonzalez Joyé
 
Segmentación imagenes
Marco Muñoz
 
Publicidad

Más de Jorge Hidalgo (20)

PDF
GraalVM - MadridJUG 2019-10-22
Jorge Hidalgo
 
PDF
GraalVM - OpenSlava 2019-10-18
Jorge Hidalgo
 
PDF
Architecture 2020 - eComputing 2019-07-01
Jorge Hidalgo
 
PDF
GraalVM - JBCNConf 2019-05-28
Jorge Hidalgo
 
PDF
GraalVM - MálagaJUG 2018-11-29
Jorge Hidalgo
 
PDF
Multilanguage Pipelines with Jenkins, Docker and Kubernetes (Commit Conf 2018)
Jorge Hidalgo
 
PDF
Multilanguage Pipelines with Jenkins, Docker and Kubernetes (Oracle Code One ...
Jorge Hidalgo
 
PDF
Multilanguage pipelines with Jenkins, Docker and Kubernetes (DevOpsDays Riga ...
Jorge Hidalgo
 
PPTX
Open Source Power Tools - Opensouthcode 2018-06-02
Jorge Hidalgo
 
PPTX
JavaOne 2017 CON3282 - Code Generation with Annotation Processors: State of t...
Jorge Hidalgo
 
PPTX
JavaOne 2017 CON3276 - Selenium Testing Patterns Reloaded
Jorge Hidalgo
 
PDF
JavaOne 2017 CON2902 - Java Code Inspection and Testing Power Tools
Jorge Hidalgo
 
PDF
Accenture Liquid Architectures (for Master EMSE UPM-FI - April 2017)
Jorge Hidalgo
 
PPTX
La JVM y el Internet de las Cosas @ MálagaJUG 2016-11-17
Jorge Hidalgo
 
PPTX
OpenSlava 2016 - Lightweight Java Architectures
Jorge Hidalgo
 
PPTX
JavaOne 2016 - CON3080 - Testing Java Web Applications with Selenium: A Cookbook
Jorge Hidalgo
 
PPTX
OpenSouthCode 2016 - Accenture DevOps Platform 2016-05-07
Jorge Hidalgo
 
PPTX
JavaOne 2015 - CON6489 - Smart Open Spaces Powered by Low Cost Computers
Jorge Hidalgo
 
PPTX
JavaOne 2014 - CON2013 - Code Generation in the Java Compiler: Annotation Pro...
Jorge Hidalgo
 
PPTX
Next-gen IDE v2 - OpenSlava 2013-10-11
Jorge Hidalgo
 
GraalVM - MadridJUG 2019-10-22
Jorge Hidalgo
 
GraalVM - OpenSlava 2019-10-18
Jorge Hidalgo
 
Architecture 2020 - eComputing 2019-07-01
Jorge Hidalgo
 
GraalVM - JBCNConf 2019-05-28
Jorge Hidalgo
 
GraalVM - MálagaJUG 2018-11-29
Jorge Hidalgo
 
Multilanguage Pipelines with Jenkins, Docker and Kubernetes (Commit Conf 2018)
Jorge Hidalgo
 
Multilanguage Pipelines with Jenkins, Docker and Kubernetes (Oracle Code One ...
Jorge Hidalgo
 
Multilanguage pipelines with Jenkins, Docker and Kubernetes (DevOpsDays Riga ...
Jorge Hidalgo
 
Open Source Power Tools - Opensouthcode 2018-06-02
Jorge Hidalgo
 
JavaOne 2017 CON3282 - Code Generation with Annotation Processors: State of t...
Jorge Hidalgo
 
JavaOne 2017 CON3276 - Selenium Testing Patterns Reloaded
Jorge Hidalgo
 
JavaOne 2017 CON2902 - Java Code Inspection and Testing Power Tools
Jorge Hidalgo
 
Accenture Liquid Architectures (for Master EMSE UPM-FI - April 2017)
Jorge Hidalgo
 
La JVM y el Internet de las Cosas @ MálagaJUG 2016-11-17
Jorge Hidalgo
 
OpenSlava 2016 - Lightweight Java Architectures
Jorge Hidalgo
 
JavaOne 2016 - CON3080 - Testing Java Web Applications with Selenium: A Cookbook
Jorge Hidalgo
 
OpenSouthCode 2016 - Accenture DevOps Platform 2016-05-07
Jorge Hidalgo
 
JavaOne 2015 - CON6489 - Smart Open Spaces Powered by Low Cost Computers
Jorge Hidalgo
 
JavaOne 2014 - CON2013 - Code Generation in the Java Compiler: Annotation Pro...
Jorge Hidalgo
 
Next-gen IDE v2 - OpenSlava 2013-10-11
Jorge Hidalgo
 
Publicidad

Último (11)

PPTX
Taller de ROBOTICA- clase sobre arduino - 1.pptx
sotosanmartinfrancis
 
PPT
Cap. 2.DeSistemasOperativosMonopuestoppt
davidperez4125081
 
PDF
COMO USAR PREZI Y CREAR PRESENTACIONES ATRACTIVAS
MariaNeriMedinaDiaz1
 
PPT
Cap. 1DESistemasOperativosMonopuesto.ppt
davidperez4125081
 
PDF
UML (Lenguaje unificado Modelado) como estandar para proyectos
somespark13
 
PPTX
QUINTO BÁSICO 5 DE MAYO- clases de algoritmos.pptx
sotosanmartinfrancis
 
PPTX
Algoritmos de localizacion de Robots móviles
yrosascunam
 
PPTX
La Inteligencia Artificial en la Vida Cotidiana
Romeo Santos
 
PPTX
Los Atributos de calidad del software.pptx
DanielMartinez382863
 
PDF
Descargar Micromundos Pro y proceso de instalación
AngelitoDeLaNoche
 
PPTX
Evaluación de la arquitectura de software.pptx
DanielMartinez382863
 
Taller de ROBOTICA- clase sobre arduino - 1.pptx
sotosanmartinfrancis
 
Cap. 2.DeSistemasOperativosMonopuestoppt
davidperez4125081
 
COMO USAR PREZI Y CREAR PRESENTACIONES ATRACTIVAS
MariaNeriMedinaDiaz1
 
Cap. 1DESistemasOperativosMonopuesto.ppt
davidperez4125081
 
UML (Lenguaje unificado Modelado) como estandar para proyectos
somespark13
 
QUINTO BÁSICO 5 DE MAYO- clases de algoritmos.pptx
sotosanmartinfrancis
 
Algoritmos de localizacion de Robots móviles
yrosascunam
 
La Inteligencia Artificial en la Vida Cotidiana
Romeo Santos
 
Los Atributos de calidad del software.pptx
DanielMartinez382863
 
Descargar Micromundos Pro y proceso de instalación
AngelitoDeLaNoche
 
Evaluación de la arquitectura de software.pptx
DanielMartinez382863
 

All Your Faces Belong to Us - Opensouthcode 2017-05-06

  • 1. ALL YOUR FACES BELONG TO US JORGE HIDALGO 6 DE MAYO DE 2017 OPENSOUTHCODE 2017 Reconocimiento de imágenes con tecnologías abiertas
  • 2. SOBRE MÍ Jorge Hidalgo @_deors deors https://deors.wordpress.com/ Senior Technology Architect Global Java Lead – Accenture Technology Custom Distributed, Architecture & DevOps Lead – Accenture Delivery Center in Spain Copyright © 2017 Accenture. Todos los derechos reservados. 2
  • 3. • Cosas → Objetos: • Sensores de presión en neumáticos • Monitores de implantes coronarios • GPS en taxis • Termómetros en oficinas • … • Con un identificador único • Conectados a Internet • Transfieren datos sin intervención humana • Se integran y forman parte de un sistema mayor INTERNET DE LAS COSAS / INTERNET OF THINGS Copyright © 2017 Accenture. Todos los derechos reservados. 3 H
  • 4. • Respuesta autónoma • Capacidad de toma de decisiones • Capacidad de adaptación NECESITAMOS INTELIGENCIA EN LAS “COSAS” Copyright © 2017 Accenture. Todos los derechos reservados. 4Pictures from stock archive © their respective owners.
  • 5. Copyright © 2017 Accenture. Todos los derechos reservados. 5 • Soluciones cerradas: • Microsoft Computer Vision API (link) • IBM Watson Visual Recognition (link) • Google Cloud Vision API (link) • Amazon Rekognition (link) • Clarifai (link) RECONOCIMIENTO DE IMÁGENES • Soluciones abiertas: • OpenCV (www.opencv.org) • SimpleCV (simplecv.org) • TensorFlow (www.tensorflow.org) • AForge.Net (www.aforgenet.com) • VLFeat.org (www.vlfeat.org) • Point Cloud Library (PCL) (pointclouds.org) • Gesture Recognition Toolkit (GRT) (www.nickgillian.com/grt)
  • 6. • Desarrollada en C++ • Con interfaces para Python y Java • Libre (licencia BSD) • Soportada en Windows, Linux (x86 y ARM), Mac OS, iOS y Android • Foco importante en aplicaciones de tiempo real: • Optimizada para uso de hardware de aceleración • Optimizada para uso de múltiples núcleos • Última versión: 3.2.0 (diciembre de 2016) • En GitHub: https://github.com/opencv/opencv OPENCV LIBRARY Copyright © 2017 Accenture. Todos los derechos reservados. 6
  • 7. • Un conjunto de reglas (en formato XML) • Se aplica a cada frame de un stream de vídeo (o a imágenes individuales) • Detecta rasgos (features) • Una cara humana • Una cara de gato • Un coche • La forma de un árbol • … • OpenCV contiene un conjunto de clasificadores listos para usar • Se pueden crear nuevos clasificadores mediante entrenamiento CASCADE CLASSIFIER Copyright © 2017 Accenture. Todos los derechos reservados. 7
  • 8. Copyright © 2017 Accenture. Todos los derechos reservados. 8 • LBP • Más rápido • Cálculos sobre enteros • La mejor opción para entornos móviles/embebidos CASCADE CLASSIFIER – TIPOS • HAAR • Más preciso • Cálculos sobre punto flotante • La mejor opción cuando el % de acierto es fundamental
  • 9. • Es un proceso lento • Requiere un conjunto numeroso de imágenes con el rasgo a detectar • Para formas rígidas (un logo), basta con unas pocas • Para formas variables (un tipo de objeto), se necesitan cientos • Para rasgos de seres vivos (cara, pelo, forma corporal…), se necesitan miles • Cada imagen vendrá acompañada de las coordenadas de los rasgos • Se enriquece la muestra de ‘positivos’ con variaciones (samples) • Requiere un conjunto aún más numeroso de imágenes ‘negativas’ ENTRENAMIENTO EN OPENCV Copyright © 2017 Accenture. Todos los derechos reservados. 9
  • 10. • La herramienta de entrenamiento actual es opencv_traincascade • Recibe como entradas: • Fichero de vectores generado a partir de las imágenes ‘positivas’ • La colección de imágenes ‘negativas’ • Parámetros de configuración del algoritmo de machine learning • Usa los positivos para formular las hipótesis y mejorarlas • Usa los negativos para confirmar las hipótesis y mejorarlas • El resultado final es el fichero con los datos del cascade classifier (XML) ENTRENAMIENTO EN OPENCV Copyright © 2017 Accenture. Todos los derechos reservados. 10
  • 11. from picamera.array import PiRGBArray from picamera import PiCamera import time import cv2 with PiCamera() as camera: camera.resolution = (1920, 1080) camera.framerate = 30 rawCapture = PiRGBArray(camera, size = (1920, 1080)) time.sleep(1) for frame in camera.capture_continuous(rawCapture, format = "bgr", use_video_port = True): image = frame.array cv2.imshow("frame", image) key = cv2.waitKey(1) & 0xFF rawCapture.truncate(0) if key == ord('q'): break OPENCV HELLO CAM! – PYTHON VERSION Copyright © 2017 Accenture. Todos los derechos reservados. 11
  • 12. org.opencv.core • Mat org.opencv.videoio • VideoCapture org.opencv.objdetect • CascadeClassifier OPENCV JAVA API – PRINCIPALES CLASES org.opencv.imgproc • Imgproc org.opencv.imgcodecs • Imgcodecs
  • 14. ¿HECHOS UN LÍO? Copyright © 2017 Accenture. Todos los derechos reservados. 14All pictures and clips © their respective owners.
  • 15.  Bajo ancho de banda  Bajo uso de energía  Perfecto para IoT  Patrón Publish / Subscribe  Puede transportarse mediante WebSocket  Librerías – Eclipse IoT (link):  Cliente – Eclipse Paho: http://www.eclipse.org/paho/  Broker – Eclipse Mosquitto: http://mosquitto.org PROTOCOLO MQTT MQTT Broker Topic Device 1 publish Device 2 Device N subscribe subscribe …
  • 16. ESCENARIO DE LA DEMO … DetectorDevices publish MQTT Broker Web Server subscribe MQTT MQTT WS
  • 17. ESCENARIO DE LA DEMO publish subscribe MQTT broker
  • 18. DEMO TIME! Copyright © 2017 Accenture. Todos los derechos reservados. 18Pictures from stock archive © their respective owners.
  • 19. ¿AUN HECHOS UN LÍO? Copyright © 2017 Accenture. Todos los derechos reservados. 19All pictures and clips © their respective owners.
  • 20. Faces Detector: https://github.com/locoporf1/faces-detector WebApp Monitor: https://github.com/locoporf1/faces-detector-server Instrucciones detalladas: https://static.rainfocus.com/oracle/oow16/sess/1463395410 0810018DAr/ppt/JavaOne%20-%20FacesCounter.pptx CÓDIGO FUENTE (Kudos para Mariano Rodríguez @locoforf1)
  • 21. Scala y OpenCV con Akka Streams https://beachape.com/blog/2016/03/08/scala-and-opencv-ep-1-akka-webcam/ https://beachape.com/blog/2016/03/14/scala-and-opencv-ep-2-akka-face-detector/ Ejemplos del libro “Mastering OpenCV” https://github.com/MasteringOpenCV/code OTROS SITIOS INTERESANTES PARA EMPEZAR CON OPENCV
  • 22. Documentación oficial http://docs.opencv.org/3.2.0/dc/d88/tutorial_traincascade.html Blog de Coding Robin http://coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.html Gran pregunta y mejor respuesta en el foro de OpenCV http://answers.opencv.org/question/39160/opencv_traincascade-parameters- explanation-image-sizes-etc/ PARA LOS VALIENTES QUE QUIERAN ENTRENAR POKÉMON CLASIFICADORES
  • 23. ¿PREGUNTAS? Copyright © 2017 Accenture. Todos los derechos reservados. 23All pictures and clips © their respective owners.