nanotrack


Namenanotrack JSON
Version 0.2.1 PyPI version JSON
download
home_pagehttps://github.com/ragultv/NanoTrack
SummaryA lightweight object detection and tracking package
upload_time2024-12-14 12:27:44
maintainerRAGUL T
docs_urlNone
authorRAGUL T, KARTHICK RAJA E
requires_python>=3.7
licenseNone
keywords object detection tracking kalman-filter lightweight
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # **NanoTrack**

![Downloads](https://static.pepy.tech/badge/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:
```bash
pip install nanotrack
```

### **Install from GitHub**
For the latest version directly from the source:
```bash
pip install git+https://github.com/ragultv/nanotrack.git
```

---

## **Usage**

### **1. Import and Initialize**
```python
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**
```python
# 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:

![Example Output](https://github.com/GeekAlexis/FastMOT/blob/master/assets/dense_demo.gif)

---

## **Contributing**
We welcome contributions to NanoTrack!  
To contribute:  
1. **Fork** the repository.  
2. **Create a branch**:  
   ```bash
   git checkout -b feature-branch
   ```
3. Make your changes and test thoroughly.  
4. **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](https://github.com/ragultv/nanotrack).  
- Reach out with feedback or suggestions.

---

### **Let’s Track Smarter, Faster, and Lighter with NanoTrack!** πŸš€

---

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ragultv/NanoTrack",
    "name": "nanotrack",
    "maintainer": "RAGUL T",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "object detection tracking kalman-filter lightweight",
    "author": "RAGUL T, KARTHICK RAJA E",
    "author_email": "tragulragul@gmail.com, e.karthickraja2004@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/ad/fd/70337c5ec0f0ab1788c4ffdc75c929f97bd359727b46e1869ee049f381ef/nanotrack-0.2.1.tar.gz",
    "platform": null,
    "description": "# **NanoTrack**\r\n\r\n![Downloads](https://static.pepy.tech/badge/nanotrack)\r\n\r\n**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.\r\n\r\n---\r\n\r\n## **Features**\r\n- \ud83d\ude80 **Lightweight**: Optimized for minimal computational overhead.  \r\n- \ud83c\udfaf **Seamless Integration**: Fully compatible with YOLOv5 and YOLOv8.  \r\n- \u26a1 **Real-Time Performance**: Fast and accurate tracking for video streams.  \r\n- \ud83d\udee0\ufe0f **Simple API**: Easy-to-use interfaces for rapid development.  \r\n- \ud83d\udcf9 **Video & Stream Support**: Works with video files and live camera streams.\r\n\r\n---\r\n\r\n## **Installation**\r\n\r\n### **Install via PyPI**\r\nTo install NanoTrack from PyPI, run:\r\n```bash\r\npip install nanotrack\r\n```\r\n\r\n### **Install from GitHub**\r\nFor the latest version directly from the source:\r\n```bash\r\npip install git+https://github.com/ragultv/nanotrack.git\r\n```\r\n\r\n---\r\n\r\n## **Usage**\r\n\r\n### **1. Import and Initialize**\r\n```python\r\nfrom nanotrack import YOLOv8Detector, NanoTrack\r\nimport cv2\r\n\r\n# Initialize the YOLOv8 Detector\r\ndetector = YOLOv8Detector(model_path=\"yolov8n.pt\")  # Replace with your model path\r\n\r\n# Initialize the NanoTrack Tracker\r\ntracker = NanoTrack()\r\n```\r\n\r\n### **2. Process Video for Detection and Tracking**\r\n```python\r\n# Load video file or webcam input\r\ncap = cv2.VideoCapture(\"path_to_video.mp4\")  # Replace with your video file path\r\n\r\nwhile True:\r\n    ret, frame = cap.read()\r\n    if not ret:\r\n        break\r\n\r\n    # Perform object detection\r\n    detections = detector.detect(frame)\r\n\r\n    # Update tracker with detections\r\n    tracks = tracker.update(detections)\r\n\r\n    # Draw bounding boxes and track IDs\r\n    for track in tracks:\r\n        x1, y1, x2, y2, _, _, track_id = track[:7]\r\n        cv2.rectangle(frame, (int(x1), int(y1)), (int(x2), int(y2)), (0, 255, 0), 2)\r\n        cv2.putText(frame, f\"ID: {track_id}\", (int(x1), int(y1) - 10),\r\n                    cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 255), 1)\r\n\r\n    # Display the results\r\n    cv2.imshow(\"NanoTrack\", frame)\r\n\r\n    # Press 'q' to exit\r\n    if cv2.waitKey(1) & 0xFF == ord('q'):\r\n        break\r\n\r\ncap.release()\r\ncv2.destroyAllWindows()\r\n```\r\n\r\n---\r\n\r\n## **Supported Models**\r\nNanoTrack seamlessly works with:\r\n- **YOLOv5**: Optimized and reliable object detection.  \r\n- **YOLOv8**: Cutting-edge detection accuracy and performance.\r\n\r\n---\r\n\r\n## **Example Output**\r\n\r\nHere is an example of NanoTrack in action:\r\n\r\n![Example Output](https://github.com/GeekAlexis/FastMOT/blob/master/assets/dense_demo.gif)\r\n\r\n---\r\n\r\n## **Contributing**\r\nWe welcome contributions to NanoTrack!  \r\nTo contribute:  \r\n1. **Fork** the repository.  \r\n2. **Create a branch**:  \r\n   ```bash\r\n   git checkout -b feature-branch\r\n   ```\r\n3. Make your changes and test thoroughly.  \r\n4. **Submit a Pull Request** with a clear description.  \r\n\r\n---\r\n\r\n## **License**\r\nThis project is licensed under the **MIT License**. See the `LICENSE` file for details.\r\n\r\n---\r\n\r\n## **Support**\r\nFor issues, feature requests, or questions, feel free to:  \r\n- Open an issue on our [GitHub repository](https://github.com/ragultv/nanotrack).  \r\n- Reach out with feedback or suggestions.\r\n\r\n---\r\n\r\n### **Let\u2019s Track Smarter, Faster, and Lighter with NanoTrack!** \ud83d\ude80\r\n\r\n---\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A lightweight object detection and tracking package",
    "version": "0.2.1",
    "project_urls": {
        "Bug Tracker": "https://github.com/ragultv/NanoTrack/issues",
        "Documentation": "https://github.com/ragultv/NanoTrack/blob/main/README.md",
        "Homepage": "https://github.com/ragultv/NanoTrack",
        "Source": "https://github.com/ragultv/NanoTrack"
    },
    "split_keywords": [
        "object",
        "detection",
        "tracking",
        "kalman-filter",
        "lightweight"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3e80e77ba6a03c7349d041ca830d70cfa3096d5a8c0966254b330e80e89f2344",
                "md5": "c413de92b57d3c2cfa055d822c6d5a7f",
                "sha256": "db987e9c1723bab78d094941df2c2a68c76f708ec03bc544940b31af29ba9abd"
            },
            "downloads": -1,
            "filename": "nanotrack-0.2.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c413de92b57d3c2cfa055d822c6d5a7f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 10681,
            "upload_time": "2024-12-14T12:27:42",
            "upload_time_iso_8601": "2024-12-14T12:27:42.092190Z",
            "url": "https://files.pythonhosted.org/packages/3e/80/e77ba6a03c7349d041ca830d70cfa3096d5a8c0966254b330e80e89f2344/nanotrack-0.2.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "adfd70337c5ec0f0ab1788c4ffdc75c929f97bd359727b46e1869ee049f381ef",
                "md5": "66330bf6a3e1c8f0678c15b8f5ab244c",
                "sha256": "b413860d994304dd3e414d95d8cd9fd4108b57e59863a8a33ac65839968082f9"
            },
            "downloads": -1,
            "filename": "nanotrack-0.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "66330bf6a3e1c8f0678c15b8f5ab244c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 8206,
            "upload_time": "2024-12-14T12:27:44",
            "upload_time_iso_8601": "2024-12-14T12:27:44.456503Z",
            "url": "https://files.pythonhosted.org/packages/ad/fd/70337c5ec0f0ab1788c4ffdc75c929f97bd359727b46e1869ee049f381ef/nanotrack-0.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-14 12:27:44",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ragultv",
    "github_project": "NanoTrack",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "nanotrack"
}
        
Elapsed time: 0.93479s