410 lines
10 KiB
Python
410 lines
10 KiB
Python
# -*- coding: utf-8 -*-
|
|
from REST_AI_ENGINE_CONTROL.app import models as M
|
|
import project_config
|
|
import os
|
|
|
|
# MQTT
|
|
MQTT_HOST = 'localhost'
|
|
|
|
# source
|
|
PROJECT_PATH = os.path.dirname(os.path.abspath(__file__))
|
|
|
|
DAOOL_RTSP = "rtsp://daool:Ekdnfeldpsdptm1@211.63.236.6:52554/axis-media/media.amp"
|
|
RTSP = "rtsp://223.171.144.245:8554/cam/0/low"
|
|
|
|
STREAMS_PATH = PROJECT_PATH + "/DL/wd.streams"
|
|
|
|
CON_VIDEO_PATH = PROJECT_PATH +"/AI_ENGINE/DATA/CON.mp4"
|
|
FACE_VIDEO_PATH = PROJECT_PATH +"/AI_ENGINE/DATA/FR.mov"
|
|
PPE_VIDEO_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/PPE.mp4"
|
|
WD_VIDEO_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/WD_2.mp4"
|
|
|
|
if project_config.CONFIG == project_config.CONFIG_AISERVER:
|
|
# <aiserver>
|
|
#MQTT
|
|
MQTT_PORT = 50083
|
|
MQTT_USER_ID = 'kepco'
|
|
MQTT_USER_PW = '!kepco1234'
|
|
|
|
#source
|
|
RTSP = "rtsp://223.171.144.245:8554/cam/0/low"
|
|
CON_SOURCE = CON_VIDEO_PATH
|
|
FR_SOURCE = FACE_VIDEO_PATH
|
|
PPE_SOURCE = PPE_VIDEO_PATH
|
|
WD_SOURCE = WD_VIDEO_PATH
|
|
|
|
#SFTP
|
|
FTP_IP = "106.255.245.242"
|
|
FTP_PORT = 2022
|
|
FTP_ID = "kepri_if_user"
|
|
FTP_PW = "kepri!123"
|
|
FTP_LOCATION = "/home/agics-dev/kepri_storage/rndpartners/"
|
|
FTP_CON_FILE_NAME = "3"
|
|
FTP_FR_FILE_NAME = "1"
|
|
FTP_PPE_FILE_NAME = "2"
|
|
FTP_WD_FILE_NAME = "5"
|
|
FTP_BI_FILE_NAME = "4"
|
|
|
|
elif project_config.CONFIG == project_config.CONFIG_MG:
|
|
#<KEPCO-MG>
|
|
# #MQTT
|
|
# MQTT_PORT = 1883
|
|
# MQTT_USER_ID = 'admin'
|
|
# MQTT_USER_PW = 'admin'
|
|
|
|
MQTT_PORT = 11883
|
|
MQTT_USER_ID = 'kepco'
|
|
MQTT_USER_PW = '!kepco1234'
|
|
|
|
# #source
|
|
# RTSP = "rtsp://10.20.10.1:8554/cam/0/low"
|
|
# RTSP = "rtsp://192.168.39.20:8554/cam/0/low"
|
|
RTSP = "rtsp://admin:admin1263!@10.20.10.99:28554/onvif/media?profile=Profile2"
|
|
CON_SOURCE = RTSP
|
|
FR_SOURCE = RTSP
|
|
PPE_SOURCE = RTSP
|
|
WD_SOURCE = RTSP
|
|
|
|
# ----------- <test> ----------
|
|
#CON_SOURCE = "rtsp://219.250.188.204:8554/con"
|
|
#FR_SOURCE = "rtsp://219.250.188.205:8554/fr"
|
|
#PPE_SOURCE = "rtsp://219.250.188.206:8554/ppe"
|
|
#WD_SOURCE = "rtsp://219.250.188.207:8554/wd"
|
|
# ----------- <test> ----------
|
|
|
|
if project_config.DEBUG_MODE:
|
|
CON_SOURCE = CON_VIDEO_PATH
|
|
FR_SOURCE = FACE_VIDEO_PATH
|
|
PPE_SOURCE = PPE_VIDEO_PATH
|
|
WD_SOURCE = WD_VIDEO_PATH
|
|
|
|
# #SFTP
|
|
FTP_IP = "106.255.245.242"
|
|
FTP_PORT = 2022
|
|
FTP_ID = "kepri_if_user"
|
|
FTP_PW = "kepri!123"
|
|
FTP_LOCATION = "/home/agics-dev/kepri_storage/rndpartners/"
|
|
|
|
# ----------- <test> ----------
|
|
# FTP_IP = "211.63.236.6"
|
|
# FTP_PORT = 50002
|
|
# FTP_ID = "fermat"
|
|
# FTP_PW = "1234"
|
|
# FTP_LOCATION = "/home/fermat/work/rest_ftp_test"
|
|
# ----------- <test> ----------
|
|
|
|
FTP_CON_FILE_NAME = "3"
|
|
FTP_FR_FILE_NAME = "1"
|
|
FTP_PPE_FILE_NAME = "2"
|
|
FTP_WD_FILE_NAME = "5"
|
|
FTP_BI_FILE_NAME = "4"
|
|
|
|
else :
|
|
# <fermat>
|
|
# MQTT(dev3)
|
|
MQTT_PORT = 1883
|
|
MQTT_USER_ID = 'admin'
|
|
MQTT_USER_PW = '12341234'
|
|
|
|
RTSP = DAOOL_RTSP
|
|
CON_SOURCE = CON_VIDEO_PATH
|
|
FR_SOURCE = FACE_VIDEO_PATH
|
|
PPE_SOURCE = PPE_VIDEO_PATH
|
|
WD_SOURCE = WD_VIDEO_PATH
|
|
|
|
# FTP
|
|
FTP_IP = "192.168.200.232"
|
|
FTP_PORT = 22
|
|
FTP_ID = "fermat"
|
|
FTP_PW = "1234"
|
|
FTP_LOCATION = "/home/fermat/work/rest_ftp_test"
|
|
|
|
FTP_CON_FILE_NAME = "c"
|
|
FTP_FR_FILE_NAME = "a"
|
|
FTP_PPE_FILE_NAME = "b"
|
|
FTP_WD_FILE_NAME = "e"
|
|
FTP_BI_FILE_NAME = "d"
|
|
|
|
|
|
#FTP result path
|
|
FTP_CON_RESULT = PROJECT_PATH + '/AI_ENGINE/DATA/ftp_data/con_setup.jpg'
|
|
FTP_FR_RESULT = PROJECT_PATH + '/AI_ENGINE/DATA/ftp_data/fr.jpg'
|
|
FTP_PPE_RESULT = PROJECT_PATH + '/AI_ENGINE/DATA/ftp_data/ppe.jpg'
|
|
FTP_WD_RESULT = PROJECT_PATH + '/AI_ENGINE/DATA/ftp_data/wd.jpg'
|
|
FTP_BI_RESULT = PROJECT_PATH + '/AI_ENGINE/DATA/ftp_data/bi.jpg'
|
|
|
|
# TOPIC
|
|
MQTT_CON_TOPIC = '/AI_KEPCO/AI_OD_CON_SETUP_DETECT/REPORT'
|
|
MQTT_FR_TOPIC = '/AI_KEPCO/AI_FACE_RECOGNIZE/REPORT'
|
|
MQTT_PPE_TOPIC = '/AI_KEPCO/AI_OD_PPE_DETECT/REPORT'
|
|
MQTT_PPE_FR_TOPIC = '/AI_KEPCO/AI_OD_PPE_FR_DETECT/REPORT' # test topic
|
|
MQTT_WD_TOPIC = '/AI_KEPCO/AI_OD_WORK_DETECT/REPORT'
|
|
MQTT_BI_TOPIC = '/AI_KEPCO/AI_BI_DETECT/REPORT'
|
|
|
|
# AI_MODEL
|
|
MODEL_CON = 'CON'
|
|
MODEL_PPE = 'PPE'
|
|
MODEL_WORK_DETECT = 'WD'
|
|
MODEL_FACE_RECOGNIZE = 'FR'
|
|
MODEL_BIO_INFO = 'BI'
|
|
|
|
# YOLO
|
|
BBOX_XYXY = 'XYXY'
|
|
BBOX_XYWH = 'XYWH'
|
|
|
|
# WD
|
|
WD_FRAME_COUNT = 80
|
|
|
|
# FACE_RECOGNITION
|
|
FACE_EVOLUTION_DISTANCE = 0.4
|
|
|
|
WORKER1_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/kepco1.jpg"
|
|
WORKER2_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/kepco1_1.jpg"
|
|
WORKER3_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/kepco1_2.jpg"
|
|
|
|
if project_config.DEBUG_MODE:
|
|
WORKER1_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/facerec_worker1.png"
|
|
WORKER2_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/facerec_worker2.png"
|
|
WORKER3_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/facerec_worker3.png"
|
|
|
|
WORKER4_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/jangys_re.jpg"
|
|
WORKER5_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/whangsj.jpg"
|
|
WORKER6_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/kimjw_re.jpg"
|
|
WORKER7_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/ksy_re.jpg"
|
|
WORKER8_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/agics.jpg"
|
|
WORKER9_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/kepco1.jpg"
|
|
|
|
WORKER10_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/kepco2_1.jpg"
|
|
WORKER11_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/kepco2_2.jpg"
|
|
WORKER12_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/kepco2_3.jpg"
|
|
WORKER13_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/kepco2_4.jpg"
|
|
WORKER14_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/kepco2_5.jpg"
|
|
WORKER15_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/kepco2_6.jpg"
|
|
WORKER16_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/kepco2_7.jpg"
|
|
WORKER17_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/kepco2_8.jpg"
|
|
WORKER18_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/kepco2_9.jpg"
|
|
WORKER19_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/kepco2_10.jpg"
|
|
WORKER20_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/kepco2_11.jpg"
|
|
|
|
WORKER21_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/kepco2_12.jpg"
|
|
WORKER22_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/kepco2_13.jpg"
|
|
|
|
|
|
# WORKER16_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/yunikim.jpg"
|
|
# WORKER17_IMG_PATH = PROJECT_PATH + "/AI_ENGINE/DATA/facerec_worker3.png"
|
|
|
|
SIGNAL_INFERENCE = 'inference'
|
|
SIGNAL_STOP = 'stop'
|
|
|
|
SOURCE_CHANGED_MSG = "INPUT SOURCE CHANGED"
|
|
IMG_CHANGED_MSG = "INPUT IMAGE CHANGED"
|
|
INVALID_IMG_MSG = "INVALID IMAGE SIZE"
|
|
|
|
DEMO_KEY_NAME_SNAPSHOT_SFTP = "SnapshotSFTP"
|
|
|
|
OFF_CLASS_LIST = [2,4,7,9,11,15,17,19]
|
|
OFF_TRIGGER_CLASS_LIST = [2,4] #TODO(jwkim):BIXPO test (helmet,gloves)
|
|
|
|
AI_ENGINE_INIT = {
|
|
"version": project_config.PROJECT_VERSION,
|
|
"ai_engine_status": "init",
|
|
"demo": {
|
|
"ftp": {
|
|
"ip": FTP_IP,
|
|
"port": FTP_PORT,
|
|
"id": FTP_ID,
|
|
"pw": FTP_PW,
|
|
"location": FTP_LOCATION,
|
|
"file_con_setup": FTP_CON_FILE_NAME,
|
|
"file_face": FTP_FR_FILE_NAME,
|
|
"file_ppe": FTP_PPE_FILE_NAME,
|
|
"file_wd": FTP_WD_FILE_NAME,
|
|
"file_bi": FTP_BI_FILE_NAME
|
|
}
|
|
},
|
|
"input_video": [
|
|
{
|
|
"name": "CON_video",
|
|
"model": M.AEAIModelType.CON,
|
|
"sn": "serial_no",
|
|
"connect_url": CON_SOURCE,
|
|
"user_id": "user_id",
|
|
"user_pw": "user_pw"
|
|
},
|
|
{
|
|
"name": "FR_video",
|
|
"model": M.AEAIModelType.FR,
|
|
"sn": "serial_no",
|
|
"connect_url": FR_SOURCE,
|
|
"user_id": "user_id",
|
|
"user_pw": "user_pw"
|
|
},
|
|
{
|
|
"name": "PPE_video",
|
|
"model": M.AEAIModelType.PPE,
|
|
"sn": "serial_no",
|
|
"connect_url": PPE_SOURCE,
|
|
"user_id": "user_id",
|
|
"user_pw": "user_pw"
|
|
},
|
|
{
|
|
"name": "WD_video_1",
|
|
"model": M.AEAIModelType.WORK,
|
|
"sn": "serial_no",
|
|
"connect_url": WD_SOURCE,
|
|
"user_id": "user_id",
|
|
"user_pw": "user_pw"
|
|
}
|
|
],
|
|
"input_bi": {
|
|
"name": "device_name",
|
|
"model": "model_name",
|
|
"sn": "serial_no",
|
|
"connect_url": "connect_url",
|
|
"user_id": "user_id",
|
|
"user_pw": "user_pw",
|
|
"topic": "topic"
|
|
},
|
|
"con_model_info": {
|
|
"name": "CON",
|
|
"version": "20220101",
|
|
"status": "init",
|
|
"ri": {
|
|
"construction_code": "D54",
|
|
"work_no": 3,
|
|
"work_define_ri": 0.82,
|
|
"ri_parameter_list": [
|
|
{
|
|
"name": "작업자 숙련도",
|
|
"ratio": 0.6
|
|
},
|
|
{
|
|
"name": "작업자 교육레벨",
|
|
"ratio": 0.5
|
|
}
|
|
],
|
|
"evaluation_work_ri": 0
|
|
},
|
|
"weights": [
|
|
{
|
|
"id": 0,
|
|
"filename": "index_78.pt",
|
|
"version": "0.1",
|
|
"date": "2023-01-31T10:12:17",
|
|
"model": "small",
|
|
"nc": 26
|
|
}
|
|
],
|
|
"mode": "con",
|
|
"crop_images": False
|
|
},
|
|
"fr_model_info": {
|
|
"name": "FR",
|
|
"version": "20220101",
|
|
"status": "init",
|
|
"ri": {
|
|
"construction_code": "D54",
|
|
"work_no": 3,
|
|
"work_define_ri": 0.82,
|
|
"ri_parameter_list": [
|
|
{
|
|
"name": "작업자 숙련도",
|
|
"ratio": 0.6
|
|
},
|
|
{
|
|
"name": "작업자 교육레벨",
|
|
"ratio": 0.5
|
|
}
|
|
],
|
|
"evaluation_work_ri": 0
|
|
}
|
|
},
|
|
"ppe_model_info": {
|
|
"name": "PPE",
|
|
"version": "20220101",
|
|
"status": "init",
|
|
"ri": {
|
|
"construction_code": "D54",
|
|
"work_no": 3,
|
|
"work_define_ri": 0.82,
|
|
"ri_parameter_list": [
|
|
{
|
|
"name": "작업자 숙련도",
|
|
"ratio": 0.6
|
|
},
|
|
{
|
|
"name": "작업자 교육레벨",
|
|
"ratio": 0.5
|
|
}
|
|
],
|
|
"evaluation_work_ri": 0
|
|
},
|
|
"weights": [
|
|
{
|
|
"id": 0,
|
|
"filename": "index_78.pt",
|
|
"version": "0.1",
|
|
"date": "2023-01-31T10:12:17",
|
|
"model": "small",
|
|
"nc": 26
|
|
}
|
|
],
|
|
"mode": "ppe",
|
|
"crop_images": False
|
|
},
|
|
"wd_model_info": {
|
|
"name": "WORK",
|
|
"version": "20220101",
|
|
"status": "init",
|
|
"ri": {
|
|
"construction_code": "D54",
|
|
"work_no": 3,
|
|
"work_define_ri": 0.82,
|
|
"ri_parameter_list": [
|
|
{
|
|
"name": "작업자 숙련도",
|
|
"ratio": 0.6
|
|
},
|
|
{
|
|
"name": "작업자 교육레벨",
|
|
"ratio": 0.5
|
|
}
|
|
],
|
|
"evaluation_work_ri": 0
|
|
},
|
|
"weights": [
|
|
{
|
|
"id": 0,
|
|
"filename": "index_78.pt",
|
|
"version": "0.1",
|
|
"date": "2023-01-31T10:12:17",
|
|
"model": "small",
|
|
"nc": 26
|
|
}
|
|
],
|
|
"mode": "work",
|
|
"crop_images": False
|
|
},
|
|
"bi_model_info": {
|
|
"name": "BI",
|
|
"version": "20220101",
|
|
"status": "init",
|
|
"ri": {
|
|
"construction_code": "D54",
|
|
"work_no": 3,
|
|
"work_define_ri": 0.82,
|
|
"ri_parameter_list": [
|
|
{
|
|
"name": "작업자 숙련도",
|
|
"ratio": 0.6
|
|
},
|
|
{
|
|
"name": "작업자 교육레벨",
|
|
"ratio": 0.5
|
|
}
|
|
],
|
|
"evaluation_work_ri": 0
|
|
}
|
|
}
|
|
}
|