SeedTest
πΎ Seed inspection platform with AI-powered detection, automated image acquisition, and integrated measurement systems for agricultural research
Install / Use
/learn @xianjunhong/SeedTestREADME
πΎ SeedTest - Seed Inspection Platform
A professional seed inspection platform with automated image acquisition, AI-powered seed detection, and integrated measurement systems.
β¨ Features
πΈ Image Acquisition Module
- Hikvision industrial camera support
- Real-time preview and snapshot capture
- Automatic image saving and management
- Camera parameter configuration
π Seed Inspection Module
- YOLOv8-based seed detection
- Multiple crop support (soybean, wheat)
- Oriented bounding box detection
- Automatic counting and measurement
- Serial balance integration for weight measurement
- Excel report generation
βοΈ Settings Module
- Camera configuration (exposure, gain, ROI)
- Balance communication settings
- Model selection and management
- User-friendly interface
π₯οΈ System Requirements
- OS: Windows 10/11 (64-bit)
- Memory: 4GB RAM minimum (8GB recommended)
- Storage: 2GB free disk space
- Camera: Hikvision industrial camera (optional)
- Balance: Serial port balance with PL23XX driver (optional)
π¦ Installation
Option 1: Download Installer (Recommended)
- Download the latest
SeedTest_vX.X_Setup.exefrom Releases - Right-click the installer β "Run as administrator"
- Follow the installation wizard
- The installer will automatically install:
- SeedTest application
- Hikvision MVS SDK driver
- PL23XX serial port driver
- Restart your computer after installation
Note: Driver installation may take 3-5 minutes. The installer may appear frozen during this time - this is normal, please be patient.
Option 2: Run from Source
# 1. Clone the repository
git clone https://github.com/xianjunhong/SeedTest.git
cd SeedTest
# 2. Install Git LFS (required for model files)
# Windows: Download from https://git-lfs.com/
# After installation, run:
git lfs install
# 3. Download model files (IMPORTANT!)
git lfs pull
# 4. Verify models are downloaded correctly
# Check file sizes (should be ~100-130 MB each)
ls -lh models/*.pt
# Expected: soybean_obb.pt (~101 MB), wheat_det.pt (~130 MB)
# 5. Create conda environment
conda env create -f environment.yaml
conda activate SeedTest
# 6. Run the application
python start.py
Important Notes:
- Model files are managed by Git LFS. You must run
git lfs pullafter cloning to download the actual model files. - If model files appear very small (< 1 MB), they haven't been downloaded yet. Run
git lfs pull. - You'll need to install Hikvision MVS SDK and PL23XX driver manually if running from source.
Driver Installation (Required for Source Installation)
If you're running from source, you need to install the following drivers manually:
-
Hikvision MVS SDK (for camera support)
- Download: https://www.hikrobotics.com/cn/machinevision/service/download/
- Install the MVS SDK package for your camera type (USB or GigE)
-
PL23XX Serial Driver (for balance support)
- Driver file:
PL23XX-M_LogoDriver_Setup_408_20220725.exe(included in source code) - Run the installer and follow the installation wizard
- Restart your computer after installation
- Driver file:
π₯ Downloading Model Files
This project uses Git LFS to manage large model files. After cloning the repository, you need to download the models separately.
Automatic Download (Recommended)
If you have Git LFS installed, models will download automatically during clone:
git clone https://github.com/xianjunhong/SeedTest.git
cd SeedTest
git lfs pull # If models didn't download automatically
Manual Download
If automatic download fails or you don't have Git LFS:
# 1. Install Git LFS (if not installed)
# Windows: https://git-lfs.com/
# After installation:
git lfs install
# 2. Clone the repository
git clone https://github.com/xianjunhong/SeedTest.git
cd SeedTest
# 3. Download LFS files
git lfs pull
Verify Models
Check if models are downloaded correctly:
# Check LFS file status
git lfs ls-files
# Check file sizes (should be ~100-130 MB each)
ls -lh models/*.pt
Expected model files:
models/soybean_obb.pt(~101 MB)models/wheat_det.pt(~130 MB)
Troubleshooting
Problem: Models are very small (< 1 MB)
Solution: Run git lfs pull to download actual files
Problem: git lfs: command not found
Solution: Install Git LFS from https://git-lfs.com/
Problem: LFS download fails
Solution:
- Check your network connection
- Verify GitHub LFS quota (free tier: 1GB storage, 1GB/month bandwidth)
- Try again:
git lfs pull
π Quick Start
-
Launch SeedTest from the Start Menu or desktop shortcut
-
Configure Camera (Settings Module):
- Select your Hikvision camera
- Adjust exposure and gain
- Set ROI if needed
-
Acquire Images (Image Acquisition Module):
- Click "Preview" to start live view
- Click "Capture" to take snapshot
- Images are automatically saved
-
Inspect Seeds (Seed Inspection Module):
- Load captured images
- Select appropriate model (soybean/wheat)
- Click "Detect" to analyze
- View results and export to Excel
π Project Structure
SeedTest/
βββ start.py # Main entry point
βββ common/ # Common modules
β βββ camera_base.py # Camera interface
β βββ balance_manager.py # Balance communication
β βββ config_manager.py # Configuration handler
β βββ ...
βββ modules/ # Application modules
β βββ image_acquisition/ # Image acquisition module
β βββ seed_inspection/ # Seed inspection module
β βββ settings/ # Settings module
βββ models/ # YOLOv8 models (Git LFS)
β βββ soybean_obb.pt # Soybean detection model (~101 MB)
β βββ wheat_det.pt # Wheat detection model (~130 MB)
βββ icons/ # UI icons
βββ ιζ°ζε
.bat # Full rebuild script
βββ εΏ«ιζ΄ζ°δ»£η .bat # Quick update script
βββ make_installer.bat # Create installer
π§ Development
Building from Source
# Activate environment
conda activate SeedTest
# Full rebuild (clean + build + copy assets)
.\ιζ°ζε
.bat
# Quick update (code changes only)
.\εΏ«ιζ΄ζ°δ»£η .bat
# Create installer
.\make_installer.bat
The installer will be generated in installer_output/ directory.
Tech Stack
- GUI Framework: PyQt5
- AI Model: YOLOv8 (Ultralytics)
- Camera SDK: Hikvision MVS SDK
- Serial Communication: pyserial
- Packaging: PyInstaller + Inno Setup
π License
This software is for academic and research purposes only.
Author: JinLab
Copyright (c) 2025 JinLab. All rights reserved.
π€ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
π§ Contact
For technical support or questions, please open an issue on GitHub.
π Acknowledgments
- Ultralytics YOLOv8 - Object detection framework
- PyQt5 - GUI framework
- Hikvision - Industrial camera SDK
πΈ Screenshots
Add screenshots of your application here
Made with β€οΈ by JinLab
Related Skills
pestel-analysis
Analyze political, economic, social, technological, environmental, and legal forces
next
A beautifully designed, floating Pomodoro timer that respects your workspace.
product-manager-skills
38PM skill for Claude Code, Codex, Cursor, and Windsurf: diagnose SaaS metrics, critique PRDs, plan roadmaps, run discovery, and coach PM career transitions.
devplan-mcp-server
3MCP server for generating development plans, project roadmaps, and task breakdowns for Claude Code. Turn project ideas into paint-by-numbers implementation plans.
