0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用DSFD檢測(cè)DarkFace數(shù)據(jù)集過(guò)程

張嘉振 ? 來(lái)源:jf_63760997 ? 作者:jf_63760997 ? 2023-07-02 10:26 ? 次閱讀

1.下載Dark Face數(shù)據(jù)集,使用track2.2_test_sample文件中圖片進(jìn)行人臉檢測(cè)測(cè)試。

2.修改DSFD源碼中demo.py部分:

test_oneimage():
def test_oneimage():
# load net

# 影響網(wǎng)絡(luò)的自動(dòng)求導(dǎo)機(jī)制,使網(wǎng)絡(luò)前向傳播后不進(jìn)行求導(dǎo)和反向傳播(僅測(cè)試時(shí)使用)
torch.set_grad_enabled(False)

# 加載config配置參數(shù)
cfg = widerface_640
# 分類的類別數(shù)目---widerface.py
num_classes = len(WIDERFace_CLASSES) + 1 # +1 background
# 加載SSD網(wǎng)絡(luò)模型,返回一個(gè)SSD實(shí)例
net = build_ssd('test', cfg['min_dim'], num_classes) # initialize SSD
# 加載預(yù)訓(xùn)練模型train_model
net.load_state_dict(torch.load(args.trained_model))
net.cuda()
# 表示進(jìn)入評(píng)估模式,神經(jīng)網(wǎng)絡(luò)中有train(),eval()兩種模式,使用eval()可關(guān)閉dropout
net.eval()
print('Finished loading model!')

# evaluation
cuda = args.cuda
transform = TestBaseTransform((104, 117, 123))
thresh=cfg['conf_thresh']
#save_path = args.save_folder
#num_images = len(testset)

# load data,從指定路徑加載待測(cè)圖像

'''
以此為界,前半部分為網(wǎng)絡(luò)模型加載和初始化,后半部分為單張圖片的人臉檢測(cè)。此處為測(cè)試圖片的路
徑設(shè)置過(guò)程。
修改部分,不適用arg.imag_root作為測(cè)試圖像路徑.
遍歷darkface數(shù)據(jù)集100張圖片,依次讀取并進(jìn)行測(cè)試
'''

folder = './data/'

#img_id = 'face'
for i in range(100):

img = cv2.imread(folder + str(i) + '_fake_B.jpg', cv2.IMREAD_COLOR)
img_id = 'test' + str(i)


# 單張圖片的測(cè)試過(guò)程
max_im_shrink = ( (2000.0*2000.0) / (img.shape[0] * img.shape[1])) ** 0.5
shrink = max_im_shrink if max_im_shrink < 1 else 1

det0 = infer(net , img , transform , thresh , cuda , shrink)
det1 = infer_flip(net , img , transform , thresh , cuda , shrink)
# shrink detecting and shrink only detect big face
st = 0.5 if max_im_shrink >= 0.75 else 0.5 * max_im_shrink
det_s = infer(net , img , transform , thresh , cuda , st)
index = np.where(np.maximum(det_s[:, 2] - det_s[:, 0] + 1, det_s[:, 3] - det_s[:, 1] + 1) > 30)[0]
det_s = det_s[index, :]
# enlarge one times
factor = 2
bt = min(factor, max_im_shrink) if max_im_shrink > 1 else (st + max_im_shrink) / 2
det_b = infer(net , img , transform , thresh , cuda , bt)
# enlarge small iamge x times for small face
if max_im_shrink > factor:
bt *= factor
while bt < max_im_shrink:
det_b = np.row_stack((det_b, infer(net , img , transform , thresh , cuda , bt)))
bt *= factor
det_b = np.row_stack((det_b, infer(net , img , transform , thresh , cuda , max_im_shrink) ))
# enlarge only detect small face
if bt > 1:
index = np.where(np.minimum(det_b[:, 2] - det_b[:, 0] + 1, det_b[:, 3] - det_b[:, 1] + 1) < 100)[0]
det_b = det_b[index, :]
else:
index = np.where(np.maximum(det_b[:, 2] - det_b[:, 0] + 1, det_b[:, 3] - det_b[:, 1] + 1) > 30)[0]
det_b = det_b[index, :]
det = np.row_stack((det0, det1, det_s, det_b))
det = bbox_vote(det)
vis_detections(img , det , img_id, args.visual_threshold)
3.運(yùn)行demo.py即可。能在arg.save_folder處得到100張dark_face人臉檢測(cè)結(jié)果。

