A lightweight object detection and tracking package
Project description
NanoTrack
NanoTrack is a lightweight and efficient object detection and tracking library designed for seamless integration with YOLOv5 and YOLOv8 models. It delivers real-time tracking with minimal resource usage, making it ideal for edge devices and systems with limited performance.
Features
- 🚀 Lightweight: Optimized for minimal computational overhead.
- 🎯 Seamless Integration: Fully compatible with YOLOv5 and YOLOv8.
- ⚡ Real-Time Performance: Fast and accurate tracking for video streams.
- 🛠️ Simple API: Easy-to-use interfaces for rapid development.
- 📹 Video & Stream Support: Works with video files and live camera streams.
Installation
Install via PyPI
To install NanoTrack from PyPI, run:
pip install nanotrack
Install from GitHub
For the latest version directly from the source:
pip install git+https://github.com/ragultv/nanotrack.git
Usage
1. Import and Initialize
from nanotrack import YOLOv8Detector, NanoTrack
import cv2
# Initialize the YOLOv8 Detector
detector = YOLOv8Detector(model_path="yolov8n.pt") # Replace with your model path
# Initialize the NanoTrack Tracker
tracker = NanoTrack()
2. Process Video for Detection and Tracking
# Load video file or webcam input
cap = cv2.VideoCapture("path_to_video.mp4") # Replace with your video file path
while True:
ret, frame = cap.read()
if not ret:
break
# Perform object detection
detections = detector.detect(frame)
# Update tracker with detections
tracks = tracker.update(detections)
# Draw bounding boxes and track IDs
for track in tracks:
x1, y1, x2, y2, _, _, track_id = track[:7]
cv2.rectangle(frame, (int(x1), int(y1)), (int(x2), int(y2)), (0, 255, 0), 2)
cv2.putText(frame, f"ID: {track_id}", (int(x1), int(y1) - 10),
cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 255), 1)
# Display the results
cv2.imshow("NanoTrack", frame)
# Press 'q' to exit
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
Supported Models
NanoTrack seamlessly works with:
- YOLOv5: Optimized and reliable object detection.
- YOLOv8: Cutting-edge detection accuracy and performance.
Example Output
Here is an example of NanoTrack in action:
Contributing
We welcome contributions to NanoTrack!
To contribute:
- Fork the repository.
- Create a branch:
git checkout -b feature-branch
- Make your changes and test thoroughly.
- Submit a Pull Request with a clear description.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Support
For issues, feature requests, or questions, feel free to:
- Open an issue on our GitHub repository.
- Reach out with feedback or suggestions.
Let’s Track Smarter, Faster, and Lighter with NanoTrack! 🚀
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nanotrack-0.2.1.tar.gz.
File metadata
- Download URL: nanotrack-0.2.1.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b413860d994304dd3e414d95d8cd9fd4108b57e59863a8a33ac65839968082f9
|
|
| MD5 |
66330bf6a3e1c8f0678c15b8f5ab244c
|
|
| BLAKE2b-256 |
adfd70337c5ec0f0ab1788c4ffdc75c929f97bd359727b46e1869ee049f381ef
|
File details
Details for the file nanotrack-0.2.1-py3-none-any.whl.
File metadata
- Download URL: nanotrack-0.2.1-py3-none-any.whl
- Upload date:
- Size: 10.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db987e9c1723bab78d094941df2c2a68c76f708ec03bc544940b31af29ba9abd
|
|
| MD5 |
c413de92b57d3c2cfa055d822c6d5a7f
|
|
| BLAKE2b-256 |
3e80e77ba6a03c7349d041ca830d70cfa3096d5a8c0966254b330e80e89f2344
|