Daftar Isi:
- Perlengkapan
- Langkah 1: Conectando El Intel Edison a La PC
- Langkah 2: Flasheando El Intel Edison
- Langkah 3: Konfigurasikan El Intel Edison (Primeros Pasos)
- Langkah 4: Usando Python Para Programar El Edison
- Langkah 5: Detectando Rostros Con OpenCV
- Langkah 6: Antes De Llegar Al Código En Edison… ¡Teoria De Funcionamiento
- Langkah 7: Detectando Rostros Con OpenCV En Intel Edison
- Langkah 8: Muéstramelo Funcionando…
Video: Deteksi De Rostros Di Arduino Intel Edison: 8 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
proses yang akan dilakukan dengan imágenes o la visión por computadora es uno de esos campos que requiere enormes cantidades de investigación debido a que involucra métodos para adquirir, procesar, analizar y comprender las imágenes del mundo real con el ser tratados por un ordenador. Sebenarnya, los mejores algoritmos para tales tareas se basan en redes neuronales convolucionales, las cuales generalmente procesan miles de imágenes de rostros humanos mediante el uso de aprendizaje supervisado para entrenar el algoritmo que identificara el objeto. Sin embargo, no vamos a meternos en tantos lios en este dapat diinstruksikan 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 dan desarrolladores 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 a 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 tidak ada tiene una interfaz de video, dan skrip Python en nuestro PC. 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.
Perlengkapan
El material que requerimos para llevar a cabo este tutorial es:
PERANGKAT KERAS
- 1 buah laptop/PC.
- 1 Placa Arduino Intel Edison.
- 2 kabel USB mikro-B.
- 1 smartphone dengan aplikasi "IP Webcam".
- 1 motor servo sg 90.
PERANGKAT LUNAK
- Alat Flash Intel Lite V5.2.4
- Dempul
- FileZilla FTP
- Gambar Yocto Poky (V25.5-15)
- Kode VS
- Python 2.7
- OpenCV Versi 3.3.0
- lumpuh
- Libreria MRAA
- Drivers de Windows para el módulo Intel Edison (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).
Langkah 1: Conectando El Intel Edison a La PC
Perangkat keras yang lebih baik Intel Edison untuk menghadapi tantangan dan presentasi:
- La placa de desarrollo creada por Intel compatible con Arduino (es la que usamos en este tutorial).
- Una placa mini-breakout (con el móudlo ya montado) kompatibel dengan papan ekspansi Arduino.
- El módulo Intel Edison en su estado nativo (Aquí requerimos fabricar nuestra propia PCB).
Anda dapat menggunakannya dengan kompatibel dengan Arduino debido a la flexibilidad y compatibilidad untuk interaksi dengan actuadores y sensores. El Intel Edison, tempat yang berbeda untuk Arduino dengan UNO atau MEGA corre un sistema operativo, en este caso una imágen Linux llamada Yocto.
Tal y como se muestra en la image conectaremos los dos kabel USB micro-B del Arduino Edison laptop nuestra. Fijate 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.
Konektor USB mikro-B marcado con el numero 2 se utiliza para alimentación de 5V, programación utilizando el IDE Arduino, lectura/escritura en la memoria flash y uso de Ethernet dan traves de USB.
Konektor USB micro-B marcado con el número 3 untuk digunakan para acceder por SSH dan nuestro Edison.
Una vez conectado dejemos que se instalen los driver de Windows. Posteriormente revisamos en el Admsinistrador de dispositivos de Windows si reconoce dos puertos:
- El puerto COM virtual del Intel Edison
- El puerto serial COM del Intel Edison.
Habiendo revisado lo anterior, procedemos al siguiente paso, flashear el Intel Edison con la imagen de Linux.
Langkah 2: Flasheando El Intel Edison
Una vez que tu dispositivo esta correctamente detectado por la PC, debes flashearlo con a imagen de Linux. Fitur utama dari penyedia flash untuk Intel: Flash Tool Lite y el conector USB micro-B marcado con el numero 2 (lebih dari sebelumnya).
1. Lebih cepat dari "Flash Tool Lite" dan terhubung ke PC.
2. Haz clic 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 klik di "Start to flash", la herramienta descomprimirá automáticamente el archivo y empezará subir la imágen de Linux dan Intel Edison.
4. Setel pedirá desconectar y volver a konektar el kabel kabel USB 2, hazlo.
5. El rectangulito de carga debe de llegar al 100%. ¡Daftar! Ya flasheaste ke Intel Edison.
Ahora que ya tienes instalada gambar "Linux Yocto Poky" ya podemos empezar konfigurasi el Intel Edison.
Langkah 3: Konfigurasikan 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 untuk klien SSH dan telnet, desarrollado originalmente oleh Simon Tatham untuk platform Windows. Vamos a usar la conexión serial aqui.
Antes de abrir la terminal de Putty, abre el "Administrador de dispositivos" dan anota el número de puerto koresponden para el COM del Edison (tidak ada el virtual). Este valor lo usaremos para inicializar la comunicación.
Abre PUTTY y luego, selecciona el botón "Serial" dan 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:
- Konfigurasi untuk nombre para el dispsotivo.
- Konfigurasi una contraseña para root.
- Conectar el Edison adalah WIFI merah.
Cuando te conectas por primera vez set te pedira hace log in. Tulis "root" dan presiona "Enter". Veras "root@edison" sangat penting untuk encuentras di direktori root.
Ahora que ya te encuentras listo para teclear comandos, tuliskan:
configure_edison --setup
Presiona enter y posteriormente escribe un password y nuevamente presiona enter. Luego te pedira un nombre para el dispositivo (que en realidad es un alias mas que un nombre), tuliskan un nombre y da enter.
Finalmente te pedira configurar una merah WIFI. Anda dapat melihat lebih jauh lagi dan mendeteksi koneksi WIFI, tuliskan pilihan yang dapat Anda pilih untuk mendeteksinya dengan koneksi ke belakang dan kata sandi Anda dengan kata sandi, escríbelo y presiona enter.
¡Daftar! Ya debes de estar conectado al WIFI. Te mostrará una pantalla en el navegador con tu hostame y tu diarahkan IP. Asimismo puedes revisar más parámetros de tu conexión escribiendo:
ifconfig
Presiona enter y te mostrará los parámetros de tu merah WIFI.
Ya estamos listo para configurar el Entorno de Desarrollo Integrado (IDE) para empezar con la programación. En nuestro caso será … ¡Python!
Langkah 4: Usando Python Para Programar El Edison
El Edison se puede programar usando el IDE de Arduino, dosa embargo aqui usaremos Python.
Selain perangkat keras Python dan perangkat keras, diperlukan penggunaan biblioteca "MRAA" untuk berinteraksi dengan GPIO. MRAA dan biblioteca esqueleto de bajo nivel para comunicarse con los GPIO en plataformas GNU / Linux y es kompatibel con 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 el archivo que gestiona los paquetes de Linux /etc/opkg/base-feeds.conf di sini:
- src/gz semua
- src/gz edison
- src/gz core2-32
Posteriormente guarda el archivo y actualiza la lista de paquetes escribiendo:
peningkatan opkg
Ahora vamos a instalar git, tuliskan:
opkg instal 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 di PATH:
- echo 'ekspor PATH=$PATH:~/edison-scripts' >> ~/.profile
- sumber ~/.profile
Ahora ejecutaremos los siguientes perintah:
- ubah ukuranBoot.sh
- installPip.sh
- installMraa.sh
¡Daftar! Ya debemos de tener konfigurasikan koreksi Python en el Edison. Para probar lo anterior ejecutaremos el código anexado en este paso ("prueba.py") usando FileZilla. Untuk ello abriremos FileZilla en la 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 password dan finalmente en el campo del puerto escribiremos 22, ya que es el que generalmente se emplea para conexiones SSH.
Tidak terhubung ke transfiere el archivo "prueba.py" di 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 milisegundos. apaga 2 milisegundos.
¡Felicidades! Memiliki ejecutado correctamente un código en phyton para tu Edison. Ahora ya estamos listo para procesar imágenes en nuestro Edison usando Python, pero antes escribiremos y probaremos el código de Python para detectar rostros en nuestra PC…
Langkah 5: Detectando Rostros Con 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 kesempurnaan probaremos el código para correr en nuestra PC y posteriormente lo migraremos al Edison.
Nuestro objetivo es realizar la detección de rostros y, si se detecta, realizar alguna acción.
Antes de empezar perlu lebih banyak menginstal Python dan OpenCv di nuestras computadora. Oleh karena itu, Anda harus tahu lebih banyak tentang PC:
- Unduh Python 2.7 di nuestra PC
- Unduh OpenCV versi 3.3.0
- Ve al direktori dan ekstrajo OpenCv y posicionate en C:\opencv\build\python\2.7\x86 y copia el arhivo cv2.pyd al direktori python C:\Python27\Lib\site-packages.
- Instal pip, info mas en el siguiente enlace
- Instal numpy escribiendo el comando de python -m pip install --user numpy
Para verifikasi untuk melakukan fungsi koreksi escribe en la terminal de python de tu PC dan masukkan:
- impor numpy
- impor 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", abre una terminal de Python en tu PC y corre el programa. Este programa vamos debe de activar la webcam de tu PC y detectar rostros y ojos tal y como en la imágen, pasa salir del programa presiona la tecla 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 detecte un rostro.
Langkah 6: 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. La entrada de este algoritmo suele ser una imagen en format de colores RGB, mientras que en la etapa de procesamiento 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 distinguir los colores de la piel en diferentes condiciones de luz. Esto mejora significativamente al usar otros modelos de color. Nosotros no usaremos este algoritmo
Pengenalan berbasis fitur: Esta es la técnica que si usaremos para este dapat diinstruksikan. 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 Deteksi Objek Cepat menggunakan Cascade yang Ditingkatkan dari Fitur Sederhana " del año 2001. Es un enfoque basado en el aprendizaje automático en donde la "fungsi kaskade" 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 recángulo blanco de la suma de píxeles debajo de un recángulo negro. Los "fitur haar" deben estar entrenados para la cararisa, ojos, dll. La biblioteca OpenCV contiene un conjunto de clasificadores predefinidos. Estos están disponibles en la carpeta C:\opencv\build\etc\haarcascades
Langkah 7: Detectando Rostros Con OpenCV En Intel Edison
Vamos a instalar la biblioteca numpy y openCV en el Intel Edison, para ello escribimos los siguientes comandos desde la terminal del Edison:
- pembaruan opkg
- peningkatan opkg
- opkg instal python-numpy python-opencv
Verifikasi untuk melakukan perbaikan haya instalado. Para ello ve a la terminal de Python desde tu arduino Edison y tuliskan:
- impor numpy
- impor cv2
Si cada uno de estos comandos no no no reporta ningún mensaje, todo se encuentra instalado a la perfección.
Ahora vamos a configurar la fuente de video de donde el Intel Edison leera los rostros. En tu smartphone descarga la app "IP Webcam". Hecho lo anterior accede a la app y ve a "Ajustes de IP Webcam"/"Preferencias de video"/"Resolución de las fotos" dan dejamos el parámetro a 640x480. Tambahkan ke notaris Intel Edison simplemente no está destinado para el procesamiento de imágenes debido a la poca cantidad de RAM que posee (1GB de RAM).
En la app "IP Webcam" dan klik en el boton inferior "Iniciar servidor". Ahora, desde tu smartphone debes de poder ver la camara encendida (como si fuera a tomar foto) y una directión IP abajito. Tulis dicha dirección IP en tu navegador web de la PC y 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 actual) di 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
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. Si todo es correcto debes de ver el mensaje "Rostro detectado" en la terminal de tu Edison y "Rostro no detectado" en base a si pones un rostro en la webcam de tu celular. Asimismo si se detecta un rostro tu Intel Edison debe de hacer gir el servomotor.
Direkomendasikan:
Deteksi Wajah pada Raspberry Pi 4B dalam 3 Langkah: 3 Langkah
Deteksi Wajah pada Raspberry Pi 4B dalam 3 Langkah: Dalam Instruksi ini kita akan melakukan deteksi wajah pada Raspberry Pi 4 dengan Shunya O/S menggunakan Perpustakaan Shunyaface. Shunyaface adalah perpustakaan pengenalan/deteksi wajah. Proyek ini bertujuan untuk mencapai kecepatan deteksi dan pengenalan tercepat dengan
Jam Alarm Cerdas - Intel Edison - Iot RoadShow - São Paulo: 4 Langkah
Jam Alarm Cerdas - Intel Edison - Iot RoadShow - São Paulo: Salah satu manfaat terbesar dari siapa pun yang tinggal atau bekerja di kota besar adalah manajemen waktu. Saat ini perjalanannya konstan dan, karena lalu lintas adalah salah satu faktor utama. Memikirkannya, saya membuat aplikasi kecil yang menggunakan integrasi dengan Google M
Monitoramento De Batimentos Cardíacos Com Intel Edison: 4 Langkah
Monitor De Batimentos Cardíacos Com Intel Edison: Projeto realizado durante a IoT Roadshow 2015, em novembro de 2015.O grup untuk Gedeane Kenshima, Rodrigo Bittenbinder, Gilvan Nunes, Antônio Foltran dan Jefferson Farias apresentou um sistem de monitoramento de monitor; aku
Intel Edison Espião + Bot Telegram: 5 Langkah
Intel Edison Espião + Bot Telegram: Projeto apresentado no Intel IoT Roadshow - São Paulo (Nov. 2015)Contoh deteksição de imagem com Intel Edison, webcam, programada com Python e OpenCV.Contoh Neste será demonstrado como programar uma Intel Edison para v
Sketsa Penasihat Cuaca Intel Edison: 6 Langkah
Intel Edison Weather Advisory Sketch: Kami ingin membuat proyek yang penuh warna, dapat diperluas, dan memamerkan fitur unik Intel Edison. Gunakan wifi Gunakan Linux Gunakan komponen dari Grove Starter Kit.Selain itu, saya ingin tahu cara menyampaikan informasi dari Linux