guoqing bakeup

This commit is contained in:
王庆刚
2024-10-04 12:12:44 +08:00
parent 09e92d63b3
commit 390c5d2d94
37 changed files with 1409 additions and 219 deletions

Binary file not shown.

7
contrast/__init__.py Normal file
View File

@ -0,0 +1,7 @@
# -*- coding: utf-8 -*-
"""
Created on Thu Sep 26 08:53:58 2024
@author: ym
"""

Binary file not shown.

View File

@ -1,4 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""
@author: LiChen
"""
import os import os
import os.path as osp import os.path as osp
import pdb import pdb

View File

@ -13,10 +13,10 @@ import matplotlib.pyplot as plt
import sys import sys
sys.path.append(r"D:\DetectTracking") sys.path.append(r"D:\DetectTracking")
from tracking.utils.read_data import extract_data, read_deletedBarcode_file, read_tracking_output from tracking.utils.read_data import extract_data, read_deletedBarcode_file, read_tracking_output
from tracking.dotrack.dotracks import Track # from tracking.dotrack.dotracks import Track
from tracking.contrast_analysis import compute_recall_precision, show_recall_prec from one2n_contrast import compute_recall_precision, show_recall_prec
from tracking.contrast_analysis import performance_evaluate from one2n_contrast import performance_evaluate
def compute_similar(feat1, feat2): def compute_similar(feat1, feat2):

View File

@ -1,60 +1,104 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
Created on Fri Aug 9 10:36:45 2024 Created on Fri Aug 9 10:36:45 2024
分析图像对间的相似度
@author: ym @author: ym
""" """
import os import os
import cv2 import cv2
import numpy as np import numpy as np
import torch import torch
import sys import sys
from scipy.spatial.distance import cdist from scipy.spatial.distance import cdist
sys.path.append(r"D:\DetectTracking")
from tracking.trackers.reid.reid_interface import ReIDInterface ''' 加载 LC 定义的模型形式'''
from tracking.trackers.reid.config import config as ReIDConfig from config import config as conf
ReIDEncoder = ReIDInterface(ReIDConfig) from model import resnet18 as resnet18
from test_ori import inference_image
##============ load resnet mdoel
model = resnet18().to(conf.device)
# model = nn.DataParallel(model).to(conf.device)
model.load_state_dict(torch.load(conf.test_model, map_location=conf.device))
model.eval()
print('load model {} '.format(conf.testbackbone))
IMG_FORMAT = ['.bmp', '.jpg', '.JPG', '.jpeg', '.png']
# =============================================================================
# ''' 加载REID中定义的模型形式'''
# sys.path.append(r"D:\DetectTracking")
# from tracking.trackers.reid.reid_interface import ReIDInterface
# from tracking.trackers.reid.config import config as ReIDConfig
# ReIDEncoder = ReIDInterface(ReIDConfig)
#
# def inference_image_ReID(images):
# batch_patches = []
# patches = []
# for d, img1 in enumerate(images):
#
#
# img = img1[:, :, ::-1].copy() # the model expects RGB inputs
# patch = ReIDEncoder.transform(img)
#
# # patch = patch.to(device=self.device).half()
# if str(ReIDEncoder.device) != "cpu":
# patch = patch.to(device=ReIDEncoder.device).half()
# else:
# patch = patch.to(device=ReIDEncoder.device)
#
# patches.append(patch)
# if (d + 1) % ReIDEncoder.batch_size == 0:
# patches = torch.stack(patches, dim=0)
# batch_patches.append(patches)
# patches = []
#
# if len(patches):
# patches = torch.stack(patches, dim=0)
# batch_patches.append(patches)
#
# features = np.zeros((0, ReIDEncoder.embedding_size))
# for patches in batch_patches:
# pred = ReIDEncoder.model(patches)
# pred[torch.isinf(pred)] = 1.0
# feat = pred.cpu().data.numpy()
# features = np.vstack((features, feat))
#
# return features
# =============================================================================
def inference_image(images): def silimarity_compare():
batch_patches = []
patches = [] imgpaths = r"D:\DetectTracking\contrast\images\2"
for d, img1 in enumerate(images):
img = img1[:, :, ::-1].copy() # the model expects RGB inputs filepaths = []
patch = ReIDEncoder.transform(img) for root, dirs, filenames in os.walk(imgpaths):
for filename in filenames:
file, ext = os.path.splitext(filename)
if ext not in IMG_FORMAT: continue
# patch = patch.to(device=self.device).half() file_path = os.path.join(root, filename)
if str(ReIDEncoder.device) != "cpu": filepaths.append(file_path)
patch = patch.to(device=ReIDEncoder.device).half()
else:
patch = patch.to(device=ReIDEncoder.device)
patches.append(patch) feature = inference_image(filepaths, conf.test_transform, model, conf.device)
if (d + 1) % ReIDEncoder.batch_size == 0: feature /= np.linalg.norm(feature, axis=1)[:, None]
patches = torch.stack(patches, dim=0)
batch_patches.append(patches)
patches = []
if len(patches): similar = 1 - np.maximum(0.0, cdist(feature, feature, metric='cosine'))
patches = torch.stack(patches, dim=0)
batch_patches.append(patches)
features = np.zeros((0, ReIDEncoder.embedding_size))
for patches in batch_patches:
pred = ReIDEncoder.model(patches)
pred[torch.isinf(pred)] = 1.0
feat = pred.cpu().data.numpy()
features = np.vstack((features, feat))
return features
def similarity_compare(root_dir): print("Done!")
def similarity_compare_sequence(root_dir):
''' '''
root_dir包含 "subimgs"字段的文件夹中图像为 subimg子图 root_dir包含 "subimgs"字段的文件夹中图像为 subimg子图
功能:相邻帧子图间相似度比较 功能:相邻帧子图间相似度比较
''' '''
all_files = [] all_files = []
@ -83,7 +127,7 @@ def similarity_compare(root_dir):
hb, wb = imgb.shape[:2] hb, wb = imgb.shape[:2]
feats = inference_image(((imga, imgb))) feats = inference_image_ReID(((imga, imgb)))
similar = 1 - np.maximum(0.0, cdist(feats, feats, metric='cosine')) similar = 1 - np.maximum(0.0, cdist(feats, feats, metric='cosine'))
@ -111,7 +155,6 @@ def similarity_compare(root_dir):
ha, wa = imga.shape[:2] ha, wa = imga.shape[:2]
return return
@ -119,7 +162,7 @@ def main():
root_dir = r"D:\contrast\dataset\result\20240723-112242_6923790709882" root_dir = r"D:\contrast\dataset\result\20240723-112242_6923790709882"
try: try:
similarity_compare(root_dir) similarity_compare_sequence(root_dir)
except Exception as e: except Exception as e:
print(f'Error: {e}') print(f'Error: {e}')
@ -127,5 +170,31 @@ def main():
if __name__ == '__main__': if __name__ == '__main__':
main() # main()
silimarity_compare()

View File

@ -16,9 +16,10 @@ import shutil
import numpy as np import numpy as np
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
import cv2 import cv2
from utils.plotting import Annotator, colors
import sys import sys
sys.path.append(r"D:\DetectTracking") sys.path.append(r"D:\DetectTracking")
from tracking.utils.plotting import Annotator, colors
from tracking.utils.read_data import extract_data, read_deletedBarcode_file, read_tracking_output from tracking.utils.read_data import extract_data, read_deletedBarcode_file, read_tracking_output
from tracking.utils.plotting import draw_tracking_boxes from tracking.utils.plotting import draw_tracking_boxes

View File

@ -40,6 +40,7 @@ from scipy.spatial.distance import cdist
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
import shutil import shutil
from datetime import datetime from datetime import datetime
from openpyxl import load_workbook, Workbook
# Vit版resnet, 和现场特征不一致需将resnet_vit中文件提出 # Vit版resnet, 和现场特征不一致需将resnet_vit中文件提出
# from config import config as conf # from config import config as conf
@ -56,7 +57,7 @@ from tracking.utils.read_data import extract_data, read_tracking_output, read_de
from config import config as conf from config import config as conf
from model import resnet18 as resnet18 from model import resnet18 as resnet18
from test_ori import inference_image from feat_inference import inference_image
IMG_FORMAT = ['.bmp', '.jpg', '.jpeg', '.png'] IMG_FORMAT = ['.bmp', '.jpg', '.jpeg', '.png']
@ -100,13 +101,13 @@ def creat_shopping_event(eventPath, subimgPath=False):
'''================ 0. 检查 filename 及 eventPath 正确性和有效性 ================''' '''================ 0. 检查 filename 及 eventPath 正确性和有效性 ================'''
nmlist = eventName.split('_') nmlist = eventName.split('_')
if eventName.find('2024')<0 or len(nmlist)!=2 or len(nmlist[0])!=15 or len(nmlist[1])<11: # if eventName.find('2024')<0 or len(nmlist)!=2 or len(nmlist[0])!=15 or len(nmlist[1])<11:
# return
if eventName.find('2024')<0 or len(nmlist)!=2 or len(nmlist[1])<11:
return return
if not os.path.isdir(eventPath): if not os.path.isdir(eventPath):
return return
'''================ 1. 构造事件描述字典,暂定 9 items ===============''' '''================ 1. 构造事件描述字典,暂定 9 items ==============='''
event = {} event = {}
event['barcode'] = eventName.split('_')[1] event['barcode'] = eventName.split('_')[1]
@ -293,10 +294,10 @@ def get_std_barcodeDict(bcdpath, savepath):
imgpaths.append(imgpath) imgpaths.append(imgpath)
stdBarcodeDict[barcode].extend(imgpaths) stdBarcodeDict[barcode].extend(imgpaths)
# pickpath = os.path.join(savepath, f"{barcode}.pickle") pickpath = os.path.join(savepath, f"{barcode}.pickle")
# with open(pickpath, 'wb') as f: with open(pickpath, 'wb') as f:
# pickle.dump(stdBarcodeDict, f) pickle.dump(stdBarcodeDict, f)
# print(f"Barcode: {barcode}") print(f"Barcode: {barcode}")
# k += 1 # k += 1
# if k == 10: # if k == 10:
@ -352,7 +353,6 @@ def batch_inference(imgpaths, batch):
feature = featurize(group, conf.test_transform, model, conf.device) feature = featurize(group, conf.test_transform, model, conf.device)
features.append(feature) features.append(feature)
features = np.concatenate(features, axis=0) features = np.concatenate(features, axis=0)
return features return features
def stdfeat_infer(imgPath, featPath, bcdSet=None): def stdfeat_infer(imgPath, featPath, bcdSet=None):
@ -371,9 +371,15 @@ def stdfeat_infer(imgPath, featPath, bcdSet=None):
stdBarcodeDict = {} stdBarcodeDict = {}
stdBarcodeDict_ft16 = {} stdBarcodeDict_ft16 = {}
'''4处同名: (1)barcode原始图像文件夹; (2)imgPath中的 .pickle 文件名、该pickle文件中字典的key值'''
k = 0 k = 0
for filename in os.listdir(imgPath): for filename in os.listdir(imgPath):
bcd, ext = os.path.splitext(filename) bcd, ext = os.path.splitext(filename)
pkpath = os.path.join(featPath, f"{bcd}.pickle")
if os.path.isfile(pkpath): continue
if bcdSet is not None and bcd not in bcdSet: if bcdSet is not None and bcd not in bcdSet:
continue continue
@ -399,12 +405,8 @@ def stdfeat_infer(imgPath, featPath, bcdSet=None):
# uint8, 两种策略1) 精度损失小, 2) 计算复杂度小 # uint8, 两种策略1) 精度损失小, 2) 计算复杂度小
# stdfeat_uint8, _ = ft16_to_uint8(feature_ft16) # stdfeat_uint8, _ = ft16_to_uint8(feature_ft16)
stdfeat_uint8 = (feature_ft16*128).astype(np.int8) stdfeat_uint8 = (feature_ft16*128).astype(np.int8)
except Exception as e: except Exception as e:
print(f"Error accured at: {filename}, with Exception is: {e}") print(f"Error accured at: {filename}, with Exception is: {e}")
@ -414,33 +416,30 @@ def stdfeat_infer(imgPath, featPath, bcdSet=None):
stdbDict["imgpaths"] = imgpaths stdbDict["imgpaths"] = imgpaths
stdbDict["feats"] = feature stdbDict["feats"] = feature
pkpath = os.path.join(featPath, f"{barcode}.pickle") # pkpath = os.path.join(featPath, f"{barcode}.pickle")
with open(pkpath, 'wb') as f: with open(pkpath, 'wb') as f:
pickle.dump(stdbDict, f) pickle.dump(stdbDict, f)
stdBarcodeDict[barcode] = feature stdBarcodeDict[barcode] = feature
##================== float16 ##================== float16
stdbDict_ft16["barcode"] = barcode # stdbDict_ft16["barcode"] = barcode
stdbDict_ft16["imgpaths"] = imgpaths # stdbDict_ft16["imgpaths"] = imgpaths
stdbDict_ft16["feats"] = feature_ft16 # stdbDict_ft16["feats"] = feature_ft16
pkpath_ft16 = os.path.join(featPath, f"{barcode}_ft16.pickle") # pkpath_ft16 = os.path.join(featPath, f"{barcode}_ft16.pickle")
with open(pkpath_ft16, 'wb') as f: # with open(pkpath_ft16, 'wb') as f:
pickle.dump(stdbDict_ft16, f) # pickle.dump(stdbDict_ft16, f)
stdBarcodeDict_ft16[barcode] = pkpath_ft16 # stdBarcodeDict_ft16[barcode] = pkpath_ft16
##================== uint8 ##================== uint8
stdbDict_uint8["barcode"] = barcode # stdbDict_uint8["barcode"] = barcode
stdbDict_uint8["imgpaths"] = imgpaths # stdbDict_uint8["imgpaths"] = imgpaths
stdbDict_uint8["feats"] = stdfeat_uint8 # stdbDict_uint8["feats"] = stdfeat_uint8
pkpath_uint8 = os.path.join(featPath, f"{barcode}_uint8.pickle") # pkpath_uint8 = os.path.join(featPath, f"{barcode}_uint8.pickle")
with open(pkpath_uint8, 'wb') as f: # with open(pkpath_uint8, 'wb') as f:
pickle.dump(stdbDict_uint8, f) # pickle.dump(stdbDict_uint8, f)
# stdBarcodeDict_ft16[barcode] = pkpath_ft16
t2 = time.time() t2 = time.time()
print(f"Barcode: {barcode}, need time: {t2-t1:.1f} secs") print(f"Barcode: {barcode}, need time: {t2-t1:.1f} secs")
@ -448,7 +447,7 @@ def stdfeat_infer(imgPath, featPath, bcdSet=None):
# if k == 10: # if k == 10:
# break # break
##================== float32
# pickpath = os.path.join(featPath, f"barcode_features_{k}.pickle") # pickpath = os.path.join(featPath, f"barcode_features_{k}.pickle")
# with open(pickpath, 'wb') as f: # with open(pickpath, 'wb') as f:
# pickle.dump(stdBarcodeDict, f) # pickle.dump(stdBarcodeDict, f)
@ -478,6 +477,7 @@ def contrast_performance_evaluate(resultPath):
evtList = [(p.stem, p.stem.split('_')[1]) for p in Path(eventFeatPath).iterdir() evtList = [(p.stem, p.stem.split('_')[1]) for p in Path(eventFeatPath).iterdir()
if p.is_file() if p.is_file()
and str(p).find('240910')>0
and p.suffix=='.pickle' and p.suffix=='.pickle'
and len(p.stem.split('_'))==2 and len(p.stem.split('_'))==2
and p.stem.split('_')[1].isdigit() and p.stem.split('_')[1].isdigit()
@ -487,7 +487,7 @@ def contrast_performance_evaluate(resultPath):
barcodes = set([bcd for _, bcd in evtList]) barcodes = set([bcd for _, bcd in evtList])
'''标准特征集图像样本经特征提取并保存,运行一次后无需再运行''' '''标准特征集图像样本经特征提取并保存,运行一次后无需再运行'''
# stdfeat_infer(stdBarcodePath, stdFeaturePath, barcodes) stdfeat_infer(stdBarcodePath, stdFeaturePath, barcodes)
'''========= 构建用于比对的标准特征字典 =============''' '''========= 构建用于比对的标准特征字典 ============='''
stdDict = {} stdDict = {}
@ -639,6 +639,7 @@ def compute_precise_recall(pickpath):
file, ext = os.path.splitext(pickfile) file, ext = os.path.splitext(pickfile)
if ext != '.pickle': return if ext != '.pickle': return
if file.find('ft16') < 0: return
with open(pickpath, 'rb') as f: with open(pickpath, 'rb') as f:
results = pickle.load(f) results = pickle.load(f)
@ -717,7 +718,8 @@ def generate_event_and_stdfeatures():
'''=========================== 2. 提取并存储事件特征 ========================''' '''=========================== 2. 提取并存储事件特征 ========================'''
eventDatePath = [# r'\\192.168.1.28\share\测试_202406\0723\0723_1', eventDatePath = [r'\\192.168.1.28\share\测试_202406\0910\images',
# r'\\192.168.1.28\share\测试_202406\0723\0723_1',
# r'\\192.168.1.28\share\测试_202406\0723\0723_2', # r'\\192.168.1.28\share\测试_202406\0723\0723_2',
# r'\\192.168.1.28\share\测试_202406\0723\0723_3', # r'\\192.168.1.28\share\测试_202406\0723\0723_3',
# r'\\192.168.1.28\share\测试_202406\0722\0722_01', # r'\\192.168.1.28\share\测试_202406\0722\0722_01',
@ -751,12 +753,12 @@ def generate_event_and_stdfeatures():
# break # break
## 保存轨迹中 boxes 子图 ## 保存轨迹中 boxes 子图
# for event in eventList: for event in eventList:
# basename = os.path.basename(event['filepath']) basename = os.path.basename(event['filepath'])
# savepath = os.path.join(subimgPath, basename) savepath = os.path.join(subimgPath, basename)
# if not os.path.exists(savepath): if not os.path.exists(savepath):
# os.makedirs(savepath) os.makedirs(savepath)
# save_event_subimg(event, savepath) save_event_subimg(event, savepath)
print("eventList have generated and features have saved!") print("eventList have generated and features have saved!")
@ -794,18 +796,18 @@ def ft16_to_uint8(arr_ft16):
def main(): def main():
generate_event_and_stdfeatures() # generate_event_and_stdfeatures()
# contrast_performance_evaluate(resultPath) contrast_performance_evaluate(resultPath)
# for filename in os.listdir(resultPath): for filename in os.listdir(resultPath):
# if filename.find('.pickle') < 0: continue if filename.find('.pickle') < 0: continue
# # if filename.find('0909') < 0: continue if filename.find('0911') < 0: continue
# pickpath = os.path.join(resultPath, filename) pickpath = os.path.join(resultPath, filename)
# compute_precise_recall(pickpath) compute_precise_recall(pickpath)
def main_std(): def main_std():
std_sample_path = r"\\192.168.1.28\share\已标注数据备份\对比数据\barcode\barcode_500_1979_已清洗" std_sample_path = r"\\192.168.1.28\share\已标注数据备份\对比数据\barcode\barcode_500_2192_已清洗"
std_barcode_path = r"\\192.168.1.28\share\测试_202406\contrast\std_barcodes_2192" std_barcode_path = r"\\192.168.1.28\share\测试_202406\contrast\std_barcodes_2192"
std_feature_path = r"\\192.168.1.28\share\测试_202406\contrast\std_features_2192_ft32vsft16" std_feature_path = r"\\192.168.1.28\share\测试_202406\contrast\std_features_2192_ft32vsft16"
@ -824,7 +826,8 @@ def main_std():
# print("done") # print("done")
if __name__ == '__main__': if __name__ == '__main__':
main() # main()
# main_std() # main_std()

View File

@ -40,29 +40,22 @@ def read_one2one_data(filepath):
return simiList return simiList
def main(): def plot_pr_curve(matrix):
filepath = r"\\192.168.1.28\share\测试_202406\0910\images\OneToOneCompare.txt"
simiList = read_one2one_data(filepath)
simimax, simimean = [], [] simimax, simimean = [], []
small = [] need_analysis = []
for simidict in simiList: for simidict in matrix:
simimax.append(simidict["simi_max"]) simimax.append(simidict["simi_max"])
simimean.append(simidict["simi_min"]) simimean.append(simidict["simi_min"])
if simidict["simi_max"]<0.6: if simidict["simi_max"]>0.6:
small.append(simidict) need_analysis.append(simidict)
simimax = np.array(simimax) simimax = np.array(simimax)
simimean = np.array(simimean) simimean = np.array(simimean)
TPFN_max = len(simimax) TPFN_max = len(simimax)
TPFN_mean = len(simimean) TPFN_mean = len(simimean)
fig, axs = plt.subplots(2, 1) fig, axs = plt.subplots(2, 1)
axs[0].hist(simimax, bins=60, edgecolor='black') axs[0].hist(simimax, bins=60, edgecolor='black')
axs[0].set_xlim([-0.2, 1]) axs[0].set_xlim([-0.2, 1])
@ -72,13 +65,11 @@ def main():
axs[1].set_title(f'Cross Barcode, Num: {TPFN_mean}') axs[1].set_title(f'Cross Barcode, Num: {TPFN_mean}')
# plt.savefig(f'./result/{file}_hist.png') # svg, png, pdf # plt.savefig(f'./result/{file}_hist.png') # svg, png, pdf
Recall_Pos = [] Recall_Pos = []
Thresh = np.linspace(-0.2, 1, 100) Thresh = np.linspace(-0.2, 1, 100)
for th in Thresh: for th in Thresh:
TP = np.sum(simimax > th) TN = np.sum(simimax < th)
Recall_Pos.append(TP/TPFN_max) Recall_Pos.append(TN/TPFN_max)
fig, ax = plt.subplots() fig, ax = plt.subplots()
ax.plot(Thresh, Recall_Pos, 'b', label='Recall_Pos: TP/TPFN') ax.plot(Thresh, Recall_Pos, 'b', label='Recall_Pos: TP/TPFN')
@ -92,18 +83,47 @@ def main():
# plt.savefig(f'./result/{file}_pr.png') # svg, png, pdf # plt.savefig(f'./result/{file}_pr.png') # svg, png, pdf
print("Have done!") print("Have done!")
pass
def main():
filepaths = [r"\\192.168.1.28\share\测试_202406\0913_扫A放B\0913_1\OneToOneCompare.txt",
r"\\192.168.1.28\share\测试_202406\0913_扫A放B\0913_2\OneToOneCompare.txt",
r"\\192.168.1.28\share\测试_202406\0914_扫A放B\0914_1\OneToOneCompare.txt",
r"\\192.168.1.28\share\测试_202406\0914_扫A放B\0914_2\OneToOneCompare.txt"
]
simiList = []
for fp in filepaths:
slist = read_one2one_data(fp)
simiList.extend(slist)
plot_pr_curve(simiList)
if __name__ == "__main__": if __name__ == "__main__":
main() main()

View File

@ -0,0 +1,202 @@
same, 6901668936684, 20240910-173355-1bbf290e-1f14-4ba8-b666-82c990c4eea3_6901668936684, 0.268, 0.659, 0.506
same, 6902088131437, 20240910-173847-9eedb2ac-e3a5-4d07-94fe-f7e881d67418_6902088131437, 0.582, 0.979, 0.806
same, 6904682300226, 20240910-171800-76a062fd-409c-480f-94f4-fd0e65d72467_6904682300226, 0.173, 0.830, 0.372
same, 6970399922365, 20240910-172352-9b79a4d9-092f-477d-a7a4-8af079d1538d_6970399922365, 0.226, 0.774, 0.597
same, 6902265202318, 20240910-170331-e3ee7cf5-dda2-4d0b-b8c9-4fb411fe78ec_6902265202318, 0.557, 0.922, 0.803
same, 6907992517780, 20240910-163802-6b9f0129-8497-467f-a506-5708eda436a4_6907992517780, 0.354, 0.761, 0.848
same, 6902132084337, 20240910-172403-dbc9de02-2811-449c-961f-23e7a16877d7_6902132084337, 0.406, 0.774, 0.850
same, 6901668934888, 20240910-164315-38c640ba-cdf3-4ac1-8bff-55fe5d0560bb_6901668934888, 0.290, 0.598, 0.621
same, 8000500023976, 20240910-173323-78dc658e-e4ef-49e1-a2ff-9ada34c27a85_8000500023976, 0.495, 0.825, 0.792
same, 6904682300219, 20240910-164323-8e9a882a-a502-4a6e-bd99-70deb2130f57_6904682300219, 0.278, 0.782, 0.551
same, 6903148231623, 20240910-163750-8e13e800-21d0-4bd9-b686-18ed213460cd_6903148231623, 0.320, 0.870, 0.718
same, 6904682300219, 20240910-170920-dc16c149-06a3-4c2d-9bec-e930274b55ce_6904682300219, 0.217, 0.697, 0.418
same, 6902890218470, 20240910-172802-0dbe3709-bd0c-45e7-ad36-0cfc9781ef1b_6902890218470, 0.198, 0.690, 0.538
same, 6901668934888, 20240910-165620-0b870f0d-88a5-4286-bcbf-b0ebb41ddcfc_6901668934888, 0.325, 0.710, 0.689
same, 6902088131437, 20240910-163846-7793e886-9f09-4744-9e24-eb47d65c09f5_6902088131437, 0.450, 0.983, 0.784
same, 6901070600142, 20240910-170742-f78b59da-e242-42c9-ac7a-bba23ff11aff_6901070600142, 0.295, 0.728, 0.668
same, 8993175540667, 20240910-172814-d17bd016-b8e5-4a21-a137-6bce693e0cb0_8993175540667, 0.418, 0.859, 0.687
same, 6901668929730, 20240910-162930-ec2bb380-53fe-483f-9aab-9038643ebd1f_6901668929730, 0.549, 0.853, 0.888
same, 6970399922365, 20240910-173332-55f8124d-7ab0-4a7a-8b08-f4dd9ba06502_6970399922365, 0.330, 0.766, 0.817
same, 6901668929730, 20240910-173214-5b86868f-cb5b-4b7f-8f3a-aff08d89900d_6901668929730, 0.529, 0.849, 0.864
same, 6903148048801, 20240910-172904-5462ad91-2a07-4116-898f-ff1d2021e6af_6903148048801, 0.444, 0.865, 0.769
same, 6901668934628, 20240910-171838-c77a6d0d-185b-48e7-9af9-05de561f1172_6901668934628, 0.489, 0.930, 0.758
same, 6902890218470, 20240910-170934-74c137ee-0689-42d0-9994-da8ba59fd5db_6902890218470, 0.251, 0.738, 0.652
same, 6949909050041, 20240910-162952-f6ec3a40-9d64-4f20-b122-0b81eb4a2134_6949909050041, 0.384, 0.870, 0.714
same, 6901668934888, 20240910-172841-9d7b16fb-4200-4089-b4b2-925da10208ed_6901668934888, 0.336, 0.778, 0.751
same, 6901668936271, 20240910-165632-a1e22655-d9ad-47f5-a467-55718bd1e23e_6901668936271, 0.121, 0.604, 0.257
same, 6904682300226, 20240910-163718-e1e09ad9-7a7e-4b43-beb7-47080c0a312e_6904682300226, 0.297, 0.847, 0.651
same, 6903148126677, 20240910-173233-81246d1d-bbf3-4ee2-b6c1-7f8fe5818266_6903148126677, 0.422, 0.814, 0.717
same, 6924743915848, 20240910-162836-186bdf15-5ebb-4b55-a3a4-47edea86a7ee_6924743915848, 0.285, 0.697, 0.640
same, 6902132084337, 20240910-173222-8abca736-4b5d-4b8e-8e53-206809f37082_6902132084337, 0.350, 0.819, 0.857
same, 8993175537322, 20240910-170945-c5a587f8-925a-46c2-b2f4-b8fe0fa41c90_8993175537322, 0.349, 0.832, 0.611
same, 6902265202318, 20240910-162848-b0d67358-6f68-482a-94cb-d7de7414e32f_6902265202318, 0.392, 0.860, 0.695
same, 6907992517780, 20240910-173730-c51d9d00-65a2-4212-99f3-701092810919_6907992517780, 0.405, 0.815, 0.865
same, 6902265160502, 20240910-170318-706146af-c203-459a-b642-da428ce6426a_6902265160502, 0.162, 0.703, 0.531
same, 6903148347409, 20240910-162902-3de7f2a9-9068-4f61-a150-0bcc47194a43_6903148347409, 0.156, 0.693, 0.470
same, 6902265202318, 20240910-172023-a9b8c8b4-8030-4aa5-85fe-54cba57e745f_6902265202318, 0.378, 0.865, 0.694
same, 6903148126677, 20240910-171920-0a6490ce-547f-493d-b76a-4c849ae12a93_6903148126677, 0.496, 0.879, 0.796
same, 6901668936295, 20240910-164334-09d4e20e-68c8-48ca-b931-50e58428ef2a_6901668936295, 0.170, 0.631, 0.325
same, 6958104102516, 20240910-165604-0f805f9d-24f7-4729-923a-bff489a09323_6958104102516, 0.235, 0.731, 0.550
same, 6901668936684, 20240910-164409-053f810b-7369-4a3e-b91b-b7ba99fa5b9c_6901668936684, 0.230, 0.638, 0.450
same, 6902265150022, 20240910-170349-b357333c-e939-4ce5-8019-7762799a9097_6902265150022, 0.362, 0.927, 0.794
same, 6902890232216, 20240910-172828-0a20bffd-ede3-4b0c-977b-8652f52518f9_6902890232216, 0.255, 0.761, 0.626
same, 6902890232216, 20240910-170807-7bc77832-4cf1-4cd8-aa54-994ff164dcc7_6902890232216, 0.296, 0.695, 0.585
same, 6901668929730, 20240910-171715-a8fc6d8a-87bd-4fbd-b378-85e34193266f_6901668929730, 0.503, 0.848, 0.823
same, 6903148231623, 20240910-170258-38579506-3874-4d71-b9d2-ac6e47ca75dd_6903148231623, 0.256, 0.720, 0.506
same, 6902265150022, 20240910-172010-035f68e4-9b7c-40f7-961c-aa8c0f154252_6902265150022, 0.428, 0.940, 0.823
same, 6901668929518, 20240910-173344-258d27a2-b2e1-468e-8f32-40edcda94486_6901668929518, 0.361, 0.853, 0.721
same, 6901668934628, 20240910-170431-722e7de7-c7ef-4825-8080-be019c7f4602_6901668934628, 0.444, 0.882, 0.690
same, 6974158892364, 20240910-163028-418ab174-5722-4e8a-ae12-e8d3c33f70b5_6974158892364, 0.119, 0.684, 0.439
same, 6902890218470, 20240910-164251-a2a38e17-5532-49a5-9372-5a3ed8dc6972_6902890218470, 0.281, 0.689, 0.666
same, 6902265150022, 20240910-163814-9fc0324d-134a-46ee-bb79-6b2dfb6388f9_6902265150022, 0.308, 0.899, 0.682
same, 6901668929518, 20240910-170417-1ac149e8-4ecb-447c-a8b7-8d5b96e77ffa_6901668929518, 0.260, 0.821, 0.586
same, 6901668936271, 20240910-172745-96dc9808-4157-4806-856f-c7013452f302_6901668936271, 0.156, 0.617, 0.315
same, 6903148126677, 20240910-163857-736e50b8-eae8-4a6d-af26-ce3a57a073b8_6903148126677, 0.420, 0.891, 0.749
same, 6901668936684, 20240910-172445-4f28474f-5463-4b19-bc2d-671105764e27_6901668936684, 0.212, 0.675, 0.445
same, 6901668936295, 20240910-172754-d034ab2f-1b18-4d6a-a936-9fa538066253_6901668936295, 0.130, 0.630, 0.254
same, 8993175540667, 20240910-165644-2e79a878-caf1-44ca-851c-287848800d35_8993175540667, 0.565, 0.872, 0.821
same, 6901668929518, 20240910-172039-ebd2a496-c407-4450-b122-0e8f33e07de2_6901668929518, 0.341, 0.826, 0.726
same, 6902132084337, 20240910-162817-18813894-397a-4c94-8b90-2d7a46319793_6902132084337, 0.438, 0.794, 0.887
same, 6904682300219, 20240910-172257-9169e95d-ff11-4d31-98af-13df3f071840_6904682300219, 0.365, 0.804, 0.643
same, 6901668934628, 20240910-173306-a1409202-ea3d-47c4-aa39-9d17dae711cf_6901668934628, 0.489, 0.894, 0.770
same, 6902088131437, 20240910-172427-781eb94d-efb6-403c-b88f-f4b9df82fee0_6902088131437, 0.536, 0.980, 0.829
same, 9421903892324, 20240910-173757-b4ed1c60-a96b-48ad-a451-3caecd61c327_9421903892324, 0.421, 0.892, 0.755
same, 6901668936684, 20240910-170907-0e74383f-0341-4b90-b333-910e5a184296_6901668936684, 0.289, 0.672, 0.569
same, 8000500023976, 20240910-171014-ee1e7d74-0d89-4014-a125-7c9cdebb15fd_8000500023976, 0.286, 0.872, 0.660
same, 6901668929518, 20240910-164347-47377bae-2ca6-4d75-a076-e7f6c03d0f2e_6901668929518, 0.446, 0.847, 0.833
same, 6902265160502, 20240910-173409-55dd7611-7394-4783-9f4e-4639401078ea_6902265160502, 0.212, 0.857, 0.611
same, 6901668936684, 20240910-165525-e17864c9-e965-4531-be14-be551dad88fb_6901668936684, 0.149, 0.614, 0.344
same, 6901668934628, 20240910-162805-592cff06-4acb-420f-bc36-bb00f3e0efbb_6901668934628, 0.275, 0.870, 0.521
same, 6949909050041, 20240910-172919-ab2efd9a-a776-420f-95f5-2f8188f719e4_6949909050041, 0.401, 0.849, 0.792
same, 6907992517780, 20240910-171723-2f8a7ece-99cb-4d91-b484-67b486599f26_6907992517780, 0.391, 0.848, 0.838
same, 6902890218470, 20240910-165443-48bad32d-9f2b-499b-907d-c602cf563ee3_6902890218470, 0.281, 0.737, 0.774
same, 6904682300219, 20240910-165455-d0e36365-f7f2-4f2e-84a7-1ffc24ccc1c7_6904682300219, 0.424, 0.892, 0.792
same, 6904682300226, 20240910-170231-21568a27-641b-448d-8b8c-9eff4dfe7294_6904682300226, 0.257, 0.725, 0.636
same, 6903148048801, 20240910-163740-851d23c1-e90f-4947-abc3-f463991c5505_6903148048801, 0.422, 0.826, 0.784
same, 6902132084337, 20240910-170730-76626a74-34fb-486d-b889-4276552edb0e_6902132084337, 0.379, 0.831, 0.792
same, 9421903892324, 20240910-172316-ffa74ee4-46d5-4266-b362-ebfebed0c572_9421903892324, 0.304, 0.877, 0.548
same, 6904682300219, 20240910-173807-afdeec3a-0d6e-4db8-9baf-826b7d6b4660_6904682300219, 0.254, 0.770, 0.477
same, 6902890232216, 20240910-163838-9e6f0b38-2ffe-4727-9ec7-a02435b8f629_6902890232216, 0.264, 0.786, 0.593
same, 6901668936295, 20240910-165424-5d55263c-e523-495e-b673-fc53eaa68b05_6901668936295, 0.139, 0.542, 0.239
same, 6903148126677, 20240910-170403-c1b9db80-7ee0-4508-8858-1e3e1b924648_6903148126677, 0.351, 0.861, 0.602
same, 6901668929518, 20240910-172500-509a2d1e-e665-4fe6-8ffe-b69117d7b09f_6901668929518, 0.365, 0.821, 0.731
same, 6903148231623, 20240910-171824-2d3edfcd-c169-4c6e-9734-9325b72cf9fe_6903148231623, 0.176, 0.688, 0.359
same, 6901668929518, 20240910-173839-e4b3b834-c695-4917-b2f4-7cfaaebb98dc_6901668929518, 0.437, 0.874, 0.772
same, 6901668929730, 20240910-170447-3b37f76f-5e21-400b-a8a8-2376c0796ae6_6901668929730, 0.461, 0.852, 0.797
same, 6903148080085, 20240910-173314-d6ac3740-20f2-4aa7-a392-80a96b7607c3_6903148080085, 0.370, 0.860, 0.827
same, 6901070600142, 20240910-172734-8c23b385-99f7-4e01-819a-78c86611ff48_6901070600142, 0.201, 0.672, 0.442
same, 6958104102516, 20240910-164452-0f365052-2e4a-4d00-9cf7-0407d731d07e_6958104102516, 0.234, 0.866, 0.583
same, 6901070600142, 20240910-162749-ab186eb8-6777-489b-8ad0-c1c6e66b285d_6901070600142, 0.269, 0.727, 0.591
same, 8993175537322, 20240910-164432-008357d7-7ee6-49b9-8d08-3f3a6081c4e1_8993175537322, 0.450, 0.790, 0.785
same, 6975682480393, 20240910-163007-6dfc085b-42b9-432d-9c41-7bfd294526b6_6975682480393, 0.448, 0.835, 0.828
same, 6903148080085, 20240910-163825-e4de18e2-fe7c-4ff6-8b51-7ef2a7db7ed3_6903148080085, 0.351, 0.838, 0.766
same, 6903148231623, 20240910-172854-5fb70036-3089-4258-9346-de25d415f120_6903148231623, 0.423, 0.845, 0.782
same, 6949909050041, 20240910-170817-c2f8c500-3aa5-4bd2-bf82-787d0cd22585_6949909050041, 0.494, 0.893, 0.885
same, 6907992517780, 20240910-170246-e773b037-a712-4d78-accd-71c24b675365_6907992517780, 0.338, 0.737, 0.823
same, 6902265160502, 20240910-163907-1ac881ec-cac4-4811-9cab-1826731e77bd_6902265160502, 0.239, 0.833, 0.706
same, 6901668936271, 20240910-164239-e4d8f615-8cf3-483d-bc6e-03e470e2110c_6901668936271, 0.230, 0.615, 0.390
same, 8993175537322, 20240910-172328-48a512b9-4fb1-4abf-bca9-8b3443ce8f2b_8993175537322, 0.456, 0.783, 0.719
same, 8993175537322, 20240910-173819-226cc352-acdc-4419-9159-c97ae0eb58af_8993175537322, 0.455, 0.766, 0.717
same, 6901668929518, 20240910-165517-a0000cdf-aa15-42c8-a6be-dbce8cf7cb32_6901668929518, 0.406, 0.861, 0.759
same, 8000500023976, 20240910-172417-e9d563b9-74e2-4ec1-8f34-331424b48e72_8000500023976, 0.350, 0.853, 0.686
diff, 8993175537322, 20240910-173355-1bbf290e-1f14-4ba8-b666-82c990c4eea3_6901668936684, 0.017, 0.341, 0.030
diff, 6904682300226, 20240910-173847-9eedb2ac-e3a5-4d07-94fe-f7e881d67418_6902088131437, 0.007, 0.348, 0.013
diff, 8993175540667, 20240910-171800-76a062fd-409c-480f-94f4-fd0e65d72467_6904682300226, 0.038, 0.309, 0.067
diff, 6901668934628, 20240910-172352-9b79a4d9-092f-477d-a7a4-8af079d1538d_6970399922365, -0.003, 0.302, -0.006
diff, 6901668929518, 20240910-170331-e3ee7cf5-dda2-4d0b-b8c9-4fb411fe78ec_6902265202318, -0.023, 0.273, -0.038
diff, 6903148080085, 20240910-163802-6b9f0129-8497-467f-a506-5708eda436a4_6907992517780, 0.026, 0.408, 0.061
diff, 6970399922365, 20240910-172403-dbc9de02-2811-449c-961f-23e7a16877d7_6902132084337, 0.090, 0.479, 0.207
diff, 6904682300226, 20240910-164315-38c640ba-cdf3-4ac1-8bff-55fe5d0560bb_6901668934888, 0.072, 0.383, 0.142
diff, 6974158892364, 20240910-173323-78dc658e-e4ef-49e1-a2ff-9ada34c27a85_8000500023976, -0.044, 0.340, -0.117
diff, 6901668934888, 20240910-164323-8e9a882a-a502-4a6e-bd99-70deb2130f57_6904682300219, -0.017, 0.459, -0.042
diff, 6907992517780, 20240910-163750-8e13e800-21d0-4bd9-b686-18ed213460cd_6903148231623, 0.019, 0.391, 0.051
diff, 6901668934628, 20240910-170920-dc16c149-06a3-4c2d-9bec-e930274b55ce_6904682300219, 0.033, 0.331, 0.063
diff, 6901668936684, 20240910-172802-0dbe3709-bd0c-45e7-ad36-0cfc9781ef1b_6902890218470, -0.072, 0.270, -0.163
diff, 6907992517780, 20240910-165620-0b870f0d-88a5-4286-bcbf-b0ebb41ddcfc_6901668934888, 0.141, 0.460, 0.292
diff, 6958104102516, 20240910-163846-7793e886-9f09-4744-9e24-eb47d65c09f5_6902088131437, -0.022, 0.373, -0.053
diff, 8993175537322, 20240910-170742-f78b59da-e242-42c9-ac7a-bba23ff11aff_6901070600142, -0.018, 0.293, -0.033
diff, 6903148126677, 20240910-172814-d17bd016-b8e5-4a21-a137-6bce693e0cb0_8993175540667, -0.044, 0.356, -0.082
diff, 8993175540667, 20240910-162930-ec2bb380-53fe-483f-9aab-9038643ebd1f_6901668929730, -0.021, 0.349, -0.032
diff, 9421903892324, 20240910-173332-55f8124d-7ab0-4a7a-8b08-f4dd9ba06502_6970399922365, 0.033, 0.383, 0.062
diff, 6902890232216, 20240910-173214-5b86868f-cb5b-4b7f-8f3a-aff08d89900d_6901668929730, 0.076, 0.420, 0.151
diff, 6903148231623, 20240910-172904-5462ad91-2a07-4116-898f-ff1d2021e6af_6903148048801, 0.012, 0.309, 0.019
diff, 6924743915848, 20240910-171838-c77a6d0d-185b-48e7-9af9-05de561f1172_6901668934628, -0.069, 0.326, -0.147
diff, 6975682480393, 20240910-170934-74c137ee-0689-42d0-9994-da8ba59fd5db_6902890218470, 0.122, 0.628, 0.274
diff, 6975682480393, 20240910-162952-f6ec3a40-9d64-4f20-b122-0b81eb4a2134_6949909050041, 0.094, 0.647, 0.188
diff, 6907992517780, 20240910-172841-9d7b16fb-4200-4089-b4b2-925da10208ed_6901668934888, 0.157, 0.646, 0.343
diff, 6902265202318, 20240910-165632-a1e22655-d9ad-47f5-a467-55718bd1e23e_6901668936271, -0.006, 0.286, -0.011
diff, 6902890232216, 20240910-163718-e1e09ad9-7a7e-4b43-beb7-47080c0a312e_6904682300226, 0.066, 0.491, 0.157
diff, 9421903892324, 20240910-173233-81246d1d-bbf3-4ee2-b6c1-7f8fe5818266_6903148126677, -0.038, 0.450, -0.061
diff, 6902132084337, 20240910-162836-186bdf15-5ebb-4b55-a3a4-47edea86a7ee_6924743915848, -0.061, 0.267, -0.125
diff, 9421903892324, 20240910-173222-8abca736-4b5d-4b8e-8e53-206809f37082_6902132084337, 0.105, 0.454, 0.213
diff, 6901668934628, 20240910-170945-c5a587f8-925a-46c2-b2f4-b8fe0fa41c90_8993175537322, -0.089, 0.186, -0.148
diff, 6901668934888, 20240910-162848-b0d67358-6f68-482a-94cb-d7de7414e32f_6902265202318, -0.038, 0.352, -0.087
diff, 6902265202318, 20240910-173730-c51d9d00-65a2-4212-99f3-701092810919_6907992517780, 0.025, 0.325, 0.043
diff, 6902890232216, 20240910-170318-706146af-c203-459a-b642-da428ce6426a_6902265160502, 0.077, 0.540, 0.241
diff, 6903148126677, 20240910-162902-3de7f2a9-9068-4f61-a150-0bcc47194a43_6903148347409, -0.047, 0.247, -0.113
diff, 6903148347409, 20240910-172023-a9b8c8b4-8030-4aa5-85fe-54cba57e745f_6902265202318, 0.019, 0.312, 0.049
diff, 6904682300219, 20240910-171920-0a6490ce-547f-493d-b76a-4c849ae12a93_6903148126677, 0.022, 0.340, 0.033
diff, 6974158892364, 20240910-164334-09d4e20e-68c8-48ca-b931-50e58428ef2a_6901668936295, 0.035, 0.446, 0.108
diff, 6901070600142, 20240910-165604-0f805f9d-24f7-4729-923a-bff489a09323_6958104102516, 0.016, 0.385, 0.042
diff, 6901668934628, 20240910-164409-053f810b-7369-4a3e-b91b-b7ba99fa5b9c_6901668936684, -0.045, 0.563, -0.079
diff, 6924743915848, 20240910-170349-b357333c-e939-4ce5-8019-7762799a9097_6902265150022, -0.096, 0.342, -0.249
diff, 6903148126677, 20240910-172828-0a20bffd-ede3-4b0c-977b-8652f52518f9_6902890232216, 0.053, 0.326, 0.112
diff, 6904682300226, 20240910-170807-7bc77832-4cf1-4cd8-aa54-994ff164dcc7_6902890232216, 0.063, 0.430, 0.115
diff, 9421903892324, 20240910-171715-a8fc6d8a-87bd-4fbd-b378-85e34193266f_6901668929730, -0.066, 0.306, -0.107
diff, 6901668936684, 20240910-170258-38579506-3874-4d71-b9d2-ac6e47ca75dd_6903148231623, 0.062, 0.403, 0.131
diff, 6970399922365, 20240910-172010-035f68e4-9b7c-40f7-961c-aa8c0f154252_6902265150022, -0.044, 0.355, -0.101
diff, 6903148048801, 20240910-173344-258d27a2-b2e1-468e-8f32-40edcda94486_6901668929518, 0.077, 0.498, 0.147
diff, 6901668934888, 20240910-170431-722e7de7-c7ef-4825-8080-be019c7f4602_6901668934628, 0.001, 0.441, 0.001
diff, 6970399922365, 20240910-163028-418ab174-5722-4e8a-ae12-e8d3c33f70b5_6974158892364, 0.072, 0.537, 0.208
diff, 6975682480393, 20240910-164251-a2a38e17-5532-49a5-9372-5a3ed8dc6972_6902890218470, 0.112, 0.660, 0.231
diff, 6901668929518, 20240910-163814-9fc0324d-134a-46ee-bb79-6b2dfb6388f9_6902265150022, -0.067, 0.359, -0.146
diff, 6901070600142, 20240910-170417-1ac149e8-4ecb-447c-a8b7-8d5b96e77ffa_6901668929518, -0.033, 0.306, -0.085
diff, 6903148126677, 20240910-172745-96dc9808-4157-4806-856f-c7013452f302_6901668936271, 0.008, 0.361, 0.018
diff, 6903148347409, 20240910-163857-736e50b8-eae8-4a6d-af26-ce3a57a073b8_6903148126677, -0.008, 0.348, -0.017
diff, 6901668936271, 20240910-172445-4f28474f-5463-4b19-bc2d-671105764e27_6901668936684, 0.064, 0.555, 0.128
diff, 6901070600142, 20240910-172754-d034ab2f-1b18-4d6a-a936-9fa538066253_6901668936295, 0.189, 0.600, 0.448
diff, 6902265150022, 20240910-165644-2e79a878-caf1-44ca-851c-287848800d35_8993175540667, 0.036, 0.300, 0.064
diff, 6901668934888, 20240910-172039-ebd2a496-c407-4450-b122-0e8f33e07de2_6901668929518, 0.047, 0.373, 0.112
diff, 6958104102516, 20240910-162817-18813894-397a-4c94-8b90-2d7a46319793_6902132084337, -0.068, 0.247, -0.130
diff, 6902265160502, 20240910-172257-9169e95d-ff11-4d31-98af-13df3f071840_6904682300219, 0.046, 0.467, 0.106
diff, 6970399922365, 20240910-173306-a1409202-ea3d-47c4-aa39-9d17dae711cf_6901668934628, 0.023, 0.376, 0.049
diff, 6902265202318, 20240910-172427-781eb94d-efb6-403c-b88f-f4b9df82fee0_6902088131437, 0.017, 0.314, 0.030
diff, 6907992517780, 20240910-173757-b4ed1c60-a96b-48ad-a451-3caecd61c327_9421903892324, 0.118, 0.551, 0.254
diff, 6901668936271, 20240910-170907-0e74383f-0341-4b90-b333-910e5a184296_6901668936684, 0.137, 0.498, 0.255
diff, 6901668934628, 20240910-171014-ee1e7d74-0d89-4014-a125-7c9cdebb15fd_8000500023976, 0.061, 0.324, 0.135
diff, 6903148126677, 20240910-164347-47377bae-2ca6-4d75-a076-e7f6c03d0f2e_6901668929518, -0.026, 0.332, -0.047
diff, 6903148048801, 20240910-173409-55dd7611-7394-4783-9f4e-4639401078ea_6902265160502, 0.030, 0.370, 0.070
diff, 6902132084337, 20240910-165525-e17864c9-e965-4531-be14-be551dad88fb_6901668936684, 0.043, 0.375, 0.112
diff, 6902890232216, 20240910-162805-592cff06-4acb-420f-bc36-bb00f3e0efbb_6901668934628, -0.067, 0.258, -0.164
diff, 6903148048801, 20240910-172919-ab2efd9a-a776-420f-95f5-2f8188f719e4_6949909050041, 0.118, 0.397, 0.235
diff, 6970399922365, 20240910-171723-2f8a7ece-99cb-4d91-b484-67b486599f26_6907992517780, -0.043, 0.339, -0.101
diff, 6903148048801, 20240910-165443-48bad32d-9f2b-499b-907d-c602cf563ee3_6902890218470, -0.001, 0.482, -0.002
diff, 6904682300226, 20240910-165455-d0e36365-f7f2-4f2e-84a7-1ffc24ccc1c7_6904682300219, 0.270, 0.813, 0.583
diff, 6901668936271, 20240910-170231-21568a27-641b-448d-8b8c-9eff4dfe7294_6904682300226, 0.026, 0.369, 0.057
diff, 6949909050041, 20240910-163740-851d23c1-e90f-4947-abc3-f463991c5505_6903148048801, 0.104, 0.443, 0.192
diff, 6902890232216, 20240910-170730-76626a74-34fb-486d-b889-4276552edb0e_6902132084337, -0.018, 0.254, -0.040
diff, 6924743915848, 20240910-172316-ffa74ee4-46d5-4266-b362-ebfebed0c572_9421903892324, 0.076, 0.444, 0.182
diff, 6901070600142, 20240910-173807-afdeec3a-0d6e-4db8-9baf-826b7d6b4660_6904682300219, 0.010, 0.482, 0.024
diff, 6924743915848, 20240910-163838-9e6f0b38-2ffe-4727-9ec7-a02435b8f629_6902890232216, -0.025, 0.380, -0.061
diff, 6902265160502, 20240910-165424-5d55263c-e523-495e-b673-fc53eaa68b05_6901668936295, -0.042, 0.280, -0.088
diff, 6902088131437, 20240910-170403-c1b9db80-7ee0-4508-8858-1e3e1b924648_6903148126677, -0.019, 0.228, -0.026
diff, 6903148080085, 20240910-172500-509a2d1e-e665-4fe6-8ffe-b69117d7b09f_6901668929518, 0.064, 0.486, 0.135
diff, 6901668934888, 20240910-171824-2d3edfcd-c169-4c6e-9734-9325b72cf9fe_6903148231623, 0.014, 0.325, 0.036
diff, 6901668929730, 20240910-173839-e4b3b834-c695-4917-b2f4-7cfaaebb98dc_6901668929518, -0.066, 0.282, -0.106
diff, 6901070600142, 20240910-170447-3b37f76f-5e21-400b-a8a8-2376c0796ae6_6901668929730, -0.068, 0.414, -0.148
diff, 6974158892364, 20240910-173314-d6ac3740-20f2-4aa7-a392-80a96b7607c3_6903148080085, -0.033, 0.303, -0.107
diff, 6901668936295, 20240910-172734-8c23b385-99f7-4e01-819a-78c86611ff48_6901070600142, 0.008, 0.417, 0.015
diff, 6975682480393, 20240910-164452-0f365052-2e4a-4d00-9cf7-0407d731d07e_6958104102516, 0.031, 0.405, 0.075
diff, 6903148080085, 20240910-162749-ab186eb8-6777-489b-8ad0-c1c6e66b285d_6901070600142, -0.015, 0.311, -0.030
diff, 6901668929730, 20240910-164432-008357d7-7ee6-49b9-8d08-3f3a6081c4e1_8993175537322, 0.020, 0.303, 0.035
diff, 6902890218470, 20240910-163007-6dfc085b-42b9-432d-9c41-7bfd294526b6_6975682480393, 0.184, 0.633, 0.393
diff, 6902890232216, 20240910-163825-e4de18e2-fe7c-4ff6-8b51-7ef2a7db7ed3_6903148080085, 0.023, 0.348, 0.053
diff, 6902890232216, 20240910-172854-5fb70036-3089-4258-9346-de25d415f120_6903148231623, -0.080, 0.324, -0.182
diff, 6901668936271, 20240910-170817-c2f8c500-3aa5-4bd2-bf82-787d0cd22585_6949909050041, -0.011, 0.324, -0.019
diff, 6902265160502, 20240910-170246-e773b037-a712-4d78-accd-71c24b675365_6907992517780, -0.094, 0.358, -0.244
diff, 6902132084337, 20240910-163907-1ac881ec-cac4-4811-9cab-1826731e77bd_6902265160502, -0.007, 0.319, -0.020
diff, 6970399922365, 20240910-164239-e4d8f615-8cf3-483d-bc6e-03e470e2110c_6901668936271, 0.048, 0.361, 0.105
diff, 6904682300219, 20240910-172328-48a512b9-4fb1-4abf-bca9-8b3443ce8f2b_8993175537322, -0.014, 0.472, -0.021
diff, 6901668936271, 20240910-173819-226cc352-acdc-4419-9159-c97ae0eb58af_8993175537322, 0.009, 0.332, 0.014
diff, 6901668936271, 20240910-165517-a0000cdf-aa15-42c8-a6be-dbce8cf7cb32_6901668929518, 0.089, 0.483, 0.153
diff, 6901668929730, 20240910-172417-e9d563b9-74e2-4ec1-8f34-331424b48e72_8000500023976, 0.110, 0.465, 0.216

View File

@ -0,0 +1,202 @@
same, 6901668936684, 20240910-173355-1bbf290e-1f14-4ba8-b666-82c990c4eea3_6901668936684, 0.268, 0.659, 0.506
same, 6902088131437, 20240910-173847-9eedb2ac-e3a5-4d07-94fe-f7e881d67418_6902088131437, 0.582, 0.979, 0.806
same, 6904682300226, 20240910-171800-76a062fd-409c-480f-94f4-fd0e65d72467_6904682300226, 0.173, 0.830, 0.372
same, 6970399922365, 20240910-172352-9b79a4d9-092f-477d-a7a4-8af079d1538d_6970399922365, 0.226, 0.774, 0.597
same, 6902265202318, 20240910-170331-e3ee7cf5-dda2-4d0b-b8c9-4fb411fe78ec_6902265202318, 0.557, 0.922, 0.803
same, 6907992517780, 20240910-163802-6b9f0129-8497-467f-a506-5708eda436a4_6907992517780, 0.354, 0.761, 0.848
same, 6902132084337, 20240910-172403-dbc9de02-2811-449c-961f-23e7a16877d7_6902132084337, 0.406, 0.774, 0.850
same, 6901668934888, 20240910-164315-38c640ba-cdf3-4ac1-8bff-55fe5d0560bb_6901668934888, 0.290, 0.598, 0.621
same, 8000500023976, 20240910-173323-78dc658e-e4ef-49e1-a2ff-9ada34c27a85_8000500023976, 0.495, 0.825, 0.792
same, 6904682300219, 20240910-164323-8e9a882a-a502-4a6e-bd99-70deb2130f57_6904682300219, 0.278, 0.782, 0.551
same, 6903148231623, 20240910-163750-8e13e800-21d0-4bd9-b686-18ed213460cd_6903148231623, 0.320, 0.870, 0.718
same, 6904682300219, 20240910-170920-dc16c149-06a3-4c2d-9bec-e930274b55ce_6904682300219, 0.217, 0.697, 0.418
same, 6902890218470, 20240910-172802-0dbe3709-bd0c-45e7-ad36-0cfc9781ef1b_6902890218470, 0.198, 0.690, 0.538
same, 6901668934888, 20240910-165620-0b870f0d-88a5-4286-bcbf-b0ebb41ddcfc_6901668934888, 0.325, 0.710, 0.690
same, 6902088131437, 20240910-163846-7793e886-9f09-4744-9e24-eb47d65c09f5_6902088131437, 0.450, 0.983, 0.784
same, 6901070600142, 20240910-170742-f78b59da-e242-42c9-ac7a-bba23ff11aff_6901070600142, 0.295, 0.728, 0.668
same, 8993175540667, 20240910-172814-d17bd016-b8e5-4a21-a137-6bce693e0cb0_8993175540667, 0.418, 0.859, 0.687
same, 6901668929730, 20240910-162930-ec2bb380-53fe-483f-9aab-9038643ebd1f_6901668929730, 0.549, 0.853, 0.888
same, 6970399922365, 20240910-173332-55f8124d-7ab0-4a7a-8b08-f4dd9ba06502_6970399922365, 0.330, 0.766, 0.817
same, 6901668929730, 20240910-173214-5b86868f-cb5b-4b7f-8f3a-aff08d89900d_6901668929730, 0.529, 0.849, 0.864
same, 6903148048801, 20240910-172904-5462ad91-2a07-4116-898f-ff1d2021e6af_6903148048801, 0.444, 0.865, 0.769
same, 6901668934628, 20240910-171838-c77a6d0d-185b-48e7-9af9-05de561f1172_6901668934628, 0.489, 0.930, 0.758
same, 6902890218470, 20240910-170934-74c137ee-0689-42d0-9994-da8ba59fd5db_6902890218470, 0.251, 0.738, 0.652
same, 6949909050041, 20240910-162952-f6ec3a40-9d64-4f20-b122-0b81eb4a2134_6949909050041, 0.384, 0.870, 0.714
same, 6901668934888, 20240910-172841-9d7b16fb-4200-4089-b4b2-925da10208ed_6901668934888, 0.336, 0.778, 0.751
same, 6901668936271, 20240910-165632-a1e22655-d9ad-47f5-a467-55718bd1e23e_6901668936271, 0.121, 0.604, 0.257
same, 6904682300226, 20240910-163718-e1e09ad9-7a7e-4b43-beb7-47080c0a312e_6904682300226, 0.297, 0.847, 0.651
same, 6903148126677, 20240910-173233-81246d1d-bbf3-4ee2-b6c1-7f8fe5818266_6903148126677, 0.422, 0.814, 0.717
same, 6924743915848, 20240910-162836-186bdf15-5ebb-4b55-a3a4-47edea86a7ee_6924743915848, 0.285, 0.697, 0.640
same, 6902132084337, 20240910-173222-8abca736-4b5d-4b8e-8e53-206809f37082_6902132084337, 0.350, 0.819, 0.857
same, 8993175537322, 20240910-170945-c5a587f8-925a-46c2-b2f4-b8fe0fa41c90_8993175537322, 0.349, 0.832, 0.611
same, 6902265202318, 20240910-162848-b0d67358-6f68-482a-94cb-d7de7414e32f_6902265202318, 0.392, 0.859, 0.695
same, 6907992517780, 20240910-173730-c51d9d00-65a2-4212-99f3-701092810919_6907992517780, 0.405, 0.815, 0.865
same, 6902265160502, 20240910-170318-706146af-c203-459a-b642-da428ce6426a_6902265160502, 0.162, 0.703, 0.531
same, 6903148347409, 20240910-162902-3de7f2a9-9068-4f61-a150-0bcc47194a43_6903148347409, 0.156, 0.693, 0.470
same, 6902265202318, 20240910-172023-a9b8c8b4-8030-4aa5-85fe-54cba57e745f_6902265202318, 0.378, 0.865, 0.694
same, 6903148126677, 20240910-171920-0a6490ce-547f-493d-b76a-4c849ae12a93_6903148126677, 0.496, 0.879, 0.796
same, 6901668936295, 20240910-164334-09d4e20e-68c8-48ca-b931-50e58428ef2a_6901668936295, 0.170, 0.631, 0.325
same, 6958104102516, 20240910-165604-0f805f9d-24f7-4729-923a-bff489a09323_6958104102516, 0.235, 0.731, 0.550
same, 6901668936684, 20240910-164409-053f810b-7369-4a3e-b91b-b7ba99fa5b9c_6901668936684, 0.230, 0.638, 0.450
same, 6902265150022, 20240910-170349-b357333c-e939-4ce5-8019-7762799a9097_6902265150022, 0.362, 0.927, 0.794
same, 6902890232216, 20240910-172828-0a20bffd-ede3-4b0c-977b-8652f52518f9_6902890232216, 0.255, 0.761, 0.626
same, 6902890232216, 20240910-170807-7bc77832-4cf1-4cd8-aa54-994ff164dcc7_6902890232216, 0.296, 0.695, 0.585
same, 6901668929730, 20240910-171715-a8fc6d8a-87bd-4fbd-b378-85e34193266f_6901668929730, 0.503, 0.848, 0.823
same, 6903148231623, 20240910-170258-38579506-3874-4d71-b9d2-ac6e47ca75dd_6903148231623, 0.256, 0.720, 0.506
same, 6902265150022, 20240910-172010-035f68e4-9b7c-40f7-961c-aa8c0f154252_6902265150022, 0.428, 0.940, 0.823
same, 6901668929518, 20240910-173344-258d27a2-b2e1-468e-8f32-40edcda94486_6901668929518, 0.361, 0.853, 0.721
same, 6901668934628, 20240910-170431-722e7de7-c7ef-4825-8080-be019c7f4602_6901668934628, 0.444, 0.882, 0.690
same, 6974158892364, 20240910-163028-418ab174-5722-4e8a-ae12-e8d3c33f70b5_6974158892364, 0.119, 0.684, 0.439
same, 6902890218470, 20240910-164251-a2a38e17-5532-49a5-9372-5a3ed8dc6972_6902890218470, 0.281, 0.689, 0.666
same, 6902265150022, 20240910-163814-9fc0324d-134a-46ee-bb79-6b2dfb6388f9_6902265150022, 0.308, 0.899, 0.682
same, 6901668929518, 20240910-170417-1ac149e8-4ecb-447c-a8b7-8d5b96e77ffa_6901668929518, 0.260, 0.821, 0.586
same, 6901668936271, 20240910-172745-96dc9808-4157-4806-856f-c7013452f302_6901668936271, 0.156, 0.617, 0.315
same, 6903148126677, 20240910-163857-736e50b8-eae8-4a6d-af26-ce3a57a073b8_6903148126677, 0.420, 0.891, 0.749
same, 6901668936684, 20240910-172445-4f28474f-5463-4b19-bc2d-671105764e27_6901668936684, 0.212, 0.675, 0.445
same, 6901668936295, 20240910-172754-d034ab2f-1b18-4d6a-a936-9fa538066253_6901668936295, 0.130, 0.630, 0.254
same, 8993175540667, 20240910-165644-2e79a878-caf1-44ca-851c-287848800d35_8993175540667, 0.565, 0.872, 0.821
same, 6901668929518, 20240910-172039-ebd2a496-c407-4450-b122-0e8f33e07de2_6901668929518, 0.341, 0.826, 0.725
same, 6902132084337, 20240910-162817-18813894-397a-4c94-8b90-2d7a46319793_6902132084337, 0.438, 0.794, 0.887
same, 6904682300219, 20240910-172257-9169e95d-ff11-4d31-98af-13df3f071840_6904682300219, 0.365, 0.804, 0.643
same, 6901668934628, 20240910-173306-a1409202-ea3d-47c4-aa39-9d17dae711cf_6901668934628, 0.489, 0.894, 0.770
same, 6902088131437, 20240910-172427-781eb94d-efb6-403c-b88f-f4b9df82fee0_6902088131437, 0.536, 0.980, 0.829
same, 9421903892324, 20240910-173757-b4ed1c60-a96b-48ad-a451-3caecd61c327_9421903892324, 0.421, 0.892, 0.755
same, 6901668936684, 20240910-170907-0e74383f-0341-4b90-b333-910e5a184296_6901668936684, 0.289, 0.672, 0.569
same, 8000500023976, 20240910-171014-ee1e7d74-0d89-4014-a125-7c9cdebb15fd_8000500023976, 0.286, 0.872, 0.660
same, 6901668929518, 20240910-164347-47377bae-2ca6-4d75-a076-e7f6c03d0f2e_6901668929518, 0.446, 0.847, 0.834
same, 6902265160502, 20240910-173409-55dd7611-7394-4783-9f4e-4639401078ea_6902265160502, 0.212, 0.857, 0.611
same, 6901668936684, 20240910-165525-e17864c9-e965-4531-be14-be551dad88fb_6901668936684, 0.149, 0.614, 0.344
same, 6901668934628, 20240910-162805-592cff06-4acb-420f-bc36-bb00f3e0efbb_6901668934628, 0.275, 0.870, 0.521
same, 6949909050041, 20240910-172919-ab2efd9a-a776-420f-95f5-2f8188f719e4_6949909050041, 0.401, 0.849, 0.792
same, 6907992517780, 20240910-171723-2f8a7ece-99cb-4d91-b484-67b486599f26_6907992517780, 0.391, 0.848, 0.838
same, 6902890218470, 20240910-165443-48bad32d-9f2b-499b-907d-c602cf563ee3_6902890218470, 0.281, 0.737, 0.774
same, 6904682300219, 20240910-165455-d0e36365-f7f2-4f2e-84a7-1ffc24ccc1c7_6904682300219, 0.424, 0.892, 0.792
same, 6904682300226, 20240910-170231-21568a27-641b-448d-8b8c-9eff4dfe7294_6904682300226, 0.257, 0.725, 0.636
same, 6903148048801, 20240910-163740-851d23c1-e90f-4947-abc3-f463991c5505_6903148048801, 0.422, 0.826, 0.784
same, 6902132084337, 20240910-170730-76626a74-34fb-486d-b889-4276552edb0e_6902132084337, 0.379, 0.831, 0.792
same, 9421903892324, 20240910-172316-ffa74ee4-46d5-4266-b362-ebfebed0c572_9421903892324, 0.304, 0.877, 0.548
same, 6904682300219, 20240910-173807-afdeec3a-0d6e-4db8-9baf-826b7d6b4660_6904682300219, 0.254, 0.769, 0.477
same, 6902890232216, 20240910-163838-9e6f0b38-2ffe-4727-9ec7-a02435b8f629_6902890232216, 0.264, 0.786, 0.593
same, 6901668936295, 20240910-165424-5d55263c-e523-495e-b673-fc53eaa68b05_6901668936295, 0.139, 0.542, 0.239
same, 6903148126677, 20240910-170403-c1b9db80-7ee0-4508-8858-1e3e1b924648_6903148126677, 0.351, 0.861, 0.602
same, 6901668929518, 20240910-172500-509a2d1e-e665-4fe6-8ffe-b69117d7b09f_6901668929518, 0.365, 0.821, 0.731
same, 6903148231623, 20240910-171824-2d3edfcd-c169-4c6e-9734-9325b72cf9fe_6903148231623, 0.176, 0.688, 0.359
same, 6901668929518, 20240910-173839-e4b3b834-c695-4917-b2f4-7cfaaebb98dc_6901668929518, 0.437, 0.874, 0.772
same, 6901668929730, 20240910-170447-3b37f76f-5e21-400b-a8a8-2376c0796ae6_6901668929730, 0.461, 0.852, 0.797
same, 6903148080085, 20240910-173314-d6ac3740-20f2-4aa7-a392-80a96b7607c3_6903148080085, 0.370, 0.860, 0.827
same, 6901070600142, 20240910-172734-8c23b385-99f7-4e01-819a-78c86611ff48_6901070600142, 0.201, 0.672, 0.442
same, 6958104102516, 20240910-164452-0f365052-2e4a-4d00-9cf7-0407d731d07e_6958104102516, 0.234, 0.866, 0.583
same, 6901070600142, 20240910-162749-ab186eb8-6777-489b-8ad0-c1c6e66b285d_6901070600142, 0.269, 0.727, 0.591
same, 8993175537322, 20240910-164432-008357d7-7ee6-49b9-8d08-3f3a6081c4e1_8993175537322, 0.450, 0.790, 0.785
same, 6975682480393, 20240910-163007-6dfc085b-42b9-432d-9c41-7bfd294526b6_6975682480393, 0.448, 0.835, 0.828
same, 6903148080085, 20240910-163825-e4de18e2-fe7c-4ff6-8b51-7ef2a7db7ed3_6903148080085, 0.351, 0.838, 0.766
same, 6903148231623, 20240910-172854-5fb70036-3089-4258-9346-de25d415f120_6903148231623, 0.423, 0.845, 0.782
same, 6949909050041, 20240910-170817-c2f8c500-3aa5-4bd2-bf82-787d0cd22585_6949909050041, 0.494, 0.893, 0.885
same, 6907992517780, 20240910-170246-e773b037-a712-4d78-accd-71c24b675365_6907992517780, 0.338, 0.737, 0.823
same, 6902265160502, 20240910-163907-1ac881ec-cac4-4811-9cab-1826731e77bd_6902265160502, 0.239, 0.833, 0.706
same, 6901668936271, 20240910-164239-e4d8f615-8cf3-483d-bc6e-03e470e2110c_6901668936271, 0.230, 0.615, 0.390
same, 8993175537322, 20240910-172328-48a512b9-4fb1-4abf-bca9-8b3443ce8f2b_8993175537322, 0.456, 0.783, 0.719
same, 8993175537322, 20240910-173819-226cc352-acdc-4419-9159-c97ae0eb58af_8993175537322, 0.455, 0.766, 0.717
same, 6901668929518, 20240910-165517-a0000cdf-aa15-42c8-a6be-dbce8cf7cb32_6901668929518, 0.406, 0.861, 0.759
same, 8000500023976, 20240910-172417-e9d563b9-74e2-4ec1-8f34-331424b48e72_8000500023976, 0.350, 0.853, 0.686
diff, 8993175537322, 20240910-173355-1bbf290e-1f14-4ba8-b666-82c990c4eea3_6901668936684, 0.017, 0.341, 0.030
diff, 6904682300226, 20240910-173847-9eedb2ac-e3a5-4d07-94fe-f7e881d67418_6902088131437, 0.007, 0.348, 0.013
diff, 8993175540667, 20240910-171800-76a062fd-409c-480f-94f4-fd0e65d72467_6904682300226, 0.038, 0.309, 0.067
diff, 6901668934628, 20240910-172352-9b79a4d9-092f-477d-a7a4-8af079d1538d_6970399922365, -0.003, 0.302, -0.006
diff, 6901668929518, 20240910-170331-e3ee7cf5-dda2-4d0b-b8c9-4fb411fe78ec_6902265202318, -0.023, 0.273, -0.038
diff, 6903148080085, 20240910-163802-6b9f0129-8497-467f-a506-5708eda436a4_6907992517780, 0.026, 0.408, 0.061
diff, 6970399922365, 20240910-172403-dbc9de02-2811-449c-961f-23e7a16877d7_6902132084337, 0.090, 0.479, 0.207
diff, 6904682300226, 20240910-164315-38c640ba-cdf3-4ac1-8bff-55fe5d0560bb_6901668934888, 0.072, 0.383, 0.142
diff, 6974158892364, 20240910-173323-78dc658e-e4ef-49e1-a2ff-9ada34c27a85_8000500023976, -0.044, 0.340, -0.117
diff, 6901668934888, 20240910-164323-8e9a882a-a502-4a6e-bd99-70deb2130f57_6904682300219, -0.017, 0.459, -0.042
diff, 6907992517780, 20240910-163750-8e13e800-21d0-4bd9-b686-18ed213460cd_6903148231623, 0.019, 0.391, 0.051
diff, 6901668934628, 20240910-170920-dc16c149-06a3-4c2d-9bec-e930274b55ce_6904682300219, 0.033, 0.331, 0.063
diff, 6901668936684, 20240910-172802-0dbe3709-bd0c-45e7-ad36-0cfc9781ef1b_6902890218470, -0.072, 0.270, -0.163
diff, 6907992517780, 20240910-165620-0b870f0d-88a5-4286-bcbf-b0ebb41ddcfc_6901668934888, 0.141, 0.461, 0.292
diff, 6958104102516, 20240910-163846-7793e886-9f09-4744-9e24-eb47d65c09f5_6902088131437, -0.022, 0.373, -0.053
diff, 8993175537322, 20240910-170742-f78b59da-e242-42c9-ac7a-bba23ff11aff_6901070600142, -0.018, 0.293, -0.033
diff, 6903148126677, 20240910-172814-d17bd016-b8e5-4a21-a137-6bce693e0cb0_8993175540667, -0.044, 0.356, -0.082
diff, 8993175540667, 20240910-162930-ec2bb380-53fe-483f-9aab-9038643ebd1f_6901668929730, -0.021, 0.349, -0.032
diff, 9421903892324, 20240910-173332-55f8124d-7ab0-4a7a-8b08-f4dd9ba06502_6970399922365, 0.033, 0.383, 0.062
diff, 6902890232216, 20240910-173214-5b86868f-cb5b-4b7f-8f3a-aff08d89900d_6901668929730, 0.076, 0.419, 0.151
diff, 6903148231623, 20240910-172904-5462ad91-2a07-4116-898f-ff1d2021e6af_6903148048801, 0.012, 0.309, 0.019
diff, 6924743915848, 20240910-171838-c77a6d0d-185b-48e7-9af9-05de561f1172_6901668934628, -0.069, 0.326, -0.147
diff, 6975682480393, 20240910-170934-74c137ee-0689-42d0-9994-da8ba59fd5db_6902890218470, 0.122, 0.628, 0.274
diff, 6975682480393, 20240910-162952-f6ec3a40-9d64-4f20-b122-0b81eb4a2134_6949909050041, 0.094, 0.647, 0.188
diff, 6907992517780, 20240910-172841-9d7b16fb-4200-4089-b4b2-925da10208ed_6901668934888, 0.157, 0.646, 0.343
diff, 6902265202318, 20240910-165632-a1e22655-d9ad-47f5-a467-55718bd1e23e_6901668936271, -0.006, 0.286, -0.011
diff, 6902890232216, 20240910-163718-e1e09ad9-7a7e-4b43-beb7-47080c0a312e_6904682300226, 0.066, 0.491, 0.157
diff, 9421903892324, 20240910-173233-81246d1d-bbf3-4ee2-b6c1-7f8fe5818266_6903148126677, -0.038, 0.450, -0.061
diff, 6902132084337, 20240910-162836-186bdf15-5ebb-4b55-a3a4-47edea86a7ee_6924743915848, -0.061, 0.267, -0.125
diff, 9421903892324, 20240910-173222-8abca736-4b5d-4b8e-8e53-206809f37082_6902132084337, 0.105, 0.454, 0.213
diff, 6901668934628, 20240910-170945-c5a587f8-925a-46c2-b2f4-b8fe0fa41c90_8993175537322, -0.089, 0.186, -0.148
diff, 6901668934888, 20240910-162848-b0d67358-6f68-482a-94cb-d7de7414e32f_6902265202318, -0.038, 0.352, -0.087
diff, 6902265202318, 20240910-173730-c51d9d00-65a2-4212-99f3-701092810919_6907992517780, 0.025, 0.325, 0.043
diff, 6902890232216, 20240910-170318-706146af-c203-459a-b642-da428ce6426a_6902265160502, 0.077, 0.540, 0.241
diff, 6903148126677, 20240910-162902-3de7f2a9-9068-4f61-a150-0bcc47194a43_6903148347409, -0.047, 0.247, -0.113
diff, 6903148347409, 20240910-172023-a9b8c8b4-8030-4aa5-85fe-54cba57e745f_6902265202318, 0.019, 0.312, 0.049
diff, 6904682300219, 20240910-171920-0a6490ce-547f-493d-b76a-4c849ae12a93_6903148126677, 0.022, 0.340, 0.033
diff, 6974158892364, 20240910-164334-09d4e20e-68c8-48ca-b931-50e58428ef2a_6901668936295, 0.035, 0.446, 0.108
diff, 6901070600142, 20240910-165604-0f805f9d-24f7-4729-923a-bff489a09323_6958104102516, 0.016, 0.385, 0.042
diff, 6901668934628, 20240910-164409-053f810b-7369-4a3e-b91b-b7ba99fa5b9c_6901668936684, -0.045, 0.563, -0.079
diff, 6924743915848, 20240910-170349-b357333c-e939-4ce5-8019-7762799a9097_6902265150022, -0.096, 0.342, -0.249
diff, 6903148126677, 20240910-172828-0a20bffd-ede3-4b0c-977b-8652f52518f9_6902890232216, 0.053, 0.326, 0.112
diff, 6904682300226, 20240910-170807-7bc77832-4cf1-4cd8-aa54-994ff164dcc7_6902890232216, 0.063, 0.430, 0.115
diff, 9421903892324, 20240910-171715-a8fc6d8a-87bd-4fbd-b378-85e34193266f_6901668929730, -0.066, 0.306, -0.107
diff, 6901668936684, 20240910-170258-38579506-3874-4d71-b9d2-ac6e47ca75dd_6903148231623, 0.062, 0.403, 0.131
diff, 6970399922365, 20240910-172010-035f68e4-9b7c-40f7-961c-aa8c0f154252_6902265150022, -0.044, 0.355, -0.101
diff, 6903148048801, 20240910-173344-258d27a2-b2e1-468e-8f32-40edcda94486_6901668929518, 0.077, 0.498, 0.147
diff, 6901668934888, 20240910-170431-722e7de7-c7ef-4825-8080-be019c7f4602_6901668934628, 0.001, 0.441, 0.001
diff, 6970399922365, 20240910-163028-418ab174-5722-4e8a-ae12-e8d3c33f70b5_6974158892364, 0.072, 0.537, 0.208
diff, 6975682480393, 20240910-164251-a2a38e17-5532-49a5-9372-5a3ed8dc6972_6902890218470, 0.112, 0.660, 0.231
diff, 6901668929518, 20240910-163814-9fc0324d-134a-46ee-bb79-6b2dfb6388f9_6902265150022, -0.067, 0.359, -0.146
diff, 6901070600142, 20240910-170417-1ac149e8-4ecb-447c-a8b7-8d5b96e77ffa_6901668929518, -0.033, 0.306, -0.085
diff, 6903148126677, 20240910-172745-96dc9808-4157-4806-856f-c7013452f302_6901668936271, 0.008, 0.361, 0.018
diff, 6903148347409, 20240910-163857-736e50b8-eae8-4a6d-af26-ce3a57a073b8_6903148126677, -0.008, 0.348, -0.017
diff, 6901668936271, 20240910-172445-4f28474f-5463-4b19-bc2d-671105764e27_6901668936684, 0.064, 0.555, 0.128
diff, 6901070600142, 20240910-172754-d034ab2f-1b18-4d6a-a936-9fa538066253_6901668936295, 0.189, 0.600, 0.448
diff, 6902265150022, 20240910-165644-2e79a878-caf1-44ca-851c-287848800d35_8993175540667, 0.036, 0.300, 0.064
diff, 6901668934888, 20240910-172039-ebd2a496-c407-4450-b122-0e8f33e07de2_6901668929518, 0.047, 0.373, 0.112
diff, 6958104102516, 20240910-162817-18813894-397a-4c94-8b90-2d7a46319793_6902132084337, -0.068, 0.247, -0.130
diff, 6902265160502, 20240910-172257-9169e95d-ff11-4d31-98af-13df3f071840_6904682300219, 0.046, 0.467, 0.106
diff, 6970399922365, 20240910-173306-a1409202-ea3d-47c4-aa39-9d17dae711cf_6901668934628, 0.023, 0.376, 0.049
diff, 6902265202318, 20240910-172427-781eb94d-efb6-403c-b88f-f4b9df82fee0_6902088131437, 0.017, 0.314, 0.030
diff, 6907992517780, 20240910-173757-b4ed1c60-a96b-48ad-a451-3caecd61c327_9421903892324, 0.118, 0.551, 0.254
diff, 6901668936271, 20240910-170907-0e74383f-0341-4b90-b333-910e5a184296_6901668936684, 0.137, 0.498, 0.255
diff, 6901668934628, 20240910-171014-ee1e7d74-0d89-4014-a125-7c9cdebb15fd_8000500023976, 0.061, 0.324, 0.135
diff, 6903148126677, 20240910-164347-47377bae-2ca6-4d75-a076-e7f6c03d0f2e_6901668929518, -0.026, 0.332, -0.047
diff, 6903148048801, 20240910-173409-55dd7611-7394-4783-9f4e-4639401078ea_6902265160502, 0.030, 0.370, 0.070
diff, 6902132084337, 20240910-165525-e17864c9-e965-4531-be14-be551dad88fb_6901668936684, 0.043, 0.375, 0.112
diff, 6902890232216, 20240910-162805-592cff06-4acb-420f-bc36-bb00f3e0efbb_6901668934628, -0.067, 0.258, -0.164
diff, 6903148048801, 20240910-172919-ab2efd9a-a776-420f-95f5-2f8188f719e4_6949909050041, 0.118, 0.397, 0.235
diff, 6970399922365, 20240910-171723-2f8a7ece-99cb-4d91-b484-67b486599f26_6907992517780, -0.043, 0.339, -0.101
diff, 6903148048801, 20240910-165443-48bad32d-9f2b-499b-907d-c602cf563ee3_6902890218470, -0.001, 0.482, -0.002
diff, 6904682300226, 20240910-165455-d0e36365-f7f2-4f2e-84a7-1ffc24ccc1c7_6904682300219, 0.270, 0.813, 0.583
diff, 6901668936271, 20240910-170231-21568a27-641b-448d-8b8c-9eff4dfe7294_6904682300226, 0.026, 0.369, 0.057
diff, 6949909050041, 20240910-163740-851d23c1-e90f-4947-abc3-f463991c5505_6903148048801, 0.104, 0.443, 0.192
diff, 6902890232216, 20240910-170730-76626a74-34fb-486d-b889-4276552edb0e_6902132084337, -0.018, 0.254, -0.040
diff, 6924743915848, 20240910-172316-ffa74ee4-46d5-4266-b362-ebfebed0c572_9421903892324, 0.076, 0.444, 0.182
diff, 6901070600142, 20240910-173807-afdeec3a-0d6e-4db8-9baf-826b7d6b4660_6904682300219, 0.010, 0.482, 0.024
diff, 6924743915848, 20240910-163838-9e6f0b38-2ffe-4727-9ec7-a02435b8f629_6902890232216, -0.025, 0.380, -0.061
diff, 6902265160502, 20240910-165424-5d55263c-e523-495e-b673-fc53eaa68b05_6901668936295, -0.042, 0.280, -0.088
diff, 6902088131437, 20240910-170403-c1b9db80-7ee0-4508-8858-1e3e1b924648_6903148126677, -0.019, 0.228, -0.026
diff, 6903148080085, 20240910-172500-509a2d1e-e665-4fe6-8ffe-b69117d7b09f_6901668929518, 0.064, 0.486, 0.135
diff, 6901668934888, 20240910-171824-2d3edfcd-c169-4c6e-9734-9325b72cf9fe_6903148231623, 0.014, 0.325, 0.036
diff, 6901668929730, 20240910-173839-e4b3b834-c695-4917-b2f4-7cfaaebb98dc_6901668929518, -0.066, 0.282, -0.106
diff, 6901070600142, 20240910-170447-3b37f76f-5e21-400b-a8a8-2376c0796ae6_6901668929730, -0.068, 0.414, -0.148
diff, 6974158892364, 20240910-173314-d6ac3740-20f2-4aa7-a392-80a96b7607c3_6903148080085, -0.033, 0.303, -0.107
diff, 6901668936295, 20240910-172734-8c23b385-99f7-4e01-819a-78c86611ff48_6901070600142, 0.008, 0.417, 0.015
diff, 6975682480393, 20240910-164452-0f365052-2e4a-4d00-9cf7-0407d731d07e_6958104102516, 0.031, 0.405, 0.075
diff, 6903148080085, 20240910-162749-ab186eb8-6777-489b-8ad0-c1c6e66b285d_6901070600142, -0.015, 0.311, -0.030
diff, 6901668929730, 20240910-164432-008357d7-7ee6-49b9-8d08-3f3a6081c4e1_8993175537322, 0.020, 0.303, 0.035
diff, 6902890218470, 20240910-163007-6dfc085b-42b9-432d-9c41-7bfd294526b6_6975682480393, 0.184, 0.633, 0.393
diff, 6902890232216, 20240910-163825-e4de18e2-fe7c-4ff6-8b51-7ef2a7db7ed3_6903148080085, 0.023, 0.348, 0.053
diff, 6902890232216, 20240910-172854-5fb70036-3089-4258-9346-de25d415f120_6903148231623, -0.080, 0.324, -0.182
diff, 6901668936271, 20240910-170817-c2f8c500-3aa5-4bd2-bf82-787d0cd22585_6949909050041, -0.011, 0.324, -0.019
diff, 6902265160502, 20240910-170246-e773b037-a712-4d78-accd-71c24b675365_6907992517780, -0.094, 0.358, -0.244
diff, 6902132084337, 20240910-163907-1ac881ec-cac4-4811-9cab-1826731e77bd_6902265160502, -0.007, 0.319, -0.020
diff, 6970399922365, 20240910-164239-e4d8f615-8cf3-483d-bc6e-03e470e2110c_6901668936271, 0.048, 0.361, 0.105
diff, 6904682300219, 20240910-172328-48a512b9-4fb1-4abf-bca9-8b3443ce8f2b_8993175537322, -0.014, 0.472, -0.021
diff, 6901668936271, 20240910-173819-226cc352-acdc-4419-9159-c97ae0eb58af_8993175537322, 0.009, 0.332, 0.014
diff, 6901668936271, 20240910-165517-a0000cdf-aa15-42c8-a6be-dbce8cf7cb32_6901668929518, 0.089, 0.483, 0.153
diff, 6901668929730, 20240910-172417-e9d563b9-74e2-4ec1-8f34-331424b48e72_8000500023976, 0.110, 0.465, 0.216

View File

@ -0,0 +1,202 @@
same, 6901668936684, 20240910-173355-1bbf290e-1f14-4ba8-b666-82c990c4eea3_6901668936684, 0.268, 0.655, 0.507
same, 6902088131437, 20240910-173847-9eedb2ac-e3a5-4d07-94fe-f7e881d67418_6902088131437, 0.581, 0.977, 0.805
same, 6904682300226, 20240910-171800-76a062fd-409c-480f-94f4-fd0e65d72467_6904682300226, 0.173, 0.831, 0.372
same, 6970399922365, 20240910-172352-9b79a4d9-092f-477d-a7a4-8af079d1538d_6970399922365, 0.226, 0.774, 0.596
same, 6902265202318, 20240910-170331-e3ee7cf5-dda2-4d0b-b8c9-4fb411fe78ec_6902265202318, 0.554, 0.918, 0.802
same, 6907992517780, 20240910-163802-6b9f0129-8497-467f-a506-5708eda436a4_6907992517780, 0.353, 0.753, 0.849
same, 6902132084337, 20240910-172403-dbc9de02-2811-449c-961f-23e7a16877d7_6902132084337, 0.405, 0.765, 0.850
same, 6901668934888, 20240910-164315-38c640ba-cdf3-4ac1-8bff-55fe5d0560bb_6901668934888, 0.289, 0.595, 0.620
same, 8000500023976, 20240910-173323-78dc658e-e4ef-49e1-a2ff-9ada34c27a85_8000500023976, 0.492, 0.826, 0.792
same, 6904682300219, 20240910-164323-8e9a882a-a502-4a6e-bd99-70deb2130f57_6904682300219, 0.279, 0.786, 0.554
same, 6903148231623, 20240910-163750-8e13e800-21d0-4bd9-b686-18ed213460cd_6903148231623, 0.319, 0.870, 0.718
same, 6904682300219, 20240910-170920-dc16c149-06a3-4c2d-9bec-e930274b55ce_6904682300219, 0.218, 0.692, 0.419
same, 6902890218470, 20240910-172802-0dbe3709-bd0c-45e7-ad36-0cfc9781ef1b_6902890218470, 0.198, 0.688, 0.541
same, 6901668934888, 20240910-165620-0b870f0d-88a5-4286-bcbf-b0ebb41ddcfc_6901668934888, 0.322, 0.713, 0.687
same, 6902088131437, 20240910-163846-7793e886-9f09-4744-9e24-eb47d65c09f5_6902088131437, 0.448, 0.981, 0.782
same, 6901070600142, 20240910-170742-f78b59da-e242-42c9-ac7a-bba23ff11aff_6901070600142, 0.294, 0.724, 0.666
same, 8993175540667, 20240910-172814-d17bd016-b8e5-4a21-a137-6bce693e0cb0_8993175540667, 0.419, 0.856, 0.690
same, 6901668929730, 20240910-162930-ec2bb380-53fe-483f-9aab-9038643ebd1f_6901668929730, 0.549, 0.847, 0.889
same, 6970399922365, 20240910-173332-55f8124d-7ab0-4a7a-8b08-f4dd9ba06502_6970399922365, 0.328, 0.767, 0.815
same, 6901668929730, 20240910-173214-5b86868f-cb5b-4b7f-8f3a-aff08d89900d_6901668929730, 0.529, 0.850, 0.865
same, 6903148048801, 20240910-172904-5462ad91-2a07-4116-898f-ff1d2021e6af_6903148048801, 0.444, 0.861, 0.771
same, 6901668934628, 20240910-171838-c77a6d0d-185b-48e7-9af9-05de561f1172_6901668934628, 0.486, 0.926, 0.755
same, 6902890218470, 20240910-170934-74c137ee-0689-42d0-9994-da8ba59fd5db_6902890218470, 0.251, 0.737, 0.653
same, 6949909050041, 20240910-162952-f6ec3a40-9d64-4f20-b122-0b81eb4a2134_6949909050041, 0.384, 0.866, 0.715
same, 6901668934888, 20240910-172841-9d7b16fb-4200-4089-b4b2-925da10208ed_6901668934888, 0.335, 0.776, 0.751
same, 6901668936271, 20240910-165632-a1e22655-d9ad-47f5-a467-55718bd1e23e_6901668936271, 0.118, 0.603, 0.253
same, 6904682300226, 20240910-163718-e1e09ad9-7a7e-4b43-beb7-47080c0a312e_6904682300226, 0.297, 0.845, 0.653
same, 6903148126677, 20240910-173233-81246d1d-bbf3-4ee2-b6c1-7f8fe5818266_6903148126677, 0.420, 0.817, 0.717
same, 6924743915848, 20240910-162836-186bdf15-5ebb-4b55-a3a4-47edea86a7ee_6924743915848, 0.286, 0.706, 0.642
same, 6902132084337, 20240910-173222-8abca736-4b5d-4b8e-8e53-206809f37082_6902132084337, 0.348, 0.818, 0.856
same, 8993175537322, 20240910-170945-c5a587f8-925a-46c2-b2f4-b8fe0fa41c90_8993175537322, 0.348, 0.829, 0.611
same, 6902265202318, 20240910-162848-b0d67358-6f68-482a-94cb-d7de7414e32f_6902265202318, 0.391, 0.858, 0.695
same, 6907992517780, 20240910-173730-c51d9d00-65a2-4212-99f3-701092810919_6907992517780, 0.405, 0.816, 0.865
same, 6902265160502, 20240910-170318-706146af-c203-459a-b642-da428ce6426a_6902265160502, 0.161, 0.697, 0.530
same, 6903148347409, 20240910-162902-3de7f2a9-9068-4f61-a150-0bcc47194a43_6903148347409, 0.156, 0.691, 0.470
same, 6902265202318, 20240910-172023-a9b8c8b4-8030-4aa5-85fe-54cba57e745f_6902265202318, 0.376, 0.863, 0.692
same, 6903148126677, 20240910-171920-0a6490ce-547f-493d-b76a-4c849ae12a93_6903148126677, 0.494, 0.875, 0.795
same, 6901668936295, 20240910-164334-09d4e20e-68c8-48ca-b931-50e58428ef2a_6901668936295, 0.170, 0.632, 0.325
same, 6958104102516, 20240910-165604-0f805f9d-24f7-4729-923a-bff489a09323_6958104102516, 0.235, 0.726, 0.550
same, 6901668936684, 20240910-164409-053f810b-7369-4a3e-b91b-b7ba99fa5b9c_6901668936684, 0.228, 0.638, 0.446
same, 6902265150022, 20240910-170349-b357333c-e939-4ce5-8019-7762799a9097_6902265150022, 0.362, 0.927, 0.794
same, 6902890232216, 20240910-172828-0a20bffd-ede3-4b0c-977b-8652f52518f9_6902890232216, 0.254, 0.761, 0.625
same, 6902890232216, 20240910-170807-7bc77832-4cf1-4cd8-aa54-994ff164dcc7_6902890232216, 0.295, 0.692, 0.584
same, 6901668929730, 20240910-171715-a8fc6d8a-87bd-4fbd-b378-85e34193266f_6901668929730, 0.501, 0.852, 0.823
same, 6903148231623, 20240910-170258-38579506-3874-4d71-b9d2-ac6e47ca75dd_6903148231623, 0.255, 0.713, 0.505
same, 6902265150022, 20240910-172010-035f68e4-9b7c-40f7-961c-aa8c0f154252_6902265150022, 0.427, 0.940, 0.823
same, 6901668929518, 20240910-173344-258d27a2-b2e1-468e-8f32-40edcda94486_6901668929518, 0.361, 0.849, 0.721
same, 6901668934628, 20240910-170431-722e7de7-c7ef-4825-8080-be019c7f4602_6901668934628, 0.442, 0.879, 0.689
same, 6974158892364, 20240910-163028-418ab174-5722-4e8a-ae12-e8d3c33f70b5_6974158892364, 0.118, 0.681, 0.437
same, 6902890218470, 20240910-164251-a2a38e17-5532-49a5-9372-5a3ed8dc6972_6902890218470, 0.281, 0.689, 0.668
same, 6902265150022, 20240910-163814-9fc0324d-134a-46ee-bb79-6b2dfb6388f9_6902265150022, 0.306, 0.901, 0.680
same, 6901668929518, 20240910-170417-1ac149e8-4ecb-447c-a8b7-8d5b96e77ffa_6901668929518, 0.260, 0.821, 0.586
same, 6901668936271, 20240910-172745-96dc9808-4157-4806-856f-c7013452f302_6901668936271, 0.153, 0.609, 0.311
same, 6903148126677, 20240910-163857-736e50b8-eae8-4a6d-af26-ce3a57a073b8_6903148126677, 0.418, 0.890, 0.749
same, 6901668936684, 20240910-172445-4f28474f-5463-4b19-bc2d-671105764e27_6901668936684, 0.211, 0.672, 0.444
same, 6901668936295, 20240910-172754-d034ab2f-1b18-4d6a-a936-9fa538066253_6901668936295, 0.128, 0.628, 0.251
same, 8993175540667, 20240910-165644-2e79a878-caf1-44ca-851c-287848800d35_8993175540667, 0.565, 0.870, 0.822
same, 6901668929518, 20240910-172039-ebd2a496-c407-4450-b122-0e8f33e07de2_6901668929518, 0.341, 0.823, 0.726
same, 6902132084337, 20240910-162817-18813894-397a-4c94-8b90-2d7a46319793_6902132084337, 0.438, 0.795, 0.888
same, 6904682300219, 20240910-172257-9169e95d-ff11-4d31-98af-13df3f071840_6904682300219, 0.364, 0.800, 0.643
same, 6901668934628, 20240910-173306-a1409202-ea3d-47c4-aa39-9d17dae711cf_6901668934628, 0.487, 0.889, 0.769
same, 6902088131437, 20240910-172427-781eb94d-efb6-403c-b88f-f4b9df82fee0_6902088131437, 0.533, 0.980, 0.827
same, 9421903892324, 20240910-173757-b4ed1c60-a96b-48ad-a451-3caecd61c327_9421903892324, 0.420, 0.892, 0.755
same, 6901668936684, 20240910-170907-0e74383f-0341-4b90-b333-910e5a184296_6901668936684, 0.289, 0.659, 0.568
same, 8000500023976, 20240910-171014-ee1e7d74-0d89-4014-a125-7c9cdebb15fd_8000500023976, 0.286, 0.867, 0.660
same, 6901668929518, 20240910-164347-47377bae-2ca6-4d75-a076-e7f6c03d0f2e_6901668929518, 0.445, 0.846, 0.833
same, 6902265160502, 20240910-173409-55dd7611-7394-4783-9f4e-4639401078ea_6902265160502, 0.212, 0.857, 0.610
same, 6901668936684, 20240910-165525-e17864c9-e965-4531-be14-be551dad88fb_6901668936684, 0.149, 0.612, 0.343
same, 6901668934628, 20240910-162805-592cff06-4acb-420f-bc36-bb00f3e0efbb_6901668934628, 0.274, 0.868, 0.521
same, 6949909050041, 20240910-172919-ab2efd9a-a776-420f-95f5-2f8188f719e4_6949909050041, 0.400, 0.845, 0.791
same, 6907992517780, 20240910-171723-2f8a7ece-99cb-4d91-b484-67b486599f26_6907992517780, 0.391, 0.844, 0.837
same, 6902890218470, 20240910-165443-48bad32d-9f2b-499b-907d-c602cf563ee3_6902890218470, 0.281, 0.738, 0.774
same, 6904682300219, 20240910-165455-d0e36365-f7f2-4f2e-84a7-1ffc24ccc1c7_6904682300219, 0.423, 0.894, 0.794
same, 6904682300226, 20240910-170231-21568a27-641b-448d-8b8c-9eff4dfe7294_6904682300226, 0.257, 0.724, 0.634
same, 6903148048801, 20240910-163740-851d23c1-e90f-4947-abc3-f463991c5505_6903148048801, 0.421, 0.825, 0.785
same, 6902132084337, 20240910-170730-76626a74-34fb-486d-b889-4276552edb0e_6902132084337, 0.379, 0.832, 0.794
same, 9421903892324, 20240910-172316-ffa74ee4-46d5-4266-b362-ebfebed0c572_9421903892324, 0.301, 0.875, 0.544
same, 6904682300219, 20240910-173807-afdeec3a-0d6e-4db8-9baf-826b7d6b4660_6904682300219, 0.254, 0.772, 0.481
same, 6902890232216, 20240910-163838-9e6f0b38-2ffe-4727-9ec7-a02435b8f629_6902890232216, 0.264, 0.781, 0.592
same, 6901668936295, 20240910-165424-5d55263c-e523-495e-b673-fc53eaa68b05_6901668936295, 0.138, 0.542, 0.237
same, 6903148126677, 20240910-170403-c1b9db80-7ee0-4508-8858-1e3e1b924648_6903148126677, 0.351, 0.861, 0.603
same, 6901668929518, 20240910-172500-509a2d1e-e665-4fe6-8ffe-b69117d7b09f_6901668929518, 0.364, 0.825, 0.731
same, 6903148231623, 20240910-171824-2d3edfcd-c169-4c6e-9734-9325b72cf9fe_6903148231623, 0.174, 0.689, 0.357
same, 6901668929518, 20240910-173839-e4b3b834-c695-4917-b2f4-7cfaaebb98dc_6901668929518, 0.436, 0.872, 0.772
same, 6901668929730, 20240910-170447-3b37f76f-5e21-400b-a8a8-2376c0796ae6_6901668929730, 0.461, 0.851, 0.797
same, 6903148080085, 20240910-173314-d6ac3740-20f2-4aa7-a392-80a96b7607c3_6903148080085, 0.369, 0.859, 0.826
same, 6901070600142, 20240910-172734-8c23b385-99f7-4e01-819a-78c86611ff48_6901070600142, 0.200, 0.674, 0.441
same, 6958104102516, 20240910-164452-0f365052-2e4a-4d00-9cf7-0407d731d07e_6958104102516, 0.233, 0.868, 0.582
same, 6901070600142, 20240910-162749-ab186eb8-6777-489b-8ad0-c1c6e66b285d_6901070600142, 0.267, 0.725, 0.590
same, 8993175537322, 20240910-164432-008357d7-7ee6-49b9-8d08-3f3a6081c4e1_8993175537322, 0.448, 0.787, 0.784
same, 6975682480393, 20240910-163007-6dfc085b-42b9-432d-9c41-7bfd294526b6_6975682480393, 0.447, 0.832, 0.830
same, 6903148080085, 20240910-163825-e4de18e2-fe7c-4ff6-8b51-7ef2a7db7ed3_6903148080085, 0.350, 0.836, 0.766
same, 6903148231623, 20240910-172854-5fb70036-3089-4258-9346-de25d415f120_6903148231623, 0.422, 0.843, 0.780
same, 6949909050041, 20240910-170817-c2f8c500-3aa5-4bd2-bf82-787d0cd22585_6949909050041, 0.493, 0.891, 0.884
same, 6907992517780, 20240910-170246-e773b037-a712-4d78-accd-71c24b675365_6907992517780, 0.338, 0.738, 0.824
same, 6902265160502, 20240910-163907-1ac881ec-cac4-4811-9cab-1826731e77bd_6902265160502, 0.238, 0.826, 0.706
same, 6901668936271, 20240910-164239-e4d8f615-8cf3-483d-bc6e-03e470e2110c_6901668936271, 0.228, 0.610, 0.388
same, 8993175537322, 20240910-172328-48a512b9-4fb1-4abf-bca9-8b3443ce8f2b_8993175537322, 0.454, 0.780, 0.718
same, 8993175537322, 20240910-173819-226cc352-acdc-4419-9159-c97ae0eb58af_8993175537322, 0.454, 0.763, 0.718
same, 6901668929518, 20240910-165517-a0000cdf-aa15-42c8-a6be-dbce8cf7cb32_6901668929518, 0.405, 0.855, 0.759
same, 8000500023976, 20240910-172417-e9d563b9-74e2-4ec1-8f34-331424b48e72_8000500023976, 0.347, 0.851, 0.684
diff, 8993175537322, 20240910-173355-1bbf290e-1f14-4ba8-b666-82c990c4eea3_6901668936684, 0.016, 0.342, 0.029
diff, 6904682300226, 20240910-173847-9eedb2ac-e3a5-4d07-94fe-f7e881d67418_6902088131437, 0.006, 0.344, 0.011
diff, 8993175540667, 20240910-171800-76a062fd-409c-480f-94f4-fd0e65d72467_6904682300226, 0.038, 0.307, 0.066
diff, 6901668934628, 20240910-172352-9b79a4d9-092f-477d-a7a4-8af079d1538d_6970399922365, -0.003, 0.305, -0.006
diff, 6901668929518, 20240910-170331-e3ee7cf5-dda2-4d0b-b8c9-4fb411fe78ec_6902265202318, -0.022, 0.268, -0.036
diff, 6903148080085, 20240910-163802-6b9f0129-8497-467f-a506-5708eda436a4_6907992517780, 0.026, 0.413, 0.060
diff, 6970399922365, 20240910-172403-dbc9de02-2811-449c-961f-23e7a16877d7_6902132084337, 0.090, 0.478, 0.206
diff, 6904682300226, 20240910-164315-38c640ba-cdf3-4ac1-8bff-55fe5d0560bb_6901668934888, 0.071, 0.384, 0.141
diff, 6974158892364, 20240910-173323-78dc658e-e4ef-49e1-a2ff-9ada34c27a85_8000500023976, -0.044, 0.335, -0.118
diff, 6901668934888, 20240910-164323-8e9a882a-a502-4a6e-bd99-70deb2130f57_6904682300219, -0.016, 0.459, -0.041
diff, 6907992517780, 20240910-163750-8e13e800-21d0-4bd9-b686-18ed213460cd_6903148231623, 0.018, 0.399, 0.049
diff, 6901668934628, 20240910-170920-dc16c149-06a3-4c2d-9bec-e930274b55ce_6904682300219, 0.033, 0.332, 0.062
diff, 6901668936684, 20240910-172802-0dbe3709-bd0c-45e7-ad36-0cfc9781ef1b_6902890218470, -0.072, 0.269, -0.162
diff, 6907992517780, 20240910-165620-0b870f0d-88a5-4286-bcbf-b0ebb41ddcfc_6901668934888, 0.141, 0.457, 0.292
diff, 6958104102516, 20240910-163846-7793e886-9f09-4744-9e24-eb47d65c09f5_6902088131437, -0.023, 0.370, -0.056
diff, 8993175537322, 20240910-170742-f78b59da-e242-42c9-ac7a-bba23ff11aff_6901070600142, -0.017, 0.289, -0.030
diff, 6903148126677, 20240910-172814-d17bd016-b8e5-4a21-a137-6bce693e0cb0_8993175540667, -0.044, 0.360, -0.083
diff, 8993175540667, 20240910-162930-ec2bb380-53fe-483f-9aab-9038643ebd1f_6901668929730, -0.021, 0.359, -0.031
diff, 9421903892324, 20240910-173332-55f8124d-7ab0-4a7a-8b08-f4dd9ba06502_6970399922365, 0.033, 0.376, 0.063
diff, 6902890232216, 20240910-173214-5b86868f-cb5b-4b7f-8f3a-aff08d89900d_6901668929730, 0.075, 0.424, 0.151
diff, 6903148231623, 20240910-172904-5462ad91-2a07-4116-898f-ff1d2021e6af_6903148048801, 0.013, 0.311, 0.021
diff, 6924743915848, 20240910-171838-c77a6d0d-185b-48e7-9af9-05de561f1172_6901668934628, -0.069, 0.327, -0.147
diff, 6975682480393, 20240910-170934-74c137ee-0689-42d0-9994-da8ba59fd5db_6902890218470, 0.121, 0.624, 0.273
diff, 6975682480393, 20240910-162952-f6ec3a40-9d64-4f20-b122-0b81eb4a2134_6949909050041, 0.092, 0.646, 0.185
diff, 6907992517780, 20240910-172841-9d7b16fb-4200-4089-b4b2-925da10208ed_6901668934888, 0.158, 0.637, 0.344
diff, 6902265202318, 20240910-165632-a1e22655-d9ad-47f5-a467-55718bd1e23e_6901668936271, -0.006, 0.285, -0.013
diff, 6902890232216, 20240910-163718-e1e09ad9-7a7e-4b43-beb7-47080c0a312e_6904682300226, 0.066, 0.486, 0.157
diff, 9421903892324, 20240910-173233-81246d1d-bbf3-4ee2-b6c1-7f8fe5818266_6903148126677, -0.038, 0.451, -0.061
diff, 6902132084337, 20240910-162836-186bdf15-5ebb-4b55-a3a4-47edea86a7ee_6924743915848, -0.060, 0.275, -0.123
diff, 9421903892324, 20240910-173222-8abca736-4b5d-4b8e-8e53-206809f37082_6902132084337, 0.105, 0.456, 0.213
diff, 6901668934628, 20240910-170945-c5a587f8-925a-46c2-b2f4-b8fe0fa41c90_8993175537322, -0.088, 0.187, -0.148
diff, 6901668934888, 20240910-162848-b0d67358-6f68-482a-94cb-d7de7414e32f_6902265202318, -0.038, 0.355, -0.088
diff, 6902265202318, 20240910-173730-c51d9d00-65a2-4212-99f3-701092810919_6907992517780, 0.026, 0.318, 0.044
diff, 6902890232216, 20240910-170318-706146af-c203-459a-b642-da428ce6426a_6902265160502, 0.077, 0.548, 0.244
diff, 6903148126677, 20240910-162902-3de7f2a9-9068-4f61-a150-0bcc47194a43_6903148347409, -0.047, 0.245, -0.115
diff, 6903148347409, 20240910-172023-a9b8c8b4-8030-4aa5-85fe-54cba57e745f_6902265202318, 0.019, 0.319, 0.050
diff, 6904682300219, 20240910-171920-0a6490ce-547f-493d-b76a-4c849ae12a93_6903148126677, 0.022, 0.342, 0.033
diff, 6974158892364, 20240910-164334-09d4e20e-68c8-48ca-b931-50e58428ef2a_6901668936295, 0.035, 0.449, 0.109
diff, 6901070600142, 20240910-165604-0f805f9d-24f7-4729-923a-bff489a09323_6958104102516, 0.016, 0.382, 0.041
diff, 6901668934628, 20240910-164409-053f810b-7369-4a3e-b91b-b7ba99fa5b9c_6901668936684, -0.046, 0.570, -0.081
diff, 6924743915848, 20240910-170349-b357333c-e939-4ce5-8019-7762799a9097_6902265150022, -0.097, 0.344, -0.250
diff, 6903148126677, 20240910-172828-0a20bffd-ede3-4b0c-977b-8652f52518f9_6902890232216, 0.051, 0.327, 0.109
diff, 6904682300226, 20240910-170807-7bc77832-4cf1-4cd8-aa54-994ff164dcc7_6902890232216, 0.062, 0.423, 0.113
diff, 9421903892324, 20240910-171715-a8fc6d8a-87bd-4fbd-b378-85e34193266f_6901668929730, -0.067, 0.299, -0.108
diff, 6901668936684, 20240910-170258-38579506-3874-4d71-b9d2-ac6e47ca75dd_6903148231623, 0.062, 0.401, 0.131
diff, 6970399922365, 20240910-172010-035f68e4-9b7c-40f7-961c-aa8c0f154252_6902265150022, -0.043, 0.358, -0.099
diff, 6903148048801, 20240910-173344-258d27a2-b2e1-468e-8f32-40edcda94486_6901668929518, 0.079, 0.502, 0.151
diff, 6901668934888, 20240910-170431-722e7de7-c7ef-4825-8080-be019c7f4602_6901668934628, 0.001, 0.440, 0.001
diff, 6970399922365, 20240910-163028-418ab174-5722-4e8a-ae12-e8d3c33f70b5_6974158892364, 0.071, 0.539, 0.207
diff, 6975682480393, 20240910-164251-a2a38e17-5532-49a5-9372-5a3ed8dc6972_6902890218470, 0.112, 0.662, 0.232
diff, 6901668929518, 20240910-163814-9fc0324d-134a-46ee-bb79-6b2dfb6388f9_6902265150022, -0.067, 0.361, -0.147
diff, 6901070600142, 20240910-170417-1ac149e8-4ecb-447c-a8b7-8d5b96e77ffa_6901668929518, -0.033, 0.302, -0.086
diff, 6903148126677, 20240910-172745-96dc9808-4157-4806-856f-c7013452f302_6901668936271, 0.007, 0.366, 0.016
diff, 6903148347409, 20240910-163857-736e50b8-eae8-4a6d-af26-ce3a57a073b8_6903148126677, -0.007, 0.349, -0.017
diff, 6901668936271, 20240910-172445-4f28474f-5463-4b19-bc2d-671105764e27_6901668936684, 0.062, 0.556, 0.123
diff, 6901070600142, 20240910-172754-d034ab2f-1b18-4d6a-a936-9fa538066253_6901668936295, 0.188, 0.602, 0.448
diff, 6902265150022, 20240910-165644-2e79a878-caf1-44ca-851c-287848800d35_8993175540667, 0.037, 0.303, 0.064
diff, 6901668934888, 20240910-172039-ebd2a496-c407-4450-b122-0e8f33e07de2_6901668929518, 0.048, 0.374, 0.114
diff, 6958104102516, 20240910-162817-18813894-397a-4c94-8b90-2d7a46319793_6902132084337, -0.068, 0.248, -0.130
diff, 6902265160502, 20240910-172257-9169e95d-ff11-4d31-98af-13df3f071840_6904682300219, 0.046, 0.473, 0.106
diff, 6970399922365, 20240910-173306-a1409202-ea3d-47c4-aa39-9d17dae711cf_6901668934628, 0.022, 0.368, 0.047
diff, 6902265202318, 20240910-172427-781eb94d-efb6-403c-b88f-f4b9df82fee0_6902088131437, 0.016, 0.316, 0.029
diff, 6907992517780, 20240910-173757-b4ed1c60-a96b-48ad-a451-3caecd61c327_9421903892324, 0.118, 0.554, 0.257
diff, 6901668936271, 20240910-170907-0e74383f-0341-4b90-b333-910e5a184296_6901668936684, 0.136, 0.493, 0.253
diff, 6901668934628, 20240910-171014-ee1e7d74-0d89-4014-a125-7c9cdebb15fd_8000500023976, 0.061, 0.321, 0.135
diff, 6903148126677, 20240910-164347-47377bae-2ca6-4d75-a076-e7f6c03d0f2e_6901668929518, -0.026, 0.325, -0.048
diff, 6903148048801, 20240910-173409-55dd7611-7394-4783-9f4e-4639401078ea_6902265160502, 0.030, 0.373, 0.071
diff, 6902132084337, 20240910-165525-e17864c9-e965-4531-be14-be551dad88fb_6901668936684, 0.045, 0.370, 0.116
diff, 6902890232216, 20240910-162805-592cff06-4acb-420f-bc36-bb00f3e0efbb_6901668934628, -0.066, 0.262, -0.161
diff, 6903148048801, 20240910-172919-ab2efd9a-a776-420f-95f5-2f8188f719e4_6949909050041, 0.118, 0.403, 0.235
diff, 6970399922365, 20240910-171723-2f8a7ece-99cb-4d91-b484-67b486599f26_6907992517780, -0.043, 0.340, -0.102
diff, 6903148048801, 20240910-165443-48bad32d-9f2b-499b-907d-c602cf563ee3_6902890218470, -0.002, 0.480, -0.004
diff, 6904682300226, 20240910-165455-d0e36365-f7f2-4f2e-84a7-1ffc24ccc1c7_6904682300219, 0.270, 0.808, 0.584
diff, 6901668936271, 20240910-170231-21568a27-641b-448d-8b8c-9eff4dfe7294_6904682300226, 0.025, 0.367, 0.055
diff, 6949909050041, 20240910-163740-851d23c1-e90f-4947-abc3-f463991c5505_6903148048801, 0.102, 0.445, 0.189
diff, 6902890232216, 20240910-170730-76626a74-34fb-486d-b889-4276552edb0e_6902132084337, -0.019, 0.245, -0.041
diff, 6924743915848, 20240910-172316-ffa74ee4-46d5-4266-b362-ebfebed0c572_9421903892324, 0.078, 0.441, 0.186
diff, 6901070600142, 20240910-173807-afdeec3a-0d6e-4db8-9baf-826b7d6b4660_6904682300219, 0.009, 0.483, 0.021
diff, 6924743915848, 20240910-163838-9e6f0b38-2ffe-4727-9ec7-a02435b8f629_6902890232216, -0.025, 0.388, -0.059
diff, 6902265160502, 20240910-165424-5d55263c-e523-495e-b673-fc53eaa68b05_6901668936295, -0.041, 0.280, -0.087
diff, 6902088131437, 20240910-170403-c1b9db80-7ee0-4508-8858-1e3e1b924648_6903148126677, -0.019, 0.230, -0.025
diff, 6903148080085, 20240910-172500-509a2d1e-e665-4fe6-8ffe-b69117d7b09f_6901668929518, 0.064, 0.492, 0.136
diff, 6901668934888, 20240910-171824-2d3edfcd-c169-4c6e-9734-9325b72cf9fe_6903148231623, 0.014, 0.328, 0.034
diff, 6901668929730, 20240910-173839-e4b3b834-c695-4917-b2f4-7cfaaebb98dc_6901668929518, -0.066, 0.278, -0.107
diff, 6901070600142, 20240910-170447-3b37f76f-5e21-400b-a8a8-2376c0796ae6_6901668929730, -0.069, 0.411, -0.149
diff, 6974158892364, 20240910-173314-d6ac3740-20f2-4aa7-a392-80a96b7607c3_6903148080085, -0.034, 0.302, -0.111
diff, 6901668936295, 20240910-172734-8c23b385-99f7-4e01-819a-78c86611ff48_6901070600142, 0.007, 0.424, 0.013
diff, 6975682480393, 20240910-164452-0f365052-2e4a-4d00-9cf7-0407d731d07e_6958104102516, 0.030, 0.402, 0.074
diff, 6903148080085, 20240910-162749-ab186eb8-6777-489b-8ad0-c1c6e66b285d_6901070600142, -0.014, 0.308, -0.027
diff, 6901668929730, 20240910-164432-008357d7-7ee6-49b9-8d08-3f3a6081c4e1_8993175537322, 0.020, 0.298, 0.036
diff, 6902890218470, 20240910-163007-6dfc085b-42b9-432d-9c41-7bfd294526b6_6975682480393, 0.185, 0.635, 0.394
diff, 6902890232216, 20240910-163825-e4de18e2-fe7c-4ff6-8b51-7ef2a7db7ed3_6903148080085, 0.024, 0.351, 0.056
diff, 6902890232216, 20240910-172854-5fb70036-3089-4258-9346-de25d415f120_6903148231623, -0.079, 0.318, -0.181
diff, 6901668936271, 20240910-170817-c2f8c500-3aa5-4bd2-bf82-787d0cd22585_6949909050041, -0.011, 0.325, -0.019
diff, 6902265160502, 20240910-170246-e773b037-a712-4d78-accd-71c24b675365_6907992517780, -0.094, 0.362, -0.245
diff, 6902132084337, 20240910-163907-1ac881ec-cac4-4811-9cab-1826731e77bd_6902265160502, -0.008, 0.321, -0.022
diff, 6970399922365, 20240910-164239-e4d8f615-8cf3-483d-bc6e-03e470e2110c_6901668936271, 0.047, 0.366, 0.105
diff, 6904682300219, 20240910-172328-48a512b9-4fb1-4abf-bca9-8b3443ce8f2b_8993175537322, -0.012, 0.472, -0.019
diff, 6901668936271, 20240910-173819-226cc352-acdc-4419-9159-c97ae0eb58af_8993175537322, 0.010, 0.340, 0.016
diff, 6901668936271, 20240910-165517-a0000cdf-aa15-42c8-a6be-dbce8cf7cb32_6901668929518, 0.090, 0.480, 0.155
diff, 6901668929730, 20240910-172417-e9d563b9-74e2-4ec1-8f34-331424b48e72_8000500023976, 0.108, 0.463, 0.214

View File

@ -0,0 +1,7 @@
# -*- coding: utf-8 -*-
"""
Created on Thu Sep 26 08:53:58 2024
@author: ym
"""

View File

@ -0,0 +1,83 @@
# -*- coding: utf-8 -*-
"""
Created on Fri Sep 13 16:49:05 2024
比较 stdBcdpath 和 filepath 中的 barcodes 列表,求出二者的并集和为包含在
stdBcdpath 中的 barcodes 清单
@author: ym
"""
import os
from openpyxl import load_workbook, Workbook
def read_xlsx():
stdBcdpath = r"\\192.168.1.28\share\已标注数据备份\对比数据\barcode\total_barcode_6588"
filepath = r"\\192.168.1.28\share\联华中环店\中环店商品信息.xlsx"
existingPath = r'\\192.168.1.28\share\联华中环店\中环店商品信息_已有商品.xlsx'
lackingPath = r'\\192.168.1.28\share\联华中环店\中环店商品信息_未包含商品.xlsx'
workbook = load_workbook(filename=filepath)
sheet = workbook['Sheet1']
barcodeCol = [sheet.cell(row=r, column=1).value for r in range(1, sheet.max_row+1)]
zhBarcodeList = [barcodeCol[i] for i in range(1, len(barcodeCol))]
stdBarcodeList = []
for filename in os.listdir(stdBcdpath):
filepath = os.path.join(stdBcdpath, filename)
if not os.path.isdir(filepath) or not filename.isdigit():
continue
stdBarcodeList.append(int(filename))
stdBarcodeSet = set(stdBarcodeList)
zhBarcodeSet = set(zhBarcodeList)
interBarcodes = list(zhBarcodeSet.intersection(stdBarcodeSet))
print(len(interBarcodes))
dest_wb1 = Workbook()
dest_sheet1 = dest_wb1.active
for row in sheet.iter_rows(min_row=1, max_col=sheet.max_column, values_only=True):
if str(row[0]).find("商品条码")>=0:
dest_sheet1.append(row)
if row[0] in interBarcodes:
dest_sheet1.append(row)
dest_wb1.save(filename=existingPath)
dest_wb1.close()
diffBarcodes = list(zhBarcodeSet.difference(stdBarcodeSet))
dest_wb2 = Workbook()
dest_sheet2 = dest_wb2.active
for row in sheet.iter_rows(min_row=1, max_col=sheet.max_column, values_only=True):
if str(row[0]).find("商品条码")>=0:
dest_sheet2.append(row)
if row[0] in diffBarcodes:
dest_sheet2.append(row)
dest_wb2.save(filename=lackingPath)
dest_wb2.close()
workbook.close()
if __name__ == '__main__':
# main()
read_xlsx()

View File

@ -1,7 +1,16 @@
# -*- coding: utf-8 -*-
"""
@author: LiChen
"""
import json import json
import os import os
import pickle import pickle
import numpy as np import numpy as np
import sys
sys.path.append(r"D:\DetectTracking\contrast")
from config import config as conf from config import config as conf
# from img_data import library_imgs, temp_imgs, main_library_imgs, main_imgs_2 # from img_data import library_imgs, temp_imgs, main_library_imgs, main_imgs_2
# from test_logic import initModel,getFeatureList # from test_logic import initModel,getFeatureList
@ -11,7 +20,6 @@ from PIL import Image
device = conf.device device = conf.device
def initModel(): def initModel():
model = resnet18().to(device) model = resnet18().to(device)
model.load_state_dict(torch.load(conf.test_model, map_location=conf.device)) model.load_state_dict(torch.load(conf.test_model, map_location=conf.device))

View File

95
pipeline.py Normal file
View File

@ -0,0 +1,95 @@
# -*- coding: utf-8 -*-
"""
Created on Sun Sep 29 08:59:21 2024
@author: ym
"""
import os
import cv2
from pathlib import Path
from track_reid import parse_opt, yolo_resnet_tracker
from tracking.dotrack.dotracks_back import doBackTracks
from tracking.dotrack.dotracks_front import doFrontTracks
IMGFORMATS = '.bmp', '.jpeg', '.jpg', 'png', 'tif', 'tiff', 'webp', 'pfm'
VIDFORMATS = '.avi', '.gif', '.m4v', '.mkv', '.mov', '.mp4', '.ts', '.wmv'
std_feature_path = r"\\192.168.1.28\share\测试_202406\contrast\std_features_2192_ft32vsft16"
opt = parse_opt()
optdict = vars(opt)
def get_video_pairs(vpath):
vdieopath = []
for filename in os.listdir(vpath):
file, ext = os.path.splitext(filename)
if ext in VIDFORMATS:
vdieopath.append(os.path.join(vpath, filename))
return vdieopath
def pipeline():
eventpath = r"\\192.168.1.28\share\测试_202406\0918\images1\20240918-110913-c3a7e4d9-23d4-4a6f-a23f-a2eeee510536_6939947701616"
savepath = r"D:\contrast\detect"
optdict["project"] = savepath
eventname = os.path.basename(eventpath)
vpaths = get_video_pairs(eventpath)
event_tracks = []
for vpath in vpaths:
'''事件结果文件夹'''
save_dir_event = Path(savepath) / Path(eventname)
save_dir_img = save_dir_event / Path(str(Path(vpath).stem))
if not save_dir_img.exists():
save_dir_img.mkdir(parents=True, exist_ok=True)
'''Yolo + Resnet + Tracker'''
optdict["source"] = vpath
optdict["save_dir"] = save_dir_img
optdict["nosave"] = False
tracksdict = yolo_resnet_tracker(**optdict)
bboxes = tracksdict['TrackBoxes']
bname = os.path.basename(vpath)
if bname.split('_')[0] == "0" or bname.find('back')>=0:
vts = doFrontTracks(bboxes, tracksdict)
vts.classify()
event_tracks.append(("back", vts))
if bname.split('_')[0] == "1" or bname.find('front')>=0:
vts = doBackTracks(bboxes, tracksdict)
vts.classify()
event_tracks.append(("front", vts))
for CamerType, vts in event_tracks:
if CamerType == 'back':
pass
if CamerType == 'front':
pass
for featname in os.listdir(std_feature_path):
pass
def main():
pipeline()
if __name__ == "__main__":
main()

View File

@ -127,6 +127,176 @@ def init_trackers(tracker_yaml = None, bs=1):
return trackers return trackers
@smart_inference_mode()
def yolo_resnet_tracker(
weights=ROOT / 'yolov5s.pt', # model path or triton URL
source=ROOT / 'data/images', # file/dir/URL/glob/screen/0(webcam)
project=ROOT / 'runs/detect', # save results to project/name
name='exp', # save results to project/name
save_dir = '',
tracker_yaml = "./tracking/trackers/cfg/botsort.yaml",
imgsz=(640, 640), # inference size (height, width)
conf_thres=0.25, # confidence threshold
iou_thres=0.45, # NMS IOU threshold
max_det=1000, # maximum detections per image
device='', # cuda device, i.e. 0 or 0,1,2,3 or cpu
view_img=False, # show results
save_txt=False, # save results to *.txt
save_csv=False, # save results in CSV format
save_conf=False, # save confidences in --save-txt labels
save_crop=False, # save cropped prediction boxes
nosave=False, # do not save images/videos
classes=None, # filter by class: --class 0, or --class 0 2 3
agnostic_nms=False, # class-agnostic NMS
augment=False, # augmented inference
visualize=False, # visualize features
update=False, # update all models
exist_ok=False, # existing project/name ok, do not increment
line_thickness=3, # bounding box thickness (pixels)
hide_labels=False, # hide labels
hide_conf=False, # hide confidencesL
half=False, # use FP16 half-precision inference
dnn=False, # use OpenCV DNN for ONNX inference
vid_stride=1, # video frame-rate stride
data=ROOT / 'data/coco128.yaml', # dataset.yaml path
):
source = str(source)
save_img = not nosave and not source.endswith('.txt') # save inference images
# Load model
device = select_device(device)
model = DetectMultiBackend(weights, device=device, dnn=dnn, data=data, fp16=half)
stride, names, pt = model.stride, model.names, model.pt
imgsz = check_img_size(imgsz, s=stride) # check image size
# Dataloader
bs = 1 # batch_size
dataset = LoadImages(source, img_size=imgsz, stride=stride, auto=pt, vid_stride=vid_stride)
vid_path, vid_writer = [None] * bs, [None] * bs
# Run inference
model.warmup(imgsz=(1 if pt or model.triton else bs, 3, *imgsz)) # warmup
tracker = init_trackers(tracker_yaml, bs)[0]
dt = (Profile(), Profile(), Profile())
track_boxes = np.empty((0, 9), dtype = np.float32)
TracksDict = {}
for path, im, im0s, vid_cap, s in dataset:
with dt[0]:
im = torch.from_numpy(im).to(model.device)
im = im.half() if model.fp16 else im.float() # uint8 to fp16/32
im /= 255 # 0 - 255 to 0.0 - 1.0
if len(im.shape) == 3:
im = im[None] # expand for batch dim
# Inference
with dt[1]:
visualize = increment_path(save_dir / Path(path).stem, mkdir=True) if visualize else False
pred = model(im, augment=augment, visualize=visualize)
# NMS
with dt[2]:
pred = non_max_suppression(pred, conf_thres, iou_thres, classes, agnostic_nms, max_det=max_det)
# Process predictions
for i, det in enumerate(pred): # per image
im0 = im0s.copy()
save_path = str(save_dir / Path(path).name) # im.jpg
s += '%gx%g ' % im.shape[2:] # print string
annotator = Annotator(im0.copy(), line_width=line_thickness, example=str(names))
if len(det):
# Rescale boxes from img_size to im0 size
det[:, :4] = scale_boxes(im.shape[2:], det[:, :4], im0.shape).round()
# det = det.cpu().numpy()
## ================================================================ writed by WQG
'''tracks: [x1, y1, x2, y2, track_id, score, cls, frame_index, box_index]
0 1 2 3 4 5 6 7 8
这里frame_index 也可以用视频的 帧ID 代替, box_index 保持不变
'''
det_tracking = Boxes(det, im0.shape).cpu().numpy()
tracks = tracker.update(det_tracking, im0)
if len(tracks) == 0:
continue
tracks[:, 7] = dataset.frame
'''================== 1. 存储 dets/subimgs/features Dict ============='''
imgs, features = inference_image(im0, tracks)
# TrackerFeats = np.concatenate([TrackerFeats, features], axis=0)
imgdict = {}
boxdict = {}
featdict = {}
for ii, bid in enumerate(tracks[:, 8]):
imgdict.update({int(bid): imgs[ii]}) # [f"img_{int(bid)}"] = imgs[i]
boxdict.update({int(bid): tracks[ii, :]}) # [f"box_{int(bid)}"] = tracks[i, :]
featdict.update({int(bid): features[ii, :]}) # [f"feat_{int(bid)}"] = features[i, :]
TracksDict[f"frame_{int(dataset.frame)}"] = {"imgs":imgdict, "boxes":boxdict, "feats":featdict}
track_boxes = np.concatenate([track_boxes, tracks], axis=0)
'''================== 2. 提取手势位置 ==================='''
for *xyxy, id, conf, cls, fid, bid in reversed(tracks):
name = ('' if id==-1 else f'id:{int(id)} ') + names[int(cls)]
label = None if hide_labels else (name if hide_conf else f'{name} {conf:.2f}')
if id >=0 and cls==0:
color = colors(int(cls), True)
elif id >=0 and cls!=0:
color = colors(int(id), True)
else:
color = colors(19, True) # 19为调色板的最后一个元素
annotator.box_label(xyxy, label, color=color)
# Save results (image and video with tracking)
im0 = annotator.result()
save_path_img, ext = os.path.splitext(save_path)
if save_img:
if dataset.mode == 'image':
imgpath = save_path_img + f"_{dataset}.png"
else:
imgpath = save_path_img + f"_{dataset.frame}.png"
cv2.imwrite(Path(imgpath), im0)
if vid_path[i] != save_path: # new video
vid_path[i] = save_path
if isinstance(vid_writer[i], cv2.VideoWriter):
vid_writer[i].release() # release previous video writer
if vid_cap: # video
fps = vid_cap.get(cv2.CAP_PROP_FPS)
w = int(vid_cap.get(cv2.CAP_PROP_FRAME_WIDTH))
h = int(vid_cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
else: # stream
fps, w, h = 30, im0.shape[1], im0.shape[0]
save_path = str(Path(save_path).with_suffix('.mp4')) # force *.mp4 suffix on results videos
vid_writer[i] = cv2.VideoWriter(save_path, cv2.VideoWriter_fourcc(*'mp4v'), fps, (w, h))
vid_writer[i].write(im0)
# Print time (inference-only)
LOGGER.info(f"{s}{'' if len(det) else '(no detections), '}{dt[1].dt * 1E3:.1f}ms")
## track_boxes: Array, [x1, y1, x2, y2, track_id, score, cls, frame_index, box_id]
TracksDict.update({"TrackBoxes": track_boxes})
return TracksDict
@smart_inference_mode() @smart_inference_mode()
def run( def run(
weights=ROOT / 'yolov5s.pt', # model path or triton URL weights=ROOT / 'yolov5s.pt', # model path or triton URL
@ -438,7 +608,8 @@ def run(
def parse_opt(): def parse_opt():
modelpath = ROOT / 'ckpts/best_yolov5m_250000.pt' # 'ckpts/best_15000_0908.pt', 'ckpts/yolov5s.pt', 'ckpts/best_20000_cls30.pt' modelpath = ROOT / 'ckpts/best_cls10_0906.pt' # 'ckpts/best_15000_0908.pt', 'ckpts/yolov5s.pt', 'ckpts/best_20000_cls30.pt, best_yolov5m_250000'
'''datapath为视频文件目录或视频文件''' '''datapath为视频文件目录或视频文件'''
datapath = r"D:/datasets/ym/videos/标记视频/" # ROOT/'data/videos', ROOT/'data/images' images datapath = r"D:/datasets/ym/videos/标记视频/" # ROOT/'data/videos', ROOT/'data/images' images
@ -522,7 +693,8 @@ def main_loop(opt):
# p = r"D:\datasets\ym\videos\标记视频" # p = r"D:\datasets\ym\videos\标记视频"
# p = r"D:\datasets\ym\实验室测试" # p = r"D:\datasets\ym\实验室测试"
# p = r"D:\datasets\ym\永辉双摄视频\新建文件夹" # p = r"D:\datasets\ym\永辉双摄视频\新建文件夹"
p = r"\\192.168.1.28\share\测试_202406\0723\0723_2\20240723-112522_" # p = r"\\192.168.1.28\share\测试_202406\0723\0723_2\20240723-112522_"
p = r"D:\datasets\ym\联华中环"
k = 0 k = 0
if os.path.isdir(p): if os.path.isdir(p):

View File

@ -1,6 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
Created on Fri Aug 30 17:53:03 2024 Created on Fri Aug 30 17:53:03 2024
have Deprecated!
1. 确认在相同CamerType下track.data CamerID 项数量 = 图像数 = 帧ID数 = 最大帧ID 1. 确认在相同CamerType下track.data CamerID 项数量 = 图像数 = 帧ID数 = 最大帧ID

View File

@ -15,12 +15,15 @@ import pandas as pd
import shutil import shutil
import random import random
import math import math
import sys
from scipy.spatial.distance import cdist from scipy.spatial.distance import cdist
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
from pathlib import Path from pathlib import Path
from utils.gen import Profile from utils.gen import Profile
sys.path.append(r"D:\DetectTracking\tracking")
from dotrack.dotracks_back import doBackTracks from dotrack.dotracks_back import doBackTracks
from dotrack.dotracks_front import doFrontTracks from dotrack.dotracks_front import doFrontTracks
from utils.drawtracks import plot_frameID_y2, draw_all_trajectories from utils.drawtracks import plot_frameID_y2, draw_all_trajectories

View File

@ -8,10 +8,11 @@ import numpy as np
import cv2 import cv2
from pathlib import Path from pathlib import Path
from scipy.spatial.distance import cdist from scipy.spatial.distance import cdist
from utils.mergetrack import track_equal_track, readDict from tracking.utils.mergetrack import track_equal_track, readDict
curpath = Path(__file__).resolve().parents[0] curpath = Path(__file__).resolve().parents[0]
curpath = Path(curpath) curpath = Path(curpath)
parpath = curpath.parent
class MoveState: class MoveState:
"""商品运动状态标志""" """商品运动状态标志"""
@ -297,11 +298,15 @@ class Track:
front, 前置摄像头 front, 前置摄像头
''' '''
if camerType=="back": if camerType=="back":
incart = cv2.imread("./shopcart/cart_tempt/incart.png", cv2.IMREAD_GRAYSCALE) incart = cv2.imread(str(parpath/'shopcart/cart_tempt/incart.png'), cv2.IMREAD_GRAYSCALE)
outcart = cv2.imread("./shopcart/cart_tempt/outcart.png", cv2.IMREAD_GRAYSCALE) outcart = cv2.imread(str(parpath/'shopcart/cart_tempt/outcart.png'), cv2.IMREAD_GRAYSCALE)
else: else:
incart = cv2.imread("./shopcart/cart_tempt/incart_ftmp.png", cv2.IMREAD_GRAYSCALE) incart = cv2.imread(str(parpath/'shopcart/cart_tempt/incart_ftmp.png'), cv2.IMREAD_GRAYSCALE)
outcart = cv2.imread("./shopcart/cart_tempt/outcart_ftmp.png", cv2.IMREAD_GRAYSCALE) outcart = cv2.imread(str(parpath/'shopcart/cart_tempt/outcart_ftmp.png'), cv2.IMREAD_GRAYSCALE)
# incart = cv2.imread('./cart_tempt/incart_ftmp.png', cv2.IMREAD_GRAYSCALE)
# outcart = cv2.imread('./cart_tempt/outcart_ftmp.png', cv2.IMREAD_GRAYSCALE)
xc, yc = self.cornpoints[:,0].clip(0,self.imgshape[0]-1).astype(np.int64), self.cornpoints[:,1].clip(0,self.imgshape[1]-1).astype(np.int64) xc, yc = self.cornpoints[:,0].clip(0,self.imgshape[0]-1).astype(np.int64), self.cornpoints[:,1].clip(0,self.imgshape[1]-1).astype(np.int64)
x1, y1 = self.cornpoints[:,6].clip(0,self.imgshape[0]-1).astype(np.int64), self.cornpoints[:,7].clip(0,self.imgshape[1]-1).astype(np.int64) x1, y1 = self.cornpoints[:,6].clip(0,self.imgshape[0]-1).astype(np.int64), self.cornpoints[:,7].clip(0,self.imgshape[1]-1).astype(np.int64)

View File

@ -5,7 +5,7 @@ Created on Mon Mar 4 18:36:31 2024
@author: ym @author: ym
""" """
import numpy as np import numpy as np
from utils.mergetrack import track_equal_track from tracking.utils.mergetrack import track_equal_track
from scipy.spatial.distance import cdist from scipy.spatial.distance import cdist
from .dotracks import doTracks, ShoppingCart from .dotracks import doTracks, ShoppingCart
from .track_back import backTrack from .track_back import backTrack

View File

@ -5,7 +5,7 @@ Created on Mon Mar 4 18:38:20 2024
@author: ym @author: ym
""" """
import numpy as np import numpy as np
from utils.mergetrack import track_equal_track # from tracking.utils.mergetrack import track_equal_track
from .dotracks import doTracks from .dotracks import doTracks
from .track_front import frontTrack from .track_front import frontTrack

View File

@ -10,6 +10,10 @@ from scipy.spatial.distance import cdist
from sklearn.decomposition import PCA from sklearn.decomposition import PCA
from .dotracks import MoveState, Track from .dotracks import MoveState, Track
from pathlib import Path
curpath = Path(__file__).resolve().parents[0]
curpath = Path(curpath)
parpath = curpath.parent
class backTrack(Track): class backTrack(Track):
# boxes: [x1, y1, x2, y2, track_id, score, cls, frame_index, box_index] # boxes: [x1, y1, x2, y2, track_id, score, cls, frame_index, box_index]
@ -93,9 +97,9 @@ class backTrack(Track):
maxbox_iou, minbox_ioutrack中最大、最小 box 和boxes流的iou二者差值越小越接近 1表明track的运动型越小。 maxbox_iou, minbox_ioutrack中最大、最小 box 和boxes流的iou二者差值越小越接近 1表明track的运动型越小。
incartrates: 各box和incart的iou时序由小变大反应的是置入过程由大变小反应的是取出过程 incartrates: 各box和incart的iou时序由小变大反应的是置入过程由大变小反应的是取出过程
''' '''
incart = cv2.imread("./shopcart/cart_tempt/incart.png", cv2.IMREAD_GRAYSCALE) incart = cv2.imread(str(parpath/"shopcart/cart_tempt/incart.png"), cv2.IMREAD_GRAYSCALE)
outcart = cv2.imread("./shopcart/cart_tempt/outcart.png", cv2.IMREAD_GRAYSCALE) outcart = cv2.imread(str(parpath/"shopcart/cart_tempt/outcart.png"), cv2.IMREAD_GRAYSCALE)
cartboarder = cv2.imread("./shopcart/cart_tempt/cartboarder.png", cv2.IMREAD_GRAYSCALE) cartboarder = cv2.imread(str(parpath/"shopcart/cart_tempt/cartboarder.png"), cv2.IMREAD_GRAYSCALE)
incartrates = [] incartrates = []
temp = np.zeros(incart.shape, np.uint8) temp = np.zeros(incart.shape, np.uint8)

View File

@ -98,13 +98,10 @@ def read_imgs(imgspath, CamerType):
flist = file.split('_') flist = file.split('_')
if len(flist)==4 and ext in ImgFormat: if len(flist)==4 and ext in ImgFormat:
camID, frmID = flist[0], int(flist[-1]) camID, frmID = flist[0], int(flist[-1])
imgpath = os.path.join(imgspath, filename)
img = cv2.imread(imgpath)
if camID==CamerType: if camID==CamerType:
img = cv2.imread(os.path.join(imgspath, filename))
imgs.append(img) imgs.append(img)
frmIDs.append(frmID) frmIDs.append(frmID)
if len(frmIDs): if len(frmIDs):
indice = np.argsort(np.array(frmIDs)) indice = np.argsort(np.array(frmIDs))
imgs = [imgs[i] for i in indice] imgs = [imgs[i] for i in indice]
@ -227,7 +224,7 @@ def do_tracking(fpath, savedir, event_name='images'):
'''4.2 在 imgs 上画框并保存''' '''4.2 在 imgs 上画框并保存'''
imgs_dw = draw_tracking_boxes(imgs, trackerboxes) imgs_dw = draw_tracking_boxes(imgs, trackerboxes)
for fid, img in imgs_dw: for fid, img in imgs_dw:
img_savepath = os.path.join(save_dir, CamerType + "_fid_" + f"{fid}.png") img_savepath = os.path.join(save_dir, CamerType + "_fid_" + f"{int(fid)}.png")
cv2.imwrite(img_savepath, img) cv2.imwrite(img_savepath, img)
'''4.3.2 保存轨迹选择对应的子图''' '''4.3.2 保存轨迹选择对应的子图'''
@ -238,7 +235,7 @@ def do_tracking(fpath, savedir, event_name='images'):
x1, y1, x2, y2 = int(xyxy[0]/2), int(xyxy[1]/2), int(xyxy[2]/2), int(xyxy[3]/2) x1, y1, x2, y2 = int(xyxy[0]/2), int(xyxy[1]/2), int(xyxy[2]/2), int(xyxy[3]/2)
subimg = img[y1:y2, x1:x2] subimg = img[y1:y2, x1:x2]
subimg_path = os.path.join(subimg_dir, f'{CamerType}_tid{int(tid)}_{int(fid-1)}_{int(bid)}.png' ) subimg_path = os.path.join(subimg_dir, f'{CamerType}_tid{int(tid)}_{int(fid)}_{int(bid)}.png' )
cv2.imwrite(subimg_path, subimg) cv2.imwrite(subimg_path, subimg)
# for track in tracking_output_boxes: # for track in tracking_output_boxes:
# for *xyxy, tid, conf, cls, fid, bid in track: # for *xyxy, tid, conf, cls, fid, bid in track:
@ -270,8 +267,9 @@ def tracking_simulate(eventpath, savepath):
# else: # else:
# return # return
# ============================================================================= # =============================================================================
bname = os.path.basename(eventpath)
enent_name = os.path.basename(eventpath)[:15] idx = bname.find('2024')
enent_name = bname[idx:(idx+15)]
'''2. 依次读取 0/1_track.data 中数据,进行仿真''' '''2. 依次读取 0/1_track.data 中数据,进行仿真'''
illu_tracking, illu_select = [], [] illu_tracking, illu_select = [], []
@ -289,7 +287,9 @@ def tracking_simulate(eventpath, savepath):
if img_tracking is not None: if img_tracking is not None:
illu_tracking.append(img_tracking) illu_tracking.append(img_tracking)
'''3. 前、后摄原始轨迹、本地tracking输出、现场算法轨迹选择前、后共幅8图''' '''3. 共幅8图上下子图显示的是前后摄每一行4个子图分别为
(1) tracker输出原始轨迹; (2)本地tracking输出; (3)现场算法轨迹选择前轨迹; (4)现场算法轨迹选择后的轨迹
'''
if len(illu_select)==2: if len(illu_select)==2:
Img_s = np.concatenate((illu_select[0], illu_select[1]), axis = 0) Img_s = np.concatenate((illu_select[0], illu_select[1]), axis = 0)
H, W = Img_s.shape[:2] H, W = Img_s.shape[:2]
@ -309,13 +309,13 @@ def tracking_simulate(eventpath, savepath):
Img_t = None Img_t = None
'''3.1 单独另存保存完好的 8 轨迹图''' '''3.1 单独另存保存完好的 8 轨迹图'''
basepath, _ = os.path.split(savepath) basepath, _ = os.path.split(savepath)
trajpath = os.path.join(basepath, 'trajs') trajpath = os.path.join(basepath, 'trajs')
if not os.path.exists(trajpath): if not os.path.exists(trajpath):
os.makedirs(trajpath) os.makedirs(trajpath)
traj_path = os.path.join(trajpath, enent_name+'.png') traj_path = os.path.join(trajpath, enent_name+'.png')
imgpath_tracking = os.path.join(savepath, enent_name + '_ing.png') imgpath_tracking = os.path.join(savepath, enent_name + '_ing.png')
imgpath_select = os.path.join(savepath, enent_name + '_slt.png') imgpath_select = os.path.join(savepath, enent_name + '_slt.png')
imgpath_ts = os.path.join(savepath, enent_name + '_ts.png') imgpath_ts = os.path.join(savepath, enent_name + '_ts.png')
@ -327,8 +327,8 @@ def tracking_simulate(eventpath, savepath):
cv2.imwrite(imgpath_ts, Img_ts) cv2.imwrite(imgpath_ts, Img_ts)
cv2.imwrite(traj_path, Img_ts) cv2.imwrite(traj_path, Img_ts)
else: else:
if Img_s: cv2.imwrite(imgpath_select, Img_s) if Img_s: cv2.imwrite(imgpath_select, Img_s) # 不会执行到该处
if Img_t: cv2.imwrite(imgpath_tracking, Img_t) if Img_t: cv2.imwrite(imgpath_tracking, Img_t) # 不会执行到该处
@ -382,11 +382,13 @@ def main():
eventPaths: data文件地址该 data 文件包括 Pipeline 各模块输出 eventPaths: data文件地址该 data 文件包括 Pipeline 各模块输出
SavePath: 包含二级目录,一级目录为轨迹图像;二级目录为与data文件对应的序列图像存储地址。 SavePath: 包含二级目录,一级目录为轨迹图像;二级目录为与data文件对应的序列图像存储地址。
''' '''
eventPaths = r'\\192.168.1.28\share\测试_202406\0723\0723_3' # eventPaths = r'\\192.168.1.28\share\测试_202406\0723\0723_3'
eventPaths = r"D:\DetectTracking\tracking\images"
savePath = r'D:\contrast\dataset\result' savePath = r'D:\contrast\dataset\result'
k=0 k=0
for pathname in os.listdir(eventPaths): for pathname in os.listdir(eventPaths):
pathname = "20240723-163121_6925282237668" pathname = "20240925-142635-3e3cb61a-8bbe-45f2-aed7-a40de7f2d624_6924743924161"
eventpath = os.path.join(eventPaths, pathname) eventpath = os.path.join(eventPaths, pathname)
savepath = os.path.join(savePath, pathname) savepath = os.path.join(savePath, pathname)

View File

@ -80,14 +80,14 @@ def save_subimgs(vts, file, TracksDict):
cv2.imwrite(str(imgdir) + f"/{tid}_{fid}_{bid}.png", img) cv2.imwrite(str(imgdir) + f"/{tid}_{fid}_{bid}.png", img)
def have_tracked(): def have_tracked():
trackdict = r'./data/trackdicts_20240608' trackdict = r'./data/trackdicts'
alltracks = [] alltracks = []
k = 0 k = 0
gt = Profile() gt = Profile()
for filename in os.listdir(trackdict): for filename in os.listdir(trackdict):
# filename = 'test_20240402-173935_6920152400975_back_174037372.pkl' # filename = 'test_20240402-173935_6920152400975_back_174037372.pkl'
filename = '6907149227609_20240508-174733_back_returnGood_70f754088050_425_17327712807.pkl' # filename = '6907149227609_20240508-174733_back_returnGood_70f754088050_425_17327712807.pkl'
filename = '6907149227609_20240508-174733_front_returnGood_70f754088050_425_17327712807.pkl' # filename = '6907149227609_20240508-174733_front_returnGood_70f754088050_425_17327712807.pkl'
file, ext = os.path.splitext(filename) file, ext = os.path.splitext(filename)
filepath = os.path.join(trackdict, filename) filepath = os.path.join(trackdict, filename)
@ -119,11 +119,14 @@ def have_tracked():
save_subimgs(vts, file, TracksDict) save_subimgs(vts, file, TracksDict)
edgeline = cv2.imread("./shopcart/cart_tempt/edgeline.png") edgeline = cv2.imread("./shopcart/cart_tempt/edgeline.png")
img_tracking = draw_all_trajectories(vts, edgeline, save_dir, file) img_tracking = draw_all_trajectories(vts, edgeline, save_dir, file)
trackpath = save_dir.joinpath(f'{file}.png')
cv2.imwrite(str(trackpath), img_tracking)
print(file+f" need time: {gt.dt:.2f}s") print(file+f" need time: {gt.dt:.2f}s")
k += 1 # k += 1
if k==1: # if k==1:
break # break
if len(alltracks): if len(alltracks):
drawFeatures(alltracks, save_dir) drawFeatures(alltracks, save_dir)

View File

@ -333,7 +333,7 @@ def draw_tracking_boxes(imgs, tracks, scale=2):
annotator.box_label(pt2, label, color=color) annotator.box_label(pt2, label, color=color)
img = annotator.result() img = annotator.result()
subimgs.append((fid-1, img)) subimgs.append((fid, img))
return subimgs return subimgs

View File

@ -79,18 +79,21 @@ def extract_data(datapath):
feats.append(str_to_float_arr(feat)) feats.append(str_to_float_arr(feat))
if line.find("output_box:") >= 0: if line.find("output_box:") >= 0:
box = str_to_float_arr(line[line.find("output_box:") + 11:].strip()) assert(len(boxes)>=0 and len(boxes)==len(feats)), f"{datapath}, {datapath}, len(boxes)!=len(feats)"
tboxes.append(box) # 去掉'output_box:'并去除可能的空白字符
index = find_samebox_in_array(boxes, box)
assert(len(boxes)==len(feats)), f"{datapath}, {datapath}, len(boxes)!=len(feats)" box = str_to_float_arr(line[line.find("output_box:") + 11:].strip())
index = find_samebox_in_array(boxes, box)
if index >= 0: if index >= 0:
tboxes.append(box) # 去掉'output_box:'并去除可能的空白字符
# feat_f = str_to_float_arr(input_feats[index]) # feat_f = str_to_float_arr(input_feats[index])
feat_f = feats[index] feat_f = feats[index]
norm_f = np.linalg.norm(feat_f) norm_f = np.linalg.norm(feat_f)
feat_f = feat_f / norm_f feat_f = feat_f / norm_f
tfeats.append(feat_f) tfeats.append(feat_f)
if len(boxes): bboxes.append(np.array(boxes)) if len(boxes): bboxes.append(np.array(boxes))
if len(feats): ffeats.append(np.array(feats)) if len(feats): ffeats.append(np.array(feats))
if len(tboxes): trackerboxes = np.concatenate((trackerboxes, np.array(tboxes))) if len(tboxes): trackerboxes = np.concatenate((trackerboxes, np.array(tboxes)))

View File

@ -80,13 +80,12 @@ def videosave(bboxes, videopath="100_1688009697927.mp4"):
cap.release() cap.release()
def main(): def main():
videopath = r'\\192.168.1.28\share\测试_202406\0822\A_1724314806144' videopath = r'D:\datasets\ym'
videopath = r'D:\videos' savepath = r'D:\datasets\ym'
savepath = r'D:\videos'
# video2imgs(videopath, savepath) # video2imgs(videopath, savepath)
k = 0 k = 0
for filename in os.listdir(videopath): for filename in os.listdir(videopath):
# filename = "20240822-163506_88e6409d-f19b-4e97-9f01-b3fde259cbff.ts" filename = "20240929-155533.ts"
file, ext = os.path.splitext(filename) file, ext = os.path.splitext(filename)
if ext not in VideoFormat: if ext not in VideoFormat:

View File

@ -1,36 +0,0 @@
tracking_test.py
have_tracked():
轨迹分析测试。遍历track_reid.py输出的文件夹trackdict下的所有.pkl文件。
time_test.py
统计Pipeline整体流程中各模块耗时
module_analysis.py
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幅大图。
do_tracking(fpath, savedir, event_name='images')
enentmatch.py
1:n 模拟测试have Deprecated!
contrast_analysis.py
1:n 现场测试评估。
main():
循环读取不同文件夹中的 deletedBarcode.txt合并评估。
main1():
指定deletedBarcode.txt进行1:n性能评估
feat_select.py
以下两种特征选择策略下的比对性能比较
(1) 现场算法前后摄特征组合;
(2) 本地算法优先选择前摄特征;

129
说明文档.txt Normal file
View File

@ -0,0 +1,129 @@
三个功能模块
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性能评估