config.py 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  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_PATH6 = '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_CH4_RTSP='rtsp://admin:yaoan1234@172.16.22.233/cam/realmonitor?channel=1&subtype=0'#脚手架搭建
  59. PLATFORM_CH1_MODEL='/mnt/xcd/code/ai_test/weights/platform_ch1_wearing.pt'
  60. PLATFORM_SETUP_MODEL='/mnt/xcd/code/ai_test/weights/obb830.pt'
  61. PLATFORM_SETUP_VIDEO_SOURCES=[PLATFORM_CH2_RTSP,
  62. #PLATFORM_CH3_RTSP,
  63. PLATFORM_CH4_RTSP]
  64. PLATFORM_WEARING_MODEL=[
  65. HUMAN_DETECTION_MODEL,
  66. PLATFORM_CH1_MODEL
  67. ]
  68. PLATFORM_WEARING_VIDEO_SOURCES=PLATFORM_CH1_RTSP
  69. #PLATFORM_CH2_MODEL='/mnt/xcd/code/ai_test/weights/high_work_obb_final.pt'
  70. # Define paths to input videos
  71. #焊接劳保检测相关参数
  72. #################平台搭设检测相关参数
  73. # PLATFORM_SETUP_VIDEO_SOURCES=PLATFORM_CH2_RTSP
  74. # PLATFORM_SETUP_MODEL=PLATFORM_SETUP_MODEL
  75. #吊篮清洗
  76. BASKET_CLEANING_CH4_POSE_MODEL='/mnt/xcd/code/ai_test/weights/yolov8s-pose1.pt'
  77. BASKET_CLEANING_CH5_DETECT_MODEL='/mnt/xcd/code/ai_test/weights/yolov8s1.pt'
  78. BASKET_CLEANING_CH6_POSE_MODEL='/mnt/xcd/code/ai_test/weights/yolov8s-pose2.pt'
  79. BASKET_CLEANING_CH6_DETECT_MODEL='/mnt/xcd/code/ai_test/weights/ch6detect_basket.pt'
  80. BASKET_CLEANING_CH6_SEG_MODEL='/mnt/xcd/code/ai_test/weights/basket_seg.pt'
  81. BASKET_CLEANING_CH4_RTSP='rtsp://admin:yaoan1234@172.16.22.237/cam/realmonitor?channel=1&subtype=0'
  82. #BASKET_CLEANING_CH5_RTSP='rtsp://admin:yaoan1234@172.16.22.239/cam/realmonitor?channel=1&subtype=0'
  83. BASKET_CLEANING_CH6_RTSP='rtsp://admin:yaoan1234@172.16.22.242/cam/realmonitor?channel=1&subtype=0'
  84. BASKET_CLEANING_VIDEO_SOURCES=[BASKET_CLEANING_CH4_RTSP,
  85. #BASKET_CLEANING_CH5_RTSP,
  86. BASKET_CLEANING_CH6_RTSP,
  87. BASKET_CLEANING_CH6_RTSP,
  88. BASKET_CLEANING_CH6_RTSP]
  89. BASKET_CLEANING_MODEL_SOURCES=[BASKET_CLEANING_CH4_POSE_MODEL,
  90. #BASKET_CLEANING_CH5_DETECT_MODEL,
  91. BASKET_CLEANING_CH6_POSE_MODEL,
  92. BASKET_CLEANING_CH6_DETECT_MODEL,
  93. BASKET_CLEANING_CH6_SEG_MODEL]
  94. #
  95. #悬挂机构区域,分为四个区域 D4
  96. BASKET_SUSPENSION_REGION = np.array([
  97. [[668, 310], [800, 310], [800, 1070], [668, 1070]],
  98. [[1690, 310], [1750, 310], [1750, 710], [1690, 710]],
  99. [[1350, 340], [1405, 340], [1405, 720], [1350, 720]],
  100. [[550, 385], [635, 385], [635, 880], [550, 880]]
  101. ], np.int32)
  102. BASKET_STEEL_WIRE_REGION = np.array([
  103. [(374, 846), (601, 970), (630, 900), (441, 786)], # 右一多边形区域
  104. [(1518, 736), (1649, 945), (2005, 917), (1888, 677)] # 右二多边形区域
  105. # [(1293, 0), (1867, 935), (1904, 906), (1354, 9)], # 左边多边形区域
  106. ], np.int32)#钢丝绳区域,暂时没有钢丝绳的区域
  107. BASKET_PLATFORM_REGION = np.array([], np.int32)
  108. BASKET_LIFTING_REGION = np.array([]
  109. ,np.int32)
  110. BASKET_SAFETY_LOCK_REGION = np.array([
  111. [[1635, 813], [1742, 927], [1955, 910], [1906, 747]],
  112. [[650, 944], [800, 1000], [800, 923], [680, 872]]
  113. ], np.int32)
  114. BASKET_ELECTRICAL_SYSTEM_REGION = np.array([], np.int32)
  115. BASKET_CLEANING_OPERATION_REGION = np.array([[8, 1038], [14, 1423], [1910, 1432], [1894, 1129]], np.int32)
  116. BASKET_EMPTY_LOAD_REGION = np.array([(752, 855), (712, 969), (836, 1020), (896, 918)], np.int32)
  117. #单人吊具
  118. EQUIPMENT_CLEANING_CH3_RTSP='rtsp://admin:yaoan1234@172.16.22.238/cam/realmonitor?channel=1&subtype=0'
  119. EQUIPMENT_CLEANING_CH8_RTSP='rtsp://admin:yaoan1234@172.16.22.44/cam/realmonitor?channel=1&subtype=0'
  120. EQUIPMENT_CLEANING_CH3_DETECT_MODEL='/mnt/xcd/code/ai_test/weights/ch6detect_basket.pt'
  121. EQUIPMENT_CLEANING_CH8_POSE_MODEL='/mnt/xcd/code/ai_test/weights/yolov8s-pose2.pt'
  122. EQUIPMENT_CLEANING_CH8_DETECT_MODEL='/mnt/xcd/code/ai_test/weights/ch6detect_basket.pt'
  123. EQUIPMENT_CLEANING_VIDEO_SOURCES=[EQUIPMENT_CLEANING_CH3_RTSP,
  124. EQUIPMENT_CLEANING_CH8_RTSP,
  125. EQUIPMENT_CLEANING_CH8_RTSP
  126. ]
  127. EQUIPMENT_CLEANING_MODEL_SOURCES=[EQUIPMENT_CLEANING_CH3_DETECT_MODEL,
  128. EQUIPMENT_CLEANING_CH8_POSE_MODEL,
  129. EQUIPMENT_CLEANING_CH8_DETECT_MODEL
  130. ]
  131. EQUIPMENT_ANCHOR_DEVICE_REGION = np.array([
  132. [[913, 6], [914, 520], [1350, 523], [1351, 9]],
  133. ], np.int32)
  134. EQUIPMENT_WORK_ROPE_REGION = np.array([
  135. [[1466, 1187], [1416, 1248], [2500, 1162], [2502, 1063]],
  136. ], np.int32)
  137. EQUIPMENT_SAFETY_ROPE_REGION = np.array([
  138. [[1466, 1187], [1416, 1248], [2500, 1162], [2502, 1063]],
  139. ], np.int32)
  140. EQUIPMENT_CLEANING_OPERATION_REGION=np.array([[1697, 930], [1055, 1253], [2000, 1420], [2450, 1000]], np.int32)