人員重識別 ReID(Person Re-identification)

在跨鏡頭的狀況下,依人行特徵(衣服、包包、頭像等)找出相同人物的方法

Ubuntu 環境建置請參考:

使用code:

https://github.com/michuanhaohao/reid-strong-baseline

實作

取得 source code

git clone https://github.com/michuanhaohao/reid-strong-baseline.git

安裝 virtualenv

pip3 install virtualenv

建立虛擬環境

cd reid-strong-baseline
virtualenv reidEnv
source ./reidEnv/bin/activate

成功進入虛擬環境

安裝套件

pip3 install --upgrade pip
pip3 install torch torchvision torchaudio 
pip3 install pytorch-ignite
pip3 install yacs

安裝完成使用 pip3 list 檢查

準備數據集

測試時官方連結失效,另外搜尋了該數據集並分享

下載後解壓縮至 data 底下

data
    market1501 # this folder contains 6 files.
        bounding_box_test/
        bounding_box_train/
        ......

下載 DukeMTMC-reID 並於 data 底下建立 dukemtmc-reid 資料夾,解壓縮檔案

data
    dukemtmc-reid
    	DukeMTMC-reID # this folder contains 8 files.
        	bounding_box_test/
        	bounding_box_train/
        	......

參考 ./modeling/backbones/senet.py 下載預訓練模型

import torch.utils.model_zoo as model_zoo
model_zoo.load_url('http://data.lip6.fr/cadene/pretrainedmodels/senet154-c7b49a05.pth',model_dir='./model_zoo')
model_zoo.load_url('http://data.lip6.fr/cadene/pretrainedmodels/se_resnet50-ce0d4300.pth',model_dir='./model_zoo')
model_zoo.load_url('http://data.lip6.fr/cadene/pretrainedmodels/se_resnet101-7e38fcc6.pth',model_dir='./model_zoo')
model_zoo.load_url('http://data.lip6.fr/cadene/pretrainedmodels/se_resnet152-d17c99b7.pth',model_dir='./model_zoo')
model_zoo.load_url('http://data.lip6.fr/cadene/pretrainedmodels/se_resnext50_32x4d-a260b3a4.pth',model_dir='./model_zoo')
model_zoo.load_url('http://data.lip6.fr/cadene/pretrainedmodels/se_resnext101_32x4d-3b2fe3d8.pth',model_dir='./model_zoo')

模型將會被下載在 ./model_zoo 必須修改 config/defaults.py 中資料

修改 softmax_triplet.yml 為本機路徑

PRETRAIN_PATH: '/media/david/500g/share/reid-strong-baseline/model_zoo/resnet50-19c8e357.pth'
...
...
...
OUTPUT_DIR: "/media/david/500g/share/reid-strong-baseline/log/gu/reid_baseline_review/Opensource_test/market1501/Experiment-all-tricks-256x128-bs16x4-warmup10-erase0_5-labelsmooth_on-laststride1-bnneck_on"

修改 Expriment-all_tricks-without_center-market.sh

python3 tools/train.py --config_file='configs/softmax_triplet.yml' MODEL.DEVICE_ID "('0')" DATASETS.NAMES "('market1501')" DATASETS.ROOT_DIR "('/media/david/500g/share/reid-strong-baseline/data')" OUTPUT_DIR "('/media/david/500g/share/reid-strong-baseline/log/gu/reid_baseline_review/Opensource_test/market1501/Experiment-all-tricks-256x128-bs16x4-warmup10-erase0_5-labelsmooth_on-laststride1-bnneck_on')"

訓練

執行 sh ./Expriment-all_tricks-without_center-market.sh

發生錯誤


ValueError: Argument save_interval is deprecated and should be None. This argument will be removed in 0.5.0.Please, use events filtering instead, e.g. Events.ITERATION_STARTED(every=1000)

修改 engine/trainer.py 第 156行

checkpointer = ModelCheckpoint(output_dir, cfg.MODEL.NAME, n_saved=10, require_empty=False)

正確執行後,開始訓練

輸入  watch -n 1 -d nvidia-smi 檢視 GPU 狀態

測試

續待…

在〈“人員重識別 ReID(Person Re-identification)”〉中有 4 則留言

  1. В прошлом месяце я решил сменить входную дверь в квартире. Выбрал сайт https://dveri-msk5.ru, нашел подходящую модель и оформил заказ на монтаж. Мастера приехали в назначенное время, быстро и качественно установили новую дверь. Очень доволен сервисом и результатом – теперь чувствую себя намного безопаснее!

  2. Всем рекомендую!доставка суши уфа
    Ресторан доставки “Василий” осуществляет доставку по всему городу Уфа. Заказы готовятся только после поступления и доставляются бесплатно при заказе от 500 рублей, в зависимости от района вашего проживания. Обратите внимание, что десерты и напитки не учитываются в стоимость минимальной суммы заказа. Доставка осуществляется курьерской службой в специальных качественных термосумках. Среднее время ожидания заказа 45-90 минут, время доставки может меняться в зависимости от количества заказов, дорожной обстановки и погодных условий. Пункт самовывоза находится по адресу ул. Шафиева 50/1.

  3. Отличный Консалтинговый центр! Всем рекомендую!гражданство Румынии представляет собой 15-летний опыт юристов собранный в едином центре услуг. Наша миссия – предоставить возможность любому гражданину оформить гражданство Молдовы и Румынии в соответствии с законодательными нормами страны.