Tartalomjegyzék:

Az Arduino Intel Edison detektálása: 8 lépés
Az Arduino Intel Edison detektálása: 8 lépés

Videó: Az Arduino Intel Edison detektálása: 8 lépés

Videó: Az Arduino Intel Edison detektálása: 8 lépés
Videó: Создание приложений для мобильных устройств, игр, Интернета вещей и многого другого с помощью AWS DynamoDB, Рик Хулихан 2024, Július
Anonim
Az Arduino Intel Edison detektálása
Az Arduino Intel Edison detektálása

El processamiento de imágenes o la visión por computer ser tratados por un ordenador. Valójában, los mejores algoritmus 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 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 con un rico set de carcaterisiticas que podemos implementar facilitmente para la detección y reconocimiento de imágenes.

A pesar de que OpenCV encuentra escrita en C ++ orientated a objetos, este soporta múltiples idiomas y nosotros vamos a usar Python como nuestro lenguaje de programción para realizar la detección de rostros. un processamiento y una imágen de salida. Az Intel Edison nem használ videofelületet, a Python forgatókönyvének és a PC -nek a forgatókönyvét. Luego, después del funcionamiento exitoso del código en la PC, modificaremos el código para korerlo en 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.

Kellékek

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

HARDVER

  • 1 laptop/PC.
  • 1 Placa Arduino Intel Edison.
  • 2 USB micro-B kábel.
  • 1 okostelefon az "IP webkamera" alkalmazással.
  • 1 szervomotoros vmi 90.

SZOFTVER

  • Intel Flash eszköz Lite V5.2.4
  • Gitt
  • FileZilla FTP
  • Imágen Yocto Poky (V25.5-15)
  • VS kód
  • Python 2.7
  • OpenCV Versión 3.3.0
  • Durva
  • Libreria MRAA
  • A Windows illesztőprogramjai az Intel Edison módjához (Se descargan en cuanto se conecta la placa).
  • Archivos dll de Windows (Pueda ser que te falten al momento de instalar OpenCV en tu laptop).

1. lépés: Conectando El Intel Edison és La PC

Conectando El Intel Edison és La PC
Conectando El Intel Edison és La PC
Conectando El Intel Edison és La PC
Conectando El Intel Edison és La PC
Conectando El Intel Edison és La PC
Conectando El Intel Edison és La PC

Az Intel Edison hardveres módszerei és podcuts enconrar en tres prezentációi:

  • A placa de desarrollo teremtés az Intel -kompatibilis Arduino -val (es la que usamos en este tutorial).
  • A mini mini-breakout (con el móudlo ya montado) kompatibilis az Arduino Board bővítésével.
  • Az Intel Edison en su estado nativo (Aquí requerimos fabricar nuestra propia PCB) módszere.

Használja a placa de expansión kompatibilis Arduino debido a la flexibilidad y kompatibilidad interakciós kon otros actuadores y sensores. Az Intel Edison, az Arduino Compos UNCO vagy a MEGA korrekt rendszerének operációs rendszere, a Linux llamada Yocto képében.

Találja meg a kompatibilis zeneszámokat, és csatlakoztassa a kábeleket az USB micro-B del Arduino Edison és a legújabb laptopokhoz. A vásárlók 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.

Csatlakoztassa az USB micro-B marcado-t az 5V-os alprogramhoz, használja az IDE Arduino-t, használja a programot és írja le a memóriát a flash-hez, és használja az Ethernet-et és az USB-t.

Az USB micro-B marcado csatlakozó 3 nullával használható az SSH és a legújabb Edison csatlakozásához.

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

  • Ez a COM virtuális Intel Edison verziója
  • Ez a sorozat az Intel Edison soros COM -ja.

Hagyja felül az elülső verziót, az eljárásokat alulról, az Intel Edison villanása a Linux képéről.

2. lépés: 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

