當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > IoT設(shè)計分享
[導(dǎo)讀]人臉識別技術(shù)在過去十年中有了巨大的進(jìn)步,現(xiàn)在它主要用于監(jiān)視和安全目的。在今天的教程中,我們將學(xué)習(xí)如何使用樹莓派構(gòu)建人臉識別門鎖系統(tǒng)。本項目分為三個階段:

人臉識別技術(shù)在過去十年中有了巨大的進(jìn)步,現(xiàn)在它主要用于監(jiān)視和安全目的。在今天的教程中,我們將學(xué)習(xí)如何使用樹莓派構(gòu)建人臉識別門鎖系統(tǒng)。本項目分為三個階段:

?數(shù)據(jù)收集

?訓(xùn)練識別器

?人臉識別

在第一階段,我們將收集被授權(quán)開鎖的面部樣本。在第二階段,我們將針對這些人臉樣本訓(xùn)練識別器,在最后階段,我們將使用訓(xùn)練器數(shù)據(jù)來識別這些人臉。如果樹莓派認(rèn)出一張臉,它就會打開門鎖。

在這里,一個電磁鎖和一個Pi相機將與樹莓派一起使用樹莓派3來構(gòu)建這個基于人臉識別的門鎖系統(tǒng)。我們以前使用電磁鎖與樹莓派,也建立了一些項目與pi相機,如Web控制樹莓派監(jiān)控機器人,基于物聯(lián)網(wǎng)的智能Wi-Fi門鈴,智能閉路電視監(jiān)控系統(tǒng)等。

組件的要求

?樹莓派3(任何版本)

?電磁鎖

?繼電器模塊

?跳線

線路圖

下面給出了樹莓派人臉識別門鎖的電路圖。

樹莓派和電磁鎖通過繼電器模塊連接。電磁鎖需要9 ~ 12V,樹莓派只能提供5V。因此,使用12V適配器為螺線管鎖供電。繼電器模塊的VCC和GND引腳連接樹莓派的5V和GND。繼電器的輸入端接在樹莓派的GPIO23上。

電磁鎖的正引腳接在12V適配器的正軌上,電磁鎖的負(fù)引腳接在繼電器的COM上。將繼電器的NO引腳接到12V適配器的負(fù)極上。

樹莓派3人臉識別門鎖的面包板設(shè)置如下所示:

在樹莓派3上安裝OpenCV

這里使用OpenCV庫來檢測和識別人臉。要安裝OpenCV,首先要更新樹莓派。

然后使用以下命令安裝所需的依賴項,以便在樹莓派上安裝OpenCV。

之后,使用下面的命令在樹莓派上安裝OpenCV。

安裝人臉識別所需的其他軟件包

在開始使用樹莓派的人臉識別門鎖系統(tǒng)程序之前,讓我們安裝所需的軟件包。

安裝dlib: dlib是包含機器學(xué)習(xí)算法和解決現(xiàn)實問題的工具的現(xiàn)代工具包。使用下面的命令安裝dlib。

安裝face_recognition模塊:該庫用于通過命令行從Python識別和操作人臉。使用下面的命令安裝人臉識別庫。

安裝imutils: imutils用于使基本的圖像處理功能,如平移,旋轉(zhuǎn),調(diào)整大小,骨架化和顯示Matplotlib圖像更容易與OpenCV。使用以下命令安裝imutils:

安裝枕頭:枕頭用于打開,操作和保存不同格式的圖像。使用以下命令安裝枕頭:

樹莓派人臉識別門鎖編程

如前所述,我們將分三個階段完成這個項目。第一階段是數(shù)據(jù)收集;第二步是訓(xùn)練識別器,第三步是識別人臉。最后給出了這三個部分的程序。在這里,我們詳細(xì)地解釋了其中的每一個。

1. 數(shù)據(jù)收集

在項目的第一階段,創(chuàng)建一個數(shù)據(jù)集來存儲人臉。這些面將以不同的id存儲。

為此,首先,創(chuàng)建一個保存所有項目數(shù)據(jù)的項目目錄。

除了三個python程序和數(shù)據(jù)集,這個目錄還有一個面部分類器文件。所有三個python程序和面部分類器文件在頁面末尾給出。

