/ Proyectos / Agritech / Clasificación de variedades de arroz con CNN
Clasificación de variedades de arroz con CNN: cómo comparar tus resultados con la literatura y estructurar tu artículo de conferencia
El flujo de 4 pasos que usan tesistas para convertir un notebook de clasificación de imágenes en una contribución real: buscar el artículo de referencia, entender sus métricas, ejecutar y comparar, y mapear el resultado a un artículo de conferencia.
Este proyecto nace de una pregunta muy concreta que se hacen quienes están por primera vez frente a su tema de tesis: "ya entrené un modelo y funciona, ¿y ahora qué?". Un modelo que clasifica bien no es, por sí solo, una contribución. Lo que lo convierte en algo defendible frente a un comité es saber compararlo contra lo que ya existe, y a partir de ahí, mejorar algo puntual.
El ejercicio técnico es clasificar 5 variedades de arroz (Arborio, Basmati, Ipsala, Jasmine, Karacadag) a partir de imágenes, comparando una CNN simple contra Xception con transfer learning. Pero el objetivo real de este artículo es mostrar el flujo completo: buscar el artículo relacionado, entender sus métricas, ejecutar tu propio experimento y compararlo, y mapear el resultado a la estructura de un artículo de conferencia.
Para quién es esto
Este flujo es el mismo que piden muchos profesores universitarios al inicio del ciclo de tesis: no importa tanto en qué mejores, pero sí que te compares contra un artículo reciente y mejores en algún punto específico. Esa comparación y esa mejora, bien documentadas, son la contribución.
Mapa del casoContenido
- Diagrama de la solución. El flujo de 4 pasos completo, aplicable a cualquier producto o dataset
- Construcción de la solución. Cómo se aplicó cada paso al caso del arroz
- Condiciones del proyecto. Restricciones reales y opciones descartadas
- Pasos. Los 4 pasos del flujo, aplicados en detalle
- Proceso de iteración. El hallazgo contraintuitivo: Xception rindió peor que una CNN simple
- Descargables. Notebook, diagrama y repositorio del proyecto
- Lecciones importantes. La estructura completa de un artículo de conferencia, explicada sección por sección
Estructura de alto nivelDiagrama de la solución
Pasa el cursor sobre cada bloque para ver el detalle. Este flujo es genérico: aplica a clasificación de arroz, limones, palta, frutos rojos o cualquier otro producto.
Este flujo no es exclusivo de arroz. El mismo proceso, buscar referencia → entender métricas → ejecutar y comparar → mapear a la estructura de un artículo, aplica igual para clasificar o segmentar limones, palta, frutos rojos, o prácticamente cualquier producto agrícola con un dataset de imágenes disponible.
Cómo se construyóConstrucción de la solución
Condiciones del proyecto
| Restricción | Dato |
|---|---|
| Objetivo | Ejercicio aplicado de clasificación de imágenes, con foco en el proceso de comparación contra literatura, no solo en el modelo |
| Dataset | Rice Image Dataset (Kaggle, público, CC0), 75,000 imágenes, 15,000 por cada una de 5 variedades |
| Referencia disponible | El dataset tiene un paper de origen público, lo que da el mejor punto de comparación posible |
| Cómputo | Entrenamiento en pocas épocas (5 para la CNN simple, 8 para Xception), pensado para correr en un entorno de clase con recursos limitados |
| Opción | Por qué se descartó |
|---|---|
| Comparar contra "un artículo cualquiera" sobre clasificación de imágenes | Pierde el valor de una comparación justa: mismas clases, mismo tipo de dato |
| Reportar solo el resultado del mejor modelo propio | No responde la pregunta que un comité de tesis va a hacer: "¿y contra qué te comparaste?" |
| Asumir que un modelo más complejo (Xception) sería automáticamente mejor | El resultado real mostró lo contrario, y esa comparación es justo lo que aporta valor |
| Usar el paper de origen del dataset como referencia, ejecutar dos arquitecturas propias, y comparar ambas contra esa referencia | Da un punto de comparación verificable y dos resultados propios que permiten discutir por qué uno funcionó mejor que el otro |
Pasos
Buscar el artículo relacionado
Antes de buscar en Google Scholar o Semantic Scholar cualquier paper sobre el tema general, revisa primero la página del dataset. Si viene de Kaggle, muchas veces el autor cita el paper que originó los datos, en la sección de descripción o de "citation". En este caso, el Rice Image Dataset cita directamente Koklu, Cinar & Taspinar (2021), "Classification of rice varieties with deep learning methods", publicado en Computers and Electronics in Agriculture. Es la mejor referencia posible: usa exactamente estos mismos datos, no una aproximación.
Entender sus métricas
El paper de referencia reporta que su modelo CNN alcanzó 100% de accuracy clasificando estas 5 variedades. Es importante leer también bajo qué condiciones se logró ese número: qué arquitectura exacta, qué split de datos, cuántas épocas. Sin ese contexto, comparar tu propio resultado directamente contra un "100%" sin más información puede llevar a conclusiones apresuradas.
Ejecutar tu propio experimento y comparar
Se entrenaron dos modelos propios sobre el mismo dataset: una CNN simple de 2 capas convolucionales (5 épocas) y Xception con transfer learning (8 épocas). La CNN simple llegó a 98.88% de accuracy de validación, muy cerca de la referencia. Xception, a pesar de partir de pesos preentrenados en ImageNet, llegó solo a 95.99%, por debajo de la CNN simple.
Mapear el resultado a un artículo de conferencia
Con la comparación hecha, el siguiente paso es organizar el hallazgo en la estructura estándar de un artículo: título, abstract, introducción, fundamentos teóricos, metodología, resultados, y conclusiones con trabajo futuro. El detalle completo de qué lleva cada sección está en "Lecciones importantes", al final de este artículo.
Proceso de iteración
El hallazgo, sin forzar una lectura favorable
La expectativa razonable era que Xception, con transfer learning desde ImageNet, superara a una CNN simple entrenada desde cero. Ocurrió lo contrario: la CNN simple (98.88% de validación) superó a Xception (95.99%) y quedó mucho más cerca del 100% reportado en el artículo de referencia. La explicación más plausible es que ImageNet enseña a reconocer objetos naturales complejos (animales, vehículos, escenas), mientras que distinguir variedades de arroz depende de detalles de textura, forma y color muy distintos a esos patrones. Los pesos preentrenados, en este caso, pueden no ser el punto de partida más útil. Esto no es una conclusión definitiva, es exactamente el tipo de pregunta abierta y bien argumentada que un profesor de tesis suele aceptar como contribución válida: no "mejoré todo", sino "encontré y expliqué por qué pasó esto, y aquí está mi propuesta para probarlo mejor" (por ejemplo, más épocas de fine-tuning, descongelar capas del backbone, o comparar contra un backbone más liviano).
CierreLecciones importantes
Esto es lo que suele llevar cada sección de un artículo de conferencia de machine learning, aplicable a este proyecto o a cualquier otro con la misma estructura de comparación:
| Sección | Qué responde |
|---|---|
| Título | El qué y el cómo en una sola línea. Ej: "Clasificación de variedades de arroz mediante CNN: una comparación con transfer learning" |
| Abstract | 150-250 palabras: problema, método, resultado clave y su significado, en ese orden |
| Introducción | Por qué importa el problema, qué se ha hecho antes (resumen breve), y cuál es tu contribución específica en 1-2 oraciones |
| Fundamentos teóricos | Los conceptos que el lector necesita para entender tu método (ej. qué es una CNN, qué es transfer learning), sin extenderse más de lo necesario |
| Metodología | Dataset, preprocesamiento, arquitectura(s), hiperparámetros, y cómo mediste el desempeño, con suficiente detalle para que alguien más lo reproduzca |
| Resultados | Tus métricas, comparadas explícitamente contra las del artículo de referencia, con tablas o gráficas, sin interpretación todavía |
| Conclusiones y trabajo futuro | Qué aprendiste, qué explica tu resultado (incluso si no fue el esperado), y qué harías después con más tiempo o recursos |
Un detalle que muchos pasan por alto: cuando el objetivo final es un producto agrícola destinado a consumo o exportación, no basta con reportar accuracy general. Vale la pena revisar si existen lineamientos de autoridades regulatorias de alimentos (como SENASA en Perú, para certificación fitosanitaria y de exportación) sobre qué tipo de defectos o categorías deben detectarse con más rigor, y alinear tus métricas de evaluación, por ejemplo, priorizando recall por clase en categorías críticas, a esos criterios. Esto aplica igual para arroz, limones, palta, o frutos rojos.
Termina ya tu proyecto
¿Tienes un proyecto similar y no sabes por dónde empezar? Yo te ayudo a diseñarlo.
El 92% de los profesionales de datos desbloquea sus proyectos al ver ejemplos completos resueltos.
Sin registro. Acceso inmediato