亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于物聯(lián)網(wǎng)的智能實(shí)時(shí)視頻采集系統(tǒng)

        2022-04-22 11:21:04陸欣欣李曉欣
        現(xiàn)代計(jì)算機(jī) 2022年3期
        關(guān)鍵詞:檢測

        陸欣欣,李曉欣

        (賀州學(xué)院人工智能學(xué)院,賀州 542899)

        0 引言

        隨著互聯(lián)網(wǎng)體系的成熟,物聯(lián)網(wǎng)技術(shù)已經(jīng)逐漸被廣泛應(yīng)用到各個(gè)領(lǐng)域。在日常生活中,手機(jī)已經(jīng)成為人們生活中不可或缺的一部分。人們除了將手機(jī)用來通訊之外,還更多的是將它作為生活?yuàn)蕵返闹匾ぞ摺,F(xiàn)在的人們越來越喜歡在社交平臺上分享自己的自拍視頻來記錄自己的美好生活,但是在拍攝過程當(dāng)中或多或少會出現(xiàn)一些拍攝的問題,比如需要他人幫忙,或是需要人為的控制拍攝的方向等等,都不能達(dá)到智能的效果。如果手機(jī)在視頻拍攝過程當(dāng)中可以檢測出人臉,并且可以跟隨人臉的位置移動(dòng)而移動(dòng),這樣就可以使拍攝效果更加的智能化,人們的拍攝效果和體驗(yàn)感更佳。

        1 總體方案設(shè)計(jì)

        本設(shè)計(jì)由2部分組成,Android手機(jī)視頻采集端以及由STM32單片機(jī)、藍(lán)牙模塊、2個(gè)舵機(jī)模塊以及放置手機(jī)的支架組成的硬件端。整個(gè)系統(tǒng)的流程是:Android手機(jī)在實(shí)時(shí)視頻采集過程中檢測出單人臉,根據(jù)人臉位置通過藍(lán)牙技術(shù)將不同的指令發(fā)送到硬件端,硬件端通過藍(lán)牙模塊接收指令后,經(jīng)STM32模塊處理后驅(qū)動(dòng)舵機(jī)的做出相應(yīng)的轉(zhuǎn)動(dòng),手機(jī)放置在舵機(jī)的支架上,從而可以實(shí)現(xiàn)對手機(jī)的控制,最終達(dá)到智能實(shí)時(shí)視頻采集的效果。整體設(shè)計(jì)如圖1所示。

        圖1 系統(tǒng)的整體框架

        2 Android手機(jī)視頻采集端設(shè)計(jì)

        Android手機(jī)視頻采集端最終要實(shí)現(xiàn)的是一個(gè)手機(jī)APP,采用的開發(fā)的語言以及開發(fā)工具分別是JAVA和Android Studio。Android Studio提供了集成的Android開發(fā)工具,對于編寫手機(jī)軟件的PC端程序來說,在其提供的工具下,能夠快速的建立Android開發(fā)環(huán)境,以及程序的實(shí)時(shí)調(diào)試,開發(fā)過程中開發(fā)者可以利用模擬器進(jìn)行調(diào)試,也可以用手機(jī)連接電腦,直接進(jìn)行調(diào)試。

        Android手機(jī)視頻采集端主要實(shí)現(xiàn)的功能是先與硬件端的藍(lán)牙模塊連接,然后在實(shí)時(shí)視頻采集過程中檢測出每幀視頻的人臉位置信息,最后再根據(jù)人臉位置信息給硬件端發(fā)送不同的控制指令。

        2.1 藍(lán)牙連接

        Android手機(jī)視頻采集端與硬件端的通信需要通過藍(lán)牙技術(shù)來實(shí)現(xiàn),所以手機(jī)在實(shí)時(shí)視頻采集前需要與硬件端的藍(lán)牙模塊連接。連接的過程是:①要想手機(jī)使用藍(lán)牙功能,首先需要先添加藍(lán)牙權(quán)限。②藍(lán)牙的初始化設(shè)置。利用管理者對象調(diào)用getAdapter()方法檢查當(dāng)前手機(jī)是否支持藍(lán)牙,并將藍(lán)牙狀態(tài)設(shè)置為打開狀態(tài),如圖2所示。③搜索設(shè)備,調(diào)用BluetoothAdapter類中的startLeScan()方法來搜索硬件端的藍(lán)牙模塊,通過回調(diào)函數(shù)LeScanCallback()獲得藍(lán)牙設(shè)備的設(shè)備名稱和MAC地址,如圖3所示。④實(shí)現(xiàn)藍(lán)牙的連接,連接之前先獲取目標(biāo)藍(lán)牙設(shè)備BluetoothDevice對象,調(diào)用connectGatt()方法進(jìn)行連接,并將BluetoothGattCallback作為connect?Gatt方法的參數(shù),然后最這些參數(shù)status進(jìn)行分析,如果status為GATT_SUCCESS時(shí)表明藍(lán)牙連接成功。如圖4所示。

        圖2 藍(lán)牙開啟

        圖3 藍(lán)牙搜索

        圖4 藍(lán)牙連接

        2.2 人臉檢測

        要想實(shí)現(xiàn)智能實(shí)時(shí)視頻采集,在實(shí)時(shí)視頻采集過程中獲取到每一幀視頻的人臉位置信息非常關(guān)鍵。實(shí)現(xiàn)的過程是:①在設(shè)計(jì)實(shí)時(shí)視頻采集界面的時(shí)候用兩個(gè)View進(jìn)行疊加,底層的View用來實(shí)現(xiàn)實(shí)時(shí)視頻采集,頂層的View用來繪制人臉框,并默認(rèn)設(shè)置為透明狀態(tài)。②打開手機(jī)攝像頭,獲取CameraDevice的mCameraDe?vice對象,利用mCameraDevice對象調(diào)用create?CaptureRequest()方法實(shí)現(xiàn)視頻預(yù)覽和監(jiān)聽每一幀視頻數(shù)據(jù)。③利用回調(diào)方法CameraCapture?Session.CaptureCallback()獲取每幀視頻的人臉的模式以及人臉的Face[]數(shù)據(jù)。④在頂層View通過畫布和畫筆將人臉框繪制出來。

        在人臉檢測過程中繪制人臉框的時(shí)候要特別注意,因?yàn)槠聊豢吹降娜四樜恢煤蛯?shí)際測出的人臉位置信息不匹配。主要的原因是Android默認(rèn)坐標(biāo)系和視圖坐標(biāo)系不同,默認(rèn)坐標(biāo)系的原點(diǎn)在手機(jī)屏幕左上角,而視圖坐標(biāo)系是相對默認(rèn)坐標(biāo)系而言,需要通過一定的方法來獲取控件相對默認(rèn)坐標(biāo)系的位置。人臉位置信息的采集是在默認(rèn)坐標(biāo)系的基礎(chǔ)上進(jìn)行的,而人臉框的繪制是以視圖坐標(biāo)系為基準(zhǔn)的,所以為了可以使檢測出來的人臉位置和在屏幕上看到的人臉位置一樣,需要將檢測出的人臉位置信息進(jìn)行一定的轉(zhuǎn)換。在轉(zhuǎn)換的之前又需要先區(qū)分是手機(jī)前置攝像頭還是后置攝像頭,因?yàn)閮烧叩霓D(zhuǎn)換方法有區(qū)別,如果是前置攝像頭,需要先將獲取到的人臉位置信息在水平方向左右轉(zhuǎn)換,再旋轉(zhuǎn)90°,如果是后置攝像頭,只需旋轉(zhuǎn)90°。最后再將轉(zhuǎn)換后的人臉信息根據(jù)視圖坐標(biāo)系繪制在頂層的View即可。還需要注意的是,在繪制新的一幀視頻人臉位置信息時(shí)需要重新刷新一下頂層的View。圖5和圖6分別是2種情況下在實(shí)時(shí)視頻采集時(shí)采集到的單人臉位置結(jié)果。

        圖5 前置攝像頭單人臉檢測

        圖6 后置攝像頭單人臉檢測

        2.3 手機(jī)發(fā)送控制指令

        手機(jī)在實(shí)時(shí)視頻采集過程中檢測到每一幀視頻人臉位置信息后,還需要將人臉位置信息通過藍(lán)牙技術(shù)發(fā)到給硬件端。但是因?yàn)闄z測到的人臉信息是一個(gè)矩形數(shù)據(jù),如果要將所有的數(shù)據(jù)都發(fā)送給硬件端,那么無論是在手機(jī)發(fā)送和還是硬件接收的過程中要處理的數(shù)據(jù)都太復(fù)雜。所以為了方便,只取矩形的中點(diǎn)作為人臉位置信息,根據(jù)與上一幀人臉位置中點(diǎn)信息的不同,給硬件端發(fā)送上下左右不同的控制指令。

        3 硬件端設(shè)計(jì)

        硬件端主要由一個(gè)微型STM32單片機(jī)、一個(gè)藍(lán)牙模塊、2個(gè)舵機(jī)、電源和一個(gè)手機(jī)支架構(gòu)成,主要實(shí)現(xiàn)的功能是通過藍(lán)牙模塊來接收手機(jī)發(fā)送的控制指令,轉(zhuǎn)交給STM32處理后驅(qū)動(dòng)舵機(jī)的轉(zhuǎn)動(dòng),手機(jī)放置在手機(jī)支架上,從而達(dá)到實(shí)現(xiàn)智能實(shí)時(shí)視頻采集的效果。

        3.1 硬件選型

        硬件部分的主控芯片采用的是STM32F103C 8T6,它是基于高性能ARM?CortexTM-M3的32位RISC內(nèi)核處理器,芯片主頻高達(dá)72 MHz,擁有I2C,SPI,PWM等總線接口。

        因?yàn)橹恍枰邮帐謾C(jī)控制端發(fā)出的指令,所以藍(lán)牙模塊采用的是BT05從模塊。它引出的端口包括VCC、GND、TXD、RXD以及預(yù)留LED狀態(tài)輸出引腳。它的輸出電壓為3.6~6 V,在空曠的地方有效距離可超過10 m。藍(lán)牙模塊中的TXD為發(fā)送端,需與STM32的RDX端連接,RDX為接收端,需與STM32的TXD端連接。

        因?yàn)槭謾C(jī)在實(shí)時(shí)視頻采集過程中需要根據(jù)人臉位置移動(dòng)而移動(dòng),所以需要用舵機(jī)來實(shí)現(xiàn)。舵機(jī)模塊采用的是MG995,本設(shè)計(jì)其工作的時(shí)候使用的電壓為5 V,需要旋轉(zhuǎn)的角度在0~180之間。舵機(jī)上有三根線,分別為電源、接地和信號線。

        電源模塊主要是為STM32單片機(jī)和藍(lán)牙模塊供電,本系統(tǒng)設(shè)計(jì)采用的電源模塊為可充電電池,可以方便實(shí)現(xiàn)對STM32單片機(jī)3.3 V以及藍(lán)牙模塊5 V的穩(wěn)壓供電。

        3.2 主控芯片程序設(shè)計(jì)

        硬件端的主控芯片是STM32單片機(jī),程序設(shè)計(jì)的過程主要包含定時(shí)器的初始化,串口的初始化以及主程序的實(shí)現(xiàn)。

        3.2.1 定時(shí)器的初始化

        (1)打開TIM4的時(shí)鐘。因?yàn)樵O(shè)計(jì)需要控制2個(gè)舵機(jī)上下左右的轉(zhuǎn)動(dòng),所以需要用到定時(shí)器的兩個(gè)輸出通道CH1和CH2,并將對應(yīng)的引腳PB6和PB7設(shè)置為復(fù)用功能輸出。

        (2)設(shè)置定時(shí)器的基本參數(shù),主要是用來設(shè)置定時(shí)器的時(shí)鐘周期、預(yù)分頻器和定期器的計(jì)數(shù)模式。

        (3)設(shè)置定時(shí)器輸出通道,主要是用來確定輸出波形的占空比和輸出比較極性。

        (4)使用定時(shí)器,可以利用庫函數(shù)TIM_Cmd()來實(shí)現(xiàn)。

        3.2.2 串口的初始化

        (1)需要使能串口時(shí)鐘以及它相應(yīng)的GPIO端口才能實(shí)現(xiàn)數(shù)據(jù)的輸入輸出。

        (2)設(shè)置GPIO端口模式。

        (3)設(shè)置串口參數(shù)。

        (4)開啟中斷并且初始化NVIC。

        (5)編寫中斷處理函數(shù)。

        (6)實(shí)現(xiàn)串口數(shù)據(jù)收發(fā)。

        (7)獲取串口傳輸?shù)臓顟B(tài)。

        3.2.3 主程序的實(shí)現(xiàn)

        在主函數(shù)里面主要實(shí)現(xiàn)的是處理藍(lán)牙模塊收到的數(shù)據(jù),并控制舵機(jī)的轉(zhuǎn)動(dòng),處理函數(shù)如下:

        4 系統(tǒng)實(shí)現(xiàn)

        程序設(shè)計(jì)好后,首先將藍(lán)牙模塊上的RXD、TXD、VCC、GND引腳分別連接STM32上的串口2的PA2引腳、PA3引腳,3.3V引腳、GND引腳,兩個(gè)舵機(jī)的信號線分別連接STM32上的PB6、PB7引腳,剩下的兩根線分別接電源和地。然后通過MDK的方式將程序下載到STM32上。硬件部分效果如圖7所示。

        圖7 硬件效果

        啟動(dòng)手機(jī)APP后,在手機(jī)實(shí)時(shí)視頻采集之前首先需要在藍(lán)牙界面搜索連接硬件端的藍(lán)牙模塊,如果連接成功,這個(gè)時(shí)候的藍(lán)牙模塊上的LED燈會由閃爍狀態(tài)變成一直亮著的狀態(tài)。藍(lán)牙成功后可以開始實(shí)時(shí)視頻采集,視頻采集過程中會檢測到每一幀視頻的人臉信息,手機(jī)根據(jù)人臉信息位置不同給硬件端發(fā)送不同的控制指令,從而可以實(shí)現(xiàn)對手機(jī)的前后左右的控制,達(dá)到智能實(shí)時(shí)視頻采集的效果。

        5 結(jié)語

        本設(shè)計(jì)采用STM32最小系統(tǒng)為控制中心,結(jié)合藍(lán)牙模塊、舵機(jī)模塊等,在Android手機(jī)平臺上,利用藍(lán)牙傳輸技術(shù),通過軟件編程的方式來實(shí)現(xiàn)智能實(shí)時(shí)視頻采集的效果,這為將來智能家居的遙控設(shè)計(jì)提供一定的參考意義。

        將編譯的手機(jī)APP安裝成功以及硬件部分的主控芯片的程序下載好后,經(jīng)過反復(fù)測試,可以在一定距離之內(nèi)很好的實(shí)現(xiàn)手機(jī)在實(shí)時(shí)視頻采集時(shí)可以根據(jù)人臉位置的轉(zhuǎn)動(dòng)而轉(zhuǎn)動(dòng),達(dá)到了預(yù)期的設(shè)想。

        本控制系統(tǒng)采用人臉檢測+接收端信號轉(zhuǎn)化控制,這種方式采用的終端軟件具有易移植和通用性,市場的應(yīng)用價(jià)值較高,便于推廣,本系統(tǒng)所需硬件系統(tǒng)符合國產(chǎn)化要求。

        猜你喜歡
        檢測
        QC 檢測
        “不等式”檢測題
        “一元一次不等式”檢測題
        “一元一次不等式組”檢測題
        “幾何圖形”檢測題
        “角”檢測題
        “有理數(shù)的乘除法”檢測題
        “有理數(shù)”檢測題
        “角”檢測題
        “幾何圖形”檢測題
        国产精品久久久久久久久免费观看 | 久久久免费精品国产色夜| 成人国产一区二区三区| 人妻尝试又大又粗久久| 欧美成人精品一区二区综合| 国产精品视频一区日韩丝袜| 日本久久一级二级三级| 国产亚洲精品视频一区二区三区| 女人被狂躁c到高潮视频| 国产亚洲精久久久久久无码| www.91久久| 国产三级韩三级日产三级| 极品少妇被黑人白浆直流| 一本一道av中文字幕无码| 最新国产在线精品91尤物| 精品免费看国产一区二区白浆| 国产三级精品三级在线专区2| 国产成人av在线免播放观看新| 国产精自产拍久久久久久蜜 | 男女激情视频网站免费在线| 白丝爆浆18禁一区二区三区| 亚洲精品成人网站在线观看| 无码伊人66久久大杳蕉网站谷歌| 国产精品麻豆一区二区三区| 亚洲日韩精品无码av海量| 国产成人亚洲日韩欧美| 国产女人体一区二区三区| 国产一区二区三区青青草| 国产成人无码精品久久二区三区 | 国产又色又爽无遮挡免费| 色一乱一伦一图一区二区精品| 精品高清国产乱子伦| 国产精品麻豆一区二区三区| 狂猛欧美激情性xxxx大豆行情 | 欧美猛少妇色xxxxx猛交| 午夜三级a三级三点| 最新国产在线精品91尤物| 激情五月婷婷久久综合| 日本免费播放一区二区| 丰满人妻久久中文字幕| 蜜臀色欲av在线播放国产日韩|