日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

行人重識(shí)別ReID實(shí)戰(zhàn):從工程結(jié)構(gòu)到模型訓(xùn)練全解析

行人重識(shí)別ReID實(shí)戰(zhàn):從工程結(jié)構(gòu)到模型訓(xùn)練全解析 簡(jiǎn)介行人重識(shí)別ReID是計(jì)算機(jī)視覺中的關(guān)鍵任務(wù)目標(biāo)是在不同攝像頭下準(zhǔn)確匹配同一行人。這套Python工程代碼包面向深度學(xué)習(xí)初學(xué)者和視覺研究者提供了從數(shù)據(jù)準(zhǔn)備到模型評(píng)估的完整實(shí)現(xiàn)覆蓋Market-1501等常用數(shù)據(jù)集的處理流程。壓縮包共11個(gè)文件全部為Python腳本大小約18KB包含數(shù)據(jù)加載與增強(qiáng)data_manager.py、dataset_loader.py、骨干網(wǎng)絡(luò)ResNet.py、損失函數(shù)losses.py、優(yōu)化器配置optimizers.py以及評(píng)估指標(biāo)eval_metrics.py等模塊結(jié)構(gòu)清晰適合按模塊逐步研讀便于定位數(shù)據(jù)、模型、優(yōu)化等核心邏輯。目前已有150人學(xué)習(xí)下載。通過分析源碼讀者可以掌握CNN提取行人外觀特征的方法理解triplet loss、center loss在度量學(xué)習(xí)中的作用并學(xué)會(huì)使用mAP、Rank-1等指標(biāo)評(píng)估模型。代碼簡(jiǎn)潔可運(yùn)行兼顧理論講解與工程實(shí)踐是課程設(shè)計(jì)、論文復(fù)現(xiàn)或入門ReID研究的高性價(jià)比參考。1. 行人重識(shí)別是什么一個(gè) zip 里裝的是一整套跨鏡檢索系統(tǒng)在商超、園區(qū)、地鐵站跨攝像頭找人靠人眼回看錄像動(dòng)輒一兩個(gè)小時(shí)行人重識(shí)別Person Re-IdentificationReID就是讓深度學(xué)習(xí)模型學(xué)會(huì)“只看一次之后在幾百個(gè)陌生人里把 ta 找回來”。一個(gè)名為“基于深度學(xué)習(xí)的行人重識(shí)別.zip”的工程包解壓開通常不是一個(gè)訓(xùn)練好的模型文件而是一整套從數(shù)據(jù)集組織、訓(xùn)練到檢索評(píng)估的代碼管線這也是它和普通 demo 包最本質(zhì)的區(qū)別。給定一張 query 圖模型輸出一個(gè)能區(qū)分“同一個(gè)人在不同攝像頭下長(zhǎng)什么樣”的特征向量再和全庫(kù) gallery 特征算相似度并排序。適合正在做檢測(cè)/分類、想轉(zhuǎn)入檢索方向的工程師或研究生目標(biāo)是能復(fù)現(xiàn)、能改參、能部署。2. 先看懂工程結(jié)構(gòu)再動(dòng)手ReID 源碼包的標(biāo)準(zhǔn)套路與數(shù)據(jù)流拿到一個(gè) ReID 的 zip多數(shù)版本的目錄結(jié)構(gòu)都長(zhǎng)得很像這要感謝 Market1501 和后來 BoT、TransReID 這些開源工程養(yǎng)成的社區(qū)習(xí)慣。先別急著跑 train.py花二十分鐘把目錄和數(shù)據(jù)流捋清楚后面能少踩一半坑。這個(gè)環(huán)節(jié)不依賴具體代碼風(fēng)格任何基于 PyTorch 的 ReID 實(shí)戰(zhàn)項(xiàng)目案例基本都跑不出下面這套約定。2.1 一個(gè)典型 ReID 工程有什么從 train.py 到 evaluate.py常見工程解壓后頂層會(huì)有 train.py、evaluate.py 兩個(gè)入口以及 scripts、configs、datasets、models、losses、samplers、utils 這幾個(gè)目錄。scripts 是啟動(dòng)用的 shell 腳本configs 是參數(shù)配置datasets 負(fù)責(zé)數(shù)據(jù)集加載和目錄校驗(yàn)models 是骨干網(wǎng)絡(luò)和脖子模塊losses 是交叉熵、三元組等損失定義samplers 是批次采樣器utils 里是日志和評(píng)估工具。train.py 負(fù)責(zé)訓(xùn)練evaluate.py 負(fù)責(zé)加載權(quán)重、抽取特征并計(jì)算 CMC/mAP。# 解壓并查看頂層結(jié)構(gòu)先確認(rèn)沒有嵌套目錄 unzip 基于深度學(xué)習(xí)的行人重識(shí)別.zip -d ReID cd ReID ls -R . | head -60 # 正常會(huì)看到 configs/ datasets/ models/ losses/ samplers/ utils/ train.py evaluate.py這段命令的作用是把工程解壓到 ReID 目錄并用 ls -R 遞歸列出結(jié)構(gòu)head -60 控制輸出長(zhǎng)度。如果解壓出來帶中文目錄名或者多嵌套了一層同名文件夾先用 mv 把它提到頂層否則后面相對(duì)路徑會(huì)全部失效。多數(shù)工程用相對(duì)路徑讀數(shù)據(jù)集目錄層級(jí)錯(cuò)一位報(bào)錯(cuò)信息還不會(huì)直接指到路徑上而是先以“找不到圖片”的形式出現(xiàn)。在 config 或啟動(dòng)腳本里通常能看到這幾個(gè)核心參數(shù)數(shù)據(jù)根目錄 data_root、輸出目錄 save_dir、批次大小 batch_size、學(xué)習(xí)率 lr、訓(xùn)練輪數(shù) epochs、骨干網(wǎng)絡(luò)名稱 arch、損失類型 loss_type、設(shè)備 device。這些參數(shù)大多能從命令行覆蓋意味著不改代碼也能換配置。判斷一個(gè)工程是否成熟一是看 evaluate.py 里有沒有獨(dú)立的評(píng)估協(xié)議二是看 datasets 里有沒有針對(duì) Market1501 的標(biāo)準(zhǔn)目錄處理如果都不具備說明它只是一堆臨時(shí)腳本拼起來的復(fù)現(xiàn)價(jià)值有限別在它身上花太多時(shí)間。2.2 數(shù)據(jù)怎么流動(dòng)一張行人圖到特征向量的完整鏈路在 ReID 里一張行人圖從讀入磁盤到輸出特征向量經(jīng)過五個(gè)環(huán)節(jié)讀取圖片、數(shù)據(jù)增強(qiáng)、骨干網(wǎng)絡(luò)提取特征、降維層壓縮特征、L2 歸一化。訓(xùn)練階段在降維后還要掛分類頭和三元組損失推理階段則直接用歸一化后的特征做余弦相似度。下面這段代碼把五個(gè)環(huán)節(jié)拆開方便對(duì)照工程里每一步在做什么。# 特征提取流水線示意讀圖 - 增強(qiáng) - backbone - neck - L2歸一化 import torch import torchvision.transforms as T from PIL import Image # 1. 讀圖統(tǒng)一轉(zhuǎn) RGB img Image.open(query/0002_c1s1_000451_00.jpg).convert(RGB) # 2. 推理增強(qiáng)縮放、中心裁剪、歸一化訓(xùn)練還會(huì)加隨機(jī)擦除和翻轉(zhuǎn) transform T.Compose([ T.Resize([256, 128]), # ReID 通用輸入尺寸高 256寬 128 T.CenterCrop([256, 128]), T.ToTensor(), T.Normalize(mean[0.485, 0.456, 0.406], std[0.229, 0.224, 0.225]), ]) x transform(img).unsqueeze(0) # [1, 3, 256, 128] # 3. backbone 輸出 2048 維全局池化特征 # 4. neck 降到 512并做 BN推理時(shí)用 BN 后的結(jié)果即可 # 5. 最后做 L2 歸一化后續(xù)算余弦相似度 feat torch.nn.functional.normalize(neck_feat, dim1)這段代碼是工程里推理部分的最小形態(tài)。Resize 到 [256, 128] 是 Market1501 上約定俗成的輸入比例因?yàn)樗ヅ湫腥耸蓍L(zhǎng)的外形先驗(yàn)改成正方形會(huì)掉點(diǎn)。CenterCrop 在推理時(shí)是為了對(duì)齊訓(xùn)練時(shí)的隨機(jī)裁剪統(tǒng)計(jì)。歸一化沿用 ImageNet 的 mean 和 std幾乎所有 ReID 工程都直接使用不必自行調(diào)整。代碼里的 neck_feat 是占位寫法實(shí)際是 backbone 輸出經(jīng)過全局平均池化再過 BNNeck 的結(jié)果。實(shí)際工程里這五個(gè)環(huán)節(jié)會(huì)被封裝進(jìn) dataset 的getitem和 model 的 forwardDataLoader 的 num_workers 影響讀圖速度pin_memory 能減少數(shù)據(jù)從 CPU 拷貝到 GPU 的時(shí)間。調(diào)參時(shí)這些是常規(guī)項(xiàng)先確認(rèn)它們沒有問題再懷疑算法本身。2.3 為什么行人重識(shí)別是「分類 度量」的混合問題剛上手的人最容易問訓(xùn)練時(shí)明明用交叉熵把每個(gè)人 ID 當(dāng)成一個(gè)類別來分為什么推理時(shí)輸出的不是類別而是一個(gè)向量這正是 ReID 和圖像分類的關(guān)鍵區(qū)別。分類任務(wù)里一張圖對(duì)應(yīng)一個(gè)固定標(biāo)簽ReID 里訓(xùn)練集和測(cè)評(píng)集的人 ID 幾乎完全不相交模型必須學(xué)習(xí)“一個(gè)人的外觀特征如何跨攝像頭保持穩(wěn)定”這個(gè)能力只能靠度量學(xué)習(xí)來約束。常見做法是同時(shí)掛兩個(gè)頭一個(gè) ID 分類頭用交叉熵逼著特征具有類別判別力一個(gè)三元組損失用難樣本挖掘把同一 ID 的特征拉近、不同 ID 的特征推遠(yuǎn)。兩個(gè)頭共享 backbone 和 neck訓(xùn)練結(jié)束后丟掉分類頭只保留特征提取部分。一句話概括交叉熵教模型“見過誰(shuí)”三元組教模型“誰(shuí)和誰(shuí)像”兩者缺一結(jié)果都有明顯短板——只有交叉熵難樣本區(qū)分不開只有三元組訓(xùn)練不穩(wěn)且收斂慢。在 zip 工程里判斷它做沒做度量學(xué)習(xí)最明顯的標(biāo)志是有沒有 sampler 目錄和 triplet loss 定義。只有分類頭、沒有采樣器的版本通常是從分類項(xiàng)目改過來的半成品。像動(dòng)手深度學(xué)習(xí)這類入門書里的分類代碼拿到 ReID 這里必須要補(bǔ)兩塊一個(gè)是難樣本采樣器一個(gè)是評(píng)估協(xié)議缺了它們訓(xùn)練出來的模型很難在跨攝像頭檢索上拿到可用指標(biāo)。3. 復(fù)現(xiàn)訓(xùn)練全流程從 Market1501 到跑通 train.py 的最小命令這章直奔“照著做能跑通”。深度學(xué)習(xí) PyTorch 生態(tài)里ReID 的復(fù)現(xiàn)難度主要不在網(wǎng)絡(luò)結(jié)構(gòu)而在數(shù)據(jù)劃分和訓(xùn)練參數(shù)對(duì)很多人來說這也是第一次理解“數(shù)據(jù)和指標(biāo)一起決定模型好壞”。這里說的“跑通”不只是 loss 在下降而是訓(xùn)練結(jié)束后 evaluate.py 能算出和論文同量級(jí)的 Rank-1 和 mAP。3.1 數(shù)據(jù)不“改壞”Market1501 的目錄約定Market1501 是 ReID 最常用的公開數(shù)據(jù)集包含 1501 個(gè)行人、32668 個(gè)檢測(cè)框采集自 6 個(gè)攝像頭。它發(fā)布時(shí)已經(jīng)按訓(xùn)練集、查詢集和候選集劃分好目錄名是 bounding_box_train、query 等。復(fù)現(xiàn)時(shí)最容易犯的錯(cuò)是把這些目錄重命名或者在訓(xùn)練集里混入 query。目錄結(jié)構(gòu)一旦改動(dòng)評(píng)估腳本按約定路徑找不到數(shù)據(jù)指標(biāo)直接崩掉。Market1501 的關(guān)鍵目錄及用途如下目錄/文件內(nèi)容本階段是否需要bounding_box_train訓(xùn)練集751 個(gè) ID必需query查詢集3368 張圖必需bounding_box_test候選集 gallery必需gt_queryquery 對(duì)應(yīng)的標(biāo)準(zhǔn)答案標(biāo)注re-ranking 時(shí)需要gt_bbox測(cè)試集行人框標(biāo)注復(fù)現(xiàn)論文對(duì)比時(shí)需要# 假設(shè)工程根目錄是 ReID把數(shù)據(jù)集整理成工程能認(rèn)的格式 cd ReID mkdir -p data/market1501 # 用軟鏈接而不是復(fù)制避免占雙倍硬盤也防止誤改原始文件 ln -s /path/to/Market1501/bounding_box_train data/market1501/bounding_box_train ln -s /path/to/Market1501/query data/market1501/query ln -s /path/to/Market1501/bounding_box_test data/market1501/bounding_box_test ln -s /path/to/Market1501/gt_query data/market1501/gt_query ln -s /path/to/Market1501/gt_bbox data/market1501/gt_bbox軟鏈接的 path 要根據(jù)實(shí)際解壓位置調(diào)整不要照抄。這里的關(guān)鍵是保持目錄名固定很多工程在 dataset 代碼里硬編碼了這些名字你改了它就得跟著改源碼。Market1501 的文件名本身帶標(biāo)簽比如 0002_c1s1_000451_00.jpg前四位是行人 IDc1s1 是攝像頭號(hào)和場(chǎng)景號(hào)。有經(jīng)驗(yàn)的人會(huì)用文件名前四位統(tǒng)計(jì)訓(xùn)練集 ID 數(shù)量如果比 751 少多半是解壓或移動(dòng)過程中丟了文件。3.2 環(huán)境配置與最小訓(xùn)練腳本在跑訓(xùn)練前先把環(huán)境確認(rèn)到位。ReID 對(duì)庫(kù)版本不挑剔但 torch 和 torchvision 的版本要配套CUDA 版本對(duì)應(yīng)錯(cuò)import torch 直接報(bào)錯(cuò)。如果你手頭只有普通臺(tái)式機(jī)或筆記本沒法用 GPU也可以把 device 改成 cpubatch_size 調(diào)到 8 試跑一個(gè) epoch能完整走通流程就算環(huán)境通過。# 創(chuàng)建虛擬環(huán)境并安裝依賴這是最省心的組合之一 conda create -n reid python3.8 -y conda activate reid pip install torch1.13.1 torchvision0.14.1 pip install numpy opencv-python pandas tqdm tensorboardtorch 1.13.1 配 torchvision 0.14.1 在多數(shù)顯卡驅(qū)動(dòng)下都能直接裝到對(duì)應(yīng) CUDA 版本不必追新。opencv 用來讀圖和做數(shù)據(jù)增強(qiáng)tqdm 顯示進(jìn)度tensorboard 看訓(xùn)練曲線后面排錯(cuò)會(huì)用到。深度學(xué)習(xí)環(huán)境配置到這里就夠了ReID 本身沒有額外依賴。訓(xùn)練腳本的主體邏輯在多數(shù)工程里一致構(gòu)建數(shù)據(jù)加載器、構(gòu)建模型、定義損失、循環(huán) epoch。下面這段是清洗后的核心流程和真實(shí)工程對(duì)照著看能快速定位自己改壞的地方。# 訓(xùn)練主流程核心片段P×K 采樣 ResNet50 BNNeck import torch from torch import nn from torch.utils.data import DataLoader # 假設(shè) dataset 已按 Market1501 讀入train_set 返回 img, pid, camid # P×K 采樣P 個(gè)身份每人 K 張圖batch P*K sampler RandomIdentitySampler(train_set, num_instances4) loader DataLoader(train_set, batch_size64, samplersampler, num_workers4, pin_memoryTrue) model build_model(archresnet50, num_classes751, last_stride1, neckbnneck) model.cuda() # 雙頭損失交叉熵 三元組Adam 時(shí) lr 建議從 3.5e-4 起步 criterion_id nn.CrossEntropyLoss() criterion_tri TripletLoss(margin0.3) optimizer torch.optim.Adam(model.parameters(), lr3.5e-4, weight_decay5e-4) lr_scheduler WarmupMultiStepLR(optimizer, milestones[40, 90], gamma0.1, warmup_epochs10) for epoch in range(120): model.train() for imgs, pids, _ in loader: imgs imgs.cuda() feats, logits model(imgs) # feats 給三元組logits 給分類頭 loss_id criterion_id(logits, pids) loss_tri criterion_tri(feats, pids) loss loss_id loss_tri optimizer.zero_grad() loss.backward() optimizer.step()這段代碼是 BoT 風(fēng)格的訓(xùn)練設(shè)置很多 zip 里的 train.py 就是它的完整版加命令行解析。batch_size 等于 64 時(shí)RandomIdentitySampler 默認(rèn)是 16 個(gè)身份乘每人 4 張圖保證每個(gè) batch 里同 ID 有足夠樣本供三元組挖掘。Adam 學(xué)習(xí)率 3.5e-4 配合 warmup前 10 個(gè) epoch 線性升溫第 40 和 90 epoch 衰減 0.1 倍。loss_id 和 loss_tri 直接相加是最常見的組合部分工程會(huì)乘 0.5 權(quán)重差別不大。這里有個(gè)容易忽略的細(xì)節(jié)last_stride1。ResNet50 默認(rèn)最后一級(jí)下采樣 stride 是 2ReID 為了保留更多空間細(xì)節(jié)會(huì)把它改成 1特征圖分辨率翻倍rank-1 通常能漲 2 到 3 個(gè)點(diǎn)。如果你的工程里沒這個(gè)參數(shù)訓(xùn)練一次后指標(biāo)偏低先檢查它。別讓 codex 跑深度學(xué)習(xí)模板代碼時(shí)替你悄悄把這類關(guān)鍵參數(shù)“優(yōu)化”掉ResNet50 的 last_stride、BNNeck、P×K 采樣這三個(gè)東西缺一個(gè)都算不上合格的 ReID 工程。3.3 訓(xùn)練中途看什么日志里 loss 和 Acc 的含金量訓(xùn)練日志通常長(zhǎng)這樣“epoch 5, loss 3.21, acc 62.4, lr 0.00021”。新手最容易盯著 loss其實(shí)更該看定期在驗(yàn)證集上算出來的 Rank-1 和 mAP。交叉熵的 acc 反映分類頭學(xué)得怎么樣但 acc 高不代表檢索排序好因?yàn)闄z索要看候選集里的整體排序質(zhì)量。epoch 10 loss 1.98 acc 78.5 cmc:63.2/79.1 mAP:52.4 lr 0.00018 epoch 40 loss 0.42 acc 92.3 cmc:85.6/93.4 mAP:72.8 lr 0.00018 epoch 90 loss 0.18 acc 96.1 cmc:89.2/95.7 mAP:78.1 lr 0.000035這份日志是典型的收斂過程第 10 個(gè) epoch 時(shí) mAP 已過半說明骨架和采樣器接對(duì)了第 40 個(gè) epoch 時(shí) acc 超過 92但 CMC 還在漲說明度量頭仍有潛力第 90 個(gè) epoch 后學(xué)習(xí)率衰減兩個(gè)指標(biāo)繼續(xù)爬升。如果在第 40 個(gè) epoch 時(shí) mAP 還不到 50多半是數(shù)據(jù)加載錯(cuò)了或者采樣器沒生效而不是訓(xùn)練不夠。先看數(shù)據(jù)再調(diào)模型這比加訓(xùn)練輪數(shù)更管用。4. 模型選型與關(guān)鍵策略ResNet50 BNNeck 隨機(jī)擦除為什么是標(biāo)配看完訓(xùn)練流程自然會(huì)問這個(gè)工程里的模型結(jié)構(gòu)能不能換先說結(jié)論能換但得不償失的情況很多。在 ReID 這個(gè)方向模型選型和訓(xùn)練策略綁定得很緊深度學(xué)習(xí)模型那塊動(dòng)一個(gè)參數(shù)后面的指標(biāo)和顯存可能全變。4.1 三套主流骨架的取舍ResNet50、Swin/TransReID 與輕量網(wǎng)絡(luò)骨架參數(shù)量復(fù)現(xiàn)難度適用階段典型收益ResNet50約 25M低絕大多數(shù)工程默認(rèn)穩(wěn)定和論文易對(duì)齊ResNet50 IBN約 25M中跨數(shù)據(jù)集泛化域泛化更好Swin-T / ViT-Base約 28M/86M中高追求 SOTA指標(biāo)上線更高訓(xùn)練敏感MobileNetV3/輕量骨干約 7M中邊緣部署速度優(yōu)先精度下降可接受ResNet50 是 ReID 圈事實(shí)上的“工業(yè)標(biāo)準(zhǔn)”論文對(duì)比都在它上面跑復(fù)現(xiàn)時(shí)最容易對(duì)齊指標(biāo)。Swin 和 ViT 骨架在行人重識(shí)別上能到更高精度但對(duì)學(xué)習(xí)率、warmup、數(shù)據(jù)增強(qiáng)更敏感訓(xùn)練不穩(wěn)是常態(tài)新手拿它當(dāng)?shù)谝话嫒菀追?。IBN-Net 結(jié)構(gòu)在跨數(shù)據(jù)集測(cè)試時(shí)優(yōu)勢(shì)明顯如果你后續(xù)要在別的監(jiān)控場(chǎng)景上直接用它比原版 ResNet50 更值得。輕量網(wǎng)絡(luò)適合深度學(xué)習(xí)模型部署的場(chǎng)景。實(shí)時(shí)檢索系統(tǒng)里攝像頭數(shù)量多單卡推理壓力大MobileNetV3 能把單張圖的推理時(shí)間壓到幾毫秒代價(jià)是 Rank-1 降 5 到 8 個(gè)點(diǎn)。對(duì)工程落地來說這個(gè)差距通常能用 re-ranking 或更好的數(shù)據(jù)增強(qiáng)補(bǔ)回來一部分。選型沒有絕對(duì)答案但第一版復(fù)現(xiàn)我一般只會(huì)用 ResNet50因?yàn)樗炎兞靠刂频米钌佟?.2 BNNeck、隨機(jī)擦除和 P×K 采樣各自解決什么問題這三個(gè)名字在 ReID 論文里頻繁出現(xiàn)作用各不相同。BNNeck 解決的是交叉熵和三元組對(duì)特征分布要求不一致的問題交叉熵希望特征的范數(shù)大、類別邊界明顯三元組希望特征落在超球面上、分布緊湊。BNNeck 在 neck 輸出的兩個(gè)分支上分別做處理分類頭分支加 BN度量分支不加損失可以在各自舒適的分布上優(yōu)化。沒有它兩個(gè)損失會(huì)互相拉扯訓(xùn)練曲線震蕩明顯。隨機(jī)擦除Random Erasing是 ReID 里性價(jià)比最高的數(shù)據(jù)增強(qiáng)。行人經(jīng)常被遮擋或者被其他行人擋住隨機(jī)擦除一塊矩形區(qū)域讓模型不要把注意力全壓在某個(gè)局部部件上。它和普通分類任務(wù)里的 CutOut 類似但擦除比例和時(shí)間點(diǎn)對(duì) ReID 更敏感。P×K 采樣則是難樣本挖掘的基礎(chǔ)隨機(jī)采樣 P 個(gè)身份每個(gè)身份取 K 張圖這樣每個(gè) batch 內(nèi)部天然形成正負(fù)樣本對(duì)。下面是一段典型配置# 隨機(jī)擦除與 P×K 采樣的典型參數(shù) from random_erasing import RandomErasing train_transform T.Compose([ T.Resize([256, 128]), T.RandomCrop([256, 128], padding10), # 先隨機(jī)裁剪模擬位移 T.RandomHorizontalFlip(p0.5), T.ToTensor(), T.Normalize(mean[0.485, 0.456, 0.406], std[0.229, 0.224, 0.225]), RandomErasing(probability0.5, sh0.2, mean[0.4914, 0.4822, 0.4465]), ]) # 采樣器參數(shù)每 batch 16 個(gè)身份每個(gè)身份 4 張圖 sampler RandomIdentitySampler(dataset, num_instances4, batch_size64)擦除概率 0.5、遮擋面積比例上限 0.2這兩個(gè)數(shù)字是多數(shù)論文調(diào)試出來的穩(wěn)定區(qū)間。如果你碰到擦除后模型收斂變慢先降低 probability 而不是取消擦除取消后 Rank-1 通常掉 2 個(gè)點(diǎn)左右。RandomCrop 的 padding10 也很關(guān)鍵它給模型提供輕微位移不變性配合擦除能明顯提升跨攝像頭魯棒性。4.3 數(shù)據(jù)并行與 batch size 的關(guān)系batch size 在 ReID 里不是簡(jiǎn)單的顯存問題它直接影響采樣質(zhì)量。P×K 采樣下batch size 是 P 和 K 的乘積64 的 batch 對(duì)應(yīng) 16 個(gè)身份、每個(gè)身份 4 張圖。如果把 batch size 降到 32常見操作是改成 8 個(gè)身份乘每人 4 張但 8 個(gè)身份會(huì)減少難樣本挖掘的覆蓋面指標(biāo)在訓(xùn)練中期就能看出差距。顯存不足時(shí)優(yōu)先降 K 而不是降 P比如 16 個(gè)身份乘每人 2 張batch 還是 32身份覆蓋面保住三元組只損失一點(diǎn)。# 單卡顯存不夠時(shí)的啟動(dòng)參數(shù)示例 python train.py --batch-size 32 --num-instances 2 --lr 3.5e-4 # 多卡時(shí)先用 torchrun 指定可用 GPU再按卡數(shù)等比放大 batch torchrun --nproc_per_node2 train.py --batch-size 128 --lr 6e-4多卡訓(xùn)練時(shí) batch size 翻倍學(xué)習(xí)率也要相應(yīng)調(diào)大常見做法是線性縮放。兩張卡從 64 變 128學(xué)習(xí)率從 3.5e-4 調(diào)到 6e-4不是簡(jiǎn)單翻倍具體倍數(shù)靠驗(yàn)證集微調(diào)。數(shù)據(jù)并行時(shí)注意每個(gè) GPU 上的 batch 要獨(dú)立做 P×K 采樣不少工程在分布式改造時(shí)把采樣器丟了默認(rèn)隨機(jī)指標(biāo)掉得莫名其妙。5. ReID 復(fù)現(xiàn)避坑指標(biāo)對(duì)不上、顯存不足和數(shù)據(jù)集損壞的 4 個(gè)真實(shí)問題這一章是給“訓(xùn)練能跑但結(jié)果不對(duì)勁”的人準(zhǔn)備的。下面的問題我在不同工程里見過多次每條都按現(xiàn)象、原因、解決的順序?qū)懣梢灾苯诱罩挪椤?.1 坑zip 解壓后路徑亂套訓(xùn)練一啟動(dòng)就報(bào)“找不到文件”現(xiàn)象解壓、整理目錄后運(yùn)行 train.py報(bào)錯(cuò) FileNotFoundError但路徑看起來是對(duì)的或者在 windows 上解壓后訓(xùn)練正常換到 Linux 上同一份代碼報(bào)錯(cuò)。原因這個(gè) zip 工程在壓縮時(shí)可能帶了中文目錄名或者內(nèi)部多嵌套了一層文件夾。Windows 上路徑大小寫不敏感掩蓋了問題Linux 上目錄里文件名大小寫不一致直接失效。還有一部分工程的 config 里寫的是相對(duì)路徑從不同目錄啟動(dòng) train.py 結(jié)果完全不同。解決解壓后第一件事是 cd 進(jìn)工程目錄執(zhí)行 ls確認(rèn)數(shù)據(jù)目錄真實(shí)位置然后用軟鏈接統(tǒng)一指向原始 Market1501不要復(fù)制重命名。啟動(dòng)命令固定從工程根目錄執(zhí)行不要用 python /path/to/train.py 這種跨目錄方式。如果數(shù)據(jù)文件名有中文或空格先用 rename 批量清掉ReID 代碼普遍不做中文路徑處理。5.2 坑訓(xùn)練 loss 正常下降但 Rank-1 和論文差 10 個(gè)點(diǎn)以上現(xiàn)象訓(xùn)練日志里 loss 從 4 降到 0.3acc 到 95 以上但 evaluate.py 算出來的 Rank-1 只有 70 出頭論文里同配置是 89 以上。原因最大的可能性是評(píng)估階段和訓(xùn)練階段數(shù)據(jù)預(yù)處理不一致。訓(xùn)練用隨機(jī)裁剪、隨機(jī)翻轉(zhuǎn)、隨機(jī)擦除評(píng)估應(yīng)該只用 Resize 加 CenterCrop。如果評(píng)估代碼里帶了 RandomCrop 或漏了 CenterCrop特征分布對(duì)不上指標(biāo)直接崩。另一個(gè)常見原因是 query 和 gallery 劃分錯(cuò)了有些工程會(huì)把 query 圖片也塞進(jìn) gallery檢索時(shí)自己檢索自己mAP 虛高但 Rank-1 偏低兩者矛盾時(shí)基本就是數(shù)據(jù)劃分問題。解決先固定隨機(jī)種子然后把 evaluate.py 里的預(yù)處理和訓(xùn)練預(yù)處理逐行對(duì)比。再檢查評(píng)估代碼里是否在初始化 dataset 時(shí)用了 train 模式有些 dataset 類會(huì)在 mode 為 train 時(shí)自動(dòng)加隨機(jī)增強(qiáng)。最后統(tǒng)計(jì) query 和 gallery 是否有重疊文件名有就說明劃分腳本有問題回去看數(shù)據(jù)準(zhǔn)備那步。5.3 坑batch size 調(diào)小后反而不收斂或者收斂極慢現(xiàn)象顯存不夠把 batch_size 從 64 調(diào)到 24 或 16結(jié)果訓(xùn)練 30 個(gè) epoch 后 loss 還在 2 以上mAP 不到 30。原因ReID 的 batch 不適合直接“整體縮放”。batch_size64 對(duì)應(yīng) 16 個(gè)身份乘 4 張圖縮到 24 如果還是隨機(jī)采樣成 24 個(gè)不同身份每個(gè)身份只有 1 張圖三元組完全失效BN 層的統(tǒng)計(jì)量也因?yàn)?batch 太小而漂移。這屬于典型的“參數(shù)改了但沒改配套結(jié)構(gòu)”。解決如果顯存只夠 batch 24改成 8 個(gè)身份乘每人 3 張圖至少保證每個(gè)身份有 3 張正樣本。同時(shí)把 BN 層改為凍結(jié)狀態(tài)或使用較小的 batch norm momentum比如 momentum 從 0.1 改成 0.01。再配合梯度累積每 2 個(gè) batch 更新一次參數(shù)等效 batch 48這樣既保住采樣結(jié)構(gòu)又不至于讓 BN 統(tǒng)計(jì)量亂跳。5.4 坑GPU 顯存直接 OOM連一個(gè) epoch 都跑不完現(xiàn)象啟動(dòng)訓(xùn)練后幾秒鐘報(bào) CUDA out of memory然后進(jìn)程退出。有些人把 batch_size 調(diào)到 4 能跑但訓(xùn)練完全失去意義。原因顯存爆掉不一定全是 batch size 的鍋。輸入圖片尺寸如果從 [256,128] 被改成 [384,192]顯存占用翻 2.25 倍backbone 如果用 ResNet50 的 last_stride2特征圖尺寸比 last_stride1 小一半占用更少但丟細(xì)節(jié)。還有一個(gè)隱藏項(xiàng)是 DataLoader 的 num_workers 開太多每多一個(gè) worker 都會(huì)復(fù)制數(shù)據(jù)到共享內(nèi)存峰值顯存看似不變但內(nèi)存帶寬吃緊。解決先看這個(gè) zip 工程里默認(rèn)的 Resize 是不是被改成了大尺寸統(tǒng)一回到 [256,128]。再確認(rèn) last_stride 是否等于 1它影響顯存和精度的平衡。顯存仍不夠時(shí)用梯度累積替代調(diào)小 batch或者開 torch.cuda.amp 混合精度顯存能降一半ReID 訓(xùn)練對(duì) fp16 的敏感度比檢測(cè)低得多基本可以無痛用上。6. 驗(yàn)證與進(jìn)階用一張 query 手工走一遍檢索再談值不值得做訓(xùn)練完不是終點(diǎn)你得親眼看到檢索結(jié)果才敢把它交給下游。這一章只提供一個(gè)最小驗(yàn)證鏈路以及這條路繼續(xù)往深走的幾個(gè)方向。6.1 手工驗(yàn)證加載權(quán)重、抽特征、算余弦相似度用 evaluate.py 能看到整體指標(biāo)但看單張圖的檢索排序能更直觀地判斷模型學(xué)到的是“外觀”還是“某個(gè)攝像頭下的背景”。手工驗(yàn)證只需要加載模型、抽 query 特征、遍歷 gallery 算相似度。# 手工檢索驗(yàn)證輸出前 5 個(gè)結(jié)果的文件名 import torch import torch.nn.functional as F model.eval() with torch.no_grad(): q_feat F.normalize(model(transform_query(img_query).cuda())[1], dim1) g_feats [] # gallery 特征列表由 evaluate 階段緩存得到 names [] # 對(duì)應(yīng)的文件名 for g_img, name in gallery_loader: f F.normalize(model(g_img.cuda())[1], dim1) g_feats.append(f); names.extend(name) g_feats torch.cat(g_feats, dim0) sims torch.mm(q_feat, g_feats.t())[0] # 余弦相似度矩陣 top5 torch.topk(sims, 5).indices.tolist() print([names[i] for i in top5])這段代碼里 model 的輸出取索引 [1]是因?yàn)榍跋蚍祷亓?(feats, logits) 或 (feats, pooled_feats) 兩個(gè)值具體取哪個(gè)看工程定義。驗(yàn)證時(shí)用 L2 歸一化后的特征做矩陣乘法等價(jià)于余弦相似度。如果 top5 里出現(xiàn)了和 query 同一個(gè) ID 但不同攝像頭的結(jié)果說明模型學(xué)到了跨攝像頭不變性如果 top5 全是同一個(gè)攝像頭下的圖大概率模型偷懶了它學(xué)到的是環(huán)境背景不是行人本身。6.2 進(jìn)階方向re-ranking、多尺度測(cè)試與部署形態(tài)這個(gè)小流程跑通后你可以按預(yù)算選進(jìn)階方向。re-ranking 是性價(jià)比最高的一項(xiàng)它把 gallery 內(nèi)部的結(jié)構(gòu)關(guān)系考慮進(jìn)去通常能再漲 2 到 5 個(gè)點(diǎn) mAP但推理時(shí)要把整個(gè) gallery 特征送入內(nèi)存計(jì)算適合離線檢索場(chǎng)景。多尺度測(cè)試是另一個(gè)穩(wěn)定技巧把同一張圖縮成 192x96、256x128、320x160 三份分別抽特征再拼接漲點(diǎn)不多但穩(wěn)定幾乎不花訓(xùn)練成本。更接近交付形態(tài)的做法是把特征抽取封裝成 ONNX 或 TensorRT 的部署接口前接檢測(cè)模型后接向量數(shù)據(jù)庫(kù)做近似最近鄰檢索。ReID 模型本身不復(fù)雜但工程鏈路比訓(xùn)練長(zhǎng)得多。我第一次完整跑通這套鏈路時(shí)最深的教訓(xùn)是不要在訓(xùn)練腳本里省評(píng)估代碼訓(xùn)練和評(píng)估的預(yù)處理、數(shù)據(jù)劃分必須同一個(gè)來源否則指標(biāo)永遠(yuǎn)是自欺欺人。先把這套手工驗(yàn)證跑通再談優(yōu)化這條路值得投入它能幫你把零散的檢測(cè)和目標(biāo)跟蹤串成真正能用的跨鏡檢索系統(tǒng)。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
青青草在线成人视频| 国产精品黄色三级av| 91久久久亚洲| 九月伊人中文字幕| 青娱乐手机日韩在线视频| 日本人妻中文字幕精品| 人妻av在线| 亚洲天堂区| 久久一区二区三区四区五区| 亚洲日韩av一区二区三区百合| 人人看人人插| V A在线| 99蜜桃臀久久久欧美精品网站| 亚洲高清无码在线桃色| 99久久精品国产系列| 欧洲亚洲人人爽爽视频| 黄色成品网站| 久久综合日韩亚洲欧美| 免费人成?大片在线播放| 日日骚精品视频| 九月丁香婷婷| 69人妻精品一区二区绯色| 黄色av网站在线播放| 久肏视频字幕| 东京热毛片调教| 中文字幕日韩国产传媒欧美精品| av无码精品久久久久| 97精品网| 中文字幕三四区| 91中出视频| 大香蕉性欧美| 人人摸人人舔一区二区| 嗯嗯啊啊好大好爽| 96一区二区三区| 国产精品suv一区| 欧美熟妇人体| 吉田爱美AV在线| 麻豆久久久一区二区| 爱做久久久久久| AV不卡在线| 91亚洲色人| 婷婷干黄色| 91久久青青草原精品| 78m成人视线| 午夜啊啊| 天堂综合网| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 国产极品馒头逼| 国产精品乱码久久久久久久久| 色综合20p| 老司机久久| 日韩精品99久久久久久中文字幕| 色综合加勒比四四季| 日韩有码免费视频| 黄污污污污| 涩五月婷婷| 99精品无码| 五月丁香久久| 久久久久久久 九九九九九九九| 91蜜臀在线久久久久| 人妻熟女午夜精品在线| 久久精品欧美一区蜜桃| 精品国产污一区二区三区| 蜜臀久久99精品久久久久久久久| 精品国产网站| 在线观看A啊啊啊| 青娱乐手机日韩在线视频| 国产一区二区三区,在线观看观看| 啊啊啊啊在线观看网址| 欧美日韩亚洲五月天婷婷| 欧美综合 站| 久久人妻一区二区三区高清| 视频一区二区免费在线| 乱伦熟女区| 日本大片日本一区二区免费高清 | 大香蕉啪啪啪| 欧美青青视频| www.av家庭乱伦| 欧美一区二区三区互相| 柠檬AV导航| 99爱精品| 亚洲人91| 美欧色综合| 国产美女自拍AV| 国产精品香蕉热久久新品| 97色婷| 欧美乱色| 91精品操美女| 国产亚洲精品久久久久小| 国产热RE99久久6国产精品首| 午夜啪啪片| 99婷婷| 色制服丝袜夫妻av一区| 天天爽天天操啊啊啊| 国产av强奸美女| 久操不卡视频| 蜜臀99999| 欧美天天综合网| 国产午夜无码片在线观看影视| 久久久婷婷婷| 欧美中字不卡| 国产高清成人免费视频| 狠狠色综合网| 99久久久| 欧日a| 伊人久久亚洲中文字幕不卡| 国产一区在线观看无码AV| 91综合在线| 欧美天堂第二区| 国产一区在线播放| 91超级碰碰| 啊啊啊不要嗯嗯在线观看| 亚洲综合欧美| 97免费在线视频在线观看| 日本道日本道中文字幕日本道最新日本道在线观看 | 天天视频综合在线观看视频| 香一区二区三区| julia ann久久| 欧美日韩国产另类综合| 97国伦国色| 熟妇色99| www.99热| 91成人无码| 欧美一级久久久久久久大片动画 | 中文字幕欧美精品亚洲日韩蜜臀| 97任你吞精| 亚洲AV无码久久精品蜜桃小说| 中文乱码字幕观看视频| 宅男91视频在线播放| 97亚洲欧美| 欧美一级色| 麻豆天美AV传媒第一页| 黄片直播三级黄片两女一男| 欧美人妻另类在线| 91成人在线免费视频| 69久久久久久久久久久久久| 男人的天堂午夜av| 亚洲日韩欧美一区二区| 啊…啊…操我用力操我 | 小情侣高清国产在线视频| 日本999精品视频| 亚洲综合第一页| 色综合美国| 天天色欧美| 狼天天狼天天大香蕉| 亚洲资源站| 日本五十路熟女一区二区| 日本超碰97日韩精品人妻| 国产最火爆久久国产网站网站| 国产天天骚| 91久久免费视频互動交流| 人妻一区久久二区三区色播| 中文字幕精品一区二区精| 男人天堂综合| 欧亚性爱视频免费看| 超碰无码五月97| 6080YYY午夜理论片在线观看| 午夜欧美神马久久久久| 天堂8在线新版官网| 亚洲a色| 久久男人的天堂国产| 久久激情婷婷| 97一区二区三区视频| 色网在线视频观看免费| 99国产女人| 久久精品免费| 精品一啪| 一二三区操逼国产91| 嗯嗯,好大,好爽,好骚| 2021久久国产综合精品青草| 国产视频第二页| 中文伊人大香蕉视频| 黄色免费网| 在线一区| 67194无码不卡| 韩日无码在线观看| 欧美性爽xyxOOOO| 国产亚洲精品美女| 欧美|91色综合| 日本欧美中文字幕| 人妻少妇无码| 天天日天天舔东京热| 婷婷久久五月| 亚洲中文一区二区三区| 久久久久亚洲Av无码专区老牛影视| 狠狠色一区二区中文字幕| 五月丁香六月婷| 免费av在线播放二区| 欧美性色欧美| 夜夜高潮夜夜爽高清视频一| 90后性网国产欧美| 亚洲色图日韩精品| www.av在线视频| 97九色| 玖玖大干人妻| 最新中文字幕av| 91oumei| 亚洲AV无码AV吞精久久久久| 亚欧无码线免费观看视频| 久操com| 男啪女色黄无遮挡免费观看| 另类欧美色| 少妇69中文| 夜夜嗨一区二区| 欧美一区二区观看在线| 久久久久久久国产视频| 人人弄人人摸| 人人操 欧美| 成·人免费午夜在线观看| 午夜噜噜噜| 国内一区二区三区| 国产99999久久精品| 天天摸夜夜摸| 无码欧美有限公司| 97综合在线观看| 色五月婷婷网| 天天射影院| 亚洲人人操| 91Chinese在线| 国产人伦a片信息免费片| 日韩性爱免费观看视频| 久久精品无码熟妇一区二区三区视频导航| nuu12国产麻豆精品| 亚洲91网站| 亚洲成人色情五月天丁香花| 久久综合女优| 亚洲AV不卡在线观看尤物| 日韩激情视频| 久操在97| 99热在线播放| 搡老女人老熟女91| 日韩欧美福利视频看看| 99热99在线播放激情| 素人一区二区三区日韩| julia ann久久| 怡红院亚洲怡春院av| 97操综合| 国产sv美女内射| 欧美人妻制服| 久久av无码| 91丨人妻丨国产丨丝袜| 国产精品亚洲一级av第二区| 秋霞曰韩R级| 亚洲成av人片色午夜乱码| 色婷婷激情| 蜜桃色色网站视频三区| 亚洲国产一级中文综合久久天堂在线免费观看| 欧美午夜色妇色鬼| 国际精品久久久| 午夜操一操| 国产无马在线| 午夜福利成人免费视频| 成人五月香网在线| 东北女人av| 嗯……啊…嗯嗯…啊…好舒服| 一区二区三区 丝袜高跟| 亚热日本熟女| 日韩精品-原创伙伴| 久久精品国产精品一区| 在线a v| 男女一级A片大黄,一进一出| 亚洲aw毛茸茸在线| 熟女熟妇一区二区三区视频| 绯色一区二区三区不卡少妇| 中文字幕 国产 精品| 91在线美女| 大香蕉欧美伊| 日韩激情中文字幕有码| 99在线精品视频| 天操老女人| 日本媚薬中文字幕在线| 思思视频免费看网站| 国产91久久九九免费精品无码| 五月天激情小说| 国产精品久久久久久久久久久久久久久| 成人夜夜| 亚洲 欧美 日韩 国产一区二区 | 国产不卡精品91| 免费99精品国产自在在线| 囯产精品久久久久久久久久二区三区| 人妻系列无码专区中文有码| 啊啊啊啊啊操我视频| 天天综合~91| 国产高清精品一区二区三区毛片| 九色 人妻 大香蕉| 操淫穴亚洲五月丁香 | 久久综合女优| 亚洲欧美日韩中文播放| 亚洲高清在线| 夜夜嗨免费视频| 亚洲国产ⅴ高清在线观看| 亚 欧 美 综合| 2017天天操天天日| 午夜欧美女人操逼| 日韩中文字幕宗合在线| 18禁精品网站在线看| 美女人妻色网站| 欧美男人的天堂| 日韩精品中文字幕一| 97 超碰 人人做 人人爱| 三及片网站| 99热在线观看| 成·人免费午夜在线观看| 婷婷九月色| 色噜噜人妻av中文字幕| 入口操逼网站| 翔田千里A片一区二区| 天天干天天狼在线视频| 久久久精品九| 婷婷九月色| 激情综合 婷婷五月 红杏| hd成人一区二区在线| 东京热熟女亚洲视频网站| 青青青国产手线观看视频2| 啊啊啊用力在线观看| 99久久久无码国产精品性啊聊| 欧美色五月| 超碰人妻97| 天天爱天天韩国日本牛牛牛牛| 欧美在线|亚洲| 日本色色色视频| 人澡逼| 亚洲欧美日韩夜夜| 欧美综色欧| 五月丁香久久| 野狼福利社区| 无码视频一区二区| 色综合久久88色综合久久天天| 中国的操老妇女| 欧美日韩国产色图在线| 97亚洲综合| 精品人妻一区二区乱码一区二区| 国精精品无码一二三区水多多| 久久中久文96| 男人的天堂.com| 熟妇xxxxx性春色| 日日噜噜夜夜久久亚洲一区二区| 性做久久久久久免费观看软件| 天堂av最新电影网| 久艹伊人精品综合在线| 日本午夜操逼| 中文字幕97| 大肉棒导航| 夜间福利片1000无码| 国产中文字幕在线| 啊啊啊好湿久久| 欧美性生活免费网| 丝袜 中出 制服 人妻 美腿 中文字幕| 岛国AV一区二区电影| …中文字幕亚洲乱,97人妻无码费视…| 99激情| 日韩高清黄片| 亚洲综合伊人无码久久| 色狠人在线99| 国产精品探花色| 色婷婷日韩精品一区二区三区| 日夜啪电影| 在线综合 亚洲 欧美中文字幕| 99在线精品观看视频中文| 色97| 黄色毛片A片| 国产肏逼网站| 加勒比色99999| 午夜福利久久久噜久噜久久综合| 日韩精品亚洲专区在线影视| 免费精品国偷自产在线在线 | 嗯嗯啊啊视频一区二区三区| 这里有精品| 精品人妻av在线播放| 久久精品黄色| 日本媚薬中文字幕在线| 2019亚洲男人天堂| 蜜臀久久久国产| 激情婷婷丁香| av天堂影视中文在字幕在线中文| 啪啪啪东京| 五十路熟女人妻一区二区在线观看| 99青青草国产视频| 九月AV| 久久久网站| 屁屁影院一区二区三区国产| 日韩性爱视频在线免费观看 | 92人人操人人| 精品一区二区综合熟妇| 日韩图色| 草草草视频| 亚洲少妇自拍中文字幕懂色| 大乔未久88一区| 亚洲丝袜B诱惑| 99丝袜福利在线播放| 韩国黄色片精品久久久| 婷婷97| 丁香婷婷九月| 欧美成人午夜免费福利785| 欧美精品日韩久久久九| 亚洲影院无码在线| 五月天我淫我色av| 92性色国产午夜福利在线661| 亚洲欧美首页| 国产辣妈在线视频福利| 国产精品一区二区亚洲人成毛片| 国产一级高清免费观看| 人妻一区二区三区四区视频| 日本国产欧美一区三区二区| 中国AAAAAA黄色片| 无码外流操逼视频| 日亚韩精品视频二区三| 精品黑人一区二区| 色五月婷婷网| 男人天堂久久日韩| 丝袜视频一区二区在线播放国产中文 | 婷婷三区| 操一区| 中文字幕精品久久久久人妻红杏ⅰ| 99热导航| 国产日韩中文字幕欧美| 九九九九一级| 欧美激情高清性猛交| 国产极品馒头逼| 久久久久久99AV无码免费网站| 97视频在线看| 日本免费人成视频播放120秒| 国产精品探花色| 日本一区二区三区四区免费观看| 亚洲超碰AV| 婷婷中文字幕| 四虎视频在线观看| 九九九九亚洲| 日韩免费大片一级播放| 日本99热| 伊人久久大香线综合无码| 亚洲日本天堂| 三级色影综合网| 18禁在线视频| 久久性视频| 啊啊啊好湿久久| 操淫穴亚洲五月丁香| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 欧美综合综合| 乱伦一二三区| 日本99热| 久久久久久久六六| 性欧美999| 日韩精品中文字幕人妻| 偷窥自拍A片| 啊啊啊用力在线观看| 91久久久老司机| 99热国产精品| 熟妇综合一区二区三区| 久久综合99| 久久宗合亚洲| 囯产精品久久久久久久久久梁医生 | 男人的天堂2019AV| 国产后入内射| 在线综合 亚洲 欧美中文字幕| 熟女突然公开看18禁影片| 超碰97玖玖爱| 成人怡红院| 中文字幕精品区先锋资源| 国内91熟女人妻丝袜天天精品视频在线| 小骚逼被操的爽不爽| 69一区二区三区 | 制服丝袜第二页| av网站国产主播在线| 丁香五月影院| 97久久天天综合色天天综合色电影| 亚洲人综合19| 日本肏逼视频在线观看| 天天干1区2区在线| 啪啪视频亚洲第一| 欧美视频第二页| 日韩性爱长视频免费| 另类专区在线观看| 2020中文字幕在线| 操逼www.| 五月开心久久AV官网| 成人自拍三级在线观看| 超碰在线974| 亚洲色人| 久久有码| 国产欧美精选激情视频| 黄色不卡视频| 日本免费一级AAA大片器| 亚洲综合网电影91| 色吧 综合| 极品色社| 日本在线观看网址| 亚洲欧洲小说图片视频| 色牛aV| 夜夜夜久久| A级在线视频| 天堂精品小草| caoni国产亚洲av| 欲女人妻性色av| 日韩AV无码中文一区二区| 天天激色| 国产激情在线观看| 国产精品久久久亚洲第一牛牛_在线观看 | 日韩AC| 欧美韩日精品99综合| 亚洲av乱伦色图网站| 淫淫综合网| 老鸭窝亚洲毛片| 久久蜜桃一区二区| 欧美嗯啊……在线观看视频免费| 91精品人| 97超碰中文| 激情色色| 美女操逼A A| 亚州九九九精品视频| 日韩成人大片一区二区| 9丨久久九九九| 玖玖蜜臀资源网| 女人 A一级| 99精品九九九九九九| 九九久久九九久久| 日本不卡五区| 中文字幕av久久爽Av| 18禁在线视频| 少妇高潮九九九九九九九| 欧美|91色综合| 亚洲男人久久综合天堂| 999久久久久久久久| 一区二区三区四区色图| 亚洲国产成人福利在线观看| 校园春色美腿丝袜| 天天碰操中国年青熟妇| 婷婷色在线| 无码一区二区精品视频久久久春药 | 后入福利视频| 国产有码一区| 巨爆乳肉感一区二区三区竹菊影视| 丝袜美腿操av| 无毛精品| 嗯嗯嗯啊啊啊操的我好爽| 日本一区二区成人在线| 最新无码国产| 欧美色院| 日本免费二区三区| 99热18这里只有精品| 久久久久久AⅤ无码免费肉站| 欧美日韩国产成人高清| 日韩天天综合| 99爱爱| 婷婷丁香一区二区三区| 91婷婷伊人狠人| 在线v中文字幕一区二区三区| 精品无码一区二区三区色欲| 亚洲精品欧洲色| 91国产丝袜美女| 国产精品经典一卡久久久| 去干网最新版| 国产又大又硬又长又粗| 午夜a成v人电影| 无码精品久久久久久亚洲| 97超碰公开| 色臀aV| 啊啊啊不要啊啊受不了了视频在线| 天天色综合天天操| 91三级理论片播放器| 欧美18 在线观看| 国产精品视频内谢女人| 国产白丝AV| 亚洲精品 欧美97色色| 美女91在线观看| 强上我不卡卡| 亚洲免费精品一区| 97色97好| 亚州人妻| 久色99999| www.AV有限公司一区| 久久欧洲| 国产亚洲日本| 女同性恋一区二区三区精品视频| 久久久久中出| 一区二区三区日韩欧美| 欧美日韩人人精品| 亚洲色图20p| 欧美精品久久96人妻无码| 啊啊啊啊二区好大| 久久中文色图| 男人的天堂2000| 91精品国久久久久久无码| 欧美A√综合网 | 国内97干免费看| 久草在| 天天草AV| 国产97在线播放| 国产熟女无套内射| 狠狠操狠狠操操| 一二三区精品视频| 国产乱伦视频污| 2018天天日天天日| 无码操逼网| 六月色色| 天天干天天日天天射黄色大片 | 粉嫩av平台| 精品中文字幕第一页| 能直接看AV的网站| 在线观看中文av字幕| 国产精品老师| 亚洲熟女乱色| 欧美日韩天堂| 91亚洲综合在线| 男女做爰猛烈动高潮A片免费应用| 色激情综合网站| 熟妇的味道HD中文字幕| 欧美刺激色黄片免费看| 丝袜制服字幕在线| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 欧美性爱免费短视频| 国产专区第一页| 色5月婷婷| 啊啊啊好舒服好爽啊啊啊视频| 91嫩草欧美| 青青操日韩| 东京热一区二区中文字幕| a v网站在线播放| 91麻豆天美国产欧美| 日日黄色三级网站| 午夜啊啊| 亚洲国产精品9999在线观看| 99九九久久| 欧美 日韩 婷婷 五月| 蜜臀久久99精品久久久久久成人小说 | 国产操逼视频在线观看| 国产无马视频| 一区在线国产播放| 久久久久久久久久久久黄色| 人妻熟女一区二区| 欧美人与动性人交a| 亚洲成人性爱在线观看| 老熟女区| 日本久久女同性恋视频| 色综合网1| 亚洲情色五月天| 日本道人妻久久久在线不卡色视频| 你懂的在线观看区国产| 男人天堂2012| 亚洲图片视频小说| av天堂天堂av日韩| 青青草视频久久久久| 伊香蕉综合久久久久久久噜噜噜| 美国一区二区三区视频| 免费农村成人少妇人妻Aa一区二区视频 | 欧美视频在线视频免费va| 9999亚洲电影| 国产精品高清2021在线| 色性荡荡荡荡视频| 99re热| 超碰在线观看av不卡| 欧美18禁91| 国产精品午夜AV完会免费 | 乱久久久| 亚洲欧美在线观看免费| 婷婷情色五月天| 人人操人人舒服| 99精品久久| 91日产桃蜜| 亚卅熟女乱色| 国产美女高潮视频| 韩国黄色片精品久久久| 夜夜嗨老熟女AV一区二区三区| 五月婷网站| 98一区二区精品| 亚洲精品久久久久久久蜜桃臀| 桃色五月天| 成人国产二区三区在线,男女精品。| 91操人| 啊啊啊慢点| 清柠毛片| 国产主播福利| 亚洲天堂人人妻| 特级毛片特黄久久免费看| 激情五月天校园春色网| 黄色一级视| 欧美色图片色哟哟| 大香蕉亚洲中文| 久久久夜夜夜| 日本丝袜美腿人妻九九| 伊人久久在线视频观看| 熟妇激情| 色噜噜狠狠色综无码久久合欧美| 91天天综合日韩欧美| 97色在线观看| 精品欧美А∨无码黑人大荫蒂| 久操黄色视频| 日本三级一区二区 在线| 亚洲蜜臀视频精品久久| 日本久久精品| 亚洲日韩人妻中文字幕一区| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 超碰伊人在线| 色色五月天婷婷| 中文字幕三四区| 日本亚洲vr欧美不卡高清专区| 国产乱伦亚洲色图高清无码| 久久亚洲天堂| 人妻啊啊人妻啊| 免费啪啪av| 亚洲综合草草| 欧美色图片91| 全球成人中文在线| 97操| 神马午夜久久久| 亚洲一区二区精品福利| 国产强奸乱伦第1页| 青青伊人加勒比海| 蜜臀av在线播放一区二区三区| 国产免费小视频| 国产精品网站免费| 99视频只有精品| 三级特黄60分钟播放| 亚洲Av噜噜一区二区三区妖精| 色色五月婷| av网站在线观看了| 97超碰日韩| 久久久久久裸体| 久久国产精品91| 亚洲AV无码国产精品久久久久 | 亚洲日本韩国极品一区二区| 秋霞无码av鲁丝片一区| 亚洲欧美洲综合| 欧美91精彩| 欲色影视综合吧| 婷婷久久综合| 日韩在线观看字幕精品| 日韩激情毛片一级久久久| 超碰碰97资源站| 日韩综合97P| 中文字幕亚洲欧美在线不卡| 色情婷婷| 无码视频黄色网战| 伊人影院综合是一个与深夜成人在线| 情色大香蕉| 国产精品久久久久久夜夜夜夜| 蜜臀精品1区2区| 人妻久久久久久久久久久久久久久 | 久久国产在线一区二区| 五月天亚洲网| 牛牛久久国产精品视频一二三| 久久超碰爱| 99自拍视频在线观看| 欧美影院一区二区三区| 99re视频在线播放青草| 91色射| 91伊人久久在线| 婷婷三区| 国产欧美一区二区| 久九九九九九九热| 97国产色综合| 超碰亚洲97| 亚洲天堂性爱| 亚码激情| 精品人人| 99久久无色码| 哈哈操电影AV| 久久久久久久久久久久黄色 | 亚洲色图 欧美热图 清纯唯美 另类自拍| 婷婷五月天伊人| 色婷婷五月天| 亚洲综合小说另类图欧美视频激情小说色五月天 | 国产又大又粗又长视频| 亚洲素人综合| 加勒比久久av| 精品少妇一区二区| 亚洲黄色| 天天操狠狠日夜夜干超碰撸com视频在线观看 | 精品国产乱码久久久兰草影视| 久久久久久久久久黄色网| 色色99| 91精品又粗又猛又爽| 精品无码一区二区人妻久久蜜桃| 职场同事知名国产国产精品久久欧美日韩 | 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | CCYY草草影院地址入口| 一级@啪啪视频| 亚洲 一区二区 自拍| 欧美丰满熟妇XXXX性ppX人交| 高清国产av无码| 蜜桃成人1区2区3区| 99爱久久视频频| 久久久∴| 97人人色| 97九色| 国产成人午夜视频网址| av无线看| 91九色精品熟女内射| 人妻天天操天天爽视频免费| av婷婷色网| 超碰伊人在线| 精品午夜福利| 国产精品毛片?v一区二区三区 | 久久发布国产伦子伦精品| 久久伊人网视频一区二区三区| 天天舔天天日天天射| 亚洲欧美综合图片| .精品人妻一区二区三| 日韩不卡毛片Av免费高清| 又大又白奶子| 色老久久| 欧美日韩国产一区二区小黄片大全| 岛国大片国产| 婷婷五月丁香五月| 超碰98综合网| 亚洲欧美电影| 免费中文在线| 麻豆黄四叶草网站| 久草在| 啊啊啊操死我| 日韩中文字幕在线视频观看| 91在线美女| 欧美人妻一区二区| 久热精品在线国产| 亚洲无码色| 欧美在线中M| 日本成人在线不卡一区二区三区| 超碰成人最新最好看| 99啪| 天天天肏屄肏屄肏屄欧美欧美| 国产综合在线视频网站| 99热66| AV男人天堂网| 岛国片在线播放| 五月丁香六月婷| 麻豆精品三区视频| 国产精品人妻一区二区| 日本理论在线| 夜夜爽爽夜夜精品视频| a亚洲欧美色欲| 青青草天天亲夜夜操网| 日韩精品人妻中文字有码在线| 亚洲国产成人综合碰碰三级经典| 日欧操屄视频| 欧亚韩国999| 男女性感激情网站| 一区麻豆 高清中文字幕| juliaann欧美丝袜办公室| 中文字幕日本久久| 国产风韵犹存熟妇三区| 国产成年女人免费视频播放a| 久久老子无码午夜伦不卡| 啊啊啊不要嗯嗯在线观看| 日日操免费视频| 香一区二区三区| 欧美亚洲91| 狠狠操狠狠| 东京太热男人的天堂久久久| 大香蕉人妻| 97日韩欧美亚洲| 丁香五月自拍| 东京热大香蕉| 入口操逼网站| 日韩一级二级在线| 老熟女乱伦片| 欧美一二在线| 日韩中文字幕视频| 欧美一二在线| 手机在线看片免费人成视频| 亚洲综合校园春色| 亚欧成人中文字幕一区| 欧美91久久久久| 99热国产| 白丝一区| 色好看av| 男女性感激情网站| 毛片麻豆91糖心精品毛情片| 26uuu国产成人综合| 精品二区三四区五电影 | 欧美亚洲涩涩| 亚洲精品一区二区三区在线播放| 本道在线| 亚洲天堂电影精品一区| 国产精品片| 欧美天天谢综合网| 777AV电影| 密臀成人视频久久久| 91社区拍啪人妻| 丝袜美腿91| 日韩三级视频一区二区三区| 亚洲国产综合图区中文字幕| 狠狠搞 亚洲91| 乱伦av.com| 99热伊人| 人妻社区男人天堂| 亚欧国产无码精品在线| 97国产超碰| a人欧美综合天堂麻豆| 日韩国产成人自拍视频| 日本三级精品| 超碰在线人妻不卡| 国产高清无码一区二区三区四区皇冠| 亚洲资源一区| 亚洲免费97免费| 色黄色美女大长腿午夜视频| 暴力av在线| 强上我不卡卡| 日本 欧美 国产一区| 91日韩国产欧美亚洲另类精盘州至城都 | 国产成人无码久久精品| aV中文麻| 97超碰色屌| 337p大胆噜噜噜噜噜91Av| 欧美极品美女aaaaaa级黄片| 亚洲涩图欧美| 人妻插插人妻人| 竹菊影视国产一区二区| 日韩一级欧美一级国产一级台湾| 天天天堂影视日韩亚洲91| 久久极品伊人| 欧美大香蕉专区网| 亚洲熟伦熟妇AV无码春色| 超碰在线1234区| 白丝AV网站| 久久婷婷五月天| 中文字幕高清精品一区| 五月天久久人妻| 久久色一区| 婷婷五月综合在线| 综合伊人激情| 人人妻人人澡人人爽久久av| 一区中文字幕二区日韩| 国产67194| 丰满岳乱妇一区二区三区| 日本久久超碰| 亚洲有薄码区久久在线一区| 国产精品网站免费| 天天看少妇| 天天摸,夜夜摸| 国产精品永久免费10000| 国产精品久久久久久久久久久久久久吹| 黄色片G G G| 天天看特黄的免费网站| 91在线|亚| 亚洲色吧网| 超碰成人免费| 欧美久久伊人| 温婉少妇玩3p| 欧美一区二区三区另类精品| 9国产超碰| 91丝袜在线观看| 九色黄站| 国内精品999| 黄色AAAAA欧美| 无码高清专| 国产一区二区三区导航| 亚洲成?V人片在线观看福利| 超97在线精品视频| 免费看A片毛毛片在线播| 激情接吻视频久久久久久| 强奸乱伦日韩AV| 婷婷六月色开| 天美国产三级传媒| 欧美色图片91| 日韩久久艹| 国产丸一视频| 91中文字幕在线观看| 蜜臀AV一区二区三区| 97在线免费视频| 国产精品久久久久久亚洲色欲| 无码 黑人一区二区三区| 福利操逼| 欧美色五月| 青娱乐导航AV| 亚洲熟女一区| 91蜜臀人妻中文字幕在线| 夜夜欧美| 国产多人在线观看视频| 国产家庭乱伦网址| www.狠狠| 人妻插插人妻人| 日韩八十路老熟女| 黄页av| 久久性爱视频99| 亚洲免费成人精品电影| 人妻中文在线| 久久久久久中文版| 国内外毛片在线观看| 青青草福利视频| 亚洲综合另类小说色区亚洲成av人片在www| 奇米狠999| 久久人妻视频网| 二级久久网| 97操B| 久久久久久久久久久免费精品| 黄色免费网页无码| 亚洲综合色男人网| 校园春色综合香蕉| 中文字幕99999| 久操视频资源站公开| 狠狠躁AV| 青青草导航在线视频| 99婷婷一区二区| 午夜黄色免费在线观看| 伊人大香蕉在线| 免费男人的天堂| 一区不卡在线观看av| 六月丁香啪啪啪| 欧美在线中M| 久久大黄片| 免费毛片在线播放| 97精品综合久久网| 九九热九九| 干婷婷综合网| 蜜臀99999| 91人人| 人人扣人人操| 久久久久久久久久久久欧美日| 女性91网站| 开心五月激情网| 中文在线视频| 蜜乳视频网站| 国产11页| 麻豆尤物视频网| 无码人妻丰满热妇又大又粗| 国产专区路线| 白丝AV| 狠狠干,狠狠操| 大香蕉日韩欧美| 国产亚洲精品农村妇女| 伊人久久亚洲中文字幕| juliaann欧美丝袜办公室| 美女国产一区二区久久| 国产成人主播| 日韩视频精品在线观看| 超碰人人乐97| 亚洲午夜精品久久久中文影院| 操逼操逼视频操逼| 欧美国产有色电影| 乱伦熟女专区| 国产不卡片| 91色图| 99999久久久久9国产精品| 日韩熟女精一区二区三区不卡| 日本污ww视频网站| 久久久久九九九九九| 伊人久操| 久艹视频在线| 男人的天堂一区三区| 物业黑人 AV一区| 亚洲国产精品无码AV在线| 欧美亚洲美少妇一区二区| 人人摸.人人色| 一区二区三区 丝袜高跟| 操B视频日韩无码| 日韩久久艹| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 用力操死我| 思思视频免费看网站| 婷婷色网| xxxx网站亚洲精品| 97欧美久久久久久久| 探花一区在线| 国产免费小视频| 女色视频社区| 国产主播福利| 亚洲激情色片| 女同性恋久久| 久久久一区二区三区麻豆| 激情综合五月婷婷| 超碰免费97| 精品久久久久久久久久久久| 久久黄色视频一区二区三区 | 人妻日日干| 午夜噜噜噜| 国产av高清版| 一个国产在线综合网站| 久久久精品一区二区| 美女自卫慰黄网站免费| 自拍六区| 91九九九小逼| 女人高潮大叫一级毛片| 97资源久久| 午夜福利在线视频1000| 日本操BAV| 欧美色乱| 久久一二三四五六七八九区区| 亚洲美女自拍偷拍视频| 91bbbbbb| 欧美情色男人的天堂| 免费在线观看AV无码网站| 清纯唯美亚洲综合| 五月天久久婷婷亚洲 | 国产精品久久久久999| 99热综合| 精品人妻一区二区视频| 国产丝袜视频| 美日韩一卡二卡三卡免费人妻精品| 日本高清免费一本视频在线观看| 亚洲天堂美臀在线| 婷婷99狠狠| 免费?级毛片无码?∨蜜芽试看| 久久久成人免费av电影| 男人的天堂在线有码| 又大又长又粗又爽又黄| JuliaAnn丝袜熟女系列| 久久免费精品96| 久热超碰| 操逼操逼逼操操逼91| 亚洲欧美综合| 哑洲在线| 97精品97| 欧美大香蕉卡久久| 在线性黄高清免费视频| 日韩有码 一区二区三区| 日韩欧美久久婷婷网站| 久久久久久九九九九-美女久久久久久久-成人AV| 99久久精品国产高潮| 日产欧美电影一区二区三区| 青青草在线视频美女| 亚洲欧美日产国产91毛片| 久久99操天天日| 日本一区二区成人在线| 日熟女| 啪啪综合网| 超碰九九| 欧美激情黑人| 欧美韩国你懂得在线 | 日韩综合97P| 精品乱子一区二区三区99| 99激情视频| 女同性恋久久| 免费精品人妻一区二区三| 亚洲一区二区三区春色| 深夜国产福利| av2014 日韩在线中文字幕| 亚洲性少妇| 国产精品suv一区| 一个人在线看的黄色电影网站| 色综合99| 午夜大香蕉| 国产精品久久久三级无码| 久久91精品国产9丨久久分亭| 无码高清操逼网址| 69视频入口| 天天上日日上日韩精品| 青青草国产欧美非洲黑人| 日本不卡一二区| 蜜臀久久99精品久久久久久酒店 | 婷婷成人五月天| 亚洲欧美成人在线| 人人扣人人操| 欧美日韩性爱视屏免费看了| 99久久久er直播网址| 亚洲国产成人精品久久久国产成人一区二区三.| 97色伦97色伦国产欧美| 欧美性爽xyxOOOO| 在线播放成人高清免费视频| 精品无码欧美三级| 日本成熟少妇A∨网站| 国产无码三级视频在线观看| 青娱乐淫乱1314| 国产亚洲深夜激情| 日韩欧美大力操| 99在线无码精品秘 入口黑人| 2019天天干天天操| 久久精品国产亚洲AV片多多| 无码精品蜜桃一区二区三区ww| 伊人五月天激情| 亚洲天堂 视频你懂的|