diff --git a/__pycache__/track_reid.cpython-39.pyc b/__pycache__/track_reid.cpython-39.pyc new file mode 100644 index 0000000..c859070 Binary files /dev/null and b/__pycache__/track_reid.cpython-39.pyc differ diff --git a/contrast/__init__.py b/contrast/__init__.py new file mode 100644 index 0000000..0cd4367 --- /dev/null +++ b/contrast/__init__.py @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- +""" +Created on Thu Sep 26 08:53:58 2024 + +@author: ym +""" + diff --git a/contrast/__pycache__/one2n_contrast.cpython-39.pyc b/contrast/__pycache__/one2n_contrast.cpython-39.pyc new file mode 100644 index 0000000..6b44536 Binary files /dev/null and b/contrast/__pycache__/one2n_contrast.cpython-39.pyc differ diff --git a/contrast/test_ori.py b/contrast/feat_inference.py similarity index 99% rename from contrast/test_ori.py rename to contrast/feat_inference.py index a92c1ed..613a620 100644 --- a/contrast/test_ori.py +++ b/contrast/feat_inference.py @@ -1,4 +1,10 @@ # -*- coding: utf-8 -*- +""" + +@author: LiChen +""" + + import os import os.path as osp import pdb diff --git a/tracking/feat_select.py b/contrast/feat_select.py similarity index 98% rename from tracking/feat_select.py rename to contrast/feat_select.py index eecd825..0d58ed7 100644 --- a/tracking/feat_select.py +++ b/contrast/feat_select.py @@ -13,10 +13,10 @@ import matplotlib.pyplot as plt import sys sys.path.append(r"D:\DetectTracking") 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 tracking.contrast_analysis import performance_evaluate +from one2n_contrast import compute_recall_precision, show_recall_prec +from one2n_contrast import performance_evaluate def compute_similar(feat1, feat2): diff --git a/contrast/feat_similar.py b/contrast/feat_similar.py index eb6704a..b29b3a2 100644 --- a/contrast/feat_similar.py +++ b/contrast/feat_similar.py @@ -1,62 +1,106 @@ # -*- coding: utf-8 -*- """ Created on Fri Aug 9 10:36:45 2024 +分析图像对间的相似度 @author: ym """ import os import cv2 import numpy as np + import torch import sys from scipy.spatial.distance import cdist -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) + +''' 加载 LC 定义的模型形式''' +from config import config as conf +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): - batch_patches = [] - patches = [] - for d, img1 in enumerate(images): +def silimarity_compare(): + + imgpaths = r"D:\DetectTracking\contrast\images\2" + + + filepaths = [] + 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 + + file_path = os.path.join(root, filename) + filepaths.append(file_path) + + feature = inference_image(filepaths, conf.test_transform, model, conf.device) + feature /= np.linalg.norm(feature, axis=1)[:, None] + + similar = 1 - np.maximum(0.0, cdist(feature, feature, metric='cosine')) + + + print("Done!") - 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 similarity_compare(root_dir): +def similarity_compare_sequence(root_dir): ''' root_dir:包含 "subimgs"字段的文件夹中图像为 subimg子图 功能:相邻帧子图间相似度比较 - ''' + + ''' + all_files = [] extensions = ['.png', '.jpg'] for dirpath, dirnames, filenames in os.walk(root_dir): @@ -83,7 +127,7 @@ def similarity_compare(root_dir): 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')) @@ -109,17 +153,16 @@ def similarity_compare(root_dir): fnma = os.path.basename(filepaths[i]).split('.')[0] imga = imgb.copy() ha, wa = imga.shape[:2] - - - + + return - - + + def main(): root_dir = r"D:\contrast\dataset\result\20240723-112242_6923790709882" try: - similarity_compare(root_dir) + similarity_compare_sequence(root_dir) except Exception as e: print(f'Error: {e}') @@ -127,5 +170,31 @@ def main(): if __name__ == '__main__': - main() + # main() + + silimarity_compare() + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tracking/contrast_analysis.py b/contrast/one2n_contrast.py similarity index 99% rename from tracking/contrast_analysis.py rename to contrast/one2n_contrast.py index 54c04e6..8b7a6db 100644 --- a/tracking/contrast_analysis.py +++ b/contrast/one2n_contrast.py @@ -16,9 +16,10 @@ import shutil import numpy as np import matplotlib.pyplot as plt import cv2 -from utils.plotting import Annotator, colors + import sys 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.plotting import draw_tracking_boxes diff --git a/contrast/one2one_contrast.py b/contrast/one2one_contrast.py index 3427081..f4b8b03 100644 --- a/contrast/one2one_contrast.py +++ b/contrast/one2one_contrast.py @@ -40,6 +40,7 @@ from scipy.spatial.distance import cdist import matplotlib.pyplot as plt import shutil from datetime import datetime +from openpyxl import load_workbook, Workbook # Vit版resnet, 和现场特征不一致,需将resnet_vit中文件提出 # 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 model import resnet18 as resnet18 -from test_ori import inference_image +from feat_inference import inference_image IMG_FORMAT = ['.bmp', '.jpg', '.jpeg', '.png'] @@ -100,13 +101,13 @@ def creat_shopping_event(eventPath, subimgPath=False): '''================ 0. 检查 filename 及 eventPath 正确性和有效性 ================''' 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 if not os.path.isdir(eventPath): return - - '''================ 1. 构造事件描述字典,暂定 9 items ===============''' event = {} event['barcode'] = eventName.split('_')[1] @@ -293,10 +294,10 @@ def get_std_barcodeDict(bcdpath, savepath): imgpaths.append(imgpath) stdBarcodeDict[barcode].extend(imgpaths) - # pickpath = os.path.join(savepath, f"{barcode}.pickle") - # with open(pickpath, 'wb') as f: - # pickle.dump(stdBarcodeDict, f) - # print(f"Barcode: {barcode}") + pickpath = os.path.join(savepath, f"{barcode}.pickle") + with open(pickpath, 'wb') as f: + pickle.dump(stdBarcodeDict, f) + print(f"Barcode: {barcode}") # k += 1 # if k == 10: @@ -352,7 +353,6 @@ def batch_inference(imgpaths, batch): feature = featurize(group, conf.test_transform, model, conf.device) features.append(feature) features = np.concatenate(features, axis=0) - return features def stdfeat_infer(imgPath, featPath, bcdSet=None): @@ -371,14 +371,20 @@ def stdfeat_infer(imgPath, featPath, bcdSet=None): stdBarcodeDict = {} stdBarcodeDict_ft16 = {} + + '''4处同名: (1)barcode原始图像文件夹; (2)imgPath中的 .pickle 文件名、该pickle文件中字典的key值''' + k = 0 for filename in os.listdir(imgPath): 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: continue filepath = os.path.join(imgPath, filename) - + stdbDict = {} stdbDict_ft16 = {} stdbDict_uint8 = {} @@ -399,12 +405,8 @@ def stdfeat_infer(imgPath, featPath, bcdSet=None): # uint8, 两种策略,1) 精度损失小, 2) 计算复杂度小 # stdfeat_uint8, _ = ft16_to_uint8(feature_ft16) - stdfeat_uint8 = (feature_ft16*128).astype(np.int8) - - - - + except Exception as 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["feats"] = feature - pkpath = os.path.join(featPath, f"{barcode}.pickle") + # pkpath = os.path.join(featPath, f"{barcode}.pickle") with open(pkpath, 'wb') as f: - pickle.dump(stdbDict, f) + pickle.dump(stdbDict, f) stdBarcodeDict[barcode] = feature ##================== float16 - stdbDict_ft16["barcode"] = barcode - stdbDict_ft16["imgpaths"] = imgpaths - stdbDict_ft16["feats"] = feature_ft16 - pkpath_ft16 = os.path.join(featPath, f"{barcode}_ft16.pickle") - with open(pkpath_ft16, 'wb') as f: - pickle.dump(stdbDict_ft16, f) - stdBarcodeDict_ft16[barcode] = pkpath_ft16 + # stdbDict_ft16["barcode"] = barcode + # stdbDict_ft16["imgpaths"] = imgpaths + # stdbDict_ft16["feats"] = feature_ft16 + # pkpath_ft16 = os.path.join(featPath, f"{barcode}_ft16.pickle") + # with open(pkpath_ft16, 'wb') as f: + # pickle.dump(stdbDict_ft16, f) + # stdBarcodeDict_ft16[barcode] = pkpath_ft16 ##================== uint8 - stdbDict_uint8["barcode"] = barcode - stdbDict_uint8["imgpaths"] = imgpaths - stdbDict_uint8["feats"] = stdfeat_uint8 - pkpath_uint8 = os.path.join(featPath, f"{barcode}_uint8.pickle") - with open(pkpath_uint8, 'wb') as f: - pickle.dump(stdbDict_uint8, f) - # stdBarcodeDict_ft16[barcode] = pkpath_ft16 - - + # stdbDict_uint8["barcode"] = barcode + # stdbDict_uint8["imgpaths"] = imgpaths + # stdbDict_uint8["feats"] = stdfeat_uint8 + # pkpath_uint8 = os.path.join(featPath, f"{barcode}_uint8.pickle") + # with open(pkpath_uint8, 'wb') as f: + # pickle.dump(stdbDict_uint8, f) t2 = time.time() print(f"Barcode: {barcode}, need time: {t2-t1:.1f} secs") @@ -448,7 +447,7 @@ def stdfeat_infer(imgPath, featPath, bcdSet=None): # if k == 10: # break - + ##================== float32 # pickpath = os.path.join(featPath, f"barcode_features_{k}.pickle") # with open(pickpath, 'wb') as f: # pickle.dump(stdBarcodeDict, f) @@ -456,7 +455,7 @@ def stdfeat_infer(imgPath, featPath, bcdSet=None): ##================== float16 # pickpath_ft16 = os.path.join(featPath, f"barcode_features_ft16_{k}.pickle") # with open(pickpath_ft16, 'wb') as f: - # pickle.dump(stdBarcodeDict_ft16, f) + # pickle.dump(stdBarcodeDict_ft16, f) return @@ -477,7 +476,8 @@ def contrast_performance_evaluate(resultPath): # ] 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 len(p.stem.split('_'))==2 and p.stem.split('_')[1].isdigit() @@ -487,7 +487,7 @@ def contrast_performance_evaluate(resultPath): barcodes = set([bcd for _, bcd in evtList]) '''标准特征集图像样本经特征提取并保存,运行一次后无需再运行''' - # stdfeat_infer(stdBarcodePath, stdFeaturePath, barcodes) + stdfeat_infer(stdBarcodePath, stdFeaturePath, barcodes) '''========= 构建用于比对的标准特征字典 =============''' stdDict = {} @@ -639,6 +639,7 @@ def compute_precise_recall(pickpath): file, ext = os.path.splitext(pickfile) if ext != '.pickle': return + if file.find('ft16') < 0: return with open(pickpath, 'rb') as f: results = pickle.load(f) @@ -717,7 +718,8 @@ def generate_event_and_stdfeatures(): '''=========================== 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_3', # r'\\192.168.1.28\share\测试_202406\0722\0722_01', @@ -751,12 +753,12 @@ def generate_event_and_stdfeatures(): # break ## 保存轨迹中 boxes 子图 - # for event in eventList: - # basename = os.path.basename(event['filepath']) - # savepath = os.path.join(subimgPath, basename) - # if not os.path.exists(savepath): - # os.makedirs(savepath) - # save_event_subimg(event, savepath) + for event in eventList: + basename = os.path.basename(event['filepath']) + savepath = os.path.join(subimgPath, basename) + if not os.path.exists(savepath): + os.makedirs(savepath) + save_event_subimg(event, savepath) print("eventList have generated and features have saved!") @@ -789,23 +791,23 @@ def ft16_to_uint8(arr_ft16): return arr_uint8, arr_ft16_ - + def main(): - generate_event_and_stdfeatures() + # generate_event_and_stdfeatures() - # contrast_performance_evaluate(resultPath) - # for filename in os.listdir(resultPath): - # if filename.find('.pickle') < 0: continue - # # if filename.find('0909') < 0: continue - # pickpath = os.path.join(resultPath, filename) - # compute_precise_recall(pickpath) + contrast_performance_evaluate(resultPath) + for filename in os.listdir(resultPath): + if filename.find('.pickle') < 0: continue + if filename.find('0911') < 0: continue + pickpath = os.path.join(resultPath, filename) + compute_precise_recall(pickpath) 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_feature_path = r"\\192.168.1.28\share\测试_202406\contrast\std_features_2192_ft32vsft16" @@ -824,7 +826,8 @@ def main_std(): # print("done") if __name__ == '__main__': - main() + # main() + # main_std() diff --git a/contrast/one2one_onsite.py b/contrast/one2one_onsite.py index 9c42707..af5f6f5 100644 --- a/contrast/one2one_onsite.py +++ b/contrast/one2one_onsite.py @@ -39,30 +39,23 @@ def read_one2one_data(filepath): if len(simi_dict): simiList.append(simi_dict) return simiList - -def main(): - filepath = r"\\192.168.1.28\share\测试_202406\0910\images\OneToOneCompare.txt" + +def plot_pr_curve(matrix): - simiList = read_one2one_data(filepath) simimax, simimean = [], [] - small = [] - for simidict in simiList: + need_analysis = [] + for simidict in matrix: simimax.append(simidict["simi_max"]) simimean.append(simidict["simi_min"]) - if simidict["simi_max"]<0.6: - small.append(simidict) - - + if simidict["simi_max"]>0.6: + need_analysis.append(simidict) + simimax = np.array(simimax) simimean = np.array(simimean) - - - + TPFN_max = len(simimax) TPFN_mean = len(simimean) - - - + fig, axs = plt.subplots(2, 1) axs[0].hist(simimax, bins=60, edgecolor='black') axs[0].set_xlim([-0.2, 1]) @@ -71,14 +64,12 @@ def main(): axs[1].set_xlim([-0.2, 1]) axs[1].set_title(f'Cross Barcode, Num: {TPFN_mean}') # plt.savefig(f'./result/{file}_hist.png') # svg, png, pdf - - - + Recall_Pos = [] Thresh = np.linspace(-0.2, 1, 100) for th in Thresh: - TP = np.sum(simimax > th) - Recall_Pos.append(TP/TPFN_max) + TN = np.sum(simimax < th) + Recall_Pos.append(TN/TPFN_max) fig, ax = plt.subplots() ax.plot(Thresh, Recall_Pos, 'b', label='Recall_Pos: TP/TPFN') @@ -91,19 +82,48 @@ def main(): plt.show() # 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__": - main() \ No newline at end of file + main() + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contrast/result/pickle/20240911_183903.txt b/contrast/result/pickle/20240911_183903.txt new file mode 100644 index 0000000..566c0d1 --- /dev/null +++ b/contrast/result/pickle/20240911_183903.txt @@ -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 diff --git a/contrast/result/pickle/20240911_183903_ft16.txt b/contrast/result/pickle/20240911_183903_ft16.txt new file mode 100644 index 0000000..fe2872b --- /dev/null +++ b/contrast/result/pickle/20240911_183903_ft16.txt @@ -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 diff --git a/contrast/result/pickle/20240911_183903_uint8.txt b/contrast/result/pickle/20240911_183903_uint8.txt new file mode 100644 index 0000000..99ab7df --- /dev/null +++ b/contrast/result/pickle/20240911_183903_uint8.txt @@ -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 diff --git a/contrast/utils/__init__.py b/contrast/utils/__init__.py new file mode 100644 index 0000000..0cd4367 --- /dev/null +++ b/contrast/utils/__init__.py @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- +""" +Created on Thu Sep 26 08:53:58 2024 + +@author: ym +""" + diff --git a/contrast/utils/barcode_set_operate.py b/contrast/utils/barcode_set_operate.py new file mode 100644 index 0000000..293a6fc --- /dev/null +++ b/contrast/utils/barcode_set_operate.py @@ -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() + + + + + + + + + \ No newline at end of file diff --git a/contrast/write_feature_json.py b/contrast/utils/write_feature_json.py similarity index 98% rename from contrast/write_feature_json.py rename to contrast/utils/write_feature_json.py index ba8a350..b007caa 100644 --- a/contrast/write_feature_json.py +++ b/contrast/utils/write_feature_json.py @@ -1,7 +1,16 @@ +# -*- coding: utf-8 -*- +""" + +@author: LiChen +""" import json import os import pickle import numpy as np + +import sys +sys.path.append(r"D:\DetectTracking\contrast") + from config import config as conf # from img_data import library_imgs, temp_imgs, main_library_imgs, main_imgs_2 # from test_logic import initModel,getFeatureList @@ -11,7 +20,6 @@ from PIL import Image device = conf.device - def initModel(): model = resnet18().to(device) model.load_state_dict(torch.load(conf.test_model, map_location=conf.device)) diff --git a/contrast/说明文档.txt b/contrast/说明文档.txt new file mode 100644 index 0000000..e69de29 diff --git a/pipeline.py b/pipeline.py new file mode 100644 index 0000000..eb346e2 --- /dev/null +++ b/pipeline.py @@ -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() \ No newline at end of file diff --git a/track_reid.py b/track_reid.py index e282218..8822f53 100644 --- a/track_reid.py +++ b/track_reid.py @@ -127,6 +127,176 @@ def init_trackers(tracker_yaml = None, bs=1): 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() def run( weights=ROOT / 'yolov5s.pt', # model path or triton URL @@ -438,7 +608,8 @@ def run( 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 = 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\实验室测试" # 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 if os.path.isdir(p): diff --git a/tracking/contrast_one2one.py b/tracking/deprecated/contrast_one2one.py similarity index 99% rename from tracking/contrast_one2one.py rename to tracking/deprecated/contrast_one2one.py index 1625275..37b10fe 100644 --- a/tracking/contrast_one2one.py +++ b/tracking/deprecated/contrast_one2one.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- """ Created on Fri Aug 30 17:53:03 2024 + have Deprecated! 1. 确认在相同CamerType下,track.data 中 CamerID 项数量 = 图像数 = 帧ID数 = 最大帧ID diff --git a/tracking/eventsmatch.py b/tracking/deprecated/eventsmatch.py similarity index 99% rename from tracking/eventsmatch.py rename to tracking/deprecated/eventsmatch.py index be7b080..decd9b2 100644 --- a/tracking/eventsmatch.py +++ b/tracking/deprecated/eventsmatch.py @@ -15,12 +15,15 @@ import pandas as pd import shutil import random import math - +import sys from scipy.spatial.distance import cdist import matplotlib.pyplot as plt from pathlib import Path from utils.gen import Profile + +sys.path.append(r"D:\DetectTracking\tracking") + from dotrack.dotracks_back import doBackTracks from dotrack.dotracks_front import doFrontTracks from utils.drawtracks import plot_frameID_y2, draw_all_trajectories diff --git a/tracking/dotrack/__pycache__/dotracks.cpython-39.pyc b/tracking/dotrack/__pycache__/dotracks.cpython-39.pyc index 579b1db..3cc2336 100644 Binary files a/tracking/dotrack/__pycache__/dotracks.cpython-39.pyc and b/tracking/dotrack/__pycache__/dotracks.cpython-39.pyc differ diff --git a/tracking/dotrack/__pycache__/dotracks_back.cpython-39.pyc b/tracking/dotrack/__pycache__/dotracks_back.cpython-39.pyc index 9463618..c27214b 100644 Binary files a/tracking/dotrack/__pycache__/dotracks_back.cpython-39.pyc and b/tracking/dotrack/__pycache__/dotracks_back.cpython-39.pyc differ diff --git a/tracking/dotrack/__pycache__/dotracks_front.cpython-39.pyc b/tracking/dotrack/__pycache__/dotracks_front.cpython-39.pyc index cf6b154..73205fd 100644 Binary files a/tracking/dotrack/__pycache__/dotracks_front.cpython-39.pyc and b/tracking/dotrack/__pycache__/dotracks_front.cpython-39.pyc differ diff --git a/tracking/dotrack/__pycache__/track_back.cpython-39.pyc b/tracking/dotrack/__pycache__/track_back.cpython-39.pyc index 777090c..661bab5 100644 Binary files a/tracking/dotrack/__pycache__/track_back.cpython-39.pyc and b/tracking/dotrack/__pycache__/track_back.cpython-39.pyc differ diff --git a/tracking/dotrack/dotracks.py b/tracking/dotrack/dotracks.py index 848cc70..e1341e7 100644 --- a/tracking/dotrack/dotracks.py +++ b/tracking/dotrack/dotracks.py @@ -8,10 +8,11 @@ import numpy as np import cv2 from pathlib import Path 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(curpath) +parpath = curpath.parent class MoveState: """商品运动状态标志""" @@ -297,11 +298,15 @@ class Track: front, 前置摄像头 ''' if camerType=="back": - incart = cv2.imread("./shopcart/cart_tempt/incart.png", cv2.IMREAD_GRAYSCALE) - outcart = cv2.imread("./shopcart/cart_tempt/outcart.png", cv2.IMREAD_GRAYSCALE) + incart = cv2.imread(str(parpath/'shopcart/cart_tempt/incart.png'), cv2.IMREAD_GRAYSCALE) + outcart = cv2.imread(str(parpath/'shopcart/cart_tempt/outcart.png'), cv2.IMREAD_GRAYSCALE) else: - incart = cv2.imread("./shopcart/cart_tempt/incart_ftmp.png", cv2.IMREAD_GRAYSCALE) - outcart = cv2.imread("./shopcart/cart_tempt/outcart_ftmp.png", cv2.IMREAD_GRAYSCALE) + incart = cv2.imread(str(parpath/'shopcart/cart_tempt/incart_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) 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) diff --git a/tracking/dotrack/dotracks_back.py b/tracking/dotrack/dotracks_back.py index 48bf025..19956d9 100644 --- a/tracking/dotrack/dotracks_back.py +++ b/tracking/dotrack/dotracks_back.py @@ -5,7 +5,7 @@ Created on Mon Mar 4 18:36:31 2024 @author: ym """ 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 .dotracks import doTracks, ShoppingCart from .track_back import backTrack diff --git a/tracking/dotrack/dotracks_front.py b/tracking/dotrack/dotracks_front.py index e2b763a..60101f5 100644 --- a/tracking/dotrack/dotracks_front.py +++ b/tracking/dotrack/dotracks_front.py @@ -5,7 +5,7 @@ Created on Mon Mar 4 18:38:20 2024 @author: ym """ import numpy as np -from utils.mergetrack import track_equal_track +# from tracking.utils.mergetrack import track_equal_track from .dotracks import doTracks from .track_front import frontTrack diff --git a/tracking/dotrack/track_back.py b/tracking/dotrack/track_back.py index 0a0f9b1..20512bc 100644 --- a/tracking/dotrack/track_back.py +++ b/tracking/dotrack/track_back.py @@ -10,6 +10,10 @@ from scipy.spatial.distance import cdist from sklearn.decomposition import PCA from .dotracks import MoveState, Track +from pathlib import Path +curpath = Path(__file__).resolve().parents[0] +curpath = Path(curpath) +parpath = curpath.parent class backTrack(Track): # boxes: [x1, y1, x2, y2, track_id, score, cls, frame_index, box_index] @@ -93,9 +97,9 @@ class backTrack(Track): maxbox_iou, minbox_iou:track中最大、最小 box 和boxes流的iou,二者差值越小,越接近 1,表明track的运动型越小。 incartrates: 各box和incart的iou时序,由小变大,反应的是置入过程,由大变小,反应的是取出过程 ''' - incart = cv2.imread("./shopcart/cart_tempt/incart.png", cv2.IMREAD_GRAYSCALE) - outcart = cv2.imread("./shopcart/cart_tempt/outcart.png", cv2.IMREAD_GRAYSCALE) - cartboarder = cv2.imread("./shopcart/cart_tempt/cartboarder.png", cv2.IMREAD_GRAYSCALE) + incart = cv2.imread(str(parpath/"shopcart/cart_tempt/incart.png"), cv2.IMREAD_GRAYSCALE) + outcart = cv2.imread(str(parpath/"shopcart/cart_tempt/outcart.png"), cv2.IMREAD_GRAYSCALE) + cartboarder = cv2.imread(str(parpath/"shopcart/cart_tempt/cartboarder.png"), cv2.IMREAD_GRAYSCALE) incartrates = [] temp = np.zeros(incart.shape, np.uint8) diff --git a/tracking/module_analysis.py b/tracking/module_analysis.py index a892003..16050dd 100644 --- a/tracking/module_analysis.py +++ b/tracking/module_analysis.py @@ -98,13 +98,10 @@ def read_imgs(imgspath, CamerType): flist = file.split('_') if len(flist)==4 and ext in ImgFormat: camID, frmID = flist[0], int(flist[-1]) - imgpath = os.path.join(imgspath, filename) - img = cv2.imread(imgpath) - if camID==CamerType: + img = cv2.imread(os.path.join(imgspath, filename)) imgs.append(img) frmIDs.append(frmID) - if len(frmIDs): indice = np.argsort(np.array(frmIDs)) imgs = [imgs[i] for i in indice] @@ -227,7 +224,7 @@ def do_tracking(fpath, savedir, event_name='images'): '''4.2 在 imgs 上画框并保存''' imgs_dw = draw_tracking_boxes(imgs, trackerboxes) 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) '''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) 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) # for track in tracking_output_boxes: # for *xyxy, tid, conf, cls, fid, bid in track: @@ -270,8 +267,9 @@ def tracking_simulate(eventpath, savepath): # else: # return # ============================================================================= - - enent_name = os.path.basename(eventpath)[:15] + bname = os.path.basename(eventpath) + idx = bname.find('2024') + enent_name = bname[idx:(idx+15)] '''2. 依次读取 0/1_track.data 中数据,进行仿真''' illu_tracking, illu_select = [], [] @@ -289,7 +287,9 @@ def tracking_simulate(eventpath, savepath): if img_tracking is not None: illu_tracking.append(img_tracking) - '''3. 前、后摄,原始轨迹、本地tracking输出、现场算法轨迹选择前、后,共幅8图''' + '''3. 共幅8图,上下子图显示的是前后摄,每一行4个子图,分别为: + (1) tracker输出原始轨迹; (2)本地tracking输出; (3)现场算法轨迹选择前轨迹; (4)现场算法轨迹选择后的轨迹 + ''' if len(illu_select)==2: Img_s = np.concatenate((illu_select[0], illu_select[1]), axis = 0) H, W = Img_s.shape[:2] @@ -307,15 +307,15 @@ def tracking_simulate(eventpath, savepath): Img_t = illu_tracking[0] else: Img_t = None - - - + + '''3.1 单独另存保存完好的 8 轨迹图''' basepath, _ = os.path.split(savepath) trajpath = os.path.join(basepath, 'trajs') if not os.path.exists(trajpath): os.makedirs(trajpath) traj_path = os.path.join(trajpath, enent_name+'.png') + imgpath_tracking = os.path.join(savepath, enent_name + '_ing.png') imgpath_select = os.path.join(savepath, enent_name + '_slt.png') imgpath_ts = os.path.join(savepath, enent_name + '_ts.png') @@ -327,9 +327,9 @@ def tracking_simulate(eventpath, savepath): cv2.imwrite(imgpath_ts, Img_ts) cv2.imwrite(traj_path, Img_ts) else: - if Img_s: cv2.imwrite(imgpath_select, Img_s) - if Img_t: cv2.imwrite(imgpath_tracking, Img_t) - + if Img_s: cv2.imwrite(imgpath_select, Img_s) # 不会执行到该处 + if Img_t: cv2.imwrite(imgpath_tracking, Img_t) # 不会执行到该处 + @@ -382,11 +382,13 @@ def main(): eventPaths: data文件地址,该 data 文件包括 Pipeline 各模块输出 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' k=0 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) savepath = os.path.join(savePath, pathname) diff --git a/tracking/tracking_test.py b/tracking/tracking_test.py index d98b9be..6ea8015 100644 --- a/tracking/tracking_test.py +++ b/tracking/tracking_test.py @@ -80,14 +80,14 @@ def save_subimgs(vts, file, TracksDict): cv2.imwrite(str(imgdir) + f"/{tid}_{fid}_{bid}.png", img) def have_tracked(): - trackdict = r'./data/trackdicts_20240608' + trackdict = r'./data/trackdicts' alltracks = [] k = 0 gt = Profile() for filename in os.listdir(trackdict): # filename = 'test_20240402-173935_6920152400975_back_174037372.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_back_returnGood_70f754088050_425_17327712807.pkl' + # filename = '6907149227609_20240508-174733_front_returnGood_70f754088050_425_17327712807.pkl' file, ext = os.path.splitext(filename) filepath = os.path.join(trackdict, filename) @@ -119,11 +119,14 @@ def have_tracked(): save_subimgs(vts, file, TracksDict) edgeline = cv2.imread("./shopcart/cart_tempt/edgeline.png") 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") - k += 1 - if k==1: - break + # k += 1 + # if k==1: + # break if len(alltracks): drawFeatures(alltracks, save_dir) diff --git a/tracking/utils/__pycache__/plotting.cpython-39.pyc b/tracking/utils/__pycache__/plotting.cpython-39.pyc index 751d408..ab513f6 100644 Binary files a/tracking/utils/__pycache__/plotting.cpython-39.pyc and b/tracking/utils/__pycache__/plotting.cpython-39.pyc differ diff --git a/tracking/utils/__pycache__/read_data.cpython-39.pyc b/tracking/utils/__pycache__/read_data.cpython-39.pyc index f60b5d1..c48daf6 100644 Binary files a/tracking/utils/__pycache__/read_data.cpython-39.pyc and b/tracking/utils/__pycache__/read_data.cpython-39.pyc differ diff --git a/tracking/utils/plotting.py b/tracking/utils/plotting.py index c5d50f0..50a6dc1 100644 --- a/tracking/utils/plotting.py +++ b/tracking/utils/plotting.py @@ -333,7 +333,7 @@ def draw_tracking_boxes(imgs, tracks, scale=2): annotator.box_label(pt2, label, color=color) img = annotator.result() - subimgs.append((fid-1, img)) + subimgs.append((fid, img)) return subimgs diff --git a/tracking/utils/read_data.py b/tracking/utils/read_data.py index bc380b9..7d4395b 100644 --- a/tracking/utils/read_data.py +++ b/tracking/utils/read_data.py @@ -79,18 +79,21 @@ def extract_data(datapath): feats.append(str_to_float_arr(feat)) if line.find("output_box:") >= 0: - box = str_to_float_arr(line[line.find("output_box:") + 11:].strip()) - tboxes.append(box) # 去掉'output_box:'并去除可能的空白字符 - index = find_samebox_in_array(boxes, box) + assert(len(boxes)>=0 and len(boxes)==len(feats)), f"{datapath}, {datapath}, len(boxes)!=len(feats)" - 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: + tboxes.append(box) # 去掉'output_box:'并去除可能的空白字符 + # feat_f = str_to_float_arr(input_feats[index]) feat_f = feats[index] norm_f = np.linalg.norm(feat_f) feat_f = feat_f / norm_f tfeats.append(feat_f) - + + + if len(boxes): bboxes.append(np.array(boxes)) if len(feats): ffeats.append(np.array(feats)) if len(tboxes): trackerboxes = np.concatenate((trackerboxes, np.array(tboxes))) diff --git a/tracking/utils/videot.py b/tracking/utils/videot.py index a6b9b91..ca349b6 100644 --- a/tracking/utils/videot.py +++ b/tracking/utils/videot.py @@ -80,13 +80,12 @@ def videosave(bboxes, videopath="100_1688009697927.mp4"): cap.release() def main(): - videopath = r'\\192.168.1.28\share\测试_202406\0822\A_1724314806144' - videopath = r'D:\videos' - savepath = r'D:\videos' + videopath = r'D:\datasets\ym' + savepath = r'D:\datasets\ym' # video2imgs(videopath, savepath) k = 0 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) if ext not in VideoFormat: diff --git a/tracking/说明文档.txt b/tracking/说明文档.txt index 4b1700d..e69de29 100644 --- a/tracking/说明文档.txt +++ b/tracking/说明文档.txt @@ -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) 本地算法优先选择前摄特征; diff --git a/说明文档.txt b/说明文档.txt new file mode 100644 index 0000000..e9f2775 --- /dev/null +++ b/说明文档.txt @@ -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:1,1: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性能评估 \ No newline at end of file