国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

YOLOv5實(shí)現(xiàn)目標(biāo)分類計(jì)數(shù)并顯示在圖像上

這篇具有很好參考價(jià)值的文章主要介紹了YOLOv5實(shí)現(xiàn)目標(biāo)分類計(jì)數(shù)并顯示在圖像上。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

? ? ? ? 有同學(xué)后臺(tái)私信我,想用YOLOv5實(shí)現(xiàn)目標(biāo)的分類計(jì)數(shù),因此本文將在之前目標(biāo)計(jì)數(shù)博客的基礎(chǔ)上添加一些代碼,實(shí)現(xiàn)分類計(jì)數(shù)。閱讀本文前請(qǐng)先看那篇博客,鏈接如下:

YOLOv5實(shí)現(xiàn)目標(biāo)計(jì)數(shù)_Albert_yeager的博客

1. 分類實(shí)現(xiàn)

? ? ? ? 以coco數(shù)據(jù)集為例,其類別如下(共80類)。注意,每個(gè)類別都對(duì)應(yīng)著一個(gè)序號(hào),如: 'person' 序號(hào)為0,? 'bicycle' 序號(hào)為1,? 'car'? 序號(hào)為2...這個(gè)在之后的調(diào)用中會(huì)用到。

YOLOv5實(shí)現(xiàn)目標(biāo)分類計(jì)數(shù)并顯示在圖像上

? ? ? ? ?找到之前寫的的計(jì)數(shù)模塊(詳見之前的博客),將其替換為下面的代碼,即可實(shí)現(xiàn)分類計(jì)數(shù)功能,下面我將進(jìn)行詳細(xì)的講解。

# Write results+計(jì)數(shù)
# count=0
person_count = 0
tie_count = 0
for *xyxy, conf, cls in reversed(det):
    if save_txt:  # Write to file
        xywh = (xyxy2xywh(torch.tensor(xyxy).view(1, 4)) / gn).view(-1).tolist()  # normalized xywh
        line = (cls, *xywh, conf) if opt.save_conf else (cls, *xywh)  # label format
        with open(txt_path + '.txt', 'a') as f:
            f.write(('%g ' * len(line)).rstrip() % line + '\n')

    if save_img or view_img:  # Add bbox to image
        #c = int(cls)# integer class分類數(shù)
        #label = '%s %.2f  num: %d' % (names[int(cls)], conf, person_count)
        label = f'{names[int(cls)]} {conf:.2f}'
        plot_one_box(xyxy, im0, label=label, color=colors[int(cls)], line_thickness=3)
    ##########################分類計(jì)數(shù)##########################
        if int(cls) == 0:
            person_count += 1
        if int(cls) == 27:
            tie_count += 1
        # count = count+1

YOLOv5實(shí)現(xiàn)目標(biāo)分類計(jì)數(shù)并顯示在圖像上

? ? ? ? ?添加的主要代碼為1、2、4,其中1、2是初始化兩個(gè)類別的個(gè)數(shù),這里我選擇人('person')和領(lǐng)帶('tie')作為兩個(gè)計(jì)數(shù)的類(可以根據(jù)需求添加自己的類)。3是顯示標(biāo)簽的格式,下面那一行是官方的,你也可以改成自己喜歡的樣子。

????????重點(diǎn)來了!4中的代碼是兩個(gè)判斷,int(cls)表示類別的序號(hào)。在coco的類別中,'person' 的序號(hào)為0,因此當(dāng) int(cls) ==?0 時(shí)也就是當(dāng)識(shí)別到人時(shí),人的計(jì)數(shù)器 person_count+1;'tie' 的序號(hào)為27,因此當(dāng) int(cls) ==?27 時(shí)也就是當(dāng)識(shí)別到領(lǐng)帶時(shí),領(lǐng)帶的計(jì)數(shù)器 tie_count+1。這樣就能實(shí)現(xiàn)分類計(jì)數(shù)。

YOLOv5實(shí)現(xiàn)目標(biāo)分類計(jì)數(shù)并顯示在圖像上

? ? ? ? ?這里用的推斷模型是yolov5s.pt,是用coco數(shù)據(jù)集訓(xùn)練出來的,因此識(shí)別的類就是上面展示的80類,序號(hào)就是依次從0-79(這是一句廢話)。那么如果要對(duì)自己的數(shù)據(jù)集進(jìn)行分類計(jì)數(shù),那么就要用自己訓(xùn)練出來的模型進(jìn)行推斷,序號(hào)就是按訓(xùn)練部署時(shí)names數(shù)組中的序列,從0開始,依次遞增。

? ? ? ? 為了講得更清楚,我再舉一個(gè)例子(點(diǎn)贊關(guān)注一下唄(>﹏<) ,555~)

????????下面是我自己訓(xùn)練部署時(shí)的數(shù)據(jù)集文件內(nèi)容,可以看到我要識(shí)別五個(gè)目標(biāo),分別是HEWSN,那么根據(jù)names數(shù)組中的序列,‘H’對(duì)應(yīng)的序號(hào)為0,E對(duì)應(yīng)1,W對(duì)應(yīng)2,S對(duì)應(yīng)3,N對(duì)應(yīng)4。

YOLOv5實(shí)現(xiàn)目標(biāo)分類計(jì)數(shù)并顯示在圖像上

? ? ? ? ?如果我想對(duì)W和S進(jìn)行分類計(jì)數(shù),那么上面的代碼應(yīng)該改成下面這樣,首先定義W_count,S_count兩個(gè)計(jì)數(shù)器,然后當(dāng)int(cls) == 2時(shí)W_count+1,int(cls) == 3時(shí)S_count+1。當(dāng)然,推斷模型記得改成自己的(更改 '--weights' 參數(shù)的默認(rèn)值)。

# Write results+計(jì)數(shù)
# count=0
W_count = 0
S_count = 0
for *xyxy, conf, cls in reversed(det):
    if save_txt:  # Write to file
        xywh = (xyxy2xywh(torch.tensor(xyxy).view(1, 4)) / gn).view(-1).tolist()  # normalized xywh
        line = (cls, *xywh, conf) if opt.save_conf else (cls, *xywh)  # label format
        with open(txt_path + '.txt', 'a') as f:
            f.write(('%g ' * len(line)).rstrip() % line + '\n')

    if save_img or view_img:  # Add bbox to image
        #c = int(cls)# integer class分類數(shù)
        #label = '%s %.2f  num: %d' % (names[int(cls)], conf, person_count)
        label = f'{names[int(cls)]} {conf:.2f}'
        plot_one_box(xyxy, im0, label=label, color=colors[int(cls)], line_thickness=3)
    ##########################分類計(jì)數(shù)##########################
        if int(cls) == 2:
            W_count += 1
        if int(cls) == 3:
            S_count += 1
        # count = count+1

2. 圖片/視頻識(shí)別顯示計(jì)數(shù)內(nèi)容

? ? ? ? 為了將計(jì)數(shù)結(jié)果顯示在圖像上,需要使用 cv2.putText() 函數(shù),具體添加方法如下:

YOLOv5實(shí)現(xiàn)目標(biāo)分類計(jì)數(shù)并顯示在圖像上

???????在 “if save_img:” 后添加下面這幾行代碼即可,這里我就只打印人和領(lǐng)帶的計(jì)數(shù)了,大家可以根據(jù)自己的需求改。

##############################視頻識(shí)別顯示計(jì)數(shù)內(nèi)容####################################
text = 'person_num:%d ' % (person_count)
cv2.putText(im0, text, (180, 50), cv2.FONT_HERSHEY_SIMPLEX, 2, (0, 0, 255), 5)
text = 'tie_num:%d ' % (tie_count)
cv2.putText(im0, text, (180, 120), cv2.FONT_HERSHEY_SIMPLEX, 2, (255, 0, 0), 5)
####################################################################################

? ? ? ? 另外注意cv2.putText()函數(shù)的幾個(gè)參數(shù)意義,然后慢慢調(diào)參,讓打印出來的圖片美觀就行了。

cv2.putText(im0, text, (40, 100), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 4)
# 要繪制的圖像(im0)
# 要繪制的文本字符串(text)
# 文本的位置(x, y),窗口左上角為(0,0)
# 要使用的字體類型(font),這里用OpenCV的內(nèi)嵌字體
# 字體大小(font_scale),在此處為1
# 字體顏色(font_color),在此處為紅色(0, 0, 255)
# 字體線寬(thickness),在此處為4???

????????最后實(shí)現(xiàn)效果如下(視頻識(shí)別同理):

YOLOv5實(shí)現(xiàn)目標(biāo)分類計(jì)數(shù)并顯示在圖像上

?????????

3. 實(shí)時(shí)檢測(cè)窗口打印計(jì)數(shù)內(nèi)容

????????為了將計(jì)數(shù)結(jié)果顯示在實(shí)時(shí)檢測(cè)的窗口中,同樣需要使用 cv2.putText() 函數(shù),具體的修改方法如下:

YOLOv5實(shí)現(xiàn)目標(biāo)分類計(jì)數(shù)并顯示在圖像上

