From 12d1b5f9a9ce23b7f86813efe3e66b7377cb0db5 Mon Sep 17 00:00:00 2001 From: zhangxinyu-xyz <541010829@qq.com> Date: Mon, 18 Apr 2022 13:23:47 +0800 Subject: [PATCH] Release the inference code of ISE (ReID-CVPR2022) --- docs/en/algorithm_introduction/ISE_ReID_en.md | 60 +++++ docs/images/ISE_pipeline.png | Bin 0 -> 181732 bytes docs/zh_CN/algorithm_introduction/ISE_ReID.md | 62 +++++ ppcls/arch/gears/__init__.py | 4 +- ppcls/arch/gears/bnneck.py | 40 ++++ ppcls/configs/ResNet50_UReID_infer.yaml | 152 ++++++++++++ ppcls/data/__init__.py | 1 + ppcls/data/dataloader/__init__.py | 1 + ppcls/data/dataloader/person_dataset.py | 217 ++++++++++++++++++ 9 files changed, 536 insertions(+), 1 deletion(-) create mode 100644 docs/en/algorithm_introduction/ISE_ReID_en.md create mode 100644 docs/images/ISE_pipeline.png create mode 100644 docs/zh_CN/algorithm_introduction/ISE_ReID.md create mode 100644 ppcls/arch/gears/bnneck.py create mode 100644 ppcls/configs/ResNet50_UReID_infer.yaml create mode 100644 ppcls/data/dataloader/person_dataset.py diff --git a/docs/en/algorithm_introduction/ISE_ReID_en.md b/docs/en/algorithm_introduction/ISE_ReID_en.md new file mode 100644 index 00000000..e509a520 --- /dev/null +++ b/docs/en/algorithm_introduction/ISE_ReID_en.md @@ -0,0 +1,60 @@ +# ISE +--- +## Catalogue + +- [1. Introduction](#1) +- [2. Performance on Market1501 and MSMT17](#2) +- [3. Test](#3) +- [4. Reference](#4) + + +## 1. Introduction + +ISE (Implicit Sample Extension) is a simple, efficient, and effective learning algorithm for unsupervised person Re-ID. ISE generates what we call support samples around the cluster boundaries. The sample generation process in ISE depends on two critical mechanisms, i.e., a progressive linear interpolation strategy and a label-preserving loss function. The generated support samples from ISE provide complementary information, which can nicely handle the "sub and mixed" clustering errors. ISE achieves superior performance than other unsupervised methods on Market1501 and MSMT17 datasets. + +> [**Implicit Sample Extension for Unsupervised Person Re-Identification**](https://arxiv.org/abs/2204.06892v1)
+> Xinyu Zhang, Dongdong Li, Zhigang Wang, Jian Wang, Errui Ding, Javen Qinfeng Shi, Zhaoxiang Zhang, Jingdong Wang
+> CVPR2022 + +![image](../../images/ISE_ReID/ISE_pipeline.png) + + +## 2. Performance on Market1501 and MSMT17 + +The main results on Market1501 (M) and MSMT17 (MS). PIL denotes the progressive linear interpolation strategy. LP represents the label-preserving loss function. + +| Methods | M | Link | MS | Link | +| --- | -- | -- | -- | - | +| Baseline | 82.5 (92.5) | - | 30.1 (58.6) | - | +| ISE (+PIL) | 83.9 (93.9) | - | 33.5 (63.9) | - | +| ISE (+LP) | 83.6 (92.7) | - | 31.4 (59.9) | - | +| ISE (Ours) (+PIL+LP) | **84.7 (94.0)** | [ISE_M](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/ISE_M_model.pdparams) | **35.0 (64.7)** | [ISE_MS](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/ISE_MS_model.pdparams) | + + +## 3. Test +The training code is coming soon. We first release the test code with the pretrained models. + +**Test:** You can simply run the following script for the evaluation. + +``` +python tools/eval.py -c ./ppcls/configs/Person/ResNet50_UReID_infer.yaml +``` +**Steps:** +1. Download the pretrained model first, and put the model into: ```./pd_model_trace/ISE/```. +2. Change the dataset name in: ```./ppcls/configs/Person/ResNet50_UReID_infer.yaml```. +3. Run the above script. + + + +## 4. Reference + +If you find ISE useful in your research, please kindly consider citing our paper: + +``` +@inproceedings{zhang2022Implicit, + title={Implicit Sample Extension for Unsupervised Person Re-Identification}, + author={Xinyu Zhang, Dongdong Li, Zhigang Wang, Jian Wang, Errui Ding, Javen Qinfeng Shi, Zhaoxiang Zhang, Jingdong Wang}, + booktitle={IEEE Conference on Computer Vision and Pattern Recognition (CVPR)}, + year={2022} +} +``` diff --git a/docs/images/ISE_pipeline.png b/docs/images/ISE_pipeline.png new file mode 100644 index 0000000000000000000000000000000000000000..665a7e442a972a9d36f60c4e04a8a376bb270612 GIT binary patch literal 181732 zcmeFacRbeZ`#;VVSq)nu#AQUb>~TdIWi^m3BQrwTqpKm3P1!V6LkM7>D`{H%I&ht2r^EjTz^LU=GcYvn4(sojMQan7o?JCNL zj^p8xP2u5fks;m+pZMdq=;Ptxb66`VXxb_$DLB|UIGs3m+RWmhxr3?2aV2>{2?=pL zJgzV^6O-f0`?=norZh2mSIx7J)XDX@zyFQnCcb5*uS$uoJl;kbQ1O;97$0AD8wT(0 zv6p$a+itMTXYsw;uj*cSk%v7;e7Eune%DaXr8|^cx0Y>V(a$fuhxcX#KkIOK*2^J6 z78i;-EM|t5Tx!oNS$yp+r#tXdNl2WwX362Tc&V6(QoZ9VK2NNV_r|Z440S1Z-<--L zQkD+eU3z+YR^fd_my*#rcL)wi_0pZBwRm6|$t8|b;MRI6%&)7V^zvQlJAW)b^$7XL zq%AMMR&cp&-Rp-(oGC%MZQJtE-MdaLv%FFD*u9IkPe5QyEaL_rcV9tHQ^629MdV)N9M>JgVb<{IJU-@+K?m{jMk*o~T<&M~NvK*}9JP42RvS zlJo44>QzSz$3#d7_fEGZ)jED^@f^4^cX zWvaWN^6&3OPkHYA*H*>DN)s#h)ov-^Bl*|&UcBNn`fpZn%`%}xuo~`|CiZ`SZ)n}9 z%zs$^2^N;yay$D9(Et8k%K0Lq|KO`k1n8+=e8XG+-sO@lya^_IYeVv#dq3&C75pp5 zbEoTTd*S-b>cgFu?o+vTx>boXFIpBp?){ZrukzMqTh`82S;}U=WEoWJTj`0=F#T2; zb>~goRC}w*882NDj=qI>Pwb{>9nclt&uB`t<ngIzB>XtUfY11>aW(|myV15f^6NOyW0Q3LA4>UWp^Eq z`3o!l=0`n>FkXAc9Qj{Z@;A4v8!C%3v@VI}R^{Iq^B0q45rgqMcR!^0tNrlnuMLg5 zcx5^5`ALpneC^*%A)f-q%b@gRef3;hRw2!io`5x2SeH^%(MV9ePe z&hhX?{rgaku}1<{*)g79+wiYU$HD`yuj}~euQvK`?Cit_;}r|m+xu7F|Lc2oNx=25 zAGP=o{_wx8`Vaj1e_Qn*_~g6)ZPi~yp+9@q|F-Hs$n5`LWmR71h8vsl1J`-1R;u>f z)Qn=izSGx3AO{`he0uKdE9K>&9155RW`v-?b(E>%^{=qnYR2Na014r~?CUb6jnLic zOW5w-o6zi7zQ_HidvLj7SLQQTt|u+_a1t`7;Qc;r1<^dTv)fX``49HwpKYB*_f+0@ z=1k4c&o!q|`VK`GhH{#W4$JM>f=p^J$;p!^58dK3B;AM3gaIZ$B=}yFz(B>J%Jn#! z@aV=o{(NDT2D!S7R5EEJS7Rthhl&?Q94D*A=uY>@Z-5RiEv!lehe{v+$BF}dze`%l z>ex!j5b^&oOJb227zxMSj{^T5a6HrpK-VT3{BvP`+Ul=|g5{tJt?MvH?W^U&iM$ir?Ad&!+zQ&2{F01>LH1og> z3(hkB2SlgF0amK8I`AKGqH=KVen|Nm>V>WS*U|0mhTeDB!Ei_tRMj3U~V#$DbRxMc;&+OYITc24| zJ<-cKk|cG$kKC}}e8A(!kEc-3Y_OqLA=Y8o?&A{vE#yxtcbp z_cwV1dy{-+&s4|K)JjjP7S47Bjt`_}JP24+sV@%Nh$R?j((}Wu2V_^~YEvqfiae&T z8@jZxd;A#L1C*abjlk65i+M zOb!a}NIPHok{)?yU(TV)hbX^60zmHuXWt?ByjwhDhtrxo7RNt3~@OA67W$*|*&} zdW-J^P@Yryj~{cl=GfAmZG9H->50B26AcXwgPlI%`V_Gfl(PtR`Sv(BV@@|B@Je*D-^x(MIl8v9Ppb7n~LK)CrLn&h!ghS7%? zuA|Ksw+!o>^zHL45_&hmxa3EK;XNz2jC~~5mtA^cD7$~M(0x+KkW=mlM|ng!jgCPW z$K+^st*m1wmZ+?$cqXS04Dlcx1;fcgh^U~O1wYs7H&_D0J=Sa%@;1S>Jw~?OYqEO! zF`8#^C%p*QWM4;#Z$ag<2hZo9tpyehR7FB^IGIL7`RQwWZU%Hc$!kBtZ`y*T!|Kj9JLSIU&j5xlxZD`84ZD$FVIPDcuCR-n|NBVs&< z0eYPENw*w~^5IeNT0^0kzsFM6PW6{}%I<11_Vrec7Z=QCwcf6ls{O=tW$A~84x0=Z z*0EsQi#*FUeCHdYWjtM^=XxR>Kj~T? zhJ7d0%fT~ieC{P-W}D0Bw_?TPL2d(&QiRH>VJw=!&Xp*>65d#Z-(8Rg((+!^Fz&o&IZ_x31RX{r}`T>`3lEg zxqXY$sV6hqDLdN<{fxtvVQHwNl~Z7JRx?~KHznCrfP)l`Dy7*eft=WDb9eUlDTRJ z(`$QN-o=Y}&rdb`t}L0AEX@QyI+1c_h6mQk2MqGwp(f~WOOt!3?y{i31eex*K2vv@ z-(DgltM^u6UCAq18jcpWRA2nM)7O7_X`z92-Gnel3KZnIAS!k7y@{S9`Omw9rA&Jh zTx*_*x=-}%5;9k2^qKuSK0laYi5rS6G8D`7pva9i{>{Zb)XHqRT>ZV=*@`Qt*wGL=SHJ{BJjNw1=4Ge7rm| zhb4OBshE9cPw(*jNR5xW$_JiXXQ}Mi z&mckS1N6+Qd^VB~EVC1TsDWx++PjsZ?AkJ55Ezn{hAbP@Z}J;6(HXg&j%}86?0WOX zHSI8pfb=-Tn}h0s$(xq-mxvByPdHNaqrLBAs*Ztk^??|_lCi7&hqB~UXj>tQ2`|uW z`T{EtEG@6z8zj0RDLvk?Z1;!9TB*+(#5%l$cS!Vvig)?5b+x&6oSnx^0kdHQF4`Mq z-1~QyNVX>YUYnG}feM1i9{wiT{PXz+weIkvd@4HM?=CAv6n<z||dV;vR0Y(l5t=QDjjW*e&H^=k<-pxB@*r^z`+PaRjmSeYkt~&K=eh zIzO`m9=40J4=|u=tjIpT=be`xrY$Blb`UYSv25M8iyUzf$L)&G2#C`lPxw3O=h>Id35GxCg&-)zFeh7F32n1!%=D~vMV>#RrQMwv z-Fw2Ur+d^5AuFjcr|M+bD^m?Xj={iQBC`^@^0&+xJ?mJA?;_hwt8Iqc^hceBfwqDR zfr#@W@XjwjeaEH&9_FiipceOh?t5H!x!khj8FU5rl1lhWWfYI_0w54BFW5;}<&;=A z8Ryr2y&DV3u&nO30#aS{7aO{^9eALT!~}DyX*{;c5tF9~0a*< z`p$#p%pv_s%x%e&6IzcZ?O(j5QY24>xYyQGP zZc4MzZ8i+T>+)g*#CBT- z@9|?BHobF*vY}GnNI-%UcUOPHymo??OuNsYG;zD(ncL z;nBW_zl}k3fA~i+u@>`)MS^=eKNo_4RFP%Q=Nv%slz>I%w2ITSgT^cLM0?I_7HFs& zzEq9C5U1%R_fgG5mD}w0^(x&bDRC)?%5qrCM0XCzC@B*RZaWmc2A|}WLEewaZ3HJ5 z$&^zWxz(Ap#X#+sR20tZ==Y8F-3@t=diE1~k~4LR)3?JKe49<*MRJo%-)9v-DoZ{B zS*Q}s0LcnkR7TFWHWkzU_~NYb%(~&hNk3~wf+On45P^C)YJYs2KkVK)+UNte+UStf z^aAefhcEdSTOL~398*q}lxDeh1j&ug$^Gb58L>BeuihE9WrzPZDI5l;3cY_^k zL{1rB@^#X(gjR~sh0VAHkmMY}W1T10cN%-=%t`LgOq7ikKOT^q?Yw;6iYP5#U>b06Se3C2)miDE265u5%X8>>K3cqB+WhqN_}5rMECQj# zzek(Zk5U3>ATgwJ0wF38GutkoM)(E;D0A`!K5T`S7RT5~>_=kusb2f~aPwv09m-&3 z>h<~9^BfWY`dy}4ytZvOrIwafKAG}Scq*3@wo?1a9nla6*^P}xDKFgCy zVuxK@(Fj04oK)B0pD7iEB!K~PMB_#E`r1wnW|b&*TWy}mPGh2*Z7_-Ei=~!7KJ!0z z>G0l?!{{?!$z%5I&S93-(1B$n8S<);$n4&2+4C@`OsrvYwwuj;b46nH9FukZ`%5Bb zMu)<2MUUev%S+u*odug`N-=DV87}BqLk*~Q*2eNER=&jXnsAcdFc%3BoQ*TF+`{w*pR#3H0lI9JV00ywk&6 z^8IA4{&O?@88V5S>O_(fLI6A|X*m;j|697@3(;9Gn#~wTQ=dgQY{htGUdOPcTB)I@3d1%ab?Q-pY@OJ70lJ9TdOp9mgImOAkw!OE*RDvICY!mIoOKxT=LJnt65a->?001Nep^aIXw3K0R$ z4mgGXvdAWfpjU~-t)cKUv^`6M8wPi`HQ7x z;7T3hVwT9vFl+?qSus@Yqu&}=g%l|%`j5m^bRtY@lYz6EN^ryG`s`f>uDF0=%9#;? zhAfsz-Y(mA3!&$y2XA$hPN^r~Kx+Q+9tI@nlO6^qx?Oce{Ev&cX`Q@?zd$ML*q|nM z-w*

