Fitodex — APK para Android

Diagnóstico de enfermedades y deficiencias en hojas de lechuga a partir de una fotografía, dentro del teléfono: el clasificador, el corpus agronómico y el modelo de lenguaje viajan en el APK, así que funciona sin señal.

Cuando hay internet, en cambio, la app prefiere un servicio en la nube y le manda la fotografía y la pregunta, porque allí responde en segundos en lugar de minutos. Si no hay conexión, si el servicio no contesta o si negás el permiso de internet, responde en el teléfono y la fotografía no sale del dispositivo. El permiso es opcional y negarlo deja la app enteramente local.

Proyecto Final de Ingeniería Informática, ITBA (72.45). Valentina Marti Reta · Matías Sapino · Julieta Techenski.

El archivo

Archivo fitodex-1.0.7.apk
Tamaño 3,934,242,360 B
sha256 2c2fa2c89fca8a330e821170d81e006c90e68c5391ba45e46ce8f1090ac0b77d
Android mínimo 7.0 (API 24)
ABI arm64-v8a y x86_64

Cómo instalarlo desde el teléfono

  1. Hacé lugar: Android necesita bastante más que el tamaño del archivo para instalarlo, y la primera consulta además copia los modelos fuera del APK.

  2. Si tenés la versión 1.0.4, 1.0.5 o 1.0.6, instalá esta actualización encima: conserva la misma firma y el historial de consultas. Las versiones 1.0.0 y 1.0.1 usaban otra clave y requieren desinstalar primero; eso sí borra el historial.

  3. Descargá fitodex-1.0.7.apk desde esta página. Si el navegador avisa que el archivo puede ser dañino, es lo que dice de cualquier APK: confirmá la descarga.

  4. Abrí la descarga desde el navegador, no desde un gestor de archivos: en Chrome, el menú Descargas y después el archivo. Android te va a pedir permitir la instalación desde esa fuente, que es el aviso normal para cualquier APK que no venga de la Play Store, y después Instalar.

    Este paso importa: buscando el mismo archivo con un gestor de archivos, el instalador falla con «No se ha podido analizar el paquete». Medido en un Galaxy S9+ con Android 10, con el sha256 correcto; abriéndolo desde Chrome, instala.

  5. Abrí la app y tocá Permitir la cámara. A la izquierda del disparador está el botón de imágenes: tocándolo se abren las seis fotos de ejemplo para elegir una. También podés sacar una foto nueva con el disparador. Dos ejemplos se resuelven de punta a punta y cuatro muestran al sistema absteniéndose, que es lo que hace cuando no está seguro.

Las cuatro consultas que se abstienen contestan en segundos. Las dos que redactan una recomendación tardaron entre 9 y 17 minutos en un Galaxy S9+ de 2018: el modelo de lenguaje corre en el aparato, y el 98-99% de ese tiempo es él escribiendo.

Qué modelo lleva adentro

El APK empaqueta gemma-3-4b-it y gemma-3-1b-it. La app intenta el grande y, si el teléfono no puede con él, cae al chico y lo dice en la propia pantalla de resultado: «Este teléfono usó el modelo chico, cuya calidad no está medida». En el S9+ de 2018 con 5,45 GiB de RAM entra el grande.

La comparación de calidad entre los dos modelos no se hizo, así que eso es lo que el proyecto puede afirmar y nada más.

Por cable, si preferís:

sha256sum fitodex-1.0.7.apk        # tiene que dar el hash de arriba
adb uninstall ar.edu.itba.asesordebolsillo   # si había una versión anterior
adb install fitodex-1.0.7.apk

Antes de usarlo

  • No reemplaza a un agrónomo. Que una hoja se vea sana no descarta una enfermedad.
  • Sólo diagnostica lechuga. Reconoce la espinaca de Malabar y avisa que no la contesta.
  • Fuera de su conjunto de entrenamiento el clasificador se degrada mucho; la pantalla Alcance de la app lleva las cifras medidas y dice cuáles no se midieron.
  • El servicio en la nube está apagado casi siempre, porque se paga por hora encendido y esto es un trabajo académico: se levanta para las demostraciones. Con el servicio apagado la app no falla, responde en el teléfono y lo dice en pantalla; es el comportamiento normal y no un error.
  • Es un entregable académico, no un producto mantenido: no hay canal de actualizaciones ni compromiso de mantenimiento, y una versión nueva aparece sólo si un defecto deja el archivo inservible.

Licencias

Este archivo no está bajo una sola licencia, y por eso la ficha dice other:

  • El código del proyecto es MIT.
  • El modelo de lenguaje son los pesos de gemma-3-4b-it y gemma-3-1b-it de Google, que viajan adentro y se rigen por los Gemma Terms of Use, no por MIT.
  • Una de las seis fotos de ejemplo, la de tizón tardío en tomate, es del dataset PlantVillage de Sharada P. Mohanty, David P. Hughes y Marcel Salathé (Using deep learning for image-based plant disease detection, Frontiers in Plant Science 7:1419, 2016), archivo raw/color/Tomato___Late_blight/0003faa8-4b27-4c65-bf42-6d9e352ca1a5___RS_Late.B 4946.JPG de https://github.com/spMohanty/PlantVillage-Dataset. Se distribuye sin modificar bajo Creative Commons Atribución-CompartirIgual 3.0 (https://creativecommons.org/licenses/by-sa/3.0/).
  • Las otras cinco fotos son de los conjuntos con los que se entrenó el modelo, usadas con autorización de sus responsables para este trabajo académico.

Cómo se construyó

Las instrucciones de instalación, uso y compilación están en el repositorio del proyecto, junto al código que produjo este archivo.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support