成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

終于把目標檢測中的 NMS 搞懂了!

人工智能
目標檢測(Object Detection)是一種計算機視覺技術,其主要任務是識別圖像或視頻中的目標,并確定每個目標的位置和類別。

大家好,我是小寒

今天給大家分享目標檢測中的一個關鍵知識點,NMS

目標檢測中的非最大抑制(Non-Maximum Suppression, NMS)是一個關鍵步驟,用于去除多余的候選框(bounding boxes),從而精簡檢測結果。它主要用于確保每個目標只被檢測一次,避免多個重疊的候選框表示同一個目標。

目標檢測簡介

目標檢測(Object Detection)是一種計算機視覺技術,其主要任務是識別圖像或視頻中的目標,并確定每個目標的位置和類別。

與圖像分類不同,目標檢測不僅需要識別圖像中包含的物體,還需要定位這些物體在圖像中的具體位置(通常用邊界框表示)。

圖片圖片

  • 在第一幅圖中,我們只是對圖片中的物體進行 “分類”。這是一個分類問題
  • 在第二幅圖中,我們只是在圖像中“定位”物體。這是一個定位問題
  • 在第三幅圖中,我們對物體進行 “分類和定位”。這是一個目標檢測問題

目標檢測任務有多種算法,這些算法在過去十年中不斷發展。

為了進一步提高性能并捕捉不同形狀和大小的物體,算法會預測多個不同大小和長寬比的邊界框。

圖片圖片

但是在所有邊界框中,如何選擇最合適、最準確的邊界框?這就是 NMS 發揮作用的地方。

什么是非最大抑制?

圖片中的物體可能大小和形狀各異,為了完美捕捉每個物體,目標檢測算法會創建多個邊界框(左圖)。理想情況下,對于圖片中的每個物體,我們都必須有一個邊界框,類似于右圖。

圖片圖片

為了從多個預測的邊界框中選擇最佳邊界框,這些目標檢測算法使用非最大抑制。

該技術用于“抑制”可能性較小的邊界框并僅保留最佳邊界框。

非最大抑制如何起作用?

非最大抑制的目的是為對象選擇最佳邊界框,并拒絕或 “抑制” 所有其他邊界框。

該算法迭代地選擇最佳邊界框,比較重疊,并刪除冗余框,直到收斂。

NMS 考慮了兩件事

  • 客觀性得分由模型給出
  • 邊界框的重疊或 IOU

你可以在下圖中看到,除了邊界框之外,模型還會返回客觀性分數。

該分數表示模型對目標對象存在于此邊界框中的確定程度。

圖片圖片

你可以看到所有邊界框都有物體,但只有綠色邊界框是檢測物體的最佳邊界框。

現在我們如何擺脫其他邊界框?

非最大抑制將首先選擇客觀性得分最高的邊界框。然后刪除所有其他重疊度高的邊界框。

所以在上面的圖片中,

  1. 我們將為狗選擇綠色邊界框(因為它的客觀性得分最高,為 98%)
  2. 并移除狗的黃色和紅色框(因為它們與綠色框重疊較高)

其余的框也采用相同的過程,這個過程不斷迭代,直到不再減少框。

最后,我們將得到以下結果。

圖片圖片

這就是 NMS 的工作原理。

實現非最大抑制

現在你應該對非最大抑制有了很好的理解。讓我們將非最大抑制的過程分解為幾個步驟。

  • 選擇客觀性得分最高的框
  • 然后,比較此框與其他框的重疊(交集與并集)
  • 刪除重疊(交集與并集)大于 50% 的邊界框
  • 然后,轉到下一個最高的客觀性得分
  • 最后重復步驟2-4

圖片圖片

假設我們一個人和狗的圖像,有六個邊界框,每個邊界框都有客觀性分數。

圖片圖片

對于此圖像,我們將使用 torchvision 庫中的非最大抑制(NMS 算法)函數 nms() 。

此函數需要三個參數-

  • Boxes:x1、y1、x2、y2 格式的邊界框坐標
  • 分數:每個邊界框的客觀性分數
  • iou_threshold:重疊(或 IOU)的閾值

這里,由于上述坐標采用 x1、y1、寬度、高度格式,我們將按以下方式確定 x2、y2

x2 = x1 + 寬度 

y2 = y1 + 高度

import torch
from torchvision.ops import nms


boxes = torch.tensor([[190,380,(190+300),(380+150)],
                      [300,420,(300+150),(420+210)],
                      [320,360,(320+200),(360+230)],

                      [390,50,(390+300),(50+330)],
                      [490,45,(490+200),(45+500)],
                      [480,130,(480+150),(130+400)]], dtype=torch.float32)

scores = torch.tensor([[0.90],[0.98],[0.82], [0.87],[0.98],[0.82]], dtype=torch.float32)

nms(boxes = boxes, scores = scores, iou_threshold=0.2)

#tensor([1, 4])

對于我們的示例,這個 python 函數返回了邊界框 1 和 4。


責任編輯:武曉燕 來源: 程序員學長
相關推薦

2024-07-17 09:32:19

2024-09-23 09:12:20

2024-10-16 07:58:48

2024-12-03 08:16:57

2024-10-08 15:09:17

2024-10-08 10:16:22

2024-10-28 15:52:38

機器學習特征工程數據集

2024-10-30 08:23:07

2025-01-20 09:21:00

2024-12-26 00:34:47

2024-10-28 00:00:10

機器學習模型程度

2025-01-15 11:25:35

2024-08-23 09:06:35

機器學習混淆矩陣預測

2024-11-05 12:56:06

機器學習函數MSE

2025-02-17 13:09:59

深度學習模型壓縮量化

2024-10-14 14:02:17

機器學習評估指標人工智能

2024-09-18 16:42:58

機器學習評估指標模型

2024-07-24 08:04:24

神經網絡激活函數

2024-11-07 08:26:31

神經網絡激活函數信號

2024-10-31 10:00:39

注意力機制核心組件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲一区二区久久 | 亚洲视频www | 久久国产精品偷 | 久久国产精品无码网站 | 国产精品美女久久久久 | 永久www成人看片 | 国产精品久久久久久高潮 | 午夜精品久久久久久久久久久久久 | 欧美成视频 | 日日射影院 | 蜜桃黄网 | 欧美日韩国产一区二区三区 | aaa国产大片| 国产午夜视频 | av网站在线播放 | 麻豆changesxxx国产 | 国产97在线视频 | 久久精品国产久精国产 | 自拍偷拍视频网 | 特级特黄特色的免费大片 | aaaaaaa片毛片免费观看 | 日本视频一区二区三区 | 久久国产精品免费一区二区三区 | 亚洲精品免费在线观看 | 日韩精品免费在线观看 | 九一国产精品 | 亚洲国产偷 | 性国产xxxx乳高跟 | 久久涩涩 | 日韩欧美在线不卡 | 欧美综合一区二区 | 国产一级特黄真人毛片 | 亚洲aⅴ| 国产午夜精品福利 | 黄色片在线免费看 | 一区二区三区日本 | 国产午夜在线观看 | 操人视频在线观看 | 日韩高清www | 欧美中文字幕在线 | 亚洲视频www |