色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

OpenCV的視頻處理之人臉檢測 2

jf_78858299 ? 來源:小白玩轉(zhuǎn)Python ? 作者:小白 ? 2023-02-07 15:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

我們嘗試模塊化并分離管道構(gòu)建塊,這種方法將為我們提供易于管理的代碼,并使測試更容易編寫:

import os
import cv2


from pipeline.libs.face_detector import FaceDetector
import tests.config as config




class TestFaceDetector:
    def test_face_detector(self):
        prototxt = os.path.join(config.MODELS_FACE_DETECTOR_DIR, "deploy.prototxt.txt")
        model = os.path.join(config.MODELS_FACE_DETECTOR_DIR, "res10_300x300_ssd_iter_140000.caffemodel")
        detector = FaceDetector(prototxt, model)


        test_image = cv2.imread(os.path.join(config.ASSETS_IMAGES_DIR, "friends", "friends_01.jpg"))
        faces = detector.detect([test_image])


        assert len(faces) == 1
        assert len(faces[0])  # Should recognize some faces from friends_01.jpg

使用管道架構(gòu),可以很容易地CascadeDetectFaces從上一篇文章?lián)Q成更準(zhǔn)確的深度學(xué)習(xí)人臉檢測器模型。讓我們FaceDetector在新的DetectFaces管道步驟中使用:

from pipeline.pipeline import Pipeline
from pipeline.libs.face_detector import FaceDetector


class DetectFaces(Pipeline):
    def __init__(self, prototxt, model, batch_size=1, confidence=0.5):
        self.detector = FaceDetector(prototxt, model, confidence=confidence)
        self.batch_size = batch_size


        super(DetectFaces, self).__init__()


    def generator(self):
        batch = []
        stop = False
        while self.has_next() and not stop:
            try:
                # Buffer the pipeline stream
                data = next(self.source)
                batch.append(data)
            except StopIteration:
                stop = True


            # Check if there is anything in batch.
            # Process it if the size match batch_size or there is the end of the input stream.
            if len(batch) and (len(batch) == self.batch_size or stop):
                # Prepare images batch
                images = [data["image"] for data in batch]
                # Detect faces on all images at once
                faces = self.detector.detect(images)


                # Extract the faces and attache them to the proper image
                for image_idx, image_faces in faces.items():
                    batch[image_idx]["faces"] = image_faces


                # Yield all the data from buffer
                for data in batch:
                    if self.filter(data):
                        yield self.map(data)


                batch = []

我們對圖像流(第15–20行)進(jìn)行緩沖,直到到達(dá)batch_size(第24行)為止,然后在所有緩沖的圖像上(第28行)檢測面部,收集面部坐標(biāo)和置信度(第31–32行),然后重新生成圖像(第35-37行)。

當(dāng)我們使用GPU(圖形處理單元)時,我們的武器庫中同時運(yùn)行著數(shù)千個處理內(nèi)核,這些內(nèi)核專門用于矩陣運(yùn)算。批量執(zhí)行推理總是更快,一次向深度學(xué)習(xí)模型展示的圖像多于一張一張。

保存面孔和摘要

SaveFaces并SaveSummary產(chǎn)生輸出結(jié)果。在SaveFaces類,使用map功能,遍歷所有檢測到的面部,從圖像裁剪他們并保存到輸出目錄。

SaveSummary類的任務(wù)是收集有關(guān)已識別面部的所有元數(shù)據(jù),并將它們保存為結(jié)構(gòu)良好的JSON文件,該map函數(shù)用于緩沖元數(shù)據(jù)。接下來,我們使用額外的write功能擴(kuò)展我們的類,我們將需要在管道的末尾觸發(fā)以將JSON文件與摘要一起保存。臉部圖像針對每一幀存儲在單獨(dú)的目錄中。

視頻輸出

為了觀察流水線的結(jié)果,很高興可以顯示帶有帶注釋的面孔的視頻。關(guān)于AnnotateImage(pipeline/annotate_image.py)/DisplayVideo(pipeline/display_video.py)的全部內(nèi)容。

運(yùn)行中的管道

在process_video_pipeline.py文件中我們可以看到,整個管道的定義如下:

pipeline = (capture_video |
            detect_faces |
            save_faces |
            annotate_image |
            display_video |
            save_video |
            save_summary)

上面有很多解釋,但是視頻和圖像勝于雄辯。讓我們來看一下觸發(fā)命令的管道:

python process_video_pipeline.py -i assets/videos/faces.mp4 -p -d -ov faces.avi,M,];

-p將顯示進(jìn)度條,

-d顯示帶有批注面孔的視頻結(jié)果,

-ov faces.avi并將視頻結(jié)果保存到output文件夾。

正如我們在示例視頻中看到的那樣,并不是所有臉孔都能被識別。我們可以降低設(shè)置參數(shù)的深度學(xué)習(xí)模型的置信度confidence 0.2(默認(rèn)值為0.5)。降低置信度閾值會增加假陽性的發(fā)生(在圖像中沒有臉的位置出現(xiàn)臉)。

DetectFaces類的批量處理大?。?/p>

$ python process_video_pipeline.py -i assets/videos/faces.mp4 -p
--batch-size 1
100%|███████████████████████████| 577/577 [00:11<00:00, 52.26it/s]
[INFO] Saving summary to output/summary.json...


$ python process_video_pipeline.py -i assets/videos/faces.mp4 -p
--batch-size 4
100%|███████████████████████████| 577/577 [00:09<00:00, 64.66it/s]
[INFO] Saving summary to output/summary.json...
$ python process_video_pipeline.py -i assets/videos/faces.mp4 -p
--batch-size 8
100%|███████████████████████████| 577/577 [00:10<00:00, 56.04it/s]
[INFO] Saving summary to output/summary.json...

在我們的硬件上(2.20GHz的Core i7–8750H CPU和NVIDIA RTX 2080 Ti),我門每秒獲得52.26幀的圖像--batch-size 1,但是對于--batch-size 4我們來說,速度卻提高到了每秒64.66幀。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 攝像頭
    +關(guān)注

    關(guān)注

    61

    文章

    4967

    瀏覽量

    98007
  • OpenCV
    +關(guān)注

    關(guān)注

    32

    文章

    642

    瀏覽量

    42657
  • JSON
    +關(guān)注

    關(guān)注

    0

    文章

    122

    瀏覽量

    7340
收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于OPENCV的相機(jī)捕捉視頻進(jìn)行人臉檢測--米爾NXP i.MX93開發(fā)板

    本文將介紹基于米爾電子MYD-LMX93開發(fā)板(米爾基于NXPi.MX93開發(fā)板)的基于OpenCV人臉檢測方案測試。OpenCV提供了一個非常簡單的接口,用于相機(jī)捕捉一個
    的頭像 發(fā)表于 11-07 09:03 ?1449次閱讀
    基于<b class='flag-5'>OPENCV</b>的相機(jī)捕捉<b class='flag-5'>視頻</b>進(jìn)行<b class='flag-5'>人臉</b><b class='flag-5'>檢測</b>--米爾NXP i.MX93開發(fā)板

    如何用OpenCV的相機(jī)捕捉視頻進(jìn)行人臉檢測--基于米爾NXP i.MX93開發(fā)板

    : breakvideo.release()cv2.destroyAllWindows() 保存后執(zhí)行”python3 opencv_test.py OpenCV裝好后,可以為后面的人臉
    發(fā)表于 11-15 17:58

    使用OpenVINO?模型的OpenCV進(jìn)行人臉檢測檢測到多張人臉時,伺服電機(jī)和步入器電機(jī)都發(fā)生移動是為什么?

    使用OpenVINO?模型的 OpenCV* 進(jìn)行人臉檢測。 使用 cv2.矩形 函數(shù),能夠獲取檢測到的面部的坐標(biāo)。
    發(fā)表于 03-07 06:35

    基于openCV人臉檢測系統(tǒng)的設(shè)計(jì)

    通過對基于Adaboost人臉檢測算法的研究,利用該算法與計(jì)算機(jī)視覺類庫openCV進(jìn)行人臉檢測系統(tǒng)的設(shè)計(jì),實(shí)現(xiàn)了對出現(xiàn)在
    發(fā)表于 12-23 14:19

    【TL6748 DSP申請】基于TMS320C6748 DSP人臉檢測及跟蹤

    申請理由:我們是公司的研發(fā)團(tuán)隊(duì),正在研發(fā)人臉檢測及跟蹤。之前使用的是TI達(dá)芬奇系列DM6446芯片,將OpenCV移植到DM6446的DSP上發(fā)現(xiàn)處理效率太低。分析主要原因是dm644
    發(fā)表于 09-10 11:09

    【NanoPi2申請】基于ARM的智能家居視頻監(jiān)控系統(tǒng)

    獲取圖像或視頻 圖像處理灰度 二值 去噪增強(qiáng) (邊緣檢測 腐蝕 膨脹)等 JPEG/H.264 壓縮編碼解碼TCP/IP網(wǎng)絡(luò)傳輸2.智能家居視頻
    發(fā)表于 12-02 16:10

    【NanoPi2申請】基于opencv人臉識別門禁系統(tǒng)

    opencv API,研究圖像處理算法。5、學(xué)習(xí)機(jī)器學(xué)習(xí),利用模板匹配方法進(jìn)行人臉識別。6、在linux上配置opencv,利用opencv
    發(fā)表于 12-18 14:34

    【NanoPi2申請】基于NanoPi2人臉識別及表情檢測

    本帖最后由 ypw 于 2015-12-19 00:38 編輯 申請理由:目前正在學(xué)習(xí)OpenCV,以及人臉表情檢測的研究,NanoPi2的性價比很高,同時集成了WiFi,是研發(fā)
    發(fā)表于 12-18 14:37

    【飛凌RK3588開發(fā)板試用】實(shí)現(xiàn)人臉檢測

    ))[2:-1] return img_date_url添加代碼后,重新啟動服務(wù),打開網(wǎng)頁,當(dāng)圖像中出現(xiàn)人臉時就可以檢測出來了:CPU占用情況如下圖,占用率非常小。【小結(jié)】tornado的服務(wù)+
    發(fā)表于 03-09 14:10

    基于openCV人臉檢測識別系統(tǒng)的設(shè)計(jì)

    通過對基于Adaboost人臉檢測算法的研究,利用該算法與計(jì)算機(jī)視覺類庫openCV進(jìn)行人臉檢測系統(tǒng)的設(shè)計(jì),實(shí)現(xiàn)了對出現(xiàn)在
    發(fā)表于 06-15 10:53 ?477次下載
    基于<b class='flag-5'>openCV</b>的<b class='flag-5'>人臉</b><b class='flag-5'>檢測</b>識別系統(tǒng)的設(shè)計(jì)

    Android系統(tǒng)下OpenCV人臉檢測模塊的設(shè)計(jì)

    針對解決OpenCV人臉檢測模塊在Android平臺編譯和移植的問題,提出一種利用JNI技術(shù)(Java Native Interface)調(diào)用OpenCV以及采用Android NDK
    發(fā)表于 11-07 17:40 ?118次下載
    Android系統(tǒng)下<b class='flag-5'>OpenCV</b>的<b class='flag-5'>人臉</b><b class='flag-5'>檢測</b>模塊的設(shè)計(jì)

    openCV人臉檢測系統(tǒng)的設(shè)計(jì)方案探究

    摘要: 通過對基于 Adaboost 人臉檢測算法的研究,利用該算法與計(jì)算機(jī)視覺類庫 openCV 進(jìn)行人臉檢測系統(tǒng)的設(shè)計(jì),實(shí)現(xiàn)了對出現(xiàn)在
    發(fā)表于 10-20 16:39 ?3次下載

    OpenCV視頻處理之人臉檢測 1

    目前可依靠模塊化方式實(shí)現(xiàn)圖像處理管道,檢測一堆圖像文件中的人臉,并將其與漂亮的結(jié)構(gòu)化JSON摘要文件一起保存在單獨(dú)的文件夾中。 讓我們對視頻流也可以進(jìn)行同樣的操作。 首先,
    的頭像 發(fā)表于 02-07 15:27 ?935次閱讀

    Android系統(tǒng)下OpenCV人臉檢測模塊的設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《Android系統(tǒng)下OpenCV人臉檢測模塊的設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-23 09:37 ?0次下載
    Android系統(tǒng)下<b class='flag-5'>OpenCV</b>的<b class='flag-5'>人臉</b><b class='flag-5'>檢測</b>模塊的設(shè)計(jì)

    如何用OpenCV的相機(jī)捕捉視頻進(jìn)行人臉檢測--基于米爾NXP i.MX93開發(fā)板

    本文將介紹基于米爾電子MYD-LMX93開發(fā)板(米爾基于NXPi.MX93開發(fā)板)的基于OpenCV人臉檢測方案測試。OpenCV提供了一個非常簡單的接口,用于相機(jī)捕捉一個
    的頭像 發(fā)表于 04-15 11:51 ?302次閱讀
    如何用<b class='flag-5'>OpenCV</b>的相機(jī)捕捉<b class='flag-5'>視頻</b>進(jìn)行<b class='flag-5'>人臉</b><b class='flag-5'>檢測</b>--基于米爾NXP i.MX93開發(fā)板
    主站蜘蛛池模板: 亚洲熟伦熟女专区 | 性欧美金发洋妞xxxxbbbb | 洲精品无码高潮喷水A片 | 找老女人泻火对白自拍 | 大肥女ass樱桃 | 被公疯狂玩弄的漂亮人妻 | 十八禁啪啦啪漫画 | 男人J放进女人屁股免费观看 | 午夜福利在线观看6080 | 无套内射在线观看THEPORN | 午夜一个人在线观看完整版 | www.伊人 | 97无码欧美熟妇人妻蜜 | 日本人bbwbbwbbwbbw | 老女老肥熟国产在线视频 | 偷窥国产亚洲免费视频 | 办公室丝袜老师在线观看 | 国产精品www视频免费看 | 动漫在线观看免费肉肉 | 在教室伦流澡到高潮H女攻视频 | a一级一片免费观看视频 | 美女伊人网 | 2021精品乱码多人收藏 | 色欲AV亚洲情无码AV蜜桃 | 在线亚洲中文字幕36页 | 妺妺窝人体色777777野大粗 | 黄小飞二人转 | 高清欧美一区二区三区 | 亚洲青青草原 | 第九色区av天堂 | 久久精品一卡二卡三卡四卡视频版 | 护士的下面又湿又紧10P | 三级成年网站在线观看 | 国产三级精品三级在线观看 | 亚洲欧美色综合影院 | RAPPER性骚扰大开黄腔 | 呜呜别塞了啊抽插 | 艳鉧动漫1~6全集观看在线 | 九九这里有精品 | 无人区乱码1区2区3区网站 | 俄罗斯6一12呦女精品 |

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品