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

YOLOv5獲得大中小目標(biāo)的AP和AR指標(biāo)(自制數(shù)據(jù)集)

這篇具有很好參考價(jià)值的文章主要介紹了YOLOv5獲得大中小目標(biāo)的AP和AR指標(biāo)(自制數(shù)據(jù)集)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。


前言

本文簡(jiǎn)要介紹YOLOv5如何調(diào)用pycocotools得到大中小目標(biāo)的AP和AR指標(biāo),評(píng)價(jià)自制數(shù)據(jù)集。

  • 代碼版本-----YOLOv5_6.0版本。
  • 數(shù)據(jù)集----Seaships7000數(shù)據(jù)集,共包含6類7000張船舶圖片,其中測(cè)試集1400張。
  • 模型-----自制模型。

一、運(yùn)行示例

話不多說(shuō),運(yùn)行示例:

(pytorch1.8) zmy@525:~/文檔/A-YOLO$ python val.py
val: data=data/ship.yaml, weights=runs/train/exp28/weights/best.pt, batch_size=32, imgsz=640, conf_thres=0.001, iou_thres=0.6, task=test, device=, single_cls=False, augment=False, verbose=False, save_txt=False, save_hybrid=False, save_conf=False, save_json=True, project=runs/val, name=exp, exist_ok=False, half=False
YOLOv5 ?? 2021-10-12 torch 1.8.0+cu111 CUDA:0 (NVIDIA GeForce RTX 3090, 24268.3125MB)

Fusing layers... 
Model Summary: 540 layers, 4933647 parameters, 0 gradients
test: Scanning '/home/zmy/文檔/A-YOLO/data/labels/test_fog.cache' images and lab
               Class     Images     Labels          P          R     mAP@.5 mAP@
                 all       1400       1837      0.844      0.543       0.66      0.449
         ore carrier       1400        417       0.94      0.448      0.624      0.392
        fishing boat       1400        428      0.785      0.613      0.678      0.456
      passenger ship       1400         94      0.628      0.628      0.681      0.451
  general cargo ship       1400        312      0.865      0.599      0.724      0.509
  bulk cargo carrier       1400        392      0.845      0.569      0.682      0.474
      container ship       1400        194          1      0.401      0.569      0.415
Speed: 0.1ms pre-process, 1.6ms inference, 1.0ms NMS per image at shape (32, 3, 640, 640)

Evaluating pycocotools mAP... saving runs/val/exp1/best_predictions.json...
loading annotations into memory...
Done (t=0.01s)
creating index...
index created!
Loading and preparing results...
DONE (t=0.13s)
creating index...
index created!
Running per image evaluation...
Evaluate annotation type *bbox*
DONE (t=1.27s).
Accumulating evaluation results...
DONE (t=0.36s).
 Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.445
 Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.650
 Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.497
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.050
 Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.287
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.458
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.477
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.535
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.535
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.050
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.357
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.549
Results saved to runs/val/exp1

二、參考

主要參考了以下三個(gè)案例,并根據(jù)Seaships數(shù)據(jù)集特征修改了部分代碼。

參考1:安裝pycocotools
參考2:yolov5 調(diào)用cocotools 評(píng)價(jià)自己的模型和數(shù)據(jù)集
參考3:YOLO至COCO的格式轉(zhuǎn)換器

三、方法

1.安裝pycocotools庫(kù)

pip install pycocotools

2.YOLOv5代碼修改

只需修改val.py文件

   1.'--save-json' 添加 default=True parser.add_argument('--save-json', default=True, action='store_true', help='save a COCO-JSON results    file')
   
   2.'--task' 修改 default='test' parser.add_argument('--task', default='test', help='train, val, test, speed or study')
   
   3.注釋下句    # opt.save_json |= opt.data.endswith('coco.yaml')
   
   4.為了生成的json文件是多行,方便自查格式
     改json.dump(jdict, f) 
     為json.dump(jdict, f, ensure_ascii=False, indent=1) 

