Detección de objetos TensorFlow y seguimiento a través de Bluetooth para proyectos Arduino

Última Versión

Versión
Actualizar
22 feb. 2020
Desarrollador
Categoría
Descargas
10.000+

App APKs

Arduino Object Detection Track APP

Esta aplicación está diseñada específicamente para estudiantes e ingenieros electrónicos y aficionados que trabajan con microcontroladores Arduino y Raspberry Pi. Utiliza las bibliotecas OpenCV para la detección y clasificación de la visión por computadora, incluido el aprendizaje automático de Google Tensorflow Lite.

La aplicación puede detectar y rastrear varios tipos de objetos desde la cámara de su teléfono, como líneas, manchas de color, círculos, rectángulos y personas. Los tipos de objetos detectados y las posiciones de la pantalla se pueden enviar a un dispositivo receptor de Bluetooth como HC-05.

Si utiliza un microcontrolador apropiado, p. Los usuarios de Arduino o Raspberry Pi pueden analizar los objetos detectados para futuros proyectos basados ​​en robótica. Un ejemplo típico podría ser conectar un teléfono a un kit de robot de 2 o 4 vatios que luego puede rastrear / seguir a una pelota o persona.

Características clave de la aplicación:
1. Detección y seguimiento de manchas de color
2. Detección de círculo y seguimiento
3. Detección de línea
4. Las personas detectan y rastrean usando histograma de gradientes (HoG)
5. Detección de objetos de la etiqueta Coco de TensorFlow Lite (por ejemplo, personas, gatos, automóviles, TV, etc.)
6. Utilice modelos personalizados de Tensorflow.
7. Envíe los parámetros del objeto detectado por Bluetooth.

Tenga en cuenta que todas las operaciones de procesamiento de imágenes funcionan mejor en buenas condiciones de iluminación. Si no puede detectar objetos, intente cambiar algunas de las configuraciones. También tenga en cuenta que los algoritmos de seguimiento implementados son simplistas y, por lo tanto, no funcionarán de manera confiable cuando varios objetos se superpongan entre sí.

Para usar modelos de Tensorflow personalizados, cargue un modelo de archivo mobilenet compatible. Un ejemplo de esto es pet_detect.tflite y pet_labels.txt. Sin embargo, debe cambiarles el nombre a custom.tflite y custom.txt y colocarlos en la carpeta de documentos públicos de almacenamiento interno de su teléfono. Además, asegúrese de habilitar el permiso de la aplicación de Android para acceder al almacenamiento.

Formatos de transmisión de datos Bluetooth:

Toda la comunicación de datos se envía como texto ASCII en el siguiente formato:

"Tipo de objeto": "ID": "XPos", "YPos", "Ancho", "Altura"
  
  Ejemplo de objeto Blob de color: "CO: 0: -40,60,0,0"
  Donde ID es un número entre 0 y 4 sin seguimiento, o cualquier número de ID entero con seguimiento con opción de seguimiento.
  Las posiciones x e y se relacionan con el centro de la burbuja de color con 0,0 en el centro de la pantalla de vista previa de la cámara.
   
  Ejemplo de círculo de objeto sin seguimiento: "CC: 0: -40,60,20,0"
  Donde las posiciones x, y dan el centro del círculo, y el ancho da el radio del círculo.
  En el modo de seguimiento, x, y, w, h proporcionan el rectángulo interior del círculo.

  Ejemplo de objeto circular con filtro en color: "FC: 0: -40,60,20,0"
  Donde las posiciones x, y dan el centro del círculo, y el ancho da el radio del círculo.
  
  Ejemplo de objeto de línea: "LO: 0: -40,60,20,200"
  Donde las posiciones x, y dan el primer punto de línea, y w, h da el segundo punto de línea.
  
  Ejemplo de objeto de personas sin seguimiento: "PO: 0: -40,60,20,0"
  Donde las posiciones x, y dan arriba a la izquierda del rectángulo, y w, h da ancho y alto.
  
  Ejemplo de objeto de personas con filtro en color: "FP: 0: -40,60,20,0"
  Donde las posiciones x, y dan arriba a la izquierda del rectángulo, y w, h da el ancho y la altura del rectángulo.

Todos los objetos rastreados: "TO: 0: -40,60,20,40".
donde las posiciones x, y dan el centro del rectángulo, y w, h da el ancho y la altura desde el centro del rectángulo. Tenga en cuenta que si se filtra en círculo y personas, los identificadores de objetos rastreados se restablecerán a cero para los objetos de color superpuestos.

Objetos TensorFlow: "ObjectTitle: 0: -40,60,20,40"
Donde ObjectTitle es cualquier objeto clasificado de TensorFlow, p. Ej. "Persona", "Copa", "Botella", etc. Las posiciones X, Y dan el centro del rectángulo, y w, h da el ancho y la altura desde el centro del rectángulo. Tenga en cuenta que si filtra en la intersección de blobs de color, asegúrese de que el seguimiento de blobs de color esté habilitado.

Formato para filtro en TensorFlow: "FTF: Persona: -40,60,20,40". Donde "Persona" puede ser cualquiera de los tipos de objetos TensorFlow detectados disponibles definidos dentro de coco_labels_list.txt (Ver Google TensorFlowLite).
 
Ayuda completa en línea en Git Hub: /
https://github.com/GemcodeStudios/ObjectDetectionTracking

Copyright Gemcode Studios 2019
Más información

Publicidad