真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Yolo-pose訓練和測試,多分類修改,COCO數(shù)據(jù)集(17關鍵點)-創(chuàng)新互聯(lián)

1.準備
  • coco2017數(shù)據(jù)集
  • coco格式標簽
  • edgeai-yolov5-yolo-pose(yolov7中的pose也是從這里改過去的,有一點不同)
    yolo-pose
  • 創(chuàng)建coco_kpts文件夾
#其中coco_kpts文件夾與edgeai-yolov5-yolo-pose處于同一目錄下,格式如下:
	edgeai-yolov5
│   README.md
│   ...   
│
coco_kpts
│   images
│   └─────train2017
│       │       └───
|       |       '
│       └─val2017
|               └───
|               .
│   annotations
|   labels
│   └─────train2017
│       │       └───
|       |       '
│       └─val2017
|               └───
|               .
|    train2017.txt
|    val2017.txt
2.環(huán)境(略,自己搭建)

權(quán)重在原文

創(chuàng)新互聯(lián)建站主要從事成都網(wǎng)站設計、網(wǎng)站建設、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務金臺,10多年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:189808205753.測試(detect.py)

報錯說什么數(shù)組大小異常多半是你忘了加–kpt-label

python test.py --data coco_kpts.yaml --img 640 --conf 0.001 --iou 0.65 --weights "XXXXX.pt" --kpt-label

在這里插入圖片描述
在這里插入圖片描述

4.訓練(train.py)
python train.py --data coco_kpts.yaml --cfg yolov5s6_kpts.yaml --batch-size 64 --img 640 --kpt-label

建議action=‘store_true’,設置為default=‘True’

5.轉(zhuǎn)onnx(export.py,坑)

export.py不在根目錄,而在models路徑下下面,剩下的坑,略。

6.推理(inference.py,坑)

提示,原文給的onnx文件是可以用點,主要還是5的坑,略。

7.pose圖生成(detect.py,略)

在這里插入圖片描述


錯誤與環(huán)境問題 1.AttributeError: Cant get attribute SPPF on module models.common

解決方法:

在model/common.py文件中加上如下代碼

import warnings

