logo
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Readme
Files and versions

89 lines
1.8 KiB

# Object Detection with Yolov5
*author: shiyu22*
<br />
### Description
**Object Detection** is a computer vision technique that locates and identifies people, items, or other objects in an image. Object detection has applications in many areas of computer vision, including image retrieval, image annotation, vehicle counting, object tracking, etc.
This operator uses [PyTorch.yolov5](https://pytorch.org/hub/ultralytics_yolov5/) to detect the object.
<br />
### Code Example
- Write the pipeline in the simplified way:
```Python
import towhee
towhee.glob('./test.png') \
.image_decode() \
.object_detection.yolov5() \
.show()
```
<img src="./results1.png" alt="results1" height="40px"/>
- Write the same pipeline with explicitly specified inputs and outputs:
```Python
import towhee
towhee.glob['path']('./test.png') \
.image_decode['path','img']() \
.object_detection.yolov5['img', ('box', 'class', 'score')]() \
.image_crop[('img', 'box'), 'object'](clamp = True) \
.select['img','object']() \
.show()
```
<img src="./results2.png" alt="results1" height="140px"/>
<br />
## Factory Constructor
Create the operator via the following factory method:
***object_detection.yolov5()***
<br />
### Interface
The operator takes an image as input. It first detects the objects appeared in the image, and generates a bounding box around each object.
**Parameters:**
**img**: numpy.ndarray
​ Image data in ndarray format.
**Return**: List[List[(int, int, int, int)], ...], List[str], List[float]
The return value is a tuple of (boxes, classes, scores). The *boxes* is a list of bounding boxes. Each bounding box is represented by the top-left and the bottom right points, i.e. (x1, y1, x2, y2). The *classes* is a list of prediction labels. The *scores* is a list of confidence scores.
3 years ago