# goyolopenvino **Repository Path**: techwolf/goyolopenvino ## Basic Information - **Project Name**: goyolopenvino - **Description**: golang yolo openvino 文本识别服务项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-16 - **Last Updated**: 2025-10-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # YOLOv8 OpenVINO Go Service A production-ready Go HTTP service that wraps YOLOv8 object detection using Intel OpenVINO inference engine, with text detection capabilities. ## Quick Links - **📖 [Start Here](docs/START_HERE.md)** - New to the project? Start here - **🚀 [Quick Start](docs/QUICK_START.md)** - Get up and running in 5 minutes - **📚 [Full Documentation](docs/README.md)** - Complete documentation index ## Project Structure ``` goyolopenvino/ ├── docs/ # All documentation │ ├── README.md # Documentation index │ ├── START_HERE.md # Entry point │ ├── QUICK_START.md # Quick start guide │ ├── guides/ # Implementation guides │ ├── features/ # Feature documentation │ ├── reference/ # Reference materials │ └── git/ # Git workflow docs │ ├── scripts/ # Build and utility scripts │ ├── build/ # Build scripts │ │ ├── build-all.sh # Build all components │ │ ├── build-cpp.sh # Build C++ only │ │ ├── build-go.sh # Build Go only │ │ └── clean.sh # Clean artifacts │ └── examples/ # Example clients │ ├── YOLOv8-OpenVINO-CPP-Inference/ # C++ inference engine │ ├── src/ # Source files │ ├── CMakeLists.txt │ ├── Makefile │ └── build.sh │ ├── goyolo/ # Go HTTP service │ ├── main.go │ ├── go.mod │ ├── Makefile │ ├── build.sh │ └── internal/ │ ├── Dockerfile # Docker configuration ├── docker-compose.yml ├── .env.example ├── .gitignore └── Makefile # Root Makefile ``` ## Features ✓ **YOLOv8 Object Detection** - Fast and accurate object detection ✓ **OpenVINO Optimization** - Intel's inference optimization ✓ **RESTful API** - 4 endpoints for inference and model info ✓ **Text Detection** - Detect and extract text regions ✓ **Batch Processing** - Process multiple images ✓ **Docker Ready** - Containerized deployment ✓ **Production Ready** - Error handling, logging, metrics ## Quick Start ### 1. Build ```bash # Build all components bash scripts/build/build-all.sh # Or build individually bash scripts/build/build-cpp.sh bash scripts/build/build-go.sh ``` ### 2. Configure ```bash export MODEL_PATH=/path/to/yolov8n.xml export CPP_BINARY_PATH=./YOLOv8-OpenVINO-CPP-Inference/bin/detect_service ``` ### 3. Run ```bash cd goyolo ./bin/goyolo-service ``` ### 4. Test ```bash curl http://localhost:8080/health ``` ## API Endpoints - `GET /health` - Health check - `POST /api/v1/infer` - Single image inference - `POST /api/v1/infer/batch` - Batch inference - `GET /api/v1/model/info` - Model information - `POST /api/v1/detect/text` - Text detection (NEW) ## Documentation ### For Different Roles **Getting Started**: - [START_HERE.md](docs/START_HERE.md) - Project overview - [QUICK_START.md](docs/QUICK_START.md) - Quick start guide **Developers**: - [BUILD_GUIDE.md](docs/guides/BUILD_GUIDE.md) - Build instructions - [API.md](docs/guides/API.md) - API reference - [DEPLOYMENT.md](docs/guides/DEPLOYMENT.md) - Deployment guide **Text Detection Feature**: - [TEXT_DETECTION_README.md](docs/features/text-detection/TEXT_DETECTION_README.md) - Feature overview - [TEXT_DETECTION_API.md](docs/features/text-detection/TEXT_DETECTION_API.md) - API reference - [TEXT_DETECTION_IMPLEMENTATION.md](docs/features/text-detection/TEXT_DETECTION_IMPLEMENTATION.md) - Implementation guide - [TEXT_DETECTION_EXAMPLES.md](docs/features/text-detection/TEXT_DETECTION_EXAMPLES.md) - Usage examples **Reference**: - [FILE_INDEX.md](docs/reference/FILE_INDEX.md) - File descriptions - [PROJECT_TREE.txt](docs/reference/PROJECT_TREE.txt) - Project structure - [CHECKLIST.md](docs/reference/CHECKLIST.md) - Implementation checklist ## Build Scripts Located in `scripts/build/`: ```bash # Build all components bash scripts/build/build-all.sh # Build C++ only bash scripts/build/build-cpp.sh # Build Go only bash scripts/build/build-go.sh # Clean all artifacts bash scripts/build/clean.sh ``` ## Example Clients Located in `scripts/examples/`: ```bash # Python client python3 scripts/examples/client.py # Shell script client bash scripts/examples/client.sh ``` ## Technology Stack - **C++17** - Inference engine - **OpenVINO Runtime** - Intel's inference optimization - **OpenCV** - Image processing - **CMake 3.12+** - C++ build system - **Go 1.21+** - HTTP service - **Gin Web Framework** - REST API - **Docker** - Containerization ## Performance | Metric | Value | |--------|-------| | Inference Time | 30-50ms | | Throughput | 20-30 images/sec | | Memory Usage | 200-300MB | | Model Size | 50-100MB | ## Docker ```bash # Build image docker build -t yolov8-openvino-go . # Run container docker-compose up ``` ## Environment Variables ```bash # Model paths MODEL_PATH=/path/to/yolov8n.xml CPP_BINARY_PATH=./YOLOv8-OpenVINO-CPP-Inference/bin/detect_service # Service configuration PORT=8080 LOG_LEVEL=info # Text detection TEXT_DETECTION_MODEL_PATH=/models/text-detection-0004.xml TEXT_DETECTION_OUTPUT_DIR=/tmp/text_regions ``` See `.env.example` for all available options. ## Git Workflow This project uses conventional commits: ``` : ``` Types: `feat`, `fix`, `docs`, `chore`, `refactor`, `test` See [GIT_WORKFLOW_COMPLETE.md](docs/git/GIT_WORKFLOW_COMPLETE.md) for details. ## Support - 📖 [Documentation](docs/README.md) - 🐛 [Issues](../../issues) - 💬 [Discussions](../../discussions) ## License [Add your license here] ## Contributing [Add contribution guidelines here] --- **Last Updated**: 2025-10-16 **Status**: Production Ready