config.py 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. import numpy as np
  2. #CLIENT_URL = 'http://172.16.20.23:8081/'
  3. SAVE_IMG_PATH = '/mnt/xcd/code/ai_test/static/images' # 图片保存在服务器的实际位置
  4. POST_IMG_PATH1 = 'http://172.16.20.163:5001/images' # 通过端口映射post发送能够访问的位置 焊接考核科目1
  5. POST_IMG_PATH2 = 'http://172.16.20.163:5002/images' #焊接考核科目2
  6. POST_IMG_PATH3 = 'http://172.16.20.163:5003/images' #平台搭设科目1,劳保穿戴
  7. POST_IMG_PATH4 = 'http://172.16.20.163:5004/images' #平台搭设科目2,搭建和拆除
  8. POST_IMG_PATH5 = 'http://172.16.20.163:5005/images'#吊篮清洗
  9. POST_IMG_PATH5 = 'http://172.16.20.163:5006/images'#吊具清洗
  10. #焊接考核视频流
  11. # Define paths to RTSP streams
  12. WELDING_CH1_RTSP = 'rtsp://admin:yaoan1234@172.16.22.230/cam/realmonitor?channel=1&subtype=0'#焊机开关视频
  13. WELDING_CH2_RTSP = 'rtsp://admin:yaoan1234@172.16.22.231/cam/realmonitor?channel=1&subtype=0'#焊台视频
  14. WELDING_CH3_RTSP = 'rtsp://admin:yaoan1234@172.16.22.233/cam/realmonitor?channel=1&subtype=0'#检查油桶视频
  15. WELDING_CH4_RTSP = 'rtsp://admin:yaoan1234@172.16.22.232/cam/realmonitor?channel=1&subtype=0'#检查总开关视频
  16. WELDING_CH5_RTSP = 'rtsp://admin:yaoan1234@172.16.22.234/cam/realmonitor?channel=1&subtype=0'#检查面具手套接地线视频
  17. WELDING_CH6_RTSP = 'rtsp://admin:yaoan1234@172.16.22.235/cam/realmonitor?channel=1&subtype=0'#劳保用品穿戴视频
  18. WELDING_CH1_MODEL="/mnt/xcd/code/ai_test/weights/ch1_welding_switch_813.pt"
  19. WELDING_CH2_MODEL="/mnt/xcd/code/ai_test/weights/ch2_welding_desk_cls_813.pt"
  20. WELDING_CH3_MODEL="/mnt/xcd/code/ai_test/weights/ch3_oil_barrel_detect_813.pt"
  21. WELDING_CH4_MODEL="/mnt/xcd/code/ai_test/weights/ch4_main_switch_cls_813.pt"
  22. WELDING_CH5_MODEL="/mnt/xcd/code/ai_test/weights/ch5_mask_gloves_wire_detect_813.pt"
  23. WELDING_CH6_MODEL='/mnt/xcd/code/ai_test/weights/ch6_wearing_detect_813.pt'
  24. HUMAN_DETECTION_MODEL="/mnt/xcd/code/ai_test/weights/yolov8n.pt"#人体检测模型
  25. # Define paths to models
  26. WELDING_MODEL_PATHS = [
  27. WELDING_CH1_MODEL,
  28. WELDING_CH2_MODEL,
  29. WELDING_CH3_MODEL,
  30. WELDING_CH4_MODEL,
  31. WELDING_CH5_MODEL
  32. ]
  33. WELDING_VIDEO_SOURCES = [
  34. WELDING_CH1_RTSP,
  35. WELDING_CH2_RTSP,
  36. WELDING_CH3_RTSP,
  37. WELDING_CH4_RTSP,
  38. WELDING_CH5_RTSP
  39. ]
  40. WELDING_WEARING_MODEL=[
  41. HUMAN_DETECTION_MODEL,
  42. WELDING_CH6_MODEL
  43. ]
  44. WELDING_WEARING_VIDEO_SOURCES= WELDING_CH6_RTSP
  45. #WEAR_DETECTION_VIDEO_SOURCES= "/home/dxc/special_test/ch1.mp4"
  46. # 劳保用品 指定要检测的区域 (xmin, ymin, xmax, ymax)
  47. WEAR_DETECTION_AREA = (350, 0, 1400, 1080)
  48. # 头盔检测区域(xmin, ymin, xmax, ymax)
  49. WELDING_REGION1=(1499,339,1839,723)
  50. # 油桶危险区域(多边形)
  51. WELDING_REGION2 = np.array([[607, 555], [454, 0], [2560, 0], [2560, 1440], [430, 1440]], np.int32)
  52. # 搭铁夹连接焊台位置
  53. WELDING_REGION3 = np.array([[1613, 627], [1601, 658], [1697, 987], [1710, 962]], np.int32)
  54. ####平台搭设视频流
  55. PLATFORM_CH1_RTSP='rtsp://admin:yaoan1234@172.16.22.241/cam/realmonitor?channel=1&subtype=0'#检测穿戴
  56. PLATFORM_CH2_RTSP='rtsp://admin:yaoan1234@172.16.22.240/cam/realmonitor?channel=1&subtype=0'#脚手架搭建
  57. PLATFORM_CH3_RTSP='rtsp://admin:yaoan1234@172.16.22.243/cam/realmonitor?channel=1&subtype=0'#脚手架搭建
  58. PLATFORM_CH1_MODEL='/mnt/xcd/code/ai_test/weights/platform_ch1_wearing.pt'
  59. PLATFORM_CH2_MODEL='/mnt/xcd/code/ai_test/weights/high_work_obb_final.pt'
  60. # Define paths to input videos
  61. #焊接劳保检测相关参数
  62. #################平台搭设检测相关参数
  63. PLATFORM_WEARING_MODEL=[
  64. HUMAN_DETECTION_MODEL,
  65. PLATFORM_CH1_MODEL
  66. ]
  67. PLATFORM_WEARING_VIDEO_SOURCES=PLATFORM_CH1_RTSP
  68. PLATFORM_SETUP_VIDEO_SOURCES=PLATFORM_CH2_RTSP
  69. PLATFORM_SETUP_MODEL=PLATFORM_CH2_MODEL
  70. #吊篮清洗
  71. BASKET_CLEANING_CH4_POSE_MODEL='/mnt/xcd/code/ai_test/weights/yolov8s-pose1.pt'
  72. BASKET_CLEANING_CH5_DETECT_MODEL='/mnt/xcd/code/ai_test/weights/yolov8s1.pt'
  73. BASKET_CLEANING_CH6_POSE_MODEL='/mnt/xcd/code/ai_test/weights/yolov8s-pose2.pt'
  74. BASKET_CLEANING_CH6_DETECT_MODEL='/mnt/xcd/code/ai_test/weights/yolov8s2.pt'
  75. BASKET_CLEANING_CH6_SEG_MODEL='/mnt/xcd/code/ai_test/weights/basket_seg.pt'
  76. BASKET_CLEANING_CH4_RTSP='rtsp://admin:yaoan1234@172.16.22.237/cam/realmonitor?channel=1&subtype=0'
  77. BASKET_CLEANING_CH5_RTSP='rtsp://admin:yaoan1234@172.16.22.239/cam/realmonitor?channel=1&subtype=0'
  78. BASKET_CLEANING_CH6_RTSP='rtsp://admin:yaoan1234@172.16.22.242/cam/realmonitor?channel=1&subtype=0'
  79. BASKET_CLEANING_VIDEO_SOURCES=[BASKET_CLEANING_CH4_RTSP,
  80. BASKET_CLEANING_CH5_RTSP,
  81. BASKET_CLEANING_CH6_RTSP,
  82. BASKET_CLEANING_CH6_RTSP,
  83. BASKET_CLEANING_CH6_RTSP]
  84. BASKET_CLEANING_MODEL_SOURCES=[BASKET_CLEANING_CH4_POSE_MODEL,
  85. BASKET_CLEANING_CH5_DETECT_MODEL,
  86. BASKET_CLEANING_CH6_POSE_MODEL,
  87. BASKET_CLEANING_CH6_DETECT_MODEL,
  88. BASKET_CLEANING_CH6_SEG_MODEL]
  89. #
  90. #悬挂机构区域,分为四个区域 D4
  91. BASKET_SUSPENSION_REGION = np.array([
  92. [[668, 310], [800, 310], [800, 1070], [668, 1070]],
  93. [[1690, 310], [1750, 310], [1750, 710], [1690, 710]],
  94. [[1350, 340], [1405, 340], [1405, 720], [1350, 720]],
  95. [[550, 385], [635, 385], [635, 880], [550, 880]]
  96. ], np.int32)
  97. BASKET_STEEL_WIRE_REGION = np.array([
  98. [(374, 846), (601, 970), (630, 900), (441, 786)], # 右一多边形区域
  99. [(1518, 736), (1649, 945), (2005, 917), (1888, 677)] # 右二多边形区域
  100. # [(1293, 0), (1867, 935), (1904, 906), (1354, 9)], # 左边多边形区域
  101. ], np.int32)#钢丝绳区域,暂时没有钢丝绳的区域
  102. BASKET_PLATFORM_REGION = np.array([], np.int32)
  103. BASKET_LIFTING_REGION = np.array([]
  104. ,np.int32)
  105. BASKET_SAFETY_LOCK_REGION = np.array([
  106. [[1635, 813], [1742, 927], [1955, 910], [1906, 747]],
  107. [[650, 944], [800, 1000], [800, 923], [680, 872]]
  108. ], np.int32)
  109. BASKET_ELECTRICAL_SYSTEM_REGION = np.array([], np.int32)
  110. BASKET_CLEANING_OPERATION_REGION = np.array([[668, 310], [800, 310], [800, 1070], [668, 1070]], np.int32)
  111. BASKET_EMPTY_LOAD_REGION = np.array([(752, 855), (712, 969), (836, 1020), (896, 918)], np.int32)
  112. #单人吊具
  113. EQUIPMENT_CLEANING_CH3_RTSP='rtsp://admin:yaoan1234@172.16.22.238/cam/realmonitor?channel=1&subtype=0'
  114. EQUIPMENT_CLEANING_CH8_RTSP='rtsp://admin:yaoan1234@172.16.22.44/cam/realmonitor?channel=1&subtype=0'
  115. EQUIPMENT_CLEANING_CH3_DETECT_MODEL='/mnt/xcd/code/ai_test/weights/yolov8s1.pt'
  116. EQUIPMENT_CLEANING_CH8_POSE_MODEL='/mnt/xcd/code/ai_test/weights/yolov8s-pose2.pt'
  117. EQUIPMENT_CLEANING_CH8_DETECT_MODEL='/mnt/xcd/code/ai_test/weights/yolov8s2.pt'
  118. EQUIPMENT_CLEANING_VIDEO_SOURCES=[EQUIPMENT_CLEANING_CH3_RTSP,
  119. EQUIPMENT_CLEANING_CH8_RTSP,
  120. EQUIPMENT_CLEANING_CH8_RTSP
  121. ]
  122. EQUIPMENT_CLEANING_MODEL_SOURCES=[EQUIPMENT_CLEANING_CH3_DETECT_MODEL,
  123. EQUIPMENT_CLEANING_CH8_POSE_MODEL,
  124. EQUIPMENT_CLEANING_CH8_DETECT_MODEL
  125. ]
  126. EQUIPMENT_ANCHOR_DEVICE_REGION = np.array([
  127. [[668, 310], [800, 310], [800, 1070], [668, 1070]],
  128. ], np.int32)
  129. EQUIPMENT_WORK_ROPE_REGION = np.array([
  130. [[668, 310], [800, 310], [800, 1070], [668, 1070]],
  131. ], np.int32)
  132. EQUIPMENT_SAFETY_ROPE_REGION = np.array([
  133. [[668, 310], [800, 310], [800, 1070], [668, 1070]],
  134. ], np.int32)
  135. EQUIPMENT_CLEANING_OPERATION_REGION=np.array([[668, 310], [800, 310], [800, 1070], [668, 1070]], np.int32)