操:5 步搞定人臉識(shí)別模型訓(xùn)練與 LFW 評(píng)估)
Arcface-PyTorch 完整實(shí)操5 步搞定人臉識(shí)別模型訓(xùn)練與 LFW 評(píng)估【免費(fèi)下載鏈接】arcface-pytorch這是一個(gè)arcface-pytorch的源碼可以用于訓(xùn)練自己的模型。項(xiàng)目地址: https://gitcode.com/gh_mirrors/arc/arcface-pytorchArcface-PyTorch 是一套基于 PyTorch 的人臉識(shí)別模型實(shí)現(xiàn)核心用途是判斷兩張人臉是否屬于同一人并支持用 Arcface 損失函數(shù)訓(xùn)練自己的權(quán)重。本文按環(huán)境核對(duì) → 權(quán)重下載 → 數(shù)據(jù)準(zhǔn)備 → 標(biāo)注生成 → 訓(xùn)練 → 評(píng)估的完整流水線帶你走一遍每條命令和常見(jiàn)坑點(diǎn)都列清楚了照做即可跑通??焖偎俨橄扔涀∵@幾條命令你想做的事對(duì)應(yīng)文件 / 命令獲取源碼git clone https://gitcode.com/gh_mirrors/arc/arcface-pytorch跑人臉比對(duì)預(yù)測(cè)python predict.py生成訓(xùn)練標(biāo)注python txt_annotation.py啟動(dòng)訓(xùn)練python train.pyLFW 數(shù)據(jù)集評(píng)估python eval_LFW.py下面逐段展開(kāi)細(xì)節(jié)。環(huán)境版本核對(duì)清單裝環(huán)境前先看這張表版本不匹配是報(bào)錯(cuò)的最大來(lái)源組件版本要求安裝方式Python3.6 及以上官方渠道安裝PyTorch1.2.0 及以上pip install torch1.2.0其余 Python 依賴以 requirements.txt 為準(zhǔn)pip install -r requirements.txt?? PyTorch 版本過(guò)低時(shí)train.py里 fp16 混合精度、部分算子會(huì)直接報(bào)錯(cuò)建議嚴(yán)格按上表安裝。源碼獲取與預(yù)訓(xùn)練權(quán)重就位克隆倉(cāng)庫(kù)并進(jìn)入目錄git clone https://gitcode.com/gh_mirrors/arc/arcface-pytorch cd arcface-pytorch下載已訓(xùn)練好的權(quán)值百度網(wǎng)盤鏈接 鏈接: https://pan.baidu.com/s/1ElJlfmMwOGX699MsgLY8qA 提取碼: z3rq 解壓后把.pth文件放進(jìn)model_data/目錄倉(cāng)庫(kù)里已有arcface_mobilefacenet.pth若缺失需補(bǔ)上。?? 提取碼是區(qū)分大小寫(xiě)的z3rq權(quán)重文件必須落在model_data/下放錯(cuò)目錄會(huì)導(dǎo)致predict.py與eval_LFW.py加載權(quán)重時(shí)直接找不到文件。數(shù)據(jù)集下載與目錄放置訓(xùn)練和評(píng)估依賴兩個(gè)數(shù)據(jù)集CASIA-WebFaces用于訓(xùn)練解壓后放進(jìn)項(xiàng)目根目錄的datasets/路徑下LFW用于評(píng)估解壓后放進(jìn)項(xiàng)目根目錄。百度網(wǎng)盤鏈接 鏈接: https://pan.baidu.com/s/1qMxFR8H_ih0xmY-rKgRejw 提取碼: bcrq?? 兩個(gè)數(shù)據(jù)集都要解壓到項(xiàng)目根目錄這一層多套一層文件夾后train.py和eval_LFW.py里寫(xiě)死的相對(duì)路徑如lfw就全部失效了。生成訓(xùn)練標(biāo)注 cls_train.txt代碼要求人臉圖片按人分目錄存放結(jié)構(gòu)如下|- datasets |- people0 |- 123.jpg |- 234.jpg |- people1 |- 345.jpg |- 456.jpg整理好后運(yùn)行標(biāo)注腳本它會(huì)自動(dòng)掃描datasets/并輸出cls_train.txt每行格式為類別編號(hào);圖片絕對(duì)路徑python txt_annotation.py選擇主干網(wǎng)絡(luò)并啟動(dòng)訓(xùn)練打開(kāi)train.py訓(xùn)練前重點(diǎn)核對(duì)以下配置backbone主干特征提取網(wǎng)絡(luò)可選mobilefacenet、mobilenetv1、iresnet18/34/50/100/200其中 MobileNet 系和 IResNet 系是兩套典型架構(gòu)model_path指向已訓(xùn)練的.pth文件想從 0 開(kāi)始訓(xùn)練則留空batch_size默認(rèn) 64顯存不足時(shí)調(diào)小受 BatchNorm 限制不能為 1input_shape默認(rèn)[112, 112, 3]與評(píng)估、預(yù)測(cè)保持一致。配置無(wú)誤后啟動(dòng)訓(xùn)練python train.pyLFW 評(píng)估訓(xùn)練質(zhì)量怎么驗(yàn)證eval_LFW.py中先設(shè)置與訓(xùn)練一致的主干網(wǎng)絡(luò)和權(quán)重路徑backbonemodel_path然后運(yùn)行python eval_LFW.py腳本會(huì)遍歷 LFW 配對(duì)樣本輸出驗(yàn)證準(zhǔn)確率并生成 ROC 曲線默認(rèn)保存到model_data/roc_test.png曲線越貼近左上角說(shuō)明模型在真陽(yáng)性率-假陽(yáng)性率權(quán)衡上表現(xiàn)越好參考權(quán)重在 LFW 上的準(zhǔn)確率可達(dá) 98%~99% 區(qū)間。人臉比對(duì)預(yù)測(cè)怎么用想快速驗(yàn)證效果直接運(yùn)行預(yù)測(cè)腳本python predict.py終端會(huì)提示輸入兩張圖片路徑依次填入img/1_001.jpg img/1_002.jpg程序返回的數(shù)值即兩張人臉屬于同一人的相似度概率。若換用自己訓(xùn)練的權(quán)重記得先修改arcface.py里的model_path與backbone二者必須對(duì)應(yīng)。到這里環(huán)境、權(quán)重、數(shù)據(jù)、標(biāo)注、訓(xùn)練、評(píng)估六個(gè)環(huán)節(jié)你已經(jīng)全部走通現(xiàn)在你可以直接預(yù)測(cè)任意兩張人臉的相似度在 LFW 上量化模型表現(xiàn)也能更換 backbone、調(diào)整訓(xùn)練參數(shù)訓(xùn)練一套屬于自己數(shù)據(jù)集的人臉識(shí)別權(quán)重?!久赓M(fèi)下載鏈接】arcface-pytorch這是一個(gè)arcface-pytorch的源碼可以用于訓(xùn)練自己的模型。項(xiàng)目地址: https://gitcode.com/gh_mirrors/arc/arcface-pytorch創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考