修改后終端輸入python val.py,如下所示:
會(huì)提示我們Evaluating pycocotools mAP… saving runs/val/exp1/best_predictions.json…
并報(bào)錯(cuò)[Errno 2] No such file or directory: ‘…/coco/annotations/instances_val2017.json’
這說(shuō)明此模型需要測(cè)試的json文件已經(jīng)保存在runs/val/exp1/best_predictions.json
但標(biāo)準(zhǔn)的json文件在此路徑../coco/annotations/instances_val2017.json沒(méi)有找到。
接下來(lái)制作Seaships數(shù)據(jù)集的json文件

test: Scanning '/home/zmy/文檔/A-YOLO/data/labels/test_fog.cache' images and lab
               Class     Images     Labels          P          R     mAP@.5 mAP@
                 all       1400       1837      0.844      0.543       0.66      0.449
         ore carrier       1400        417       0.94      0.448      0.624      0.392
        fishing boat       1400        428      0.785      0.613      0.678      0.456
      passenger ship       1400         94      0.628      0.628      0.681      0.451
  general cargo ship       1400        312      0.865      0.599      0.724      0.509
  bulk cargo carrier       1400        392      0.845      0.569      0.682      0.474
      container ship       1400        194          1      0.401      0.569      0.415
Speed: 0.1ms pre-process, 1.7ms inference, 1.3ms NMS per image at shape (32, 3, 640, 640)

Evaluating pycocotools mAP... saving runs/val/exp1/best_predictions.json...
loading annotations into memory...
pycocotools unable to run: [Errno 2] No such file or directory: '../coco/annotations/instances_val2017.json'

3.制作.json文件

根據(jù)參考3的README文檔將YOLO標(biāo)簽的txt格式轉(zhuǎn)換為json格式
只需修改main.py文件

1、根據(jù)Seaships數(shù)據(jù)集修改類別列表
classes = [
    "ore carrier",
    "fishing boat",
    "passenger ship",
    "general cargo ship",
    "bulk cargo carrier",
    "container ship",]
    
2、把image_id定義為文件名并去除尾綴
 for file_path in file_paths:
        # Check how many items have progressed
        print("\rProcessing " + str(image_id) + " ...", end='')
        # ---------------------image_id定義為文件名--------------------------
        image_id = int(file_path.stem)
        # ------------------------------------------------------------------
        # Build image annotation, known the image's width and height
        w, h = imagesize.get(str(file_path))
        image_annotation = create_image_annotation(
            file_path=file_path, width=w, height=h, image_id=image_id)
        images_annotations.append(image_annotation)
        label_file_name = f"{file_path.stem}.txt"

3、把標(biāo)簽從1開(kāi)始改為標(biāo)簽從0開(kāi)始
        for line1 in label_read_line:
            label_line = line1
            category_id = (
                # int(label_line.split()[0]) + 1) # you start with annotation id with '1'
                int(label_line.split()[0]) + 0) # you start with annotation id with '0'

最后將生成的train.json文件,標(biāo)簽改為從0開(kāi)始,并改名為instances_val2017.json,然后放到根目錄的coco/annotations/文件夾中,沒(méi)有則需要自己創(chuàng)建。

4.運(yùn)行程序

終端輸入python val.py,即大功告成!


附錄

需要測(cè)試的best_predictions.json示例:

[
 {
  "image_id": 4724,
  "category_id": 3,
  "bbox": [
   838.916,
   158.716,
   1081.084,
   332.775
  ],
  "score": 0.94571
 },
 {
  "image_id": 4724,
  "category_id": 1,
  "bbox": [
   623.036,
   369.717,
   210.212,
   30.21
  ],
  "score": 0.00897
 },
 {
  "image_id": 4724,
  "category_id": 4,
  "bbox": [
   838.773,
   159.783,
   1081.227,
   334.143
  ],
  "score": 0.00734
 }, 
 ...此處省略其余標(biāo)注

制作的標(biāo)準(zhǔn)的instances_val2017.json示例:

{
    "images": [
        {
            "file_name": "000013.jpg",
            "height": 1080,
            "width": 1920,
            "id": 13}
         ...此處省略其余1399個(gè)圖片文件
            ],
    "categories": [
        {
            "supercategory": "Defect",
            "id": 0,
            "name": "ore carrier"
        },
        {
            "supercategory": "Defect",
            "id": 1,
            "name": "fishing boat"
        },
         ...此處省略其余4種類別
    ],
    "annotations": [
        {
            "id": 1,
            "image_id": 13,
            "bbox": [
                1640.0,
                544.0,
                280.0,
                30.0
            ],
            "area": 8400,
            "iscrowd": 0,
            "category_id": 0,
            "segmentation": []
        },
        ...此處省略其余標(biāo)注

總結(jié)

調(diào)用pycocotools得到的指標(biāo)略低于前者文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-789572.html

到了這里,關(guān)于YOLOv5獲得大中小目標(biāo)的AP和AR指標(biāo)(自制數(shù)據(jù)集)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(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)文章

  • 目標(biāo)檢測(cè)筆記(十):查看通過(guò)COCOEvaluator生成的coco_instances_results.json文件的詳細(xì)檢測(cè)信息,包含AP、AR、MR和DR等

    目標(biāo)檢測(cè)筆記(十):查看通過(guò)COCOEvaluator生成的coco_instances_results.json文件的詳細(xì)檢測(cè)信息,包含AP、AR、MR和DR等

    COCO(Common Objects in Context)是一個(gè)被廣泛使用的計(jì)算機(jī)視覺(jué)領(lǐng)域的數(shù)據(jù)集,其中包含了多個(gè)場(chǎng)景、多種對(duì)象以及不同光照和背景下的圖像。COCO數(shù)據(jù)集中的每一張圖片都標(biāo)注了物體的類別、位置和大小等信息,這些信息可以用于訓(xùn)練和評(píng)估目標(biāo)檢測(cè)、語(yǔ)義分割等計(jì)算機(jī)視覺(jué)任務(wù)

    2024年02月04日
    瀏覽(20)
  • MS COCO數(shù)據(jù)集的評(píng)價(jià)標(biāo)準(zhǔn)以及不同指標(biāo)的選擇推薦(AP、mAP、MS COCO、AR、@、0.5、0.75、1、目標(biāo)檢測(cè)、評(píng)價(jià)指標(biāo))

    MS COCO數(shù)據(jù)集的評(píng)價(jià)標(biāo)準(zhǔn)以及不同指標(biāo)的選擇推薦(AP、mAP、MS COCO、AR、@、0.5、0.75、1、目標(biāo)檢測(cè)、評(píng)價(jià)指標(biāo))

    目標(biāo)檢測(cè)模型性能衡量指標(biāo)、MS COCO 數(shù)據(jù)集的評(píng)價(jià)標(biāo)準(zhǔn)以及不同指標(biāo)的選擇推薦 目標(biāo)檢測(cè)模型通過(guò) pycocotools 在驗(yàn)證集上會(huì)得到 COCO 的評(píng)價(jià)列表,具體參數(shù)的含義是什么呢? PASCAL VOC Microsoft COCO(MS COCO) 在 MS COCO 數(shù)據(jù)集出來(lái)之前,目標(biāo)檢測(cè)基本上用的是 PASCAL VOC 數(shù)據(jù)集,現(xiàn)在

    2024年02月08日
    瀏覽(32)
  • YOLOv5實(shí)現(xiàn)目標(biāo)檢測(cè)

    YOLOv5實(shí)現(xiàn)目標(biāo)檢測(cè)

    YOLOv5 ?? 是COCO數(shù)據(jù)集上預(yù)處理的一系列對(duì)象檢測(cè)架構(gòu)和模型,代表Ultralytics對(duì)未來(lái)視覺(jué)人工智能方法的開(kāi)源研究,融合了數(shù)千小時(shí)研究和開(kāi)發(fā)過(guò)程中積累的經(jīng)驗(yàn)教訓(xùn)和最佳實(shí)踐。 本文用來(lái)記錄第一次使用 YOLOv5實(shí)現(xiàn): 視頻目標(biāo)檢測(cè) 攝像頭目標(biāo)檢測(cè) 博主所使用的環(huán)境是win10 +

    2024年02月09日
    瀏覽(25)
  • YOLOv5目標(biāo)檢測(cè)實(shí)驗(yàn)

    最近在用YOLOv5跑一些目標(biāo)檢測(cè)的東西,這是自己日常學(xué)習(xí)的一些總結(jié)!后期會(huì)繼續(xù)更新!有問(wèn)題也歡迎批評(píng)指正!如果雷同請(qǐng)見(jiàn)諒! 創(chuàng)建數(shù)據(jù)集是在detect.py里面的create_dataloader,并在主函數(shù)里面調(diào)用 yolov5在計(jì)算資源的調(diào)用上采用了torch.nn.parallel.DistributedDataParallel(DDP,多張顯卡

    2024年02月07日
    瀏覽(31)
  • YOLOv5實(shí)現(xiàn)目標(biāo)計(jì)數(shù)

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

    本文主要講解如何使用YOLOv5實(shí)現(xiàn)目標(biāo)計(jì)數(shù)。 在detect.py文件中這部分內(nèi)容替換為下面代碼: 原理比較簡(jiǎn)單,就是計(jì)算錨框數(shù)量,每打印一個(gè)框count計(jì)數(shù)+1(但是值得一提的是,這種方法是不區(qū)分類別的,后續(xù)我想辦法按照類進(jìn)行計(jì)數(shù))。其中l(wèi)abel變量記錄需要展示的變量,原來(lái)

    2024年02月11日
    瀏覽(19)
  • 【目標(biāo)檢測(cè)】yolov5模型詳解

    【目標(biāo)檢測(cè)】yolov5模型詳解

    yolov5于2020年由glenn-jocher首次提出,直至今日yolov5仍然在不斷進(jìn)行升級(jí)迭代。 Yolov5有YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x四個(gè)版本。文件中,這幾個(gè)模型的結(jié)構(gòu)基本一樣,不同的是depth_multiple模型深度和width_multiple模型寬度這兩個(gè)參數(shù)。 yolov5主要分為以下幾部分: Input:輸入 Backbone:

    2024年02月07日
    瀏覽(27)
  • 【目標(biāo)檢測(cè)】yolov5代碼實(shí)戰(zhàn)

    【目標(biāo)檢測(cè)】yolov5代碼實(shí)戰(zhàn)

    YOLO 是 “You only look once” 縮寫(xiě) , 是將圖像劃分為網(wǎng)格系統(tǒng)的對(duì)象檢測(cè)算法,網(wǎng)格中的每個(gè)單元負(fù)責(zé)檢測(cè)自身內(nèi)的對(duì)象。 由于其速度和準(zhǔn)確性,YOLO是最著名的目標(biāo)檢測(cè)算法之一。yolov5作為YOLO系列第五個(gè)迭代版本,它的一個(gè)特點(diǎn)就是權(quán)重文件非常之小,可以搭載在配置更低的移

    2024年02月07日
    瀏覽(28)
  • 【目標(biāo)檢測(cè)算法實(shí)現(xiàn)之yolov5】 一、YOLOv5環(huán)境配置,將yolov5部署到遠(yuǎn)程服務(wù)器上

    【目標(biāo)檢測(cè)算法實(shí)現(xiàn)之yolov5】 一、YOLOv5環(huán)境配置,將yolov5部署到遠(yuǎn)程服務(wù)器上

    在官網(wǎng):https://github.com/ultralytics/yolov5上下載yolov5源代碼 下載成功如下: 在配置基礎(chǔ)環(huán)境之前,提前壓縮自己的代碼文件,并通過(guò)winscp傳輸給linux端,傳輸之后,解壓該文件。解壓前,先創(chuàng)建一個(gè)文件夾,再解壓。 winscp下載使用教程參考上一篇博客:使用WinSCP下載和文件傳輸

    2024年01月15日
    瀏覽(30)
  • YOLOv5+DeepSort實(shí)現(xiàn)目標(biāo)跟蹤

    YOLOv5+DeepSort實(shí)現(xiàn)目標(biāo)跟蹤

    本文將展示如何將YOLOv5和Deepsort相結(jié)合,實(shí)現(xiàn)目標(biāo)跟蹤計(jì)數(shù)等功能。由于水平有限,本文將更多著眼于如何實(shí)現(xiàn),原理部分我會(huì)推薦幾篇博客供大家學(xué)習(xí)參考。 推薦下面這篇博客,講的很細(xì)致: Yolov5_DeepSort_Pytorch代碼學(xué)習(xí)與修改記錄__helen_520的博客 YOLOv5具備目標(biāo)檢測(cè)的功能,

    2024年02月03日
    瀏覽(21)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包