Sistema de detección de plagas basado en IA para jardines en azoteas

Inteligencia artificial para detección de pestes

Historia

La agricultura es uno de los pilares de la civilización humana, pero su industrialización ha permitido que las plagas se propaguen como nunca antes. Las plagas destruyen nuestros cultivos de muchas maneras: Comiendo hojas de plantas de cultivo Succionando jugos de plantas Perforando hojas, raíces y tallos Propagando patógenos de plantas Alimentando fibras naturales Estas acciones dañan la madera (nuestro material de construcción más esencial), contaminan los cultivos almacenados y aceleran la descomposición de las plantas. Como resultado, alrededor del 40% de los cultivos alimentarios caen cada año a causa de plagas y enfermedades causadas por plagas. Este desperdicio contribuye a la escasez de alimentos y perjudica sobre todo a las comunidades rurales pobres. Por supuesto, también causan daño directo a los humanos a través de mordeduras, picaduras, enfermedades y molestias generales.

Nuestra solución

En este proyecto, vamos a utilizar nuestro modelo de clasificación de audio para clasificar plagas o insectos voladores. Reconoce tres tipos de insectos o plagas según su sonido, como mosquitos, abejas y moscas. A lo largo de este proyecto, describiré cómo se utilizaron Edge Impulse y Nordic Thing:53 para lograr este objetivo. Edge Impulse https://www.edgeimpulse.com/ es una plataforma web de software como servicio (SaaS) que permite a los desarrolladores implementar modelos de ML potentes en dispositivos de borde sin poseer un conocimiento profundo de programación o conceptos de IA y ML.

A continuación, se muestra un adelanto de lo que está por suceder:

  • Recopilación de sonido de audio para el entrenamiento
  • Carga del conjunto de datos a Edge Impulse para entrenar el modelo.
  • Extracción de características
  • Entrenamiento del modelo
  • Implementación en Nordic Thingy:53
  • Evaluación y prueba de datos en tiempo real mediante la interfaz de aplicaciones

¡Comencemos!

Entrenar el modelo en Edge Impulse

Edge Impulse es una herramienta basada en la web que nos ayuda a crear modelos de IA de forma rápida y sencilla que luego se pueden utilizar en todo tipo de proyectos. Podemos crear modelos de aprendizaje automático en unos pocos pasos sencillos y los usuarios pueden crear clasificadores de datos personalizados con nada más que un navegador web. Al igual que con cualquier tarea de aprendizaje profundo o aprendizaje automático, la primera tarea más importante es preparar el conjunto de datos. Preparamos el conjunto de datos utilizando Nordic Thingy:53 (ya que tiene un micrófono para capturar datos de audio). Capturar el sonido real de los mosquitos es demasiado complicado. En este proyecto, utilizamos sonido disponible gratuitamente de fuentes de Internet, YouTube, etc. como nuestro conjunto de datos. Se utiliza una computadora portátil para reproducir esos sonidos y Nordic Thingy:53 junto con nRF Edge Impulse (aplicación móvil) se utilizan para capturar y enviar datos a la plataforma Edge Impulse (plataforma web).

La cuenta Edge Impulse es obligatoria para este proyecto. Si no tiene ninguna, simplemente cree una.

Ahora, vamos a utilizar la aplicación móvil nRF Edge Impulse para recopilar y transferir datos a Edge Impulse.

Abra las aplicaciones móviles e inicie sesión en Edge Impulse. Cree un nuevo proyecto y póngale un nombre.

Encienda el Nordic Thingy :53 y conéctelo con su aplicación móvil a través de Bluetooth. Navegue hasta la pestaña de datos, haga clic en registrar nuevos datos, seleccione la categoría como entrenamiento y etiquétela como abejas, moscas o mosquitos y elija el sensor como micrófono

  • Haga clic en el botón Registrar nuevos datos para recopilar datos de muestra.
  • Necesitamos repetir este proceso varias veces para recopilar varios datos de muestra.

Los datos se cargan automáticamente en Edge Impulse (el teléfono móvil debe estar conectado a Internet). A continuación se muestra un breve video tutorial.

Reenvío de datos al impulso de borde desde Nordic Thingy: 53

El conjunto de datos tiene tres (03) clases: abejas, mosquitos y moscas. Se vería así:Inteligencia artificial para detección de pestes

Recopilamos una cantidad muy pequeña de datos de cada clase, lo que realmente afecta el resultado. Aquí, se toman alrededor de 13 muestras de cada clase para el entrenamiento.

Después de cargar los datos de audio para cada clase, pasaremos al proceso de división. Cualquier procedimiento de entrenamiento de aprendizaje automático implica dividir primero los datos aleatoriamente en dos conjuntos. Puede hacerlo utilizando la función Realizar división de entrenamiento/prueba disponible en Edge Impulse. Navegue hasta la sección Panel de control y seleccione Realizar división de entrenamiento/prueba. Esto dividirá automáticamente sus datos entre una clase de entrenamiento (80 %) y una clase de prueba (20 %).

Una vez que haya configurado todas sus clases y esté satisfecho con sus conjuntos de datos, es hora de entrenar el modelo. Navegue hasta Impulse Design en el menú de navegación izquierdo.

Inteligencia artificial para detección de pestes

Seleccione Agregar un bloque de procesamiento y agregue Audio (MFCC). MFCC significa Mel Frequency Cepstral Coefficients (Coeficientes cepstrales de frecuencia Mel). Por lo tanto, intentará convertir el audio en algún tipo de características basadas en características de tiempo y frecuencia que nos ayudarán a realizar la clasificación. Luego, seleccione Agregar bloque de aprendizaje y agregue Clasificación (Keras). Haga clic en Guardar impulso.

Luego, navegue hasta MFCC. La extracción de características es el proceso de descubrir un valor o un grupo de valores que se pueden usar para identificar entidades como objetos, personajes, personas, etc. MFCC se usa a menudo para tareas de reconocimiento de voz.

Haga clic en Guardar parámetros y, por último, presione Generar características.Inteligencia artificial para detección de pestes

A continuación, haga clic en Clasificador NN en el menú de navegación. Entrenaremos un modelo para 500 épocas y una tasa de aprendizaje de 0,005. Haga clic en el botón Iniciar entrenamiento. El entrenamiento del modelo puede llevar un tiempo. Mientras el entrenamiento está en curso, verá una barra de progreso. El entrenamiento debería llevar alrededor de 5 a 6 minutos o menos si se utilizan las 500 épocas.

A continuación, se incluye un breve video para una mejor comprensión.

-Proceso de entrenamiento de impulso de borde en detalle-

Cuando se complete el proceso de entrenamiento deberías tener un resultado como el que se muestra en la siguiente imagen:Inteligencia artificial para detección de pestes

Los datos del entrenamiento se pasaron a través de la primera capa convolucional 1D. El vector unidimensional es fácil de usar para fines de clasificación y, por lo tanto, se utilizó para aplanar los datos. La capa de exclusión se utilizó para reducir la posibilidad de sobreajuste.

Obtenemos una precisión de validación del 64,0 %. Aumentar la cantidad de épocas de entrenamiento y el conjunto de datos puede aumentar potencialmente esta puntuación de precisión.

Una vez completado el entrenamiento, puede transferir el modelo a Nordic Thingy:53 mediante las aplicaciones móviles nRF edge impulse.Inteligencia artificial para detección de pestes

Implementación del modelo entrenado en Nordic Thingy53

El video muestra cómo transferimos el modelo de aprendizaje automático a la placa Nordic Thingy53 usando las aplicaciones móviles nRF Edge Impulse.

Implementación del modelo ML y prueba del modelo mediante la aplicación móvil nRF Edge Impulse

Escenario de caso de usoInteligencia artificial para detección de pestes

El sistema de detección de plagas activa el aerosol de control de plagas o el zumbador cuando detecta alguna plaga o insecto.

Trabajo futuro

Planeamos integrar múltiples modelos de aprendizaje automático para monitorear la salud de las plantas de los jardines de las azoteas.

Referencia

Circuito

Inteligencia artificial para detección de pestes

Código

{

«format-version»: 0,

«time»: 1666502222,

«files»: [

{

«type»: «application»,

«board»: «thingy53_nrf5340_cpuapp»,

«soc»: «nRF5340_CPUAPP_QKAA»,

«load_address»: 66048,

«image_index»: «0»,

«slot_index_primary»: «1»,

«slot_index_secondary»: «2»,

«version_MCUBOOT»: «1.0.0»,

«size»: 551080,

«file»: «app_update.bin»,

«modtime»: 1666502222

},

{

«type»: «application»,

«board»: «thingy53_nrf5340_cpunet»,

«soc»: «nRF5340_CPUNET_QKAA»,

«image_index»: «1»,

«slot_index_primary»: «3»,

«slot_index_secondary»: «4»,

«load_address»: 16812032,

«version»: «1»,

«size»: 171348,

«file»: «net_core_app_update.bin»,

«modtime»: 1666360125

}

],

«name»: «firmware-thingy53»,

«firmware»: {

«zephyr»: {

«revision»: «b05b8ad63acf30e08a570ce553831a06db27a2e0-dirty»

},

«nrf»: {

«revision»: «126fad0e2e5cbe5b965a45efc6a5e31f40d6020c-dirty»

}

}

}

net_core_app_update C/C++

app_update  C/C++

Acerca de Mohammad Salah Uddin 13 Artículos
El Dr. Mohammad Salah Uddin es profesor asistente en el Departamento de Ingeniería y Ciencias de la Computación de la Universidad East West de Dhaka, Bangladesh. Antes de esto, trabajó como investigador (Tradr - proyecto europeo) en la Universidad Sapienza de Roma. Después de completar su licenciatura en Ciencias de la Computación e Ingeniería de la East West University en 2012, se unió como profesor en la Central Women’s University, Bangladesh. En octubre de 2013, se matriculó en la Universidad Sapienza de Roma, Italia, para realizar su doctorado. Licenciatura y Ph.D. Licenciado en Robótica en julio de 2017. Su investigación se centra principalmente en Sistema de Robótica Heterogénea, Planificación / Asignación de Tareas para Sistema Multi-Robótica, IoT-Robótica, Sensores y Sistemas, Sistemas Embebidos, Internet de las Cosas, Visión por Computador, etc. Publicó varias investigaciones artículos en conferencias / revistas revisadas por pares de su trabajo de investigación. En 2018, pronunció un discurso en Maker Faire Shenzhen 2018 como orador del foro. Es miembro de la IEEE Robotics and Automation Society y tiene la membresía profesional de IEEE. También tiene algunos otros miembros nacionales e internacionales.

Sé el primero en comentar

Dejá un Comentario

Tu dirección de correo no será publicada.


*