xtj 2 months ago
parent
commit
60b3460c69
1 changed files with 12 additions and 12 deletions
  1. 12 12
      detectopencvmut0113auta.py

+ 12 - 12
detectopencvmut0113auta.py

@@ -59,7 +59,7 @@ from utils.general import (LOGGER, Profile, check_file, check_img_size, check_im
                            strtolst, apply_classifier1, apply_classifieruniform, compute_IOU, task, apply_classifierarm)
 from utils.plots import Annotator, colors, save_one_box
 from utils.torch_utils import select_device, smart_inference_mode
-from utils.renwu import newHelmet, newUniform, Fall, Personcount, Arm, Bag, Cross, Extinguisher, Persontre, Bag, Danager
+from utils.renwu import newHelmet, newUniform, newFall, Personcount, Arm, Bag, Cross, Extinguisher, Persontre, Bag, Danager
 # from testpool import func1,TestA
 # def my_handler(signum, frame):
 #     exit(0)
@@ -89,7 +89,7 @@ modelalgdir = {}
 personcountdir = {}
 for key, value in modelnamedir.items():
     modelalgdir[value] = key
-taskmap = {'helmet': newHelmet, 'uniform': newUniform, 'fall': Fall, 'personcount': Personcount, 'arm': Arm, 'bag': Bag,
+taskmap = {'helmet': newHelmet, 'uniform': newUniform, 'fall': newFall, 'personcount': Personcount, 'arm': Arm, 'bag': Bag,
            'cross': Cross, 'extinguisher': Extinguisher, 'persontre': Persontre, 'bag': Bag, 'danager': Danager}
 mean, std = [0.485, 0.456, 0.406], [0.229, 0.224, 0.225]
 test = transforms.Compose([transforms.Resize((224, 224)),
@@ -203,11 +203,11 @@ class Detect:
         if v8:
             self.model = AutoBackend(self.opt.weights, device=device, dnn=self.opt.dnn, data=self.opt.data,
                                      fp16=self.opt.half)
-            if Path(weights).stem in ['arm', 'uniform']:
+            if Path(weights).stem in ['arm', 'uniform','fall']:
                 if Path(weights).stem == 'arm':
                     self.personmodel = AutoBackend('yolov8m.pt', device=device, dnn=self.opt.dnn, data=self.opt.data,
                                                    fp16=self.opt.half)
-                elif Path(weights).stem == 'uniform':
+                elif Path(weights).stem in ['uniform','fall']:
                     self.personmodel = AutoBackend('yolo11m.pt', device=device, dnn=self.opt.dnn, data=self.opt.data,
                                                    fp16=self.opt.half)
         else:
@@ -359,7 +359,7 @@ class Detect:
                 from utils.general import non_max_suppression
             if Path(self.opt.weights).stem == "fall":
                 pred = non_max_suppression(pred, self.opt.conf_thres, self.opt.iou_thres, self.opt.classes,
-                                           self.opt.agnostic_nms, max_det=1)
+                                           self.opt.agnostic_nms, max_det=self.opt.max_det,nc=1)
             else:
                 pred = non_max_suppression(pred, self.opt.conf_thres, self.opt.iou_thres, self.opt.classes,
                                        self.opt.agnostic_nms, max_det=self.opt.max_det)
@@ -465,11 +465,11 @@ class Detect:
                         if Path(self.opt.weights).stem == "fall":
                             flag = self.taskname.getflag(det, persondet, annotator, self.dirmodel[channels[i]]['fence'],
                                                          self.dirmodel[channels[i]]['point'], self.names,
-                                                         self.dirmodel[channels[i]]['label'])
+                                                         self.dirmodel[channels[i]]['label'],imshape=im.shape[2:])
                         else:
                             flag = self.taskname.getflag(det, persondet, annotator, self.dirmodel[channels[i]]['fence'],
                                                          self.dirmodel[channels[i]]['point'], self.names,
-                                                         self.dirmodel[channels[i]]['label'],imshape=im.shape[2:])
+                                                         self.dirmodel[channels[i]]['label'])
                 else:
                     if Path(self.opt.weights).stem in ['personcount']:
                         flag = self.taskname.getflag(det, None, annotator, self.dirmodel[channels[i]]['fence'],
@@ -775,7 +775,7 @@ if __name__ == '__main__':
         c.execute('UPDATE STREAM set address= (?) where channel =(?)', (address, channel))
     conn.commit()
     cursor = c.execute(
-        "SELECT modelname from CHANGESTREAM where modelname = 'helmet' or modelname = 'smoke' or modelname = 'uniform' or modelname = 'fire' or modelname ='duty'  or modelname = 'sleep' or modelname='occupancy' or modelname = 'personcar' or modelname = 'phone' or modelname = 'reflective' or modelname = 'extinguisher' or modelname = 'danager' or modelname = 'inspection' or modelname = 'cross' or modelname = 'personcount' or modelname= 'arm' or modelname = 'persontre' or modelname = 'bag'")
+        "SELECT modelname from CHANGESTREAM where modelname = 'helmet' or modelname = 'smoke' or modelname = 'uniform' or modelname = 'fire' or modelname ='duty'  or modelname = 'sleep' or modelname='occupancy' or modelname = 'personcar' or modelname = 'phone' or modelname = 'reflective' or modelname = 'extinguisher' or modelname = 'danager' or modelname = 'inspection' or modelname = 'cross' or modelname = 'personcount' or modelname= 'arm' or modelname = 'persontre' or modelname = 'bag' or modelname = 'fall'")
     # cursor = c.execute("SELECT modelname from CHANGESTREAM where modelname = 'helmet'")
     content = cursor.fetchall()
     cursor = c.execute("SELECT address,channel from STREAM ")
