Compare commits

...

11 Commits
V1.0 ... main

Author SHA1 Message Date
zhangwei 0e843caad6 贵州西洋修改版2 2025-07-12 17:44:19 +08:00
zhangwei 6fc795815f 贵州西洋修改版 2025-07-12 17:40:22 +08:00
zhangwei b46d2730cc 贵州西洋修改版 2025-07-12 17:16:46 +08:00
zhangwei 34061d64d5 Merge branch 'main' of http://43.143.142.38:7001/zhangwei/VCarContainer into main 2025-02-14 18:26:45 +08:00
zhangwei b47f28528a 提交 2025-02-14 18:26:43 +08:00
zhangwei cb3f429e9e 删除app目录 2025-02-14 18:01:27 +08:00
zhangwei 04d8dfbe68 revert 7f48282f7d
revert 修正像素切分中的bug
2025-02-14 03:43:41 +00:00
zhangwei 24a6703ea6 Merge remote-tracking branch 'origin/main' into main
# Conflicts:
#	engine/DetectDivideEngine/ContainerDivideEngine.cpp
2025-02-13 18:47:06 +08:00
zhangwei 0b8eadd54a 增加侧边右向行车摄像头使用箱角进行切分 2025-02-13 18:43:42 +08:00
Mr.V 7f48282f7d 修正像素切分中的bug 2024-12-19 18:56:53 +08:00
Mr.V bcc5f6bcd4 修正像素切分中的bug 2024-12-18 15:33:11 +08:00
139 changed files with 6637 additions and 262 deletions

8
.idea/.gitignore vendored Normal file
View File

@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

1
.idea/.name Normal file
View File

@ -0,0 +1 @@
train

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<module classpath="CMake" type="CPP_MODULE" version="4" />

7
.idea/misc.xml Normal file
View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CMakePythonSetting">
<option name="pythonIntegrationState" value="YES" />
</component>
<component name="CMakeWorkspace" PROJECT_DIR="$PROJECT_DIR$" />
</project>

8
.idea/modules.xml Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/VCarContainer_arm.iml" filepath="$PROJECT_DIR$/.idea/VCarContainer_arm.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@ -70,6 +70,8 @@ namespace ai_matrix
this->identifyConfig_.iTargetMinWidth = config_["identify"]["target_min_width"].as<int>(); this->identifyConfig_.iTargetMinWidth = config_["identify"]["target_min_width"].as<int>();
this->identifyConfig_.iTargetMinY = config_["identify"]["target_min_y"].as<int>(); this->identifyConfig_.iTargetMinY = config_["identify"]["target_min_y"].as<int>();
this->identifyConfig_.iMaxIdentifyFrame = config_["identify"]["max_identify_frame"].as<int>(); this->identifyConfig_.iMaxIdentifyFrame = config_["identify"]["max_identify_frame"].as<int>();
this->identifyConfig_.iMaxContainerSpaceX = config_["identify"]["max_container_space_x"].as<int>();
this->identifyConfig_.iMaxContainerSpaceY = config_["identify"]["max_container_space_y"].as<int>();
// websocket server 服务端参数 // websocket server 服务端参数
this->wSocketConfig_.bIsUse = config_["wsocket_server"]["is_use"].as<bool>(); this->wSocketConfig_.bIsUse = config_["wsocket_server"]["is_use"].as<bool>();

View File

@ -88,6 +88,10 @@ namespace ai_matrix
int iTargetMinY; int iTargetMinY;
// 单次识别最大帧数 // 单次识别最大帧数
int iMaxIdentifyFrame; int iMaxIdentifyFrame;
// 两个箱子的箱角最大差值X
int iMaxContainerSpaceX;
// 两个箱子的箱角最大差值Y
int iMaxContainerSpaceY;
}; };
// websocket_server 的服务端参数 // websocket_server 的服务端参数

View File