=0z61g1$Sa@|`Rgy{A5mzoF7Nly#{j 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

5vWeC*`ESZK0Gx09kQqfa}DO^-2 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 +## 1. 介绍 + +ISE (Implicit Sample Extension)是一种简单、高效、有效的无监督行人再识别学习算法。ISE在聚类蔟边界周围生成样本,我们称之为支持样本。ISE的样本生成过程依赖于两个关键机制,即渐进线性插值策略(progressive linear interpolation)和标签保留的损失函数(label-preserving loss function)。ISE生成的支持样本提供了额外补充信息,可以很好地处理“子类和混合”的聚类错误。ISE在Market1501和MSMT17数据集上取得了优于其他无监督方法的性能。 + +> [**Implicit Sample Extension for Unsupervised Person Re-Identification**](https://arxiv.org/abs/2204.06892v1)
+> Xinyu Zhang, Dongdong Li, Zhigang Wang, Jian Wang, Errui Ding, Javen Qinfeng Shi, Zhaoxiang Zhang, Jingdong Wang
+> CVPR2022 + +![image](../../images/ISE_ReID/ISE_pipeline.png) + + + +## 2. 在Market1501和MSMT17上的结果 + +在Market1501和MSMT17上的主要结果。“PIL”表示渐进线性插值策略。“LP”表示标签保留的损失函数。 + +| 方法 | Market1501 | 下载链接 | MSMT17 | 下载链接 | +| --- | -- | -- | -- | - | +| Baseline | 82.5 (92.5) | - | 30.1 (58.6) | - | +| ISE (+PIL) | 83.9 (93.9) | - | 33.5 (63.9) | - | +| ISE (+LP) | 83.6 (92.7) | - | 31.4 (59.9) | - | +| ISE (Ours) (+PIL+LP) | **84.7 (94.0)** | [ISE_M](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/ISE_M_model.pdparams) | **35.0 (64.7)** | [ISE_MS](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/ISE_MS_model.pdparams) | + + + +## 3. 测试 +我们很快会提供训练代码,首先我们提供了测试代码和模型。 + +**测试:** 可简使用如下脚本进行模型评估。 + +``` +python tools/eval.py -c ./ppcls/configs/Person/ResNet50_UReID_infer.yaml +``` +**步骤:** +1. 首先下载模型,并放入:```./pd_model_trace/ISE/```。 +2. 改变```./ppcls/configs/Person/ResNet50_UReID_infer.yaml```中的数据集名称。 +3. 运行上述脚本。 + + + +## 4. 引用 + +如果ISE在您的研究中有启发,请考虑引用我们的论文: + +``` +@inproceedings{zhang2022Implicit, + title={Implicit Sample Extension for Unsupervised Person Re-Identification}, + author={Xinyu Zhang, Dongdong Li, Zhigang Wang, Jian Wang, Errui Ding, Javen Qinfeng Shi, Zhaoxiang Zhang, Jingdong Wang}, + booktitle={IEEE Conference on Computer Vision and Pattern Recognition (CVPR)}, + year={2022} +} +``` diff --git a/ppcls/arch/gears/__init__.py b/ppcls/arch/gears/__init__.py index 7c96e881..8757aa4a 100644 --- a/ppcls/arch/gears/__init__.py +++ b/ppcls/arch/gears/__init__.py @@ -18,13 +18,15 @@ from .circlemargin import CircleMargin from .fc import FC from .vehicle_neck import VehicleNeck from paddle.nn import Tanh +from .bnneck import BNNeck __all__ = ['build_gear'] def build_gear(config): support_dict = [ - 'ArcMargin', 'CosMargin', 'CircleMargin', 'FC', 'VehicleNeck', 'Tanh' + 'ArcMargin', 'CosMargin', 'CircleMargin', 'FC', 'VehicleNeck', 'Tanh', + 'BNNeck' ] module_name = config.pop('name') assert module_name in support_dict, Exception( diff --git a/ppcls/arch/gears/bnneck.py b/ppcls/arch/gears/bnneck.py new file mode 100644 index 00000000..d4d867c6 --- /dev/null +++ b/ppcls/arch/gears/bnneck.py @@ -0,0 +1,40 @@ +# Copyright (c) 2021 PaddlePaddle Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import absolute_import, division, print_function + +import paddle +import paddle.nn as nn + + +class BNNeck(nn.Layer): + def __init__(self, num_features): + super().__init__() + weight_attr = paddle.ParamAttr( + initializer=paddle.nn.initializer.Constant(value=1.0)) + bias_attr = paddle.ParamAttr( + initializer=paddle.nn.initializer.Constant(value=0.0), + trainable=False) + self.feat_bn = nn.BatchNorm1D( + num_features, + momentum=0.9, + epsilon=1e-05, + weight_attr=weight_attr, + bias_attr=bias_attr) + self.flatten = nn.Flatten() + + def forward(self, x): + x = self.flatten(x) + x = self.feat_bn(x) + return x diff --git a/ppcls/configs/ResNet50_UReID_infer.yaml b/ppcls/configs/ResNet50_UReID_infer.yaml new file mode 100644 index 00000000..750851d7 --- /dev/null +++ b/ppcls/configs/ResNet50_UReID_infer.yaml @@ -0,0 +1,152 @@ +# global configs +Global: + checkpoints: null + pretrained_model: null + # pretrained_model: "./pd_model_trace/ISE/ISE_M_model" # pretrained ISE model for Market1501 + # pretrained_model: "./pd_model_trace/ISE/ISE_MS_model" # pretrained ISE model for MSMT17 + output_dir: "./output/" + device: "gpu" + save_interval: 1 + eval_during_train: True + eval_interval: 1 + epochs: 120 + print_batch_step: 10 + use_visualdl: False + # used for static mode and model export + image_shape: [3, 128, 256] + save_inference_dir: "./inference" + eval_mode: "retrieval" + +# model architecture +Arch: + name: "RecModel" + infer_output_key: "features" + infer_add_softmax: False + Backbone: + name: "ResNet50_last_stage_stride1" + pretrained: True + BackboneStopLayer: + name: "avg_pool" + Neck: + name: "BNNeck" + num_features: 2048 + Head: + name: "FC" + embedding_size: 2048 + class_num: 751 + +# loss function config for traing/eval process +Loss: + Train: + - CELoss: + weight: 1.0 + - SupConLoss: + weight: 1.0 + views: 2 + Eval: + - CELoss: + weight: 1.0 + +Optimizer: + name: Momentum + momentum: 0.9 + lr: + name: Cosine + learning_rate: 0.04 + regularizer: + name: 'L2' + coeff: 0.0005 + +# data loader for train and eval +DataLoader: + Train: + dataset: + name: "Market1501" # ["Market1501", "MSMT17"] + image_root: "./dataset" + cls_label_path: "bounding_box_train" + transform_ops: + - ResizeImage: + size: [128, 256] + interpolation: 'bicubic' + backend: 'pil' + - RandFlipImage: + flip_code: 1 + - Pad: + padding: 10 + fill: 0 + - RandomCrop: + size: [128, 256] + pad_if_needed: False + - NormalizeImage: + mean: [0.485, 0.456, 0.406] + std: [0.229, 0.224, 0.225] + order: '' + - RandomErasing: + EPSILON: 0.5 + sl: 0.02 + sh: 0.4 + r1: 0.3 + mean: [0.485, 0.456, 0.406] + + sampler: + name: PKSampler + batch_size: 16 + sample_per_id: 4 + drop_last: True + shuffle: True + loader: + num_workers: 6 + use_shared_memory: True + Eval: + Query: + dataset: + name: "Market1501" # ["Market1501", "MSMT17"] + image_root: "./dataset" + cls_label_path: "query" + transform_ops: + - ResizeImage: + size: [128, 256] + interpolation: 'bicubic' + backend: 'pil' + - NormalizeImage: + mean: [0.485, 0.456, 0.406] + std: [0.229, 0.224, 0.225] + order: '' + sampler: + name: DistributedBatchSampler + batch_size: 64 + drop_last: False + shuffle: False + loader: + num_workers: 6 + use_shared_memory: True + + Gallery: + dataset: + name: "Market1501" # ["Market1501", "MSMT17"] + image_root: "./dataset" + cls_label_path: "bounding_box_test" + transform_ops: + - ResizeImage: + size: [128, 256] + interpolation: 'bicubic' + backend: 'pil' + - NormalizeImage: + mean: [0.485, 0.456, 0.406] + std: [0.229, 0.224, 0.225] + order: '' + sampler: + name: DistributedBatchSampler + batch_size: 64 + drop_last: False + shuffle: False + loader: + num_workers: 6 + use_shared_memory: True + +Metric: + Eval: + - Recallk: + topk: [1, 5] + - mAP: {} + diff --git a/ppcls/data/__init__.py b/ppcls/data/__init__.py index cffac812..9722bfb8 100644 --- a/ppcls/data/__init__.py +++ b/ppcls/data/__init__.py @@ -28,6 +28,7 @@ from ppcls.data.dataloader.vehicle_dataset import CompCars, VeriWild from ppcls.data.dataloader.logo_dataset import LogoDataset from ppcls.data.dataloader.icartoon_dataset import ICartoonDataset from ppcls.data.dataloader.mix_dataset import MixDataset +from ppcls.data.dataloader.person_dataset import Market1501, MSMT17 # sampler from ppcls.data.dataloader.DistributedRandomIdentitySampler import DistributedRandomIdentitySampler diff --git a/ppcls/data/dataloader/__init__.py b/ppcls/data/dataloader/__init__.py index 8f819210..271a8f5c 100644 --- a/ppcls/data/dataloader/__init__.py +++ b/ppcls/data/dataloader/__init__.py @@ -7,3 +7,4 @@ from ppcls.data.dataloader.icartoon_dataset import ICartoonDataset from ppcls.data.dataloader.mix_dataset import MixDataset from ppcls.data.dataloader.mix_sampler import MixSampler from ppcls.data.dataloader.pk_sampler import PKSampler +from ppcls.data.dataloader.person_dataset import Market1501, MSMT17 diff --git a/ppcls/data/dataloader/person_dataset.py b/ppcls/data/dataloader/person_dataset.py new file mode 100644 index 00000000..2812b2d9 --- /dev/null +++ b/ppcls/data/dataloader/person_dataset.py @@ -0,0 +1,217 @@ +# Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import print_function + +import numpy as np +import paddle +from paddle.io import Dataset +import os +import cv2 + +from ppcls.data import preprocess +from ppcls.data.preprocess import transform +from ppcls.utils import logger +from .common_dataset import create_operators +import os.path as osp +import glob +import re +from PIL import Image + + +class Market1501(Dataset): + """ + Market1501 + Reference: + Zheng et al. Scalable Person Re-identification: A Benchmark. ICCV 2015. + URL: http://www.liangzheng.org/Project/project_reid.html + + Dataset statistics: + # identities: 1501 (+1 for background) + # images: 12936 (train) + 3368 (query) + 15913 (gallery) + """ + _dataset_dir = 'market1501/Market-1501-v15.09.15' + + def __init__(self, image_root, cls_label_path, transform_ops=None): + self._img_root = image_root + self._cls_path = cls_label_path # the sub folder in the dataset + self._dataset_dir = osp.join(image_root, self._dataset_dir, + self._cls_path) + self._check_before_run() + if transform_ops: + self._transform_ops = create_operators(transform_ops) + self._dtype = paddle.get_default_dtype() + self._load_anno(relabel=True if 'train' in self._cls_path else False) + + def _check_before_run(self): + """Check if the file is available before going deeper""" + if not osp.exists(self._dataset_dir): + raise RuntimeError("'{}' is not available".format( + self._dataset_dir)) + + def _load_anno(self, relabel=False): + img_paths = glob.glob(osp.join(self._dataset_dir, '*.jpg')) + pattern = re.compile(r'([-\d]+)_c(\d)') + + self.images = [] + self.labels = [] + self.cameras = [] + pid_container = set() + + for img_path in sorted(img_paths): + pid, _ = map(int, pattern.search(img_path).groups()) + if pid == -1: continue # junk images are just ignored + pid_container.add(pid) + pid2label = {pid: label for label, pid in enumerate(pid_container)} + + for img_path in sorted(img_paths): + pid, camid = map(int, pattern.search(img_path).groups()) + if pid == -1: continue # junk images are just ignored + assert 0 <= pid <= 1501 # pid == 0 means background + assert 1 <= camid <= 6 + camid -= 1 # index starts from 0 + if relabel: pid = pid2label[pid] + self.images.append(img_path) + self.labels.append(pid) + self.cameras.append(camid) + + self.num_pids, self.num_imgs, self.num_cams = get_imagedata_info( + self.images, self.labels, self.cameras, subfolder=self._cls_path) + + def __getitem__(self, idx): + try: + img = Image.open(self.images[idx]).convert('RGB') + img = np.array(img, dtype="float32").astype(np.uint8) + if self._transform_ops: + img = transform(img, self._transform_ops) + img = img.transpose((2, 0, 1)) + return (img, self.labels[idx], self.cameras[idx]) + except Exception as ex: + logger.error("Exception occured when parse line: {} with msg: {}". + format(self.images[idx], ex)) + rnd_idx = np.random.randint(self.__len__()) + return self.__getitem__(rnd_idx) + + def __len__(self): + return len(self.images) + + @property + def class_num(self): + return len(set(self.labels)) + + +class MSMT17(Dataset): + """ + MSMT17 + + Reference: + Wei et al. Person Transfer GAN to Bridge Domain Gap for Person Re-Identification. CVPR 2018. + + URL: http://www.pkuvmc.com/publications/msmt17.html + + Dataset statistics: + # identities: 4101 + # images: 32621 (train) + 11659 (query) + 82161 (gallery) + # cameras: 15 + """ + _dataset_dir = 'msmt17/MSMT17_V1' + + def __init__(self, image_root, cls_label_path, transform_ops=None): + self._img_root = image_root + self._cls_path = cls_label_path # the sub folder in the dataset + self._dataset_dir = osp.join(image_root, self._dataset_dir, + self._cls_path) + self._check_before_run() + if transform_ops: + self._transform_ops = create_operators(transform_ops) + self._dtype = paddle.get_default_dtype() + self._load_anno(relabel=True if 'train' in self._cls_path else False) + + def _check_before_run(self): + """Check if the file is available before going deeper""" + if not osp.exists(self._dataset_dir): + raise RuntimeError("'{}' is not available".format( + self._dataset_dir)) + + def _load_anno(self, relabel=False): + img_paths = glob.glob(osp.join(self._dataset_dir, '*.jpg')) + pattern = re.compile(r'([-\d]+)_c(\d+)') + + self.images = [] + self.labels = [] + self.cameras = [] + pid_container = set() + + for img_path in img_paths: + pid, _ = map(int, pattern.search(img_path).groups()) + if pid == -1: + continue # junk images are just ignored + pid_container.add(pid) + pid2label = {pid: label for label, pid in enumerate(pid_container)} + + for img_path in img_paths: + pid, camid = map(int, pattern.search(img_path).groups()) + if pid == -1: + continue # junk images are just ignored + assert 1 <= camid <= 15 + camid -= 1 # index starts from 0 + if relabel: + pid = pid2label[pid] + self.images.append(img_path) + self.labels.append(pid) + self.cameras.append(camid) + + self.num_pids, self.num_imgs, self.num_cams = get_imagedata_info( + self.images, self.labels, self.cameras, subfolder=self._cls_path) + + def __getitem__(self, idx): + try: + img = Image.open(self.images[idx]).convert('RGB') + img = np.array(img, dtype="float32").astype(np.uint8) + if self._transform_ops: + img = transform(img, self._transform_ops) + img = img.transpose((2, 0, 1)) + return (img, self.labels[idx], self.cameras[idx]) + except Exception as ex: + logger.error("Exception occured when parse line: {} with msg: {}". + format(self.images[idx], ex)) + rnd_idx = np.random.randint(self.__len__()) + return self.__getitem__(rnd_idx) + + def __len__(self): + return len(self.images) + + @property + def class_num(self): + return len(set(self.labels)) + + +def get_imagedata_info(data, labels, cameras, subfolder='train'): + pids, cams = [], [] + for _, pid, camid in zip(data, labels, cameras): + pids += [pid] + cams += [camid] + pids = set(pids) + cams = set(cams) + num_pids = len(pids) + num_cams = len(cams) + num_imgs = len(data) + print("Dataset statistics:") + print(" ----------------------------------------") + print(" subset | # ids | # images | # cameras") + print(" ----------------------------------------") + print(" {} | {:5d} | {:8d} | {:9d}".format(subfolder, num_pids, + num_imgs, num_cams)) + print(" ----------------------------------------") + return num_pids, num_imgs, num_cams -- GitLab