@@ -797,7 +797,7 @@ if __name__ == '__main__':
     print(addcha)
     source = list(source)
     cursor = c.execute(
-        "SELECT modelname from STREAM where (modelname ='helmet' or modelname = 'smoke' or modelname = 'uniform' or modelname = 'fire' or modelname = 'duty'  or modelname = 'sleep'  or modelname='occupancy' or modelname = 'personcar' or modelname = 'phone' or modelname = 'reflective' or modelname = 'extinguisher' or modelname = 'danager' or modelname = 'inspection' or modelname = 'cross' or modelname = 'personcount' or modelname = 'arm' or modelname = 'persontre' or modelname = 'bag')")
+        "SELECT modelname from STREAM where (modelname ='helmet' or modelname = 'smoke' or modelname = 'uniform' or modelname = 'fire' or modelname = 'duty'  or modelname = 'sleep'  or modelname='occupancy' or modelname = 'personcar' or modelname = 'phone' or modelname = 'reflective' or modelname = 'extinguisher' or modelname = 'danager' or modelname = 'inspection' or modelname = 'cross' or modelname = 'personcount' or modelname = 'arm' or modelname = 'persontre' or modelname = 'bag' or modelname = 'fall')")
     contentm = cursor.fetchall()
     for m in contentm:
         modellist.append(m[0])
@@ -844,7 +844,7 @@ if __name__ == '__main__':
                     else:
                         if i in ['fall', 'extinguisher']:
                             process = Process(target=modelfun, args=(
-                                queuelist[i], f'{i}.pt', dbpath, None, 0, rea[0][1], rea[0][0], runmodel))
+                                queuelist[i], f'{i}.pt', dbpath, None, 0, rea[0][1], rea[0][0], runmodel,True))
                         else:
                             process = Process(target=modelfun, args=(
                                 queuelist[i], f'{i}.pt', dbpath, None, 0, rea[0][1], rea[0][0], runmodel, True))
@@ -855,7 +855,7 @@ if __name__ == '__main__':
         time.sleep(600)
         task(c, conn, urlt, urla)
         cursor = c.execute(
-            "SELECT modelname from CHANGESTREAM where modelname = 'helmet' or modelname = 'smoke' or modelname = 'uniform' or modelname = 'fire' or modelname ='duty'  or modelname = 'sleep' or modelname='occupancy' or modelname = 'personcar' or modelname = 'phone' or modelname = 'reflective' or modelname = 'extinguisher' or modelname = 'danager' or modelname = 'inspection' or modelname = 'cross' or modelname = 'personcount' or modelname = 'arm' or modelname = 'persontre' or modelname = 'bag'")
+            "SELECT modelname from CHANGESTREAM where modelname = 'helmet' or modelname = 'smoke' or modelname = 'uniform' or modelname = 'fire' or modelname ='duty'  or modelname = 'sleep' or modelname='occupancy' or modelname = 'personcar' or modelname = 'phone' or modelname = 'reflective' or modelname = 'extinguisher' or modelname = 'danager' or modelname = 'inspection' or modelname = 'cross' or modelname = 'personcount' or modelname = 'arm' or modelname = 'persontre' or modelname = 'bag' or modelname = 'fall'")
         content = cursor.fetchall()
         contentlist = []
         for con in content:
@@ -878,7 +878,7 @@ if __name__ == '__main__':
         source = list(source)
         # source.sort()
         cursor = c.execute(
-            "SELECT modelname from STREAM where (modelname = 'helmet' or modelname = 'smoke' or modelname = 'uniform' or modelname = 'fire' or modelname = 'duty'  or modelname = 'sleep' or modelname='occupancy' or modelname = 'personcar' or modelname = 'phone' or modelname = 'reflective' or modelname = 'extinguisher' or modelname = 'danager' or modelname = 'inspection' or modelname = 'cross' or modelname = 'personcount' or modelname = 'arm' or modelname = 'persontre' or modelname = 'bag')")
+            "SELECT modelname from STREAM where (modelname = 'helmet' or modelname = 'smoke' or modelname = 'uniform' or modelname = 'fire' or modelname = 'duty'  or modelname = 'sleep' or modelname='occupancy' or modelname = 'personcar' or modelname = 'phone' or modelname = 'reflective' or modelname = 'extinguisher' or modelname = 'danager' or modelname = 'inspection' or modelname = 'cross' or modelname = 'personcount' or modelname = 'arm' or modelname = 'persontre' or modelname = 'bag' or modelname = 'fall')")
         contentm = cursor.fetchall()
         for m in contentm:
             modellist.append(m[0])