Code for CVPR 2021 paper: Anchor-Free Person Search

Overview

Introduction

This is the implementationn for Anchor-Free Person Search in CVPR2021

demo image

License

This project is released under the Apache 2.0 license.

Installation

This project is developed upon MMdetection, please refer to install.md to install MMdetection.

Dataset

Download CUHK-SYSU and PRW.

We provide coco-style annotation in demo/anno.

For CUHK-SYSU, change the path of your dataset and the annotaion file in the config file L3, L38, L43, L48

For PRW, change the paths in these config files: config1 config2

Experiments

  1. Train
sh run_train.sh
  1. Test CUHK-SYSU

Change the paths in L59 and L72 in test_results.py

sh run_test.sh
  1. Test PRW

Change the paths in L127 and L128 in test_results_prw.py

sh run_test_prw.sh

Performance

Dataset Model mAP Rank1 Config Link
CUHK-SYSU AlignPS 93.1% 93.4% cfg model
CUHK-SYSU AlignPS+ 94.0% 94.5% cfg model
PRW AlignPS 45.9% 81.9% cfg model
PRW AlignPS+ 46.1% 82.1% cfg model

Citation

If you use this toolbox or benchmark in your research, please cite this project.

@inproceedings{yan2021alignps,
  title={Anchor-Free Person Search},
  author={Yichao Yan, Jingpeng Li, Jie Qin, Song Bai, Shengcai Liao, Li Liu, Fan Zhu, Ling Shao},
  booktitle={CVPR},
  year={2021}
}
Comments
  • when i test,it takes error

    when i test,it takes error

    (open-mmlab) goo@goo-Z390-GAMING-X:~/yx/AlignPS$ sh run_test.sh loading annotations into memory... Done (t=0.12s) creating index... index created! /home/goo/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/mmcv/cnn/bricks/conv_module.py:100: UserWarning: ConvModule has norm and bias at the same time warnings.warn('ConvModule has norm and bias at the same time') [ ] 0/6978, elapsed: 0s, ETA:/home/goo/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/nn/functional.py:3328: UserWarning: nn.functional.upsample is deprecated. Use nn.functional.interpolate instead. warnings.warn("nn.functional.upsample is deprecated. Use nn.functional.interpolate instead.") /home/goo/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/nn/functional.py:3458: UserWarning: Default upsampling behavior when mode=bilinear is changed to align_corners=False since 0.4.0. Please specify align_corners=True if the old behavior is desired. See the documentation of nn.Upsample for details. "See the documentation of nn.Upsample for details.".format(mode) Traceback (most recent call last): File "./tools/test.py", line 226, in main() File "./tools/test.py", line 187, in main args.gpu_collect) File "/home/goo/yx/AlignPS/mmdet/apis/test.py", line 98, in multi_gpu_test result = model(return_loss=False, rescale=True, **data) File "/home/goo/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/nn/modules/module.py", line 889, in _call_impl result = self.forward(*input, **kwargs) File "/home/goo/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/nn/parallel/distributed.py", line 705, in forward output = self.module(*inputs[0], **kwargs[0]) File "/home/goo/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/nn/modules/module.py", line 889, in _call_impl result = self.forward(*input, **kwargs) File "/home/goo/yx/AlignPS/mmdet/core/fp16/decorators.py", line 51, in new_func return old_func(*args, **kwargs) File "/home/goo/yx/AlignPS/mmdet/models/detectors/base.py", line 170, in forward return self.forward_test(img, img_metas, **kwargs) File "/home/goo/yx/AlignPS/mmdet/models/detectors/base.py", line 147, in forward_test return self.simple_test(imgs[0], img_metas[0], **kwargs) File "/home/goo/yx/AlignPS/mmdet/models/detectors/single_stage_reid.py", line 118, in simple_test *outs, img_metas, rescale=rescale) File "/home/goo/yx/AlignPS/mmdet/core/fp16/decorators.py", line 131, in new_func return old_func(*args, **kwargs) File "/home/goo/yx/AlignPS/mmdet/models/dense_heads/fcos_reid_head_focal_sub_triqueue.py", line 454, in get_bboxes img_shape = img_metas[img_id]['img_shape'] TypeError: 'DataContainer' object is not subscriptable Killing subprocess 6428 Traceback (most recent call last): File "/home/goo/anaconda3/envs/open-mmlab/lib/python3.7/runpy.py", line 193, in _run_module_as_main "main", mod_spec) File "/home/goo/anaconda3/envs/open-mmlab/lib/python3.7/runpy.py", line 85, in _run_code exec(code, run_globals) File "/home/goo/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/distributed/launch.py", line 340, in main() File "/home/goo/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/distributed/launch.py", line 326, in main sigkill_handler(signal.SIGTERM, None) # not coming back File "/home/goo/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/distributed/launch.py", line 301, in sigkill_handler raise subprocess.CalledProcessError(returncode=last_return_code, cmd=cmd) subprocess.CalledProcessError: Command '['/home/goo/anaconda3/envs/open-mmlab/bin/python', '-u', './tools/test.py', '--local_rank=0', './configs/fcos/fcos_center-normbbox-centeronreg-giou_r50_caffe_fpn_gn-head_dcn_4x4_1x_cuhk_reid_1500_stage1_fpncat_dcn_epoch24_multiscale_focal_x4_bg-2_lconv3dcn_sub_triqueue_dcn0.py', 'work_dirs/fcos_center-normbbox-centeronreg-giou_r50_caffe_fpn_gn-head_dcn_4x4_1x_cuhk_reid_1500_stage1_fpncat_dcn_epoch24_multiscale_focal_x4_bg-2_lconv3dcn_sub_triqueue_dcn0/epoch_24.pth', '--launcher', 'pytorch', '--out', 'work_dirs/fcos_center-normbbox-centeronreg-giou_r50_caffe_fpn_gn-head_dcn_4x4_1x_cuhk_reid_1500_stage1_fpncat_dcn_epoch24_multiscale_focal_x4_bg-2_lconv3dcn_sub_triqueue_dcn0/results_1000.pkl']' returned non-zero exit status 1.

    Traceback (most recent call last): File "./tools/test_results.py", line 75, in with open(os.path.join(results_path, 'results_1000.pkl'), 'rb') as fid: FileNotFoundError: [Errno 2] No such file or directory: '/home/goo/yx/AlignPS/work_dirs/fcos_center-normbbox-centeronreg-giou_r50_caffe_fpn_gn-head_dcn_4x4_1x_cuhk_reid_1500_stage1_fpncat_dcn_epoch24_multiscale_focal_x4_bg-2_lconv3dcn_sub_triqueue_dcn0/results_1000.pkl' fcos_center-normbbox-centeronreg-giou_r50_caffe_fpn_gn-head_dcn_4x4_1x_cuhk_reid_1500_stage1_fpncat_dcn_epoch24_multiscale_focal_x4_bg-2_lconv3dcn_sub_triqueue_dcn0 I don't know why .Maybe you can help me .Thank you !

    opened by Yx1322441675 10
  • No such file or directory: '....../annotation/test/train_test/TestG100.mat'

    No such file or directory: '....../annotation/test/train_test/TestG100.mat'

    when i run 'bash run_test.sh', I can get results_1000.pkl successfully. However, there is a FileNotFoundError after that. There are not data, of which the structrue is like '.mat' in CUHK-SYSU. I will appreciate it if you can help.

    Traceback (most recent call last): File "***/yes/lib/python3.7/site-packages/scipy/io/matlab/mio.py", line 33, in _open_file return open(file_like, 'rb'), True FileNotFoundError: [Errno 2] No such file or directory: '***/data/CUHK-SYSU/annotation/test/train_test/TestG100.mat'

    opened by CharlesChen24 9
  • Mismatch problem occurred while training the network

    Mismatch problem occurred while training the network

    Hello, I want to reimplement the experiment, however, when I started training AlignPS (on CUHK), I encountered the following problems. No errors were reported, but the network is not training. '''''''' 2021-04-11 00:00:02,350 - mmdet - INFO - load model from: open-mmlab://detectron2/resnet50_caffe 2021-04-11 00:00:02,719 - mmdet - WARNING - The model and loaded state dict do not match exactly

    unexpected key in source state_dict: conv1.bias

    2021-04-11 00:00:08,895 - mmdet - INFO - Start running, host: xxxxx, work_dir: /home/xxxxx/AlignPS/work_dirs/fcos_center-normbbox-centeronreg-giou_r50_caffe_fpn_gn-head_dcn_4x4_1x_cuhk_reid_1500_stage1_fpncat_dcn_epoch24_multiscale_focal_x4_bg-2_lconv3dcn_sub_triqueue_dcn0 2021-04-11 00:00:08,908 - mmdet - INFO - workflow: [('train', 1)], max: 24 epochs '''''''''

    I completely followed the steps in install.md to configure the environment, and my conda list is as follows(python3.6.13 + pytorch1.4.0 + mmdet2.4.0 + mmcv-full1.1.5): _libgcc_mutex 0.1 main https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main addict 2.4.0 pypi_0 pypi blas 1.0 mkl https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main ca-certificates 2021.1.19 h06a4308_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main certifi 2020.12.5 py36h06a4308_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main cudatoolkit 10.1.243 h6bb024c_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main cycler 0.10.0 pypi_0 pypi cython 0.29.22 pypi_0 pypi freetype 2.10.4 h5ab3b9f_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main intel-openmp 2020.2 254 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main jpeg 9b h024ee3a_2 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main kiwisolver 1.3.1 pypi_0 pypi lcms2 2.12 h3be6417_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main ld_impl_linux-64 2.33.1 h53a641e_7 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main libffi 3.3 he6710b0_2 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main libgcc-ng 9.1.0 hdf63c60_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main libgfortran-ng 7.3.0 hdf63c60_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main libpng 1.6.37 hbc83047_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main libstdcxx-ng 9.1.0 hdf63c60_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main libtiff 4.1.0 h2733197_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main lz4-c 1.9.3 h2531618_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main matplotlib 3.3.4 pypi_0 pypi mkl 2020.2 256 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main mkl-service 2.3.0 py36he8ac12f_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main mkl_fft 1.3.0 py36h54f3939_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main mkl_random 1.1.1 py36h0573a6f_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main mmcv-full 1.1.5 pypi_0 pypi mmdet 2.4.0 dev_0 mmpycocotools 12.0.3 pypi_0 pypi ncurses 6.2 he6710b0_1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main ninja 1.10.2 py36hff7bd54_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main numpy 1.19.2 py36h54aff64_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main numpy-base 1.19.2 py36hfa32c7d_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main olefile 0.46 py36_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main opencv-python 4.5.1.48 pypi_0 pypi openssl 1.1.1k h27cfd23_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main pillow 8.2.0 py36he98fc37_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main pip 21.0.1 py36h06a4308_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main pyparsing 2.4.7 pypi_0 pypi python 3.6.13 hdb3f193_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main python-dateutil 2.8.1 pypi_0 pypi pytorch 1.4.0 py3.6_cuda10.1.243_cudnn7.6.3_0 pytorch pyyaml 5.4.1 pypi_0 pypi readline 8.1 h27cfd23_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main scipy 1.5.2 py36h0b6359f_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main setuptools 52.0.0 py36h06a4308_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main six 1.15.0 py36h06a4308_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main sqlite 3.35.4 hdfb4753_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main terminaltables 3.1.0 pypi_0 pypi tk 8.6.10 hbc83047_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main torchvision 0.5.0 py36_cu101 pytorch wheel 0.36.2 pyhd3eb1b0_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main xz 5.2.5 h7b6447c_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main yapf 0.31.0 pypi_0 pypi zlib 1.2.11 h7b6447c_3 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main zstd 1.4.9 haebb681_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main

    I checked ISSUES in open-mmlab/mmdetection, someone said: "This is not an error. It is normal when using the resnet pre-trained model as the conv1.bais has been absorbed in the conv1.weight." But my network cannot continue training. Could you give me some guidance? Thank you!

    Environment sys.platform: linux Python: 3.6.13 |Anaconda, Inc.| (default, Feb 23 2021, 21:15:04) [GCC 7.3.0] CUDA available: True CUDA_HOME: /usr/local/cuda NVCC: Cuda compilation tools, release 10.1, V10.1.243 GPU 0,1,2,3: Tesla P100-PCIE-16GB GCC: gcc (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609 PyTorch: 1.4.0 PyTorch compiling details: PyTorch built with:

    • GCC 7.3
    • Intel(R) Math Kernel Library Version 2020.0.2 Product Build 20200624 for Intel(R) 64 architecture applications
    • Intel(R) MKL-DNN v0.21.1 (Git Hash 7d2fd500bc78936d1d648ca713b901012f470dbc)
    • OpenMP 201511 (a.k.a. OpenMP 4.5)
    • NNPACK is enabled
    • CUDA Runtime 10.1
    • NVCC architecture flags: -gencode;arch=compute_37,code=sm_37;-gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_61,code=sm_61;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_37,code=compute_37
    • CuDNN 7.6.3
    • Magma 2.5.1
    • Build settings: BLAS=MKL, BUILD_NAMEDTENSOR=OFF, BUILD_TYPE=Release, CXX_FLAGS= -Wno-deprecated -fvisibility-inlines-hidden -fopenmp -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -O2 -fPIC -Wno-narrowing -Wall -Wextra -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wno-unused-function -Wno-unused-result -Wno-strict-overflow -Wno-strict-aliasing -Wno-error=deprecated-declarations -Wno-stringop-overflow -Wno-error=pedantic -Wno-error=redundant-decls -Wno-error=old-style-cast -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Wno-stringop-overflow, DISABLE_NUMA=1, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, USE_CUDA=ON, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=ON, USE_NNPACK=ON, USE_OPENMP=ON, USE_STATIC_DISPATCH=OFF,

    TorchVision: 0.5.0 OpenCV: 4.5.1 MMCV: 1.1.5 MMDetection: 2.4.0+c20cf32 MMDetection Compiler: GCC 7.3 MMDetection CUDA Compiler: 10.1

    opened by Mariclen 7
  • Do you have any scripts for visible result?

    Do you have any scripts for visible result?

    Hello, I'm very new in this field. And I want run and show the results by the images of the videos. MMDetect provides some demos like image_demo.py or webcam_demo.py. Do you have any scripts or code like this, or how can I get this?

    Thank you for your helps.

    opened by HYERI520 6
  • When I implementatiaon ROI-AlignPS, I have a problem

    When I implementatiaon ROI-AlignPS, I have a problem

    (open-mmlab) lxz@lxz-System-Product-Name:~/KunPeng_Liu/AlignPS$ /bin/bash /home/lxz/KunPeng_Liu/AlignPS/run_train.sh fatal: not a git repository (or any of the parent directories): .git 2021-09-13 17:36:13,497 - mmdet - INFO - Environment info:

    sys.platform: linux Python: 3.7.10 | packaged by conda-forge | (default, Feb 19 2021, 16:07:37) [GCC 9.3.0] CUDA available: True CUDA_HOME: /usr/local/cuda-11.0 NVCC: Build cuda_11.0_bu.TC445_37.28845127_0 GPU 0: NVIDIA GeForce RTX 3090 GCC: gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0 PyTorch: 1.7.0 PyTorch compiling details: PyTorch built with:

    • GCC 7.3
    • C++ Version: 201402
    • Intel(R) oneAPI Math Kernel Library Version 2021.3-Product Build 20210617 for Intel(R) 64 architecture applications
    • Intel(R) MKL-DNN v1.6.0 (Git Hash 5ef631a030a6f73131c77892041042805a06064f)
    • OpenMP 201511 (a.k.a. OpenMP 4.5)
    • NNPACK is enabled
    • CPU capability usage: AVX2
    • CUDA Runtime 11.0
    • NVCC architecture flags: -gencode;arch=compute_37,code=sm_37;-gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_61,code=sm_61;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_80,code=sm_80;-gencode;arch=compute_37,code=compute_37
    • CuDNN 8.0.3
    • Magma 2.5.2
    • Build settings: BLAS=MKL, BUILD_TYPE=Release, CXX_FLAGS= -Wno-deprecated -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -fopenmp -DNDEBUG -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DUSE_VULKAN_WRAPPER -O2 -fPIC -Wno-narrowing -Wall -Wextra -Werror=return-type -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wno-unused-function -Wno-unused-result -Wno-unused-local-typedefs -Wno-strict-overflow -Wno-strict-aliasing -Wno-error=deprecated-declarations -Wno-stringop-overflow -Wno-psabi -Wno-error=pedantic -Wno-error=redundant-decls -Wno-error=old-style-cast -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Wno-stringop-overflow, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, USE_CUDA=ON, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=ON, USE_NNPACK=ON, USE_OPENMP=ON,

    TorchVision: 0.8.0 OpenCV: 4.5.3 MMCV: 1.3.13 MMDetection: 2.4.0+ MMDetection Compiler: GCC 7.3 MMDetection CUDA Compiler: 11.0

    2021-09-13 17:36:14,238 - mmdet - INFO - Distributed training: False 2021-09-13 17:36:14,971 - mmdet - INFO - Config: dataset_type = 'CuhkDataset' data_root = '/home/lxz/KunPeng_Liu/dataset/PRW/PRW-v16.04.20/' img_norm_cfg = dict( mean=[103.53, 116.28, 123.675], std=[1.0, 1.0, 1.0], to_rgb=False) train_pipeline = [ dict(type='LoadImageFromFile'), dict(type='LoadAnnotations', with_bbox=True), dict( type='Resize', img_scale=[(667, 400), (1000, 600), (1333, 800), (1500, 900), (1666, 1000), (2000, 1200)], multiscale_mode='value', keep_ratio=True), dict(type='RandomFlip', flip_ratio=0.5), dict( type='Normalize', mean=[103.53, 116.28, 123.675], std=[1.0, 1.0, 1.0], to_rgb=False), dict(type='Pad', size_divisor=32), dict(type='DefaultFormatBundle'), dict(type='Collect', keys=['img', 'gt_bboxes', 'gt_labels', 'gt_ids']) ] test_pipeline = [ dict(type='LoadImageFromFile'), dict( type='MultiScaleFlipAug', img_scale=(1500, 900), flip=False, transforms=[ dict(type='Resize', keep_ratio=True), dict(type='RandomFlip'), dict( type='Normalize', mean=[103.53, 116.28, 123.675], std=[1.0, 1.0, 1.0], to_rgb=False), dict(type='Pad', size_divisor=32), dict(type='ImageToTensor', keys=['img']), dict(type='Collect', keys=['img']) ]) ] data = dict( samples_per_gpu=5, workers_per_gpu=5, train=dict( type='CuhkDataset', ann_file= '/home/lxz/KunPeng_Liu/dataset/PRW/PRW-v16.04.20/train_pid.json', img_prefix='/home/lxz/KunPeng_Liu/dataset/PRW/PRW-v16.04.20/frames/', pipeline=[ dict(type='LoadImageFromFile'), dict(type='LoadAnnotations', with_bbox=True), dict( type='Resize', img_scale=[(667, 400), (1000, 600), (1333, 800), (1500, 900), (1666, 1000), (2000, 1200)], multiscale_mode='value', keep_ratio=True), dict(type='RandomFlip', flip_ratio=0.5), dict( type='Normalize', mean=[103.53, 116.28, 123.675], std=[1.0, 1.0, 1.0], to_rgb=False), dict(type='Pad', size_divisor=32), dict(type='DefaultFormatBundle'), dict( type='Collect', keys=['img', 'gt_bboxes', 'gt_labels', 'gt_ids']) ]), val=dict( type='CuhkDataset', ann_file= '/home/lxz/KunPeng_Liu/dataset/PRW/PRW-v16.04.20/test_pid.json', img_prefix='/home/lxz/KunPeng_Liu/dataset/PRW/PRW-v16.04.20/frames/', pipeline=[ dict(type='LoadImageFromFile'), dict( type='MultiScaleFlipAug', img_scale=(1500, 900), flip=False, transforms=[ dict(type='Resize', keep_ratio=True), dict(type='RandomFlip'), dict( type='Normalize', mean=[103.53, 116.28, 123.675], std=[1.0, 1.0, 1.0], to_rgb=False), dict(type='Pad', size_divisor=32), dict(type='ImageToTensor', keys=['img']), dict(type='Collect', keys=['img']) ]) ]), test=dict( type='CuhkDataset', ann_file= '/home/lxz/KunPeng_Liu/dataset/PRW/PRW-v16.04.20/test_pid.json', img_prefix='/home/lxz/KunPeng_Liu/dataset/PRW/PRW-v16.04.20/frames/', proposal_file= '/home/lxz/KunPeng_Liu/dataset/PRW/PRW-v16.04.20/annotation/test/train_test/TestG50.mat', pipeline=[ dict(type='LoadImageFromFile'), dict( type='MultiScaleFlipAug', img_scale=(1500, 900), flip=False, transforms=[ dict(type='Resize', keep_ratio=True), dict(type='RandomFlip'), dict( type='Normalize', mean=[103.53, 116.28, 123.675], std=[1.0, 1.0, 1.0], to_rgb=False), dict(type='Pad', size_divisor=32), dict(type='ImageToTensor', keys=['img']), dict(type='Collect', keys=['img']) ]) ])) evaluation = dict(interval=1, metric='bbox') norm_cfg = dict(type='BN', requires_grad=False) model = dict( type='SingleTwoStageDetector176PRW', pretrained='open-mmlab://detectron2/resnet50_caffe', backbone=dict( type='ResNet', depth=50, num_stages=4, out_indices=(0, 1, 2, 3), frozen_stages=1, norm_cfg=dict(type='BN', requires_grad=False), norm_eval=True, style='caffe'), rpn_head=dict( type='RPNHead', in_channels=1024, feat_channels=1024, anchor_generator=dict( type='AnchorGenerator', scales=[2, 4, 8, 16, 32], ratios=[0.5, 1.0, 2.0], strides=[16]), bbox_coder=dict( type='DeltaXYWHBBoxCoder', target_means=[0.0, 0.0, 0.0, 0.0], target_stds=[1.0, 1.0, 1.0, 1.0]), loss_cls=dict( type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0), loss_bbox=dict(type='L1Loss', loss_weight=1.0)), roi_head=dict( type='PersonSearchRoIHead2Input1', shared_head=dict( type='ResLayer', depth=50, stage=3, stride=2, dilation=1, style='caffe', norm_cfg=dict(type='BN', requires_grad=False), norm_eval=True), bbox_roi_extractor=dict( type='SingleRoIExtractor', roi_layer=dict(type='RoIAlign', out_size=14, sample_num=0), out_channels=1024, featmap_strides=[16]), bbox_head=dict( type='PersonSearchNormAwareNewoim2InputBNBBoxHeadPRW', with_avg_pool=True, roi_feat_size=7, in_channels=2048, num_classes=1, bbox_coder=dict( type='DeltaXYWHBBoxCoder', target_means=[0.0, 0.0, 0.0, 0.0], target_stds=[0.1, 0.1, 0.2, 0.2]), reg_class_agnostic=False, loss_cls=dict( type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0), loss_bbox=dict(type='L1Loss', loss_weight=10.0))), neck=dict( type='FPNDcnLconv3Dcn', in_channels=[256, 512, 1024, 2048], out_channels=256, start_level=1, add_extra_convs=True, extra_convs_on_inputs=False, num_outs=5, relu_before_extra_convs=True), bbox_head=dict( type='FCOSReidHeadFocalSubTriQueue3PRW', num_classes=1, in_channels=256, stacked_convs=4, feat_channels=256, strides=[8, 16, 32, 64, 128], loss_cls=dict( type='FocalLoss', use_sigmoid=True, gamma=2.0, alpha=0.25, loss_weight=1.0), loss_bbox=dict(type='GIoULoss', loss_weight=1.0), loss_centerness=dict( type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0), norm_on_bbox=True, centerness_on_reg=True, dcn_on_last_conv=True, center_sampling=True, conv_bias=True)) train_cfg = dict( rpn=dict( assigner=dict( type='MaxIoUAssigner', pos_iou_thr=0.7, neg_iou_thr=0.3, min_pos_iou=0.3, match_low_quality=True, ignore_iof_thr=-1), sampler=dict( type='RandomSampler', num=256, pos_fraction=0.5, neg_pos_ub=-1, add_gt_as_proposals=False), allowed_border=0, pos_weight=-1, debug=False), rpn_proposal=dict( nms_across_levels=False, nms_pre=12000, nms_post=2000, max_num=2000, nms_thr=0.7, min_bbox_size=0), rcnn=dict( assigner=dict( type='MaxIoUAssigner', pos_iou_thr=0.5, neg_iou_thr=0.1, min_pos_iou=0.5, match_low_quality=False, ignore_iof_thr=-1), sampler=dict( type='RandomSampler', num=128, pos_fraction=0.5, neg_pos_ub=-1, add_gt_as_proposals=True), pos_weight=-1, debug=False), assigner=dict( type='MaxIoUAssigner', pos_iou_thr=0.5, neg_iou_thr=0.4, min_pos_iou=0, ignore_iof_thr=-1), allowed_border=-1, pos_weight=-1, debug=False) test_cfg = dict( rpn=dict( nms_across_levels=False, nms_pre=6000, nms_post=300, max_num=1000, nms_thr=0.7, min_bbox_size=0), rcnn=dict( score_thr=0.05, nms=dict(type='nms', iou_thr=0.5), max_per_img=100), nms_pre=1000, min_bbox_size=0, score_thr=0.05, nms=dict(type='nms', iou_threshold=0.5), max_per_img=100) optimizer = dict(type='SGD', lr=0.0015, momentum=0.9, weight_decay=0.0005) optimizer_config = dict(grad_clip=dict(max_norm=10, norm_type=2)) lr_config = dict( policy='step', warmup='linear', warmup_iters=1141, warmup_ratio=0.005, step=[16, 22]) total_epochs = 24 checkpoint_config = dict(interval=1) log_config = dict(interval=50, hooks=[dict(type='TextLoggerHook')]) dist_params = dict(backend='nccl') log_level = 'INFO' load_from = None resume_from = None workflow = [('train', 1)] work_dir = './work_dirs/faster_rcnn_r50_caffe_c4_1x_cuhk_single_two_stage17_6_nae1_prw' gpu_ids = [0]

    /home/lxz/.local/lib/python3.7/site-packages/mmcv/utils/misc.py:324: UserWarning: "out_size" is deprecated in RoIAlign.__init__, please use "output_size" instead f'"{src_arg_name}" is deprecated in ' /home/lxz/.local/lib/python3.7/site-packages/mmcv/utils/misc.py:324: UserWarning: "sample_num" is deprecated in RoIAlign.__init__, please use "sampling_ratio" instead f'"{src_arg_name}" is deprecated in ' 2021-09-13 17:36:15,307 - mmdet - INFO - load model from: open-mmlab://detectron2/resnet50_caffe 2021-09-13 17:36:15,308 - mmdet - INFO - Use load_from_openmmlab loader 2021-09-13 17:36:15,367 - mmdet - WARNING - The model and loaded state dict do not match exactly

    unexpected key in source state_dict: conv1.bias

    2021-09-13 17:36:15,432 - mmdet - INFO - Use load_from_openmmlab loader 2021-09-13 17:36:15,477 - mmdet - WARNING - The model and loaded state dict do not match exactly

    unexpected key in source state_dict: conv1.weight, conv1.bias, bn1.bias, bn1.weight, bn1.running_mean, bn1.running_var, layer1.0.downsample.0.weight, layer1.0.downsample.1.bias, layer1.0.downsample.1.weight, layer1.0.downsample.1.running_mean, layer1.0.downsample.1.running_var, layer1.0.conv1.weight, layer1.0.bn1.bias, layer1.0.bn1.weight, layer1.0.bn1.running_mean, layer1.0.bn1.running_var, layer1.0.conv2.weight, layer1.0.bn2.bias, layer1.0.bn2.weight, layer1.0.bn2.running_mean, layer1.0.bn2.running_var, layer1.0.conv3.weight, layer1.0.bn3.bias, layer1.0.bn3.weight, layer1.0.bn3.running_mean, layer1.0.bn3.running_var, layer1.1.conv1.weight, layer1.1.bn1.bias, layer1.1.bn1.weight, layer1.1.bn1.running_mean, layer1.1.bn1.running_var, layer1.1.conv2.weight, layer1.1.bn2.bias, layer1.1.bn2.weight, layer1.1.bn2.running_mean, layer1.1.bn2.running_var, layer1.1.conv3.weight, layer1.1.bn3.bias, layer1.1.bn3.weight, layer1.1.bn3.running_mean, layer1.1.bn3.running_var, layer1.2.conv1.weight, layer1.2.bn1.bias, layer1.2.bn1.weight, layer1.2.bn1.running_mean, layer1.2.bn1.running_var, layer1.2.conv2.weight, layer1.2.bn2.bias, layer1.2.bn2.weight, layer1.2.bn2.running_mean, layer1.2.bn2.running_var, layer1.2.conv3.weight, layer1.2.bn3.bias, layer1.2.bn3.weight, layer1.2.bn3.running_mean, layer1.2.bn3.running_var, layer2.0.downsample.0.weight, layer2.0.downsample.1.bias, layer2.0.downsample.1.weight, layer2.0.downsample.1.running_mean, layer2.0.downsample.1.running_var, layer2.0.conv1.weight, layer2.0.bn1.bias, layer2.0.bn1.weight, layer2.0.bn1.running_mean, layer2.0.bn1.running_var, layer2.0.conv2.weight, layer2.0.bn2.bias, layer2.0.bn2.weight, layer2.0.bn2.running_mean, layer2.0.bn2.running_var, layer2.0.conv3.weight, layer2.0.bn3.bias, layer2.0.bn3.weight, layer2.0.bn3.running_mean, layer2.0.bn3.running_var, layer2.1.conv1.weight, layer2.1.bn1.bias, layer2.1.bn1.weight, layer2.1.bn1.running_mean, layer2.1.bn1.running_var, layer2.1.conv2.weight, layer2.1.bn2.bias, layer2.1.bn2.weight, layer2.1.bn2.running_mean, layer2.1.bn2.running_var, layer2.1.conv3.weight, layer2.1.bn3.bias, layer2.1.bn3.weight, layer2.1.bn3.running_mean, layer2.1.bn3.running_var, layer2.2.conv1.weight, layer2.2.bn1.bias, layer2.2.bn1.weight, layer2.2.bn1.running_mean, layer2.2.bn1.running_var, layer2.2.conv2.weight, layer2.2.bn2.bias, layer2.2.bn2.weight, layer2.2.bn2.running_mean, layer2.2.bn2.running_var, layer2.2.conv3.weight, layer2.2.bn3.bias, layer2.2.bn3.weight, layer2.2.bn3.running_mean, layer2.2.bn3.running_var, layer2.3.conv1.weight, layer2.3.bn1.bias, layer2.3.bn1.weight, layer2.3.bn1.running_mean, layer2.3.bn1.running_var, layer2.3.conv2.weight, layer2.3.bn2.bias, layer2.3.bn2.weight, layer2.3.bn2.running_mean, layer2.3.bn2.running_var, layer2.3.conv3.weight, layer2.3.bn3.bias, layer2.3.bn3.weight, layer2.3.bn3.running_mean, layer2.3.bn3.running_var, layer3.0.downsample.0.weight, layer3.0.downsample.1.bias, layer3.0.downsample.1.weight, layer3.0.downsample.1.running_mean, layer3.0.downsample.1.running_var, layer3.0.conv1.weight, layer3.0.bn1.bias, layer3.0.bn1.weight, layer3.0.bn1.running_mean, layer3.0.bn1.running_var, layer3.0.conv2.weight, layer3.0.bn2.bias, layer3.0.bn2.weight, layer3.0.bn2.running_mean, layer3.0.bn2.running_var, layer3.0.conv3.weight, layer3.0.bn3.bias, layer3.0.bn3.weight, layer3.0.bn3.running_mean, layer3.0.bn3.running_var, layer3.1.conv1.weight, layer3.1.bn1.bias, layer3.1.bn1.weight, layer3.1.bn1.running_mean, layer3.1.bn1.running_var, layer3.1.conv2.weight, layer3.1.bn2.bias, layer3.1.bn2.weight, layer3.1.bn2.running_mean, layer3.1.bn2.running_var, layer3.1.conv3.weight, layer3.1.bn3.bias, layer3.1.bn3.weight, layer3.1.bn3.running_mean, layer3.1.bn3.running_var, layer3.2.conv1.weight, layer3.2.bn1.bias, layer3.2.bn1.weight, layer3.2.bn1.running_mean, layer3.2.bn1.running_var, layer3.2.conv2.weight, layer3.2.bn2.bias, layer3.2.bn2.weight, layer3.2.bn2.running_mean, layer3.2.bn2.running_var, layer3.2.conv3.weight, layer3.2.bn3.bias, layer3.2.bn3.weight, layer3.2.bn3.running_mean, layer3.2.bn3.running_var, layer3.3.conv1.weight, layer3.3.bn1.bias, layer3.3.bn1.weight, layer3.3.bn1.running_mean, layer3.3.bn1.running_var, layer3.3.conv2.weight, layer3.3.bn2.bias, layer3.3.bn2.weight, layer3.3.bn2.running_mean, layer3.3.bn2.running_var, layer3.3.conv3.weight, layer3.3.bn3.bias, layer3.3.bn3.weight, layer3.3.bn3.running_mean, layer3.3.bn3.running_var, layer3.4.conv1.weight, layer3.4.bn1.bias, layer3.4.bn1.weight, layer3.4.bn1.running_mean, layer3.4.bn1.running_var, layer3.4.conv2.weight, layer3.4.bn2.bias, layer3.4.bn2.weight, layer3.4.bn2.running_mean, layer3.4.bn2.running_var, layer3.4.conv3.weight, layer3.4.bn3.bias, layer3.4.bn3.weight, layer3.4.bn3.running_mean, layer3.4.bn3.running_var, layer3.5.conv1.weight, layer3.5.bn1.bias, layer3.5.bn1.weight, layer3.5.bn1.running_mean, layer3.5.bn1.running_var, layer3.5.conv2.weight, layer3.5.bn2.bias, layer3.5.bn2.weight, layer3.5.bn2.running_mean, layer3.5.bn2.running_var, layer3.5.conv3.weight, layer3.5.bn3.bias, layer3.5.bn3.weight, layer3.5.bn3.running_mean, layer3.5.bn3.running_var

    loading annotations into memory... Done (t=0.03s) creating index... index created! fatal: not a git repository (or any of the parent directories): .git 2021-09-13 17:36:16,813 - mmdet - INFO - Start running, host: lxz@lxz-System-Product-Name, work_dir: /home/lxz/KunPeng_Liu/AlignPS/work_dirs/faster_rcnn_r50_caffe_c4_1x_cuhk_single_two_stage17_6_nae1_prw 2021-09-13 17:36:16,813 - mmdet - INFO - Hooks will be executed in the following order: before_run: (VERY_HIGH ) StepLrUpdaterHook
    (NORMAL ) CheckpointHook
    (VERY_LOW ) TextLoggerHook

    before_train_epoch: (VERY_HIGH ) StepLrUpdaterHook
    (LOW ) IterTimerHook
    (VERY_LOW ) TextLoggerHook

    before_train_iter: (VERY_HIGH ) StepLrUpdaterHook
    (LOW ) IterTimerHook

    after_train_iter: (ABOVE_NORMAL) OptimizerHook
    (NORMAL ) CheckpointHook
    (LOW ) IterTimerHook
    (VERY_LOW ) TextLoggerHook

    after_train_epoch: (NORMAL ) CheckpointHook
    (VERY_LOW ) TextLoggerHook

    before_val_epoch: (LOW ) IterTimerHook
    (VERY_LOW ) TextLoggerHook

    before_val_iter: (LOW ) IterTimerHook

    after_val_iter: (LOW ) IterTimerHook

    after_val_epoch: (VERY_LOW ) TextLoggerHook

    2021-09-13 17:36:16,813 - mmdet - INFO - workflow: [('train', 1)], max: 24 epochs /home/lxz/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/nn/functional.py:2952: UserWarning: nn.functional.upsample is deprecated. Use nn.functional.interpolate instead. warnings.warn("nn.functional.upsample is deprecated. Use nn.functional.interpolate instead.") /home/lxz/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/nn/functional.py:3063: UserWarning: Default upsampling behavior when mode=bilinear is changed to align_corners=False since 0.4.0. Please specify align_corners=True if the old behavior is desired. See the documentation of nn.Upsample for details. "See the documentation of nn.Upsample for details.".format(mode)) /home/lxz/KunPeng_Liu/AlignPS/mmdet/models/dense_heads/fcos_reid_head_focal_sub_triqueue3_prw.py:306: UserWarning: This overload of nonzero is deprecated: nonzero() Consider using one of the following signatures instead: nonzero(*, bool as_tuple) (Triggered internally at /opt/conda/conda-bld/pytorch_1603729047590/work/torch/csrc/utils/python_arg_parser.cpp:882.) & (flatten_labels < bg_class_ind)).nonzero().reshape(-1) /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [0,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [1,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [2,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [3,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [4,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [5,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [6,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [7,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [8,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [9,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [10,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [11,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [12,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [13,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [14,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [15,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [16,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [17,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [18,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [19,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [20,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [21,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [22,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [23,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [24,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [25,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [26,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [27,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [28,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [29,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [30,0,0] Assertion t >= 0 && t < n_classes failed. /opt/conda/conda-bld/pytorch_1603729047590/work/aten/src/THCUNN/ClassNLLCriterion.cu:187: cunn_ClassNLLCriterion_updateGradInput_kernel: block: [0,0,0], thread: [31,0,0] Assertion t >= 0 && t < n_classes failed. Traceback (most recent call last): File "tools/train.py", line 177, in main() File "tools/train.py", line 173, in main meta=meta) File "/home/lxz/KunPeng_Liu/AlignPS/mmdet/apis/train.py", line 146, in train_detector runner.run(data_loaders, cfg.workflow, cfg.total_epochs) File "/home/lxz/.local/lib/python3.7/site-packages/mmcv/runner/epoch_based_runner.py", line 127, in run epoch_runner(data_loaders[i], **kwargs) File "/home/lxz/.local/lib/python3.7/site-packages/mmcv/runner/epoch_based_runner.py", line 51, in train self.call_hook('after_train_iter') File "/home/lxz/.local/lib/python3.7/site-packages/mmcv/runner/base_runner.py", line 307, in call_hook getattr(hook, fn_name)(self) File "/home/lxz/.local/lib/python3.7/site-packages/mmcv/runner/hooks/optimizer.py", line 35, in after_train_iter runner.outputs['loss'].backward() File "/home/lxz/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/tensor.py", line 221, in backward torch.autograd.backward(self, gradient, retain_graph, create_graph) File "/home/lxz/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/autograd/init.py", line 132, in backward allow_unreachable=True) # allow_unreachable flag File "/home/lxz/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/autograd/function.py", line 89, in apply return self._forward_cls.backward(self, *args) # type: ignore File "/home/lxz/KunPeng_Liu/AlignPS/mmdet/models/roi_heads/bbox_heads/oim_nae_new.py", line 29, in backward if y >= 0: RuntimeError: CUDA error: device-side assert triggered

    When i implementation AlignPS, the program can run sucessfully.

    opened by liudapeng2333 4
  •  I want to hear your opinion. Results for one image

    I want to hear your opinion. Results for one image

    Hi, Do you have any guideline to use final similarity score? I want to know, how does it work when there is no query person in just one image? Even if it is an incorrect result, since the person with the highest score is found?

    Thank you.

    opened by HYERI520 4
  • Can't find any TestG50.mat file in PRW dataset

    Can't find any TestG50.mat file in PRW dataset

    I downloaded the PRW dataset by following your link, then i extracted this file but I can't find any TestG50.mat file in PRW dataset https://github.com/daodaofr/AlignPS/blob/master/configs/fcos/prw_base_focal_labelnorm_sub_ldcn_fg15_wd1-3.py#L74 Can you show me how to get this file?

    opened by chienhust 3
  • oim_tri.py

    oim_tri.py

    thx for your great work! I wonder if Class OIMLossNewFocal in oim_tri.py can be used as a loss to replace [oim.py] (https://github.com/DeanChan/NAE4PS/blob/master/lib/loss/oim.py) and how to used it

    opened by TragedyN 3
  • Why only use focal and triplet loss in AlignPS branch

    Why only use focal and triplet loss in AlignPS branch

    Hi, thanks for your awesome work.

    I noticed that the focal and triplet loss are only used in AlignPS branch, not used in RoI-Align branch. And I don't really understand this setting.

    But I have a explanation. The reason is positive samples in AlignPS branch (FCOS center 3x3 area) is much more than them in RoI-Align branch (positive proposals). So in AlignPS branch, for focal loss, features from neighbor location is similar and contain many easy samples. For triplet loss, it is much easier to build triplets with more samples.

    Looking forward to your reply. Thanks in advance!

    opened by HanGuangXin 2
  • scale alignment

    scale alignment

    1.我理解的对吗?

    1.Am I right to understand that?

    假如同一个人,他的大图和小图分别对应不同层次的特征图。不同的层次特征图肯定不完全一样。同一个人不同大小的图片的特征竟然在不同的特征图上不一样,很可能认为为不是一个人。如果query是个小图,是高层次的特征,gallery是大图,使用低层次的特,由于两个特征来自不同尺度的特征图,因此有可能导致特征向量点乘不正常,从而造成误判。所以你只用了一层特征图。

    If it is the same person, his large picture and small picture correspond to different levels of feature maps. Different hierarchical feature maps are certainly not exactly the same. The characteristics of different size pictures of the same person are different on different feature maps. Probably think not as a person. If the query is a small graph, which is a high-level feature, and the gallery is a large graph, using a low-level feature, because the two features come from a feature map of different scales, it is possible to cause the feature vector point multiplication is not normal, resulting in misjudgment. So you only use one layer of feature maps.

    2.有没有好的方法,来解决因为两个特征来自不同特征图,而导致误判的问题呢,这样就不用删掉其他层次的FPN了,这样的话就能进一步提高了。 很期待你的进一步科研成果。

    2.Is there a good way to solve the problem of misjudgment because the two features come from different feature maps, so that there is no need to delete other levels of FPN, so that it can be further improved.

    I look forward to your further research results

    opened by FeboReigns 2
  • can somebody help me

    can somebody help me

    (open-mmlab) a@b:~/AlignPS$ sh run_test.sh Traceback (most recent call last): File "./tools/test.py", line 13, in from mmdet.apis import multi_gpu_test, single_gpu_test File "/home/a/AlignPS/mmdet/apis/init.py", line 1, in from .inference import (async_inference_detector, inference_detector, File "/home/a/AlignPS/mmdet/apis/inference.py", line 7, in from mmcv.ops import RoIAlign, RoIPool File "/home/a/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/mmcv/ops/init.py", line 3, in from .cc_attention import CrissCrossAttention File "/home/a/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/mmcv/ops/cc_attention.py", line 10, in '_ext', ['ca_forward', 'ca_backward', 'ca_map_forward', 'ca_map_backward']) File "/home/a/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/mmcv/utils/ext_loader.py", line 13, in load_ext assert hasattr(ext, fun), f'{fun} miss in module {name}' AssertionError: ca_forward miss in module _ext Traceback (most recent call last): File "/home/a/anaconda3/envs/open-mmlab/lib/python3.7/runpy.py", line 193, in _run_module_as_main "main", mod_spec) File "/home/a/anaconda3/envs/open-mmlab/lib/python3.7/runpy.py", line 85, in _run_code exec(code, run_globals) File "/home/a/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/distributed/launch.py", line 260, in main() File "/home/a/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/distributed/launch.py", line 256, in main cmd=cmd) subprocess.CalledProcessError: Command '['/home/a/anaconda3/envs/open-mmlab/bin/python', '-u', './tools/test.py', '--local_rank=0', './configs/fcos/fcos_center-normbbox-centeronreg-giou_r50_caffe_fpn_gn-head_dcn_4x4_1x_cuhk_reid_1500_stage1_fpncat_dcn_epoch24_multiscale_focal_x4_bg-2_lconv3dcn_sub_triqueue_dcn0.py', 'work_dirs/fcos_center-normbbox-centeronreg-giou_r50_caffe_fpn_gn-head_dcn_4x4_1x_cuhk_reid_1500_stage1_fpncat_dcn_epoch24_multiscale_focal_x4_bg-2_lconv3dcn_sub_triqueue_dcn0/cuhk_alignps.pth', '--launcher', 'pytorch', '--out', 'work_dirs/fcos_center-normbbox-centeronreg-giou_r50_caffe_fpn_gn-head_dcn_4x4_1x_cuhk_reid_1500_stage1_fpncat_dcn_epoch24_multiscale_focal_x4_bg-2_lconv3dcn_sub_triqueue_dcn0/results_1000.pkl']' returned non-zero exit status 1.

    opened by qslia 2
  • Convert PRW to COCO ?

    Convert PRW to COCO ?

    Hi, I found a directory named convert_datasets where I further found a script to convert CUHK dataset to COCO format, so I wonder, whether there is a script to convert another dataset PRW to COCO format ?

    opened by Wuzimeng 0
  • loss_cls: nan, loss_bbox: nan, loss_centerness: nan, loss_oim: nan, loss: nan, grad_norm: nan

    loss_cls: nan, loss_bbox: nan, loss_centerness: nan, loss_oim: nan, loss: nan, grad_norm: nan

    Hi: I encountered some problems when running the source code: 2022-02-17 14:43:37,319 - mmdet - INFO - Epoch [1][50/2852] lr: 3.987e-04, eta: 2 days, 6:05:49, time: 1.423, data_time: 0.068, memory: 7011, loss_cls: 0.6662, loss_bbox: 0.9846, loss_centerness: 0.6260, loss_oim: 5.6912, loss: 7.9680, grad_norm: 118.5072 2022-02-17 14:44:35,675 - mmdet - INFO - Epoch [1][100/2852] lr: 4.653e-04, eta: 2 days, 1:12:47, time: 1.167, data_time: 0.016, memory: 7363, loss_cls: 0.5805, loss_bbox: 0.8021, loss_centerness: 0.5967, loss_oim: 5.8589, loss: 7.8382, grad_norm: 104.7832 2022-02-17 14:45:52,820 - mmdet - INFO - Epoch [1][150/2852] lr: 5.320e-04, eta: 2 days, 4:19:57, time: 1.543, data_time: 0.017, memory: 7363, loss_cls: 0.6106, loss_bbox: 0.5222, loss_centerness: 0.5782, loss_oim: 6.3371, loss: 8.0482, grad_norm: 108.9552 2022-02-17 14:47:02,130 - mmdet - INFO - Epoch [1][200/2852] lr: 5.987e-04, eta: 2 days, 4:23:37, time: 1.386, data_time: 0.017, memory: 7363, loss_cls: 0.4726, loss_bbox: 0.5253, loss_centerness: 0.6215, loss_oim: 5.8503, loss: 7.4698, grad_norm: 86.1120 2022-02-17 14:48:04,005 - mmdet - INFO - Epoch [1][250/2852] lr: 6.653e-04, eta: 2 days, 3:17:38, time: 1.237, data_time: 0.015, memory: 7363, loss_cls: 0.4858, loss_bbox: 0.4937, loss_centerness: 0.6017, loss_oim: 6.1532, loss: 7.7343, grad_norm: 94.5427 2022-02-17 14:49:06,965 - mmdet - INFO - Epoch [1][300/2852] lr: 7.320e-04, eta: 2 days, 2:41:31, time: 1.259, data_time: 0.017, memory: 7363, loss_cls: 0.5772, loss_bbox: 0.5174, loss_centerness: 0.5998, loss_oim: 6.5115, loss: 8.2059, grad_norm: 92.6229 2022-02-17 14:50:16,175 - mmdet - INFO - Epoch [1][350/2852] lr: 7.987e-04, eta: 2 days, 2:56:04, time: 1.384, data_time: 0.018, memory: 7363, loss_cls: 0.5621, loss_bbox: 0.5079, loss_centerness: 0.6014, loss_oim: 6.6282, loss: 8.2996, grad_norm: 83.7950 2022-02-17 14:51:23,770 - mmdet - INFO - Epoch [1][400/2852] lr: 8.653e-04, eta: 2 days, 2:57:31, time: 1.352, data_time: 0.019, memory: 7363, loss_cls: 0.6787, loss_bbox: 0.5543, loss_centerness: 0.5968, loss_oim: 6.6915, loss: 8.5213, grad_norm: 136.0015 2022-02-17 14:52:28,603 - mmdet - INFO - Epoch [1][450/2852] lr: 9.320e-04, eta: 2 days, 2:44:25, time: 1.297, data_time: 0.016, memory: 7363, loss_cls: 0.6619, loss_bbox: 0.5619, loss_centerness: 0.6255, loss_oim: 8.8492, loss: 10.6984, grad_norm: 40.6709 2022-02-17 14:53:31,481 - mmdet - INFO - Epoch [1][500/2852] lr: 9.987e-04, eta: 2 days, 2:24:51, time: 1.258, data_time: 0.018, memory: 7363, loss_cls: 0.6701, loss_bbox: 0.5613, loss_centerness: 0.6302, loss_oim: 8.8498, loss: 10.7114, grad_norm: 56.6717 2022-02-17 14:54:34,786 - mmdet - INFO - Epoch [1][550/2852] lr: 1.000e-03, eta: 2 days, 2:10:25, time: 1.266, data_time: 0.015, memory: 7363, loss_cls: nan, loss_bbox: nan, loss_centerness: nan, loss_oim: nan, loss: nan, grad_norm: nan 2022-02-17 14:55:39,327 - mmdet - INFO - Epoch [1][600/2852] lr: 1.000e-03, eta: 2 days, 2:02:53, time: 1.291, data_time: 0.018, memory: 7363, loss_cls: nan, loss_bbox: nan, loss_centerness: nan, loss_oim: nan, loss: nan, grad_norm: nan 2022-02-17 14:56:43,064 - mmdet - INFO - Epoch [1][650/2852] lr: 1.000e-03, eta: 2 days, 1:53:32, time: 1.275, data_time: 0.018, memory: 7363, loss_cls: nan, loss_bbox: nan, loss_centerness: nan, loss_oim: nan, loss: nan, grad_norm: nan 2022-02-17 14:57:46,297 - mmdet - INFO - Epoch [1][700/2852] lr: 1.000e-03, eta: 2 days, 1:43:44, time: 1.265, data_time: 0.017, memory: 7363, loss_cls: nan, loss_bbox: nan, loss_centerness: nan, loss_oim: nan, loss: nan, grad_norm: nan All these values become nan,the command I ran was:python tools/train.py configs/fcos/prw_base_focal_labelnorm_sub_ldcn_fg15_wd1-3.py --gpu-ids 6 --no-validate and I did not change the parameters in the configuration file。 Can you help me?

    opened by DJever23 1
  • Running INference error

    Running INference error

    @erjanmx @daodaofr hi thanks for open sourcing the code base, i have a few queries on running the inference

    1. I have downloaded the dataset of Chuk-sys and i have only these folders image

    2. you have mentioned changing the path of the data in the config file "config file L3, L38, L43, L48" i do not have any annotations available with me so how to generate json file

    Please share your thoughts

    opened by abhigoku10 1
  • Why didn't I get the right result?mAP = 0.00%Top- 1 = 0.00%Top- 5 = 0.00%Top-10 = 0.00%

    Why didn't I get the right result?mAP = 0.00%Top- 1 = 0.00%Top- 5 = 0.00%Top-10 = 0.00%

    writing results to work_dirs/fcos_center-normbbox-centeronreg-giou_r50_caffe_fpn_gn-head_dcn_4x4_1x_cuhk_reid_1500_stage1_fpncat_dcn_epoch24_multiscale_focal_x4_bg-2_lconv3dcn_sub_triqueue_dcn0/results_1000.pkl

    threshold: 0.2 mAP = 0.00% Top- 1 = 0.00% Top- 5 = 0.00% Top-10 = 0.00% fcos_center-normbbox-centeronreg-giou_r50_caffe_fpn_gn-head_dcn_4x4_1x_cuhk_reid_1500_stage1_fpncat_dcn_epoch24_multiscale_focal_x4_bg-2_lconv3dcn_sub_triqueue_dcn0

    opened by Troc-star 1
Owner
null
Code for CVPR2021 paper "Learning Salient Boundary Feature for Anchor-free Temporal Action Localization"

AFSD: Learning Salient Boundary Feature for Anchor-free Temporal Action Localization This is an official implementation in PyTorch of AFSD. Our paper

Tencent YouTu Research 146 Dec 24, 2022
A high-performance anchor-free YOLO. Exceeding yolov3~v5 with ONNX, TensorRT, NCNN, and Openvino supported.

YOLOX is an anchor-free version of YOLO, with a simpler design but better performance! It aims to bridge the gap between research and industrial communities. For more details, please refer to our report on Arxiv.

null 7.7k Jan 6, 2023
YOLOX is a high-performance anchor-free YOLO, exceeding yolov3~v5 with ONNX, TensorRT, ncnn, and OpenVINO supported.

Introduction YOLOX is an anchor-free version of YOLO, with a simpler design but better performance! It aims to bridge the gap between research and ind

null 7.7k Jan 3, 2023
DAFNe: A One-Stage Anchor-Free Deep Model for Oriented Object Detection

DAFNe: A One-Stage Anchor-Free Deep Model for Oriented Object Detection Code for our Paper DAFNe: A One-Stage Anchor-Free Deep Model for Oriented Obje

Steven Lang 58 Dec 19, 2022
CenterFace(size of 7.3MB) is a practical anchor-free face detection and alignment method for edge devices.

CenterFace Introduce CenterFace(size of 7.3MB) is a practical anchor-free face detection and alignment method for edge devices. Recent Update 2019.09.

StarClouds 1.2k Dec 21, 2022
Yoloxkeypointsegment - An anchor-free version of YOLO, with a simpler design but better performance

Introduction 关键点版本:已完成 全景分割版本:已完成 实例分割版本:已完成 YOLOX is an anchor-free version of

null 23 Oct 20, 2022
[CVPR-2021] UnrealPerson: An adaptive pipeline for costless person re-identification

UnrealPerson: An Adaptive Pipeline for Costless Person Re-identification In our paper (arxiv), we propose a novel pipeline, UnrealPerson, that decreas

ZhangTianyu 70 Oct 10, 2022
[IJCAI-2021] A benchmark of data-free knowledge distillation from paper "Contrastive Model Inversion for Data-Free Knowledge Distillation"

DataFree A benchmark of data-free knowledge distillation from paper "Contrastive Model Inversion for Data-Free Knowledge Distillation" Authors: Gongfa

ZJU-VIPA 47 Jan 9, 2023
Code for "Contextual Non-Local Alignment over Full-Scale Representation for Text-Based Person Search"

Contextual Non-Local Alignment over Full-Scale Representation for Text-Based Person Search This is an implementation for our paper Contextual Non-Loca

Tencent YouTu Research 50 Dec 3, 2022
Deep Image Search is an AI-based image search engine that includes deep transfor learning features Extraction and tree-based vectorized search.

Deep Image Search - AI-Based Image Search Engine Deep Image Search is an AI-based image search engine that includes deep transfer learning features Ex

null 139 Jan 1, 2023
Code repo for realtime multi-person pose estimation in CVPR'17 (Oral)

Realtime Multi-Person Pose Estimation By Zhe Cao, Tomas Simon, Shih-En Wei, Yaser Sheikh. Introduction Code repo for winning 2016 MSCOCO Keypoints Cha

Zhe Cao 4.9k Dec 31, 2022
Codes for TIM2021 paper "Anchor-Based Spatio-Temporal Attention 3-D Convolutional Networks for Dynamic 3-D Point Cloud Sequences"

Codes for TIM2021 paper "Anchor-Based Spatio-Temporal Attention 3-D Convolutional Networks for Dynamic 3-D Point Cloud Sequences"

Intelligent Robotics and Machine Vision Lab 4 Jul 19, 2022
Official pytorch implementation of paper "Inception Convolution with Efficient Dilation Search" (CVPR 2021 Oral).

IC-Conv This repository is an official implementation of the paper Inception Convolution with Efficient Dilation Search. Getting Started Download Imag

Jie Liu 111 Dec 31, 2022
Code for "LoFTR: Detector-Free Local Feature Matching with Transformers", CVPR 2021

LoFTR: Detector-Free Local Feature Matching with Transformers Project Page | Paper LoFTR: Detector-Free Local Feature Matching with Transformers Jiami

ZJU3DV 1.4k Jan 4, 2023
This repo contains the code and data used in the paper "Wizard of Search Engine: Access to Information Through Conversations with Search Engines"

Wizard of Search Engine: Access to Information Through Conversations with Search Engines by Pengjie Ren, Zhongkun Liu, Xiaomeng Song, Hongtao Tian, Zh

null 19 Oct 27, 2022
Robust Partial Matching for Person Search in the Wild

APNet for Person Search Introduction This is the code of Robust Partial Matching for Person Search in the Wild accepted in CVPR2020. The Align-to-Part

Yingji Zhong 36 Dec 18, 2022
CM-NAS: Cross-Modality Neural Architecture Search for Visible-Infrared Person Re-Identification (ICCV2021)

CM-NAS Official Pytorch code of paper CM-NAS: Cross-Modality Neural Architecture Search for Visible-Infrared Person Re-Identification in ICCV2021. Vis

JDAI-CV 40 Nov 25, 2022
Joint Detection and Identification Feature Learning for Person Search

Person Search Project This repository hosts the code for our paper Joint Detection and Identification Feature Learning for Person Search. The code is

null 712 Dec 17, 2022
PSTR: End-to-End One-Step Person Search With Transformers (CVPR2022)

PSTR (CVPR2022) This code is an official implementation of "PSTR: End-to-End One-Step Person Search With Transformers (CVPR2022)". End-to-end one-step

Jiale Cao 28 Dec 13, 2022