AbhayShukralia's picture
Create main.py
ec02f42
import yolov5
# load model
model = yolov5.load('keremberke/yolov5m-garbage')
# set model parameters
model.conf = 0.25 # NMS confidence threshold
model.iou = 0.45 # NMS IoU threshold
model.agnostic = False # NMS class-agnostic
model.multi_label = False # NMS multiple labels per box
model.max_det = 1000 # maximum number of detections per image
# set image
img = 'sample.jpg'
# perform inference
results = model(img, size=640)
# inference with test time augmentation
results = model(img, augment=True)
# parse results
predictions = results.pred[0]
boxes = predictions[:, :4] # x1, y1, x2, y2
scores = predictions[:, 4]
categories = predictions[:, 5]
# show detection bounding boxes on image
results.show()
print(results) # results output image 1/1: 720x1280 2 biodegradables, 1 paper
sample = str(results).split()
# print(type(results))
# regex to match the particular things
ct =0
for words in sample:
if(words=='paper' or words =='plastic' or words =='rubber'):
ct+=1
if(ct >5):
print("Image contains garbage")
else:
print("Image does not contain garbage")
# save results into "results/" folder
# results.save(save_dir='results/')