????????在 “if view_img:” 后添加下面這幾行代碼(這里我就只打印人的計(jì)數(shù)了,大家可以根據(jù)自己的需求改)。

##############################實(shí)時(shí)檢測(cè)窗口打印計(jì)數(shù)內(nèi)容#################################
text = 'person_num:%d ' % (person_count)
cv2.putText(im0, text, (180, 40), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 4)
####################################################################################

????????

? ? ? ? 希望這篇文章可以幫助到大家,其他評(píng)論區(qū)和私信問我問題的同學(xué)們也不要急,你們的問題我一直在研究,如果完成了我會(huì)第一時(shí)間發(fā)出來并通知你的(≧?≦)/

求學(xué)路上,你我共勉(??????)??文章來源地址http://www.zghlxwxcb.cn/news/detail-474281.html

到了這里,關(guān)于YOLOv5實(shí)現(xiàn)目標(biāo)分類計(jì)數(shù)并顯示在圖像上的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 圖像處理實(shí)戰(zhàn)02-yolov5目標(biāo)檢測(cè)

    圖像處理實(shí)戰(zhàn)02-yolov5目標(biāo)檢測(cè)

    YOLOv5 是一種目標(biāo)檢測(cè)算法,它是 YOLO (You Only Look Once) 系列算法的最新版本。YOLOv5 采用了一種新的架構(gòu),它包括一個(gè)基于 CSPNet (Cross Stage Partial Network) 的主干網(wǎng)絡(luò)以及一系列改進(jìn)的技巧,如多尺度訓(xùn)練、數(shù)據(jù)增強(qiáng)、網(wǎng)絡(luò)混合精度訓(xùn)練等,從而實(shí)現(xiàn)了更快的檢測(cè)速度和更好的檢測(cè)

    2024年02月09日
    瀏覽(23)
  • 【目標(biāo)檢測(cè)】YOLOv5:標(biāo)簽中文顯示/自定義顏色

    【目標(biāo)檢測(cè)】YOLOv5:標(biāo)簽中文顯示/自定義顏色

    本篇主要用來實(shí)現(xiàn)將YOLOv5輸出的標(biāo)簽轉(zhuǎn)成中文,并且自定義標(biāo)簽顏色的需求。 我所使用的是YOLOv5-5.0版本。 在detect.py中,這兩行代碼設(shè)置標(biāo)簽名字和顏色。 可以發(fā)現(xiàn),類別名字并不是在運(yùn)行檢測(cè)時(shí)導(dǎo)入的,而是內(nèi)嵌在保存的模型參數(shù)文件中。 新建一個(gè) load_model.py 文件,加載

    2024年02月04日
    瀏覽(19)
  • yolov5旋轉(zhuǎn)目標(biāo)檢測(cè)遙感圖像檢測(cè)-無人機(jī)旋轉(zhuǎn)目標(biāo)檢測(cè)(代碼和原理)

    yolov5旋轉(zhuǎn)目標(biāo)檢測(cè)遙感圖像檢測(cè)-無人機(jī)旋轉(zhuǎn)目標(biāo)檢測(cè)(代碼和原理)

    YOLOv5(You Only Look Once version 5)是一個(gè)流行且高效的實(shí)時(shí)目標(biāo)檢測(cè)深度學(xué)習(xí)模型,最初設(shè)計(jì)用于處理圖像中的水平矩形邊界框目標(biāo)。然而,對(duì)于旋轉(zhuǎn)目標(biāo)檢測(cè),通常需要對(duì)原始YOLOv5架構(gòu)進(jìn)行擴(kuò)展或修改,以便能夠檢測(cè)具有任意角度的對(duì)象,比如傾斜的車牌、風(fēng)力發(fā)電機(jī)葉片或者

    2024年04月14日
    瀏覽(102)
  • 基于yolov5的遙感圖像目標(biāo)檢測(cè)(NWPU VHR-10)

    基于yolov5的遙感圖像目標(biāo)檢測(cè)(NWPU VHR-10)

    最近在做畢設(shè),感覺網(wǎng)上信息不是很全,把自己的訓(xùn)練過程寫下來供做這個(gè)方向的友友學(xué)習(xí)。 只有簡單的復(fù)現(xiàn),其余的還沒探索到。 首先就是數(shù)據(jù)集:我用的數(shù)據(jù)集是西工大發(fā)布的數(shù)據(jù)集,NWPU VHR-10 鏈接:https://pan.baidu.com/s/1vfhDU2ORWUpL-aGM1PllGw? 提取碼:d5au 西工大數(shù)據(jù)集有十

    2023年04月25日
    瀏覽(19)
  • 目標(biāo)檢測(cè)論文解讀復(fù)現(xiàn)之十:基于YOLOv5的遙感圖像目標(biāo)檢測(cè)(代碼已復(fù)現(xiàn))

    目標(biāo)檢測(cè)論文解讀復(fù)現(xiàn)之十:基于YOLOv5的遙感圖像目標(biāo)檢測(cè)(代碼已復(fù)現(xiàn))

    前言 ? ? ? ?此前出了目標(biāo)改進(jìn)算法專欄,但是對(duì)于應(yīng)用于什么場(chǎng)景,需要什么改進(jìn)方法對(duì)應(yīng)與自己的應(yīng)用場(chǎng)景有效果,并且多少改進(jìn)點(diǎn)能發(fā)什么水平的文章,為解決大家的困惑,此系列文章旨在給大家解讀最新目標(biāo)檢測(cè)算法論文,幫助大家解答疑惑。解讀的系列文章,本人

    2024年02月06日
    瀏覽(31)
  • 使用YOLOV5實(shí)現(xiàn)視頻中的車輛計(jì)數(shù)

    目標(biāo)檢測(cè)(Object Detection)的任務(wù)是找出圖像中所有感興趣的目標(biāo)(物體),確定它們的類別和位置,是計(jì)算機(jī)視覺領(lǐng)域的核心問題之一。由于各類物體有不同的外觀、形狀和姿態(tài),加上成像時(shí)光照、遮擋等因素的干擾,目標(biāo)檢測(cè)一直是計(jì)算機(jī)視覺領(lǐng)域最具有挑戰(zhàn)性的問題。

    2024年01月25日
    瀏覽(18)
  • 目標(biāo)檢測(cè) YOLOv5的loss權(quán)重,以及與圖像大小的關(guān)系

    YOLOv5中有三個(gè)損失分別是 box, obj, cls 在超參數(shù)配置文件hyp.*.yaml中可以設(shè)置基礎(chǔ)值,例如 訓(xùn)練使用時(shí),在train.py進(jìn)行更新 可以看到損失與nl(number of detection layers,檢測(cè)層的層數(shù),這里是3)和圖像尺寸相關(guān),與layers相關(guān)這個(gè)好理解,是因?yàn)閾p失多個(gè)layers的加和。與圖像尺寸相關(guān)

    2024年02月09日
    瀏覽(25)
  • ?目標(biāo)檢測(cè)算法——YOLOv5/YOLOv7改進(jìn)之結(jié)合?SOCA(單幅圖像超分辨率)

    ?目標(biāo)檢測(cè)算法——YOLOv5/YOLOv7改進(jìn)之結(jié)合?SOCA(單幅圖像超分辨率)

    (一)前沿介紹 論文題目:Second-order Attention Network for Single Image Super-Resolution 論文地址:CVPR19 超分辨率 代碼地址:https://github.com/daitao/SAN 1.SOCA moudle結(jié)構(gòu)圖 2.相關(guān)實(shí)驗(yàn)結(jié)果 (二)YOLOv5/YOLOv7改進(jìn)之結(jié)合?SOCA 1.配置common.py文件 2.配置yolo.py文件 3.配置yolov5/yolov7_SOCA moudle.yaml文件

    2024年02月07日
    瀏覽(22)
  • 目標(biāo)檢測(cè)YOLO實(shí)戰(zhàn)應(yīng)用案例100講-基于深度學(xué)習(xí)的航拍圖像YOLOv5目標(biāo)檢測(cè)(論文篇)(續(xù))

    目錄 基礎(chǔ)理論及相關(guān)技術(shù)? 2.1 深度學(xué)習(xí)基礎(chǔ)理論?

    2024年04月16日
    瀏覽(26)
  • 兩百行C++代碼實(shí)現(xiàn)yolov5車輛計(jì)數(shù)部署(通俗易懂版)

    兩百行C++代碼實(shí)現(xiàn)yolov5車輛計(jì)數(shù)部署(通俗易懂版)

    本文是文章傳統(tǒng)圖像處理方法實(shí)現(xiàn)車輛計(jì)數(shù)的后續(xù)。這里用OpenCV實(shí)現(xiàn)了基于yolov5檢測(cè)器的單向車輛計(jì)數(shù)功能,方法是撞線計(jì)數(shù)。該代碼只能演示視頻demo效果,一些功能未完善,離實(shí)際工程應(yīng)用還有距離。 實(shí)現(xiàn)流程: (1)訓(xùn)練yolov5模型,這里就沒有自己訓(xùn)練了,直接使用官方

    2024年02月06日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包