歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOCX文檔下載  

智能門鎖系統(tǒng)

  • 資源ID:60903534       資源大小:637.20KB        全文頁數(shù):35頁
  • 資源格式: DOCX        下載積分:20積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要20積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號:
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

智能門鎖系統(tǒng)

成績本科畢業(yè)論文(設(shè)計(jì))h 學(xué)題目:智能I 鎖系統(tǒng)學(xué)生姓名趙澤輝學(xué) 號 2015117301指導(dǎo)教師 張濤院 系信息科學(xué)與技術(shù)學(xué)院專業(yè)電子信息工程年級 2015教務(wù)處制二。一九年六月誤(如人臉不匹配、密碼格式錯誤、指紋圖像模糊等),蜂鳴器將發(fā)出錯誤提示音,系統(tǒng)退回到接收解鎖方式的步驟;如果成功解鎖,系統(tǒng)也將退回到接收解鎖方式的步驟,準(zhǔn)備下一次解鎖。2. 2系統(tǒng)相關(guān)技術(shù)2. 2. 1 OpenCV 簡介本設(shè)計(jì)使用OpenCV來實(shí)現(xiàn)人臉識別的功能。OpenCV是計(jì)算機(jī)視覺領(lǐng)域一個通用的基礎(chǔ)環(huán)境,提供多種編程語言的接口,可以在各種主流操作系統(tǒng)上運(yùn)行。軟件庫包含超過2500種優(yōu)化后的算法,運(yùn)行效率很高,適用于要求實(shí)時性的應(yīng)用場合。這些算法中,既有計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)領(lǐng)域的經(jīng)典算法也有最新提出的高級算法,可以被用來完成人臉識別、物體識別、動作跟蹤、圖像拼接等眾多任務(wù)。本設(shè)計(jì)即利用OpenCV官方的face模塊來進(jìn)行人臉識別。2. 2. 2 Haar特征簡介要想實(shí)現(xiàn)人臉識別,首先需要從攝像頭拍攝到的圖像中找出人臉。本設(shè)計(jì)選擇Haar特征來找到人臉輪廓。Haar特征是圖像處理領(lǐng)域中用于識別任務(wù)的一種常用特征。如果按照傳統(tǒng)的方法使用圖像中每一個像素的強(qiáng)度來進(jìn)行特征計(jì)算,計(jì)算量會非常大。1998年,帕帕喬爾喬等人提出了一種方法,使用Haar小波集來代替?zhèn)鹘y(tǒng)的基于像素強(qiáng)度的特征集。維奧拉和瓊斯根據(jù)帕帕喬爾喬的思路,于2001年正式提出了Haar特征的概念。圖2. 2 Haar特征模板示例Haar特征采用矩形模板,模板分為正系數(shù)和負(fù)系數(shù)兩部分,正系數(shù)部分像素總數(shù)與負(fù)系數(shù)部分像素總數(shù)的差,就是該模板的特征值。之后,將該特征值與預(yù)先學(xué)習(xí)得的閾值進(jìn)行比較,以識別出不同的物體。但是僅根據(jù)單一 Haar模板特征值來分類的效果很差,往往需要大量的模板來共同識別一個物體,這樣才能保證一定的識別準(zhǔn)確率。將這些大量的模板組織在一起得到一個級聯(lián)分類器。本設(shè)計(jì)即調(diào)用預(yù)先訓(xùn)練好的人臉級聯(lián)分類器來完成提取人臉輪廓的工作。Haar特征相對于其他特征的優(yōu)點(diǎn)在于可以使用積分圖來加快運(yùn)算速度,因此十分適用于要求實(shí)時性的場合。2. 2. 3 HOG特征簡介在明確了人臉輪廓后,需要提取人臉圖像的特征,以分辨出不同的人臉。HOG意為方向梯度直方圖,常用于物體檢測工作。1982年麥康奈爾第一次解釋了 HOG背后的原理,但是并沒有使用HOG 一詞。直到2005年達(dá)拉爾和特里格斯在計(jì)算機(jī)視覺與模式識別會議上展示了他們關(guān)于HOG特征的補(bǔ)充工作后,其才被大量使用。由于梯度可以較為準(zhǔn)確地反映出圖像某一范圍內(nèi)的性質(zhì),HOG選用該范圍內(nèi)梯度方向出現(xiàn)的次數(shù)作為特征值。此外,在密集網(wǎng)格上計(jì)算,并且使用局部對比度歸一化的方法,使得HOG特征對于光照的變化以及人臉表情的細(xì)微變化都具有很高的容忍性。2. 2.4 LBP特征簡介除了 HOG特征以外,LBP特征也是本設(shè)計(jì)用于提取人臉特征的一個依據(jù)。LBP意為局部二值模式,可以用來反映圖像中某一部分的紋理,于1994年首次被提出。它將某一矩形模板內(nèi)所有像素的強(qiáng)度相互比較,以0和1的形式反應(yīng)出比較結(jié)果,用這樣的矩陣來描述該模板的紋理特征。LBP特征簡單卻又非常有效,同時對于光照的變化也具有魯棒性,適用于進(jìn)行實(shí)時的人臉識別。實(shí)驗(yàn)表明,如果將LBP特征與HOG特征相結(jié)合,可以在一些數(shù)據(jù)集上極大地提升識別效果質(zhì)。2. 2.5 UART技術(shù)簡介本設(shè)計(jì)中選用的指紋模塊使用UART技術(shù)與主控制器進(jìn)行數(shù)據(jù)交換。UART代表著通用異步收發(fā)傳輸器,是一種用于異步通信的計(jì)算機(jī)硬件設(shè)備。它可以將數(shù)據(jù)在并行通信和串行通信之間相互轉(zhuǎn)換,傳輸數(shù)據(jù)的格式與傳輸速度都是可以配置的數(shù)據(jù)傳輸共使用三根電線:Tx負(fù)責(zé)發(fā)送數(shù)據(jù),Rx負(fù)責(zé)接收數(shù)據(jù),GND負(fù)責(zé)提供參考電平,連接方法如圖2. 3所示。傳輸時,數(shù)據(jù)由設(shè)備1的Tx端口串行發(fā)出;設(shè)備2檢測到Rx端口上有信號時,先將數(shù)據(jù)緩存,然后以并行方式一并讀出,反之亦然。圖2. 3 UART連接方法2. 2.6 CSI接口簡介本設(shè)計(jì)中攝像頭通過CSI接口與主控制器相連。CSI意為攝像頭串行接口,是移動產(chǎn)業(yè)處理器接口聯(lián)盟所設(shè)立的一個接口標(biāo)準(zhǔn)皿。它定義了攝像頭與處理器之間的接口,主要由應(yīng)用層、協(xié)議層和物理層組成,單線傳輸速度可達(dá)IGb/so3系統(tǒng)硬件設(shè)計(jì)3. 1系統(tǒng)硬件總體設(shè)計(jì)本智能門鎖系統(tǒng)以樹莓派3B+為核心,外設(shè)包括4*4矩陣鍵盤、AS608光學(xué)指紋模塊、樹莓派官方CSI接口攝像頭、蜂鳴器、電機(jī)鎖、電機(jī)鎖驅(qū)動電路。系統(tǒng)由一個雙組輸出的開關(guān)電源供電,將5V輸出提供給樹莓派和電機(jī)鎖驅(qū)動電路,將12V輸出提供給電機(jī)鎖。系統(tǒng)各部分的連接方式如圖3.1所示。圖3. 1系統(tǒng)各部分連接方式3.2主控制器的選型主控制器作為系統(tǒng)的核心,在選型時必須全方位考慮。本設(shè)計(jì)最終選擇了樹莓派3B+作為系統(tǒng)的主控制器,主要出于以下幾點(diǎn)考慮:本系統(tǒng)使用OpenCV來實(shí)現(xiàn)人臉識別功能,為了能夠使用OpenCV,需要選擇可以運(yùn)行完整操作系統(tǒng)的控制器。實(shí)時人臉識別要求主控制器具有足夠強(qiáng)大的計(jì)算能力,樹莓派的最新型號3B+搭載了主頻為1.2GHz的四核64位CPUARM Cortex-A53,其計(jì)算能力達(dá)到了要求。本系統(tǒng)接入了眾多外設(shè),需要大量的接口,而樹莓派3B+包含了 29個GPIO接口、1個CSI接口、1組UART接口和4個電源引腳,足以滿足外設(shè)的需求。樹莓派體積小、重量輕。3.3鍵盤模塊電路設(shè)計(jì)系統(tǒng)使用的鍵盤模塊是一個4*4矩陣鍵盤,圖3. 2展示了其內(nèi)部連接方式。鍵盤共包含8根導(dǎo)線,4根負(fù)責(zé)確定按鍵所在的列,4根負(fù)責(zé)確定按鍵所在的行,另一端與樹莓派的GPIO引腳相連。按鍵按下后,與其相連的兩根導(dǎo)線短接到了一起,樹莓派通過讀取高低電平的變化來確定所按下的鍵。圖3. 2 4*4矩陣鍵盤內(nèi)部結(jié)構(gòu)3.4指紋模塊電路設(shè)計(jì)本設(shè)計(jì)采用AS608光學(xué)指紋模塊來實(shí)現(xiàn)指紋識別的功能。AS608可以容納300枚指紋,搜索時間小于0.3秒,拒真率小于1%,認(rèn)假率小于0. 001%,內(nèi)部包含專用的DSP芯片,可以快速完成對指紋數(shù)據(jù)的處理工作。其引腳定義如表3. 1所示。表3.1 AS608引腳定義序號名稱說明1Vi模塊電源輸入端(5V)2Tx串行數(shù)據(jù)輸出3Rx串行數(shù)據(jù)輸入4GND信號地,內(nèi)部與電源地連接5WAK觸摸感應(yīng)信號輸出,高電平有效6Vt觸摸感應(yīng)電源輸入端(3. 3V)7U+USB D+8u-USB D-AS608使用UART接口與樹莓派連接,故不使用7號和8號USB引腳,具體連接方式如圖3. 3。指紋模塊內(nèi)置觸摸感應(yīng)電路,當(dāng)有手指置于傳感器上方時,5號引腳輸出高電平。12345678ViTxRxGNDWAKVtTTAS608123456789101112131415161718192021222324252627282930313233343536373839405V3.3VRaspberry PiTxRxGPIOGND圖3. 3指紋模塊與樹莓派的接線方法3.5攝像頭模塊電路設(shè)計(jì)圖3. 4展示了樹莓派與攝像頭的連接方式。由于樹莓派的主板上包含一個CSI接口,故可以直接用排線將兩者連接到一起。123456789101112131415GNDCAM1 DNOCAM1 DPOGNDCAM1 DN1CAM1 DPIGNDCAM1 CNCAM1 CP GNDCAM GPIO6CAM GPIOSCLO SDAO 33V123456789101112131415C ameraRaspberry Pi圖3.4攝像頭與樹莓派的連接方式3.6蜂鳴器模塊電路設(shè)計(jì)蜂鳴器模塊的作用是向用戶發(fā)出提示音,只有2個引腳,可直接通過GPIO接口與樹莓派相連,如圖3. 5所示。圖3. 5蜂鳴器與樹莓派的連接方式3.7門鎖模塊電路設(shè)計(jì)本設(shè)計(jì)所選用的電機(jī)鎖包含電機(jī)電路和門磁檢測電路,由12V直流電源供電,支持正極信號開鎖和負(fù)極信號開鎖。電機(jī)鎖向外引出4個引腳,分別為電源輸入端V+、電源地GND、正極信號輸入端L+和負(fù)極信號輸入端L-。本系統(tǒng)選擇正極信號開鎖的方式(此時須將L-和GND短接),當(dāng)L+輸入12V的正電壓時,電機(jī)電路工作,鎖舌收回。這里選擇使用繼電器來控制L+上12V電壓的有無。樹莓派的GPIO輸出能力有限,不足以直接控制繼電器的開關(guān)。因此需要使用三極管來搭建驅(qū)動電路。門鎖模塊整體的電路如圖3. 6所示。當(dāng)需要開門時,樹莓派的GPIO引腳輸出高電平,三極管導(dǎo)通,繼電器的下端與地接通,開關(guān)電源輸出的5V電壓加到了繼電器兩端使繼電器動作,L+接上T 12V電壓,電機(jī)工作,鎖舌收回。門被打開后GPIO改為輸出低電平,三極管截止,繼電器兩端因?yàn)闆]有5V電壓而恢復(fù)到斷電時的狀態(tài),L+上的12V電壓消失,開門信號消失,模塊等待下一次開門指令的到來。Switch Mode Power Supply圖3.6門鎖模塊整體電路4系統(tǒng)軟件設(shè)計(jì)在系統(tǒng)的硬件設(shè)計(jì)完成以后,需要根據(jù)需求來編寫軟件程序。本系統(tǒng)使用Python語言編寫。4.1鍵盤功能軟件設(shè)計(jì)在本設(shè)計(jì)中,4*4矩陣鍵盤需要實(shí)現(xiàn)兩個功能:選擇解鎖方式和輸入密碼。但是無論實(shí)現(xiàn)什么功能,其基礎(chǔ)都是主控制器能夠判斷出究竟是哪個鍵被按下??梢园凑找韵路椒▉韺?shí)現(xiàn):首先令4根列導(dǎo)線所連接的GPIO引腳輸出低電平,然后以軟件的方式在4根行導(dǎo)線所連接的引腳上配置上拉電阻,再讀取這4個引腳的電平狀態(tài)。如果有按鍵被按下,該按鍵所對應(yīng)的列導(dǎo)線和行導(dǎo)線將會短接,此時讀取該行導(dǎo)線的狀態(tài)會得到低電平的結(jié)果(其他行導(dǎo)線會被上拉為高電平)。這樣就得到了該按鍵所在的行數(shù)。之后令4根行導(dǎo)線所連接的GPIO引腳輸出高電平,然后以軟件的方式在4根列導(dǎo)線所連接的引腳上配置下拉電阻,再讀取這4個引腳的電平狀態(tài)。如果有按鍵被按下,該按鍵所對應(yīng)的列導(dǎo)線和行導(dǎo)線將會短接,此時讀取該列導(dǎo)線的狀態(tài)會得到高電平的結(jié)果(其他列導(dǎo)線會被下拉為低電平)。這樣就得到了該按鍵所在的列數(shù)。知道了行數(shù)和列數(shù),就可以唯一確定出按鍵的位置,進(jìn)而就可以從碼表中讀出該按鍵所代表的值。在能夠確定按鍵所表示的值后,主控制器就可以判斷出用戶所選擇的解鎖方式或讀取到用戶所輸入的密碼了。4.2指紋功能軟件設(shè)計(jì)本系統(tǒng)中指紋功能分為錄入指紋和識別指紋兩個部分oAS608內(nèi)部包含錄入指紋圖像、提取指紋特征、比對指紋特征、存儲指紋模型等功能的算法,只需要主控制器通過UART接口向其發(fā)送相應(yīng)的命令包即可,AS608在執(zhí)行完相應(yīng)的功能以后也會回發(fā)給主控制器一個應(yīng)答包,告知功能的執(zhí)行結(jié)果。表4. 1和4. 2分別解釋了命令包和應(yīng)答包每一位的含義。表4.1命令包格式字節(jié)數(shù)24121N2內(nèi)容OxEFOl芯片地址0x01 包長度指令碼參數(shù)校驗(yàn)和表4.2應(yīng)答包格式字節(jié)數(shù)24121N2內(nèi)容OxEFOl芯片地址0x07 包長度確認(rèn)碼返回參數(shù)校驗(yàn)和使用樹莓派向AS608發(fā)送命令包的Python程序如下:ser = serial.Serial(7dev/ttyAMA0', 57600)#配置串口,波特率設(shè)置為 57600AS608_GetImage = OxEF, 0x01, OxFF, OxFF, OxFF, OxFF, 0x01, 0x00, 0x03, 0x01,0x00, 0x05#錄入指紋圖像功能對應(yīng)的命令包 defByteToString(byte):#將數(shù)字轉(zhuǎn)為字符串的子程序return struct.pack('B', byte) for i in range(0,12):#12字節(jié)的命令包一次發(fā)送1字節(jié)stringToWrite = ByteToString(AS608_GetImagei)# 將數(shù)字轉(zhuǎn)為字符串ser.write(stringToWrite)# 發(fā)送字符串i+= 1以上程序僅以錄入指紋圖像為例,根據(jù)所需要完成的功能將命令包中的指令碼替換為相應(yīng)內(nèi)容。本設(shè)計(jì)中用到的主要功能及其對應(yīng)的指令碼如表4.3所zj O表4.3 AS608主要功能的指令碼指令功能指令碼錄入圖像0x01提取特征0x02比對特征0x03搜索指紋0x04合并模型0x05存儲模型0x06圖4.1展示了指紋功能實(shí)現(xiàn)流程。錄入指紋時,首先用戶將手指置于傳感器上方,AS608開始錄入指紋圖像,并提取出指紋特征保存至Bufferl緩存區(qū)。然后用戶抬起手指,重復(fù)此過程一次,將第二次提取出的指紋特征保存至Buffer2緩存區(qū)。最后將兩個緩存區(qū)內(nèi)的指紋特征進(jìn)行比對,判斷是否屬于同一根手指。若兩次提取的特征相同,則將它們合并為一個模型,并將模型存儲至紋或指紋圖4. 1指紋功能實(shí)現(xiàn)流程命令包中制定的編號位置;反之則提示錯誤,結(jié)束程序。錄入兩次指紋圖像并合并特征的目的在于減小誤差,提高指紋庫中指紋的準(zhǔn)確性。識別指紋時,AS608錄入置于傳感器上方手指的指紋圖像,提取特征并保存至Bufferl緩存區(qū),遍歷整個指紋庫來搜索是否有己知指紋的特征與Bufferl中的特征相同。若存在,則識別成功;反之識別失敗,提示錯誤信息后結(jié)束程序。4.3人臉識別功能軟件設(shè)計(jì)本設(shè)計(jì)實(shí)現(xiàn)人臉識別功能需要三個步驟:采集人臉數(shù)據(jù)、訓(xùn)練識別器和識別人臉。4. 3.1采集人臉數(shù)據(jù)無論是采集人臉數(shù)據(jù),還是在第三步中識別人臉,都需要先檢測到人臉。本設(shè)計(jì)所使用的就是維奧拉和瓊斯在2001年提出的Haar級聯(lián)分類器。OpenCV中包含了多種預(yù)先訓(xùn)練好的分類器,這里直接調(diào)用文件haarcascade_frontalface_default. xml來對人臉進(jìn)行檢測。具體實(shí)現(xiàn)程序如下:faceCascade=cv2.CascadeClassifier('Cascades/haarcascade_frontalface_default.xmr)faces = faceCascade.detectMultiScale(#按以下參數(shù)尋找人臉gray,#灰度圖模式scaleFactor=1.2,#比例因子minNeighbors=5,#鄰近數(shù)minSize=(20, 20)#人臉最小尺寸運(yùn)行后,檢測到的所有人臉會被矩形框圍住,矩形框的坐標(biāo)信息保存于faces 內(nèi) o在能夠找到人臉輪廓后,便可以進(jìn)行采集工作了,操作方法如圖4. 2所示。程序以幀為單位,首先將拍攝到的圖像變成灰度圖,然后應(yīng)用Haar級聯(lián)分類器,將檢測到的人臉裁剪下來并保存,以“ User. ID.張數(shù).jpg”的方式命名,例如“User. 1. 28. jpg”。對于每一個用戶保存30張樣本照片,以供下一步進(jìn)行訓(xùn)練。誠信聲明本人鄭重聲明:本人所呈交的畢業(yè)論文(設(shè)計(jì)),是在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的成果。畢業(yè)論文(設(shè)計(jì))中凡引用他人已經(jīng)發(fā)表或未發(fā)表的成果、數(shù)據(jù)、觀點(diǎn)等,均已明確注明出處。除文中已經(jīng)注明引用的內(nèi)容外,不包含任何其他個人或集體已經(jīng)發(fā)表或在網(wǎng)上發(fā)表的論文。特此聲明。指導(dǎo)教師簽名:論文作者簽名:日期: 年 月 日日期: 年 月 日圖4.2采集人臉數(shù)據(jù)流程圖4. 3.2訓(xùn)練識別器接下來將所有用戶的照片輸入到識別器進(jìn)行訓(xùn)練。這里選用OpenCV提供的LBPH (Local binary patterns Histogram)識別器,使用方法為:recognizer = cv2.face.LBPHFaceRecognizer_create() #新建 LBPH 識別器recognizer.train(faces, ids)#提取人臉照片的LBP和HOG特征并訓(xùn)練recognizer.writeCrainer/trainer.ymr)#保存訓(xùn)練所得的 yml 文件4. 3. 3識別人臉圖4. 3展示了最后一步的實(shí)現(xiàn)流程。圖4. 3識別人臉流程首先新建LBPH識別器并載入包含訓(xùn)練信息的yml文件,然后調(diào)用Haar級聯(lián)分類器從攝像頭拍攝的畫面中尋找人臉。最后識別器對找到的人臉進(jìn)行預(yù)測,提取人臉照片中的LBP和HOG特征并與yml文件中的數(shù)據(jù)比對,返回預(yù)測出的最有可能的用戶ID以及不確定度。當(dāng)不確定度低于某閾值時,即認(rèn)定此人臉屬于該用戶。4.4開鎖功能軟件設(shè)計(jì)在使用了電機(jī)鎖驅(qū)動電路之后,只需令GPIO引腳輸出高電平即可開鎖。延遲一段時間后(給用戶一定的開門時間),再改為輸出低電平即可恢復(fù)狀態(tài),等待下次開鎖指令的到來。實(shí)現(xiàn)程序如下:GPIO.output(MOTOR, GPIO.HIGH)time.sleep(l)GPIO.output(MOTOR, GPIO.LOW)4.5系統(tǒng)主程序設(shè)計(jì)系統(tǒng)主程序按照圖4.4所展示的流程運(yùn)行。00初始化GPIO弓腳和串口十一/輸入識別.模式代碼/否是B弋碼合法朋模式A是否人臉正確輸入密碼否是蜜碼格式合法棗碼正確否是指紋頗是開鎖否指如確清空變量圖4.4系統(tǒng)主程序流程圖主程序啟動后,首先進(jìn)行GPIO引腳和串口的初始化設(shè)置。接著用戶通過鍵盤選擇識別模式,“A”為人臉識別,“B”為密碼識別加指紋識別。若用戶按下的鍵不是“A”或“B”,則需要重新輸入。若選擇人臉識別,則攝像頭啟動開始拍攝。識別正確的話將執(zhí)行開鎖操作,待人員進(jìn)入后清空過程中產(chǎn)生的變量,回到輸入識別模式的步驟,等待下一次開鎖任務(wù)。識別錯誤或一段時間內(nèi)沒有檢測到有效人臉也將導(dǎo)致回到初始步驟。若選擇密碼識別加指紋識別,用戶需通過矩陣鍵盤輸入密碼。如果輸入格式錯誤(輸入了非數(shù)字字符)或與預(yù)設(shè)密碼不符,將退回到輸入識別模式的步驟。如果密碼正確,則開始進(jìn)行指紋識別。指紋識別正確后將執(zhí)行開鎖操作,待人員進(jìn)入后清空過程中產(chǎn)生的變量,回到初始步驟。如果在指紋庫中搜索不到與該指紋特征相同的指紋,也將退回到輸入識別模式的步驟。4.6程序自啟動軟件設(shè)計(jì)由于停電等意外狀況的客觀存在,系統(tǒng)必須考慮如何實(shí)現(xiàn)自啟動的問題。樹莓派運(yùn)行Linux系統(tǒng),目錄“/etc/profile.d/”下的腳本會在每次登入賬戶時自動執(zhí)行。因此可以在該目錄下新建sh腳本文件,來實(shí)現(xiàn)系統(tǒng)主程序的自啟動。sh腳本文件內(nèi)容如下:#!/bin/bashcd /home/pi/Project#進(jìn)入存放主程序的文件夾sudo modprobe bcm2835-v412 #加載樹莓派攝像頭的驅(qū)動python Main.py#運(yùn)行主程序5系統(tǒng)測試5. 1系統(tǒng)硬件連接測試本設(shè)計(jì)使用了眾多硬件設(shè)備,因此必須仔細(xì)按照原理圖進(jìn)行檢查。檢查接線是否存在錯接、漏接的情況,導(dǎo)線是否存在裸露的部分導(dǎo)致相互短接,以及電源正負(fù)極是否接反。一切檢測完畢后,接通電源,觀察各指示燈狀態(tài)是否正常,各模塊是否溫度過高,有無異味。系統(tǒng)硬件連接如圖5.1所示。圖5. 1系統(tǒng)連接效果5.2系統(tǒng)軟件功能測試5. 2. 1鍵盤功能軟件測試鍵盤功能的軟件測試主要檢查樹莓派能否判斷出究竟是哪個鍵被按下,故編寫測試程序,通過屏幕來顯示所按下的按鍵對應(yīng)的字符。依次按下4*4矩陣鍵盤的16個按鍵,樹莓派均能正確讀取。效果如圖5. 2所示。1234567890S python Keypad.py圖5. 2鍵盤功能軟件測試結(jié)果5.2.2指紋功能軟件測試指紋功能分為錄入和識別兩部分。指紋錄入功能的測試結(jié)果如圖5.3所示。程序可以按照設(shè)定依次進(jìn)行第一次錄入指紋圖像、提取特征、第二次錄入指紋圖像、提取特征、比對特征、合并模型、存儲模型的步驟,且中途無報錯。piraspberrypi:-/Project/Fingerprint S python FP Add.pyFirst Scan:Please place your finger on the sensor.Scanning.Scanning complete. You can release your finger now.Generating FP characters.FP characters generated. Saved to Bufferl.Second Scan:Please place the same finger on the sensor again.Scanning.Scanning complete. You can release your finger now.Generating FP characters.FP characters generated. Saved to Buffer2.Now comparing 2 FP to check if they belong to a same finger.The 2 FP match.Now combining 2 FP characters.Combining complete.Now storing the FP character.Storing complete. The FP index number is 1.圖5.3指紋錄入功能的測試結(jié)果圖5. 4和圖5. 5分別為指紋識別成功與失敗的輸出效果oAS608錄入指紋圖像并提取特征,然后將該特征在整個指紋庫中搜索,返回搜索結(jié)果。piraspberrypi:-/Project/Fingerprint S python FP_Search.pyPlease place your finger on the sensor.Scanning.Scanning complete. You can release your finger now.Generating FP characters.FP characters generated. Saved to Bufferl.Searching.FP match.圖5.4指紋識別成功的輸出效果piraspberrypi:-/Project/Fingerprint S python FP_Search.pyPlease place your finger on the sensor.Scanning.Scanning complete. You can release your finger now.Generating FP characters.FP characters generated. Saved to Bufferl.Searching.FP do not match.圖5.5指紋識別失敗的輸出效果5. 2. 3人臉識別功能軟件測試人臉識別功能包括三個步驟,對其依次進(jìn)行測試。首先檢查采集到的人臉數(shù)據(jù)的情況。找到程序所保存的照片并打開,發(fā)現(xiàn)只有人臉部分被保留,拍攝到的其他部分被刪去,且圖片變成了灰度圖,符合預(yù)計(jì)的結(jié)果。人臉數(shù)據(jù)圖片如圖5. 6所示。圖5.6人臉數(shù)據(jù)圖片接下來檢查能否正確生成LBPH識別器的yml訓(xùn)練文件。圖5. 7為文件部分內(nèi)容。%YAML:L0opencv_lbphfaces:threshold: 1.79769313486231o7e+308radius: 1neighbors: 8grid_x: 8grid_y: 8histograms:一 !opencv-matrixrows: 1cols: 16384dt: fdata: 3. 47222239e-02, o. 20833349e-03, 0., 1. 73611112e-03,1.56250000e_02,3. 47222225e-03,1.736U112e-03,1. 21527780e-02,1. 736U112e-03,1. 7361U12e-03,8. 68055597e-03,2. 08333340e-02,0., 0., 0., 2. 08333340e-02, 0.,1.73611112e-03,1. 90972220e-02,1.73611112e-03,1.73611U2e-03,1.73611112e-03,1. 56250000e-02,3. 99305560e-02,0., 0., 0., 0.,1.73611112e-03,0., 3. 47222225e-03,0., 1. 73611112e-03,1.73611U2e-03,0., 6. 94444450e-03,0., 0., 0., 5. 20833349e_03,1. 73611112e-03,0.,0.,0.,8. 68055597e-03,0., 0., 0.,0., 1. 73611112e-03,8. 68055597e-03,1.7361U12e-03,0., 0., 0., 0., 0.,0., 0., 0., 2. 77777780e-02, 1. 73611112e-03,圖5. 7 yml訓(xùn)練文件的部分內(nèi)容最后一步,判斷程序能否正確識別出數(shù)據(jù)庫內(nèi)的人臉。圖5.8和圖5.9分別為人臉識別成功和失敗的效果。如果識別成功,人臉上將會出現(xiàn)識別器預(yù)測的用戶ID標(biāo)簽,并且識別不確定度小于閾值。本設(shè)計(jì)將該閾值設(shè)定為40,低于40即認(rèn)為人臉匹配,開鎖信號才能發(fā)出。不確定度越小,表明識別越有把握,等于0時為完美識別。而對于不在人臉數(shù)據(jù)庫中的人臉,其不確定度將大于40o圖5.8人臉識別成功的效果圖5.9人臉識別失敗的效果5. 2.4開鎖功能軟件測試本設(shè)計(jì)中只需設(shè)置GPIO引腳的輸出電平即可實(shí)現(xiàn)開鎖功能。圖5. 10為門鎖的初始狀態(tài),鎖舌是伸出的。GPI0引腳輸出高電平后,鎖舌收回,如圖5. 11所示。關(guān)門時,GPI0引腳改為輸出低電平。當(dāng)電機(jī)鎖中的門磁電路感應(yīng)到門的位置處于關(guān)閉狀態(tài)時,自動控制電機(jī)使鎖舌伸出。當(dāng)停電等意外情況發(fā)生時,電控開鎖以及自動上鎖的功能均受到影響而無法使用。這時屋內(nèi)和屋外的人可以分別使用電機(jī)鎖上的旋鈕和鑰匙完成開鎖和上鎖的任務(wù),保證人員的出入和財(cái)產(chǎn)的保護(hù)不受影響。圖5. 10門鎖的初始狀態(tài)(鎖舌伸出)圖5. 11解鎖后的門鎖(鎖舌收回)5. 2. 5系統(tǒng)主程序及自啟動軟件測試在關(guān)機(jī)狀態(tài)下將系統(tǒng)接上電源,待開機(jī)完畢后發(fā)出提示音,表明已進(jìn)入主程序。進(jìn)入主程序后,按下鍵盤上的“A”鍵進(jìn)入人臉識別模式,成功后鎖舌將收回,門鎖打開。若人臉不匹配,系統(tǒng)將通過蜂鳴器發(fā)出提示音,需要用戶重新選擇識別模式。若10秒內(nèi)沒有檢測到有效人臉,系統(tǒng)也將報錯,并退回到初始狀態(tài)。按下“B”鍵進(jìn)入密碼識別加指紋識別的模式,依次輸入正確的密碼和正確的指紋后,門鎖將打開。若任意一個環(huán)節(jié)出現(xiàn)錯誤,系統(tǒng)將發(fā)出錯誤提示音并返回到輸入識別模式的步驟。6總結(jié)與展望6. 1工作總結(jié)目前市場上的智能門鎖產(chǎn)品在安全性和便捷性方面仍存在或多或少的不足,本文設(shè)計(jì)了一種基于生物特征的智能門鎖系統(tǒng),旨在從以上兩方面提供給用戶一個更好的門鎖使用體驗(yàn)。本文完成的主要工作內(nèi)容如下:分析了智能門鎖系統(tǒng)的意義以及國內(nèi)外市場上現(xiàn)有產(chǎn)品的優(yōu)缺點(diǎn)并提出了改進(jìn)的方法、介紹了本設(shè)計(jì)中所使用和依賴的技術(shù)、介紹了主控制器的選型過程以及給出了各硬件模塊的電路連接方法、設(shè)計(jì)出了各模塊和系統(tǒng)整體實(shí)現(xiàn)相應(yīng)功能的軟件程序、對系統(tǒng)進(jìn)行測試并且測試結(jié)果達(dá)到了預(yù)先設(shè)想的目標(biāo)。6. 2未來展望本設(shè)計(jì)仍存在可以進(jìn)一步改進(jìn)的地方,作為下一步研究的重點(diǎn)方向。首先是提高人臉識別的準(zhǔn)確率。目前系統(tǒng)將不確定度小于40判定為識別成功,而某些情況下不在數(shù)據(jù)庫中的人臉的不確定度最低可到50,與閾值的差距不大。此外,照片可以代替人臉來進(jìn)行識別,雖然不確定度高于閾值(50至70之間)而不足以解鎖,但是仍屬于一個安全隱患。解決方法為增加紅外測距設(shè)備,判斷攝像頭捕捉到的人臉是立體的還是平面的。使用紅外測距設(shè)備的另一個好處是,可以得到人臉在垂直于攝像頭方向的參數(shù)信息,建模后將豐富人臉識別所使用的數(shù)據(jù),提高識別準(zhǔn)確率。其次就是可以進(jìn)一步豐富系統(tǒng)的功能,如增加物聯(lián)網(wǎng)功能、向用戶手機(jī)匯報解鎖歷史等。參考文獻(xiàn)1 彭鴻烈.物聯(lián)網(wǎng)時代智能鎖行業(yè)將迎來爆發(fā)式增長口.中國安防,2017,2017(11):43-46.2 漆琴.探討智能鎖的民用化與發(fā)展趨勢J.中國公共安全,2014,2014(24):112-113.3 Adrian Kaehler, Gary Bradski. Learning OpenCV 3: Computer Vision inC+ with the OpenCV LibraryM. 1.美國:O'Reilly Media, 2017:1.4 Constantine Papageorgiou, Michael Oren, Tomaso Poggio. A GeneralFramework for Object Detection A. ICCVC,美國:IEEE, 1998:555-562.5 Paul Viola, Michael Jones. Rapid Object Detection Using a BoostedCascade of Simple Features A. CVPRC,美國:IEEE, 2001:511-518.6 Robert McConnell. Method of and Apparatus for Pattern Recognition:美國,US4567610AEP. 1982.人們對門鎖的主要要求在于開鎖方式安全以及使用過程方便。然而目前市面上的傳統(tǒng)門鎖和近年來新出現(xiàn)的智能門鎖都并沒有真正的滿足這兩點(diǎn)需求,仍存在很多不足之處,可以進(jìn)行進(jìn)一步的改進(jìn)。因此,本文設(shè)計(jì)了一種使用生物特征進(jìn)行解鎖的智能門鎖系統(tǒng),以達(dá)到上述要求。系統(tǒng)以樹莓派為主控制器,支持解鎖方式的自由選擇,可以通過人臉匹配和密碼指紋同時匹配這兩條途徑來完成解鎖。同時針對停電等特殊情況也具有相應(yīng)的解決方法,不影響人員的出入以及財(cái)產(chǎn)的保護(hù)。關(guān)鍵詞:智能門鎖;樹莓派;人臉識別;指紋識別;嵌入式系統(tǒng)7 Navneet Dalal, Bill Triggs. Histograms of Oriented Gradients forHuman DetectionA. CVPRC,美國:IEEE, 2005:886-893.8 Timo Ojala, Matti Pietikainen, David Harwood. Performance Evaluationof Texture Measures with Classification Based on Kullback Discriminationof Distributions A. ICPRC,美國:IEEE, 1994:582-585.9 Timo Ahonen, Abdenour Hadid, Matti Pietikainen. Face Recognition withLocal Binary Patterns A. ECCVC,德國:Springer, 2004:469-481.10 Xiaoyu Wang, Tony Han, Shuicheng Yan. An IIOG-LBP Human Detector withPartial Occlusion Handling A. ICCVC,美國:IEEE, 2009:32-39.11 Adam Osborne. An Introduction to Microcomputers Vol 1: BasicConceptsM. 2.美國:McGraw-Hill, 1980:116-126.12 Rick Merritt. Mobile Chip Interface Gets RealN. EE Times, 2006年2月13日.AbstractThe key requirements for a door lock are the safety of the unlocking method and theconvenience during use. However, both the traditional door locks and the newlyemerged smart locks on the market do not really meet those two needs. There are stillmany drawbacks which can be improved. Therefore, this paper designs a smart locksystem which uses biometric features to unlock, to achieve the requirementsmentioned above. The system uses a Raspberry Pi as the main controller andsupports the free choice of which unlocking method to use. Face matching is oneway of unlocking, while fingerprint and password matching simultaneously is theother. For power failure and other similar circumstances, the system also hascorresponding solutions to make sure the access of personnel and the function ofproperty protection are not affected.Keywords : Smart Lock; Raspberry Pi; Face Recognition; FingerprintRecognition; Embedded System1緒論11.1本文研究的背景和意義11.2國內(nèi)外應(yīng)用現(xiàn)狀12系統(tǒng)總體設(shè)計(jì)與相關(guān)技術(shù)32.1系統(tǒng)總體設(shè)計(jì)32.2系統(tǒng)相關(guān)技術(shù)42.2.1 OpenCV簡介42.2.2 Haar特征簡介42.2.3 HOG特征簡介52.2.4 LBP特征簡介52.2.5 UART技術(shù)簡介52.2.6 CSI 接口簡介63系統(tǒng)硬件設(shè)計(jì)63.1系統(tǒng)硬件總體設(shè)計(jì)63.2主控制器的選型63.3鍵盤模塊電路設(shè)計(jì)73.4指紋模塊電路設(shè)計(jì)73.5攝像頭模塊電路設(shè)計(jì)83.6蜂鳴器模塊電路設(shè)計(jì)93.7門鎖模塊電路設(shè)計(jì)94系統(tǒng)軟件設(shè)計(jì)104.1鍵盤功能軟件設(shè)計(jì)104.2指紋功能軟件設(shè)計(jì)114.3人臉識別功能軟件設(shè)計(jì)134.3.1采集人臉數(shù)據(jù)134.3.2訓(xùn)練識別器144.3.3識別人臉154.4開鎖功能軟件設(shè)計(jì)164.5系統(tǒng)主程序設(shè)計(jì)164.6程序自啟動軟件設(shè)計(jì)175 系統(tǒng)測試175.1系統(tǒng)硬件連接測試175.2系統(tǒng)軟件功能測試185.2.1鍵盤功能軟件測試185.2.2指紋功能軟件測試185.2.3人臉識別功能軟件測試195.2.4開鎖功能軟件測試215.2.5系統(tǒng)主程序及自啟動軟件測試226總結(jié)與展望226.1工作總結(jié)226.2未來展望23參考文獻(xiàn)231緒論1.1本文研究的背景和意義門鎖可以保障人們的財(cái)產(chǎn)和人身安全,是日常生活中不可或缺的一個物品。傳統(tǒng)的門鎖使用鑰匙進(jìn)行操作,存在丟失、被盜以及忘帶等可能性。一旦發(fā)生,不僅主人無法有效使用門鎖,還存在被他人非法入侵的風(fēng)險。即便是正常使用門鎖的過程中,也具有掏鑰匙和隨身多攜帶一個物件的不便利性。隨著智能家居概念的興起,智能門鎖在最近幾年出現(xiàn)在了市場上,部分產(chǎn)品選擇了 NFC磁卡和手機(jī)藍(lán)牙的解鎖方式。但是這只是將金屬的鑰匙換成了另一種形式的“鑰匙”,依然存在著上述不足,同時又增加了易偽造和易破解的缺點(diǎn)。除此之外,大部分產(chǎn)品允許僅憑密碼完成解鎖,存在較大的安全隱患。因此,開發(fā)一款不依賴實(shí)體“鑰匙”、基于生物特征進(jìn)行解鎖的智能門鎖系統(tǒng)很有必要。1.2國內(nèi)外應(yīng)用現(xiàn)狀國內(nèi)市場中,智能門鎖在酒店、公司、學(xué)校、小區(qū)等公共場所的應(yīng)用很廣,其中的絕大部分都是使用NFC磁卡。但是NFC磁卡的安全性并不高,不法分子僅憑支持NFC功能的安卓手機(jī)和相應(yīng)的讀卡器,就可以入侵到磁卡的扇區(qū)中,隨意進(jìn)行讀寫操作。一些知名廠商(NXP、Broadcom)的磁卡產(chǎn)品,即便無法獲取完整的權(quán)限,也可以較為容易地復(fù)制一張新卡出來。即使NFC磁卡的安全性不存在任何問題,也會面臨無法保證持卡人就是用戶的難題。而在國內(nèi)的家用市場中,智能門鎖的應(yīng)用率極低,大部分家庭依然使用傳統(tǒng)的機(jī)械門鎖。智能家居概念的火熱,也讓智能門鎖產(chǎn)品進(jìn)入了一般家庭的視野。圖1. 1列舉了目前各大電商網(wǎng)站上口碑和銷量不錯的幾款產(chǎn)品??梢钥吹?幾款智能門鎖均采用了指紋和密碼的解鎖方式,一些產(chǎn)品還增加了磁卡和手機(jī)藍(lán)牙作為選項(xiàng)。然而它們的普遍缺點(diǎn)在于價格過高,且選擇了 NFC磁卡和手機(jī)藍(lán)牙這種相對來說更容易破解和偽造,又增加了攜帶負(fù)擔(dān)的解鎖方式。智能門鎖在國外市場的應(yīng)用則要比國內(nèi)好很多。盡管在公共場所中應(yīng)用的規(guī)模和解鎖方式與國內(nèi)無太大差別,但是智能門鎖在日韓和歐美的家用市場中普及很廣泛,尤以韓國突出。韓國的房地產(chǎn)開發(fā)商會直接將智能門鎖安裝在新房內(nèi),此外在超市中也能夠很方便地購買到智能門鎖。除了應(yīng)用規(guī)模的差別,圖1.1國內(nèi)電商網(wǎng)站上的典型智能門鎖國外的產(chǎn)品在解鎖方式的選擇上也與國內(nèi)智能門鎖不太一樣。圖1.2為國外電商網(wǎng)站上的幾款典型產(chǎn)品。由圖可以看到,國外的智能門鎖往往采用單一的解鎖方式,最多為兩種,像國內(nèi)產(chǎn)品那樣三種或四種解鎖方式并存的產(chǎn)品幾乎沒有。密碼和指紋依然是主流解鎖方式,少部分門鎖選擇了藍(lán)牙作為附加選項(xiàng),且沒有品牌使用NFC磁卡來解鎖。圖1.2國外電商網(wǎng)站上的典型智能門鎖綜合來看,無論是國內(nèi)品牌還是國外品牌,它們多數(shù)都選擇了指紋作為解鎖依據(jù),這點(diǎn)符合人們對于安全性的要求。但是它們普遍又允許只通過密碼來進(jìn)行解鎖,由于密碼容易被偷窺以及復(fù)雜度通常不高,因此產(chǎn)品在安全性方面存在一定的隱患。少部分選擇了 NFC磁卡和手機(jī)藍(lán)牙完成解鎖功能的產(chǎn)品,也違背了便攜性的需要。此外,價格普遍較高也成為了阻礙智能門鎖普及的另一個因素。2系統(tǒng)總體設(shè)計(jì)與相關(guān)技術(shù)2.1系統(tǒng)總體設(shè)計(jì)本設(shè)計(jì)將完成一個支持人臉匹配以及密碼和指紋同時匹配兩條解鎖途徑的智能門鎖系統(tǒng),按照模塊劃分,可分為主控制器、鍵盤模塊、指紋模塊、攝像頭模塊、蜂鳴器模塊以及門鎖模塊六部分。主控制器通過接口與各個模塊相連,控制各外設(shè),并完成數(shù)據(jù)的通信和處理。鍵盤模塊負(fù)責(zé)完成識別方式選擇以及密碼輸入的任務(wù)。指紋模塊內(nèi)部包含處理器與寄存器,可以完成錄入指紋圖像、提取指紋特征、比對指紋特征、存儲指紋模型等操作,并能向主控制器發(fā)送每一步操作的結(jié)果。攝像頭模塊負(fù)責(zé)捕捉畫面,同時通過燈光的方式向用戶提示系統(tǒng)的工作狀態(tài)。蜂鳴器模塊負(fù)責(zé)發(fā)出提示音,向用戶告知系統(tǒng)運(yùn)行情況。門鎖模塊可以受到電信號的控制來完成開關(guān)的動作。系統(tǒng)總體框架如圖2. 1所示。圖2. 1系統(tǒng)總體框架系統(tǒng)的工作原理為:系統(tǒng)上電,時鐘、串口等啟動完畢,程序加載完成后,用戶通過鍵盤模塊選擇解鎖方式。主控制器讀取到鍵盤模塊發(fā)來的數(shù)據(jù)后,判斷用戶所選擇的解鎖方式。若選擇人臉匹配的解鎖方式,則控制攝像頭模塊啟動,開始拍攝。攝像頭將捕捉到的每一幀圖像發(fā)送回主控制器,主控制器進(jìn)行相應(yīng)的圖像處理運(yùn)算。從圖像中識別出人臉且人臉屬于主人時,控制門鎖模塊開鎖,并發(fā)出提示音。若選擇密碼和指紋同時匹配的解鎖方式,主控制器開始接收鍵盤模塊傳來的密碼數(shù)據(jù)。當(dāng)用戶輸入的密碼格式正確且與預(yù)設(shè)密碼相同時,主控制器向指紋模塊發(fā)送控制指令,命令指紋模塊進(jìn)行讀取指紋圖像、提取指紋特征、比對指紋特征等一系列操作。當(dāng)指紋特征與指紋庫中的某指紋的特征相同時,指紋模塊向主控制器發(fā)送代表指紋正確的應(yīng)答碼,主控制器收到后控制門鎖模塊開鎖,并發(fā)出提示音。在上述過程中,如果任意一步出現(xiàn)錯

注意事項(xiàng)

本文(智能門鎖系統(tǒng))為本站會員(黑**)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!