Πίνακας περιεχομένων:

Detección De Rostros Con Arduino Intel Edison: 8 Βήματα
Detección De Rostros Con Arduino Intel Edison: 8 Βήματα

Βίντεο: Detección De Rostros Con Arduino Intel Edison: 8 Βήματα

Βίντεο: Detección De Rostros Con Arduino Intel Edison: 8 Βήματα
Βίντεο: Detección y seguimiento de rostros con OpenCV + Python + Arduino Uno 2024, Νοέμβριος
Anonim
Detección De Rostros Con Arduino Intel Edison
Detección De Rostros Con Arduino Intel Edison

Επεξεργασία πληροφοριών για τη χρήση των υπολογιστών που απαιτούνται για τη διεκπεραίωση των ερευνών που απαιτούνται για την ανίχνευση, την ανάλυση και την ανάγνωση των πληροφοριών που μπορούν να γίνουν από την αγορά, την ανάλυση και την πληροφόρηση των πληροφοριών ser tratados por un ordenador. Actualmente, los mejores algoritmos 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 for entrenar el algoritmo que identificara el objeto buscado. Απαγορεύεται το εμπόριο, δεν υπάρχει ένας τρόπος με τον οποίο μπορείτε να μάθετε πώς να χρησιμοποιείτε τη βιβλιοθήκη σας και να παρακολουθείτε τον υπολογιστή σας με το OpenCV, με την οποία μπορείτε να παρακολουθήσετε τις εκθέσεις σας, καθώς και να λάβετε υπόψη σας, con un rico set de carcaterisiticas que podemos implementar facilmente para la detección y reconocimiento de imágenes.

A pesar de que OpenCV se encuentra escrita en C ++ orientado and objetos, este soporta múltiples idiomas y nosotros vamos a usar Python como nuestro lenguaje de programación para realizar la detección de rostros. un procesamiento y una imágen de salida. Το Intel Edison δεν μπορεί να συνδεθεί με βίντεο, αλλά μπορεί να χρησιμοποιηθεί για το σενάριο Python και τον υπολογιστή σας. Luego, despué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.

Προμήθειες

El material que requerimos para llevar a cabo este tutorial es:

ΣΚΕΥΗ, ΕΞΑΡΤΗΜΑΤΑ

  • 1 φορητό υπολογιστή/υπολογιστή.
  • 1 Placa Arduino Intel Edison.
  • 2 καλώδια USB micro-B.
  • 1 smartphone με εφαρμογή "IP Webcam".
  • 1servomotor sg 90.

ΛΟΓΙΣΜΙΚΟ

  • Εργαλείο Intel Flash Lite V5.2.4
  • Στόκος
  • FileZilla FTP
  • Imágen Yocto Poky (V25.5-15)
  • Κωδικός VS
  • Python 2.7
  • Έκδοση OpenCV 3.3.0
  • Numpy
  • Libreria MRAA
  • Προγράμματα οδήγησης των Windows για τον επεξεργαστή Intel Edison (Se descargan en cuanto se conecta la placa).
  • Archivos dll των Windows (Ενημερωθείτε για την εγκατάστασή σας στο φορητό υπολογιστή OpenCV).

Βήμα 1: 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
Conectando El Intel Edison a La PC

Επεξεργασία υλικού Intel Edison και podemos encontrar en tres presentaciones:

  • Μπορείτε να χρησιμοποιήσετε το Intel συμβατό με Arduino (φροντιστήριο για τα χρήματά σας).
  • Una placa mini-breakout (con el móudlo ya montado) συμβατό con la extension Board de Arduino.
  • Επεξεργασία Intel Edison en su estado nativo (Aquí Requerimos fabricar nuestra propia PCB).

Μπορείτε να χρησιμοποιήσετε την πλατφόρμα επέκτασης συμβατή με το Arduino debido a la flexibilidad και συμβατότητα για την αλληλεπίδραση μεταξύ των ενεργειών και των sensores. El Intel Edison, μια διαφορετική πλατφόρμα για το Arduino como UNO ή MEGA που σχετίζεται με τη λειτουργική λειτουργία, καθώς και για μια εικόνα Linux Linux Yocto.

