精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

目標檢測算法中規則矩形和不規則四邊形IOU的Python實現

開發 前端 算法
交并比(Intersection-over-Union,IoU),目標檢測中使用的一個概念,我們在進行目標檢測算法測試時,重要的指標,是產生的預測框(candidate bound)與標記框(ground truth bound)的交疊率,即它們的交集與并集的比值。最理想情況是完全重疊,即比值為1。

目標檢測算法中規則矩形和不規則四邊形IOU的Python實現

交并比(Intersection-over-Union,IoU),目標檢測中使用的一個概念,我們在進行目標檢測算法測試時,重要的指標,是產生的預測框(candidate bound)與標記框(ground truth bound)的交疊率,即它們的交集與并集的比值。最理想情況是完全重疊,即比值為1。

通常,我們所說的目標檢測檢測的框是規則的矩形框,計算IOU也非常簡單,一般兩種方法:

  • 兩個矩形的寬之和減去組合后的矩形的寬就是重疊矩形的寬,同比重疊矩形的高。
  • 右下角的最小值減去左上角的最大值就是重疊矩形的寬,同比高。

上述規則四邊形(矩形)IOU計算方式一的 Python實現

 

  1. def calculate_regular_iou(rec1, rec2): 
  2.     ""
  3.     computing IoU 
  4.     :param rec1: (y0, x0, y1, x1), which reflects 
  5.             (topleft, bottom, right
  6.     :param rec2: (y0, x0, y1, x1) 
  7.     :return: scala value of IoU 
  8.     ""
  9.  
  10.     S_rec1 = (rec1[2] - rec1[0]) * (rec1[3] - rec1[1]) 
  11.     S_rec2 = (rec2[2] - rec2[0]) * (rec2[3] - rec2[1]) 
  12.  
  13.     sum_area = S_rec1 + S_rec2 
  14. ​ 
  15.     left_line = max(rec1[1], rec2[1]) 
  16.     right_line = min(rec1[3], rec2[3]) 
  17.     top_line = max(rec1[0], rec2[0]) 
  18.     bottom_line = min(rec1[2], rec2[2]) 
  19. ​ 
  20.     if left_line >= right_line or top_line >= bottom_line: 
  21.         return 0 
  22.     else
  23.         intersect = (right_line - left_line) * (bottom_line - top_line) 
  24.         return (intersect / (sum_area - intersect)) * 1.0 
  25.      
  26. if __name__ == '__main__'
  27.     # (topleft, bottom, right
  28.     rect1 = [551, 26, 657, 45] 
  29.     rect2 = [552, 27, 672, 46] 
  30.     iou = calculate_regular_iou(rect1, rect2) 

上述規則四邊形(矩形)IOU計算方式二的 Python 實現

 

  1. def compute_regular_iou_other(rec1, rec2): 
  2.     ""
  3.     computing IoU 
  4.     :param rec1: (y0, x0, y1, x1), which reflects 
  5.             (topleft, bottom, right
  6.     :param rec2: (y0, x0, y1, x1) 
  7.     :return: scala value of IoU 
  8.     ""
  9.     areas1 = (rec1[3] - rec1[1]) * (rec1[2] - rec1[0]) 
  10.     areas2 = (rec2[3] - rec2[1]) * (rec2[2] - rec2[0]) 
  11. ​ 
  12.     left = max(rec1[1],rec2[1]) 
  13. ​ 
  14.     right = min(rec1[3],rec2[3]) 
  15. ​ 
  16.     top = max(rec1[0], rec2[0]) 
  17. ​ 
  18.     bottom = min(rec1[2], rec2[2]) 
  19. ​ 
  20.     w = max(0, right - left
  21.     h = max(0, bottom - top
  22. ​ 
  23.     return w*h / (areas2 + areas1 - w*h) 
  24. ​ 
  25. if __name__ == '__main__'
  26.     # (topleft, bottom, right
  27.     rect1 = [551, 26, 657, 45] 
  28.     rect2 = [552, 27, 672, 46] 
  29.     iou = compute_regular_iou_other(rect1, rect2) 

但是,對于不規則四邊形就不能通過上述這兩種方式來計算,這里可以使用Python的 Shapely 庫實現,Python 實現如下:

 

  1. import numpy as np 
  2. import shapely 
  3. from shapely.errors import TopologicalError 
  4. from shapely.geometry import Polygon,MultiPoint 
  5. ​ 
  6. def to_polygon(quadrilateral): 
  7.     ""
  8. ​ 
  9.     :param quadrilateral: 四邊形四個點坐標的一維數組表示,[x,y,x,y....] 
  10.     :return: 四邊形二維數組, Polygon四邊形對象 
  11.     ""
  12.     # 四邊形二維數組表示 
  13.     quadrilateral_array = np.array(quadrilateral).reshape(4, 2) 
  14.     # Polygon四邊形對象,會自動計算四個點,最后四個點順序為:左上 左下  右下 右上 左上 
  15.     quadrilateral_polygon = Polygon(quadrilateral_array).convex_hull 
  16. ​ 
  17.     return quadrilateral_array, quadrilateral_polygon 
  18. ​ 
  19. def calculate_iou(actual_quadrilateral, predict_quadrilateral): 
  20.     ""
  21. ​ 
  22.     :param actual_quadrilateral: 預測四邊形四個點坐標的一維數組表示,[x,y,x,y....] 
  23.     :param predict_quadrilateral: 期望四邊形四個點坐標的一維數組表示,[x,y,x,y....] 
  24.     :return
  25.     ""
  26.     # 預測四邊形二維數組, 預測四邊形 Polygon 對象 
  27.     actual_quadrilateral_array, actual_quadrilateral_polygon = to_polygon(actual_quadrilateral) 
  28.     # 期望四邊形二維數組, 期望四邊形 Polygon 對象 
  29.     predict_quadrilateral_array, predict_quadrilateral_polygon = to_polygon(predict_quadrilateral) 
  30. ​ 
  31.     # 合并兩個box坐標,變為8*2 便于后面計算并集面積 
  32.     union_poly = np.concatenate((actual_quadrilateral_array, predict_quadrilateral_array)) 
  33.     # 兩兩四邊形是否存在交集 
  34.     inter_status = actual_quadrilateral_polygon.intersects(predict_quadrilateral_polygon) 
  35.     # 如果兩四邊形相交,則進iou計算 
  36.     if inter_status: 
  37.         try: 
  38.             # 交集面積 
  39.             inter_area = actual_quadrilateral_polygon.intersection(predict_quadrilateral_polygon).area 
  40.             # 并集面積 計算方式一 
  41.             #union_area = poly1.area + poly2.area - inter_area 
  42.             # 并集面積 計算方式二 
  43.             union_area = MultiPoint(union_poly).convex_hull.area 
  44.             # 若并集面積等于0,則iou = 0 
  45.             if union_area == 0: 
  46.                 iou = 0 
  47.             else
  48.                 # 第一種計算的是: 交集部分/包含兩個四邊形最小多邊形的面積 
  49.                 iou = float(inter_area) / union_area 
  50.                 #  第二種: 交集 / 并集(常見矩形框IOU計算方式) 
  51.                 # iou=float(inter_area) /(poly1.area+poly2.area-inter_area) 
  52.         except shapely.errors.TopologicalError : 
  53.             print('shapely.errors.TopologicalError occured, iou set to 0'
  54.             iou = 0 
  55.     else
  56.         iou = 0 
  57. ​ 
  58.     return iou 
  59. ​ 
  60. if __name__ == '__main__'
  61.     actual_quadrilateral = [908, 215, 934, 312, 752, 355, 728, 252] 
  62.     predict_quadrilateral =  [923, 308, 758, 342, 741, 262, 907, 228] 
  63.     iou = calculate_iou(actual_quadrilateral, predict_quadrilateral) 
  64.     print(iou) 

避坑指南

運行代碼拋出 WinError 126 錯誤

在使用Python中的使用 import shapely 時不會報錯,但是在使用 from shapely.geometry import Polygon,MultiPoint 會報錯,報錯的詳細信息如下圖:

 

目標檢測算法中規則矩形和不規則四邊形IOU的Python實現

報錯的主要原因就出現在 geos_c.dll 這里,看了網上很多文章大部分說是由于 geos_c.dll 文件缺失導致報錯。嘗試在網上找了幾個 geos_c.dll 文件放到 C:\Windows\System32 下仍然沒有解決問題。

 

目標檢測算法中規則矩形和不規則四邊形IOU的Python實現

最終解決方案:通過 pip uninstall Shapely 卸載原來安裝的 Shapely 然后 在 https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely,如上圖,這里下載對應版本的whl文件安裝,安裝這個whl 就可以解決該問題。

whl文件下載404錯誤

在 https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely 下載制定版本的whl時,出現404錯誤。如下。

 

目標檢測算法中規則矩形和不規則四邊形IOU的Python實現

此時改用 chrome 瀏覽器重新嘗試下載,即可解決。

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2012-12-24 09:55:15

iOSUnity3D

2012-08-13 10:53:52

Web

2022-12-28 07:48:40

六邊形動畫CSS

2023-03-13 13:35:00

幾何算法矩形碰撞檢測

2015-07-17 13:31:20

按鈕單獨控制

2011-06-20 17:06:56

Qt Widget

2009-07-10 11:31:45

Swing支持透明和不規則窗口

2017-09-20 16:25:00

深度學習視覺領域計算機

2009-12-25 10:20:28

WPF窗口

2009-07-15 10:40:06

碰撞檢測算法Java ME

2010-09-08 17:20:42

CSS

2020-10-18 07:15:53

Python異常檢測算法開發

2024-04-26 10:00:03

自動駕駛模型

2018-01-23 16:16:03

開源技術 Facebook

2021-08-29 18:32:18

CSS

2017-03-02 10:49:37

推薦算法原理實現

2023-11-13 22:17:54

YOLO-NAS目標檢測

2024-04-28 11:42:39

Python模型數據

2015-02-02 16:21:26

android瀑布流圖片加載

2013-04-12 09:57:37

CSSJavaScript
點贊
收藏

51CTO技術棧公眾號

欧美性大战久久久| 国产亚洲人成网站| 欧美专区国产专区| 免费成人美女女在线观看| 日韩激情精品| 欧美日韩精品在线| 欧洲精品一区色| 国产丝袜在线视频| 麻豆久久婷婷| 九色成人免费视频| 久热精品在线观看视频| 怡红院红怡院欧美aⅴ怡春院| 精品在线播放午夜| 69**夜色精品国产69乱| 国产午夜精品理论片| 中国av一区| 欧美不卡视频一区| 日本在线一二三区| 亚洲国产成人二区| 一区二区三区在线视频免费观看| 亚洲综合社区网| 精品一区二区无码| 亚洲精品色图| 九九综合九九综合| 国产免费久久久久| 精品美女在线视频| 亚洲精品美女久久| wwwxx日本| 年轻的保姆91精品| 欧美性三三影院| 波多野结衣与黑人| 日本三级在线播放完整版| 久久男人中文字幕资源站| 99精品欧美一区二区三区| 在线免费看毛片| 日韩视频 中文字幕| 精精国产xxxx视频在线| 中文字幕成人在线观看| 日本一区二区三区精品视频| 国产绳艺sm调教室论坛| 久久精品国产99| 国产欧美在线播放| 中文字幕 亚洲视频| 久热综合在线亚洲精品| 欧美在线视频导航| 登山的目的在线| 欧美在线免费看视频| 亚洲欧美制服丝袜| 熟女少妇一区二区三区| 99久久99九九99九九九| 午夜伊人狠狠久久| www一区二区www免费| 7777kkk亚洲综合欧美网站| 亚洲自拍偷拍av| 成人精品视频在线播放| av人人综合网| 欧美日韩国产限制| 日韩 欧美 高清| avav成人| 欧美高清www午色夜在线视频| 国产91xxx| 九色porny视频在线观看| 精品久久久久久久久久国产 | 最近2019年好看中文字幕视频| 99国产精品免费视频| 国产一区二区在线观| 色94色欧美sute亚洲线路一久| 9l视频自拍9l视频自拍| 亚洲妇熟xxxx妇色黄| 亚洲国产综合视频在线观看| 国产原创中文在线观看| 污的网站在线观看| 精品色蜜蜜精品视频在线观看| 欧美日韩中文字幕在线播放| a√在线中文网新版址在线| 亚洲欧美中日韩| 亚洲精品视频一二三| 国产精品一区二区三区视频网站| 亚洲国产精品成人综合 | 国产一级成人av| 精品无码久久久久久国产| 欧美 日韩 成人| 亚洲激情久久| 9.1国产丝袜在线观看| 国产一级片免费在线观看| 毛片一区二区三区| 国产精品久久久久久久久久| 最新中文字幕一区| 精品一区二区综合| 91精品视频专区| 婷婷五月综合久久中文字幕| 成人免费高清在线| 色噜噜一区二区| 番号在线播放| 亚洲午夜免费电影| 久操手机在线视频| 国产在线|日韩| 欧美成人精品1314www| 亚洲精品成人无码熟妇在线| 99久久亚洲精品蜜臀| 日韩视频精品在线| 草久久免费视频| 国产精品伊人色| 日韩福利视频| 1024在线看片你懂得| 欧美日韩一级二级三级| 中文成人无字幕乱码精品区| 91精品综合久久久久久久久久久 | 九色porny丨首页入口在线| 亚洲成人午夜电影| 欧美男女交配视频| 亚洲ab电影| 欧美精品在线播放| 亚洲视频在线观看一区二区| 91啪亚洲精品| 日韩欧美视频一区二区| av电影院在线看| 欧美一区二区三区白人| 18精品爽国产三级网站| 中文一区二区| 国产高清不卡av| 91高清在线观看视频| 欧美日韩国产一区在线| 潘金莲一级淫片aaaaa| 欧美gayvideo| 国产精品日韩av| 日本不卡免费播放| 亚洲风情在线资源站| 日韩欧美中文在线视频| 99久久99视频只有精品| 国产精品高潮呻吟久久av野狼 | 神马电影网我不卡| 亚洲国语精品自产拍在线观看| 无码国产69精品久久久久同性| 久久免费大视频| 国产精品劲爆视频| 国产在线色视频| 一本色道亚洲精品aⅴ| 国产福利在线观看视频| 亚洲片区在线| 精品不卡一区二区三区| 96av在线| 亚洲欧美日韩在线一区| 国产精品男女视频| 国产寡妇亲子伦一区二区| 日本久久高清视频| 久久久91麻豆精品国产一区| 欧美成人激情在线| 丁香社区五月天| 国产精品亚洲一区二区三区在线 | 日韩一级片免费观看| 亚洲黄色免费电影| 图片区偷拍区小说区| 亚洲图片在线| 九九九九九精品| 韩国美女久久| 神马久久久久久| 国产美女无遮挡永久免费| 亚洲欧洲无码一区二区三区| www.五月天色| 激情av一区| 久久精品99| 搜成人激情视频| 久久精品成人欧美大片| 黄色网址中文字幕| 中文字幕av一区二区三区| 久久久精品高清| 黄色在线一区| 日本视频一区二区在线观看| 久久亚洲资源中文字| 欧美精品在线视频观看| 嫩草影院一区二区| 色婷婷精品大视频在线蜜桃视频| 亚洲久久久久久| 三级一区在线视频先锋| 一区二区三区在线视频111| 成人免费福利| 久久97久久97精品免视看| 少妇av一区二区| 欧美在线一区二区三区| 国产精品久久久精品四季影院| 捆绑调教美女网站视频一区| 日韩国产精品一区二区三区| 欧洲美女精品免费观看视频| 欧美激情视频网| 岛国在线视频免费看| 91精选在线观看| 麻豆久久久久久久久久| 国产精品的网站| 精品人妻一区二区免费视频| 蜜桃视频一区二区| 很污的网站在线观看| 久久国产精品成人免费观看的软件| 国产成人小视频在线观看| av毛片在线| 在线观看成人黄色| 免费av一级片| 欧美精品乱码久久久久久按摩| 国产色无码精品视频国产| 99热在这里有精品免费| 亚洲图色中文字幕| 久久精品盗摄| 亚洲精品欧美精品| 99re8精品视频在线观看| 欧美亚洲成人网| 欧美性受ⅹ╳╳╳黑人a性爽| 亚洲激情第一页| 国产精品久久久午夜夜伦鲁鲁| 亚洲视频在线一区观看| 成人精品在线观看视频| 高清不卡在线观看av| 亚洲视频一二三四| 欧美亚洲自偷自偷| 久久这里只有精品18| 午夜欧洲一区| 国产精品污www一区二区三区| 国产传媒av在线| 久久99久久久久久久噜噜| 五月天婷婷在线视频| 亚洲欧美国产精品久久久久久久| 最新国产中文字幕| 色综合中文综合网| 国语对白一区二区| 国产亚洲欧美日韩在线一区| 在线观看国产免费视频| 成人精品视频.| 欧美激情成人网| 日韩一级欧洲| cao在线观看| 影音先锋亚洲精品| 白白操在线视频| 欧美日韩视频一区二区三区| 午夜探花在线观看| 一区二区三区日本久久久 | caoporm超碰国产精品| 韩国三级hd中文字幕有哪些| 国产一区二区三区在线观看精品| 成人免费毛片网| 在线综合视频| 黄色片视频在线免费观看| 香蕉国产精品偷在线观看不卡| 色爽爽爽爽爽爽爽爽| 国产精品久久久久久久免费观看 | 欧美一级大片免费看| 久久九九免费| 国产成人av影视| 日韩av中文字幕一区二区三区| 99视频精品全部免费看| 欧美暴力喷水在线| 在线观看三级网站| 欧美激情偷拍| www.国产在线视频| 亚洲最黄网站| 熟妇人妻无乱码中文字幕真矢织江| 欧美精品国产一区二区| 日本a级片在线播放| 亚洲二区免费| 日韩精品无码一区二区三区免费| 亚洲欧美亚洲| 五月婷婷一区| 91影院成人| 日韩在线电影一区| 秋霞在线一区| 欧美一区二区在线| 成人台湾亚洲精品一区二区| 久久av一区二区三区漫画| 欧美人与拘性视交免费看| 亚洲精品日韩成人| 欧美久久视频| 日本毛片在线免费观看| 蜜桃一区二区三区在线| 两女双腿交缠激烈磨豆腐| 成人短视频下载| www.黄色网| www久久精品| www.xx日本| 亚洲国产日韩综合久久精品| 日韩手机在线视频| 4438亚洲最大| 天堂网av在线播放| 国产香蕉一区二区三区在线视频| 日本天堂在线| 日韩视频永久免费观看| 男人的天堂在线视频免费观看 | 日本成人精品视频| 一级做a爱片久久| 天天干,天天干| 日韩三级高清在线| 久蕉依人在线视频| 欧美老妇交乱视频| 欧美日韩成人影院| 国产精品视频免费一区二区三区 | 国产综合色视频| 69亚洲乱人伦| 国产精品久久久久永久免费观看| 特黄一区二区三区| 一区免费观看视频| 天天做天天爱夜夜爽| 91精品国产品国语在线不卡| 香蕉视频黄色片| 九色成人免费视频| 久久电影天堂| 欧美理论一区二区| 成人精品久久| 男人和女人啪啪网站| 狠狠色狠狠色综合系列| 天天躁日日躁aaaa视频| 国产精品剧情在线亚洲| 日本午夜视频在线观看| 精品日产卡一卡二卡麻豆| 日本精品一区二区三区在线播放| 久久夜色精品国产亚洲aⅴ| 国产超碰精品| 激情小说综合网| 激情综合中文娱乐网| 999久久久精品视频| 中文字幕欧美三区| 久久精品www| 在线不卡一区二区| av在线首页| 国产www精品| 国产高清亚洲| 国产精品一码二码三码在线| 亚洲成人一区| 一本一道久久a久久综合蜜桃| 国产成人av影院| 国产在线观看免费视频软件| 在线视频观看一区| 久久99久久| 国产成人拍精品视频午夜网站| 免费观看性欧美大片无片| 椎名由奈jux491在线播放| 青青草一区二区三区| 亚洲a v网站| 亚洲精品伦理在线| 国产精品一级视频| 日韩国产在线看| 欧美a级在线观看| 精品免费日产一区一区三区免费| 日韩欧美视频| 国产91在线免费| 国产综合色在线| www青青草原| 欧美大片一区二区三区| av国产在线观看| 国产精品永久免费观看| 99久久视频| 一区二区三区人妻| 亚洲午夜电影网| 少妇av在线播放| 5566日本婷婷色中文字幕97| 一呦二呦三呦国产精品| 亚洲无吗一区二区三区| 国产精品毛片久久久久久久| 亚洲一级黄色大片| 久久色免费在线视频| 一本色道69色精品综合久久| 免费拍拍拍网站| 久久综合资源网| 久热精品在线观看| 欧美精品九九99久久| 在线视频国产区| 国产乱码精品一区二区三区卡| 亚洲一区欧美| 老司机免费视频| 91成人免费在线| 毛片av在线| 国产视频999| 国产综合久久| 人人妻人人藻人人爽欧美一区| 亚洲成a天堂v人片| 国产香蕉在线| 亚洲一区二区中文字幕| 亚洲精品美女91| 成人18视频免费69| 欧美va亚洲va在线观看蝴蝶网| av在线免费网站| 激情伦成人综合小说| 激情综合视频| 亚洲午夜精品久久久久久高潮| 色综合av在线| 国产黄色在线网站| 久久99精品久久久久久秒播放器| 亚洲国产日本| av免费观看不卡| 香蕉乱码成人久久天堂爱免费| 成人午夜福利视频| 国产97色在线| 狠狠爱www人成狠狠爱综合网 | 在线免费观看高清视频| 欧美成人一二三| 国产精品午夜一区二区三区| 超碰在线资源站| 色综合天天狠狠| 免费污视频在线观看| 神马影院我不卡| 91亚洲国产成人精品一区二区三 | 欧美高清性xxxxhd| 国产精品综合网| 中文字幕人成人乱码亚洲电影|