Files
detecttracking/说明文档.txt
2024-10-04 12:12:44 +08:00

129 lines
4.4 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

三个功能模块
1. Yolo + Tracker + Resnet, 其中 Resnet 的实现在./contrast中
track_reid.py
2. 轨迹分析模块,目录为:./tracking
(1) 基于模块Yolo + Tracker + Resnet的输出
tracking_test.py
(2) 基于测试过程数据track.data, tracking_output.data的输出
module_analysis.py
3. 比对分析模块,目录为:./contrast
2个场景1:11:n
1:1场景
(1) OneToOneCompare.txt
one2one_onsite.py
(2) 利用本地算法进行特征提取
one2one_contrast.py
1:n场景
(1) 直接利用 deletedBarcode.txt 中数据
one2n_contrast.py
(2) 构造取出、放入事件,设计不同的特征,
feat_select.py
具体实现:
./tracking
tracking_test.py
have_tracked():
轨迹分析测试。遍历track_reid.py输出的文件夹trackdict下的所有.pkl文件。
time_test.py
统计Pipeline整体流程中各模块耗时
module_analysis.py
该模块中需要借助 try...except... 捕获data文件中的异常
main():
遍历文件夹下的每一个子文件夹对子文件夹执行tracking_simulate() 函数;
main_loop()
(1) 根据 deletedBarcode.txt 生成事件对,并利用事件对生成存储地址
(2) 调用 tracking_simulate() 函数
tracking_simulate(eventpath, savepath)
(1) 根据event_names获取事件名enent_name
(2) 遍历并执行 eventpath 文件夹下的 0_track.data、1_track.data 文件并调用do_tracking() 执行
(3) 将前后摄、本地与现场工8幅子图合并为1幅大图。
上下子图分别显示的是前后摄每一行4个子图分别为
(a) tracker输出原始轨迹;
(b) 本地tracking输出;
(c) 现场算法轨迹选择前轨迹;
(d) 现场算法轨迹选择后的轨迹
do_tracking(fpath, savedir, event_name)
inputs
fpath: 0/1_track.data文件并核验是否存在 0/1_tracking_output.data若不存在该文件直接返回 None, None
savedir: 在该文件夹下会建立3个子文件夹及一个png轨迹图
./savedir/event_name
./savedir/event_name_subimgs
./savedir/trajectory
./savedir/event_name_ts.png
outputs:
img_tracking本机tracker、tracking 输出的结果比较图
abimg: 部署算法的tracking、轨迹选择分析比较图
./utils/read_data.py
0/1_track.data 文件保存yolo、Resnet、tracker、tracking模块的输出
函数: extract_data(datapath)
异常排除:
(1) assert len(boxes)==len(feats)确保每一帧内boxes数和feats数相等
(2) assert(len(bboxes)==len(ffeats)), 确保关于bboxes的帧数和关于ffeats的帧数相等
(3) assert(len(trackerboxes)==len(trackerfeats))确保tracker输出的boxes可以对应到相应的feats上
这里未对 len(box)!=9、len(feat)!=256, 的情况做出约束
输出:
bboxes
ffeats
trackerboxes
tracker_feat_dict[f"frame_{fid}"]["feats"]{{bid}: (256,)
}
trackingboxes
tracking_feat_dict[f"track_{tid}"]["feats"]{f"{fid}_{bid}": tracker_feat_dict[f"frame_{fid}"]["feats"][bid]})
0/1_tracking_output.data 文件保存用于比对的boxes、features
函数: read_tracking_output(filepath)
异常排除:
(1) assert len(feats)==len(boxes)
(2) box.size==9、feat.size=256
./deprecated/contrast_one2one.py
1:1 比对评估。have Deprecated!
./enentmatch.py
1:n 模拟测试have Deprecated!
./contrast
feat_similar.py
similarity_compare_sequence(root_dir)
inputs:
root_dir文件夹包含"subimgs"字段,对该文件夹中的相邻图像进行相似度比较
silimarity_compare()
功能对imgpaths文件夹中的图像进行相似度比较
feat_select.py
creatd_deletedBarcode_front(filepath)
(1) 基于 deletedBarcode.txt, 构造取出事件和相应的放入事件,构成列表并更新这些列表。
MatchList = [(getout_event, InputList), ...]
(2) 设计不同的特征选择方式,计算 getout 事件和各 input 事件的相似度,并保存于文件:
deletedBarcodeTest.txt
precision_compare(filepath, savepath)
读取 deletedBarcode.txt 和 deletedBarcodeTest.txt 中的数据,进行相似度比较
one2n_contrast.py
1:n 比对,读取 deletedBarcode.txt实现现场测试评估。
main():
循环读取不同文件夹中的 deletedBarcode.txt合并评估。
main1():
指定deletedBarcode.txt进行1:n性能评估