@ -1,101 +0,0 @@
# 基础控制参数
base:
# 股道名称
track_name: "1"
# 测试模式
test_model: false
# Api 监听端口
api_port: 7070
# 日志文件目录
log_path: "./logs"
# 识别结果目录
result_path: "./result"
# 调试结果目录
debug_result_path: "./debug_result"
# 结果存储天数
result_save_days: 10
# 日志参数
log:
# 输出日志级别[DEBUG, INFO, WARN, ERROR, FATAL]
out_level: "DEBUG"
# 保存日志级别
save_level: "DEBUG"
# 数据源参数
data_source:
url: "./vedio/buertai2.mp4"
# 跳帧数
skip_interval: 3
# 行驶方向 0-自动识别 1-向左 2-向右 (与“首位信息”成对存在,形成例如向左就编号在前,向右就属性在前的对应)
direction: 0
# 0-向左编号在前 1-向左属性在前 (向右行驶的情况2-向右编号在前 3-向右属性在前)
left_first: 0
# (向左行驶的情况0-向左编号在前 1-向左属性在前) 2-向右编号在前 3-向右属性在前
right_first: 3
# 识别区域
identify_areas: [120, 0, 1800, 1080]
# 识别参数
identify:
# 运行方式
run_mode: "always" #[always; command]
# 是否开启动态检测
need_move_detect_flag: true
# 识别方向 [LEFT,RIGHT,ALL]
identify_direction: "LEFT"
# 大框帧跨度(比一个大框从出现到消失的跨度稍大一点, 跟跳帧有关系)
partition_frame_span: 20
# 大框帧跨度的位置像素差异
split_frame_span_px: 200
# 每帧大框位置差异最小值 (持续小于此值,则可能停车)
chkstop_px: 15
# 持续X次续位置差异小于gc_chkstop_px则判断为停车。
chkstop_count: 10
# 过滤最小大框高度(不需要的话就写个很小的值)
num_frame_height: 150
pro_frame_height: 120
# 过滤最大框宽度(不需要的话就写个很大的值)
space_frame_width: 500
# 是否识别车头
train_heard_detect: false
# 是否识别集装箱
container_detect: false
# websocket_server 的服务端参数
wsocket_server:
is_use: false
port: 7071
max_queue_len: 10
# http 接口
http_server:
# 使用状态
is_use: false
# 服务器IP
http_ip: 192.168.2.108
# 通讯端口
http_port: 20004
# 获取接口授权地址
token_path: "/api/blade-auth/oauth/token"
# 识别结果上传地址
up_result_path: "/api/train-carriage/identification/rfid-save"
# 设备状态上传地址
device_status_url: ""
# 接口用户名
username: "guest_01"
# 接口密码
password: "d55b0f642e817eea24725d2f2a31dd08"
# minio 服务配置
minio:
# 使用状态
is_use: false
# 服务地址
url: "http://192.168.32.134:19000"
# 通讯授权
accesskey: "OpgVbHoeDLUBWjQkN3NS"
# 密钥授权
secretkey: "fc0sDwKTq2N7ZVl2iJk36WUZgL5EtNLTjRVtIzNM"
# 容器名
bucket: "train"

View File

@ -1,44 +0,0 @@
#use_deviceid:
# #engineid: deviceid
# 0: 0
#engine实例
engines:
ApiEngine: 0
VideoEngine: 0
VideoDecodeEngine: 0
MoveEngine: 0
SaveMoveImageEngine: 0
SaveMoveInfoEngine: 0
TrainStep1DataReadEngine: 0
TrainStep1InferenceEngine: 0
TrainStep1FilterEngine: 0
TrainDivideEngine: 0
TrainStep2DataReadEngine: 0
TrainStep2InferenceEngine: 0
TrainCharacterConversionEngine: 0
SelectBestEngine: 0
SaveResultCSVEngine: 0
ToHttpSrvEngine: 0
ToMinioSrvEngine: 0
SaveDebugImageEngine: 0
#engine连接
connects:
VideoEngine_0_0: "VideoDecodeEngine_0_0 1024"
VideoDecodeEngine_0_0: "MoveEngine_0_0 1024"
MoveEngine_0_0: "SaveMoveImageEngine_0_0 1024"
MoveEngine_0_1: "SaveMoveInfoEngine_0_0 1024"
SaveMoveImageEngine_0_0: "TrainStep1DataReadEngine_0_0 1024"
TrainStep1DataReadEngine_0_0: "TrainStep1InferenceEngine_0_0 1024"
TrainStep1InferenceEngine_0_0: "TrainStep1FilterEngine_0_0 1024"
TrainStep1FilterEngine_0_0: "TrainDivideEngine_0_0 1024"
TrainDivideEngine_0_0: "TrainStep2DataReadEngine_0_0 1024"
TrainStep2DataReadEngine_0_0: "TrainStep2InferenceEngine_0_0 1024"
TrainStep2InferenceEngine_0_0: "TrainCharacterConversionEngine_0_0 1024"
TrainCharacterConversionEngine_0_0: "SelectBestEngine_0_0 1024"
TrainCharacterConversionEngine_0_1: "SaveDebugImageEngine_0_0 1024"
SelectBestEngine_0_0: "SaveResultCSVEngine_0_0 1024"
SaveResultCSVEngine_0_0: "ToHttpSrvEngine_0_0 1024"
SaveResultCSVEngine_0_1: "ToMinioSrvEngine_0_0 1024"

View File

@ -1,47 +0,0 @@
# 动态检测
move_model:
model_path: "./model/step0/step0.engine"
score_threshold: 0
class: []
# 关键区域识别
train_step1_model:
model_path: "./model/step1/step1.engine"
score_threshold: 0.6
class: [ "HEADNUM",
"PROPERTY",
"TYPENUM_K",
"TYPENUM_C",
"TYPENUM_P",
"TYPENUM_G",
"TYPENUM_N",
"MAINTENFLAG",
"TYPENUM_J",
"SPACE",
"SPACELK",
"SPACENX",
"SPACEG",
"SPACEP",
"SPACEJ",
"TYPENUM_W",
"SPACEW",
"SPACEM",
"SPACEU"
]
# 字符识别
train_step2_model:
model_path: "./model/step2/step2.engine"
score_threshold: 0.7
class: ["0","1","2","3","4","5","6","7","8","9",
"A","B","C","D","E","F","G","H","I","J","K","L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V","W", "X", "Y", "Z",
"change", "load", "m", "self", "t", "volume", "meter",")", "(", "?", "-"
]
# 集装箱关键区域识别
container_step1_model:
model_path: "./model/container_step1/con1.engine"
score_threshold: 0.6
class: []
# 集装箱字符识别
container_step2_model:
model_path: "./model/container_step2/con2.engine"
score_threshold: 0.7
class: []

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More