補(bǔ)充:

DSFD只接收輸入格式為jpg的圖片,因此對(duì)darkface數(shù)據(jù)集進(jìn)行批量轉(zhuǎn)換。

import os
from PIL import Image

dirname_read="/home/...DSFD/darkface_png/"   # png格式圖片的輸入路徑
dirname_write="/home/...DSFD/data/"    # jpg圖片的輸出路徑
names=os.listdir(dirname_read)
count=0
for name in names:
   img=Image.open(dirname_read+name)
   name=name.split(".")
   if name[-1] == "png":
       name[-1] = "jpg"
       name = str.join(".", name)
       #r,g,b,a=img.split()
       #img=Image.merge("RGB",(r,g,b))
       to_save_path = dirname_write + name
       img.save(to_save_path)
       count+=1
       print(to_save_path, "------conut:", count)
   else:
       conti

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    14

    文章

    7389

    瀏覽量

    88216
  • 源碼
    +關(guān)注

    關(guān)注

    8

    文章

    626

    瀏覽量

    28975
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1197

    瀏覽量

    24538
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    開發(fā)和測(cè)試應(yīng)該有多大?

    的開發(fā)將無(wú)法檢測(cè)出這 0.1% 的差異。與我所遇到的機(jī)器學(xué)習(xí)問題相比,一個(gè)樣本容量?jī)H為 100 的開發(fā),規(guī)模太小了。通常來(lái)說(shuō),開發(fā)的規(guī)模應(yīng)該在 1,000 到 10,000 個(gè)樣
    發(fā)表于 12-10 10:23

    建立開發(fā)和測(cè)試(總結(jié))

    ,可以考慮花費(fèi)更長(zhǎng)的時(shí)間來(lái)執(zhí)行這些工作。? 傳統(tǒng)的 70% / 30% 訓(xùn)練/測(cè)試劃分對(duì)于大規(guī)模數(shù)據(jù)并不適用,實(shí)際上,開發(fā)和測(cè)試的比
    發(fā)表于 12-14 10:56

    阻塞信號(hào)的設(shè)定過(guò)程

    PCB的信號(hào)阻塞信號(hào)的設(shè)定過(guò)程
    發(fā)表于 02-24 07:35

    一個(gè)benchmark實(shí)現(xiàn)大規(guī)模數(shù)據(jù)上的OOD檢測(cè)

    的樣本類別,所以在訓(xùn)練模型過(guò)程中,需要完成對(duì)于OOD樣本的檢測(cè)。然而,現(xiàn)有的解決方案主要是由小型、低分辨率的數(shù)據(jù)驅(qū)動(dòng)的,如CIFAR和MNIST。像自動(dòng)駕駛汽車這樣的部署系統(tǒng)通常對(duì)分
    發(fā)表于 08-31 15:11

    基于SP-LNS-kNN的半導(dǎo)體生產(chǎn)過(guò)程故障檢測(cè)方法研究

    的統(tǒng)計(jì)模量,其次對(duì)樣本的統(tǒng)計(jì)模量使用其局部K近鄰進(jìn)行標(biāo)準(zhǔn)化,最后計(jì)算樣本與其前K近鄰距離,得到平均累積距離D作為檢測(cè)指標(biāo),進(jìn)而對(duì)工業(yè)過(guò)程故障進(jìn)行在線檢測(cè)。統(tǒng)計(jì)模量保留了
    發(fā)表于 02-10 10:06 ?1次下載

    多維數(shù)據(jù)是什么

    使用多維數(shù)據(jù)向?qū)?,可以?SQL Server 2005 中輕松定義簡(jiǎn)單的多維數(shù)據(jù)。該向?qū)Э梢詭椭鸀槎嗑S數(shù)據(jù)
    的頭像 發(fā)表于 02-24 10:48 ?9504次閱讀
    多維<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>集</b>是什么

    深度學(xué)習(xí)數(shù)據(jù),哪里可以獲得這些數(shù)據(jù)

    這是用于開發(fā)物體檢測(cè)算法的真實(shí)世界圖像數(shù)據(jù)。這些只需要最少的數(shù)據(jù)預(yù)處理。它與本列表中提到的MNIST數(shù)據(jù)
    的頭像 發(fā)表于 04-27 16:28 ?1.2w次閱讀

    在不使用任何額外數(shù)據(jù)的情況下,COCO數(shù)據(jù)上物體檢測(cè)結(jié)果為50.9 AP的方法

    。訓(xùn)練數(shù)據(jù)共有 118k 張圖片,而驗(yàn)證包含 5k 張圖片。對(duì)于檢測(cè)任務(wù),我們?cè)u(píng)估了 bbox 和 AP(Aversage Precision)指標(biāo);對(duì)于實(shí)例分割,我們以 mask
    的頭像 發(fā)表于 11-24 10:42 ?8292次閱讀
    在不使用任何額外<b class='flag-5'>數(shù)據(jù)</b>的情況下,COCO<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>集</b>上物體<b class='flag-5'>檢測(cè)</b>結(jié)果為50.9 AP的方法

    騰訊優(yōu)圖推出名為DSFD(中文名為雙分支人臉檢測(cè)器)的全新算法

    該算法已被計(jì)算機(jī)視覺頂級(jí)會(huì)議CVPR 2019接收,原文《DSFD: Dual Shot Face Detector》由南京理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 PCALab 與騰訊優(yōu)圖實(shí)驗(yàn)室合作完成。
    的頭像 發(fā)表于 04-12 12:19 ?5662次閱讀

    一種基于檢測(cè)層次聚類的否定選擇算法

    傳統(tǒng)的否定選擇過(guò)程需要將全部檢測(cè)器與測(cè)試數(shù)據(jù)進(jìn)行匹配以排除異常數(shù)據(jù),該匹配過(guò)程需要花費(fèi)大量時(shí)間,導(dǎo)致檢測(cè)
    發(fā)表于 04-01 14:08 ?13次下載
    一種基于<b class='flag-5'>檢測(cè)</b>器<b class='flag-5'>集</b>層次聚類的否定選擇算法

    使用tf.data進(jìn)行數(shù)據(jù)處理

    在進(jìn)行AI模型訓(xùn)練過(guò)程前,需要對(duì)數(shù)據(jù)進(jìn)行處理, Tensorflow提供了tf.data數(shù)據(jù)處理模塊,通過(guò)該接口能夠輕松實(shí)現(xiàn)
    的頭像 發(fā)表于 11-29 15:34 ?1106次閱讀

    PyTorch教程14.6之對(duì)象檢測(cè)數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《PyTorch教程14.6之對(duì)象檢測(cè)數(shù)據(jù).pdf》資料免費(fèi)下載
    發(fā)表于 06-05 11:23 ?0次下載
    PyTorch教程14.6之對(duì)象<b class='flag-5'>檢測(cè)</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>集</b>

    PyTorch教程-14.6. 對(duì)象檢測(cè)數(shù)據(jù)

    14.6. 對(duì)象檢測(cè)數(shù)據(jù)? Colab [火炬]在 Colab 中打開筆記本 Colab [mxnet] Open the notebook in Colab Colab [jax
    的頭像 發(fā)表于 06-05 15:44 ?388次閱讀
    PyTorch教程-14.6. 對(duì)象<b class='flag-5'>檢測(cè)</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>集</b>

    最全自動(dòng)駕駛數(shù)據(jù)分享系列一:目標(biāo)檢測(cè)數(shù)據(jù)

    自動(dòng)駕駛數(shù)據(jù)分享是整數(shù)智能推出的一個(gè)全新分享系列,在這個(gè)系列中,我們將介紹目前為止各大科研機(jī)構(gòu)和企業(yè)推出的所有公開自動(dòng)駕駛數(shù)據(jù)。數(shù)據(jù)
    發(fā)表于 06-06 11:15 ?2次下載
    最全自動(dòng)駕駛<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>集</b>分享系列一:目標(biāo)<b class='flag-5'>檢測(cè)</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>集</b>

    PyTorch如何訓(xùn)練自己的數(shù)據(jù)

    數(shù)據(jù)。本文將深入解讀如何使用PyTorch訓(xùn)練自己的數(shù)據(jù),包括數(shù)據(jù)準(zhǔn)備、模型定義、訓(xùn)練過(guò)程
    的頭像 發(fā)表于 07-02 14:09 ?545次閱讀