精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

夫妻免费无码v看片| 久久综合网hezyo| 欧美日韩中文在线视频| 国产青青草在线| 久久99久久99| 国模精品系列视频| 永久免费毛片在线观看| 97成人在线| 欧美性欧美巨大黑白大战| 国产一级大片免费看| 久草在线网址| 丁香六月综合激情| 国产精品狼人色视频一区| 乱h高h女3p含苞待放| 日韩有码av| 日韩一级精品视频在线观看| 538在线视频观看| 国内老司机av在线| 国产精品国产三级国产有无不卡| 国产一区二区三区色淫影院| 国产精品视频在线观看免费| 三级亚洲高清视频| 久久久综合免费视频| 欧美性生交大片| 免费看成人吃奶视频在线| 精品国产亚洲在线| 黄色三级视频在线播放| a屁视频一区二区三区四区| 欧美午夜美女看片| av一区二区三区免费观看| 日韩黄色影院| 91视频xxxx| 国产九色精品| 精品国产av 无码一区二区三区| 日本美女视频一区二区| 68精品久久久久久欧美| 精品视频在线观看免费| 久久精品亚洲人成影院| 国产亚洲欧洲高清一区| 日本少妇高潮喷水xxxxxxx| 日韩极品在线| 日韩精品中文字幕有码专区| 大桥未久恸哭の女教师| 午夜久久av| 日韩美女天天操| 日本女人黄色片| www.久久草.com| 欧美精品99久久久**| 网站一区二区三区| 99久久婷婷国产综合精品首页| 欧美性猛交xxxx黑人| a在线视频观看| 五月天国产在线| 色综合久久中文字幕综合网| 男人靠女人免费视频网站| 中文字幕在线视频久| 色老综合老女人久久久| 亚洲一区二区蜜桃| 成人一级视频| 欧美一区二区在线不卡| 图片区乱熟图片区亚洲| 91久久偷偷做嫩草影院电| 日韩女优视频免费观看| 99免费观看视频| 色老板在线视频一区二区| 亚洲精品一二区| 精品无码人妻一区二区免费蜜桃| 清纯唯美日韩| 操91在线视频| 91久久国产视频| 老司机精品视频网站| 国产精品网站入口| 国产91视频在线| 99免费精品视频| 日韩一区不卡| 国产在线看片| 疯狂做受xxxx高潮欧美日本| 天堂av在线网站| 欧美成人一级| 精品一区电影国产| 五月天免费网站| 黄色国产精品| 国产91九色视频| 99在线观看精品视频| 99精品视频中文字幕| 先锋影音一区二区三区| 婷婷色在线播放| 欧美午夜精品久久久久久久| 中文av字幕在线观看| 国产精品毛片久久久| 亚洲一区二区黄| 欧美成人三级视频| 香蕉亚洲视频| 69堂成人精品视频免费| 日韩a在线观看| 亚洲色图在线播放| 国产一区二区视频免费在线观看| 日韩成人综合网| 亚洲精品日韩欧美| 波多野结衣不卡视频| 久久久久91| 国产91免费视频| 尤物网在线观看| 精品久久久久久久久久国产 | 天堂а√在线资源在线| 亚洲韩国精品一区| 99热一区二区| 亚洲小说图片视频| 欧美激情乱人伦一区| 中文字幕一区二区人妻痴汉电车| 波多野结衣在线aⅴ中文字幕不卡| 亚洲欧美日本国产有色| 擼擼色在线看观看免费| 日韩欧美一级二级三级久久久| 日本少妇高潮喷水xxxxxxx| 亚洲高清免费| 亚洲自拍av在线| 婷婷在线视频观看| 91久久精品午夜一区二区| 极品白嫩的小少妇| 国产精品久久观看| 国产美女扒开尿口久久久| 欧美孕妇孕交xxⅹ孕妇交| 亚洲午夜久久久| 欧美又黄又嫩大片a级| 成人精品影视| 国产精品露脸av在线| 少妇激情av一区二区| 午夜a成v人精品| 可以看的av网址| 中国成人一区| 91美女福利视频高清| 日韩伦理在线观看| 欧美精品777| 久久久精品少妇| 免费黄网站欧美| 亚洲国产欧美一区二区三区不卡| 写真福利精品福利在线观看| 亚洲欧美国产精品久久久久久久| 国产成人精品一区二三区| 99r国产精品| 日本www在线播放| 婷婷综合一区| 日韩av男人的天堂| 国模吧精品人体gogo| 色综合久久66| 亚洲精品成人av久久| 人人爽香蕉精品| 一区二区成人国产精品| 欧美美女被草| 不用播放器成人网| 国产 日韩 欧美 精品| 香蕉成人啪国产精品视频综合网| 欧美成人精品一区二区综合免费| 亚洲一级网站| 久久久久一区二区三区| 欧美第一视频| 色99之美女主播在线视频| 91欧美日韩麻豆精品| **欧美大码日韩| 亚洲欧美综合视频| 中文日韩欧美| 日韩av影视| 电影亚洲一区| 久久亚洲综合国产精品99麻豆精品福利 | 国产精品一区二区三区免费| 免费成人在线电影| 亚洲午夜未满十八勿入免费观看全集 | 91网站在线看| av色在线观看| 亚洲视频第一页| 91丨porny丨在线中文 | japanese色系久久精品| 欧美亚洲国产日韩2020| 国产视频三级在线观看播放| 欧美丰满少妇xxxxx高潮对白| 美女福利视频在线观看| 99久免费精品视频在线观看| the porn av| 欧美精品国产| 日本成人三级电影网站| 国产麻豆精品| 欧洲亚洲妇女av| 日本视频在线免费观看| 亚洲国产精品高清久久久| 中文字幕69页| 一区二区三区在线免费视频| 新91视频在线观看| 国产伦精品一区二区三区视频青涩 | 国产男女猛烈无遮挡在线喷水| 国产suv一区二区三区88区| 99爱视频在线| 自产国语精品视频| 欧美精品一区二区三区久久| 在线成人免费| 青青草一区二区| 永久免费网站在线| 一区二区欧美亚洲| 人人妻人人澡人人爽人人欧美一区| 欧美最猛性xxxxx直播| 欧美成人aaaaⅴ片在线看| 中文字幕在线不卡视频| 免费在线观看污| 成人黄色av电影| 亚洲色图偷拍视频| 久久精品主播| 香港三级韩国三级日本三级| 亚洲va在线| 亚洲国产欧美不卡在线观看| 日韩中出av| 国产精品区一区二区三在线播放| 亚洲网站免费| 国产精自产拍久久久久久| 中文日产幕无线码一区二区| 九色91av视频| 国产精品刘玥久久一区| 中文字幕亚洲精品| 全部免费毛片在线播放网站| 精品美女一区二区| 国产精品女同一区二区| 91黄色免费看| 黄色一级视频免费看| 五月婷婷欧美视频| 免费一级黄色大片| 一区二区三区欧美视频| 男女全黄做爰文章| 国产精品久久久久久久久久久免费看 | 国产精品网站视频| 欧美日韩在线精品一区二区三区激情综合| 97精品在线观看| 欧美日韩经典丝袜| 久久综合久久八八| 亚洲电影视频在线| 欧美剧在线观看| a毛片在线播放| 麻豆一区二区在线观看| 成人在线免费看片| 不卡av电影在线观看| 69xxx在线| 久久中文久久字幕| 手机电影在线观看| 欧美激情视频给我| hd国产人妖ts另类视频| 欧美成人在线免费| 免费污视频在线| 欧美激情喷水视频| av2020不卡| 韩国福利视频一区| 韩国精品一区| 国产成人97精品免费看片| 日韩性xxx| 国产精品一区久久久| 日韩国产大片| 99精彩视频在线观看免费| 粉嫩久久久久久久极品| 久久av二区| 国产精品入口久久| 亚洲午夜精品久久久久久浪潮| 91青青国产在线观看精品| 91视频成人免费| 99成人精品| 中文字幕无码不卡免费视频| 久久国产精品免费| 国模大尺度视频| 99久久99久久精品国产片果冻 | 中文字幕av一区二区三区人妻少妇| 国产盗摄女厕一区二区三区| 熟妇人妻久久中文字幕| 久久久噜噜噜久久中文字幕色伊伊| 成人在线观看免费高清| 亚洲少妇30p| 日韩精品在线观看免费| 欧美专区日韩专区| www.麻豆av| 亚洲免费精彩视频| 成视频免费观看在线看| 97超级碰碰碰| 午夜不卡一区| 久久99精品久久久久子伦| 欧美xxav| 精品视频在线观看一区| 日韩极品在线观看| 少妇性l交大片7724com| 久久久一区二区| 色婷婷在线视频观看| 欧美视频中文在线看| 国产口爆吞精一区二区| 亚洲美女视频网| caoporn免费在线视频| 日本成人精品在线| 久久天堂久久| 日韩av图片| 欧美日韩亚洲一区在线观看| 动漫av免费观看| 丁香婷婷深情五月亚洲| 天堂а√在线中文在线鲁大师| 亚洲成人免费视频| 国产露脸无套对白在线播放| 亚洲毛茸茸少妇高潮呻吟| jizz性欧美| 国产精品高潮呻吟视频| 久久综合五月婷婷| 国产树林野战在线播放| 日韩成人午夜电影| 免费日本黄色网址| 一区二区三区高清在线| 这里只有精品国产| 亚洲精品网站在线播放gif| 色帝国亚洲欧美在线| 成人女保姆的销魂服务| 国产精品一区高清| 国产在线观看福利| 成a人片国产精品| 亚洲综合视频网站| 欧美色图天堂网| 国产精品久久久久久久龚玥菲| 午夜精品蜜臀一区二区三区免费| 日韩精品一页| 亚洲a∨一区二区三区| 亚洲尤物在线| 国产精品无码在线| 亚洲国产日韩a在线播放性色| 国产色在线视频| 精品国产自在精品国产浪潮| 69堂免费精品视频在线播放| 蜜桃久久精品乱码一区二区| 精品999成人| 国产白袜脚足j棉袜在线观看| 亚洲免费色视频| 91亚洲国产成人久久精品麻豆| 日日骚久久av| 久久日本片精品aaaaa国产| 色就是色欧美| 美女mm1313爽爽久久久蜜臀| 男人舔女人下部高潮全视频| 色欧美88888久久久久久影院| 欧美一区二区视频| 欧美有码在线视频| 午夜精品福利影院| av免费中文字幕| 91麻豆精东视频| 亚洲视频 欧美视频| 亚洲欧美激情四射在线日| 欧美大片免费高清观看| 欧美一区二区三区在线免费观看 | 中文字幕 日本| 午夜伦欧美伦电影理论片| 免费av网站观看| 97久久久久久| 免费成人网www| 妓院一钑片免看黄大片| 中文字幕不卡的av| 国产精品羞羞答答在线| 超碰97人人做人人爱少妇| 欧洲一区在线| 亚洲中文字幕无码av永久| www.日韩精品| 欧美性猛交xxxx乱大交hd | 丁香影院在线| 久久精品国产美女| 日韩中文字幕区一区有砖一区| 天天舔天天操天天干| 欧美精品国产精品| 黄污视频在线观看| 久久综合一区二区三区| 日本视频中文字幕一区二区三区| 中文字幕美女视频| 欧美成va人片在线观看| 美女福利一区二区三区| 亚洲欧美在线网| 高清免费成人av| 四虎成人永久免费视频| 最新国产精品亚洲| h视频久久久| 91在线视频观看免费| 亚洲欧美日韩电影| 四虎影视精品成人| 国产精品视频在线观看| 国产精品v亚洲精品v日韩精品| 中文精品在线观看| 欧美高清激情brazzers| 蜜桃av在线播放| 一区二区三区四区国产| 成人高清视频在线观看| 中日精品一色哟哟| 久久久久国产精品免费| 成人免费在线观看av| 亚洲v在线观看| 欧美色网站导航| 9999在线视频| 一区二区视频在线播放| 99久久99久久综合| 国产人妖一区二区| 欧美一级免费看| 欧美精品首页| 91免费在线看片| 日韩精品免费一线在线观看| 国产欧美视频在线| 男人搞女人网站| 岛国视频午夜一区免费在线观看|