Commit 8f1ebc50 authored by Sikhin VC's avatar Sikhin VC

accuracy improvements

parent 8cc42676
...@@ -6457,3 +6457,95 @@ IndexError: list index out of range ...@@ -6457,3 +6457,95 @@ IndexError: list index out of range
2022-12-11 14:56:51,088 INFO ilens-edge_engine building publishers 2022-12-11 14:56:51,088 INFO ilens-edge_engine building publishers
2022-12-11 14:56:51,344 INFO ilens-edge_engine Selected input stream as Direct cv input 2022-12-11 14:56:51,344 INFO ilens-edge_engine Selected input stream as Direct cv input
2022-12-11 14:56:52,338 INFO ilens-edge_engine Setting up frame processor !! 2022-12-11 14:56:52,338 INFO ilens-edge_engine Setting up frame processor !!
2022-12-11 15:58:47,331 INFO ilens-edge_engine building publishers
2022-12-11 15:58:47,755 INFO ilens-edge_engine Selected input stream as Direct cv input
2022-12-11 15:58:48,830 INFO ilens-edge_engine Setting up frame processor !!
2022-12-11 16:09:11,478 INFO ilens-edge_engine building publishers
2022-12-11 16:09:11,895 INFO ilens-edge_engine Setting up frame processor !!
2022-12-11 16:10:04,169 INFO ilens-edge_engine building publishers
2022-12-11 16:10:04,463 INFO ilens-edge_engine Setting up frame processor !!
2022-12-11 16:10:52,391 INFO ilens-edge_engine building publishers
2022-12-11 16:10:52,573 INFO ilens-edge_engine Setting up frame processor !!
2022-12-11 16:11:17,347 INFO ilens-edge_engine building publishers
2022-12-11 16:11:17,539 INFO ilens-edge_engine Setting up frame processor !!
2022-12-11 16:12:06,331 INFO ilens-edge_engine building publishers
2022-12-11 16:12:06,504 INFO ilens-edge_engine Setting up frame processor !!
2022-12-11 16:12:38,979 INFO ilens-edge_engine building publishers
2022-12-11 16:12:39,149 INFO ilens-edge_engine Setting up frame processor !!
2022-12-11 16:13:01,545 INFO ilens-edge_engine building publishers
2022-12-11 16:13:01,717 INFO ilens-edge_engine Setting up frame processor !!
2022-12-11 16:13:18,747 INFO ilens-edge_engine building publishers
2022-12-11 16:13:18,933 INFO ilens-edge_engine Setting up frame processor !!
2022-12-11 16:14:26,956 INFO ilens-edge_engine building publishers
2022-12-11 16:14:27,256 INFO ilens-edge_engine Setting up frame processor !!
2022-12-11 16:14:56,806 INFO ilens-edge_engine building publishers
2022-12-11 16:14:56,985 INFO ilens-edge_engine Setting up frame processor !!
2022-12-11 16:15:26,974 INFO ilens-edge_engine building publishers
2022-12-11 16:15:27,147 INFO ilens-edge_engine Setting up frame processor !!
2022-12-11 16:16:34,682 INFO ilens-edge_engine building publishers
2022-12-11 16:16:34,917 INFO ilens-edge_engine Setting up frame processor !!
2022-12-11 16:17:05,311 INFO ilens-edge_engine building publishers
2022-12-11 16:17:05,476 INFO ilens-edge_engine Setting up frame processor !!
2022-12-11 16:18:52,197 INFO ilens-edge_engine building publishers
2022-12-11 16:18:52,371 INFO ilens-edge_engine Setting up frame processor !!
2022-12-11 16:19:29,071 INFO ilens-edge_engine building publishers
2022-12-11 16:19:29,245 INFO ilens-edge_engine Setting up frame processor !!
2022-12-11 16:19:47,926 INFO ilens-edge_engine building publishers
2022-12-11 16:19:48,105 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 11:08:53,783 INFO ilens-edge_engine building publishers
2022-12-12 11:08:55,940 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 11:11:11,119 INFO ilens-edge_engine building publishers
2022-12-12 11:11:11,533 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 11:24:09,485 INFO ilens-edge_engine building publishers
2022-12-12 11:24:09,703 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 11:24:39,969 INFO ilens-edge_engine building publishers
2022-12-12 11:24:46,810 INFO ilens-edge_engine building publishers
2022-12-12 11:24:46,981 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 11:25:09,854 INFO ilens-edge_engine building publishers
2022-12-12 11:25:10,035 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 11:25:32,616 INFO ilens-edge_engine building publishers
2022-12-12 11:25:32,797 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 11:26:11,748 INFO ilens-edge_engine building publishers
2022-12-12 11:26:11,954 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 11:27:27,117 INFO ilens-edge_engine building publishers
2022-12-12 11:27:27,293 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 11:27:58,520 INFO ilens-edge_engine building publishers
2022-12-12 11:27:58,772 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 11:29:37,835 INFO ilens-edge_engine building publishers
2022-12-12 11:29:38,017 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 11:29:59,803 INFO ilens-edge_engine building publishers
2022-12-12 11:29:59,975 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 11:30:21,751 INFO ilens-edge_engine building publishers
2022-12-12 11:30:21,919 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 12:59:21,417 INFO ilens-edge_engine building publishers
2022-12-12 12:59:21,882 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 13:00:10,834 INFO ilens-edge_engine building publishers
2022-12-12 13:00:11,045 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 13:00:29,656 INFO ilens-edge_engine building publishers
2022-12-12 13:00:29,831 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 13:01:08,316 INFO ilens-edge_engine building publishers
2022-12-12 13:01:08,508 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 13:25:06,786 INFO ilens-edge_engine building publishers
2022-12-12 13:25:06,970 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 13:26:41,721 INFO ilens-edge_engine building publishers
2022-12-12 13:26:41,909 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 13:27:15,255 INFO ilens-edge_engine building publishers
2022-12-12 13:27:15,422 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 13:29:32,152 INFO ilens-edge_engine building publishers
2022-12-12 13:29:32,340 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 13:31:31,076 INFO ilens-edge_engine building publishers
2022-12-12 13:31:31,264 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 13:33:06,744 INFO ilens-edge_engine building publishers
2022-12-12 13:33:06,932 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 13:41:03,523 INFO ilens-edge_engine building publishers
2022-12-12 13:41:03,703 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 13:41:44,669 INFO ilens-edge_engine building publishers
2022-12-12 13:41:44,847 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 13:42:42,582 INFO ilens-edge_engine building publishers
2022-12-12 13:42:42,748 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 13:43:12,641 INFO ilens-edge_engine building publishers
2022-12-12 13:43:12,808 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 13:44:20,846 INFO ilens-edge_engine building publishers
2022-12-12 13:44:21,022 INFO ilens-edge_engine Setting up frame processor !!
2022-12-12 13:45:19,319 INFO ilens-edge_engine building publishers
2022-12-12 13:45:19,491 INFO ilens-edge_engine Setting up frame processor !!
...@@ -44,7 +44,7 @@ class Ppe(ModelWrapper): ...@@ -44,7 +44,7 @@ class Ppe(ModelWrapper):
self.rtp = pubs.rtp_write self.rtp = pubs.rtp_write
self.mongo_logger = MongoLogger() self.mongo_logger = MongoLogger()
self.frame_skip = self.config.get('frame_skip', False) self.frame_skip = self.config.get('frame_skip', False)
model = "data/ppe.pt" model = "data/aarti_v2.pt"
self.yolo_model = load_model(model) self.yolo_model = load_model(model)
# self.yp = ExecuteInference(weight=model, # self.yp = ExecuteInference(weight=model,
# gpu=model_config.get("gpu", False), # gpu=model_config.get("gpu", False),
...@@ -315,7 +315,7 @@ class Ppe(ModelWrapper): ...@@ -315,7 +315,7 @@ class Ppe(ModelWrapper):
needed_objects = ["Helmet", "Vest"] needed_objects = ["Helmet", "Vest"]
person_with_safety_kit = 0 person_with_safety_kit = 0
person_without_safety_kit = 0 person_without_safety_kit = 0
total_person_safety_kits = {"Safety helmet"} total_person_safety_kits = {"Air Breathing Mask"}
#logger.info("Detections: " + str(detections)) #logger.info("Detections: " + str(detections))
for person_bb in bbox: for person_bb in bbox:
person_safety_status = set() person_safety_status = set()
...@@ -323,12 +323,15 @@ class Ppe(ModelWrapper): ...@@ -323,12 +323,15 @@ class Ppe(ModelWrapper):
if (person_bb[0] < object_bb[0] and person_bb[2] > object_bb[0]): if (person_bb[0] < object_bb[0] and person_bb[2] > object_bb[0]):
if(person_bb[1] < object_bb[1] and person_bb[3] > object_bb[1]): if(person_bb[1] < object_bb[1] and person_bb[3] > object_bb[1]):
person_safety_status.add(safety_object) person_safety_status.add(safety_object)
if("Safety helmet" in person_safety_status): if("Air Breathing Mask" in person_safety_status):
# print("SAFE--------------------------------------------") # print("SAFE--------------------------------------------")
person_with_safety_kit +=1 person_with_safety_kit +=1
cv2.rectangle(frame, (person_bb[0], person_bb[1]), (person_bb[2], person_bb[3]), (0, 255, 0), 2)
else: else:
person_without_safety_kit +=1 person_without_safety_kit +=1
cv2.rectangle(frame, (person_bb[0], person_bb[1]), (person_bb[2], person_bb[3]), (0, 0, 255), 2)
# cv2.waitKey(0) # cv2.waitKey(0)
# for (object_id, det) in zip(other_class_name, other_centroid): # for (object_id, det) in zip(other_class_name, other_centroid):
# #
...@@ -381,10 +384,10 @@ class Ppe(ModelWrapper): ...@@ -381,10 +384,10 @@ class Ppe(ModelWrapper):
# self.final_ppe_result = {} # self.final_ppe_result = {}
print("person with safety kit", str(person_with_safety_kit)) print("person with safety kit", str(person_with_safety_kit))
print("person without safety kit", str(person_without_safety_kit)) print("person without safety kit", str(person_without_safety_kit))
person_without_kit_text = "Person without safety kit " + str(person_without_safety_kit) person_without_kit_text = "PERSON WITHOUT SAFETY KIT : " + str(person_without_safety_kit)
person_with_kit_text = "Person with safety kit" + str(person_with_safety_kit) person_with_kit_text = "PERSON WITH SAFETY KIT : " + str(person_with_safety_kit)
cv2.putText(frame, person_with_kit_text, (50, 50), cv2.FONT_HERSHEY_SIMPLEX, 3, (255, 255, 0), 1, 2) cv2.putText(frame, person_with_kit_text, (800, 50), cv2.FONT_HERSHEY_SIMPLEX, 2, (0, 255, 0), 4, 2)
cv2.putText(frame, person_without_kit_text, (50, 100), cv2.FONT_HERSHEY_SIMPLEX, 3, (255, 255, 0), 1, 2) cv2.putText(frame, person_without_kit_text, (800, 150), cv2.FONT_HERSHEY_SIMPLEX, 2, (0, 0, 255), 4, 2)
return frame return frame
def draw_line_over_image(self, frame, color=(255, 255, 255)): def draw_line_over_image(self, frame, color=(255, 255, 255)):
...@@ -441,6 +444,7 @@ class Ppe(ModelWrapper): ...@@ -441,6 +444,7 @@ class Ppe(ModelWrapper):
other_centroid = [] other_centroid = []
other_class_name = list() other_class_name = list()
#logger.info(dets) #logger.info(dets)
print("PREDICTIONS ")
print(dets) print(dets)
if dets: if dets:
for i in dets: for i in dets:
...@@ -503,8 +507,8 @@ class Ppe(ModelWrapper): ...@@ -503,8 +507,8 @@ class Ppe(ModelWrapper):
obj['frame'] = cv2.resize(frame, (self.config.get('FRAME_WIDTH'), self.config. obj['frame'] = cv2.resize(frame, (self.config.get('FRAME_WIDTH'), self.config.
get('FRAME_HEIGHT'))) get('FRAME_HEIGHT')))
cv2.imshow("output is ", cv2.resize(frame, (900, 600))) # cv2.imshow("output is ", cv2.resize(frame, (900, 600)))
cv2.waitKey(1) # cv2.waitKey(1)
except Exception as e: except Exception as e:
logger.exception(f"Error: {e}", exc_info=True) logger.exception(f"Error: {e}", exc_info=True)
obj['frame'] = cv2.resize(obj['frame'], (self.config.get('FRAME_WIDTH'), self.config.get('FRAME_HEIGHT'))) obj['frame'] = cv2.resize(obj['frame'], (self.config.get('FRAME_WIDTH'), self.config.get('FRAME_HEIGHT')))
......
...@@ -34,8 +34,8 @@ def load_model(weights, data='data/coco128.yaml', device='', half=False, dnn=Fal ...@@ -34,8 +34,8 @@ def load_model(weights, data='data/coco128.yaml', device='', half=False, dnn=Fal
def run(model1, # model path or triton URL def run(model1, # model path or triton URL
source, # file/dir/URL/glob/screen/0(webcam) source, # file/dir/URL/glob/screen/0(webcam)
data=ROOT / 'data/coco128.yaml', # dataset.yaml path data=ROOT / 'data/coco128.yaml', # dataset.yaml path
imgsz=(416, 416), # inference size (height, width) imgsz=(640, 640), # inference size (height, width)
conf_thres=0.3, # confidence threshold conf_thres=0.2, # confidence threshold
iou_thres=0.45, # NMS IOU threshold iou_thres=0.45, # NMS IOU threshold
max_det=1000, # maximum detections per image max_det=1000, # maximum detections per image
device='', # cuda device, i.e. 0 or 0,1,2,3 or cpu device='', # cuda device, i.e. 0 or 0,1,2,3 or cpu
...@@ -59,7 +59,7 @@ def run(model1, # model path or triton URL ...@@ -59,7 +59,7 @@ def run(model1, # model path or triton URL
dnn=False, # use OpenCV DNN for ONNX inference dnn=False, # use OpenCV DNN for ONNX inference
vid_stride=1, # video frame-rate stride vid_stride=1, # video frame-rate stride
): ):
class_list = {0:"person", 1:"Cartridge Mask", 2:"Safety helmet", 3:"Hand gloves", 4:"coverall suit", 5:"Air Breathing Mask"} class_list = {0:"person", 1:"Air Breathing Mask"}
# source = str(source) # source = str(source)
# save_img = not nosave and not source.endswith('.txt') # save inference images # save_img = not nosave and not source.endswith('.txt') # save inference images
# is_file = Path(source).suffix[1:] in (IMG_FORMATS + VID_FORMATS) # is_file = Path(source).suffix[1:] in (IMG_FORMATS + VID_FORMATS)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment