Sisällysluettelo:

Tunnista De Rostros Con Arduino Intel Edison: 8 vaihetta
Tunnista De Rostros Con Arduino Intel Edison: 8 vaihetta

Video: Tunnista De Rostros Con Arduino Intel Edison: 8 vaihetta

Video: Tunnista De Rostros Con Arduino Intel Edison: 8 vaihetta
Video: Practica de Taller de SO con Intel Galileo 2024, Marraskuu
Anonim
Tunnista De Rostros Con Arduino Intel Edison
Tunnista De Rostros Con Arduino Intel Edison

El prosessamiento de imágenes o la visión por computadora es uno de esos campos que requiere enormes cantidades de tutkimuksen debido a que involucra métodos para adquirir, processar, analyar y comprender las imágenes del mundo real con el fin de producir información numérica o sime ser tratados por un ordenador. Todellisuudessa, los mejores algoritmos para tarles tareas se basan en redes neuronales convolucionales, las cuales generalmente processa miles de imágenes de rostros humanos mediante el uso de aprendizaje supervisado para entrenar el algoritmo que identifara el objeto buscado. Sin embargo, no vamos a meternos en tantos lios en este instructable y usaremos una biblioteca de código abierto de visión por computadora llamada OpenCV la cual gracias al arduo trabajo de la comunidad de cientificos y desarrolladores que aportan, aktualizan y mantienen el mantra con un rico set de carcaterisiticas que podemos implementar facilitiesmen para la detección y reconocimiento de imágenes.

OpenCV: n escrita -esc ja C ++ -suunnitelma a objetos, este soporta múltiples idiomas y nosotros vamos a usar Python como nuestro lenguaje de programción para realizar la detectio de rostros. un processamiento y una imágen de salida. Intel Edison ei tiiä videoliittymän rajapintaa, koska se on poistettu Pythonin käsikirjoituksesta ja PC: stä. Luego, después del funcionamiento exitoso del código en la PC, modificaremos el código para corrlo en el Edison. Las cosas se aclararán cuando hagamos la implementación práctica. Nuestro objetivo es realizar la detección de rostros y, si se detace, realizar alguna acción.

Tarvikkeet

El material que requerimos para llevar a cabo este tutorial:

LAITTEISTO

  • 1 kannettava tietokone/tietokone.
  • 1 Placa Arduino Intel Edison.
  • 2 kaapelia USB micro-B.
  • 1 älypuhelin sovellus "IP Webcam".
  • 1 servomoottori sg 90.

OHJELMISTO

  • Intel Flash -työkalu Lite V5.2.4
  • Kitti
  • FileZilla FTP
  • Imágen Yocto Poky (V25.5-15)
  • VS -koodi
  • Python 2.7
  • OpenCV Versio 3.3.0
  • Numpy
  • Libreria MRAA
  • Windows -ohjaimet Intel Edisonin (Se descargan en cuanto se placta la placa) -menetelmiin.
  • Arkistoi dll de Windows (Pueda ser que te falten al momento de instalar OpenCV en tu laptop).

Vaihe 1: Conectando El Intel Edison ja La PC

Conectando El Intel Edison La PC: lle
Conectando El Intel Edison La PC: lle
Conectando El Intel Edison La PC: lle
Conectando El Intel Edison La PC: lle
Conectando El Intel Edison La PC: lle
Conectando El Intel Edison La PC: lle

Intel Edisonin laitteistomallit ja esityslaitteet:

  • La Placa de desarrollo luomus Intel -yhteensopiva Arduino (es la que usamos en este tutorial).
  • Una placa mini-breakout (con el móudlo ya montado) yhteensopiva laajennus Board de Arduino kanssa.
  • Intel Edison en su estado nativo (Aquí requerimos fabricar nuestra propia PCB) -menetelmä.

Voit käyttää laajennusyhteensopivaa Arduino -debidoa, joustavuutta ja yhteensopivuutta vuorovaikutteisten otosten toimijoiden ja sensoreiden kanssa. El Intel Edison, Arduino Como UNCO: n tai MEGA -korjausjärjestelmän operatiivinen käyttöympäristö, joka on Linux -käyttöjärjestelmän mukainen, lue lisää Yocto.

Tal y como se muestra en la imágen conectaremos los dos kaapelit USB micro-B del Arduino Edison ja nuestra laptop. Fantu bien que el interrupor (marcado con el número 1 en la imágen), este apuntando hacia abajo, si no se encuentra en dicha posición el Arduino Edison permanecerá apagado.

USB-mikro-B-liitäntä, jossa on 5 V: n käyttö, IDE Arduino -ohjelman käyttöohjelma, flash-muistikortti ja escritura sekä USB-muistitikku ja USB-liitäntä.

USB-mikro-B-marcado-liitäntä 3 n: n käyttöön SSH: n ja uuden Edisonin liitännän kautta.

Jos haluat käyttää Windows -ajureita, voit asentaa ne. Posteriormente revisamos en el Admsinistrador de dispositivos de Windows si reconoce dos puertos:

  • Virtuaalinen COM -virtuaalinen Intel Edison
  • Edellinen sarja sarja sarja Intel Edison.

Edessä oleva versio, prosessi al siguiente paso, välähdys Intel Edisonissa Linuxin kuvassa.

Vaihe 2: Flasheando El Intel Edison

Flasheando El Intel Edison
Flasheando El Intel Edison
Flasheando El Intel Edison
Flasheando El Intel Edison
Flasheando El Intel Edison
Flasheando El Intel Edison

Tietokoneen käyttö on helppoa, kun laite havaitaan oikein, ja se vilkkuu Linuxin kuvassa. Ensin käytetään flash-tekniikkaa Intelille: Flash Tool Lite ja sen liitin USB micro-B marcado con numero numero 2 (ver paso anterior).

1. Jos haluat käyttää "Flash Tool Lite" -ohjelmistoa, voit asentaa sen tietokoneeseen.

2. Haz click en Examinar y busca el archivo.zip de la imagen de Linux que descargaste (edison-image-ww25.5-15.zip).

3. Valitse hakutoiminto napsauttamalla "Aloita vilkkuminen", la herramienta descomprimirá automáticamente el archivo ja empezará a subir la imágen of Linux and Intel Edison.

4. Katkaise virta ja kytke liitäntäkaapeli USB -kaapeli 2, hazlo.

5. El rectangulito de carga debe de llegar al 100%. Isto Listo! Intel Flash -laitteessa.

Ahora que ya tienes asentaa "Linux Yocto Poky" -kuvan ja lähettää sen Intel Edisonin asetuksille.

Vaihe 3: Määritä El Intel Edison (Primeros Pasos)

Määritä El Intel Edison (Primeros Pasos)
Määritä El Intel Edison (Primeros Pasos)
Määritä El Intel Edison (Primeros Pasos)
Määritä El Intel Edison (Primeros Pasos)
Määritä El Intel Edison (Primeros Pasos)
Määritä El Intel Edison (Primeros Pasos)

Después de de flashhear con éxito tu Edison, ahora configuraremos el dispositivo, para ello vamos and usar la terminal PuTTY. PuTTY on SSH: n ja telnetin asiakas, joka on halunnut alkuperäisen Simon Tathamin Windows -levyille. Vamos a usar la conexión serial aqui.

PuTTY -päätelaite, joka on "Administrador de dispositivos" ja anota el número de puerto kirjeenvaihto COM del Edisonista (ei el virtuaalista). Este valor lo usaremos para inicializar la comunicación.

Abre PUTTY ja luego, valitse "Serial" -botot ja katso COM del Edison. Posteriormente anota la velocidad en baudios a la que se comunicara el Edison con tu equipo, escribe 115200. Finalmente presiona abrir para empezar la comunicación con el dispositivo.

Una vez que estas en la terminal de PuTTY puedes ejecutar comandos para configurar tu Edison. Lo siguiente es un listado tareas que haremos en la consola para configurar el dispositivo:

  • Konfiguraattori ja ei -edullinen dispotivo.
  • Configurar una contraseña para root.
  • Conectar el Edison ja punainen WIFI.

Kirjaudu sisään. Kirjaudu sisään. Kirjoita "root" ja paina "Enter". Veras "root@edison" tarkoittaa, että se on encuentras ja el direktorio root.

Ahora que ya te encuentras listo para teclear comandos, escribe:

configure_edison -setup

Presiona enter y posteriormente escribe un password y nuevamente presiona enter. Lue lisää pedista un nombre para el dispositivo (que en realidad es un alias mas que un nombre), escribe un nombre y da enter.

Viimeinen pedi -konfiguraattori punaisella WIFI: llä. El móudlo escaneara el lugar y detectará las redes WIFI -laitteet, escribe el number de la opción de la red detectada la que te vas a conectar y posteriormente te pedirá el password de la red, escríbelo y presiona enter.

Isto Listo! Se tarjoaa WIFI -yhteyden. Useimmat ihmiset, joilla on pantalla ja navigointilaite isäntänimessä ja IP -suunnassa. Asimismo puedes revisar más parámetros de tu conexión escribiendo:

ifconfig

Valitse punainen WIFI -yhteys.

Tämä on luettelo ohjelmointiohjelman Entrono de Desarrollo Integrado (IDE) -konfiguraattorista. Tämä on paras sarja… ¡Python!

Vaihe 4: Usando Python Para Programar El Edison

