Metadata-Version: 2.1
Name: iteach_toolkit
Version: 0.0.1
Summary: The iteach toolkit package includes the dhyolo model, designed to detect doors and handles in images.
Home-page: https://irvlutd.github.io/iTeach
Author: Vinaya Bomnale, Jishnu Jaykumar P
Author-email: vinaya.bomnale@utdallas.edu, jishnu.p@utdallas.edu
Description-Content-Type: text/markdown
Requires-Dist: gitpython >=3.1.30
Requires-Dist: matplotlib >=3.3
Requires-Dist: numpy >=1.22.2
Requires-Dist: opencv-python >=4.1.1
Requires-Dist: Pillow >=7.1.2
Requires-Dist: psutil
Requires-Dist: PyYAML >=5.3.1
Requires-Dist: requests >=2.23.0
Requires-Dist: scipy >=1.4.1
Requires-Dist: thop >=0.1.1
Requires-Dist: torch >=1.8.0
Requires-Dist: torchvision >=0.9.0
Requires-Dist: tqdm >=4.64.0
Requires-Dist: ultralytics >=8.0.147
Requires-Dist: pandas >=1.1.4
Requires-Dist: seaborn >=0.11.0
Requires-Dist: setuptools >=65.5.1
Requires-Dist: easydict
Requires-Dist: huggingface-hub


# iTeach Toolkit Package

## Overview
The `iTeach_package` is a toolkit designed for running object detection using the DH-YOLO model, specifically for identifying doors and handles in images. This package provides easy-to-use command-line tools for performing inference with a pre-trained DH-YOLO model.

## Model Checkpoints
Pretrained model checkpoints can be downloaded from [this link](https://utdallas.box.com/v/DHYOLO-Pretrained-Checkpoints).

## Installation
To install the package, use `pip`:

```bash
pip install iteach_toolkit
```

## Usage

Below is an example of how to use the package for running inference on an image.

```python
import os
from PIL import Image as PILImg
from iteach_toolkit.DHYOLO import DHYOLODetector

# Set up paths
os.system("wget https://huggingface.co/spaces/IRVLUTD/DH-YOLO/resolve/main/test_imgs/jpad-irvl-test.jpg")
image_path = "./jpad-irvl-test.jpg"

model_path = "/path/to/yolov5_model.pt"

# Initialize the DHYOLODetector class
dhyolo = DHYOLODetector(model_path)

# Perform prediction on the image
orig_image, detections = dhyolo.predict(image_path, conf_thres=0.7, iou_thres=0.7, max_det=1000)

# Plot the bounding boxes on the original image
orig_image, image_with_bboxes = dhyolo.plot_bboxes(attach_watermark=True)

# Convert the image (with bounding boxes) from a NumPy array to a PIL Image for display.
pil_img_with_bboxes = PILImg.fromarray(image_with_bboxes)

# Plot the image
pil_img_with_bboxes.show()
```

## License

This project is licensed under the MIT License.
