Tabla de contenido:
- Paso 1: actualiza Raspberry Pi
- Paso 2: instala TensorFlow
- Paso 3: Instale OpenCV
- Paso 4: Instale Protobuf
- Paso 5: configurar la estructura del directorio de TensorFlow
- Paso 6: Detectar objeto
- Paso 7: Problemas y gracias
Video: Detección de objetos Raspberry Pi: 7 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
Esta guía proporciona instrucciones paso a paso sobre cómo configurar la API de detección de objetos de TensorFlow en la Raspberry Pi. Si sigue los pasos de esta guía, podrá usar su Raspberry Pi para realizar la detección de objetos en video en vivo desde una cámara Picamera o una cámara web USB. No se requiere el aprendizaje automático manual como se usa en la base de datos en línea para la detección de objetos. Puede detectar la mayoría de los objetos que se utilizan comúnmente en todo el mundo.
Consulte mi imagen de arriba, usamos un mouse, Apple y tijeras y detectamos el objeto perfectamente.
La guía recorre los siguientes pasos:
Actualiza la Raspberry Pi
Instalar TensorFlowInstalar OpenCV
Compila e instala Protobuf
Configurar la estructura de directorios de TensorFlow
¡Detecta objetos
Paso 1: actualiza Raspberry Pi
Tu Raspberry Pi debe actualizarse
Paso 1:
Escriba en el terminal de comando, sudo apt-get update
Y luego escribe
sudo apt-get dist-upgrade
Esto puede llevar mucho tiempo depende de su Internet y Raspberry pi
Eso es todo lo que necesita, ha terminado de actualizar su Raspberry pi
Paso 2: instala TensorFlow
Ahora, vamos a instalar Tensorflow.
Escriba el siguiente comando, pip3 instalar TensorFlow
TensorFlow también necesita el paquete LibAtlas, escriba el siguiente comando
sudo apt-get install libatlas-base-dev
Y escriba este siguiente comando también, sudo pip3 instalar almohada lxml jupyter matplotlib cythonsudo apt-get install python-tk
Ahora, hemos terminado de instalar Tensorflow.
Paso 3: Instale OpenCV
Ahora estamos trabajando para instalar la biblioteca OpenCV porque los ejemplos de detección de objetos de TensorFlow usan matplotlib para mostrar imágenes, pero elijo practicar OpenCV porque es más fácil trabajar con él y tiene menos errores. Entonces, necesitamos instalar OpenCV. Ahora OpenCV no es compatible con RPI, por lo que instalaremos Verision anterior.
Ahora estamos trabajando para instalar algunas dependencias que deben instalarse a través de apt-get
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install qt4-dev-tools libatlas-base-dev
Finalmente, ahora podemos instalar OpenCV escribiendo, pip3 instalar opencv-python == 3.4.6.27
Eso es todo, ahora hemos instalado OpenCV
Paso 4: Instale Protobuf
La API de detección de objetos de TensorFlow usa Protobuf, un paquete que combina el formato de datos de búfer de protocolo de Google. Necesita compilar desde el código fuente, ahora puede instalarlo fácilmente.
sudo apt-get install protobuf-compiler
Ejecute protocol --version una vez que esté hecho. Debería obtener una respuesta de libprotoc 3.6.1 o similar.
Paso 5: configurar la estructura del directorio de TensorFlow
Hemos instalado todos los paquetes, queremos configurar un directorio para TensorFlow. Desde el directorio de inicio, cree un nombre de directorio llamado "tensorflow1", Escriba lo siguiente, mkdir tensorflow1cd tensorflow1
Ahora descargue TensorFlow escribiendo, git clone --depth 1
Queremos modificar la variable de entorno PYTHONPATH para dirigirla a algunos directorios dentro del repositorio de TensorFlow. Necesitamos que PYTHONPATH se configure cada vez. Tenemos que ajustar el archivo.bashrc. Tenemos que abrirlo escribiendo
sudo nano ~ /.bashrc
Al final del archivo, y en la última línea, agregue el comando, como en la imagen superior que está marcada en el cuadro de color rojo.
exportar PYTHONPATH = $ PYTHONPATH: / home / pi / tensorflow1 / models / research: / home / pi / tensorflow1 / models / research / slim
Ahora guarda y sal. Necesitamos usar protocolos para compilar los archivos de búfer de protocolo (.proto) utilizados por la API de detección de objetos. Los archivos.proto se encuentran en / research / object_detection / protos, queremos ejecutar el comando desde el directorio / research. Escriba el siguiente comando
cd / home / pi / tensorflow1 / models / researchprotoc object_detection / protos / *. proto --python_out =.
Este comando cambia todos los archivos "name".proto a archivos.py "name_pb2".
cd / home / pi / tensorflow1 / models / research / object_detection
Necesitamos descargar el modelo SSD_Lite del zoológico de modelos de detección de TensorFlow. Para ello, queremos utilizar SSDLite-MobileNet, que es el modelo más rápido existente para el RPI.
Google lanza incesantemente modelos con velocidad y rendimiento mejorados, así que verifique con frecuencia si hay modelos mejorados.
Escriba el siguiente comando para descargar el modelo SSDLite-MobileNet.
wget
tar -xzvf ssdlite_mobilenet_v2_coco_2018_05_09.tar.gz
¡Ahora podemos practicar los modelos Object_Detction!
¡Ya casi terminamos!
Paso 6: Detectar objeto
¡Ahora todo está configurado para la detección de objetos de ejecución en el Pi!
Object_detection_picamera.py detecta objetos en vivo desde una cámara Picamera o una cámara web USB.
Si está utilizando una Picamera, cambie la configuración de Raspberry Pi en un menú como en la imagen de arriba marcada en el cuadro de color rojo.
Escriba el siguiente comando para descargar el archivo Object_detection_picamera.py en el directorio object_detection.
wget https://raw.githubusercontent.com/EdjeElectronics/ TensorFlow-Object-Detection-on-the-Raspberry-Pi / master / Object_detection_picamera.py
python3 Object_detection_picamera.py
Escriba el siguiente comando para la cámara USB
python3 Object_detection_picamera.py --usbcam
Se ejecuta el comando de uno, después de 1 minuto se abre una nueva ventana que comenzará a detectar los objetos !!!
Paso 7: Problemas y gracias
Por favor hazme saber si tienes preguntas
Correo electrónico: [email protected]
Gracias, Rithik
Recomendado:
Detección de objetos con placas Sipeed MaiX (Kendryte K210): 6 pasos
Detección de objetos con placas Sipeed MaiX (Kendryte K210): como continuación de mi artículo anterior sobre el reconocimiento de imágenes con placas Sipeed MaiX, decidí escribir otro tutorial, centrado en la detección de objetos. Recientemente apareció un hardware interesante con el chip Kendryte K210, incluido S
Programación Orientada a Objetos: Creación de Objetos Aprendizaje / Método / Técnica de Enseñanza Usando Shape Puncher: 5 Pasos
Programación Orientada a Objetos: Creación de Objetos Método / Técnica de Aprendizaje / Enseñanza Usando Shape Puncher: Método de aprendizaje / enseñanza para estudiantes nuevos en la programación orientada a objetos. Esta es una forma de permitirles visualizar y ver el proceso de creación de objetos a partir de clases. Partes: 1. Punzón grande EkTools de 2 pulgadas; las formas sólidas son las mejores 2. Trozo de papel o c
Seguimiento de objetos basado en detección de color: 10 pasos
Seguimiento de objetos basado en detección de color: historia Hice este proyecto para aprender a procesar imágenes usando Raspberry PI y abrir CV. Para hacer este proyecto más interesante, utilicé dos servomotores SG90 y monté una cámara en él. Un motor se usa para moverse horizontalmente y el segundo motor se usa para moverse verticalmente
DETECCIÓN DE OBJETOS FRAMBUESA PI Pi CON MÚLTIPLES CÁMARAS: 3 Pasos
FRAMBUESA PI Pi DETECCIÓN DE OBJETOS CON MÚLTIPLES CÁMARAS: Mantendré la introducción breve, ya que el título en sí sugiere cuál es el propósito principal del instructable. En este instructivo paso a paso, le explicaré cómo conectar varias cámaras como la cámara 1-pi y al menos una cámara USB, o 2 cámaras USB
Programación Orientada a Objetos: Creación de Objetos Aprendizaje / Método / Técnica de Enseñanza Usando Tijeras: 5 Pasos
Programación Orientada a Objetos: Creación de Objetos Método / Técnica de Aprendizaje / Enseñanza Usando Tijeras: Método de aprendizaje / enseñanza para estudiantes nuevos en la programación orientada a objetos. Esta es una forma de permitirles visualizar y ver el proceso de creación de objetos a partir de clases. Partes: 1. Tijeras (cualquier tipo servirá). 2. Trozo de papel o cartulina. 3. Marcador