https://github.com/konynour/yolo3
https://github.com/konynour/yolo3
camera esp32-arduino yolov3
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/konynour/yolo3
- Owner: konynour
- Created: 2024-12-10T03:35:32.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-07-31T23:20:44.000Z (2 months ago)
- Last Synced: 2025-08-01T01:33:31.878Z (2 months ago)
- Topics: camera, esp32-arduino, yolov3
- Language: Python
- Homepage:
- Size: 5.56 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐ฏ YOLOv8 Object Detection with ESP32-CAM Streaming
A real-time object detection system that integrates an **ESP32-CAM** and **YOLOv8** to identify objects from a live camera feed over WiFi. Detects people, animals, vehicles, and more using a pre-trained **COCO** model.
---
## ๐ธ Project Highlights
- ๐ง **YOLOv8 Detection**: Fast and accurate object detection using the latest YOLOv8 model.
- ๐ท **ESP32-CAM Integration**: Stream camera images over WiFi directly to your Python application.
- ๐๏ธ **Multiple Resolutions**: Choose between high, medium, and low quality streaming.
- ๐งฐ **Lightweight Setup**: Python script + low-cost ESP32-CAM module = portable detection system.---
## ๐ ๏ธ Requirements
### Python (PC-Side)
- Python 3.x
- Required packages:
```bash
pip install opencv-python numpy ultralytics
```### ESP32-CAM
- ESP32-CAM module
- Arduino IDE with ESP32 support
- Required Arduino libraries:
- `esp32cam`
- `WebServer`---
## โ๏ธ Setup Guide
### ๐ง ESP32-CAM
1. **Open Arduino IDE** and install libraries:
- Go to **Sketch > Include Library > Manage Libraries**
- Search for and install `esp32cam`, `WebServer`2. **Configure and Upload Code**:
- Add your WiFi credentials in the ESP32 code:
```cpp
const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASSWORD";
```
- Upload code to ESP32-CAM via FTDI programmer.3. **Get IP Address**:
- Open **Serial Monitor** after upload to view assigned IP address.
- Example: `http://192.168.1.100/cam-hi.jpg`---
### ๐ Python Script
1. **Set the ESP32-CAM URL** in your script:
```python
url = "http:///cam-hi.jpg"
```2. **Run the Python script**:
```bash
python script.py
```3. **View Results**:
- A window will display images with real-time object detection.
- Press `q` to exit.---
## ๐ Object Detection Details
- **Model**: YOLOv8 pre-trained on the [COCO dataset](https://cocodataset.org/#home)
- **Classes**: 80 object types including:
- People: ๐งโโ๏ธ๐งโโ๏ธ
- Animals: ๐ถ ๐ฑ ๐ฆ
- Vehicles: ๐ ๐ ๐๏ธ
- Daily Items: ๐ช ๐ฆ ๐ ๐---
## ๐งพ Code Overview
### Python Script
- `ultralytics.YOLO` loads the model
- `cv2.VideoCapture` or `requests.get()` fetches image from ESP32
- Object detection runs per frame
- Results shown using OpenCV### ESP32-CAM Arduino Code
- Sets up camera with multiple JPEG endpoints:
- `/cam-lo.jpg`, `/cam-hi.jpg`, etc.
- Starts web server for image access---
## ๐ Project Structure
```
YOLO-ESP32-Detection/
โโโ script.py # Python script for detection
โโโ esp32cam_code.ino # Arduino sketch
โโโ README.md # Project documentation
โโโ static/ # Optional saved images
โโโ requirements.txt # Python dependencies
```---
## ๐ License
This project is licensed under the **MIT License**.
Use freely for learning, experimentation, or improvement!---
## ๐ค Contributing
Contributions are welcome!
Feel free to:
- Submit pull requests
- Report bugs
- Suggest new features---
## ๐ท Preview

---
> Created with โค๏ธ using OpenCV, Ultralytics, and the awesome ESP32-CAM board.