Καλωσορίστε τα καλώδια los dos καλωδίων USB micro-B del Arduino Edison ένα φορητό υπολογιστή. Fijate bien que el interrupor (marcado con el número 1 en la imágen), este apuntando hacia abajo, si no se se encuentra en dicha posición el Arduino Edison permanecerá apagado.

El conector USB micro-B marcado con el numero 2 se se use use for alimentación de 5V, programaciónn use el el IDE Arduino, lectura/escritura en la memoria flash y uso de Ethernet a través de USB.

El conector USB micro-B marcado con el número 3 χρησιμοποιώντας την πρόσβαση για SSH και nuestro Edison.

Μπορείτε να χρησιμοποιήσετε τα προγράμματα οδήγησης των Windows για τα Windows. Posteriormente revisamos en el Admsinistrador de dispositivos de Windows si reconoce dos puertos:

  • El puerto COM virtual del Intel Edison
  • Σειριακός τίτλος COM del Intel Edison.

Επισκεφθείτε την προηγούμενη, ακολουθήστε τις διαδικασίες που ακολουθούνται, για το Intel Edison con la imagen de Linux.

Βήμα 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

Μπορείτε να χρησιμοποιήσετε τη σωστή ανίχνευση του υπολογιστή σας, να σας ενημερώσει για το Linux. Για την χρήση του herramienta flash provista για την Intel: Flash Tool Lite και el conector USB micro-B marcado con el numero 2 (ver paso anterior).

1. Πηγαίνετε στο "Flash Tool Lite" και μπορείτε να χρησιμοποιήσετε έναν υπολογιστή.

2. Κάντε κλικ στο Examinar y busca el archivo.zip de la imagen de Linux que descargaste (edison-image-ww25.5-15.zip).

3. Κάντε κλικ στο "Έναρξη για να αναβοσβήνει", η οποία θα οδηγήσει σε αρχειοθέτηση και εκμετάλλευση ενός αρχείου Linux και σε Intel Edison.

4. Επιλέξτε το καλώδιο του καλωδίου USB 2, hazlo.

5. El rectangulito de carga debe de llegar al 100%. ¡Λίστο! Φαίνεται να έχετε Intel Edison.

Μπορείτε να εγκαταστήσετε την εικόνα του "Linux Yocto Poky", για να ρυθμίσετε τις ρυθμίσεις του Intel Edison.

Βήμα 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 éxito tu Edison, ahora configuraremos el dispositivo, para ello vamos a usar la terminal PuTTY. Το PuTTY δεν είναι πελάτης SSH y telnet, αποκαλύπτεται πρωτότυπα από τον Simon Tatham για τις πλατφόρμες των 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 puertorespondiente para el COM del Edison (no el virtual). Este valor lo usaremos para inicializar la comunicación.

Abre PUTTY y luego, selecciona el botón "Serial" και ingresa el número de puerto 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:

  • Ρυθμίστε τις παραμέτρους σας για το el dispsotivo.
  • Ρύθμιση παραμέτρων για τη ρίζα.
  • Conectar el Edison χωρίς κόκκινο WIFI.

Μπορείτε να συνδεθείτε. Καταγράψτε "root" y presiona "Enter". Veras "root@edison" lo cual importanta que te encuentras en el Directorio root.

Ahora que ya te encuentras listo για teclear comandos, escribe:

configure_edison -εγκατάσταση

Presiona enter y posteriormente escribe un password και nuevamente presiona enter. Luego te pedira un nombre para el dispositivo (que en realidad es un alias mas que un nombre), escribe un nombre y da enter.

Τελική ρύθμιση παραμέτρων χωρίς κόκκινο WIFI. El móudlo escaneara el lugar y deteará las redes WIFI disponibles, escribe el numero de la opción de la red deteada la que te vas a conectar y posteriormente te pedirá el password de la red, escríbelo y presiona enter.

¡Λίστο! Μπορείτε να χρησιμοποιήσετε το WIFI. Te mostrará una pantalla en el navegador con tu hostame y tu dirección IP. Asimismo puedes revisar más parámetros de tu conexión escribiendo:

ifconfig

Presiona enter y te mostrará los parámetros de tu red WIFI.

Για να διαμορφώσετε τις παραμέτρους του Entorno de Desarrollo Integrado (IDE) για την εκτέλεση προγραμματισμού. Προς το παρόν… ¡Python!

Βήμα 4: Usando Python Para Programar El Edison

Usando Python Para Programar El Edison
Usando Python Para Programar El Edison
Usando Python Para Programar El Edison
Usando Python Para Programar El Edison

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

Υποστηρίζει την Python και το υλικό, χρειάζεται να χρησιμοποιήσετε τη βιβλιοθήκη "MRAA" για αλληλεπίδραση με τις πεύκες GPIO. Το MRAA είναι μια βιβλιογραφική επιστολή για το επίπεδο του δικτύου για την επικοινωνία των GPIO με πλατφόρμες GNU / Linux και συμβατές συμβατικές λειτουργίες με τις βασικές λειτουργίες του Linux. Para ello procederemos a instalarla.

En Putty, vete a la terminal y escribe (puedes ocupar el editor vi o nano por ejemplo) και στο αρχείο με την υποστήριξη του Linux /etc/opkg/base-feeds.conf για να μάθετε περισσότερα:

  • src/gz όλα
  • src/gz edison
  • src/gz core2-32

Posteriormente guarda el archivo y actualiza la lista de paquetes escribiendo:

αναβάθμιση opkg

Ahora vamos a instalar git, escribe:

opkg εγκατάσταση git

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

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

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

  • echo 'export PATH = $ PATH: ~/edison-scripts' >> ~/.profile
  • πηγή ~/.προφίλ

Ahora ejecutaremos los siguientes comandos:

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

¡Λίστο! Μπορείτε να ρυθμίσετε τις ρυθμίσεις Python en el Edison. Για να προχωρήσετε στο μπροστινό ejecutaremos el código anexado en este paso ("prueba.py") usando FileZilla. Παραδείγματα αρχείων FileZilla en la PC (Lo debiste de haber descargado) y el 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 password y finalmente en el campo del puerto escribiremos 22, ya que es el que generalmente se emplea para conexiones SSH.

Μπορείτε να μεταφέρετε αρχεία "prueba.py" στον φάκελο "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 milisegundos. y se apaga 2 milisegundos.

¡Φελισιδάδες! Έχει ejecutado correctamente un código en phyton para tu Edison. Είμαι έτοιμος για την επεξεργασία των εικόνων του Edison usando και της Python, αλλά και για την επισκόπηση του προβλήματος και της Python για την ανίχνευση των ροστρών σε έναν υπολογιστή…

Βήμα 5: Detectando Rostros Con OpenCV

Detectando Rostros Con OpenCV
Detectando Rostros Con OpenCV
Detectando Rostros Con OpenCV
Detectando Rostros Con OpenCV

Το El Intel Edison δεν μπορεί να συνδεθεί με τη λήψη βίντεο, αλλά μπορεί να χρησιμοποιηθεί από την Python και για την καλύτερη λειτουργία του υπολογιστή σας, καθώς και από τον υπολογιστή σας με τη μετανάστευση του 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. Por lo que vamos a realizar estos pasos en nuestra PC:

  1. Κατεβάστε το Python 2.7 και τον υπολογιστή σας
  2. Κατεβάστε την έκδοση OpenCV 3.3.0
  3. Μπορείτε επίσης να χρησιμοποιήσετε το OpenCv y posicionate en C: / opencv / build / python / 2.7 / x86 y copia el arhivo cv2.pyd al Directorio de python C: / Python27 / Lib / site-packages.
  4. Instala pip, mas info en el siguiente enlace
  5. Instala numpy escribiendo el comando de python -m pip install --user numpy

Για να επιβεβαιώσετε τη λειτουργία που πρέπει να διορθώσετε, καταγράψτε τον τερματικό σταθμό του υπολογιστή σας και εισαγάγετε:

  • εισαγωγή μουδιασμένη
  • εισαγωγή cv2

Ambos comandos respectivamente deben de responder ningún mensaje de error (ή aa nada), υποδεικνύει ότι υπάρχουν βιβλιογραφικές πληροφορίες για τη σωστή εισαγωγή.

Ahora descarga el archivo "3_detectaRostrosOjos.py", δεν είναι πλέον τερματικό της Python en tu PC y corre el programa. Εκτός από την ενεργοποίηση της διαδικτυακής κάμερας από τον υπολογιστή σας και τον εντοπισμό των ροστρών και των προγραμμάτων που χρησιμοποιείτε, μπορείτε να χρησιμοποιήσετε το πρόγραμμα ESC.

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

Βήμα 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 ενημερώνει για την επανασυγκρότηση του προσώπου. 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. Εισαγάγετε τις δυνατότητές σας για την απεικόνιση των χρωμάτων RGB, τα στοιχεία που χρησιμοποιούνται για την επεξεργασία του cambiamos και των μορφών HSV ή YIQ. Εκ των πραγμάτων, το cad píxel es clasificado como un píxel del color de la piel o un píxel sin color de la piel. La razón detrás del uso de otros modelos de color que no sean RGB es que a veces RGB no puede dalls los colores de la piel σε διαφορετικές συνθήκες για το luz. Esto mejora signativamente al usar otros modelos de color. Nosotros no usaremos este algoritmo

Αναγνώριση βάσει χαρακτηριστικών: 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 en Michael y Paulo " Ταχεία Ανίχνευση Αντικειμένων με τη χρήση Ενισχυμένου Καταρράκτη Απλών Χαρακτηριστικών "για το 2001. Es un enfoque basado en el aprendizaje automático en donde la" cascade function "se entrena contra un conjunto de imágenes positivas y negative. El algoritmo requiere de muchas imágenes positivas (en nuestro caso estas son imágenes de caras) και muchas imágenes negativas (que no contienen imágenes de caras). Ένα 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 κ.λπ. La biblioteca OpenCV contiene un conjunto de clasificadores predefinidos. Estos están disponibles en la carpeta C: / opencv / build / etc / haarcascades

Βήμα 7: Detectando Rostros Con OpenCV En Intel Edison

Detectando Rostros Con OpenCV με Intel Edison!
Detectando Rostros Con OpenCV με Intel Edison!
Detectando Rostros Con OpenCV με Intel Edison!
Detectando Rostros Con OpenCV με Intel Edison!

Vamos a instalar la biblioteca numpy y openCV en el Intel Edison, για να σας περιγράψω τον τρόπο λειτουργίας του τερματικού του Edison:

  • ενημέρωση opkg
  • αναβάθμιση opkg
  • opkg εγκατάσταση python-numpy python-opencv

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

  • εισαγωγή μουδιασμένη
  • εισαγωγή cv2

Αν θέλετε να κάνετε αναφορά σε μια νέα έκθεση, θα πρέπει να εγκαταστήσετε την εγκατάστασή σας.

Παρακολουθήστε μια ρύθμιση παραμέτρων για τη λήψη βίντεο από την Intel Edison για περισσότερες φωτογραφίες. Κατεβάστε το smartphone "IP Webcam". Προηγούμενη πρόσβαση σε μια εφαρμογή και μια "Webcam Ajustes de IP"/"Preferencias de video"/"Resolución de las fotos" y dejamos el parámetro a 640x480. Είναι πολύ εύκολο να λάβετε έναν συμβολαιογραφικό κώδικα από το Intel Edison απλούστερο που δεν έχει καθοριστεί για την επεξεργασία των προβλημάτων σας για τη μνήμη RAM που σας επιτρέπει (1 GB RAM).

Στην εφαρμογή "IP Webcam" κάντε κλικ σε μια κατώτερη θέση "Iniciar servidor". Ahora, desde tu smartphone debes de poder ver la camara encendida (como si fuera a tomar foto) και una dirección IP abajito. Εγγραφείτε για διευθύνσεις IP και για λογαριασμό σας στον υπολογιστή σας και για το βίντεο και το βίντεο εν ζωή, για να σας βοηθήσω.

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 actual) και σε υπολογιστή. Χρησιμοποιήστε το FileZilla για να δείτε τους τοπικούς σας χρήστες στο Edison (για παράδειγμα, στη ρίζα του φακέλου) και στο python con el comando:

python tres.py

Desde la terminal de tu Edison debes de ver un mensaje "Dame la dirección IP" aquí inserta la IP que te da "IP Webcam" (es la misma que escribiste en el navegador de tu PC para conectarte) y dale enter. Μπορείτε να διορθώσετε τη συζήτηση "Rostro deteco" και στο τερματικό του Edison y "Rostro no deteco" με βάση την κάμερα και την κάμερα του κινητού. Asimismo si se detea un rostro tu Intel Edison debe de hacer girar el servomotor.

Συνιστάται: