Root System Analysis |
Opentrons OT-2 Robot |
Simulation Environment |
Automated system combining root image analysis and robotic precision for targeted plant inoculation.
An advanced automated system that combines state-of-the-art computer vision and robotic control for precise plant root analysis and targeted inoculation.
- 🔬 Deep learning-based root segmentation
- 🎯 Instance segmentation for individual plant identification
- 🌿 Root System Architecture (RSA) extraction
- 🤖 Automated robotic control for precise inoculation
- 🔗 Integration with Opentrons OT-2 liquid handling robot
The system seamlessly processes images from NPEC's Hades system, capable of handling:
- 📊 Up to 10,000 seedlings
- 🔬 Over 2,000 Petri dishes
- 🔄 Automated processing pipeline
- 🎯 Precise inoculation targeting
graph LR
A[Image Input] --> B[Preprocessing]
B --> C[Segmentation]
C --> D[Root Analysis]
D --> E[Measurements]
- 📸 Image preprocessing and Petri dish detection
- 🎯 Plant instance segmentation
- 🧠 Deep learning model for root segmentation
- 🌿 Root System Architecture extraction
- 📏 Primary root length measurement
graph LR
A[Vision Output] --> B[Path Planning]
B --> C[Control System]
C --> D[Robot Execution]
- 💻 Opentrons OT-2 simulation environment
- 🎮 Gymnasium-compatible environment wrapper
- 🧠 Reinforcement Learning (RL) controller
- ⚙️ PID controller implementation
- 🔗 Vision-robotics integration
Requirement | Version |
---|---|
Python | 3.8+ |
PyTorch | Latest |
OpenCV | Latest |
PyBullet | Latest |
Gymnasium | Latest |
Stable-Baselines3 | Latest |
-
Clone the repository:
git clone https://github.com/yourusername/plant-inoculation-ai.git cd plant-inoculation-ai
-
Install dependencies:
pip install -r requirements.txt
-
Run the setup script:
python setup.py install
# Process a batch of images
from plant_inoculation import vision
# Initialize processor
processor = vision.ImageProcessor()
# Process images
results = processor.process_batch(
input_dir="path/to/images",
output_dir="path/to/output"
)
# Run the robotic controller
from plant_inoculation import robotics
# Initialize controller
controller = robotics.Controller(type="RL")
# Execute movement
controller.move_to_target([x, y, z])
📦 plant-inoculation-ai
┣ 📂 computer_vision/
┃ ┣ 📂 preprocessing/
┃ ┣ 📂 segmentation/
┃ ┣ 📂 root_analysis/
┃ ┗ 📂 models/
┣ 📂 robotics/
┃ ┣ 📂 simulation/
┃ ┣ 📂 controllers/
┃ ┗ 📂 integration/
┣ 📂 data/
┃ ┣ 📂 raw/
┃ ┣ 📂 processed/
┃ ┗ 📂 models/
┗ 📂 utils/
We welcome contributions! Please see our Contributing Guidelines for details.
This project is licensed under the MIT License - see the LICENSE file for details.
- 🏢 Netherlands Plant Eco-phenotyping Centre (NPEC)
- 👥 Project supervisors and mentors
- 🌟 Contributors and researchers
For questions and support:
- 📧 Email: [email protected]
- 💬 Discord: Join our community
- 🌐 Website: project-website.com