Orodha ya maudhui:

Detección De Rostros Con Arduino Intel Edison: Hatua 8
Detección De Rostros Con Arduino Intel Edison: Hatua 8

Video: Detección De Rostros Con Arduino Intel Edison: Hatua 8

Video: Detección De Rostros Con Arduino Intel Edison: Hatua 8
Video: Reconocimiento Facial con Arduino y Processing || OpenCV || ITC 2024, Julai
Anonim
Kutambua De Rostros Con Arduino Intel Edison
Kutambua De Rostros Con Arduino Intel Edison

El procesamiento de picha za kuhesabiwa haki za kufanya kazi kwa maktaba ya mahitaji haya ya mahitaji ya kanuni za upelelezi za utaftaji wa hesabu za utaftaji, utaftaji, uchanganuzi na utaftaji picha wa picha zote za picha ya mwisho. ser tratados por un ordenador. Actualmente, los mejores algoritmos para tales tareas se basan en redes neuronales convolucionales, las cuales generalmente procesan miles de picha za vyombo vya habari vya habari kwa uso wa programu ya usimamizi kwa ajili ya kuingia katika hali ya kutambuliwa kwa watu wengi na buscado. Uzuiaji wa sheria, hakuna wahusika wa hali ya juu inayoweza kufundishwa na usafirishaji unaopatikana katika orodha ya watu wanaohusika na vichungi vya kompyuta kwa kutumia programu ya OpenCV kwa lugha ya kawaida na kwa siku moja, kwa sababu hiyo, watu wengi wanaweza kufanya hivyo. con un rico set de carcaterisiticas que podemos implementar assistmente para la detección y reconocimiento de picha.

Pesar de que OpenCV se encuentra escrita en C ++ orientado a objetos, este soporta múltiples idiomas y nosotros vamos a usar Python como nuestro lenguaje de programación for realizar of detección de rostros. un procesamiento y una imágen de salida. Intel Edison haikuweza kuingiliwa na video, kwa sababu hiyo inawasilisha hati ya Python kwenye PC ya PC. Luego, desués del funcionamiento exitoso del código en la PC, modificaremos el código para correrlo 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 detecta, realizar alguna acción.

Vifaa

Vifaa muhimu kwa sababu ya kufundisha mafunzo ya cabo:

HARDWARE

  • Laptop / PC 1.
  • 1 Placa Arduino Intel Edison.
  • 2 nyaya USB micro-B.
  • Programu mahiri 1 ya simu ya rununu "Webcam ya IP".
  • 90.

SOFTWARE

  • Chombo cha Intel Flash Lite V5.2.4
  • PuTTy
  • FileZilla FTP
  • Imágen Yocto Poky (V25.5-15)
  • Msimbo wa VS
  • Chatu 2.7
  • Matoleo ya OpenCV 3.3.0
  • Numpy
  • Libreria MRAA
  • Madereva ya Windows kwa ajili ya kifaa Intel Edison (Tazama orodha mpya ya eneo).
  • Jalada la Windows la Windows (Huduma ya Programu ya Kufungua kwa OpenCV na kompyuta ndogo).

Hatua ya 1: Conectando El Intel Edison La PC

Conectando El Intel Edison a La PC
Conectando El Intel Edison a La PC
Conectando El Intel Edison a La PC
Conectando El Intel Edison a La PC
Conectando El Intel Edison a La PC
Conectando El Intel Edison a La PC

Maunzi ya vifaa vya Intel Edison lo podemos ni pamoja na ya sasa:

  • La mahali pa kufanya kazi kwa Intel inayolingana na Arduino (kwa mfano wa mafunzo haya).
  • Una placa mini-breakout (con el móudlo ya montado) inayoambatana na bodi ya upanuzi ya Arduino.
  • El Intel Intel Edison in su estado nativo (Huduma zinazotumiwa na PCB).

Unatumia nafasi inayofahamika inayofanana na Arduino debido na la kubadilika kwa njia inayofaa kwa kuingiliana kati ya watendaji na wataalam. El Intel Edison, diferencia de la otras placas de Arduino como UNO o MEGA corre un sistema operativo, kwa sababu hii unapata Linux llamada Yocto.

Tal y como se muestra en la imágen conectaremos los cables USB micro-B del Arduino Edison laptop nuestra. Fijate bien que el interrupor (marcado con el neromero 1 en la imágen), hii ni moja ya habari kwa sababu hawawezi kujulikana, na sio sehemu nyingine ya Arduino Edison permanecerá apagado.