現(xiàn)在在FaceRecognitionProject目錄中,創(chuàng)建一個名為Dataset的新子目錄來存儲面部樣本。

現(xiàn)在打開FaceRecognitionProject目錄下的Nano編輯器文件,粘貼最后給出的數(shù)據(jù)收集程序。

數(shù)據(jù)收集程序解釋如下:

初始化人臉檢測器。人臉分類器文件與人臉檢測器一起使用。

現(xiàn)在提供一個用戶輸入命令,以便用戶可以在收集數(shù)據(jù)之前輸入數(shù)字面部id。

在while循環(huán)中,使用檢測器提取人臉。

之后,保存每一個捕獲的幀,將其保存為“dataset”目錄下的文件,person id:

運行python腳本并輸入人臉id。當(dāng)它檢測到人臉時,它就開始捕捉樣本。這些示例將保存在Dataset目錄中。

目錄和程序文件的結(jié)構(gòu)是這樣的:

2. 訓(xùn)練識別器

收集人臉樣本后,對識別器進(jìn)行訓(xùn)練,使其能夠準(zhǔn)確地預(yù)測人臉。

在FaceRecognition目錄中打開一個Nano編輯器文件,粘貼訓(xùn)練器代碼(在最后給出)并將其保存為trainer.py

下面解釋了訓(xùn)練識別器的Python腳本:

通過導(dǎo)入所有必需的庫文件來啟動代碼。

之后,輸入保存面部樣本的路徑。

接下來,使用haarcascade_frontalface_default.xml面部分類器文件檢測示例圖像中的面部。然后使用識別器變量來創(chuàng)建一個LBPH(局部二值模式直方圖)人臉識別器。

現(xiàn)在使用前面初始化的路徑進(jìn)入face samples目錄。

之后,創(chuàng)建兩個用于存儲面部樣本和id的列表。

將圖像樣本轉(zhuǎn)換為灰度。之后,將PIL映像轉(zhuǎn)換為numpy映像。

數(shù)據(jù)集目錄中的樣本按如下方式保存:User.Id.SampleNumber。因此,為了獲得ID,我們將拆分圖像路徑。通過分割圖像路徑,我們將獲得一個用戶ID和樣本編號。

現(xiàn)在調(diào)用Faces和id列表并將它們輸入到訓(xùn)練器文件中。

3. 識別器

現(xiàn)在,在我們項目的最后一步,我們將使用人臉識別技術(shù)從實時視頻饋送中識別人臉。一旦樹莓派識別出任何保存的面孔,它將使繼電器模塊高位打開電磁鎖。

完整的人臉識別程序在頁面的末尾給出。這段代碼的一些重要部分解釋如下:

這個程序類似于訓(xùn)練器程序,所以使用相同的庫文件和分類器文件。

之后,使用一個數(shù)組為每個面部id添加名稱。

現(xiàn)在從樹莓派相機獲得640x480分辨率的視頻饋送。如果您使用多個攝像機,則在cam = cv2. videoccapture(0)函數(shù)中將0替換為1

之后,在while循環(huán)中,將視頻分解為圖像,然后將其轉(zhuǎn)換為灰度。

使用識別器。預(yù)測函數(shù)檢查人臉與樣本的匹配程度。

如果信心小于100,則打開鎖。0代表完美匹配。

測試樹莓派人臉識別門鎖

執(zhí)行這些python代碼需要外部監(jiān)視器或任何虛擬監(jiān)視器(如VNC查看器)。運行數(shù)據(jù)集程序收集人臉樣本。當(dāng)你運行這個程序時,會彈出一個窗口。在該窗口中,輸入ID號并按enter。之后,將彈出另一個窗口,使用pi相機采集面部樣本。

在此之后,運行教練程序。成功執(zhí)行后,將生成一個培訓(xùn)師。將Yml文件放入項目目錄。這個文件將被識別器用來識別人臉。

現(xiàn)在,在最后一步,運行識別程序。如果在視頻源中識別出一張臉,你會發(fā)現(xiàn)它周圍有一個框,上面寫著這個人的名字,如下所示:

本文編譯自iotdesignpro

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