Оглавление:

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
Детексьон де Рострос с Arduino Intel Edison
Детексьон де Рострос с Arduino Intel Edison

Обработка изображений или изображений для вычислений в едином формате. ser tratados por un ordenador. Actualmente, los mejores algoritmos para tales tareas se basan en redes neuronales convolucionales, las cuales generalmente processing miles de imágenes de rostros humanos mediante el uso de aprendizaje supervisado para entrenar el algoritmo que Identificara el objeto buscado. Sin embargo, no vamos a meternos en tantos lios en este lectable 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, actualizenizen Con un rico set de carcaterisiticas que podemos Implementar Facilmente para la Detección y reconocimiento de imágenes.

Описание OpenCV, которое используется в C ++ и ориентировано на объекты, содержит множество идиом, которые вам нужны, и вам нужно использовать Python с новой программой для реализации процесса обнаружения. un processamiento 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 implementationación práctica. Nuestro objetivo es realizar la Detección de rostros y, si se detecta, realizar alguna acción.

Запасы

Эти материалы, необходимые для использования в учебном пособии:

АППАРАТНОЕ ОБЕСПЕЧЕНИЕ

  • 1 ноутбук / ПК.
  • 1 Плата Arduino Intel Edison.
  • 2 кабеля USB micro-B.
  • 1 смартфон с приложением «IP Webcam».
  • 1сервомотор SG 90.

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

  • Инструмент Intel Flash Lite V5.2.4
  • PuTTy
  • FileZilla FTP
  • Имаген Йокто Поки (V25.5-15)
  • Код VS
  • Python 2.7
  • Версия OpenCV 3.3.0
  • Numpy
  • Libreria MRAA
  • Драйверы Windows для модуля Intel Edison (можно скачать на компьютере).
  • Архив 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 предлагает следующие презентации:

  • Создано для совместимости с Intel с Arduino (es la que usamos en este tutorial).
  • Совместимость с мини-прорывом (con el móudlo ya montado) с платой расширения Arduino.
  • El módulo Intel Edison en su estado nativo (Aquí Requerimos fabricar nuestra propia PCB).

Вы можете использовать совместимую платформу расширения с Arduino debido a la flexibilidad и совместимую для взаимодействия с активными и сенсорными устройствами. Intel Edison, отличная от других площадок Arduino для UNO или MEGA, соответствующая оперативной системе, в том числе и для образа Linux llamada Yocto.

Теперь вы можете подключать кабели USB, Micro-B, Arduino Edison к ноутбуку 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.

Разъем USB micro-B с номером 2, который используется для питания 5 В, программа с использованием IDE Arduino, лекция / экран с памятью флэш-памяти и использование Ethernet через USB-порт.

Коннектор USB micro-B с 3 номерами используется для подключения SSH к сети Эдисон.

В нем установлены драйверы для Windows. Posteriormente revisamos en el Admsinistrador de dispositivos de Windows si reconoce dos puertos:

  • Эль-пуэрто COM виртуальный дель Intel Эдисон
  • Эль-пуэрто серийный COM-дель-Интел Эдисон.

Habiendo revisado lo anterior, процедуры al siguiente paso, flashear el Intel Edison с изображением Linux.

Шаг 2: Flasheando El Intel Edison

Флашандо Эль Интел Эдисон
Флашандо Эль Интел Эдисон
Флашандо Эль Интел Эдисон
Флашандо Эль Интел Эдисон
Флашандо Эль Интел Эдисон
Флашандо Эль Интел Эдисон

У этого устройства есть правильное обнаружение на ПК, оно запускается с изображением Linux. Для использования встроенного флэш-накопителя на Intel: Flash Tool Lite и разъем USB micro-B с маркировкой 2 (предыдущая версия).

1. Откройте для себя "Flash Tool Lite" и сконфигурируйте его на ПК.

2. Нажмите на кнопку «Examinar» и откройте архивный.zip-архив изображения Linux, который будет загружен (edison-image-ww25.5-15.zip).

3. Нажмите на кнопку «Start to flash», чтобы автоматически удалить архив и загрузить изображение Linux в Intel Edison.

4. Настройте педаль управления и подключите соединительный кабель USB-кабель 2, hazlo.

5. El rectangulito de carga debe de llegar на 100%. ¡Листо! Я прошу вас Intel Эдисон.

Теперь вы установили изображение "Linux Yocto Poky", и вы можете использовать конфигурацию Intel Edison.

Шаг 3: Configurando El Intel Edison (Primeros Pasos)

Конфигурация Эль Интел Эдисон (Primeros Pasos)
Конфигурация Эль Интел Эдисон (Primeros Pasos)
Конфигурация Эль Интел Эдисон (Primeros Pasos)
Конфигурация Эль Интел Эдисон (Primeros Pasos)
Конфигурация Эль Интел Эдисон (Primeros Pasos)
Конфигурация Эль Интел Эдисон (Primeros Pasos)

Después de flashear con éxito tu Edison, ahora configuraremos el dispositivo, для того, чтобы использовать терминал PuTTY. PuTTY - это клиент SSH и Telnet, который загружен исходным кодом Саймона Татхама для платформы 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 related para el COM del Edison (не виртуальный). Este valor lo usaremos para inicializar la comunicación.

Abre PUTTY y luego, селекция ботона "Serial" и номер пуэрто COM-дель-Эдисон. 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.

Эта команда находится на терминале PuTTY, который использует команды для настройки Эдисона. Lo siguiente es un listado tareas que haremos en la consola para configurar el dispositivo:

  • Configurar un nombre para el dispsotivo.
  • Configurar una contraseña para root.
  • Conectar el Edison - это красный WIFI.

Cuando te conectas por primera vez se te pedira hace войти в систему. Подпишите "root" и presiona "Enter". Veras "root @ edison" локальное значение encuentras en el Directorio root.

Ahora que ya te encuentras listo para teclear comandos, подпишитесь:

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), escribe un nombre y da enter.

Завершите настройку красного WIFI. 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.

¡Листо! Ya debes de estar conectado al 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 введите и большинство параметров красного WIFI.

Я составлен список для настройки Entorno de Desarrollo Integrado (IDE) для работы с программой. En nuestro caso será… ¡Python!

Шаг 4: Usando Python Para Programar Эль Эдисон

Usando Python Para Programar Эль Эдисон
Usando Python Para Programar Эль Эдисон
Usando Python Para Programar Эль Эдисон
Usando Python Para Programar Эль Эдисон

El Edison использует программу для IDE Arduino, запрещающую использование Python.

Если вы используете Python и оборудование, необходимо использовать библиотеку "MRAA" для взаимодействия с GPIO. MRAA - это библиотека, созданная для общения с GPIO на платформах GNU / Linux и совместимая с ними с использованием базовых приложений Linux. Параллельно процедуре установки.

En Putty, проверяйте терминал и подписывайтесь (используйте редактор vi o nano por ejemplo) в архиве, хранящем пакеты Linux /etc/opkg/base-feeds.conf lo siguiente:

  • src / gz все
  • SRC / GZ Эдисон
  • SRC / GZ core2-32

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

обновление opkg

Ahora vamos a instalar git, напишите:

opkg установить git

Вам нужно установить репозиторий GitHib в Эдисоне:

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

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

  • echo 'экспорт ПУТЬ = $ ПУТЬ: ~ / edison-scripts' >> ~ /.profile
  • источник ~ /.profile

Ahora ejecutaremos los siguientes comandos:

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

¡Листо! Вы можете использовать правильную конфигурацию Python в Эдисоне. Para probar lo anterior ejecutaremos el código anexado en este paso ("prueba.py") с использованием FileZilla. Para 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 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" в папке "root".

Ahora escribe, desde tu Edison y en la ubicación "корень" el comando siguiente para ejecutar el código.

Python prueba.py

Наблюдение за светодиодом 13 составляет 2 мили. y se apaga 2 milisegundos.

¡Felicidades! Имеет ejecutado rightamente un código en phyton para tu Edison. Ahora ya estamos list for processing imágenes en nuestro Edison usando Python, pero antes escribiremos y probaremos el código de Python для обнаружения ростров на компьютере…

Шаг 5: Обнаружение Ростроса с OpenCV

Детектандо Рострос с OpenCV
Детектандо Рострос с OpenCV
Детектандо Рострос с OpenCV
Детектандо Рострос с OpenCV

Интел Эдисон не использует интерфейс видео, поро, что для проверки правильности написания писем и функций Python в совершенстве проверяется на правильность написания кода для исправления ошибок на компьютере и после миграции на Эдисоне.

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 en nuestra PC
  2. Скачать OpenCV version 3.3.0
  3. Все директории и дополнительные OpenCv размещаются в C: / opencv / build / python / 2.7 / x86 и копируют архив cv2.pyd в директорию python C: / Python27 / Lib / site-packages.
  4. Instala pip, mas info en el siguiente enlace
  5. Установить несколько команд для ввода команды python -m pip install --user numpy

Для проверки правильности выполнения функций подписки на терминале python на ПК и вводе:

  • import numpy
  • импорт cv2

Ambos comandos respectivamente deben de Responder ningún mensaje de error (osea nada), indicando que las bibliotecas se han importado correctiveamente.

Вы можете скачать архив "3_detectaRostrosOjos.py", который является терминалом Python на ПК и соответствующей программой. Это программа, которая вам нужна, чтобы активировать веб-камеру на компьютере и обнаружить рост и охос таль и комо на изображении, а не на экране программы, действующей на экране 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 detect 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 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. Этот алгоритм создан в формате цветного RGB, образуя этапы обработки изображений в формате HSV или YIQ. En este procedureso, cada píxel es clasificado como un píxel del color de la piel o un píxel sin color de la piel. Различия в использовании различных моделей цвета, которые не используются в RGB, включают в себя элементы RGB, которые не различаются цветами цветов и различных условий использования. Esto mejora Meaningamente al usar otros modelos de color. Nosotros no usaremos este algoritmo

Признание на основе характеристик: Esta es la técnica que si usaremos para este инструктируем. 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 art y Michael J Быстрое обнаружение объектов с использованием усиленного каскада простых функций "от 2001 г. Это enfoque basado en el aprendizaje automático en donde la" cascade function "se entrena contra un конъюнктура позитивных изображений и негативов. 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). Партир-де-элло-вамос является основным элементом модели для дополнительных лас-характерных качеств кадра изображения. Пара это пропосито, которое используется как «хаар-особенность», которая находится на самом деле на фигуре. 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 содержит предопределенную классификацию. Доступно на ковре C: / opencv / build / etc / haarcascades

Шаг 7: Обнаружение Ростроса с OpenCV и Intel Edison

Detectando Rostros Con OpenCV En Intel Edison!
Detectando Rostros Con OpenCV En Intel Edison!
Detectando Rostros Con OpenCV En Intel Edison!
Detectando Rostros Con OpenCV En Intel Edison!

Вам нужно установить библиотеку numpy y openCV на Intel Edison, чтобы ввести команду escribimos los siguientes comandos desde la terminal del Edison:

  • обновление opkg
  • обновление opkg
  • opkg установить python-numpy python-opencv

Убедитесь, что это нужно сделать правильно. Для приветствия терминала Python от Arduino Edison и подпишитесь:

  • import numpy
  • импорт cv2

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

Вам нужно настроить видеофайлы Intel Edison, работающие на ростерах. На вашем смартфоне загрузите приложение «IP Webcam». Hecho lo anterior, подключитесь к приложению "Ajustes de IP Webcam" / "Preferencias de video" / "Resolución de las fotos" y dejamos el parámetro с разрешением 640x480. Es aqui cuando comienzas a notar que el Intel Edison simplemente no está destinado para el processamiento de imágenes debido a la poca cantidad de RAM que posee (1 ГБ оперативной памяти).

В приложении «IP Webcam» нажмите кнопку ниже, чем «Начальный сервер». 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" и el archivo "haarcascade_frontalface_default.xml" (Los dos códigos los puedes encontrar en los archivos del paso actual) на ПК. 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

Когда терминал Эдисона отправляет сообщение «Дама по IP-адресу», вставьте IP-адрес в «IP-веб-камеру» (как не вписывайтесь в электронное письмо с ПК для подключения) и введите его. Здесь есть правильные ответы на сообщения «Ростро детектоадо» на терминале Эдисона и «Ростро без детектирования» и на базе, а также на ростовке и веб-камере. Asimismo обнаруживает рост вашего серводвигателя Intel Edison.

Рекомендуемые: