欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python實現IOU計算案例

 更新時間:2020年04月12日 15:04:08   作者:木盞  
這篇文章主要介紹了python實現IOU計算案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

計算兩個矩形的交并比,通常在檢測任務里面可以作為一個檢測指標。你的預測bbox和groundtruth之間的差異,就可以通過IOU來體現。很簡單的算法實現,我也隨便寫了一個,嗯,很簡單。

1. 使用時,請注意bbox四個數字的順序(y0,x0,y1,x1),順序不太一樣。

#!/usr/bin/env python
# encoding: utf-8
 
def compute_iou(rec1, rec2):
  """
  computing IoU
  :param rec1: (y0, x0, y1, x1), which reflects
      (top, left, bottom, right)
  :param rec2: (y0, x0, y1, x1)
  :return: scala value of IoU
  """
  # computing area of each rectangles
  S_rec1 = (rec1[2] - rec1[0]) * (rec1[3] - rec1[1])
  S_rec2 = (rec2[2] - rec2[0]) * (rec2[3] - rec2[1])
 
  # computing the sum_area
  sum_area = S_rec1 + S_rec2
 
  # find the each edge of intersect rectangle
  left_line = max(rec1[1], rec2[1])
  right_line = min(rec1[3], rec2[3])
  top_line = max(rec1[0], rec2[0])
  bottom_line = min(rec1[2], rec2[2])
 
  # judge if there is an intersect
  if left_line >= right_line or top_line >= bottom_line:
    return 0
  else:
    intersect = (right_line - left_line) * (bottom_line - top_line)
    return (intersect / (sum_area - intersect))*1.0
 
 
if __name__=='__main__':
  rect1 = (661, 27, 679, 47)
  # (top, left, bottom, right)
  rect2 = (662, 27, 682, 47)
  iou = compute_iou(rect1, rect2)
  print(iou)

補充知識:基于Python實現的IOU算法---最簡單易懂的代碼實現

概念介紹:

交并比:(Intersection over Union)

如上圖所示,IOU值定位為兩個矩形框面積的交集和并集的比值。即:

交并比的實現也是非常簡單的,執(zhí)行過程如下:

1. 交集形狀的寬度計算為:

IOU_W = min(x1,x2,x3,x4)+w1+w2-max(x1,x2,x3,x4)

2. 交集形狀的高度計算為:

IOU_H = min(y1,y2,y3,y4)+h1+h2-max(y1,y2,y3,y4)

其實是很簡單的幾何關系變換,上面的圖可以幫助你很好的理解這個意思。

代碼實現:001-IOU計算

以上這篇python實現IOU計算案例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • pycharm自定義TODO類注釋以及高亮顏色的設置方法

    pycharm自定義TODO類注釋以及高亮顏色的設置方法

    這篇文章主要介紹了pycharm自定義TODO類注釋以及高亮顏色的設置方法,文中通過圖文結合的方式給大家介紹的非常詳細,具有一定的參考價值,需要的朋友可以參考下
    2024-03-03
  • python接口自動化之ConfigParser配置文件的使用詳解

    python接口自動化之ConfigParser配置文件的使用詳解

    這篇文章主要介紹了python接口自動化之ConfigParser配置文件的使用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • Python 編碼規(guī)范(Google Python Style Guide)

    Python 編碼規(guī)范(Google Python Style Guide)

    本項目并非 Google 官方項目, 而是由國內程序員憑熱情創(chuàng)建和維護,對于想學習python的朋友可以參考一下
    2018-05-05
  • 基于Python+Turtle實現繪制簡易的大風車

    基于Python+Turtle實現繪制簡易的大風車

    大風車,吱呀吱呦呦地轉,這里的風景呀真好看!天好看,地好看……一首熟悉的歌曲,是否已經把你拉回了童年?本文將用Turtle庫繪制簡易的大風車,需要的可以參考一下
    2022-06-06
  • Tensorflow中TFRecord生成與讀取的實現

    Tensorflow中TFRecord生成與讀取的實現

    TFRecord格式的文件存儲形式會很合理的幫我們存儲數據,本文主要介紹了Tensorflow中TFRecord生成與讀取的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05
  • python游戲地圖最短路徑求解

    python游戲地圖最短路徑求解

    這篇文章主要為大家詳細介紹了python游戲地圖最短路徑的求解,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 通過實例解析python subprocess模塊原理及用法

    通過實例解析python subprocess模塊原理及用法

    這篇文章主要介紹了通過實例解析python subprocess模塊原理及用法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • Python中將字符串轉換為列表的常用八種方法

    Python中將字符串轉換為列表的常用八種方法

    本文介紹了Python中將字符串轉換為列表的八種常用方法,包括split()方法、列表解析、正則表達式、str()函數、map()函數、re.split()、re.finditer()和逐字符遍歷,感興趣的可以了解一下
    2024-07-07
  • Python使用gensim計算文檔相似性

    Python使用gensim計算文檔相似性

    在文本處理中,比如商品評論挖掘,有時需要了解每個評論分別和商品的描述之間的相似度,以此衡量評論的客觀性。那么python 里面有計算文本相似度的程序包嗎,恭喜你,不僅有,而且很好很強大。下面我們就來體驗下gensim的強大
    2016-04-04
  • python中的GUI實現計算器

    python中的GUI實現計算器

    這篇文章主要介紹了如何利用python中的GUI實現計算器,文章教大家用用python的GUI做界面布局,計算器代碼熟悉控件的使用方法、優(yōu)化計算器代碼,解決獲取按鈕文本的方法,具有一定的參考價值,需要的朋友可以參考一下
    2021-12-12

最新評論