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

深度學習 + OpenCV,Python實現實時視頻目標檢測

開發 開發工具 深度學習
在本文中我們將學習如何擴展原有的目標檢測項目,使用深度學習和 OpenCV 將應用范圍擴展到實時視頻流和視頻文件中。

使用 OpenCV 和 Python 對實時視頻流進行深度學習目標檢測是非常簡單的,我們只需要組合一些合適的代碼,接入實時視頻,隨后加入原有的目標檢測功能。

在本文中我們將學習如何擴展原有的目標檢測項目,使用深度學習和 OpenCV 將應用范圍擴展到實時視頻流和視頻文件中。這個任務會通過 VideoStream 類來完成。

  • 深度學習目標檢測教程:http://www.pyimagesearch.com/2017/09/11/object-detection-with-deep-learning-and-opencv/
  • VideoStream 類教程:http://www.pyimagesearch.com/2016/01/04/unifying-picamera-and-cv2-videocapture-into-a-single-class-with-opencv/

現在,我們將開始把深度學習+目標檢測的代碼應用于視頻流中,同時測量 FPS 處理速度。

使用深度學習和 OpenCV 進行視頻目標檢測

為了構建基于 OpenCV 深度學習的實時目標檢測器,我們需要有效地接入攝像頭/視頻流,并將目標檢測應用到每一幀里。

首先,我們打開一個新文件,將其命名為 real_time_object_detection.py,隨后加入以下代碼:

使用深度學習和 OpenCV 進行視頻目標檢測

我們從第 2-8 行開始導入封包。在此之前,你需要 imutils 和 OpenCV 3.3。在系統設置上,你只需要以默認設置安裝 OpenCV 即可(同時確保你遵循了所有 Python 虛擬環境命令)。

Note:請確保自己下載和安裝的是 OpenCV 3.3(或更新版本)和 OpenCV-contrib 版本(適用于 OpenCV 3.3),以保證其中包含有深度神經網絡模塊。

下面,我們將解析這些命令行參數:

與此前的目標檢測項目相比,我們不需要圖像參數,因為在這里我們處理的是視頻流和視頻——除了以下參數保持不變:

  • --prototxt:Caffe prototxt 文件路徑。
  • --model:預訓練模型的路徑。
  • --confidence:過濾弱檢測的最小概率閾值,默認值為 20%。

隨后,我們初始化類列表和顏色集:

在第 22-26 行,我們初始化 CLASS 標簽,和相應的隨機 COLORS。有關這些類的詳細信息(以及網絡的訓練方式),請參考:http://www.pyimagesearch.com/2017/09/11/object-detection-with-deep-learning-and-opencv/

現在,我們加載自己的模型,并設置自己的視頻流:

我們加載自己的序列化模型,提供對自己的 prototxt 和模型文件的引用(第 30 行),可以看到在 OpenCV 3.3 中,這非常簡單。

下一步,我們初始化視頻流(來源可以是視頻文件或攝像頭)。首先,我們啟動 VideoStream(第 35 行),隨后等待相機啟動(第 36 行),***開始每秒幀數計算(第 37 行)。VideoStream 和 FPS 類是 imutils 包的一部分。

現在,讓我們遍歷每一幀(如果你對速度要求很高,也可以跳過一些幀):

首先,我們從視頻流中讀取一幀(第 43 行),隨后調整它的大小(第 44 行)。由于我們隨后會需要寬度和高度,所以我們在第 47 行上進行抓取。隨后將 frame 轉換為一個有 dnn 模塊的 blob(第 48 行)。

現在,我們設置 blob 為神經網絡的輸入(第 52 行),通過 net 傳遞輸入(第 53 行),這給我們提供了 detections。

這時,我們已經在輸入幀中檢測到了目標,現在是時候看看置信度的值,以判斷我們能否在目標周圍繪制邊界框和標簽了:

我們首先在 detections 內循環,記住一個圖像中可以檢測到多個目標。我們還需要檢查每次檢測的置信度(即概率)。如果置信度足夠高(高于閾值),那么我們將在終端展示預測,并以文本和彩色邊界框的形式對圖像作出預測。讓我們逐行來看一下:

  • 在 detections 內循環,首先我們提取 confidence 值(第 59 行)。
  • 如果 confidence 高于***閾值(第 63 行),那么我們提取類標簽索引(第 67 行),并計算檢測到的目標的坐標(第 68 行)。
  • 然后,我們提取邊界框的 (x, y) 坐標(第 69 行),之后將用于繪制矩形和文本。
  • 我們構建一個文本 label,包含 CLASS 名稱和 confidence(第 72、73 行)。
  • 我們還要使用類顏色和之前提取的 (x, y) 坐標在物體周圍繪制彩色矩形(第 74、75 行)。
  • 通常,我們希望標簽出現在矩形上方,但是如果沒有空間,我們將在矩形頂部稍下的位置展示標簽(第 76 行)。
  • ***,我們使用剛才計算出的 y 值將彩色文本置于幀上(第 77、78 行)。

幀捕捉循環剩余的步驟還包括:(1)展示幀;(2)檢查 quit 鍵;(3)更新 fps 計數器:

上述代碼塊簡單明了,首先我們展示幀(第 81 行),然后找到特定按鍵(第 82 行),同時檢查「q」鍵(代表「quit」)是否按下。如果已經按下,則我們退出幀捕捉循環(第 85、86 行)。***更新 fps 計數器(第 89 行)。

如果我們退出了循環(「q」鍵或視頻流結束),我們還要處理這些:

當我們跳出(exit)循環,fps 計數器 停止(第 92 行),每秒幀數的信息向終端輸出(第 93、94 行)。

我們關閉窗口(第 97 行),然后停止視頻流(第 98 行)。

如果你到了這一步,那就可以做好準備用自己的網絡攝像頭試試看它是如何工作的了。我們來看下一部分。

實時深度學習目標檢測的結果

為了實時深度學習目標檢測器正常運行,確保你使用本指南「Downloads」部分中的示例代碼和預訓練的卷積神經網絡。(請打開原文鏈接,進入「Downloads」部分,輸入自己的郵箱地址,獲取所需代碼和其他資料。)

打開終端,執行下列命令:

如果 OpenCV 能夠訪問你的攝像頭,你可以看到帶有檢測到的目標的輸出視頻幀。

注意深度學習目標檢測器不僅能夠檢測到人,還能檢測到人坐著的沙發和旁邊的椅子——所有都是實時檢測到的!

總結

今天的博客中,我們學習了如何使用深度學習 + OpenCV + 視頻流來執行實時目標檢測。我們通過下列兩個教程完成了這一目標:

  • 使用深度學習和 OpenCV 進行目標檢測(http://www.pyimagesearch.com/2017/09/11/object-detection-with-deep-learning-and-opencv/)
  • 在 OpenCV 上進行高效、線程化的視頻流(http://www.pyimagesearch.com/2016/01/04/unifying-picamera-and-cv2-videocapture-into-a-single-class-with-opencv/)

最終結果是基于深度學習的目標檢測器可以處理 6-8 個 FPS 的視頻(當然,這也取決于你的系統速度)。

你還可以通過以下途徑進一步提升速度:

  • 跳過幀。
  • 使用 MobileNet 的不同變體(速度更快,但是準確率下降)。
  • 使用 SqueezeNet 的量子化變體(我還未對此進行測試,但是我想應該會更快,因為它的網絡足跡更小)。

原文:

http://www.pyimagesearch.com/2017/09/18/real-time-object-detection-with-deep-learning-and-opencv/

【本文是51CTO專欄機構“機器之心”的原創譯文,微信公眾號“機器之心( id: almosthuman2014)”】

 

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2020-03-09 14:08:25

Python目標檢測視覺識別

2021-10-08 09:46:42

深度學習神經網絡人工智能

2013-04-12 10:05:49

HTML5WebSocket

2019-05-22 14:28:08

AI人工智能深度學習

2017-09-20 16:25:00

深度學習視覺領域計算機

2023-12-19 16:01:40

深度學習人工智能目標檢測

2018-12-29 09:38:16

Python人臉檢測

2017-10-02 16:13:47

深度學習目標檢測計算機視覺

2024-05-17 13:17:39

2024-09-04 15:42:38

OpenCV開發Python

2020-05-28 07:15:00

機器學習TensorFlow人工智能

2024-06-21 10:40:00

計算機視覺

2019-05-24 10:30:38

2020-09-21 05:58:40

深度學習算法目標檢測

2010-03-26 11:13:11

2020-06-10 21:56:53

醫療物聯網IOT

2012-12-25 09:36:11

Storm大數據分析

2023-11-17 09:35:58

2023-10-15 10:10:12

模型數據

2021-04-15 09:50:41

深度學習編程人工智能
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人在线看片 | 蜜桃一区二区三区在线 | www.一级片| 久久久精品一区 | 欧美亚州| 亚洲国产日韩欧美 | 亚洲午夜精品久久久久久app | 欧美亚洲在线视频 | 国产成人精品一区二区三区网站观看 | 国产乱码精品1区2区3区 | 亚洲看片网站 | 最新日韩欧美 | 久久精品欧美一区二区三区麻豆 | 黑人巨大精品欧美黑白配亚洲 | 91精品综合久久久久久五月天 | 草草精品 | 女同av亚洲女人天堂 | 欧美日韩国产一区二区三区 | 精品久久久久久久 | 亚洲乱码一区二区三区在线观看 | 狠狠色香婷婷久久亚洲精品 | 日韩午夜网站 | 日韩视频二区 | 久久久久国产精品一区二区 | 精品久久久久久亚洲综合网 | 在线免费观看黄网 | 国产伦一区二区三区四区 | www.精品国产| 精品国产欧美一区二区 | 精品欧美激情精品一区 | 久久亚洲综合 | 99re在线视频 | 亚洲精品一二区 | 狠狠色综合久久婷婷 | 精品美女久久久久久免费 | 免费在线观看黄视频 | 伊人精品久久久久77777 | 色免费在线视频 | 国产精品久久久久久久久久久免费看 | 天天草天天射 | 国产高清在线观看 |