Usando Python El Edisonin ohjelmassa
Usando Python El Edisonin ohjelmassa
Usando Python El Edisonin ohjelmassa
Usando Python El Edisonin ohjelmassa

El Edison on ohjelmoinut usando el IDE de Arduino, sin embargo aqui usaremos Python.

Voit käyttää Python -laitteistoa ja käyttää "MRAA" biblioteca -palvelua GPIO: n vuorovaikutteisessa käytössä. MRAA es un biblioteca esqueleto de bajo nivel para comunicarse with los GPIO's and plataformas GNU / Linux y es compatible with casi todas las placas basadas en Linux utilizadas. Para ello Procederemos ja instalarla.

En Putty, vete a la terminal y escribe (puedes ocupar el editor vi o nano por ejemplo) en archivo que gestiona los paquetes de Linux /etc/opkg/base-feeds.conf lo siguiente:

  • src/gz all
  • src/gz edison
  • src/gz core2-32

Julkaise arkisto ja arkisto ja luettelo paquetes escribiendo:

opkg päivitys

Ahora vamos ja instalar git, kirjoita:

opkg asentaa git

Ahora vamos ja GitHibin ja Edisonin arkisto:

git-klooni https://github.com/drejkim/edison-scripts.git ~/edison-scripts

Ahora añadiremos ~/edison-scripts al PATH:

  • echo 'export PATH = $ PATH: ~/edison-scripts' >> ~/.profile
  • lähde ~/.profiili

Ahora ejecutaremos los siguientes comandos:

  • resizeBoot.sh
  • installPip.sh
  • installMraa.sh

Isto Listo! Ya debemos de tener configurarado correctamente Python en Elison. Voit käyttää FileZillaa probar lo anterior ejecutaremos el código anexado en este paso ("prueba.py"). Paranna FileZilla ja PC (Lo debiste de haber descargado) y en el campo de "Servidor", "usuario", "contraseña" y "Puerto" escribimos la IP de tu edison (revisalo escribiendo ifcong en tu edison), el usuario (root), tu salasana ja viimeinen valikko en el campo del puerto escribiremos 22, ya que es el que generalmente se emplea para conexiones SSH.

Voit siirtää siirron arkistoon "prueba.py" alikansioon "root".

Ahora escribe, desde tu Edison y en la ubicación "root" el comando siguiente para ejecutar el código.

python prueba.py

Debemos de observar como el LED 13 enciende 2 millisegundos. y se apaga 2 milisegundos.

Fel Felicidades! Onko ejecutado correctamente un código ja phyton para tu Edison. Ahora ya estamos listo para processar imágenes en nuestro Edison usando Python, pero antes escribiremos and probaremos el código de Python detector rostros en nuestra PC …

Vaihe 5: Detectando Rostros Con OpenCV

Tunnista Rostros OpenCV: stä
Tunnista Rostros OpenCV: stä
Detectando Rostros ja OpenCV
Detectando Rostros ja OpenCV

El Intel Edison no tiene una interfaz de salida video

Nuestro objetivo es realizar la detección de rostros y, si se detace, realizar alguna acción.

Antes de empezar need tenams tener in instalado Python y OpenCv en nuestras computadora. Luo lo que vamos a realizar estos pasos en nuestra PC:

  1. Lataa Python 2.7 PC: lle
  2. Lataa OpenCV -versio 3.3.0
  3. Ve al directorio en donde se extrajo OpenCv y posicionate fi C: / opencv / build / python / 2.7 / x86 y copia el arhivo cv2.pyd al directorio de python C: / Python27 / Lib / site-package.
  4. Asenna pip, mas info en el siguiente enlace
  5. Asenna numpy escribiendo el comando de python -m pip install -user numpy

Para verificar que todo funciona correctamente escribe en la terminal de python de tu PC y da enter:

  • tuoda numpy
  • tuoda cv2

Ambos comandos respectivamente deben de responder ningún mensaje de error (osea nada), indicando que las bibliotecas se han importado correctamente.

Ahora descarga el archivo "3_detectaRostrosOjos.py", joka on Python en tu PC -pääte ja oikea ohjelma. Este ohjelma vamos debe de activear la webcam de tu PC and detectar rostros y ojos tal y como en la imágen, pasa salir del program presiona la tecla ESC.

Siitä lograste, felicidades! Pasemos al siguiente paso que es correctr este código desde nuestro Intel Edison y activar un motor a pasos cada vez que detecte un rostro.

Vaihe 6: Antes De Llegar Al Código En Edison… Teoria De Funcionamiento

Antes De Llegar Al Código En Edison… Teoria De Funcionamiento!
Antes De Llegar Al Código En Edison… Teoria De Funcionamiento!

La detección de rostros es un caso muy específico del reconocimiento de objetos. Hay muchos enfoques para el reconocimiento kasvohoito. Synninkielto, vamos a discutir los dos mas comunes:

Segmentación basada en color: En esta técnica, la cara se segmenta según el color de la piel. La Entrada de este algoritmo suele ser una imagen en formato de colores RGB, mientras que en la etapa de processamien la cambiamos a los formatos HSV o YIQ. En este prosess, cada píxel es clasificado como un píxel del color de la piel or un píxel sin color de la piel. La Rzón detrás del uso de otros mallit de color que no sean RGB es que a veces RGB no puede differentir los colores de la piel en diferentes condiciones de luz. Esto mejora merkitsee värien värimallien käyttöä. Nosotros no usaremos este algoritmo

Ominaisuuspohjainen tunnistus: Esta es la técnica que si usaremos para este instructable. En esta técnica buscamos ciertas características, y en base a eso hacemos el reconocimiento. El empleo de "haar feature-based cascade" para la detección de rostros es un método eficaz de detección de objetos propuesto por Paul Viola y Michael Jones en art art Nopea objektien havaitseminen käyttämällä yksinkertaistettujen ominaisuuksien tehostettua kaskadia "del año 2001. Es enfoque basado en el aprendizaje automateico and donde la" cascade function "se entrena contra un conjunto de imágenes positivas y negativas. El algoritmo requiere de muchas imágenes positivas (en nuestro caso estas son imágenes de caras) y muchas imágenes negativas (que no contienen imágenes de caras). Osittain ello vamos a entrenar el modelo para extraer las características de cada imágen. Para este propósito, se utilizan las "haar feature" que se muestran en la figura. Cada una de las figuras es un valor único obtenido al restar la suma de píxeles debajo de un rectángulo blanco de la suma de píxeles debajo de un rectángulo negro. Los "haar features" deben estar entrenados para la cara, ojos, sonrisa, etc. OpenCV: n bibliografia sisältää ennalta määritettyjen luokittelujen yhteyteen. Estos están disponibles en la carpeta C: / opencv / build / etc / haarcascades

Vaihe 7: Tunnista Rostros OpenCV ja Intel Edison

Tunnista Rostros OpenCV: stä ja Intel Edisonista!
Tunnista Rostros OpenCV: stä ja Intel Edisonista!
Tunnista Rostros OpenCV: stä ja Intel Edisonista!
Tunnista Rostros OpenCV: stä ja Intel Edisonista!

Asenna bibliografian numero OpenCV: llä ja Intel Edisonilla, joka on kirjoitettu Edisonin terminaalikomandoille:

  • opkg päivitys
  • opkg päivitys
  • opkg asentaa python-numpy python-opencv

Verifica que todo se haya instalado correctamente. Python desde tu arduino Edisonin ydin ja terminaali:

  • tuoda numpy
  • tuoda cv2

Si cada uno de estos comandos no nos reporta ningún mensaje, todo se encuentra instalado a la perfección.

Ahora voi määrittää konfiguraattorin, joka tarjoaa videon Intelin Edison -tietokoneelle. Lataa älypuhelimesi sovellus "IP Webcam". Hecho lo anterior liittyi sovellukseen "Ajustes de IP Webcam"/"Preferencias de video"/"Resolución de las fotos" ja dejamos el parámetro a 640x480. Tämä on tietokoneen notaari, joka tarjoaa Intel Edison Simplemente no está destinado para el processamiento de imágenes debido a la poca cantidad de RAM que posee (1GB RAM).

Napsauta "IP Webcam" -sovellusta napsauttamalla huonompaa "Iniciar servidor" -palvelua. Ahora, desde tu smartphone debes de poder ver la camara encendida (como si fuera a tomar photo) ja yksi IP -osoitteen suunta. Kirjoita dicha directcción IP en navigointi web de la PC ja deberas ver el video en vivo, en mi caso salgo yo sentado trabajando.

PC: llä voit ladata tietokoneen "tres.py" ja el archivo "haarcascade_frontalface_default.xml" (Los dos códigos los puedes encontrar en los archivos del paso fact). FileZilla para pasar ambos códigos a una misma localidad de tu Edison (por ejemplo en el folder root) y ejecuta el código de python con el comando:

python tres.py

Desiden päätelaitteessa Edison esittelee "Dame la directcción IP" -palvelun, joka sisältää IP -osoitteen "IP -verkkokamera" (es la misma que escribiste en el navegador de tu PC para conectarte) y enter. Tämä on oikea korjaus, joka koskee "Rostro -ilmaisua" ja Edisonin päätelaitetta sekä "Rostro no detectado" -perustetta, joka on saatavana verkossa ja verkkokamerassa. Selvitä se ja tunnista Intel Edison, mutta se on hahmon girar el servomotor.

Suositeltava: