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

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

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

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

張嘉振 ? 來源:jf_63760997 ? 作者:jf_63760997 ? 2023-07-02 10:26 ? 次閱讀

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

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

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

# 影響網(wǎng)絡(luò)的自動求導(dǎo)機(jī)制,使網(wǎng)絡(luò)前向傳播后不進(jìn)行求導(dǎo)和反向傳播(僅測試時使用)
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ò)模型,返回一個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)入評估模式,神經(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,從指定路徑加載待測圖像

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

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)


# 單張圖片的測試過程
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人臉檢測結(jié)果。

補(bǔ)充:

DSFD只接收輸入格式為jpg的圖片,因此對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)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    14

    文章

    7586

    瀏覽量

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

    關(guān)注

    8

    文章

    648

    瀏覽量

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

    關(guān)注

    4

    文章

    1208

    瀏覽量

    24747
收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

    阻塞信號的設(shè)定過程

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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