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

        ?

        基于樹莓派的人臉識(shí)別智能車鎖

        2018-01-04 12:02:04任環(huán)宇武坤玉李道全
        電腦知識(shí)與技術(shù) 2018年29期
        關(guān)鍵詞:樹莓人臉識(shí)別人臉

        任環(huán)宇 武坤玉 李道全

        摘要:隨著生活節(jié)奏的加快,以及人們手中鑰匙數(shù)量的增大,自行車機(jī)械鎖結(jié)構(gòu)越來越無(wú)法滿足人們高效率生活需求。本文設(shè)計(jì)了一種基于樹莓派為上位機(jī)、arduino單片機(jī)為下位機(jī)的人臉識(shí)別智能自行車鎖的方案。其中樹莓派用于人臉識(shí)別并通過串口通信向arduino單片機(jī)發(fā)送驅(qū)動(dòng)信號(hào),人臉識(shí)別算法使用經(jīng)典的人臉識(shí)別算法——Eigenfaces算法。Arduino單片機(jī)作為驅(qū)動(dòng)板,接收到識(shí)別的信號(hào)之后,該板驅(qū)動(dòng)鎖結(jié)構(gòu)開啟。測(cè)試表明,本設(shè)計(jì)可實(shí)現(xiàn)通過人臉識(shí)別進(jìn)行開鎖的功能。

        關(guān)鍵詞:樹莓派;上位機(jī);Eigenfaces算法;串口通信;人臉識(shí)別

        中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)29-0214-04

        Abstract:With the acceleration of life rhythm and the increase of the number of keys in the hands of people, the bicycle mechanical lock structure can not meet the needs of people with high efficiency. In this paper, an intelligent bicycle lock for face recognition is designed,in which raspberry pie is used as upper computer, arduino single chip computer is used as lower computer. Raspberry is used for face recognition and sends driving signal to arduino single chip computer through serial communication. The face recognition algorithm uses the classical face recognition algorithm--Eigenfaces algorithm. Arduino single chip computer as the driving board, after receiving the recognition signal, The plate drives the lock structure to open. The test shows that this design can realize the function of unlocking by face recognition.

        Key words: raspberry pie; upper computer; Eigenfaces algorithm; serial communication;face recognition

        1 引言

        伴隨著人們生活節(jié)奏的加快、城市的交通堵塞,人們對(duì)自行車出行需求仍然很大。但是由于生活節(jié)奏的加快,以及人們手中鑰匙數(shù)量的增大,自行車機(jī)械鎖結(jié)構(gòu)越來越無(wú)法滿足人們高效率生活需求,因此需要一種更加便捷的方式來進(jìn)行自行車鎖具的開關(guān)。為此我們開發(fā)了基于樹莓派上位機(jī)的人臉識(shí)別智能車鎖。本項(xiàng)目整體上是一個(gè)嵌在自行車上的嵌入式裝置,其主要完成掃描人臉并進(jìn)行識(shí)別判斷進(jìn)而開鎖的過程。

        斯坦福教授李菲菲舉辦的ImageNet國(guó)際視覺識(shí)別競(jìng)賽中,第一名的識(shí)別度就已經(jīng)高達(dá)99%以上[1],也就是說,業(yè)界對(duì)于圖像識(shí)別已經(jīng)有非常成熟的算法,因此從實(shí)踐項(xiàng)目的角度,這一點(diǎn)是十分有利于本項(xiàng)目的成功的。同時(shí),業(yè)界中對(duì)于視覺項(xiàng)目的開發(fā),集成了成熟的視覺開源庫(kù)opencv,這也大大的降低的編碼難度,提高了項(xiàng)目開發(fā)的技術(shù)可行性。

        2 系統(tǒng)設(shè)計(jì)與硬件選擇

        本項(xiàng)目整體上是一個(gè)嵌在自行車上的嵌入式裝置,其主要完成掃描人臉并進(jìn)行識(shí)別判斷進(jìn)而開鎖的過程。所用到的技術(shù)主要有基于opencv視覺開源庫(kù)的人臉識(shí)別技術(shù)、Linux環(huán)境下的編程、arduino單片機(jī)編碼電機(jī)的驅(qū)動(dòng)編程、上下位機(jī)之間的通信等技術(shù)。整個(gè)系統(tǒng)的功能可以分為如下的幾個(gè)模塊:圖像的采集與預(yù)處理工作、離線人臉識(shí)別模型的訓(xùn)練、人臉識(shí)別、樹莓派3b與電機(jī)驅(qū)動(dòng)板arduinomega2560的串口通信、驅(qū)動(dòng)板arduinomega2560驅(qū)動(dòng)電機(jī)開鎖等,如圖1所示。

        2.1 樹莓派數(shù)據(jù)簡(jiǎn)介

        Raspberry Pi簡(jiǎn)稱樹莓派,是為學(xué)習(xí)計(jì)算機(jī)編程教育而設(shè)計(jì),只有信用卡大小的微型計(jì)算機(jī),系統(tǒng)基于Linux。“麻雀雖小,五臟俱全”來形容樹莓派再貼切不過。它是一款基于ARM的微型電腦主板以SD/MicroSD卡為內(nèi)存硬盤,卡片主板周圍有1/2/4個(gè)USB接口和一個(gè)10/100 以太網(wǎng)接口(A型沒有網(wǎng)口),可連接鍵盤、鼠標(biāo)和網(wǎng)線,同時(shí)擁有視頻模擬信號(hào)的電視輸出接口和HDMI高清視頻輸出接口,以上部件全部整合在一張僅比信用卡稍大的主板上[2][3]。正是其微小型、全面性,成為了本項(xiàng)目開發(fā)的最佳芯片選型。圖2是樹莓派簡(jiǎn)易圖。

        2.2 Arduinomega2560簡(jiǎn)介

        Arduino是一款便捷靈活、容易入門的開源電子平臺(tái),如圖3所示。包含硬件(各種型號(hào)的Arduino板)和軟件(Arduino IDE)。Arduino能通過各種各樣的傳感器來感知環(huán)境,通在本系統(tǒng)中主要用來控制鎖的電機(jī)轉(zhuǎn)動(dòng)。板子上的微控制器可以通過Arduino的編程語(yǔ)言來編寫程序,編譯成二進(jìn)制文件,燒錄進(jìn)微控制器。同時(shí)其軟件平臺(tái)的高級(jí)設(shè)計(jì)語(yǔ)言是基于c語(yǔ)言開發(fā)的,非常利于開發(fā)者快速學(xué)習(xí)和開發(fā)。同時(shí)其開源平臺(tái)豐富的庫(kù),也極大的便利的編程的難度并提高了項(xiàng)目可行性[4]。

        2.3 串口通信、上位機(jī)、下位機(jī)簡(jiǎn)介

        簡(jiǎn)單來理解串口通信的概念,即多個(gè)處理器之間通過串行口進(jìn)行數(shù)據(jù)的按位傳輸[5]。通過調(diào)研我們發(fā)現(xiàn),盡管樹莓派3b功能齊全、計(jì)算性能相對(duì)一般單片機(jī)高,但是如果將編碼電機(jī)直接連接到樹莓派的pin口,是容易燒壞板子的。因此這里本項(xiàng)目采用樹莓派3b作為上位機(jī)、arduinomega2560作為下位機(jī)的整體構(gòu)造,如圖4所示。上位機(jī)的概念是進(jìn)行高級(jí)的圖像處理和識(shí)別相關(guān)的計(jì)算,并根據(jù)計(jì)算結(jié)果得到通過串口通信發(fā)送給下位機(jī)。而下位機(jī)的功能是接收到信號(hào)之后,驅(qū)動(dòng)電機(jī)運(yùn)動(dòng)完成開鎖功能。這樣上、下位機(jī)結(jié)合的設(shè)計(jì)思路,能夠提高系統(tǒng)的安全性和健壯性。

        2.4 人臉識(shí)別算法Eigenfaces簡(jiǎn)介

        計(jì)算機(jī)視覺中成熟的人臉識(shí)別算法有很多,這里選用opencv集成好的算法Eigenfaces。其算法步驟如下[6]:

        Step1: 采集人臉數(shù)據(jù)庫(kù)和待識(shí)別的人臉圖像,基于其像素矩陣將其化成一維向量。

        Step2: 基于所有數(shù)據(jù)向量,計(jì)算所有向量的平均值,即計(jì)算“平均臉”。

        Step3: 將所有人臉向量減去“平均臉”向量,得到插值向量矩陣。

        Step4: 計(jì)算協(xié)方差矩陣,提取特征向量和特征值,并截取前K個(gè)高貢獻(xiàn)度的影響因子。

        以上部分基于機(jī)器學(xué)習(xí)中經(jīng)典的算法PCA主成分分析,即將高維度的圖像參數(shù)映射到了低維空間,抽取出數(shù)據(jù)的主要成分[7]。這便完成的模型的離線訓(xùn)練。在接收新的待探測(cè)的人臉后,按照訓(xùn)練的結(jié)果(特征向量、特征值),對(duì)圖像做相同的映射處理,然后進(jìn)行聚類識(shí)別計(jì)算。

        3 模塊化設(shè)計(jì)

        對(duì)照上文給出的模塊功能的分類,下面依次進(jìn)行模塊化的邏輯過程設(shè)計(jì)。

        3.1 基于樹莓派的人臉識(shí)別模塊

        這里采用的技術(shù)是基于經(jīng)典的開源視覺庫(kù)opencv,對(duì)預(yù)先收集好的人臉數(shù)據(jù)庫(kù)以及采集到的正確人臉,進(jìn)行人臉識(shí)別模型的離線訓(xùn)練。人臉識(shí)別采用的主要方法是特征臉?biāo)惴ǎ‥igenface),通過訓(xùn)練后得到的離線模型以.xml形式存儲(chǔ),在主系統(tǒng)運(yùn)行時(shí)調(diào)用模型即可。即圖5所示。

        3.2 基于arduino mega2560的鎖驅(qū)動(dòng)模塊

        本系統(tǒng)采用arduino mega2560單片處理機(jī)控制開鎖電機(jī)。鎖的分為三個(gè)狀態(tài):開鎖可關(guān)鎖、關(guān)鎖、開鎖不可關(guān)鎖。這三個(gè)狀態(tài)必須按照一定的狀態(tài)轉(zhuǎn)移順序,否則系統(tǒng)將會(huì)出現(xiàn)故障。鎖的三種狀態(tài)之間的轉(zhuǎn)移情況如圖6所示。

        同時(shí),根據(jù)鎖的機(jī)械結(jié)構(gòu)和電機(jī)單位時(shí)間內(nèi)旋轉(zhuǎn)的角度,通過實(shí)驗(yàn),測(cè)量出從一個(gè)狀態(tài)到另一個(gè)狀態(tài)的時(shí)間參數(shù)?;跁r(shí)間參數(shù),得到該子模塊的運(yùn)行流程,如圖7所示。

        3.3 串口通信邏輯

        系統(tǒng)需要基于樹莓派的圖形采集和計(jì)算的結(jié)果,來為單片機(jī)控制舵機(jī)發(fā)出相應(yīng)的指令。因此,不得不解決的問題就是樹莓派和單片機(jī)之間的通信問題。樹莓派的通信方式手段較多,有藍(lán)牙、usb串口以及wifi等方式,單片機(jī)支持usb串口和藍(lán)牙方式,考慮通信的穩(wěn)定性,本系統(tǒng)采用處理器之間的串口通信。流程如圖8所示。

        這里注意,考慮上位機(jī)的識(shí)別過程,在較好的識(shí)別條件下,可能會(huì)多次識(shí)別到正確的人臉,就會(huì)多次往串口發(fā)送數(shù)據(jù),這就會(huì)導(dǎo)致電機(jī)的多余運(yùn)動(dòng)進(jìn)而導(dǎo)致功耗上升。上位機(jī)一旦檢測(cè)到正確人臉,就往串口發(fā)送數(shù)據(jù)。這其中會(huì)發(fā)送較多的墜余數(shù)據(jù)。這里采取的解決策略是,下位機(jī)一旦接收到串口信號(hào),驅(qū)動(dòng)電機(jī)開鎖的同時(shí),采取10秒的延時(shí)來屏蔽串口發(fā)來的多余數(shù)據(jù),這里就成功的解決上面的墜余串口信號(hào)增加的多余能耗。

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

        4.1 基于樹莓派的人臉識(shí)別模塊

        對(duì)應(yīng)于圖5流程中step1、2,本系統(tǒng)要進(jìn)行識(shí)別人臉的采集以及識(shí)別模型的訓(xùn)練。直接給樹莓派3b的usb端口連接常用的攝像頭,就可以調(diào)用開源的opencv庫(kù)來采集待識(shí)別人臉的圖像。picture.cpp就是這樣一個(gè)專門調(diào)用攝像頭采集視頻流的程序。篇幅限制,這里不呈現(xiàn)源代碼。運(yùn)行效果如圖9所示。

        采集成功之后(這里程序中采集了30幀圖像),進(jìn)入對(duì)應(yīng)的人臉數(shù)據(jù)庫(kù)目錄中,在30張圖像中選取10張比較典型的照片,用于后面的識(shí)別模型的訓(xùn)練。

        完成訓(xùn)練之后,使用的三種人臉識(shí)別算法對(duì)生成對(duì)應(yīng)的.xml文件,也就是經(jīng)過上述采集的數(shù)據(jù)和訓(xùn)練程序得到的模型,將三個(gè).xml文件復(fù)制到上位機(jī)進(jìn)行人臉識(shí)別開鎖的主程序(下文會(huì)給出,result.cpp)中,便可以在實(shí)時(shí)的圖像采集中使用該模型進(jìn)行人臉識(shí)別判斷。

        4.2 基于arduinouno2560的鎖驅(qū)動(dòng)模塊

        這一模塊主要涉及驅(qū)動(dòng)板驅(qū)動(dòng)電機(jī)旋轉(zhuǎn)來達(dá)到開鎖的目的,基于實(shí)際的鎖結(jié)構(gòu),測(cè)量出具體的旋轉(zhuǎn)參數(shù),在開鎖邏輯流程圖中已經(jīng)給出,按照其呈現(xiàn)的流程編寫arduino鎖驅(qū)動(dòng)程序即可。這里直接將串口通訊模塊給呈現(xiàn)出來,驅(qū)動(dòng)板從串口緩沖器中讀數(shù)據(jù),如果是字符3,則執(zhí)行開鎖邏輯,如果是1或者2,用于調(diào)整電機(jī)的角度。

        4.3 上下位機(jī)之間的串口通信模塊

        剛剛本文提到,驅(qū)動(dòng)板在串口中接受到字符3之后,開始執(zhí)行開鎖邏輯,對(duì)應(yīng)的,上位機(jī)樹莓派在識(shí)別成功之后,使用c語(yǔ)言的串口通信函數(shù)[8],向串口發(fā)送一個(gè)字符3.上位機(jī)樹莓派3b最終的執(zhí)行程序result.cpp,完成實(shí)時(shí)人臉采集、識(shí)別與控制信號(hào)的發(fā)送。

        4.4 系統(tǒng)實(shí)現(xiàn)結(jié)果

        系統(tǒng)整體完成情況:最上面是單片機(jī)和樹莓派的組合,中間是電池組,這里使用移動(dòng)電源供電即可,滿足樹莓派的供電標(biāo)準(zhǔn)。右側(cè)是圖像采集模塊,最下面是鎖模塊,鎖中的編碼電機(jī)與單片機(jī)的電機(jī)控制模塊通過杜邦線進(jìn)行連接,如圖10所示。

        系統(tǒng)功能測(cè)試:

        由于本系統(tǒng)考慮成本因素,在最終的實(shí)物中并未添加顯示器等外設(shè)。系統(tǒng)的調(diào)試工作,通過樹莓派的HDMI借口連接顯示屏來完成。當(dāng)采集圖像之后匹配成功,攝像頭的監(jiān)控窗口捕捉到的人臉旁邊會(huì)顯示”Right People”的字樣,如圖11所示。否則,匹配失敗(顯示“Mismatching People”字樣)顯示如圖12。

        5 結(jié)束語(yǔ)

        本項(xiàng)目的靈感源于互聯(lián)網(wǎng)+浪潮的掀起,人工智能相關(guān)領(lǐng)域的興起,讓人們從視覺、圖像、聲音等多個(gè)感知層面,對(duì)日常生活中的設(shè)備進(jìn)行智能化的設(shè)計(jì)。本文從視覺的角度,以方便人們出行方便為目的,開發(fā)了這款基于人臉識(shí)別的智能自行車鎖,并達(dá)到了良好的效果。當(dāng)然目前系統(tǒng)還有待進(jìn)一步改進(jìn),如整個(gè)嵌入式的系統(tǒng)還是不夠簡(jiǎn)潔精煉,外部纏繞的線太多可考慮進(jìn)行芯片和外設(shè)的個(gè)性化定制,真正達(dá)到嵌入式開發(fā)“量身定做”的需要,將電池、芯片、攝像頭、電機(jī)集成到一個(gè)精簡(jiǎn)的裝置當(dāng)中。

        參考文獻(xiàn):

        [1] 孫玉蘭.數(shù)字圖像處理技術(shù)的應(yīng)用現(xiàn)狀與發(fā)展研究[J].電腦知識(shí)與技術(shù),2014,10(26):6228-6230.

        [2] 蘇祥林,陳文藝,閆灑灑.基于樹莓派的物聯(lián)網(wǎng)開放平臺(tái)[J].電子科技,2015,28(09):35-37+41.

        [3] 朱軼,曹清華,單田華,等.基于Android、樹莓派、Arduino、機(jī)器人的創(chuàng)客技能教育探索與實(shí)踐[J].實(shí)驗(yàn)技術(shù)與管理,2016,33(06):172-176+206.

        [4] 凱姆·卡爾文,泰勒·卡爾文,龐明珠.Arduino與電子制作[J].電子制作,2012(08):68-73.

        [5] 蔣萍花,張楠.數(shù)據(jù)采集系統(tǒng)串口通信的設(shè)計(jì)與實(shí)現(xiàn)[J].電子測(cè)量技術(shù),2015,38(06):139-142.

        [6] 陳勇,林穎.基于特征臉的主成分分析人臉識(shí)別[J].計(jì)算技術(shù)與自動(dòng)化,2017,36(02):122-124.

        [7] 張勇,黃杰,徐科宇.基于PCA-LSSVR算法的WLAN室內(nèi)定位方法[J].儀器儀表學(xué)報(bào),2015,36(02):408-414.

        [8] 王坤,高贇.基于VC++實(shí)現(xiàn)串口通信的方法[J].信息化研究,2010,36(10):52-54.

        【通聯(lián)編輯:梁書】

        猜你喜歡
        樹莓人臉識(shí)別人臉
        人臉識(shí)別 等
        有特點(diǎn)的人臉
        揭開人臉識(shí)別的神秘面紗
        基于樹莓派的騎行智能頭盔設(shè)計(jì)
        電子制作(2019年11期)2019-07-04 00:34:32
        三國(guó)漫——人臉解鎖
        基于樹莓派的遠(yuǎn)程家居控制系統(tǒng)的設(shè)計(jì)
        電子制作(2017年17期)2017-12-18 06:40:43
        響應(yīng)面法優(yōu)化紅樹莓酒發(fā)酵工藝
        基于類獨(dú)立核稀疏表示的魯棒人臉識(shí)別
        馬面部與人臉相似度驚人
        長(zhǎng)得象人臉的十種動(dòng)物
        奇聞怪事(2014年5期)2014-05-13 21:43:01
        免费人妻精品一区二区三区| 色偷偷av亚洲男人的天堂| 99爱这里只有精品| 亚洲精品天堂在线观看| 漂亮人妻出轨中文字幕| 少妇粉嫩小泬喷水视频| 欧美黑人疯狂性受xxxxx喷水| 成人无码网www在线观看| 国产精品一区成人亚洲| 国产av无毛无遮挡网站| 日本大乳高潮视频在线观看| 肉体裸交137日本大胆摄影| 18分钟处破好疼哭视频在线观看| 成人激情四射网| 色窝窝手在线视频| 亚洲精品成人久久av| 久亚洲精品不子伦一区| 18禁黄污吃奶免费看网站| 国产精品高潮呻吟av久久无吗| 久久精品国产精品亚洲艾| 亚洲第一区二区精品三区在线 | 绝顶潮喷绝叫在线观看| 国内精品视频一区二区三区| 日韩女优中文字幕在线| 麻豆视频在线播放观看| 少妇人妻陈艳和黑人教练| 久久精品无码一区二区三区蜜费| 亚洲一区二区日韩在线| 无码国产成人午夜电影在线观看| 性色av无码一区二区三区人妻| 91亚洲欧洲日产国码精品| 日本人妻97中文字幕| 国产乡下三级全黄三级| 伊人网视频在线观看| 日本高清一区二区三区色| 国产av无码专区亚洲a∨毛片| 日本精品人妻无码77777| 无码AV无码免费一区二区| 蜜臀av一区二区三区久久| 小荡货奶真大水真多紧视频 | 国产在线白浆一区二区三区在线|