1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        用C++ 和OpenCV 實現(xiàn)視頻目標檢測(YOLOv4模型)

        共 2029字,需瀏覽 5分鐘

         ·

        2021-04-27 07:57

        據說,現(xiàn)在很多小區(qū)都上線了AI抓拍高空拋物的黑科技,可以自動分析拋物軌跡,用來協(xié)助檢查很多不文明行為。

        你想不想知道,這類檢測視頻中目標物的黑科技是怎么實現(xiàn)的呢?

        雖然不同場景下的目標檢測模型訓練不同,但底層技術都是一樣的。

        這里就一步步來教一下大家如何用C++ 和OpenCV 實現(xiàn)視頻目標檢測(YOLOv4模型)。

        1.     實現(xiàn)思路

        讀取視頻流,載入模型,執(zhí)行推理,找出所有目標及其位置,最后繪制檢測結果。

        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); //前向傳播

        找出所有目標及其位置:

        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);

        繪制檢測結果:

        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模型的檢測結果

        3.     總結

        YOLOv4的檢測精度優(yōu)于YOLOv4-tiny。經GPU 加速后,模型推理速度明顯提升,YOLOv4 的推理速度提高了約10倍,YOLOv4-tiny的推理速度提高了約4.8倍。

        若想了解更多關于視頻檢測或文本檢測的內容,可以閱讀《OpenCV 4機器學習算法原理與編程實戰(zhàn)》一書。



        ▊《OpenCV 4機器學習算法原理與編程實戰(zhàn)

        朱斌 著


        • 注重理論結合實戰(zhàn)

        • 兼顧經典與前沿算法

        • 應用案例翔實

        • 學習路線清晰

        本書主要面向OpenCV領域的研究與開發(fā)人員,采用原理結合實戰(zhàn)的方式,介紹OpenCV 4的機器學習算法模塊與深度神經網絡模塊中的核心算法原理與C++編程實戰(zhàn)。全書共10章, 第1~3章, 介紹OpenCV 4的基礎知識、基本圖像操作和機器學習基礎知識;第4~8章,介紹K-means、KNN、決策樹、隨機森林、Boosting算法和支持向量機等機器學習算法與編程實戰(zhàn);第9~10章,介紹神經網絡與深度神經網絡的基本原理與編程實戰(zhàn),并提供了不同深度學習模型的部署示例代碼。

        本書基本聚焦于機器學習在計算機視覺領域的應用,不要求讀者具有相應的知識背景,在必要時書中會介紹相關的基本概念。因此,本書既可以作為相關專業(yè)學生的實驗教材,也可以作為研究人員或工程技術人員的參考資料。

        (掃碼了解本書詳情)





        如果喜歡本文
        歡迎 在看留言分享至朋友圈 三連


         熱文推薦  





        ▼點擊閱讀原文,獲取本書詳情~
        瀏覽 54
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            免费观看无码视频 | 久成人免费视频 | 久久小草| 高+h+肉放荡爽全文寂寞少妇 | 欧美午夜精品成人片在线播放 | 骚货操逼视频 | 色五月在线视频 | 无吗欧美成人aaa | 欧美三级性爱 | 亚洲欧美精品另类 |