日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

密码算法中iv值是什么_?标检测中的?极?值抑制算法(nms):python代码解析

發布時間:2025/4/16 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 密码算法中iv值是什么_?标检测中的?极?值抑制算法(nms):python代码解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?極?值抑制(Non-Maximum Suppression)原理

?極?值抑制,顧名思義,找出極?值,抑制?極?值。這種思路和算法在各個領域中應??泛,?如邊緣檢測算法canny算?中就使?了該?法。本?主要討論nms在?標檢測中的應?。?標檢測過程中,模型在同??標的位置上經常會產??量的候選框,如下圖是赫本的?臉檢測結果。可以看出這些候選框之間的重疊度?常?,此時就需要利?nms找到最佳?標,消除冗余的邊界框。

奧黛麗赫本-?臉檢測示意圖

nms的原理很簡單,主要分為如下?步:

  • 將候選框按照置信度進?排序
  • 計算置信度最?的候選框與其它候選框的IoU(交并?)
  • 刪除IoU?于設定閾值的候選框
  • 重復上述過程,直?候選框列表為空
  • 這里的IoU指的是Intersection over Union,代表候選區域之間的交并比,計算如下圖所示。

    IOU計算示意圖

    python代碼解析

    nms的開源代碼很多,初學者往往被各種復雜代碼?花式的寫法迷惑,但其實nms的代碼很好寫,完全不需要很復雜的數據結構及算法,這?筆者用numpy盡量寫了?個最精簡、最易讀的版本,?共30?,供?家參考。

    def nms_rect(box, iou): keep_ = [] if len(box) > 1: x1 = box[:, 0] y1 = box[:, 1] x2 = box[:, 2] y2 = box[:, 3] score = box[:, 4] area = (y2 - y1 + 1) * (x2 - x1 + 1) while len(score) > 1: order = score.argsort()[::-1] i = order[0] xx1 = np.maximum(x1[i], x1[order[1:]]) yy1 = np.maximum(y1[i], y1[order[1:]]) xx2 = np.minimum(x2[i], x2[order[1:]]) yy2 = np.minimum(y2[i], y2[order[1:]]) w = np.maximum(0., xx2 - xx1) h = np.maximum(0., yy2 - yy1) inter = w * h ovr = inter / (area[i] + area[order[1:]] - inter) inds = np.where(ovr > iou) + np.array([1]) inds = np.append(inds, 0) keep_.append([x1[i], y1[i], x2[i], y2[i], score[i]]) x1 = np.delete(x1, order[inds]) y1 = np.delete(y1, order[inds]) x2 = np.delete(x2, order[inds]) y2 = np.delete(y2, order[inds]) area = np.delete(area, order[inds]) score = np.delete(score, order[inds]) return keep_

    結果展示

    從左到右依次是原圖、nms處理前、nms處理后,可以看出效果很明顯。

    nms效果圖

    寫在最后

    nms是算法研究?員?分常?的算法,筆者在?作?試中也經常會出這道題,因此還是很有必要掌握的,接下來的?章也會持續分享?作期間總結的論?、筆記和代碼。歡迎關注與轉發。

    總結

    以上是生活随笔為你收集整理的密码算法中iv值是什么_?标检测中的?极?值抑制算法(nms):python代码解析的全部內容,希望文章能夠幫你解決所遇到的問題。

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