Sisukord:

Destcción De Rostros Con Arduino Intel Edison: 8 sammu
Destcción De Rostros Con Arduino Intel Edison: 8 sammu

Video: Destcción De Rostros Con Arduino Intel Edison: 8 sammu

Video: Destcción De Rostros Con Arduino Intel Edison: 8 sammu
Video: 👨 DETECCIÓN DE ROSTROS 👩 con Haar Cascades Python – OpenCV 2024, Juuli
Anonim
Destcción De Rostros Con Arduino Intel Edison
Destcción De Rostros Con Arduino Intel Edison

El protsessamiento de imágenes o la visión por computadora es uno de esos campos que requiere enormes cantidades de juurdlus debido a que involucra metét para para, conquerir, processar, analyar y comprender las imágenes del mundo real con el fin de producir informationción numérica o simbóan ser tratados por un ordenador. Tegelikkuses, los mejores algoritmid para tales tareas se basan en redes neuronales convolucionales, las cuales generalmente processan miles de imágenes de rostros humanos mediante el uso de aprendizaje supervisado para entrenar el algoritmo que identifier 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, factizan y mantienen el mantra con un rico set de carcaterisiticas que podemos rakenduse lihtsustamine para la detección y reconocimiento de imágenes.

OpenCV pesa escrita ja C ++ suunab objekte, soovib ületada idioome ja nosotros vamos a usar Python como nuestro lenguaje de programción para realizar la detektsioon de rostros. un processamiento y una imágen de salida. Intel Edisonil pole videoliidese liidest, Python'i skripti ja arvuti uusimat skripti. Luego, después del funcionamiento exitoso del código en la PC, modificaremos el código para korrelatsioon ja elison. Las cosas se aclararán cuando hagamos la implementación práctica. Nuestro objetivo es realizar la detección de rostros y, si se deta, realizar alguna acción.

Tarvikud

El material que requerimos para llevar a cabo este tutorial:

RIISTVARA

  • 1 sülearvuti/arvuti.
  • 1 Placa Arduino Intel Edison.
  • 2 kaablit USB micro-B.
  • 1 nutitelefonirakendus "IP -veebikaamera".
  • 1 mootori mootor 90.

TARKVARA

  • Intel Flash Tool Lite V5.2.4
  • PuTTy
  • FileZilla FTP
  • Imágen Yocto Poky (V25.5-15)
  • VS kood
  • Python 2.7
  • OpenCV versioon 3.3.0
  • Numpy
  • Libreria MRAA
  • Intel Edisoni Windowsi draiverid (Se descargan en cuanto se conecta la placa).
  • Windowsi arhiiv (Pueda ser que te falten al momento de instalar OpenCV en tu laptop).

Samm: looge Intel Intel Edison La PC -ga

Conectando El Intel Edison ja La PC
Conectando El Intel Edison ja La PC
Conectando El Intel Edison ja La PC
Conectando El Intel Edison ja La PC
Conectando El Intel Edison ja La PC
Conectando El Intel Edison ja La PC

Intel Edisoni riistvaramoodulite esitlusvõrgustiku esitusviis:

  • Laadige alla desarrollo loomine Inteli ühilduva Arduinoga (es la que usamos en este tutorial).
  • Una placa mini-breakout (con el móudlo ya montado) ühildub laienduslauaga Arduino.
  • Intel Edison en suestado nativo (Aquí requerimos fabricar nuestra propia PCB) meetod.

Kasutage laienemisplatsi, mis ühildub Arduino debido, paindlikkuse ja ühilduvusega interaktiivsete otstarbeliste ja sensooride vahel. El Intel Edison, Arduino Como UNC ja MEGA korrektne operatsioonisüsteem, on Linuxi ja Yocto imaži jaoks korrektne.

Kõnealuse muusika ja kaablite USB-mikro-B kaabel Arduino Edison ja uusim sülearvuti. Fijate bien que el interruptor (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.

Ühendage USB micro-B marcado 2 numbriga, kui seda kasutatakse 5V, IDE Arduino programmi kasutamiseks, välklambi/eskriti ja mälu välklambi ja USB-ühenduse kasutamiseks.

Ühendage USB micro-B marcado konsooliga ja kasutage seda SSH ja Edison Edisoni liitumiseks.

Kui soovite Windowsi draivereid installida, saate selle installida. Posteriormente revisamos en el Admsinistrador de Windowit and reconoce dos puertos:

  • See on virtuaalne COM -i versioon Intel Edisonist
  • See on seeria COM ja Intel Edison.

See on eesmine versioon, operatsioonisüsteem on sisemine, Intel Edisoni välklamp Linuxi kujutisega.

2. samm: 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

Kui kasutate arvutit, saate seda õigesti tuvastada, välklambid kuvatakse Linuxis. Kui kasutate välklampi Intelile: Flash Tool Lite ja selle liides USB micro-B marcado con el number 2 (ver paso anterior).

1. Abre la herramienta "Flash Tool Lite" ja arvuti ühilduvus.

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

3. Después de hacer click en "Start to flash", la herramienta descomprimirá automáticamente el archivo and empezará a subir la imágen de Linux and el Intel Edison.

4. Se te pedirá desconectar y volver a conectar el cable USB -kaabel 2, hazlo.

5. El rectangulito de carga debe de llegar al 100%. Listo! Välklamp Intel Edisonil.

Ahora que ya tienes installib "Linux Yocto Poky" kujutise, mis on loodud Intel Edisoni konfiguraatori jaoks.

Samm: seadistage El Intel Edison (Primeros Pasos)

Seadistage El Intel Edison (Primeros Pasos)
Seadistage El Intel Edison (Primeros Pasos)
Seadistage El Intel Edison (Primeros Pasos)
Seadistage El Intel Edison (Primeros Pasos)
Seadistage El Intel Edison (Primeros Pasos)
Seadistage El Intel Edison (Primeros Pasos)

Välklambi kirjeldus Edisonis, ahora configuraremos el dispositivo, para ello vamos and usar la terminal PuTTY. PuTTY on SSH ja telneti klient, kes soovivad Simon Tathami originaali avada Windowsi platvormil. Vamos a usar la conexión serial aqui.

Antud de abrir la terminal de PuTTY, abre el "Administrador de dispositivos" ja anota el número de puertorespondiente para el COM del Edison (no el virtual). Este valor lo usaremos para inicializar la comunicación.

Abre PUTTY y luego, valige seeria "Serial" ja ingliskeelne nimi 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. Lugege es un listado tareas que haremos en la consola para configurar el dispositivo:

  • Konfiguraator un nombre para el dispsotivo.
  • Configurar una contraseña para root.
  • Conectar el Edison ja punane WIFI.

Logige sisse sisse. Kirjutage "root" ja vajutage "Enter". Veras "root@edison" lo cual tähendus que te encuentras en el directorio root.

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

configure_edison -seadistamine

Presiona sisestage ja postitage, kirjutage un parool y nuevamente presiona enter. Lugege te pedira un nombre para el dispositivo (que en realidad es un alias mas que un nombre), escribe un nombre y da enter.

Punase WIFI seadistuse viimane konfiguratsioon. El móudlo escaneara el lugar y detectará las redes WIFI disponibles, 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.

Listo! See pakub WIFI -ühenduse loomist. Te mostrará una pantalla en el navegador con tu hostame y tu directcción IP. Asimismo puedes revisar más parámetros de tu conexión escribiendo:

ifconfig

Sisestage oma punane WIFI.

See on seadistuste loend Desarrollo Integrado (IDE) konfiguraatori jaoks programmi kasutamiseks. En nuestro caso será… ¡Python!

Samm 4: Usando Python Para Programm El Edison

Usando Python El Edisoni programmis
Usando Python El Edisoni programmis
Usando Python El Edisoni programmis
Usando Python El Edisoni programmis

El Edison se poede programmis usando el IDE de Arduino, sin embargo aqui usaremos Python.

Kasutage Pythoni ja riistvara, peate kasutama raamatukogu "MRAA" ja GPIO interaktiivset teavet. MRAA ja uniboteca esqueleto de bajo nivel para comunicarse with los GPIO's and plataformas GNU / Linux y es compatible with casi todas las placas basadas and Linux utilizadas. Para ello protseduurid 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 kõik
  • src/gz edison
  • src/gz core2-32

Avaliku arhiivi ja aktuaalse nimekirja paquetes kirjeldus:

opkg uuendamine

Ahora vamos ja instalar git, kirjelda:

opkg install git

Ahora vamos ja GitHibi ja Edisoni repositoorium:

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

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

  • echo 'export PATH = $ PATH: ~/edison-scripts' >> ~/.profile
  • allikas ~/.profiil

Ahora ejecutaremos los siguientes comandos:

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

Listo! Ya debemos de tener configurado correctamente Python en Elison. Parazar lo anterior ejecutaremos el código anexado en este paso ("prueba.py") usando FileZilla. Faililla abriremos PC -s (Lo debiste de haber descargado) ja en campo de "Servidor", "usuario", "contraseña" y "Puerto" escribimos la IP de tu edison (revisalo escribiendo ifcong en tu edison), el usuario (root), tu parool y lõplik men en campo del puerto escribiremos 22, ya que es el que generalmente se emplea para conexiones SSH.

Una vez conectado transfiere el archivo "prueba.py" al folder "root".

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

python prueba.py

Vaadake, kuidas LED 13 sisaldab 2 millisegundit. y se apaga 2 milisegundos.

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

Samm: tuvastage Rostros ja OpenCV

Avasta Rostros ja OpenCV
Avasta Rostros ja OpenCV
Avastage Rostros ja OpenCV
Avastage Rostros ja OpenCV

El Intel Edison no tiene una interfaz de salida de video, por lo que para probar que el código que escribiremos en Python funciona a la perfección probaremos el código para korrektor en nuestra PC ja posteriormente lo migraremos al Edison.

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

Antes de empezar on vajalik, et installida Python ja OpenCv en nuestras computadora. Loe que vamos a realizar estos pasos en nuestra PC:

  1. Laadige alla Python 2.7 ja uusim arvuti
  2. Laadige alla OpenCV versioon 3.3.0
  3. Ve al directorio en donde se extrajo OpenCv y pozicionate et C: / opencv / build / python / 2.7 / x86 y copia el arhivo cv2.pyd al directorio de python C: / Python27 / Lib / site-package.
  4. Installi pip, mas info en el siguiente enlace
  5. Installige numpy ja kirjutage see python -m pip install -kasutaja numpy

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

  • import numpy
  • import 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", see on Python en terminali terminal ja arvuti ja korrektne programm. Este programm vamos debe de activar 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.

Si lo lograste, ic felicidades! Pasemos al siguiente paso que es korer este código desde nuestro Intel Edison and activar un motor a pasos cada vez que detecte un rostro.

6. samm: Antes De Llegar Al Código ja Edison… Teoria De Funcionamiento

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

Rostros de unceto es un caso muy específico del reconocimiento de objetos. Hay muchos enfoques para el reconocimiento näole. Sin embargo, 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. Sisestage algoritm, mis pakub RGB värvivorminguid, mientras que en la etapa de processamiento la cambiamos a los formatos HSV või YIQ. En este proceso, cada píxel es clasificado como un píxel del color de la piel o un píxel sin color de la piel. Värviprotseduuride mudeleid ei saa seletada RGB es que a veces RGB no puede eristada los colores de la piel en diferentes condiciones de luz. Esto mejora tähistab värvide värvimudelit. Nosotros no usaremos este algoritmo

Funktsioonipõhine äratundmine: 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 artic Objektide kiire tuvastamine lihtsate funktsioonide võimendatud kaskaadi abil "del año 2001. Es un 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). A partir de 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 biblioteka sisaldab eelnevalt määratletud klassifikatsiooni. Estos están disponibles en la carpeta C: / opencv / build / etc / haarcascades

Samm: tuvastage Rostros OpenCV ja Intel Edison

Avastage Rostros OpenCV ja Intel Edisoni vahel!
Avastage Rostros OpenCV ja Intel Edisoni vahel!
Avastage Rostros OpenCV ja Intel Edisoni vahel!
Avastage Rostros OpenCV ja Intel Edisoni vahel!

Vamos ja installeeritud biblioteka numpy y openCV ja Intel Edison, para ello escribimos los siguientes comandos desde la terminal del Edison:

  • opkg värskendus
  • opkg uuendamine
  • opkg install python-numpy python-opencv

Verifica que todo se haya instalado correctamente. Python desde tu arduino Edisoni ja terminali ellipood:

  • import numpy
  • import cv2

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

Ahora on võimeline konfigureerima laiaulatuslikku videot Inteli Edisoni leera los rostros. Laadige alla nutitelefoni rakendus "IP -veebikaamera". Hecho lo anterior ühildub rakendusega "Ajustes de IP Webcam"/"Preference of video"/"Resolución de las fotos" ja dejamos el parámetro a 640x480. See on veebiühendus ja notar que el Intel Edison simplemente no está destinado para el processamiento de imágenes debido a la poca cantidad de RAM que posee (1GB de RAM).

Rakenduses "IP -veebikaamera" klõpsake madalamal kui "Iniciar servidor". Ahora, desde tu nut debes de poder ver la camara encendida (como si fuera a tomar photo) ja üks suunav IP abajito. Kirjutage dicha directcción IP ja navigeerige veebis PC ja deberas ver el video en vivo, en mi caso salgo yo sentado trabajando.

Ahora descarga el código "tres.py" y el archivo "haarcascade_frontalface_default.xml" (Los dos códigos los puedes encontrar en los archivos del paso tegelik) ja arvuti. Kasutage FileZilla para pasar ambos códigos a una misma localidad de tu Edison (por ejemplo en el folder root) ja eytcuta el código de python con el comando:

python tres.py

Desisoni terminali de Edisoni debüüdid näitavad, et "Dame la directcción IP" lisab IP -aadressi "IP -veebikaamera" (es la misma que escribiste en el navegador de tu PC para conectarte) ja sisestage. Si todo and correcto debes de ver ver men menaje "Rostro detectado" and the terminal de tu Edison y "Rostro no detectado" en base a si pones un rostro en la webcam de tu celular. Seda on võimalik tuvastada ja see on saadaval Intel Edison de hacer girar el servomotor.

Soovitan: