• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于人臉識別的高校寢室安全管理系統(tǒng)的智能設(shè)計與實現(xiàn)

      2020-11-20 02:33:30賀東芹胡世長位磊
      裝備維修技術(shù) 2020年6期
      關(guān)鍵詞:電磁鎖STM32單片機數(shù)據(jù)采集

      賀東芹 胡世長 位磊

      摘要:結(jié)合互聯(lián)網(wǎng)與人臉識別功能以及智能鎖應(yīng)用,對于學(xué)生寢室的安全防盜、考勤打卡都有極大的幫助。該系統(tǒng)分為面部采集、存儲,面部識別打卡、面部解鎖寢室門以及數(shù)據(jù)管理終端服務(wù)。學(xué)生通過人臉采集端實現(xiàn)考勤打卡功能,服務(wù)器識別人臉并且記錄學(xué)生身份以及當前時間,通過STM32單片機技術(shù)、繼電器以及電磁鎖實現(xiàn)面部解鎖寢室門的功能。

      關(guān)鍵詞:STM32單片機、終端服務(wù)器、數(shù)據(jù)采集、人臉識別、繼電器、電磁鎖

      通信作者: 位磊 stones2004@163.com

      基金項目:文華學(xué)院大學(xué)生創(chuàng)新基金項目 (項目編號:J0200570118)

      1 背景

      人臉識別技術(shù)是生物特征識別領(lǐng)域的研究熱點之一, 近年來, 隨著模式識別和人工智能技術(shù)的發(fā)展, 該技術(shù)受到諸多學(xué)者的關(guān)注[1]。結(jié)合高校學(xué)生宿舍的安全管理,基于互聯(lián)網(wǎng)與單片機技術(shù)的面部識別與系統(tǒng)設(shè)計出一系列適用于大學(xué)寢室安全管理系統(tǒng)及其智能化的應(yīng)用。由面部采集存儲端、終端服務(wù)、 面部智能鎖及網(wǎng)絡(luò)通信等四大部分組成。

      2 總體設(shè)計

      本系統(tǒng)主要分為三個模塊,即面部數(shù)據(jù)采集存儲對比端、終端服務(wù)與網(wǎng)絡(luò)通信、面部智能鎖。

      2.1 面部數(shù)據(jù)采集存儲對比端

      面部識別系統(tǒng)采用Python語言作為編程語言[2],通過程序出編寫具有圖像采集系統(tǒng),接受紅外感應(yīng)發(fā)出的信號以及LED燈源模塊。

      在設(shè)定的圖像窗口大小為92×112像素內(nèi),被拍攝者盡量讓自己的面部均勻的分布在窗口內(nèi)這樣才能降低人為因素造成的數(shù)據(jù)差,通過面部特征值記錄下被拍攝者的數(shù)據(jù)進行存檔方便下次查詢或者對比時提取數(shù)據(jù)文件。

      2.2終端服務(wù)與網(wǎng)絡(luò)通信

      通過網(wǎng)絡(luò)將被拍攝者的面部特征數(shù)據(jù)傳輸至終端服務(wù)器上,并存儲該數(shù)據(jù)[3]。

      檢測時,采用PCA和LBP算法提取人臉圖像的特征[4],對比數(shù)據(jù)庫中特征值的大小來檢驗此人是否預(yù)先存儲了自己的面部信息或者是不是本人的情況。而數(shù)據(jù)庫中需要存儲學(xué)生的個人信息,以及各個時刻的考勤打卡記錄方便輔導(dǎo)員進行查詢或者統(tǒng)計工作。

      該技術(shù)的難度較大,因為受到人體面部表情特征以及環(huán)境因素,受到光線的強弱,采集設(shè)備的像素度等因素。因此我們通過OPENMV的人臉檢測來進行識別,充分利用此模塊辨識度高,工作速度快的優(yōu)點。

      指示燈設(shè)定四種狀態(tài):白色表示通電成功、紅色表示考勤打卡失敗或則查無此人、綠色表示考勤打卡成功、燈常滅表示處于待機狀態(tài)。

      2.3面部智能鎖

      在面部識別之后利用此模塊的其他IO口輸出當前信號的指令給繼電器,然后繼電器控制電磁鎖的開關(guān)。此人是該寢室成員就通過信號電平給予一個信號指令打開寢室門鎖。若不是則不打開寢室門鎖。

      3 硬件設(shè)計

      該系統(tǒng)電路原理圖如圖2所示,面部識別的運算速度快,工作的效率要求十分的高,要求能夠快速識別面部特征并且發(fā)出指令。對此我們采用OPENMV因為它搭載了STM32H743的32位單片機用此芯片作為處理器。

      對于電磁鎖的需要用到12V的電源,因此通過電源模塊AD-DC模塊,將電源穩(wěn)定在12V[6]??刂评^電器的程序不太難,只需要對繼電器輸入一個初值高電平即可,當需要打開電磁鎖的時候就對繼電器輸入一個低電平信號。同時對于單片機的供電5V,我們通過DC-DC電源降壓模塊使得12V的電源降壓到5V之后對單片機供電。但是OPENMV的工作電壓為3.3V,我們需要對5V電壓繼續(xù)降壓,使得OPENMV能正常工作[5]。

      4 ?軟件設(shè)計

      在接通電源之后,整個系統(tǒng)完成初始化之后。開始有序的執(zhí)行一系列的工作,從最開始的拍攝人臉開始,存儲人臉照片至數(shù)據(jù)庫,服務(wù)器會根據(jù)學(xué)生的照片導(dǎo)入學(xué)生的基本信息進行存檔后續(xù)工作開展的快捷;用戶端就可以開始執(zhí)行余下的,考勤打卡,面部解鎖寢室門等一些列操作。

      本系統(tǒng)采用python語言程序設(shè)計,主要由初始化程序,面部采集程序,采樣信號對比程序組成。

      4.1初始化程序及面部采樣程序

      import sensor, image, pyb

      RED_LED_PIN = 1

      BLUE_LED_PIN = 3

      sensor.reset() # 使傳感器初始化

      sensor.set_pixformat(sensor.GRAYSCALE) # 設(shè)置相片格式為灰度圖

      sensor.set_framesize(sensor.B128X128) # 設(shè)置分辨率大小128*128

      sensor.set_windowing((92,112)) ? #設(shè)置圖像窗口大小為92*112

      sensor.skip_frames(10) # 使新的設(shè)置生效

      sensor.skip_frames(time = 2000)

      num = 1 #設(shè)置被拍攝者序號,第一個人的圖片保存到s1文件夾,第二個人的圖片保存到s2文件夾,以此類推。每次更換拍攝者時,修改num值。

      n = 10 #設(shè)置每個人拍照圖片數(shù)量。

      #連續(xù)拍攝n張照片,每間隔3s拍攝一次。

      while(n): #循環(huán)次數(shù)為設(shè)置的照片數(shù)量

      #紅燈亮

      pyb.LED(RED_LED_PIN).on()

      sensor.skip_frames(time = 3000) # 等待3s

      #紅燈滅,藍燈亮

      pyb.LED(RED_LED_PIN).off() pyb.LED(BLUE_LED_PIN).on()

      print(n) sensor.snapshot().save("faceid/s%s/%s.pgm" % (num, n) ) # 將照片保存到SD卡文件夾中

      n -= 1 ?#每次拍攝一張照片就把設(shè)置照片的數(shù)量減1

      pyb.LED(BLUE_LED_PIN).off()

      print("Done! Reset the camera to see the saved image.")

      4.2信號采樣對比程序

      import sensor, time, image, pyb

      from pyb import Pin

      RED_LED_PIN = 1

      GREEN_LED_PIN = 2

      BLUE_LED_PIN = 3

      sensor.reset() # 使傳感器初始化

      sensor.set_pixformat(sensor.GRAYSCALE) # 設(shè)置相片格式為灰度圖

      sensor.set_framesize(sensor.B128X128) # 設(shè)置分辨率大小為128*128

      sensor.set_windowing((92,112)) ? ? ? ?#設(shè)置圖像窗口大小為92*112

      sensor.skip_frames(10) # 使新的設(shè)置生效

      sensor.skip_frames(time = 5000) #等待5s

      p_in = Pin('P1',Pin.IN,Pin.PULL_DOWN) ? #設(shè)置P1口為接受信號端

      preson = p_in.value()

      #SUB = "s1"

      NUM_SUBJECTS = 6 #圖像庫中不同人數(shù),一共6人

      NUM_SUBJECTS_IMGS = 10 #每人有10張樣本圖片

      print("檢測到電平:%s"%p_in.value()) ?#當紅外人體傳感器檢測到人體時,就發(fā)送一個高電平給攝像頭,使它開始工作

      while(p_in.value():

      # 拍攝當前人臉。

      preson_flat = False

      img = sensor.snapshot()

      d0 = img.find_lbp((0, 0, img.width(), img.height()))#對比照片的寬度與長度

      for s in range(1, NUM_SUBJECTS+1):

      dist = 0

      for i in range(2, NUM_SUBJECTS_IMGS+1):

      img = image.Image("faceid/s%d/%d.pgm"%(s, i))

      d1 = img.find_lbp((0, 0, img.width(), img.height())) ?#調(diào)用find_lbp函數(shù)來提取當前的人臉特征值

      #d1為第s文件夾中的第i張圖片的lbp特征

      dist += image.match_descriptor(d0, d1)#計算d0 d1即樣本圖像與被檢測人臉的特征差異度。

      #print("Average dist for subject %d: %d"%(s, dist/NUM_SUBJECTS_IMGS))

      print("人臉檢測得分:%s"%(dist/NUM_SUBJECTS_IMGS))

      if dist/NUM_SUBJECTS_IMGS < 7500:

      preson_flat = True ? #如果特征值<7500那么此人存在于圖庫中,檢測為合格

      break

      else:

      preson_flat = False #特征值>7500,則檢測為不合格

      #print("檢測到第%s個人"%num)

      if preson_flat:

      print("檢測到sd卡中的人臉")

      pyb.LED(GREEN_LED_PIN).on() ? ? ? ?#如何檢測到SD卡中的人臉,就綠燈顯示5S,表示合格

      sensor.skip_frames(time = 5000)

      pyb.LED(GREEN_LED_PIN).off()

      else:

      print("沒有檢測到人臉")

      pyb.LED(RED_LED_PIN).on() ?#如果沒有檢測到SD卡中的人臉,就紅燈顯示5S,表示不合格

      sensor.skip_frames(time = 5000)

      pyb.LED(RED_LED_PIN).off()

      #print(num) # num為當前最匹配的人的編號。

      5 仿真或?qū)嶒灲Y(jié)果

      人臉拍攝并存檔,完成定義的每個人十張的照片的拍攝,如圖5所示。對比當前的人臉以及結(jié)果顯示,自定義人臉對比比值在7500以下的為正確,存在此人并且亮綠燈。反之則不存在亮紅燈,如圖6所示。

      6 總結(jié)

      本文采用了面部識別技術(shù)以及單片機應(yīng)用、網(wǎng)絡(luò)通信等技術(shù)。通過對模塊和網(wǎng)絡(luò)的結(jié)合,實現(xiàn)了互聯(lián)網(wǎng)的應(yīng)用。對于在校大學(xué)生的寢室管理設(shè)計出有效合理的系統(tǒng)。通過面部采集,人臉識別,面部解鎖以及網(wǎng)絡(luò)通信等功能相結(jié)合,對于在校大學(xué)生的寢室安全以及管理工作有了很大的提升。

      參考文獻

      [1] 霍焰焰.基于PCA和LBP改進算法的人臉識別研究[D].哈爾濱:哈爾濱理工大學(xué), 2015.

      [2] Luciano Ramalho .流暢的Python[M].,2017.5.15

      [3] 武奇生、王秋才、閻茂德.計算機網(wǎng)絡(luò)與通信[M]. 2009年1月1日

      [4] 楊艷 郭振鐸 徐慶偉.基于PCA和LBP的自適應(yīng)加權(quán)融合人臉識別算法[J].中原工學(xué)院學(xué)報.2018,29(06).75-80

      [5]康華光.電子技術(shù)基礎(chǔ)[M]. 模擬部分,2013(6):481-488.

      [6] 郭向星 田斐.智能人臉識別門鎖控制系統(tǒng)設(shè)計[J].電子技術(shù)與軟件工程.2019,(17),115-116

      猜你喜歡
      電磁鎖STM32單片機數(shù)據(jù)采集
      基于FTA的電磁鎖故障分析
      負極刀閘電磁鎖故障分析及處理
      地鐵安全門電磁鎖的優(yōu)化研究
      基于DCS系統(tǒng)的廠用電設(shè)備防誤配置策略
      基于STM32芯片的移動機器人的避障研究
      基于單片機的灌裝生產(chǎn)線成品率計算裝置設(shè)計
      基于STM32的兩輪自平衡遙控小車設(shè)計
      科技視界(2016年26期)2016-12-17 08:35:54
      基于STM32單片機的智能手環(huán)設(shè)計與實現(xiàn)
      鐵路客流時空分布研究綜述
      基于廣播模式的數(shù)據(jù)實時采集與處理系統(tǒng)
      軟件工程(2016年8期)2016-10-25 15:54:18
      湖北省| 客服| 伊金霍洛旗| 都兰县| 绥芬河市| 霍邱县| 米易县| 河曲县| 石狮市| 汝城县| 盐边县| 洛阳市| 双峰县| 民乐县| 布尔津县| 探索| 璧山县| 汕头市| 安仁县| 安顺市| 岑溪市| 竹山县| 五家渠市| 嘉峪关市| 稻城县| 武汉市| 崇信县| 德州市| 唐山市| 新津县| 普洱| 古交市| 桑日县| 沭阳县| 韶关市| 府谷县| 望江县| 西藏| 休宁县| 和顺县| 景东|