lcfractal / aic21-mtmc Goto Github PK
View Code? Open in Web Editor NEW🏆The 1st place solution of track3 (City-Scale Multi-Camera Vehicle Tracking) in the NVIDIA AI City Challenge at CVPR 2021 Workshop.
License: MIT License
🏆The 1st place solution of track3 (City-Scale Multi-Camera Vehicle Tracking) in the NVIDIA AI City Challenge at CVPR 2021 Workshop.
License: MIT License
Thanks for sharing the great project, I am trying to reproduce the results.
When I run bash ./run_mcmt.sh, I met a error as follows:
dell@DESKTOP-291GB2L MINGW64 /d/THICV/Project/AIC21-MTMC (main)
$ bash ./run_mcmt.sh
[Err]: invalid source root
Done
tracking c041 with aic_mcmt.yml
tracking c042 with aic_mcmt.yml
tracking c043 with aic_mcmt.yml
tracking c044 with aic_mcmt.yml
tracking c045 with aic_mcmt.yml
tracking c046 with aic_mcmt.yml
Traceback (most recent call last):
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\fair_app.py", line 309, in
Traceback (most recent call last):
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\fair_app.py", line 309, in
run(
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\fair_app.py", line 175, in run
Traceback (most recent call last):
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\fair_app.py", line 309, in
run(
seq_info = gather_sequence_info(sequence_dir, detection_file, max_frame_idx)
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\fair_app.py", line 175, in run
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\fair_app.py", line 49, in gather_sequence_info
Traceback (most recent call last):
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\fair_app.py", line 309, in
for f in os.listdir(image_dir)}
FileNotFoundError: [WinError 3] ϵͳ▒Ҳ▒▒▒ָ▒▒▒▒·▒▒▒▒: 'D:/THICV/Porject/AIC21_MTMC/datasets/detection/images/test/S06/c046\img1'
run(
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\fair_app.py", line 175, in run
seq_info = gather_sequence_info(sequence_dir, detection_file, max_frame_idx)
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\fair_app.py", line 49, in gather_sequence_info
seq_info = gather_sequence_info(sequence_dir, detection_file, max_frame_idx)
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\fair_app.py", line 49, in gather_sequence_info
run(
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\fair_app.py", line 175, in run
for f in os.listdir(image_dir)}
FileNotFoundError: [WinError 3] ϵͳ▒Ҳ▒▒▒ָ▒▒▒▒·▒▒▒▒: 'D:/THICV/Porject/AIC21_MTMC/datasets/detection/images/test/S06/c043\img1'
for f in os.listdir(image_dir)}
FileNotFoundError: [WinError 3] ϵͳ▒Ҳ▒▒▒ָ▒▒▒▒·▒▒▒▒: 'D:/THICV/Porject/AIC21_MTMC/datasets/detection/images/test/S06/c042\img1'
seq_info = gather_sequence_info(sequence_dir, detection_file, max_frame_idx)
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\fair_app.py", line 49, in gather_sequence_info
for f in os.listdir(image_dir)}
FileNotFoundError: [WinError 3] ϵͳ▒Ҳ▒▒▒ָ▒▒▒▒·▒▒▒▒: 'D:/THICV/Porject/AIC21_MTMC/datasets/detection/images/test/S06/c044\img1'
Traceback (most recent call last):
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\fair_app.py", line 309, in
run(
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\fair_app.py", line 175, in run
seq_info = gather_sequence_info(sequence_dir, detection_file, max_frame_idx)
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\fair_app.py", line 49, in gather_sequence_info
for f in os.listdir(image_dir)}
FileNotFoundError: [WinError 3] ϵͳ▒Ҳ▒▒▒ָ▒▒▒▒·▒▒▒▒: 'D:/THICV/Porject/AIC21_MTMC/datasets/detection/images/test/S06/c041\img1'
Traceback (most recent call last):
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\fair_app.py", line 309, in
run(
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\fair_app.py", line 175, in run
seq_info = gather_sequence_info(sequence_dir, detection_file, max_frame_idx)
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\fair_app.py", line 49, in gather_sequence_info
for f in os.listdir(image_dir)}
FileNotFoundError: [WinError 3] ϵͳ▒Ҳ▒▒▒ָ▒▒▒▒·▒▒▒▒: 'D:/THICV/Porject/AIC21_MTMC/datasets/detection/images/test/S06/c045\img1'
sys args ars: ['main.py', 'c044', 'pp', 'aic_mcmt.yml']
using post processing
loading tracked file D:/THICV/Porject/AIC21_MTMC/datesets/detect_provided/c044/c044_mot.txt
Traceback (most recent call last):
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\post_processing\main.py", line 110, in
eval_seq(sys.argv[1], pp=sys.argv[2], mcmt_cfg=cfg)
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\post_processing\main.py", line 41, in eval_seq
results = load_raw_mot(seq, mcmt_cfg)
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\post_processing\main.py", line 17, in load_raw_mot
mot_feat_dic = pickle.load(open(f'{mcmt_cfg.DATA_DIR}/{seq}/{seq}_mot_feat_raw.pkl', 'rb'))
FileNotFoundError: [Errno 2] No such file or directory: 'D:/THICV/Porject/AIC21_MTMC/datesets/detect_provided/c044/c044_mot_feat_raw.pkl'
sys args ars: ['main.py', 'c045', 'pp', 'aic_mcmt.yml']
using post processing
loading tracked file D:/THICV/Porject/AIC21_MTMC/datesets/detect_provided/c045/c045_mot.txt
Traceback (most recent call last):
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\post_processing\main.py", line 110, in
sys args ars: ['main.py', 'c041', 'pp', 'aic_mcmt.yml']
using post processing
loading tracked file D:/THICV/Porject/AIC21_MTMC/datesets/detect_provided/c041/c041_mot.txt
Traceback (most recent call last):
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\post_processing\main.py", line 110, in
eval_seq(sys.argv[1], pp=sys.argv[2], mcmt_cfg=cfg)
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\post_processing\main.py", line 41, in eval_seq
eval_seq(sys.argv[1], pp=sys.argv[2], mcmt_cfg=cfg)
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\post_processing\main.py", line 41, in eval_seq
results = load_raw_mot(seq, mcmt_cfg)
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\post_processing\main.py", line 17, in load_raw_mot
results = load_raw_mot(seq, mcmt_cfg)
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\post_processing\main.py", line 17, in load_raw_mot
mot_feat_dic = pickle.load(open(f'{mcmt_cfg.DATA_DIR}/{seq}/{seq}_mot_feat_raw.pkl', 'rb'))
FileNotFoundError: [Errno 2] No such file or directory: 'D:/THICV/Porject/AIC21_MTMC/datesets/detect_provided/c045/c045_mot_feat_raw.pkl'
mot_feat_dic = pickle.load(open(f'{mcmt_cfg.DATA_DIR}/{seq}/{seq}_mot_feat_raw.pkl', 'rb'))
FileNotFoundError: [Errno 2] No such file or directory: 'D:/THICV/Porject/AIC21_MTMC/datesets/detect_provided/c041/c041_mot_feat_raw.pkl'
sys args ars: ['main.py', 'c042', 'pp', 'aic_mcmt.yml']
using post processing
loading tracked file D:/THICV/Porject/AIC21_MTMC/datesets/detect_provided/c042/c042_mot.txt
Traceback (most recent call last):
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\post_processing\main.py", line 110, in
sys args ars: ['main.py', 'c046', 'pp', 'aic_mcmt.yml']
using post processing
loading tracked file D:/THICV/Porject/AIC21_MTMC/datesets/detect_provided/c046/c046_mot.txt
Traceback (most recent call last):
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\post_processing\main.py", line 110, in
eval_seq(sys.argv[1], pp=sys.argv[2], mcmt_cfg=cfg)
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\post_processing\main.py", line 41, in eval_seq
eval_seq(sys.argv[1], pp=sys.argv[2], mcmt_cfg=cfg)
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\post_processing\main.py", line 41, in eval_seq
results = load_raw_mot(seq, mcmt_cfg)
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\post_processing\main.py", line 17, in load_raw_mot
results = load_raw_mot(seq, mcmt_cfg)
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\post_processing\main.py", line 17, in load_raw_mot
mot_feat_dic = pickle.load(open(f'{mcmt_cfg.DATA_DIR}/{seq}/{seq}_mot_feat_raw.pkl', 'rb'))
FileNotFoundError: [Errno 2] No such file or directory: 'D:/THICV/Porject/AIC21_MTMC/datesets/detect_provided/c042/c042_mot_feat_raw.pkl'
mot_feat_dic = pickle.load(open(f'{mcmt_cfg.DATA_DIR}/{seq}/{seq}_mot_feat_raw.pkl', 'rb'))
FileNotFoundError: [Errno 2] No such file or directory: 'D:/THICV/Porject/AIC21_MTMC/datesets/detect_provided/c046/c046_mot_feat_raw.pkl'
sys args ars: ['main.py', 'c043', 'pp', 'aic_mcmt.yml']
using post processing
loading tracked file D:/THICV/Porject/AIC21_MTMC/datesets/detect_provided/c043/c043_mot.txt
Traceback (most recent call last):
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\post_processing\main.py", line 110, in
eval_seq(sys.argv[1], pp=sys.argv[2], mcmt_cfg=cfg)
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\post_processing\main.py", line 41, in eval_seq
results = load_raw_mot(seq, mcmt_cfg)
File "D:\THICV\Project\AIC21-MTMC\tracker\MOTBaseline\src\post_processing\main.py", line 17, in load_raw_mot
mot_feat_dic = pickle.load(open(f'{mcmt_cfg.DATA_DIR}/{seq}/{seq}_mot_feat_raw.pkl', 'rb'))
FileNotFoundError: [Errno 2] No such file or directory: 'D:/THICV/Porject/AIC21_MTMC/datesets/detect_provided/c043/c043_mot_feat_raw.pkl'
Traceback (most recent call last):
File "D:\THICV\Project\AIC21-MTMC\reid\reid-matching\tools\trajectory_fusion.py", line 53, in
cid_bias = parse_bias(cfg.CID_BIAS_DIR, scene_name)
File "D:\THICV\Project\AIC21-MTMC\reid\reid-matching\tools\trajectory_fusion.py", line 30, in parse_bias
with open(opj(timestamp_dir, sname + '.txt')) as f:
FileNotFoundError: [Errno 2] No such file or directory: 'D:/THICV/Porject/AIC21_MTMC/datasets/AIC22_Track1_MTMC_Tracking/cam_timestamp/S06.txt'
Traceback (most recent call last):
File "D:\THICV\Project\AIC21-MTMC\reid\reid-matching\tools\sub_cluster.py", line 143, in
for pkl_path in os.listdir(fea_dir):
FileNotFoundError: [WinError 3] ϵͳ▒Ҳ▒▒▒ָ▒▒▒▒·▒▒▒▒: './exp/viz/test/S06/trajectory/'
Traceback (most recent call last):
File "D:\THICV\Project\AIC21-MTMC\reid\reid-matching\tools\gen_res.py", line 40, in
map_tid = pickle.load(open('test_cluster.pkl', 'rb'))['cluster']
FileNotFoundError: [Errno 2] No such file or directory: 'test_cluster.pkl'
Congratulations and thanks for your great project!
When I run the visualization for mcmt (viz_mcmt.py), I got the errors as following:
start cam:41
[ERROR:0] global /tmp/pip-req-build-947ayiyu/opencv/modules/videoio/src/cap.cpp (160) open VIDEOIO(CV_IMAGES): raised OpenCV exception:
OpenCV(4.5.2) /tmp/pip-req-build-947ayiyu/opencv/modules/videoio/src/cap_images.cpp:253: error: (-5:Bad argument) CAP_IMAGES: can't find starting number (in the name of file): /gpfs/gsfs1/home/tnguyen/coding/reid_all/AIC21-MTMC/datasets/AIC21_Track3_MTMC_Tracking/mcmt/S06/c041/vdo.avi in function 'icvExtractPattern'
Are there any steps that we need to run before this visualization ?
When running run_mcmt.sh, after tracking c046 with aic_mcmt.yml, it shows"empty for 1197 ~1276", and then it shows something like this:
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2001/2001 [03:13<00:00, 10.37it/s] 81%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ | 1612/2001 [03:15<01:00, 6.38it/s]sys args ars: ['main.py', 'c046', 'pp', 'aic_mcmt.yml'] using post processing 81%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 1614/2001 [03:15<00:46, 8.41it/s]loading tracked file /home/sxy233666/Downloads/AIC21-MTMC/datasets/detect_provided/c046/c046_mot.txt 94%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 1882/2001 [03:29<00:12, 9.70it/s]generating input graph for solving min cost perfect matching problem. in this stage of PA, get matched tracklets 7 97%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 1936/2001 [03:48<00:07, 8.95it/s]generating input graph for solving min cost perfect matching problem. in this stage of PA, get matched tracklets 2 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2001/2001 [03:47<00:00, 8.78it/s] 98%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 1960/2001 [03:50<00:04, 9.22it/s]after track nms, removing 0 tracks 98%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ | 1962/2001 [03:50<00:03, 10.87it/s]after all PP, merging 8 tracks 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2001/2001 [03:52<00:00, 8.62it/s] sys args ars: ['main.py', 'c044', 'pp', 'aic_mcmt.yml'] using post processing loading tracked file /home/sxy233666/Downloads/AIC21-MTMC/datasets/detect_provided/c044/c044_mot.txt sys args ars: ['main.py', 'c045', 'pp', 'aic_mcmt.yml'] using post processing loading tracked file /home/sxy233666/Downloads/AIC21-MTMC/datasets/detect_provided/c045/c045_mot.txt generating input graph for solving min cost perfect matching problem.
and finally, it went wrong with:
processing c04110... Traceback (most recent call last): File "trajectory_fusion.py", line 65, in <module> cur_bias = cid_bias[cid] KeyError: 110 Traceback (most recent call last): File "sub_cluster.py", line 146, in <module> lines = pickle.load(f) EOFError: Ran out of input Traceback (most recent call last): File "gen_res.py", line 40, in <module> map_tid = pickle.load(open('test_cluster.pkl', 'rb'))['cluster'] FileNotFoundError: [Errno 2] No such file or directory: 'test_cluster.pkl'
It seems that it didn't produce something, because it shows "empty for 1197~1276". Do you know the reason?
有没有交流的qq群呀 或者大佬请教一下,要怎么联系你
how to get the reid_model such as :resnet101_ibn_a_2.pth、resnet101_ibn_a_3.pth、resnext101_ibn_a_2.pth
Hi, I'm getting trouble in running ./run_mcmt.sh
. It produces the error
FileNotFoundError: [Errno 2] No such file or directory: '/home/xxx/AIC21-MTMC/datasets/detection/images/test/S06/c044/img1'
In fact, I did replace '/home/xxx' with the right root dir. However, I found out that there's no mention about detection folder to assign the new value for DET_SOURCE_DIR in config/aic_mcmt.yml
Do you have any suggestions to solve this problem?
报错信息大致如下
[Err]: invalid source root Done Namespace(agnostic_nms=True, augment=False, cfg_file='aic_mcmt.yml', classes=[2, 5, 7], conf_thres=0.1, device='', exist_ok=False, img_size=1280, iou_thres=0.45, name='c045', project='/home/sxy233666/Downloads/AIC21-MTMC/datasets/detect_provided', save_conf=True, save_txt=True, source='/home/sxy233666/Downloads/AIC21-MTMC/datasets/detection/images/test/S06//c045/img1/', update=False, view_img=False, weights=['yolov5x.pt']) Namespace(agnostic_nms=True, augment=False, cfg_file='aic_mcmt.yml', classes=[2, 5, 7], conf_thres=0.1, device='', exist_ok=False, img_size=1280, iou_thres=0.45, name='c043', project='/home/sxy233666/Downloads/AIC21-MTMC/datasets/detect_provided', save_conf=True, save_txt=True, source='/home/sxy233666/Downloads/AIC21-MTMC/datasets/detection/images/test/S06//c043/img1/', update=False, view_img=False, weights=['yolov5x.pt']) Namespace(agnostic_nms=True, augment=False, cfg_file='aic_mcmt.yml', classes=[2, 5, 7], conf_thres=0.1, device='', exist_ok=False, img_size=1280, iou_thres=0.45, name='c042', project='/home/sxy233666/Downloads/AIC21-MTMC/datasets/detect_provided', save_conf=True, save_txt=True, source='/home/sxy233666/Downloads/AIC21-MTMC/datasets/detection/images/test/S06//c042/img1/', update=False, view_img=False, weights=['yolov5x.pt']) Namespace(agnostic_nms=True, augment=False, cfg_file='aic_mcmt.yml', classes=[2, 5, 7], conf_thres=0.1, device='', exist_ok=False, img_size=1280, iou_thres=0.45, name='c041', project='/home/sxy233666/Downloads/AIC21-MTMC/datasets/detect_provided', save_conf=True, save_txt=True, source='/home/sxy233666/Downloads/AIC21-MTMC/datasets/detection/images/test/S06//c041/img1/', update=False, view_img=False, weights=['yolov5x.pt']) Namespace(agnostic_nms=True, augment=False, cfg_file='aic_mcmt.yml', classes=[2, 5, 7], conf_thres=0.1, device='', exist_ok=False, img_size=1280, iou_thres=0.45, name='c044', project='/home/sxy233666/Downloads/AIC21-MTMC/datasets/detect_provided', save_conf=True, save_txt=True, source='/home/sxy233666/Downloads/AIC21-MTMC/datasets/detection/images/test/S06//c044/img1/', update=False, view_img=False, weights=['yolov5x.pt']) Namespace(agnostic_nms=True, augment=False, cfg_file='aic_mcmt.yml', classes=[2, 5, 7], conf_thres=0.1, device='', exist_ok=False, img_size=1280, iou_thres=0.45, name='c046', project='/home/sxy233666/Downloads/AIC21-MTMC/datasets/detect_provided', save_conf=True, save_txt=True, source='/home/sxy233666/Downloads/AIC21-MTMC/datasets/detection/images/test/S06//c046/img1/', update=False, view_img=False, weights=['yolov5x.pt']) YOLOv5 torch 2.0.0+cu117 CPU
和
tracking c041 with aic_mcmt.yml tracking c042 with aic_mcmt.yml tracking c043 with aic_mcmt.yml tracking c044 with aic_mcmt.yml tracking c045 with aic_mcmt.yml tracking c046 with aic_mcmt.yml Traceback (most recent call last): File "fair_app.py", line 309, in <module> run( File "fair_app.py", line 175, in run seq_info = gather_sequence_info(sequence_dir, detection_file, max_frame_idx) File "fair_app.py", line 49, in gather_sequence_info for f in os.listdir(image_dir)} FileNotFoundError: [Errno 2] No such file or directory: '/home/sxy233666/Downloads/AIC21-MTMC/datasets/detection/images/test/S06/c042/img1'
还有
loading tracked file /home/sxy233666/Downloads/AIC21-MTMC/datasets/detect_provided/c046/c046_mot.txt Traceback (most recent call last): File "main.py", line 110, in <module> eval_seq(sys.argv[1], pp=sys.argv[2], mcmt_cfg=cfg) File "main.py", line 41, in eval_seq results = load_raw_mot(seq, mcmt_cfg) File "main.py", line 17, in load_raw_mot mot_feat_dic = pickle.load(open(f'{mcmt_cfg.DATA_DIR}/{seq}/{seq}_mot_feat_raw.pkl', 'rb')) FileNotFoundError: [Errno 2] No such file or directory: '/home/sxy233666/Downloads/AIC21-MTMC/datasets/detect_provided/c046/c046_mot_feat_raw.pkl' sys args ars: ['main.py', 'c044', 'pp', 'aic_mcmt.yml'] sys args ars: ['main.py', 'c041', 'pp', 'aic_mcmt.yml'] using post processing
run_mcmt文件第四行没有注释,其他该下载的都下载了。作者大大知道可能是什么原因吗?感谢感谢
Error message:
Traceback (most recent call last):
File "/home/ping/AIC21-MTMC/tracker/MOTBaseline/src/fair_app.py", line 15, in
from fm_tracker.multitracker import JDETracker
File "/home/ping/AIC21-MTMC/tracker/MOTBaseline/src/fm_tracker/multitracker.py", line 16, in
from . import matching
File "/home/ping/AIC21-MTMC/tracker/MOTBaseline/src/fm_tracker/matching.py", line 7, in
from cython_bbox import bbox_overlaps as bbox_ious
File "src/cython_bbox.pyx", line 12, in init cython_bbox
File "/home/ping/.local/lib/python3.10/site-packages/numpy/init.py", line 305, in getattr
raise AttributeError(former_attrs[attr])
AttributeError: module 'numpy' has no attribute 'float'.
np.float
was a deprecated alias for the builtin float
. To avoid this error in existing code, use float
by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use np.float64
here.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
Traceback (most recent call last):
File "/home/ping/AIC21-MTMC/tracker/MOTBaseline/src/fair_app.py", line 15, in
from fm_tracker.multitracker import JDETracker
File "/home/ping/AIC21-MTMC/tracker/MOTBaseline/src/fm_tracker/multitracker.py", line 16, in
from . import matching
File "/home/ping/AIC21-MTMC/tracker/MOTBaseline/src/fm_tracker/matching.py", line 7, in
from cython_bbox import bbox_overlaps as bbox_ious
File "src/cython_bbox.pyx", line 12, in init cython_bbox
File "/home/ping/.local/lib/python3.10/site-packages/numpy/init.py", line 305, in getattr
raise AttributeError(former_attrs[attr])
AttributeError: module 'numpy' has no attribute 'float'.
np.float
was a deprecated alias for the builtin float
. To avoid this error in existing code, use float
by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use np.float64
here.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
Traceback (most recent call last):
File "/home/ping/AIC21-MTMC/tracker/MOTBaseline/src/fair_app.py", line 15, in
from fm_tracker.multitracker import JDETracker
File "/home/ping/AIC21-MTMC/tracker/MOTBaseline/src/fm_tracker/multitracker.py", line 16, in
from . import matching
File "/home/ping/AIC21-MTMC/tracker/MOTBaseline/src/fm_tracker/matching.py", line 7, in
from cython_bbox import bbox_overlaps as bbox_ious
File "src/cython_bbox.pyx", line 12, in init cython_bbox
File "/home/ping/.local/lib/python3.10/site-packages/numpy/init.py", line 305, in getattr
raise AttributeError(former_attrs[attr])
AttributeError: module 'numpy' has no attribute 'float'.
np.float
was a deprecated alias for the builtin float
. To avoid this error in existing code, use float
by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use np.float64
here.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
Traceback (most recent call last):
File "/home/ping/AIC21-MTMC/tracker/MOTBaseline/src/fair_app.py", line 15, in
from fm_tracker.multitracker import JDETracker
File "/home/ping/AIC21-MTMC/tracker/MOTBaseline/src/fm_tracker/multitracker.py", line 16, in
from . import matching
File "/home/ping/AIC21-MTMC/tracker/MOTBaseline/src/fm_tracker/matching.py", line 7, in
from cython_bbox import bbox_overlaps as bbox_ious
File "src/cython_bbox.pyx", line 12, in init cython_bbox
File "/home/ping/.local/lib/python3.10/site-packages/numpy/init.py", line 305, in getattr
Traceback (most recent call last):
raise AttributeError(former_attrs[attr])
AttributeError: module 'numpy' has no attribute 'float'.
np.float
was a deprecated alias for the builtin float
. To avoid this error in existing code, use float
by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use np.float64
here.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
File "/home/ping/AIC21-MTMC/tracker/MOTBaseline/src/fair_app.py", line 15, in
from fm_tracker.multitracker import JDETracker
File "/home/ping/AIC21-MTMC/tracker/MOTBaseline/src/fm_tracker/multitracker.py", line 16, in
from . import matching
File "/home/ping/AIC21-MTMC/tracker/MOTBaseline/src/fm_tracker/matching.py", line 7, in
from cython_bbox import bbox_overlaps as bbox_ious
File "src/cython_bbox.pyx", line 12, in init cython_bbox
File "/home/ping/.local/lib/python3.10/site-packages/numpy/init.py", line 305, in getattr
raise AttributeError(former_attrs[attr])
AttributeError: module 'numpy' has no attribute 'float'.
np.float
was a deprecated alias for the builtin float
. To avoid this error in existing code, use float
by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use np.float64
here.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
Traceback (most recent call last):
File "/home/ping/AIC21-MTMC/tracker/MOTBaseline/src/fair_app.py", line 15, in
from fm_tracker.multitracker import JDETracker
File "/home/ping/AIC21-MTMC/tracker/MOTBaseline/src/fm_tracker/multitracker.py", line 16, in
from . import matching
File "/home/ping/AIC21-MTMC/tracker/MOTBaseline/src/fm_tracker/matching.py", line 7, in
from cython_bbox import bbox_overlaps as bbox_ious
File "src/cython_bbox.pyx", line 12, in init cython_bbox
File "/home/ping/.local/lib/python3.10/site-packages/numpy/init.py", line 305, in getattr
raise AttributeError(former_attrs[attr])
AttributeError: module 'numpy' has no attribute 'float'.
np.float
was a deprecated alias for the builtin float
. To avoid this error in existing code, use float
by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use np.float64
here.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
sys args ars: ['main.py', 'c044', 'pp']
Traceback (most recent call last):
File "/home/ping/AIC21-MTMC/tracker/MOTBaseline/src/post_processing/main.py", line 108, in
cfg.merge_from_file(f'../../../../config/{sys.argv[3]}')
IndexError: list index out of range
sys args ars: ['main.py', 'c043', 'pp']
sys args ars: ['main.py', 'c046', 'pp']
sys args ars: ['main.py', 'c042', 'pp']
Traceback (most recent call last):
File "/home/ping/AIC21-MTMC/tracker/MOTBaseline/src/post_processing/main.py", line 108, in
cfg.merge_from_file(f'../../../../config/{sys.argv[3]}')
IndexError: list index out of range
Traceback (most recent call last):
File "/home/ping/AIC21-MTMC/tracker/MOTBaseline/src/post_processing/main.py", line 108, in
cfg.merge_from_file(f'../../../../config/{sys.argv[3]}')
IndexError: list index out of range
Traceback (most recent call last):
File "/home/ping/AIC21-MTMC/tracker/MOTBaseline/src/post_processing/main.py", line 108, in
cfg.merge_from_file(f'../../../../config/{sys.argv[3]}')
IndexError: list index out of range
sys args ars: ['main.py', 'c041', 'pp']
Traceback (most recent call last):
File "/home/ping/AIC21-MTMC/tracker/MOTBaseline/src/post_processing/main.py", line 108, in
cfg.merge_from_file(f'../../../../config/{sys.argv[3]}')
IndexError: list index out of range
sys args ars: ['main.py', 'c045', 'pp']
Traceback (most recent call last):
File "/home/ping/AIC21-MTMC/tracker/MOTBaseline/src/post_processing/main.py", line 108, in
cfg.merge_from_file(f'../../../../config/{sys.argv[3]}')
IndexError: list index out of range
processing c041...
/home/ping/AIC21-MTMC/datasets/detect_provided/c041/c041_mot_feat_break.pkl
Traceback (most recent call last):
File "/home/ping/AIC21-MTMC/reid/reid-matching/tools/trajectory_fusion.py", line 71, in
mot_list = zones.break_mot(mot_list, cid)
File "/home/ping/AIC21-MTMC/reid/reid-matching/tools/utils/zone_intra.py", line 178, in break_mot
new_num_tracklets = max(mot_list)+1
ValueError: max() arg is an empty sequence
Traceback (most recent call last):
File "/home/ping/AIC21-MTMC/reid/reid-matching/tools/sub_cluster.py", line 146, in
lines = pickle.load(f)
EOFError: Ran out of input
Traceback (most recent call last):
File "/home/ping/AIC21-MTMC/reid/reid-matching/tools/gen_res.py", line 40, in
map_tid = pickle.load(open('test_cluster.pkl', 'rb'))['cluster']
FileNotFoundError: [Errno 2] No such file or directory: 'test_cluster.pkl'
Command: bash run_mcmt.sh
I met this question when I run this command, please help me about this.
Hi, thanks for the great work. I was trying to reproduce the results, but the folder AIC21-MTMC/datasets/detection/
seems to be missing. This folder is used in all the shell scripts and is present in the config files (e.g. DET_SOURCE_DIR
in config/aic_mcmt.yml
). Is there a link where we can download this folder? Below is the complete error message:
tracking c041 with aic_mcmt.yml
tracking c042 with aic_mcmt.yml
tracking c043 with aic_mcmt.yml
tracking c044 with aic_mcmt.yml
tracking c045 with aic_mcmt.yml
tracking c046 with aic_mcmt.yml
Traceback (most recent call last):
File "/home/pchunduri6/reid/AIC21-MTMC/tracker/MOTBaseline/src/fair_app.py", line 309, in <module>
run(
File "/home/pchunduri6/reid/AIC21-MTMC/tracker/MOTBaseline/src/fair_app.py", line 175, in run
seq_info = gather_sequence_info(sequence_dir, detection_file, max_frame_idx)
File "/home/pchunduri6/reid/AIC21-MTMC/tracker/MOTBaseline/src/fair_app.py", line 49, in gather_sequence_info
for f in os.listdir(image_dir)}
FileNotFoundError: [Errno 2] No such file or directory: '/home/pchunduri6/reid/AIC21-MTMC/datasets/detection/images/test/S06/c045/img1'
Thanks in advance!
Thanks for your great project, and I was trying to reproduce the results.
When I run bash run_mcmt.sh, it produce as follows:
gen_det.sh: 1: gen_det.sh: Syntax error: "(" unexpected
run_aic.sh: 3: run_aic.sh: Syntax error: "(" unexpected
processing c041...
/data/aicity2021/AIC21_Track3/AIC21-MTMC/datasets/detect_provided/c041/c041_mot_feat_break.pkl
Traceback (most recent call last):
File "trajectory_fusion.py", line 71, in
mot_list = zones.break_mot(mot_list, cid)
File "/data/aicity2021/AIC21_Track3/AIC21-MTMC/reid/reid-matching/tools/utils/zone_intra.py", line 178, in break_mot
new_num_tracklets = max(mot_list)+1
ValueError: max() arg is an empty sequence
Traceback (most recent call last):
File "sub_cluster.py", line 146, in
lines = pickle.load(f)
EOFError: Ran out of input
Traceback (most recent call last):
File "gen_res.py", line 40, in
map_tid = pickle.load(open('test_cluster.pkl', 'rb'))['cluster']
FileNotFoundError: [Errno 2] No such file or directory: 'test_cluster.pkl'
Where to obtain or produce 'test_cluster.pkl'?
As is stated in the README, a detect_provided folder which contains detections and Re-ID features should be put in the dataset path. However there is no link for downloading this. Would you please fix it and provide a link? Thank you very much and regards!
sh: 1: ./MinCostPerfMatch/example: Permission denied
请问博主如何解决?
:~/AIC21-MTMC$ bash ./run_mcmt.sh
[Err]: invalid source root
Done
run_aic.sh: 3: Syntax error: "(" unexpected
Traceback (most recent call last):
File "/home/jared/AIC21-MTMC/reid/reid-matching/tools/trajectory_fusion.py", line 53, in
cid_bias = parse_bias(cfg.CID_BIAS_DIR, scene_name)
File "/home/jared/AIC21-MTMC/reid/reid-matching/tools/trajectory_fusion.py", line 30, in parse_bias
with open(opj(timestamp_dir, sname + '.txt')) as f:
FileNotFoundError: [Errno 2] No such file or directory: '/home/jared/AIC21-MTMC/datasets/AIC21_Track3_MTMC_Tracking/cam_timestamp/S06.txt'
Traceback (most recent call last):
File "/home/jared/AIC21-MTMC/reid/reid-matching/tools/sub_cluster.py", line 143, in
for pkl_path in os.listdir(fea_dir):
FileNotFoundError: [Errno 2] No such file or directory: './exp/viz/test/S06/trajectory/'
Traceback (most recent call last):
File "/home/jared/AIC21-MTMC/reid/reid-matching/tools/gen_res.py", line 40, in
map_tid = pickle.load(open('test_cluster.pkl', 'rb'))['cluster']
FileNotFoundError: [Errno 2] No such file or directory: 'test_cluster.pkl'
I have confirmed that all the files exist expect for the test cluster file, Any ideas?
Congratulations and thanks for your excellent work!
Could you make it clear which 3 reid models you use in the https://drive.google.com/drive/folders/1aCQmTbYQE-mq-07q86NIMLLZRc82mc5t ?
There are multiple models named resnet101_ibn_a_2.pth and no model named resnet101_ibn_a_3.pth.
你好,请问评价指标,性能指标在哪里?我没有找到,请赐教一下,谢谢。
Thanks for your great project, and I was trying to reproduce the results.
It said I can directly download the "detect_provided", but I couldn't find where to download it. I tried to run the run_all.sh, and thought that the folder might be generated after that. However I encountered too many errors, and I am still working on it.
Congratulations and thanks for your great project!
I am investigating your code and paper. I see that there are TransReId module in reid model. Did you run the experiment with TransReId feats instead of feats from resnet backbone ? If yes, is the result competitive ? If no, are continue working on that ?
Hi,
Thank you for sharing this code, but I need to test this code and understand how does work for that I need a dataSet, can you give me small subset just for testing i.e understand your idea ?
thank you in advance
Whenever I run the whole process with run_all.sh, I'm always caught by this error and the program stops:
Traceback (most recent call last):
File "merge_reid_feat.py", line 59, in
main()
File "merge_reid_feat.py", line 55, in main
merge_feat(cfg)
File "merge_reid_feat.py", line 27, in merge_feat
feat_mode_dic = pickle.load(open(feat_pkl_file, 'rb'))
FileNotFoundError: [Errno 2] No such file or directory: '/opt/Program/PycharmProjects/AIC21-MTMC/datasets/detect_reid1/c041/c041_dets_feat.pkl'
Checking the detect_provided path, there is one such file. Is this caused by a failure to extract reid features? The output of extract_image_feat.py is:
51370 images for c041
51370 images in total
init reid model
abs path is /media/lu/71274469-3e57-4411-bd33-12b766d409a4/opt/Program/PycharmProjects/AIC21-MTMC/reid/reid_inference/reid_model.py
0%| | 0/803 [00:00<?, ?it/s]===========ResNet===========
using resnet101_ibn_a as a backbone
Loading pretrained model from reid_model/resnet101_ibn_a_2.pth
/opt/Softwares/anaconda3/envs/track/lib/python3.8/site-packages/torchvision/transforms/transforms.py:280: UserWarning: Argument interpolation should be of type InterpolationMode instead of int. Please, use InterpolationMode enum.
warnings.warn(
/opt/Softwares/anaconda3/envs/track/lib/python3.8/site-packages/torch/nn/functional.py:718: UserWarning: Named tensors and all their associated APIs are an experimental feature and subject to change. Please do not use them for anything important until they are released as stable. (Triggered internally at /opt/conda/conda-bld/pytorch_1623448278899/work/c10/core/TensorImpl.h:1156.)
return torch.max_pool2d(input, kernel_size, stride, padding, dilation, ceil_mode)
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 803/803 [13:41<00:00, 1.02s/it]
821.8415 s
It seems successful. But how does it fail to save a dets_feat.pkl file?
from yacs.config import CfgNode as CN
ModuleNotFoundError: No module named 'yacs'
I can't find this file.
In method associate
in tracker/MOTBaseline/src/post_processing/post_association.py, the external C++ program MinCostPerfMatch is called with argument "--max", which solves maximum cardinality matching. The computed cost (similarity) is not used in this step.
Should it instead be solving min cost perfect matching problem, which calls MinCostPerfMatch with argument --minweight
?
Thanks.
I use the wrong yml, I will try again.
When I run run_mcmt.sh, the following error occurs. Do you have any suggestions?
starting re_ranking
100%|█████████████████████████████████████████████████████████████████████████████████████| 78/78 [00:00<00:00, 6529.14it/s]
Using totally 0.06S to compute R
100%|█████████████████████████████████████████████████████████████████████████████████████| 78/78 [00:00<00:00, 7608.45it/s]
Using totally 0.10S to compute V-1
Using totally 0.12S to compute V-2
Using totally 0.12S to compute invIndex
100%|█████████████████████████████████████████████████████████████████████████████████████| 39/39 [00:00<00:00, 6944.80it/s]
[[nan nan nan ... nan nan nan]
[nan nan nan ... nan nan nan]
[nan nan nan ... nan nan nan]
...
[nan nan nan ... nan nan nan]
[nan nan nan ... nan nan nan]
[nan nan nan ... nan nan nan]]
Using totally 0.15S to compute final_distance
[[nan nan nan ... nan nan nan]
[nan nan nan ... nan nan nan]
[nan nan nan ... nan nan nan]
...
[nan nan nan ... nan nan nan]
[nan nan nan ... nan nan nan]
[nan nan nan ... nan nan nan]]
Traceback (most recent call last):
File "sub_cluster.py", line 154, in <module>
clu = get_labels(cfg,cid_tid_dict,cid_tids,score_thr=cfg.SCORE_THR)
File "sub_cluster.py", line 106, in get_labels
linkage='complete').fit_predict(1 - sim_matrix)
File "/home/ubuntu/anaconda3/envs/torch/lib/python3.7/site-packages/sklearn/cluster/_agglomerative.py", line 1054, in fit_predict
return super().fit_predict(X, y)
File "/home/ubuntu/anaconda3/envs/torch/lib/python3.7/site-packages/sklearn/base.py", line 736, in fit_predict
self.fit(X)
File "/home/ubuntu/anaconda3/envs/torch/lib/python3.7/site-packages/sklearn/cluster/_agglomerative.py", line 917, in fit
X = self._validate_data(X, ensure_min_samples=2, estimator=self)
File "/home/ubuntu/anaconda3/envs/torch/lib/python3.7/site-packages/sklearn/base.py", line 566, in _validate_data
X = check_array(X, **check_params)
File "/home/ubuntu/anaconda3/envs/torch/lib/python3.7/site-packages/sklearn/utils/validation.py", line 800, in check_array
_assert_all_finite(array, allow_nan=force_all_finite == "allow-nan")
File "/home/ubuntu/anaconda3/envs/torch/lib/python3.7/site-packages/sklearn/utils/validation.py", line 116, in _assert_all_finite
type_err, msg_dtype if msg_dtype is not None else X.dtype
ValueError: Input contains NaN, infinity or a value too large for dtype('float32').
Traceback (most recent call last):
File "gen_res.py", line 40, in <module>
map_tid = pickle.load(open('test_cluster.pkl', 'rb'))['cluster']
FileNotFoundError: [Errno 2] No such file or directory: 'test_cluster.pkl'
IN ADDITION TO the official website, how can I get the AIC21_Track3_MTMC_Tracking dataset?
D:\workspace\python\MTMC\AIC21-MTMC-main\tracker\MOTBaseline\src\post_processing\post_association.py:85: UserWarning: loadtxt: Empty input file: "./cache/c044_PA_res.txt"
matches = np.loadtxt(f'./cache/{seq}_PA_res.txt', dtype=int, delimiter=' ')
in this stage of PA, get matched tracklets 0
generating input graph for solving min cost perfect matching problem.
'.' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
这一段有这个报错 怎么处理一下呀
I'm reproducing the run_all results and got some questions.
In the run_all.sh, the re-id feature extraction part is as below,
python extract_image_feat.py "aic_reid1.yml"
python extract_image_feat.py "aic_reid2.yml"
python extract_image_feat.py "aic_reid3.yml"
Checked that the config files differ in the pretrained re-id model each uses, resnet101 or resnext101. So I wonder should I run all the three re-id feature extraction processes or just one of them?
Further noticed in reid/merge_reid_feat.py, in merge_feat(), ensemble_list = ['detect_reid1', 'detect_reid2', 'detect_reid3']. I guess this ensemble_list should be in accordance with the re-id models selected. If I only use reid1, should I modify the ensemble_list to contain only the 'detect_reid1'?
Thank you for your patience and regards!
How can I use your work to matching local tracklets across multiple cameras to generate global tracks for person tracking? I have tracklets sets from each camera from strongsort tracker, but I want to use them to generate global trajectories, I would appreciate your help.
I'm an freshman in this field,When go to the link you gave to download the data set 'AIC21_Track3_MTMC_Tracking', it shows that you need to enter the password. Is there any other way to get the data set?
Dear authors,
Thank you very much on your great work!
I am a phd student from UIUC. Recently I am doing a research project related to traffic cam object tracking. I am wondering whether it's possible to provide instructions on how to run your model on training data S01 please? Specifically, we added or deleted some frames from the original videos from S01 to sync them up. Is there a way to run the model on our modified data of S01?
Thank you very much!
I did not find any links to access the following resources:
"If you just want reproduce our results, you can directly download detect_provided"
"If you just want reproduce our results on all pipeline, you have to download:"
"""
detector/yolov5/yolov5x.pt
reid/reid_model/resnet101_ibn_a_2.pth
reid/reid_model/resnet101_ibn_a_3.pth
reid/reid_model/resnext101_ibn_a_2.pth
"""
how can I get them?
出现以下Error:
image 1/2001 /home/fish/AIC21-MTMC/datasets/detection/images/test/S06/c043/img1/img000000.jpg: Traceback (most recent call last):
File "detect2img.py", line 235, in
detect()
File "detect2img.py", line 95, in detect
pred = model(img, augment=opt.augment)[0]
File "/home/fish/anaconda3/envs/aic21/lib/python3.8/site-packages/torch/nn/modules/module.py", line 727, in _call_impl
result = self.forward(*input, **kwargs)
File "/home/fish/AIC21-MTMC/detector/yolov5/models/yolo.py", line 119, in forward
return self.forward_once(x, profile) # single-scale inference, train
File "/home/fish/AIC21-MTMC/detector/yolov5/models/yolo.py", line 135, in forward_once
x = m(x) # run
File "/home/fish/anaconda3/envs/aic21/lib/python3.8/site-packages/torch/nn/modules/module.py", line 727, in _call_impl
result = self.forward(*input, **kwargs)
File "/home/fish/AIC21-MTMC/detector/yolov5/models/yolo.py", line 54, in forward
y[..., 2:4] = (y[..., 2:4] * 2) ** 2 * self.anchor_grid[i] # wh
RuntimeError: The size of tensor a (160) must match the size of tensor b (48) at non-singleton dimension 3
想请问一下我应该如何处理?
Hello,
How do you define the 4 zones in the camera view?
Do you create a mask for each camera view? If you, could you please share them?
Thanks!
When trying to run the entire pipeline, I receive the following error:
Traceback (most recent call last):
File "merge_reid_feat.py", line 57, in
main()
File "merge_reid_feat.py", line 53, in main
merge_feat(cfg)
File "merge_reid_feat.py", line 25, in merge_feat
feat_mode_dic = pickle.load(open(feat_pkl_file, 'rb'))
FileNotFoundError: [Errno 2] No such file or directory: '/home/----/aic21-mtmc/datasets/detect_reid1/c041/c041_dets_feat.pkl'
Any thoughts?
Congratulations.
I am reproducing our excellent work, could you please explain the meaning of parameters in configuration file.
Thanks a lot
I ran your all pipeline on AIC, but the program crashed when fork eight GPU processes in re-id. I realized there're only two GPUs in my system. How should I configure the number of GPUs to be implemented? Thank you very much and regards!
Hello,may I ask that where the loss's loss come from? And the detail what exactly this formula use for? Thank you!
你好,我想问下跑完后如何得到 IDF1 的指标
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.