日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

YOLOv5中autoanchor.py的def metric(k)的r = wh[:, None] / k[None]的理解

發布時間:2024/1/8 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 YOLOv5中autoanchor.py的def metric(k)的r = wh[:, None] / k[None]的理解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
check_anchors()內metric()函數 def check_anchors(dataset, model, thr=4.0, imgsz=640):"""在train.py中調用,計算BPR確定是否需要改變anchors 需要就調用K-means重新計算anchorsargs: dataset -> 自定義數據集LoadImagesAndLabels返回的數據集model -> 初始化的模型thr -> 超參數,界定anchor與label匹配程度的閾值,anchor與標簽框的比例范圍為(1/thr, thr),在此范圍內算是滿足要求imgsz -> 輸入圖片尺寸,默認640"""# Check anchor fit to data, recompute if necessary# 打印字符串:autoanchor:Analyzing anchors...prefix = colorstr('autoanchor: ')print(f'\n{prefix}Analyzing anchors... ', end='')# 取出模型最后一層,即Detect層m = model.module.model[-1] if hasattr(model, 'module') else model.model[-1] # Detect()# dataset.shapes.max(1, keepdims=True) = 每張圖片的較長邊# shapes: 將數據集圖片的最長邊縮放到img_size, 較小邊相應縮放,得到新的所有數據集圖片shapes = imgsz * dataset.shapes / dataset.shapes.max(1, keepdims=True)# 產生隨機數scale [2501, 1]scale = np.random.uniform(0.9, 1.1, size=(shapes.shape[0], 1)) # augment scale# 將GT的歸一化坐標縮放為基于圖片大小為shapes * scale的坐標wh = torch.tensor(np.concatenate([l[:, 3:5] * s for s, l in zip(shapes * scale, dataset.labels)])).float() # whdef metric(k): # compute metric"""根據wh計算anchor是否滿足要求,即anchor與標簽框的比值要在(1/thr, thr)args:k -> 一般傳入的是anchors的寬高 [M, 2],也可傳入GT的寬高wh: [N, 2],M為anchor的數量,作者M取9,N為GT的數量return:bpr -> best possible recall 最多能被召回(通過thr)的gt框數量/所有gt框數量,小于0.98 才會用k-means計算anchoraat -> anchors above threshold 每個target平均有多少個anchors"""r = wh[:, None] / k[None]# x:高寬比和寬高比的最小值,無論r大于1,還是小于等于1,最后統一結果都要小于1 [N, M]x = torch.min(r, 1. / r).min(2)[0] # ratio metricbest = x.max(1)[0] # best_xaat = (x > 1. / thr).float().sum(1).mean() # anchors above thresholdbpr = (best > 1. / thr).float().mean() # best possible recallreturn bpr, aat

None用以添加維度,所有GT的wh[:, None],[N, 2]->[N, 1, 2],所有anchor的wh k[None] [M, 2]->[1, M, 2]

r: GT的寬高與anchor的寬高的比值,即h/h_a, w/w_a,r.shape=(N, M, 2),r中元素有可能大于1,也可能小于等于1

為什么要添加維度:原來的維度是[N, 2]、[M, 2],無法相除,因為不滿足廣播機制,但是增加維度后就可以滿足了廣播原則的條件

總結

以上是生活随笔為你收集整理的YOLOv5中autoanchor.py的def metric(k)的r = wh[:, None] / k[None]的理解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品成人一区二区 | 波多野结衣三区 | 亚洲第一大网站 | 日本少妇三级 | 西西人体大胆4444ww张筱雨 | 99国产精品久久久久 | 天海翼视频在线观看 | 色欲AV无码精品一区二区久久 | 免费久草视频 | 国产精品人人做人人爽 | 欧美日韩乱 | 亚洲午码 | 欧美三级又粗又硬 | 久久久综合久久久 | 北条麻妃一区二区三区在线观看 | 香蕉成人在线视频 | √天堂资源在线 | 2019中文字幕在线观看 | wwwav视频 | 国产h自拍| 国产精品图片 | 在线日韩av | 极品国产一区 | 欧美一区亚洲二区 | 在线免费观看污 | 久久精品免费在线 | 日韩中文字幕在线观看视频 | 非洲黑人毛片 | 人人妻人人爽人人澡人人精品 | 久热网| 国产一区二区三区视频播放 | 精品视频99 | 欧美丰满艳妇bbwbbw | 精品婷婷色一区二区三区蜜桃 | 国产二区电影 | 99久久精品一区 | 四虎久久 | 国产毛片电影 | 奇米精品一区二区三区四区 | 欧美一区二区三区久久久 | 成人短视频在线播放 | 欧美丰满艳妇bbwbbw | 欧美精品久久久久久 | 日本黄色aaa | 人人看人人草 | 欧美级毛片| 男人的天堂2018 | 日韩精品在线视频免费观看 | av拍拍拍| aaa国产精品| 亚洲图片小说区 | 国产山村乱淫老妇女视频 | 日本免费观看视频 | 在线中文字幕第一页 | 欧美一区三区二区在线观看 | 欧美××××黑人××性爽 | 国产黄在线观看 | 亚洲乱码视频 | 日韩aⅴ在线观看 | 日本中文字幕在线观看视频 | 日本一区二区三区在线免费观看 | 秋霞网一区 | 99久久久无码国产精品免费蜜柚 | 91精品国产电影 | www国产无套内射com | 久久久久高潮 | 91免费高清视频 | 久久99精品波多结衣一区 | 欧美午夜理伦三级在线观看 | 日本少妇喷水视频 | 国产精品乱码一区二区视频 | 日韩欧美三级在线观看 | 神马午夜888| 五月婷视频 | 精品国产一二 | 五月婷婷天堂 | 亚洲精品久久久久中文字幕二区 | 色婷五月天 | 欧美亚洲一级 | 国产美女永久无遮挡 | 男女做那个的全过程 | 日韩xxx视频 | 国产精品一区av | 日韩三级免费 | 日日撸视频 | 精品国产鲁一鲁一区二区三区 | 久久久久久婷婷 | 无码人妻一区二区三区免费 | 韩日成人 | 精品人妻一区二区三区四区不卡 | 91在线免费视频 | 男人和女人日批 | 国产精品久久九九 | 777午夜| 狠狠操精品| 日本视频在线播放 | 人妻 日韩 欧美 综合 制服 | 亚洲午夜精品久久久久久浪潮 | 激情图片在线观看 |