Használja a számítógépet a számítógépen, és villogjon a Linux képében. Az Intel által biztosított flash-alapú használathoz: Flash Tool Lite és csatlakozó USB micro-B marcado con el numero 2 (ver paso anterior).

1. Abre la herramienta "Flash Tool Lite" és a számítógép összeszerelése.

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 y empezará a subir la imágen de Linux and el Intel Edison.

4. Tekintse meg a dekonstrukciót és a konnektor kábelt USB -kábel 2, hazlo.

5. El rectangulito de carga debe de llegar al 100%. Listo! Gyors az Intel Edison.

Ahora que ya tienes telepíti a "Linux Yocto Poky" imázst, és az Intel Edison konfigurátorát tartalmazza.

3. lépés: Az Intel Edison konfigurálása (Primeros Pasos)

Az Intel Edison konfigurálása (Primeros Pasos)
Az Intel Edison konfigurálása (Primeros Pasos)
Az Intel Edison konfigurálása (Primeros Pasos)
Az Intel Edison konfigurálása (Primeros Pasos)
Az Intel Edison konfigurálása (Primeros Pasos)
Az Intel Edison konfigurálása (Primeros Pasos)

Después de flashear con éxito tu Edison, ahora configuraremos el dispositivo, para ello vamos and usar la terminal PuTTY. A PuTTY az SSH és a telnet ügyfélszolgálata, eredeti eredetije Simon Tatham számára a Windows platformon. Vamos a usar la conexión serial aqui.

Antes de abrir la terminal de PuTTY, abre el "Administrador de dispositivos" and anota el número de puerto levelező a COM del Edison (no el virtual). Este valor lo usaremos para inicializar la comunicación.

Abre PUTTY y luego, válassza ki a "Serial" bot botot és olvassa el a COM del Edison puerto púrtóját. 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:

  • Konfigurátor un nombre para el dispsotivo.
  • Configurar una contraseña para root.
  • A Conectar el Edison egy piros WIFI -vel.

Cuando te conectas por primera vez se te pedira hace jelentkezzen be. Írja be a "root" szót és az "Enter" billentyűt. Veras "root@edison" lo cual Jelentés que te encuentras en el directorio root.

Ahora que ya te encuentras listo para teclear comandos, írja le:

configure_edison --setup

Presiona enter y posteriormente escribe un jelszó y 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.

A végső konfiguráció egy piros WIFI -vel. El móudlo escaneara el lugar y detectará las redes WIFI -készülékek, írjon el számot de la opción de la red detectada la que te vas a conectar y posteriormente te pedirá el jelszó de la red, escríbelo y presiona enter.

Listo! Most a WIFI -n van kapcsolat. 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

Nyomja meg a WIFI Wi -Fi kapcsolatát.

Ez a konfigurációs lista az Entorno de Desarrollo Integrado (IDE) programcsomag beállításához. En nuestro caso será… ¡Python!

4. lépés: Usando Python Para Programar El Edison

Usando Python az El Edison programjában
Usando Python az El Edison programjában
Usando Python az El Edison programjában
Usando Python az El Edison programjában

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

Alkalmazza a Python hardvert, és használja a "MRAA" biblioteca bibliográfiát a GPIO interaktív alkalmazásához. MRAA és uniboteca 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 a 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

Posteriormente guarda el archivo y aktualitás la list de paquetes escribiendo:

opkg frissítés

Ahora vamos a instalar git, írd le:

opkg install git

Ahora vamos a GitHib és Edison telepítője és tárolója:

git klón https://github.com/drejkim/edison-scripts.git ~/edison-scripts

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

  • echo 'export PATH = $ PATH: ~/edison-scripts' >> ~/.profile
  • forrás ~/.profile

Ahora ejecutaremos los siguientes comandos:

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

Listo! Ya debemos de tener configurarado correctamente Python en Elison. Para probar lo anterior ejecutaremos el código anexado en este paso ("prueba.py") usando FileZilla. A FileZilla számítógépen (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 password y finalmente en el 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

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

Felicidades! Has ejecutado correctamente un código en 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 for detector rostros en nuestra PC …

5. lépés: Detectando Rostros Con OpenCV

Detectando Rostros az OpenCV -vel
Detectando Rostros az OpenCV -vel
Detectando Rostros az OpenCV -vel
Detectando Rostros az OpenCV -vel

El Intel Edison no tiene una interfaz de salida video

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

Antes de empezar necessitamos tener instalado Python y OpenCv en nuestras computadora. A PC -n:

  1. Töltse le a Python 2.7 -et PC -n
  2. Töltse le az OpenCV 3.3.0 verzióját
  3. Ve al directorio en donde se extrajo OpenCv y pozicionate hu C: / opencv / build / python / 2.7 / x86 y copia el arhivo cv2.pyd al directorio de python C: / Python27 / Lib / site-package.
  4. Instala pip, mas info en el siguiente enlace
  5. Telepítse a számpy leírást a python -m pip install telepítésével -a felhasználói szám

Para verificar que todo funciona correctamente escribe en la terminal de python de tu PC y 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", és egy terminál a Python en tu PC és a megfelelő programban. Este program 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.

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

6. lépés: 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 facial. 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. A kezdeti algoritmus kiválasztja az RGB formátumú képeket, mientras que en la etapa de processamiento la cambiamos a los formatos HSV o 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. La razón detrás del uso de otros modelos de color que no sean RGB es que a veces RGB no puede differen los colores de la piel en diferentes condiciones de luz. Esto mejora jelentőségét jelzi a színekben. Nosotros no usaremos este algoritmo

Funkcióalapú felismerés: 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 su artíc Gyors objektumfelismerés az egyszerű funkciók fokozott kaszkádjával "del año 2001. Es un enfoque basado en el aprendizaje automata and donde la" cascade function "se entrena contra un conjunto de imagenes 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. Az OpenCV biblioteka tartalmazza az előzetes definíciók osztályozását. Az Estos están disponibles en la carpeta C: / opencv / build / etc / haarcascades

7. lépés: Az OpenCV és az Intel Edison Rostros észlelése

Keresse meg az OpenCV és az Intel Edison Rostros szolgáltatásait!
Keresse meg az OpenCV és az Intel Edison Rostros szolgáltatásait!
Keresse meg az OpenCV és az Intel Edison Rostros szolgáltatásait!
Keresse meg az OpenCV és az Intel Edison Rostros szolgáltatásait!

Telepítse a biblioteca számát az openCV -ben és az Intel Edison -ban, és írja le az Edison terminálok parancsát:

  • opkg frissítés
  • opkg frissítés
  • opkg install 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:

  • 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 egy konfigurátor a videó az Intel Edison leera los rostros video. Töltse le okostelefonját az "IP Webcam" alkalmazással. Hecho lo anterior csatlakozzon az alkalmazáshoz a "Ajustes de IP Webcam"/"Preferencias de video"/"Resolución de las fotos" és dejamos el parámetro a 640x480. Ez az aqua cuando comienzas 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).

Az "IP webkamera" alkalmazáshoz kattintson a rosszabb "Iniciar servidor" gombra. Ahora, desde tu smartphone debes de poder ver la camara encendida (como si fuera a tomar foto) és az IP -irányítás irányítása. Írja be a dicha directcción IP -t, és navigáljon a PC -n, és 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 aktuális) és PC. Usa 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

Desison de terminal Edison debes de ver un mensaje "Dame la directcción IP" aqua inserta la IP que te da "IP Webcam" (es la misma que escribiste en el navegador de tu PC para conectarte) y dale enter. Ez a helyes hibaüzenet a "Rostro detectado" és a terminál de Edison és a "Rostro no detectado" alapjaiban, valamint a webhelyen és a webhelyen. Az észlelés és az Intel Edison de hacer girar el szervomotor felismerése.

Ajánlott: