You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/es/5-retail/lessons/2-check-stock-device/single-board-computer-objec...

5.5 KiB

Llama a tu detector de objetos desde tu dispositivo IoT - Hardware IoT Virtual y Raspberry Pi

Una vez que tu detector de objetos haya sido publicado, podrá ser utilizado desde tu dispositivo IoT.

Copia el proyecto del clasificador de imágenes

La mayor parte de tu detector de inventario es similar al clasificador de imágenes que creaste en una lección anterior.

Tarea - copia el proyecto del clasificador de imágenes

  1. Crea una carpeta llamada stock-counter en tu computadora si estás usando un dispositivo IoT virtual, o en tu Raspberry Pi. Si estás usando un dispositivo IoT virtual, asegúrate de configurar un entorno virtual.

  2. Configura el hardware de la cámara.

    • Si estás usando una Raspberry Pi, necesitarás instalar la PiCamera. También podrías querer fijar la cámara en una posición estable, por ejemplo, colgando el cable sobre una caja o lata, o fijando la cámara a una caja con cinta adhesiva de doble cara.
    • Si estás usando un dispositivo IoT virtual, necesitarás instalar CounterFit y el shim CounterFit PyCamera. Si vas a usar imágenes fijas, captura algunas imágenes que tu detector de objetos no haya visto antes. Si vas a usar tu cámara web, asegúrate de que esté posicionada de manera que pueda ver el inventario que estás detectando.
  3. Repite los pasos de la lección 2 del proyecto de manufactura para capturar imágenes desde la cámara.

  4. Repite los pasos de la lección 2 del proyecto de manufactura para llamar al clasificador de imágenes. La mayor parte de este código será reutilizado para detectar objetos.

Cambia el código de un clasificador a un detector de imágenes

El código que usaste para clasificar imágenes es muy similar al código para detectar objetos. La principal diferencia es el método llamado en el SDK de Custom Vision y los resultados de la llamada.

Tarea - cambia el código de un clasificador a un detector de imágenes

  1. Elimina las tres líneas de código que clasifican la imagen y procesan las predicciones:

    results = predictor.classify_image(project_id, iteration_name, image)
    
    for prediction in results.predictions:
        print(f'{prediction.tag_name}:\t{prediction.probability * 100:.2f}%')
    

    Elimina estas tres líneas.

  2. Agrega el siguiente código para detectar objetos en la imagen:

    results = predictor.detect_image(project_id, iteration_name, image)
    
    threshold = 0.3
    
    predictions = list(prediction for prediction in results.predictions if prediction.probability > threshold)
    
    for prediction in predictions:
        print(f'{prediction.tag_name}:\t{prediction.probability * 100:.2f}%')
    

    Este código llama al método detect_image en el predictor para ejecutar el detector de objetos. Luego reúne todas las predicciones con una probabilidad por encima de un umbral, imprimiéndolas en la consola.

    A diferencia de un clasificador de imágenes que solo devuelve un resultado por etiqueta, el detector de objetos devolverá múltiples resultados, por lo que es necesario filtrar aquellos con una probabilidad baja.

  3. Ejecuta este código y capturará una imagen, la enviará al detector de objetos y mostrará los objetos detectados. Si estás usando un dispositivo IoT virtual, asegúrate de tener una imagen adecuada configurada en CounterFit o que tu cámara web esté seleccionada. Si estás usando una Raspberry Pi, asegúrate de que tu cámara esté apuntando a los objetos en un estante.

    pi@raspberrypi:~/stock-counter $ python3 app.py 
    tomato paste:   34.13%
    tomato paste:   33.95%
    tomato paste:   35.05%
    tomato paste:   32.80%
    

    💁 Es posible que necesites ajustar el threshold a un valor adecuado para tus imágenes.

    Podrás ver la imagen que se tomó y estos valores en la pestaña Predictions en Custom Vision.

    4 latas de pasta de tomate en un estante con predicciones para las 4 detecciones de 35.8%, 33.5%, 25.7% y 16.6%

💁 Puedes encontrar este código en la carpeta code-detect/pi o code-detect/virtual-iot-device.

😀 ¡Tu programa de contador de inventario fue un éxito!


Descargo de responsabilidad:
Este documento ha sido traducido utilizando el servicio de traducción automática Co-op Translator. Si bien nos esforzamos por garantizar la precisión, tenga en cuenta que las traducciones automatizadas pueden contener errores o imprecisiones. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos hacemos responsables de malentendidos o interpretaciones erróneas que puedan surgir del uso de esta traducción.