Kontakt USB micro-B marcado na nambari 2 inaweza kutumika kwa njia ya 5V, programu za utumiaji wa IDE Arduino, muhtasari / muhtasari wa kumbukumbu za uso wa Ethernet na USB.

Kontakt USB micro-B marcado con el neromero 3 inaweza kutumika kwa idhini ya SSH na Edison.

Una vez conectado dejemos que se instalen los madereva ya Windows. Posteriormente revisamos en el Admsinistrador de dispositivos de Windows si reconoce dos puertos:

  • El puerto COM halisi ya Intel Edison
  • El puerto mfululizo COM del Intel Edison.

Habiendo revisado lo anterior, procedemos al siguienteaso, flashear ya Intel Edison inayowezesha Linux.

Hatua ya 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

Utapata tu programu sahihi ya Programu ya PC, ili kutoa malipo kwa picha ya Linux. Sehemu hizi zinaonyesha kiwango cha umeme kwa Intel: Flash Tool Lite na kontakt USB USB -B marcado na namba 2 (ver anaso).

1. Tunaweza kupata "Flash Tool Lite" kwa kutumia PC.

2. Haz clic en Examinar y busca el archivo.zip kwa picha ya Linux kwa njia ya chini (edison-image-ww25.5-15.zip).

3. Después de hacer clic en "Start to flash", to herramienta descomprimirá automáticamente and archivo and empirará a subir en Linux de El Intel Intel.

4. Je! Unatafuta njia moja na waya wa kebo ya kebo ya USB 2, hazlo.

5. El rectangulito de carga debe de llegar al 100%. ¡Orodha! Ya flasheaste tu Intel Edison.

Ahora que za tienes za kusanidi "Linux Yocto Poky" ya podemos zinazoweza kusanidiwa na Intel Edison.

Hatua ya 3: Configurando El Intel Edison (Primeros Pasos)

Configurando El Intel Edison (Primeros Pasos)
Configurando El Intel Edison (Primeros Pasos)
Configurando El Intel Edison (Primeros Pasos)
Configurando El Intel Edison (Primeros Pasos)
Configurando El Intel Edison (Primeros Pasos)
Configurando El Intel Edison (Primeros Pasos)

Después de flashear con exxito tu Edison, ahora configuraremos el dispositivo, kwa wasaidizi wa kituo cha kituo cha PuTTY. PuTTY ni sehemu ya SSH na simu, zilizowekwa kwenye tovuti ya Simon Tatham kwa Windows. Vamos a usar la conexión serial aqui.

Antes de abrir la terminal de PuTTY, abre el "Administrador de dispositivos" y anota el número de puerto correspondiente para el COM del Edison (hakuna ukweli wowote). Este valor lo usaremos para inicializar la comunicación.

Uwezo wa PUTTY yuego, chagua "Botia" na inglesa el número de puerto COM del Edison. Posteriormente anota la velocidad en baudios a la que se comunicara el Edison con tu equipo, escrit 115200. Mwisho wa mwisho unapewa nafasi ya kuongezewa kwa uwasilishaji.

Unahitaji kujua nini kuhusu kituo cha PuTTY cha bei ya juu kwa njia ya usanidi wa Edison. Tazama maoni yako juu ya orodha ya shughuli zinazotokana na usanidi wa usanidi:

  • Sanidi un nombre para el dispsotivo.
  • Sanidi una contraseña kwa mizizi.
  • Conectar el Edison ni WIFI nyekundu.

Cuando te conectas por primera vez se te pedira hace log in. Andika "mzizi" na uangalizi "Ingiza". Veras "root @ edison" ina maana ya maana kwa sababu wewe ni mkurugenzi mzizi.

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

sanidi_edison - kuanzisha

Presiona kuingia y posteriormente kuelezea nywila na nuevamente presiona kuingia. Luego te pedira un nombre para el dispositivo (que en realidad es un alias mas que un nombre), andika un nombre y da enter.

Mwisho wa kusanidi mipangilio ya WIFI nyekundu. El móudlo escaneara el lugar y detectará las redes WIFI disponibles, encribe el numero de la opción de la red detectada la que te vas conectar na posteriormente te pedirá el el de red, escríbelo y presiona kuingia.

¡Orodha! Ya debes de estar conectado al WIFI. Je! Unashughulikia nini kwa jina moja la jina na jina tu la IP. Asimismo puedes revisar más parámetros de tu conexión escriptiendo:

ifconfig

Kuweka kuingia kwenye orodha ya WIFI nyekundu.

Orodha ya orodha kwa usanidi wa Entorno de Desarrollo Integrado (IDE) kwa kutumia programu hiyo. Katika kipindi hiki…… Python!

Hatua ya 4: Usando Python Para Programar El Edison

Usando Python Para Programu ya El Edison
Usando Python Para Programu ya El Edison
Usando Python Para Programu ya El Edison
Usando Python Para Programu ya El Edison

El Edison se puede programar usando el IDE de Arduino, sin embargo aqui usaremos Python.

Chombo hiki ni vifaa vya Python na vifaa, vinavyohitajika kutumia "MRAA" kwa kuingiliana kati ya miti ya GPIO. MRAA in the biblioteca esqueleto de bajo nivel for comunicarse con los GPIO's en plataformas GNU / Linux na compatible with casi todas las placas basadas en Linux utumiaji. Para ello procederemos a instalarla.

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

  • src / gz yote
  • src / gz edison
  • src / gz msingi2-32

Posteriormente guarda el archivo na actualiza la lista ya orodha ya maandishi:

kuboresha opkg

Ahora vamos ni git moja kwa moja, andika:

opkg kufunga git

Ahora vamos ni instalar un repositorio de GitHib en el Edison:

clone ya git https://github.com/drejkim/edison-script.git ~ / edison-script

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

  • echo 'PATH ya kuuza nje = $ PATH: ~ / edison-scripts' >> ~ /.profile
  • chanzo ~ /.profile

Ahora ejecutaremos los siguientes comandos:

  • resizeBoot.sh
  • kufungaPip.sh
  • kufungaMraa.sh

¡Orodha! Ya debemos de tener configurado correctamente Python en el Edison. Para probar lo anterior ejecutaremos el código anexado en este paso ("prueba.py") usando FileZilla. Para ello abriremos FileZilla en la PC (Lo debiste de haber descargado) y en el campo de "Servidor", "usuario", "contraseña" y "Puerto" inaelezea IP ya tu edison (revisalo escriptiendo ifcong en tu edison), el usuario (mzizi), nywila tu ya mwisho katika kambi ya maandishi 22, ambayo inatajwa kwa jumla kwa sababu ya mkutano wa SSH.

Una vez conectado transfiere el archivo "prueba.py" al folda "mzizi".

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

chatu prueba.py

Maoni ya uchunguzi wa taa za LED 13 enciende 2 milisegundos. y se apaga 2 milisegundos.

¡Felicidades! Ina ejecutado correctamente un código en phyton para tu Edison. Ahora ya orodha ni kwa ajili ya mchakato wa picha katika eneo la Edison usando Chatu, kila kitu kinaweza kutekelezwa kwa kutumia vifaa vya Python kwa ajili ya kugundua vifaa vya PC yako…

Hatua ya 5: Detectando Rostros Con OpenCV

Kugundua Rostros Con OpenCV
Kugundua Rostros Con OpenCV
Kugundua Rostros Con OpenCV
Kugundua Rostros Con OpenCV

El Intel Edison haikuweza kuingiliwa na video, kwa sababu hiyo inaweza kutumika kwa sababu ya Python kufurahisha na utaftaji wa maandishi kwa njia ya utaftaji wa huduma kwa PC na utaftaji wa habari kwa Edison.

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

Antes de empezar necesitamos tener instalado Python y OpenCv en nuestras computadora. Kwa sababu hii unaweza kupata PC inayotambulika:

  1. Descargar Python 2.7 en PC PC
  2. Descargar toleo la OpenCV 3.3.0
  3. Ve al directorio en donde se extrajo OpenCv y posicionate en C: / opencv / build / python / 2.7 / x86 y copia el arhivo cv2.pyd al directorio de chatu C: / Python27 / Lib / tovuti- vifurushi.
  4. Bomba la Instala, maelezo ya en el siguiente enlace
  5. Instala numpy escriptiendo el comando de python -m pip install --user numpy

Kwa maana, ikiwa ni pamoja na kujifurahisha kusahihisha kanuni zilizo kwenye tovuti ya chatu ya PC na kuingia:

  • kuagiza numpy
  • kuagiza cv2

Ambos comandos respectivamente deben de responder ningún mensaje of error (osea nada), inaonyesha kwamba ni bibliotecas se han importado correctamente.

Ahora descarga el archivo "3_detectaRostrosOjos.py", unaweza kupata terminal ya Python kwenye PC yako na programu yako. Programu hii inaweza kusambazwa kwa wavuti ya wavuti kutoka kwa wavuti tu kwa PC na kugundua vifaa na habari kutoka kwa programu, ili kufanya programu hii ya mpango wa ESC.

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

Hatua ya 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. Maelezo ya hay muchos para el reconocimiento usoni. Uzuiaji wa dhambi, tafadhali chagua maoni yako:

Sehemu ya msingi ya rangi: Katika sehemu hii, unaweza kupata sehemu ya rangi na rangi. Njia mpya ya kufanya kazi kwa njia ya RGB, inaongoza kwa njia mpya za programu na miradi ya HSV au YIQ. Utaratibu huu, habari hii inajumuisha orodha ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi. Ili kufanya kazi kwa sababu ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi ya rangi. Maana ya maana ni muhimu kwa kutumia mifano ya rangi. Nosotros no usaremos este algoritmo

Utambuzi wa msingi wa kipengee: 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 cascade-based cascade" para la detección de rostros es un método eficaz de detección de objetos propuesto por Paul Viola na Michael Jones en su artículo " Kugundua Kitu cha Haraka kwa kutumia Ujasusi ulioboreshwa wa Vipengele Rahisi "del año 2001. Es unfoque basado en el aprendizaje automático en donde la" cascade function "se entrena contra un conjunto de picha positivas y negativas. El algoritmo requiere de muchas picha positivas (en nuestro caso estas son picha de caras) y muchas picha negativas (que no contienen picha de caras). Sehemu moja ya watu wanaoweza kuingiliwa kwa njia ya ziada kwa makala ya ziada ya hali hiyo. Para hii ni ya msingi, kwa hivyo utumiaji wa huduma ya "haar feature" ni nini kinaweza kutekelezwa. 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, nk. La biblioteca OpenCV contiene un conjunto de clasificadores predefinidos. Estos están disponibles en la carpeta C: / opencv / kujenga / n.k / haarcascades

Hatua ya 7: Detectando Rostros Con OpenCV En Intel Edison

Kugundua Rostros Con OpenCV En Intel Edison!
Kugundua Rostros Con OpenCV En Intel Edison!
Kugundua Rostros Con OpenCV En Intel Edison!
Kugundua Rostros Con OpenCV En Intel Edison!

Vamos instalar la biblioteca numpy y openCV en Intel Edison, para ello enptsimos los siguientes comandos desde la terminal del Edison:

  • sasisho la opkg
  • kuboresha opkg
  • opkg kufunga python-numpy python-opencv

Verifica que todo se haya instalado correctamente. Para ello ve a la terminal de Python desde tu arduino Edison anaandika:

  • kuagiza numpy
  • kuagiza cv2

Kwa sababu hii hakuna taarifa yoyote inayoripotiwa, tutaweza kufanya hivyo kwa njia inayofaa.

Ahora mamilioni ya usanidi wa video ya video ya Intel Edison na programu hii. Kwa simu yako tu chini ya programu "IP Webcam". Hecho lo anterior accede a la app y ve a "Ajustes de IP Webcam" / "Preferencias de video" / "Resolución de las fotos" y dejamos el parámetro a 640x480. Hapa kunaweza kujulikana kwa Intel Edison kwa urahisi bila sababu yoyote kwa ajili ya utaftaji wa picha za picha ya RAM (1GB ya RAM).

En la programu "IP Webcam" bonyeza kitufe duni "Iniciar servidor". Ahora, simu za rununu tu zinaweza kutolewa kwa njia ya simu (ikiwa ni pamoja na picha yako) unaweza kujua njia za IP. Andika orodha ya IP kwa tu navegador web de la PC na video za video kwenye vivo, en mi caso salgo yo sentado trabajando.

Ahora orodha kubwa ya "tres.py" y el archivo "haarcascade_frontalface_default.xml" (Los dos códigos los puedes encontrar en los archivos del paso halisi) na PC. Usa FileZilla para pasar ambos códigos a una misma localidad de tu Edison (kwa mfano wa mizizi ya folda) na utafute barua ya chatu kwa njia moja:

chatu tres.py

Desde la terminal de Edison debes de ver un mensaje "Dame la IP IP" linaingizwa kwenye IP na "IP Webcam" (ikiwa ni pamoja na maelezo mafupi juu ya PC na programu moja tu). Ni njia sahihi za kutoa maoni kutoka kwa "Rostro detectado" kwenye kituo cha Edison na "Rostro no detectado" kwa msingi wa simu za rununu kwenye wavuti ya wavuti tu. Asimismo si se detecta un rostro tu Intel Edison debe de hacer girar el servomotor.

Ilipendekeza: