用C++ 和OpenCV 實現(xiàn)視頻目標(biāo)檢測(YOLOv4模型)(文末抽獎贈書)

據(jù)說,現(xiàn)在很多小區(qū)都上線了AI抓拍高空拋物的黑科技,可以自動分析拋物軌跡,用來協(xié)助檢查很多不文明行為。
你想不想知道,這類檢測視頻中目標(biāo)物的黑科技是怎么實現(xiàn)的呢?
雖然不同場景下的目標(biāo)檢測模型訓(xùn)練不同,但底層技術(shù)都是一樣的。
這里就一步步來教一下大家如何用C++ 和OpenCV 實現(xiàn)視頻目標(biāo)檢測(YOLOv4模型)。
1. 實現(xiàn)思路
讀取視頻流,載入模型,執(zhí)行推理,找出所有目標(biāo)及其位置,最后繪制檢測結(jié)果。
2. 實現(xiàn)步驟
讀取攝像頭視頻流或本地視頻文件:
cv::VideoCapture cap;cap.open(0); //打開攝像頭//cap.open("TH1.mp4"); //讀取視頻文件
載入模型:
cv::dnn::Net net = cv::dnn::readNet(config, model, framework);net.setPreferableTarget(cv::dnn::DNN_TARGET_CUDA);
執(zhí)行推理:
net.forward(outs, outNames); //前向傳播
找出所有目標(biāo)及其位置:
for (size_t i = 0; i < outs.size(); ++i) {data = (float*)outs[i].data;for (int j = 0; j < outs[i].rows; ++j, data += outs[i].cols){scores = outs[i].row(j).colRange(5, outs[i].cols);cv::minMaxLoc(scores, 0, &confidence, 0, &classIdPoint);
繪制檢測結(jié)果:
void drawPred(cv::Mat &frame,vector<cv::Rect> &boxes,vector<int> &classIds,vector<int> &indices,vector<string> &classNamesVec)

(a)測試圖1YOLOv4

(b)測試圖1YOLOv4-tiny

(c)測試圖2YOLOv4

(d)測試圖2YOLOv4-tiny
圖 YOLOv4與YOLOv4-tiny模型的檢測結(jié)果
3. 總結(jié)
YOLOv4的檢測精度優(yōu)于YOLOv4-tiny。經(jīng)GPU 加速后,模型推理速度明顯提升,YOLOv4 的推理速度提高了約10倍,YOLOv4-tiny的推理速度提高了約4.8倍。
若想了解更多關(guān)于視頻檢測或文本檢測的內(nèi)容,可以閱讀《OpenCV 4機器學(xué)習(xí)算法原理與編程實戰(zhàn)》一書。

▊《OpenCV 4機器學(xué)習(xí)算法原理與編程實戰(zhàn)》
朱斌 著
注重理論結(jié)合實戰(zhàn)
兼顧經(jīng)典與前沿算法
應(yīng)用案例翔實
學(xué)習(xí)路線清晰
本書主要面向OpenCV領(lǐng)域的研究與開發(fā)人員,采用原理結(jié)合實戰(zhàn)的方式,介紹OpenCV 4的機器學(xué)習(xí)算法模塊與深度神經(jīng)網(wǎng)絡(luò)模塊中的核心算法原理與C++編程實戰(zhàn)。全書共10章, 第1~3章, 介紹OpenCV 4的基礎(chǔ)知識、基本圖像操作和機器學(xué)習(xí)基礎(chǔ)知識;第4~8章,介紹K-means、KNN、決策樹、隨機森林、Boosting算法和支持向量機等機器學(xué)習(xí)算法與編程實戰(zhàn);第9~10章,介紹神經(jīng)網(wǎng)絡(luò)與深度神經(jīng)網(wǎng)絡(luò)的基本原理與編程實戰(zhàn),并提供了不同深度學(xué)習(xí)模型的部署示例代碼。
本書基本聚焦于機器學(xué)習(xí)在計算機視覺領(lǐng)域的應(yīng)用,不要求讀者具有相應(yīng)的知識背景,在必要時書中會介紹相關(guān)的基本概念。因此,本書既可以作為相關(guān)專業(yè)學(xué)生的實驗教材,也可以作為研究人員或工程技術(shù)人員的參考資料。
(掃碼了解本書詳情)
小伙伴們注意啦,本書30號最后一天能參加100-50的活動,大家需要買書的話趕緊掃碼下單吧, 五一期間就沒有優(yōu)惠了?。。?!
我們將向讀者免費贈送兩本《OpenCV 4機器學(xué)習(xí)算法原理與編程實戰(zhàn)》,你只需要點擊下方抽獎鏈接,并邀請好友為你助力,將會有機會獲得這本書!
獲獎名額有限!想要的朋友們加油分享吧!
活動截止時間:2021年5月2號 晚8點整
交流群
歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學(xué)影像、GAN、算法競賽等微信群(以后會逐漸細(xì)分),請掃描下面微信號加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~
