Plant Root Analyzer System

Complete computer vision system with U-Net for automated root growth monitoring

📅 Block B: November 2024 - January 2025 | Block D: May 2025 - June 2025 (2 blocks)
🏢 NPEC (Netherlands Plant Eco-phenotyping Centre)
🔧 U-Net, Azure Cloud, FastAPI
👥 First Part Solo - Second Part Team of 5 students (2x 8 weeks)

Project Overview

Complete computer vision system developed for the NPEC research facility to automatically monitor plant root growth. The system uses a U-Net deep learning model for root segmentation, individual root tracking over time, and integration with a robot for automated feeding. The full production-ready system includes a CLI tool, FastAPI backend, React dashboard, and Azure cloud deployment with 24/7 availability. The project was executed in two phases: Block B (CV model development and robotics) and Block D (full-stack system development in a team of five).

Challenges

The system needed to detect roots with millimeter precision for robotics applications. Separating and tracking individual roots when they overlap or are complexly intertwined was a major challenge. Additionally, the complete system engineering, including API, monitoring, CI/CD, and cloud deployment, required the same attention as model accuracy. Close collaboration with NPEC biologists to understand the significance of accurate biological measurements was essential.

Results

The U-Net model achieved an 11% SMAPE score for root length predictions, which is exceptionally accurate for biological measurements. The system processes five plants per image with individual tracking. Three deployment options are available: Azure cloud (24/7 multi-location access), on-premise GPU for fast batch processing, and local development.

11%
SMAPE Score (accuracy)
5
Plants per image
24/7
Cloud Availability
100%
Automated Pipeline

Complete Solution

🚀 From Computer Vision to Production

This project demonstrates the complete workflow of an ML system: from data labeling and model training to cloud deployment and monitoring. Not a "proof of concept" but a working system that NPEC researchers could use.

System Features

🔬 Accurate Detection

U-Net architecture for root detection with 11% SMAPE score

📊 Per-Root Tracking

Track up to 5 plants simultaneously with measurements and growth rate per individual root

🤖 Robot Integration

Exact root-tip coordinates for automated feeding system

📈 Growth Analysis

Visualizations of root growth over time with trend analysis per plant

☁️ Cloud Deployment

Azure Container Apps with auto-scaling and 24/7 availability

🔄 Auto-Training

Automatic model updates with new data via feedback loop

Technical Implementation

Technology Stack

🧠 U-Net Model
🔥 TensorFlow
⚡ FastAPI
⚛️ React
🐳 Docker
☁️ Azure Cloud
🔄 GitHub Actions
📦 Poetry

System Architecture

The system consists of multiple components that together form a complete solution:

Deep Learning Pipeline

🎯 Why U-Net?

U-Net was specifically developed for biomedical image segmentation and performs well with limited training data. The skip connections ensure the model retains both fine details (precise edges) and global context (correct classification). This makes U-Net perfectly suited for root detection, where both accurate edges and overall root structure are crucial.

Deployment & Infrastructure

☁️ Cloud API

Azure Container Apps
Auto-scaling enabled
99.9% uptime SLA

🖥️ Web Interface

React Dashboard
Real-time updates
Interactive charts

🏢 On-Premise

Docker Deployment
GPU support
Local processing

🔄 CI/CD

GitHub Actions
Automated testing
Zero-downtime deploys

Software Engineering

Deployment Options

The system supports three deployment scenarios:

Results & Impact

11%
SMAPE Score
5
Plants per image
24/7
Availability
100%
Automation

NPEC Feedback & Usage

"NPEC was very satisfied with the system's implementation. They were particularly enthusiastic about the ability to monitor and visualize individual root growth over time. The combination of accurate segmentation and per-root tracking provides valuable insights for their research context. The system demonstrates well how computer vision can be applied within plant phenotyping."

Specific impact:

System Output per Upload

For each uploaded plant image, the system generates:

Project Evolution: From CV to Complete System

📅 Block B (January - March 2024): Computer Vision Foundation

  • Development and training of U-Net segmentation model
  • Setting up data annotation pipeline
  • Integration with robotic feeding system for tip coordinates
  • Root-tip detection algorithm with connected components
  • Model evaluation and hyperparameter tuning

📅 Block D (April - June 2024): Complete System

  • React dashboard with interactive visualizations
  • FastAPI backend with RESTful endpoints
  • Cloud deployment on Azure Container Apps
  • Automatic training pipeline with feedback loop
  • CI/CD setup with GitHub Actions for testing and deployment
  • Production monitoring and error tracking

Team Collaboration

👥 From Solo to Team Project

What started as an individual computer vision project in Block B grew into a full team effort in Block D. With 5 team members, we specialized. My primary focus was on the deep learning pipeline, training automation, and system architecture.

Technical Challenges & Lessons

  • Data quality is crucial: Time and care during annotations pays off in better model performance. Inconsistent labels reduce model accuracy.
  • U-Net skip connections are powerful: The combination of detailed edges and context makes U-Net extremely suitable for biological structures with variable shapes.
  • Production encompasses more than the model: Engineering around the model, such as APIs, monitoring, and CI/CD, is just as important for practical use as the model itself.
  • Cloud costs require planning: Azure Container Apps with good scaling policies keep costs manageable, while always-on instances can quickly become expensive.
  • Domain expertise is essential: Collaboration with NPEC biologists was crucial to understand what "accurate" root measurements mean in a research context.
  • Feedback loops improve models: The system allows researchers to submit corrections, enabling continuous model improvement.

What Would I Do Differently?

Check Out My Other Projects