亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

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

行人重識(shí)別ReID實(shí)戰(zhàn):從工程結(jié)構(gòu)到模型訓(xù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)估模型。代碼簡潔可運(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è)人在不同攝像頭下長什么樣”的特征向量再和全庫 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)都長得很像這要感謝 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 控制輸出長度。如果解壓出來帶中文目錄名或者多嵌套了一層同名文件夾先用 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的外形先驗(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é)束后丟掉分類頭只保留特征提取部分。一句話概括交叉熵教模型“見過誰”三元組教模型“誰和誰像”兩者缺一結(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ì)庫版本不挑剔但 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)練日志通常長這樣“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ù)谝话嫒菀追嚒BN-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 里不是簡單的顯存問題它直接影響采樣質(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不是簡單翻倍具體倍數(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ù)庫做近似最近鄰檢索。ReID 模型本身不復(fù)雜但工程鏈路比訓(xùn)練長得多。我第一次完整跑通這套鏈路時(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
返回資訊列表
欧亚日本情色| 伊人久久88国产女| 在线日韩精品一区二区三区| 91丝袜在线视频| 婷婷伊人綜合中文字幕| 天天干干天天干干| 国产精品日韩在线一区| 欧美日本成人一区二区| 欧美亚洲在线| 欧美亚洲宗合色性图| 国产剧情一区在线观看| 久久久久免费少妇| 欧美顶级黄色大片免费| 色欲蜜臀AV| 久久久久少妇| 老外又粗又长一晚做五次| 91老司机精品| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 亚洲第一免费视频| 国产精品黑人一区二区三区| 中文字幕一区 二 区 三 四 五 区日 日 骚| 亚洲双插| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 国内毛片四区| 激情视频图片| 成人黄页| a片亚洲一本通视频| 国产污视频麻豆传媒一区二区 | 志村玲子视频一区二区| 久久久精品视频免费观看| 精品午夜福利国产一区二区在线观看| 亚洲性爱免费电影| 天天看,天天做| 婷婷视频在线免费观看| 精品黄色电影| 久久女女| 加勒比aⅴ| 久久久91福利姬| 亚洲国产亚洲天堂| 日本道日本道中文字幕日本道最新日本道在线观看 | 日韩成人电影AV| 亚洲高清无码AAA久久久精品| 8x福利精品第一福利视频导航| 人妻色偷色噜| 无码 黑人一区二区三区| 殴美牲| 婷婷综合激情| 四虎884a| 日日AAvv| 欧美性夜| 少妇人妻好深太紧了vr91| 3d成人精品一区二区| 欧美日韩 强奸乱伦| 亚洲中文一区二区三区| 精品人妻一区二区三区-国产| 老熟女区| 高清无码91| 超碰97亚洲| 久久伊人最新网址视频| 亚洲āv网址在线观看| 八戒无码国产午夜福利| 亚洲91极品| 久久亚洲人妻| 国产又粗又长又大的视频| 精品视频一区二区| 国语国产操逼伊人AV网| 大稥蕉免费视频这里只有精品| 欧美美女啪啪视频| 99久在线精品99re8热视频在线| 97精品一区二区视频在线观看| 992视频一区| 国产地址二三| 2020天天色综合| 精…码一二三区| 99热精品国产| 超碰97综合网| 黄色电影在线播放综合网站| 99热色精品| 性性欧美| 日本综合色图| 91人妻Pr| 97精品97久久| 精品丝袜无码一区二区三APP| 婷婷丁香五月激情啪啪| 97热视频在线观看| 思思热国产高清| 亚洲精品亚洲人成在线麻豆| www.AV有限公司一区| 懂色Av一区二区三区| 中国一级特黄大片护士| 极品色社| 超碰97久| 久草福利在线资源站| 快点操死我| 99这里只有精品| 日本三级A片网站com| 嗯嗯嗯好爽| 久草电影网| 亚洲综合中文字幕有码| 五月婷婷青青草娱乐伊人| 极品另类| 国产伦精品免编号公布| 另类天堂| 综合网欧美在线| 综合欧美色图| 夜夜肏2021| 欧美激情内射| 激情五月婷婷| 中文字幕天堂在线| 午夜精品久久久久久久| 九月丁香综合网| 国产成人天堂| 很黄很色的视频在线观看| 亚洲不卡不卡中文字幕不卡| 欧美精品成人在线播放| 国产中文日韩欧美一区二区三区人妻丝袜美腿 | 九九九九精品在线| 日韩操人| 91一区二匹| 亚洲无吗在线视频| 国产伊人自拍| 少妇蹲下露出大唇5| AV不卡在线| 日韩无码AB| 久久久久久日韩| 97一区二压| 91丝袜美女视频| 久久久久亚洲?V片无码V| 欧美中出1| 色超碰综合| 51久久夜色精品国产麻豆| 成人影 天天操 亚洲| 特色a在线上| 无码一区二区三区四区五区六区七区八区九区十区视频 | 欧美一级特黄淫片在线观看| 91亚洲欧美综合高清在线| 国产区91柔拿会所技师| 欧美亚洲天天| 黄色片G G G| 丝袜亚洲综合| 欧美日本天堂| 大香蕉520| 天天澡天天爽日日AV| 亚州操操穴网| 精品人妻中文字幕4399| 精品性爱一区二区| 啊啊啊啊啊在线| 人妻熟女一区二区三区在线| 啪啪综合网| 男女无套 免费网站| 伊人影院中文字幕| 安徽熟妇视频| 午夜福利免费精品视频| 久草这里只有精品| 草久久久| 精品一区二区三区蜜桃臀赵总 | 美性中文综合网| 无套内射性感少妇视频| 中文字幕三四区| 噜噜噜久久亚洲精品色情| 91free福利| 欧美福利视频啊啊啊啊| 九热超碰| 九九英色视频| 日本黄 R色 成 人网站| 免费αV在线视频| 精品一区99999| 高潮内射在线| 精品久热| 日韩中文字幕在线视频观看| 久操精品| 国产热av| 青青草视频导航官网| 熟女六十路| 人妻内射一区二区在线视频| 大香蕉97久久| 91天堂色男人的天堂| 日韩性爱一级片| rivers-china.com| 性性久久| 夜夜高潮夜夜爽高清视频一| 99这里都是精品| 欧美日韩国产另类综合| 91啪啪| 久草老司机| 日本三级小说中文字幕| 久久久久密| 日本三级日本三级99| 亚洲av综合伊人久久| 无码粉嫩白虎一线天b区| 国产一区二区三区,在线观看观看| 曰韩精品九九无码| 偷窥自拍亚洲天堂网爆| 日韩亚洲Av人人夜夜澡人人爽| 1000部熟女视频在线观看| 啊啊啊好舒服视频| 欧美综合另类| 又粗又长又大国产不卡| 97综合国产| 超碰97久| 欧美草草高清日韩视频| 精品日日人妻| 欧美美女视频| 久久久久久9| 美女91在线| 国产乱子伦久久精品综合一区二区三| 亚洲无码一区成人免费午夜| 深喉吞精| 午夜国产成人精品视频| 強姦亂倫a| 人妻精品视频一区二区三区| 欧美成人免费在线观看| 国产内射爽爽大片| 超碰成人公开| 国产午夜激片Av毛片不卡| 乱欲一区二区| 亚欧精品久久久久久久久久久| 狠狠操综合| 日日干夜夜干| 久久曰曰| 久久后入制服| 老熟女91视频| 亚洲色图尤物视频| 国产高清无码一区二区三区四区皇冠| 亚洲第一成人影院色播| 亚洲综合激情五月久久| 色噜噜国产在线| 神马午夜久久久| 在线观看午夜婷婷久久久久清性观看| 我想要啊 啊 啊| 91五十路| 久久国产乱子伦精品免费女人| 91c色| 91干熟女| 亚州高清色综合| 爱丝福利| 免费看片黄| 人人爱人人操人人性| 久久久婷婷婷| 嫩草伊人久久精品| site:sinbotex.com| ji熟女.com| 日本日逼视频网| 久久这里都是精品| 日韩精品亚洲一二三| 操东北女人| 日韩人妻有码免费视频| 黑丝少妇| 91日日夜夜| 亚洲丝袜诱惑| 亚洲av影音先锋| 婷婷五月天AV| 伊人在线大香蕉视频久久| 国产精品久久久久久久久久久久久久| 国内偷自视频区视频综合| 精品国产肉丝袜在线拍国语| 我中文字幕6区| 欧美碰碰综合色| 天天日天天搞天天干| 五月色网| 9997se| 亚洲天天做日日做天天谢日日| www.久久爱| 欧美 亚洲 另类 综合| 97欧美视频| 欧亚在线视频| 欧美在线视频播放| 亚洲在线网站| 欧美天天拍| 日韩精品啪啪啪| 黄色大香焦1级‘′‘| 嗯嗯啊啊操死我| 日本久久久久久久久久| 亚洲九月丁香| 亚洲美女 晚间男人天堂 | 97操B| 天天弄天天操| 欧美五区| 欧美黄片免费在线观看视频| 日少妇亚洲版| 伊人黄色片| 国产精品熟女AV中文字幕在线播放| 熟人人妻少妇精品久久| 99激情视频| 国产熟码AV| 欧美性爱十八禁| 骚人妻少妇视频| 精品九九国产无码| 狠综合网| 伦伦成年午夜免费视频| 91n免费处女| 约操熟妇| 精品九区| 久久久一热在线播放| 色婷婷一区二区三区久久| 亚洲宅男天堂| 亚洲天堂精品日韩电影| 爱爱动态试试看6 0秒| 国产激情视频一区区三区| 亚洲五月丁香花狠狠干一区二区三区| 超碰色97| 东北夫妻性偷拍| 婷婷色色五月天福利| 东北夫妻性偷拍| 国产又猛又粗又爽又黄| 亚洲欧美精品久| 综合操逼| 9Ⅰ老熟女| 少妇六月天| 亚欧免费| 91中出视频| 人妻夜夜爽天天爽麻豆三区网站| 一级成人性爱| 91美女视频电影| 午夜免费福利视频一区| 一中国女人毛片水真多| 久久日本熟妇熟色高清| 国产女人成人精品视频| 亚洲欧美成人网站AAA| 东北老女人的激情视频| 国产又大又硬又长又粗| 激情文学88| 97干天天| 五月天婷婷小说| 国产又粗又大硬免费色网视频| 91夜夜蜜桃臀1区2区3区| 免费在线观看国内色片网站网址| 久久超碰网| 国产小黄片在线免费观看| 老熟女熟妇| 国产精品一区二区三区,亚洲综合| 曰韩少妇无码| 成年男人的天堂| 亚洲无码AV九九九| 99精品国产户外露出| 老熟女中文字幕高清| www.狠狠| 91艹B视频| 欧美天天射| 91九九九吃| 秋霞免费无码视频日韩A片| 九九色色| 熟女乱伦A| 日韩欧美中文字幕搭讪巨乳美人妻视频| 欧美性猛交美女自慰91| 偷窥自拍A片| 黄片www视频免费| 久久久少妇诱惑精品视频| 日本超碰在线国产一区| 91足交| 97精品国产| 久热99999| 一区二区首页| 在线天堂999| 丁香五月久久| 中国东北熟女老太婆内谢| 婷婷久久五月综合激情| 色香欲综合| 色一区二区三区综合| 少妇500双飞99| 国产丝袜视频| 久久香蕉国产传媒一区剧情天美| 久久精品美女一区| 丝袜美腿制服人妻二区中文字幕| 亚洲高清无毛一区二区| www.av家庭乱伦| 欧美日韩97| 少妇无码999| 欧洲亚洲人妻无码久久三区四区| 色综合超碰超| 亚洲素人网| 好看的91视频| 国产熟女二区| 国产av热热色| 人妻黑丝袜电影| 成人熟女区| 大香蕉欧美国产日韩高潮| 久久亚州高清| 女人一区| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 中文字幕女同在线| 亚洲人人操| 久操视频资源站公开| 成人a级高清视频在线观看| 激情小说图片亚洲首页 | 密桃99999| 97色在线| 人妻久久久| 一区二区激情国产熟女| 91 手机在线播放 绯色| 超碰性爱97| 欧美 青青草| 欧美日韩大陆黑人少妇99| 欧美色图下一页| 性交一区二区在线播放| 伊人9| 91精品国产91久久久久久久久久久久| 欧洲亚洲人妻无码高清久久三区四区| 91成人无码| 狠狠操使劲操| 26uuu国产日韩综合在线观看| 久久精品中文字幕无码l| 亚洲午夜福利视频| 蜜臀久久99精品久久久老,,| 久久伊人网视频一区二区三区| 青青草精玖玖69精品| 老熟女中文字幕高清| 日韩欧美中文字亚洲慕| 色香AV| 乱伦a片视频| 日韩黄色一区二区三区| 91久久精品国产| 你草精品在线视频| 久久精品无码专区| 老司机天天操| 五月天精品| 上床不卡网站| 日曰骚久久精品| 九九综合九九综合| 全球成人中文在线| 九九精品美女高溯喷水| 欧美色图另类图片| 国产操逼视频在线观看| 日本91白丝| 激情四射五月天| 97超碰色色| 秋霞久久亚洲精品成人| 亚洲色图超碰在线| 97欧美综合网| 人妻中文字幕精品无码| 成人情色一区二区| 亚洲怡春院| yw尤物av无码点击进入麻豆| 亚洲色综合| 91 丝袜在线观看| 日韩极品无码B| 日本片日本片祼观看网站在线看中文版网页在线看 | 亚洲九月丁香| 美国久久一二三四| 91人人| 欧亚性爱视频免费看| 欧美狠狠操| 校园春色五月天| 视频分类 国内精品| 青青青青草av在线观看| 欧美亚洲| 丁香六月婷婷久久综合| 超碰偷拍| 狠狠色噜噜狠狠狠狠狠色综合久久| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 啊啊啊啊啊啊啊国| 男女啊啊啊啊啊| 女人双腿搬开让男人桶| 青青草久久| 日本高清视频xxxx| 久久精品72| 中文?日韩?免费?精品| www99热| 综合网少妇| 亚洲av无线观看| 黑人精品久久97| 亚洲乱码精品一区二区| 国产成人资源| 伊人操| 99热在线观看| 欧美天天综合在线| 花野真衣| 日本操逼视频在线| 日本伦理一区二区| 欧美精品成人一区二区在线观看 | 秋霞午夜视频一区二区| 就去色综合| 国产精品探花色| 久久嫩草国产成人一区| 91视频精品| 色色五月婷| 亚洲有码第一页| 精品九九国产无码| 亚洲欧美激情小说| 激情接吻视频久久久久久| 亚洲 综合 第一页| 久操热| 啊啊啊好舒服视频| 97干色天堂| 97人人夜夜精品视频| 色娱乐色呦呦夜夜夜夜av| 一类无码操逼视频| 98久久超碰| 蜜色网色哟哟| 国产精品无码久久久久2025| 亚洲在钱| 人妻啊啊人妻啊| 欧美日韩*字幕一区| 青青三级视频| 五月综合视频| 成人五级久久| 精品久久久一本一道| 国产第25页在线观看| 9 1果冻精品视频| 欧美人妻二区三区| 亚洲天堂无码| 国产精品爆乳懂色蜜乳| 亚洲人久久久网| 婷婷激情四射| 在线观看免费视频国产| 熟妇色99| 加勒比av中文| 六月丁香五月婷婷| 涩涩涩综合| 婷婷性网| 伊人 俄罗斯 a v| 六月丁香啪啪| 91c色| 成·人免费午夜在线观看| 欧美青青视频| 激情欧美日韩女同久久| 欧美一级黄色免费专区| 啊啊啊啊啊啊啊网址在线观看| 色999五月色| 精品国产91av一区二区三区| 999精品久久久久久久| 久偷拍欧美日韩三区| 清柠毛片| 日韩一级片在线看| 午夜视频好爽啊| 久久78| 久久机热| 亚洲一区二区三区在线激情| 日本不卡免费二区| 蜜屁Av| 日本超碰在线国产一区| av日韩在线观看电影| 亚洲精品一二牛牛| 国产v亚洲v日韩v欧美v片另类| 91精品又粗又猛又爽| 国产夫妻一区二区| 天天操女人| 色婷久久| 亚洲各类熟们中文字幕| 日日操丁香五月天| 强奸国产精品视频| 亚洲日本激情| 日韩精品字幕| 日韩综合无码一区久久92| 亚洲女人91| 久久久无码精品人妻二区| 亭亭在线资源| 99re热| 丝袜狂射91| 成人天天爽| 欧美91网站| 日韩精品99久久久久久中文字幕| 99re不伦| 白 大 人妻 区 在线| 亚洲国成人情色好看电影| 蜜色网色哟哟| 97欧美精品综合| 亚洲另类色图片| 插老姨肥穴| 久草新免费| 欧美伦乱爱| 91五月天| 成人草草视频| 91综合站| 欧美中文字幕日韩在线| 99久久久无码精品国产人| 日韩中文字幕精品一区在线| 日韩美女操b| 久久九九视频九九视频| 日韩性爱播放| 久久婷婷五月天| 无码人妻一区二区一牛影视| 亚洲中文字幕乱码无码一区二区| 麻豆性爱视频在线播放| 亚洲国产一区二区入口| 日韩在线观看字幕精品| 丁香五月大香蕉| 久都青青视频| 91超碰碰在线| 日韩欧视频| 国产精品美女久久久久久网站| 欧美激情视频在线一区| 日本五十路熟女一区二区| 国产精品一区二区黄片| www四虎| 国产青青美女玩逼视频| aV中文麻| 精品亚洲一区在线观看| a在线视频免费观看| 骚货人妻偷情自拍在线视频| 九九九九九九九九九五码| 极品出轨视频网站| 亚洲码在线中文在线观看| 国产AV毛片| 日韩亚洲美州欧洲综三区一品在线| 日韩少妇丰满亚洲| 欧美色老汉| 小视频国产| 色色操| 欧美 日韩 另类 亚洲| 欧美第五页| 狠狠色伊人亚洲综合网站色| 静品嫩模一区二区| 成人网欧美风情| 后入合集| 人人看人人爰人人操| 黑丝少妇| 五月天精品| 精品国产一区二区三区四区在线看| 国内毛片免费h片在线| 欧美视频第二页| 91天天综合日韩欧美| 日本视频在线观看污污污| 久久久久骚| 久久久999国产精品| 很黄很色的视频在线观看| 91亚洲黑人| 一二区在线观看视频| 伊人一区二区在线播放| 久久久99久9| 久久久555| 男人的天堂一区三区| 成人在线视频一区| 日产欧美电影一区二区三区| 色婷五月天| 91熟女视频网| 粉嫩av在线一区二区| 久久精9| 狠狠婷婷亚洲中文综合久久| 九九热在线精品视频| 天天干1区2区在线| 五月丁香拍拍激情综合三级| 日欧毛片久久| 免费?级毛片无码?∨蜜芽试看| 久久国产99精品72福利| 少妇一区二区三区| 亚洲天天艹| 婷婷久月| 97在线国产精品| 青草综合| 情色av电影| 国产精品露脸在线观看| 日韩精品第3页| 欧美的性爱网站免费| 色五月天AV| 另类小说综合网| 午夜精品久久久久久久99热影院| 日韩免费一级性爱视频| 丰满搜索结果 -第18页- 久久高清无码 | 日韩国产精品人妻无码久久久| 日本在线一二| 久久久久久久精| 肥臀熟女福利视频一区二区| 最新无码国产| 91草草草| 亚洲操逼视频网站| 九九热精品视频六| 欧美男人一区| 成人性爱免费播放| 伊人991| 欧美午夜一区二区三区| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 超碰在线在公开超碰在线在公开| 日本一级性爱| 一区二区三区四区理论片| 久久国产精品91| 久久男人精品| 欲综合网| 亚91亚洲网| 日本国产欧美高清在线| 欧美亚洲特P| 女人天堂AV五区在线| 成人性爱AV在线免费观看| 欧美天天综合站| 欧美日韩性爱精品| 中文久久| 操淫穴亚洲五月丁香 | 欧美婷婷久久| 国产久久久久久久久一区二区| 久一区久久蜜桃| 欧美白嫩在线放| 日本午夜久久电影| 欧美精品精品一区二区| 天天干1区2区在线| 婷婷综合在线观看| 女人午夜视频777| 呦呦一区| 热久久无毒不卡| 欧美亚洲激情小说| 日本高清一区二区在线| 亚洲成a人v欧美综合天堂下载| 日本欧美色| 狠狠操夜夜操蜜桃视频三区| 欧美国产精品| 啊啊啊操死我| 精品制服美女中文一区二区三区| 理论久久婷婷网 8| 亚洲精品aa久久伊人| 成年无码动漫av片无尽在线| 天天日骚逼熟女| 精品乱子一区二区三区99| 国产高清成人传媒影视| 97人人夜夜精品视频| 97碰碰色| 国产精品夜夜夜| 今日头条成人一区二区三区四虎精品| 九九热精品| 国产成人免费观看在线视频| 自拍偷拍第26| 亚洲丝袜综合| 国产伊人精品在线| 五月天亚洲网| 久草男人天堂| 有码色中文字幕在线观看| 天天操夜夜操| 久久草大香蕉| 岛园激情| 另类一区| 成年人性爱日韩| 在线色导航| 強姦亂倫a| 婷婷色色五月天福利| 久9精品| 一区二区三区一亚洲中文字幕、综合区灬| 加勒比五月天| 久久精品视频一区三区小泽玛利亚| 亚洲精品97在线| 爱爱动态120秒| 天天综合色电影| 婷婷色婷婷| 国产激情视频在线观看| 日本 欧美 国产一区| 亚洲色图欧美视频| 亚洲欧洲国产综合av| 精品性爱一二三区| 久久肏大逼| 欧美亚洲中文字幕| 3p国产欧美99热| 91狼人| 人妻中文在线| av天堂影视中文在字幕在线中文 | 九九九只有精品| 超碰在线1234区| 国产又大又粗又长视频| 亚洲AV永久无码精品成人调教| 亚洲熟妇AV日韩熟妇在线| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 精品一区二区三区蜜桃臀赵总| 99热在线观看| 国产suv精品一区二区四| 丁香五月天婷婷姐| 亚洲色图加勒比| 丰满精品人妻少妇久久字幕| 欧色性第一页| 超碰在线1234区| 78m成人视线| 91人妻在线视频| 一个人免费视频观看在线WWW| 中文字幕高清精品一区| 97人人操人人摸人人爱| 丁香五月天堂| 99自拍B亚洲 | 久久久精品成人国产| 99热思思| 久久綜合很很很| 伊人嫩草| 亚洲中文字幕在现观看| 精品人妻中文字幕4399| 国产激情在线观看| 偷拍 精品 另类 四区| 白丝jkav| 易易A毛视频| 老司机深夜18禁污污网站| 啪一啪免费视频| 国产精品一二三区福利| 日本大香蕉| 中文字幕青青草| 操操逼视频| 亚洲中文字幕网| 亚洲永久永久永久永久一级一级一级精品 | 成人十八禁日韩欧美一二三| 综合网少妇| 久久久精品中文字幕爱豆| 亚洲精品人妻吞精av| 久久久久骚| 亚洲男人天堂视频| 九九九精品成人免费视频小说| 亚洲色 国产 欧美 日韩| 老女人爆菊| 久久风骚城市| 色综合久久av| 97日本超碰综合| 一二三四区电影| 国产一级137片内射麻豆| 日日夜夜干| 黄色十八禁| 波多野42部激情无码喷潮| 久久五月婷| 亚洲se电影| 日韩性爱毛片操骚逼| 丰满欧美少妇| 草B在线| 无码黑人精品一区二区三区三| 亚洲情色电影网| 亚洲欧美激情小说| 国产h片在线观看视频| 嗯~啊~快点 死我视频| 99热婷婷一区二区三| 日韩卡一卡二卡三在线| 综合 青草 伊久久 影院 综合| 嗯嗯啊啊啊好爽| 人人干人人操人人..com| 四虎884a| 翔田千里无码中出中文字幕| 久久大香蕉手机高清| 97超碰欧美精品| 色色色999| 国产suv精品一区| 99热只有这里有精品| 殴洲老熟女| 人人干黄色| 一区二区 日韩 欧美 国产 传媒| 97国产人人| 97香焦色区| 亚洲色欧美| 国内精品不卡无毒99999| 一起草在线视频| 日韩免费人妻色情网站| 97超碰香蕉| 日本天天吊| 张柏芝国产一区在线观看| 九九色色| 91肉片| 爱干爱射网啊啊啊| 久久精品福利影院| 亚洲少妇激情视频| 色官网色综合| 亚洲91射| 99操| 无码国产精品96久久久久孕妇| 日韩草久视频| 中文AV制服乱伦| 欧美白嫩在线放| 无码操逼网| 久久久一二三四区| 日日夜夜狠狠| 色激情综合网站| 少妇与黑人高潮在线| 影音先锋日本一区二区| 欧美国产有色电影| 久久99午夜精品一区人妻| 91中出在线| 黄色污污污污污污网站| 日韩性爱一级片| 极品久久久久久久久久久久久久| 国产精品久久久久久久黄无码| 大香蕉92| 亚洲综合网电影91| 成 人 A V免费视频在线观看| 久久久穴999| 五月天玖玖资源站| www亚洲欧美| 91亚州欧美| 午夜精品探花| 97免费视频在线观看| 亚洲限制级| 国产伦精品一区二区三区在线观| 国产深夜福利| 制服中出中文人人精品| 丁香九月激情| 内射老妇BBWX0C0CK| AV色五月| 夜夜狼人妻| 美国一区二区免费视频| 人妻精品一区二区| 秋霞一区二区三区四区五区六区七区| 无码WWW免费视频网站| 中国少妇啪啪视频| 大香网伊人久久综合网eew| 欧美日韩性爱视屏免费看了| a级免费在线观看| 丰满丝袜少妇AV| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 国产精品美女视频诱惑| 亚洲欧洲无码一区夜| 男人天堂久久精品| 亚洲图片欧洲图片aⅴ| 97超碰护士| 青草伊人久久| 91成人国产综合久久精品蜜月| 丁香婷婷九月| 中国一级操逼视频| 伊人骚琪琪亚洲天堂网站| 天天超级碰碰碰| 一本正道久久熟女| 五月天婷婷久久| 黑人操一区二区| 综合久久久久久久久91| 国产97色在线 | 亚洲| 欧美亚洲se91| 九九九午夜| 丁香五月婷婷基地| 国产精品岛国片在线观看| 日韩簧片免费看| 男人天堂网址| 欧美激情1区| 亚洲综人网| 人妻天天爽| 久日91在线| 日本999精品视频| 97超碰jingpin| 成人短视频在线观看| 日韩欧美一级特黄大片| 亚洲字幕一区二区| 91一区二区三区蜜桃| 天天做天天爱| 91国模| 中国91AV| 日韩图色| 精品欧美乱码久| 国产精品一区二区三区在线| 色婷婷A V一二三四区麻豆综合| 欧美熟女丝袜| 天天舔天天日天天射| 青青草色情网站视频| 中文字幕乱碼在线| 抽查国产福利主播| 蜜桃精品一区二区三区ww| 91在线页| 色性荡荡荡荡视频| 刺激性视频黄页| 日本免费不卡二区| 精品久久久中文字幕不| 日韩精品三区四区| 成人精品视频一区二区| 中文一区在线日| 日韩视频小说在线观看 | 我要色综合网| 日韩人妻丝袜美腿中文| 人人妻人人色| 9精品久久| 日韩欧美天天爽爽爽天天爽爽| 欧美天天综| 午夜福利在线视频1000| 91欧美另类| 天天日美女的B| 国产熟女自拍| 91成人精品| 97超碰中文在线| 1769成人国产精品视频| 亚洲国产精品无码AV久久| 9久在线视频只有精品| 人人做,人人操,人人摸| 人妻少妇被猛烈进入中| 无码乱人伦中文视频| 超碰成人免费| 超碰超碰欧美| 91亚州欧美| 亚洲一区制服诱惑| 男人的天堂com| 午夜精品久久一区二区| 激情抓乳插进去啪啪啪日韩 | 欧美精品久久96人妻无码| 91天美传媒在线观看| 亚欧美综合| 久久一二三四| 激情无码日韩| 蜜桃臀av在线观看| 中文字幕少妇色| 中出在线视频| 久久大黄片| 青娱乐国产盛宴视频| 五月天成人综合| 黄网站黄视频网站进入口 | 天天做日日爱夜夜爽| 视频二区美腿丝袜制服人妻欧美 | 亚洲在线欧美| 亚洲欧美中文一区二区三| 五月丁香网站| 久久精品夜色国产亚洲AV| 欧美激情内射| 日本免费一级AAA大片器| 婷婷五月天色| 日韩资源网| 精品午夜福利导航| 黄色av片三级三级三级免费看| 麻豆2区1区天美| 日韩97精| 丁香五月性爱| 久久久久久九九九九-美女久久久久久久-成人AV| 囯产精品强| 欧美精品宗合| aaa一级黄片| 成人热久久精品| 亚洲欧美伦综合| 日本操逼视频导航| 人妻密肉在线观看| 久久香蕉国产线看观看亚洲女人| 欧美一区二区一级岛国大片| 日本99久久| 日韩无码AB| 秋霞色色影院| 99热66| 亚洲综合骚逼| 91精品人妻偷情| 亚洲天堂中文字幕无码男同| 九草九九九| 天堂俺去俺来也www久久婷婷| 久久久精品国产亚洲伊人| 国产后入清纯| 天天躁日日躁AAAAXXXX国产 | 欧美碰碰综合色| 92人人操人人| 日韩欧美天天爽爽爽天天爽爽| 国产午夜精品理论片一二三区区| 国产日比| 91中文字幕在线观看| 久久成人国产| 麻豆国产成人精品| 91被操| 一区二区三区国产精产| 男人午夜天堂| 日本精品一区三区| 亚洲男人的天堂va亚洲男人社| 日本午夜久久电影| 亚州精品人妻一二三区| 操逼片中文| 久久精品高清无码一区| 久久久亚洲高清不打码| 亚洲激情色片 | 精品国产99| 成人精品久久久午夜福利| 国产精品经典一卡久久久| 少妇久久| 91 丝袜在线| 成人蜜乳小视频网站| 久久久久久性爱视频| 国产日韩精品suv| 五月天伊人| 亚欧毛片基地国产毛片基地| 91亚州欧美| 高清国产成人无码| 久久视频少妇美女| 亚洲制服欧美另类内射| 人乳av| 丁香六月婷婷综合| 97在线免费看视频| 久久免费中文字幕在线观看| 日韩肏逼视频| 国产亚卅97| 一本一道vs波多野结衣| 亚洲不卡一| 无码9区| 乱伦熟妇一区二区| 亚洲美女 晚间男人天堂| 国产小黄片在线免费观看| 插B在线观看| 99热精品在线| 日本操逼aaaaa| 亚洲综合校园春色| 婷婷九月色| 色在线视频导航| 60秒免费小视频| 欧美日韩性爱操大逼| 欧美色图欧美| 色鬼在线综合| 性爱乱伦网址| 久久精品黄色| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 日韩日韩日韩-国产乱码精品一区二区| 免费观看的av| 浓厚中出中文字幕在线| 蜜臀久久99'精品久久久| 嗯啊不要在线| 日韩国产不卡在线视频| 国产农村妇女毛片精品久久| 97干在线看| 在线中文字幕极品av| 综合欧美亚洲| 碰超人人在线一区二区三区| 婷婷99狠狠躁天天躁| 亚洲国产一级黄色视频| 国产av色网| 97欧美精品综合| 日韩精品一区二区三区色欲 | 精品人妻一区二区三区夜夜| 99久久婷婷国产综合| 日韩视频精品在线观看| 国产中文字幕在线观看| 97超久碰| 国内外色色色色色成人视频| 特级特黄一级毛片免费| 三及片网站| 色综合99999| 亚洲18禁| 精品人人插人人操| 亚欧毛片基地国产毛片基地| 清纯唯美第一页| 自拍亚洲综合| 91九色丨国产丨爆乳| 婷婷丁香成人| 秋霞久久亚洲精品成人| 国产精品网址| 97欧美色| 精品人妻一区二区乱码一区二区| 丁香五月色情| 亚洲古典另类欧美在线| 国产精品午夜福利亚洲综合网| 校园激情狠狠四射| 2019亚洲男人天堂| 情色av电影| 鲁鲁色综合网| 亚洲操操| 国产激情在线观看| 欧美精品99久久久**| 日本中文字幕不卡视频| 亚洲有码视频二区| 97ai亚洲| 韩国毛片一区二区三区| 97久久久精品| 日韩在线人妻网站| 91在线|亚| 天天爽夜夜操| 99久久九九| 日韩在线观看中文字幕视频| 91社操逼| 精品国产91av一区二区三区| 免费成人自拍视频在线| 日韩精品-原创伙伴| 舔人妻中文免费视频| 成人一级二级| 狠狠干妹子| 国产成人啪一区二区| 91精品国产乱码| 一本久久精品中文字| 久久精9| 色网在线| 久久久久久久久久久久九| 综合天天网| 麻豆国产成人精品| 精品无码人妻一区二区免费蜜桃| 久久一区二区蜜桃| 亚洲欧洲日韩天堂av| 绯色一区二区三区不卡少妇| 亚洲人妻久久| 国产传媒日韩欧美| 国产成人在线观看网址| 最新亚洲黄色免费电影| 亚洲欧美另类激情小说| 日本人妻最新在线中| 日本乱人伦片中文三区| 岛国黄片网站| 美女尤物人人操| 欧美日韩性爱无码| 亚洲日韩美女中文字幕乱| 人、人、摸,人、人、草| 欧美性爱在线无码| 丁香五月激情综合| 久草综合京东|