class SPPF(nn.Module):
#Spatial pyramid pooling layer used in YOLOv3-SPP
    def __init__(self, c1, c2, k=5):
        super().__init__()
        c_ = c1 // 2  # hidden channels
        self.cv1 = Conv(c1, c_, 1, 1)
        self.cv2 = Conv(c_ * 4, c2, 1, 1)
        self.m = nn.MaxPool2d(kernel_size=k,stride=1,padding=k//2)
    def forward(self, x):
   		x = self.cv1(x)
   		with warnings.catch_warnings():
            warnings.simplefilter('ignore')  # suppress torch 1.9.0 max_pool2d() warning
       	    y1=self.m(x)
            y2=self.m(y1)
            return self.cv2(torch.cat([x,y1,y,self.m(y2)],1))
2.AttributeError: ‘Upsample’ object has no attribute ‘recompute_scale_factor’

解決方法:

找到X:\xxx\edgeai-yolov5-yolo-pose\venv\Lib\site-packages\torch\nn\modules\upsampling.py (直接點擊pycharm跳轉(zhuǎn))

找到forward方法

# def forward(self, input: Tensor) ->Tensor:
#     return F.interpolate(input, self.size, self.scale_factor, self.mode, #self.align_corners,
#recompute_scale_factor=self.recompute_scale_factor #原來的,刪除本行內(nèi)容即可
#)

def forward(self, input: Tensor) ->Tensor:
    return F.interpolate(input, self.size, self.scale_factor, self.mode, self.align_corners)
3.val: WARNING: Ignoring corrupted image and/or label …\coco_kpts\images\train2017\000000581921.jpg: cannot reshape array of size 55 into shape (2)

解決方法:

A.找到X:\xxx\edgeai-yolov5-yolo-pose\utils\datasets.py

def img2label_paths(img_paths):
    # Define label paths as a function of image paths
    sa, sb = os.sep + 'images' + os.sep, os.sep + 'labels' + os.sep  # /images/, /labels/ substrings
    #return ['txt'.join(x.replace(sa, sb, 1).rsplit(x.split('.')[-1], 1)) for x in img_paths]#原來的
    return [x.split('.',1)[0] + '.txt' for x in img_paths]#修改后新的

B.你忘了加–kpt-label參數(shù),調(diào)用的代碼錯誤,位置自己找

4.RuntimeError: result type Float can’t be cast to the desired output type long int

(上方indices.append((b, a, gj.clamp_(0, gain[3] - 1), gi.clamp_(0, gain[2] - 1))) # image, anchor, grid indices)

yolov5-master版本和yolov5-5.0/yolov5-6.1等版本下的utils\loss.py文件不一致

在loss.py中搜 for i in range(self.nl)

替換前
#anchors = self.anchors[i]
替換后
anchors, shape = self.anchors[i], p[i].shape

在loss.py搜 indices.append

替換前
#indices.append((b, a, gj.clamp_(0, gain[3] - 1), gi.clamp_(0, gain[2] - 1)))  # image, anchor, grid indices
替換后
indices.append((b, a, gj.clamp_(0, shape[2] - 1), gi.clamp_(0, shape[3] - 1)))  # image, anchor, grid
5.關鍵點異常,面部關鍵點不在身體(自己嘗試解決喲) 6.轉(zhuǎn)onnx文件,報錯:export failure: PyTorch convert function for op ‘conv2d_clamp_prepack’ not implemented.

不知道是不是版本問題?報錯PyTorch版本1.12.1,成功的版本1.8.2

(但這版本CoreML export failure,‘torch._C.Node’ object has no attribute ‘ival’)

7.detect.py #126行 這里有錯誤,1是寫錯了,2是沒有適配關鍵點
if save_txt_tidl:  # Write to file in tidl dump format
    #for *xyxy, conf, cls in det_tidl: #寫錯了
    for *xyxy, conf, cls in det:#作者小失誤

適配代碼(略)

8.xtcocotools unable to run: No module named ‘xtcocotools’

解決方法:

在虛擬環(huán)境中(建議python=3.7),3.8.特別是3.9 問題太多。大佬可以自己解決

pip install xtcocotools
9.No matching distribution found for onnxruntime==1.10.0

如需Python版本不要過高,否則之后的python版本只能安裝onnxruntime>=1.12.0

在對應的虛擬環(huán)境中輸入

pip install onnxruntime==1.10.0
10.更多錯誤,略
單分類改多分類和多關鍵點(略)

原作者有部分錯誤(自己鉆研啦)。另外他是yolov7(但改代碼部分不太影響,可以調(diào)通)
原文鏈接添加鏈接描述


COCO關鍵點數(shù)據(jù)
annotation{
    "keypoints": [x1,y1,v1,...],  #關鍵點坐標及標志位 v 
    "num_keypoints": int,    #關鍵點數(shù)量(要求v>0)
    "id": int,
    "image_id": int,    #圖像id號,對應圖像的文件名
    "category_id": int, #只有人,所以為1
    "segmentation": RLE or [polygon],  #iscrowd 為 0 時是polygon格式,為1時是 RLE格式,代表分割圖(用多邊形框出人體)
    "area": float,  #矩形框的面積
    "bbox": [x,y,width,height],  #矩形框左上角坐標(x,y)和矩形框的寬高
    "iscrowd": 0 or 1,  
}

在key_points 關鍵字中 x,y表示坐標值,

v的值有三個

V含義
0沒有該點
1該點存在但是被遮擋了
2該點存在且沒有被遮擋

具體的標記規(guī)則建議參考coco的標記


關鍵點的json數(shù)據(jù)集轉(zhuǎn)txt(coco keypoints鍵點,略)

在yolov5的yolo轉(zhuǎn)txt的代碼上增加讀取Json中關鍵點信息轉(zhuǎn)換就行。
坑在于,建議使用Json閱讀器來弄,用nodepad++打開,數(shù)據(jù)異常(導致不知道怎么寫代碼,數(shù)據(jù)都不對,能寫出來才怪了)
自己動動手,不難(小提示,使用format(XXX, ‘.6f’)強制實現(xiàn)6位小數(shù),round函數(shù)輸出可以小于6位)


如何標記coco格式的關鍵數(shù)據(jù)

我使用了部分網(wǎng)友自己寫的程序,發(fā)現(xiàn)會有點位數(shù)據(jù)與官方數(shù)據(jù)不一致的問題。
建議直接使用官方coco-annotator調(diào)通以后進行打點,多分類也在標記時進行。

厚顏無恥的給上另外一篇我的文章鏈接coco-annotator安裝使用

如果你搞定了標記和轉(zhuǎn)txt,那么你的數(shù)據(jù)會比官方給出的數(shù)據(jù)略大是正常的。官方的數(shù)據(jù)把部分數(shù)據(jù)移除了,原因如下圖嘛。

在這里插入圖片描述
在這里插入圖片描述

因為不能直接復制很多內(nèi)容,格式方面有一些問題,很煩,懶得調(diào)整了。

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


網(wǎng)頁標題:Yolo-pose訓練和測試,多分類修改,COCO數(shù)據(jù)集(17關鍵點)-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://weahome.cn/article/jhipo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部