• 
    

    
    

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

      ?

      智慧校園人臉識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      2019-08-20 07:27:14邱城銓羅回彬陳汕李宇棟蘇敬雄呂翔
      現(xiàn)代計(jì)算機(jī) 2019年20期
      關(guān)鍵詞:經(jīng)緯度人臉識(shí)別輔導(dǎo)員

      邱城銓,羅回彬,陳汕,李宇棟,蘇敬雄,呂翔

      (北京理工大學(xué)珠海學(xué)院計(jì)算機(jī)學(xué)院,珠海519000)

      0 引言

      傳統(tǒng)校園宿舍出入的記錄與分析工作大多數(shù)由宿管與輔導(dǎo)員手工記錄分析,其費(fèi)時(shí)費(fèi)力且容易錯(cuò)漏。隨著信息技術(shù)的發(fā)展,筆者深受當(dāng)下技術(shù)領(lǐng)域與人員流量管理的啟發(fā),嘗試整合分布式Web 后臺(tái)框架、GPS定位系統(tǒng)、人臉識(shí)別技術(shù)的成果,設(shè)計(jì)一款可支撐高峰期并發(fā)量的分布式智慧校園人臉識(shí)別系統(tǒng)。本系統(tǒng)主要應(yīng)用人臉識(shí)別與GPS 定位來(lái)解決校園中學(xué)生人員流動(dòng)的記錄與分析,可以較好的輔助學(xué)校宿管員和輔導(dǎo)員進(jìn)行在線審批、記錄和數(shù)據(jù)分析,可以解放一部分勞動(dòng)力,實(shí)現(xiàn)互聯(lián)網(wǎng)與物聯(lián)網(wǎng)緊密結(jié)合,較好地應(yīng)用到校園生活中。

      1 系統(tǒng)設(shè)計(jì)方案

      1.1 系統(tǒng)架構(gòu)

      在智慧校園人臉識(shí)別系統(tǒng)研發(fā)的過(guò)程中,突破了傳統(tǒng)Web 后臺(tái)的開(kāi)發(fā)和架構(gòu)模式,應(yīng)用了最新流行的分布式架構(gòu)搭建后臺(tái)系統(tǒng),前后端分離開(kāi)發(fā),系統(tǒng)架構(gòu)如圖1 所示。

      本系統(tǒng)架構(gòu)屬于可集成多個(gè)Web 項(xiàng)目的分布式框架體系,本項(xiàng)目中以微信小程序作為用戶交互入口,后臺(tái)交互采用Web 瀏覽器端讓系統(tǒng)管理員進(jìn)行基礎(chǔ)信息的增刪改查,以Spring Cloud Gateway 作為API 網(wǎng)關(guān)入口,應(yīng)用服務(wù)器進(jìn)行數(shù)據(jù)處理,存儲(chǔ)與報(bào)表統(tǒng)計(jì),數(shù)據(jù)持久化至MySQL 服務(wù)器,中間可穿插Redis 緩存,采用Eureka 負(fù)責(zé)服務(wù)的注冊(cè)于發(fā)現(xiàn)。

      圖1 系統(tǒng)架構(gòu)圖

      1.2 系統(tǒng)功能模塊

      系統(tǒng)功能點(diǎn)劃分層次分明,智慧校園人臉識(shí)別系統(tǒng)用戶入口為微信小程序,后臺(tái)管理為瀏覽器端,各個(gè)功能模塊如圖2 所示。

      1.3 系統(tǒng)數(shù)據(jù)流

      用戶注冊(cè)進(jìn)入系統(tǒng),注冊(cè)人臉數(shù)據(jù),將人臉信息注冊(cè)至人臉識(shí)別系統(tǒng),便可以參與正常的業(yè)務(wù)流程。智慧校園人臉識(shí)別系統(tǒng)采用微信小程序用戶進(jìn)行GPS 定位+人臉識(shí)別兩種鑒別方式監(jiān)控學(xué)生宿舍歸校人數(shù)統(tǒng)計(jì),晚歸記錄,請(qǐng)假表申請(qǐng)審批,統(tǒng)計(jì)校內(nèi)人口流量情況,并集成短信推送系統(tǒng)進(jìn)行進(jìn)一步的消息服務(wù)。

      圖2 智慧校園人臉識(shí)別系統(tǒng)功能模塊

      圖3 系統(tǒng)數(shù)據(jù)流

      2 系統(tǒng)功能設(shè)計(jì)與實(shí)現(xiàn)

      智慧校園人臉識(shí)別系統(tǒng)在微信小程序端可分為三個(gè)角色入口:學(xué)生、輔導(dǎo)員和宿管,每個(gè)角色都有各自的職責(zé)與交互流程,活動(dòng)信息持久化至MySQL 數(shù)據(jù)庫(kù),通過(guò)SMS 接口進(jìn)行消息提醒推送,使用戶隨時(shí)接收活動(dòng)最新消息。Web 后臺(tái)瀏覽器端通過(guò)管理員負(fù)責(zé)基礎(chǔ)數(shù)據(jù)的導(dǎo)入導(dǎo)出,信息維護(hù)。

      2.1 人臉識(shí)別

      人臉識(shí)別系統(tǒng)的集成與實(shí)踐是本系統(tǒng)突出的第一大特色,使微信小程序前端、后臺(tái)Web 服務(wù)、人臉識(shí)別服務(wù)實(shí)現(xiàn)交互。其中,人臉注冊(cè)根據(jù)樓棟號(hào)來(lái)進(jìn)行信息注冊(cè),并且可以自己規(guī)定圖像屬性,在注冊(cè)時(shí)將學(xué)號(hào)進(jìn)行映射,以此完成學(xué)生信息注冊(cè);人臉識(shí)別的具體流程發(fā)生在學(xué)生進(jìn)行簽到/晚歸的時(shí)候,通過(guò)識(shí)別攝像頭前的用戶和服務(wù)器上用戶注冊(cè)的圖片進(jìn)行特征點(diǎn)比對(duì)。具體人臉識(shí)別流程如圖4 所示。

      圖4 人臉識(shí)別流程

      2.2 GPS定位

      GPS 定位系統(tǒng)的集成與應(yīng)用是本系統(tǒng)突出的第二特色,通過(guò)GPS 進(jìn)行進(jìn)一步的定位鑒定,可有效防止學(xué)生異地簽到/認(rèn)證。

      該GPS 定位系統(tǒng)采用的是騰訊地圖微信小程序JavaScript SDK 位置服務(wù),根據(jù)官方文檔,需要申請(qǐng)密鑰,還需要下載微信小程序JavaScript SDK,在微信開(kāi)發(fā)者工具中要添加request 合法域名(https://apis.map.qq.com)。

      (1)小程序中引入sdk 核心類:(即js 文件)

      例:var QQMapWX = require('../../libs/qqmap-wxjssdk.js');

      (2)實(shí)例化api 核心類

      qqmapsdk=new QQMapWX({

      key:'申請(qǐng)的key'

      });

      (3)使用api 提供的方法來(lái)獲取當(dāng)前位置的經(jīng)緯度

      qqmapsdk.reverseGeocoder({

      success:function(res){

      var res=res.result;

      }

      })

      (4)小程序中獲取樓棟經(jīng)緯度和簽到范圍,然后調(diào)用API 提供的接口,計(jì)算當(dāng)前位置經(jīng)緯度和樓棟經(jīng)緯度的距離是否在簽到范圍內(nèi)(本項(xiàng)目中,在Web 后臺(tái)頁(yè)面中,設(shè)置了學(xué)生樓棟的經(jīng)緯度、考勤范圍),來(lái)判斷該學(xué)生是否在他所在的樓棟。

      wx.request({

      url:’https://apis.map.qq.com/ws/distance/v1/?mode=driving&from=’+當(dāng)前位置經(jīng)緯度+‘‘&to=’+樓棟經(jīng)緯度+’&key=’+你申請(qǐng)的密鑰

      success:(res=>{

      res.data.result.elements[0].distance//就是兩點(diǎn)之間的距離

      })

      })

      2.3 SMS通知模塊的集成

      SMS 模塊的集成是本系統(tǒng)的第三大特色,在用戶交互的過(guò)程中可能出現(xiàn)重要的通知業(yè)務(wù),本系統(tǒng)集成了SMS 模塊,通過(guò)自定義短信通知,將重大系統(tǒng)通知推送給用戶對(duì)應(yīng)的手機(jī)號(hào)。本項(xiàng)目中觸發(fā)SMS 調(diào)用的流程如下:在輔導(dǎo)員發(fā)布?xì)w校簽到活動(dòng)之后,系統(tǒng)根據(jù)輔導(dǎo)員管理的班級(jí),獲取所有班級(jí)的學(xué)生信息,再根據(jù)對(duì)應(yīng)學(xué)生的基本信息生成content,最后調(diào)用短信接口,逐條發(fā)送短信。

      (1)SMS 消息推送模板如下:

      A. header:【宿簽】

      B. content(內(nèi)容)

      (2)SMS 接口的定義如下:

      public static void sendSms(String tel,String content);

      其中,tel 表示待發(fā)送的手機(jī)號(hào),content 表示內(nèi)容。在實(shí)際實(shí)現(xiàn)的時(shí)候會(huì)在每個(gè)content 前面加上對(duì)應(yīng)的header。當(dāng)消息推送失敗的時(shí)候系統(tǒng)會(huì)記錄對(duì)應(yīng)的錯(cuò)誤日志。推送內(nèi)容的定義如下:

      content=header+content;

      log.info("短信推送:{} 內(nèi)容:{}",tel,content);

      (3)使用JDK8 中的流處理進(jìn)行短信推送的調(diào)用流程如下:

      studentIdChargeByCounselor

      .forEach(id->{

      Student student=studentService.selectById(id);

      Counselor counselor = studentService.getCounselor(id);

      String content = "您的輔導(dǎo)員" + counselor.getName()

      +"發(fā)布了歸宿簽到活動(dòng),請(qǐng)前往App 查看詳

      情";

      SmsUtil.sendSms(student.getTel(),content);

      });

      2.4 Redis緩存

      使用Redis 緩存進(jìn)行緩存數(shù)據(jù),應(yīng)對(duì)高并發(fā)情況下的重復(fù)請(qǐng)求,是本系統(tǒng)實(shí)現(xiàn)的第四大特色,在沒(méi)有使用Redis 緩存之前,所有數(shù)據(jù)庫(kù)請(qǐng)求都需要在數(shù)據(jù)庫(kù)中進(jìn)行SQL 解析處理,并返回對(duì)應(yīng)SQL 語(yǔ)句內(nèi)容,在高并發(fā)情況下數(shù)據(jù)庫(kù)壓力過(guò)大會(huì)導(dǎo)致用戶體驗(yàn)感低下。統(tǒng)一緩存接口類以及方法的定義如下:

      (1)cacheable()方法先判斷是否存在緩存,存在則直接返回緩存數(shù)據(jù),不存在則獲取數(shù)據(jù)庫(kù)數(shù)據(jù),再調(diào)用set()方法添加緩存數(shù)據(jù);

      (2)set()方法添加緩存數(shù)據(jù),其中重載的方法有一個(gè)TimeUint 字段用來(lái)設(shè)置緩存失效時(shí)間;

      (3)delete()方法刪除緩存數(shù)據(jù),其中重載的方法可以刪除多條或者刪除一條;

      (4)get()方法根據(jù)key 獲取對(duì)應(yīng)的緩存數(shù)據(jù)。

      其中,緩存在系統(tǒng)業(yè)務(wù)中的查詢流程如圖5 所示。

      圖5 緩存查詢業(yè)務(wù)

      Redis 緩存在系統(tǒng)中主要借鑒了AOP(面向切面)設(shè)計(jì)思想,在不修改原本業(yè)務(wù)邏輯代碼的前提下,使用切面代碼,對(duì)業(yè)務(wù)前后進(jìn)行處理,例舉添加用戶的緩存設(shè)計(jì),在添加用戶的業(yè)務(wù)方法返回之后,將返回?cái)?shù)據(jù)添加到Redis 緩存中,具體方法步驟如下所示。

      (1)設(shè)計(jì)切入點(diǎn)

      @Pointcut("execution(*com.qcq.wecheck.service.UserService.insert(..))&&args(user)")

      public void insert(User user){}

      (2)實(shí)現(xiàn)切入邏輯,判斷業(yè)務(wù)方法是否成功執(zhí)行,成功執(zhí)行則設(shè)置對(duì)應(yīng)緩存數(shù)據(jù)。具體AOP 實(shí)現(xiàn)如下所示:

      @AfterReturning(value="insert(user)",argNames="user,success",returning="success")

      public void afterInsert(User user,boolean success){

      if(success){

      String key = parseKey(USER,user.getOpenId

      ());

      cacheSupport.set(key,user);

      }

      }

      2.5 數(shù)據(jù)庫(kù)設(shè)計(jì)

      數(shù)據(jù)庫(kù)采用關(guān)系型數(shù)據(jù)庫(kù)MySQL,持久化框架采用MyBatis Plus,利用MyBatis Plus 的快速開(kāi)發(fā)特性,將系統(tǒng)所有的交互數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)庫(kù)。

      數(shù)據(jù)庫(kù)表主要有:學(xué)生表、輔導(dǎo)員表、宿管表、樓棟表、設(shè)備表、活動(dòng)表、活動(dòng)記錄表、學(xué)院表、年級(jí)表、專業(yè)表、班級(jí)表、基礎(chǔ)信息表、管理員表,如圖6 所示。

      圖6 系統(tǒng)數(shù)據(jù)庫(kù)關(guān)系圖

      2.6 實(shí)現(xiàn)效果

      本項(xiàng)目小程序端實(shí)現(xiàn)效果如圖7 所示,人臉識(shí)別界面,主要用于晚歸登記;用戶的主頁(yè)面,顯示角色對(duì)應(yīng)活動(dòng);即時(shí)通訊界面,接收歷史消息記錄。此外,Web 前端管理員頁(yè)面如圖8 所示,主要包括學(xué)生、宿管員、輔導(dǎo)員基本信息管理頁(yè)面和宿舍樓棟位置信息管理頁(yè)面等。

      圖7 小程序端主要界面

      圖8 Web端頁(yè)面

      3 結(jié)語(yǔ)

      通過(guò)人臉識(shí)別與GPS 定位記錄學(xué)生歸校簽到行為,記錄學(xué)生晚歸次數(shù)等操作節(jié)省了宿管與輔導(dǎo)員的工作量和提高了他們的管理效率。此外,通過(guò)智慧校園人臉識(shí)別系統(tǒng)的工作方式,可以將這些學(xué)校人員出入的記錄很好地保存在保障性強(qiáng)、容錯(cuò)率高、可追溯性強(qiáng)的數(shù)據(jù)庫(kù)。本項(xiàng)目是智慧校園建設(shè)的重要組成部分,系統(tǒng)的數(shù)據(jù)保存在阿里云上的MySQL 服務(wù)器上,用戶活動(dòng)報(bào)表等進(jìn)階文檔也可以存儲(chǔ)至阿里云OSS 平臺(tái)進(jìn)行永久性維護(hù),對(duì)今后的智慧校園開(kāi)發(fā)有一定的參考價(jià)值和借鑒意義。

      猜你喜歡
      經(jīng)緯度人臉識(shí)別輔導(dǎo)員
      人臉識(shí)別 等
      1+1我們這樣學(xué)隊(duì)章:我們的輔導(dǎo)員
      揭開(kāi)人臉識(shí)別的神秘面紗
      好輔導(dǎo)員這樣煉成
      自制中學(xué)實(shí)驗(yàn)操作型經(jīng)緯測(cè)量?jī)x
      澳洲位移大,需調(diào)經(jīng)緯度
      一種利用太陽(yáng)影子定位的數(shù)學(xué)模型
      基于類獨(dú)立核稀疏表示的魯棒人臉識(shí)別
      基于K-L變換和平均近鄰法的人臉識(shí)別
      校外輔導(dǎo)員的一天
      简阳市| 敦化市| 平谷区| 八宿县| 营山县| 封丘县| 泰宁县| 托克逊县| 乌鲁木齐市| 聂荣县| 京山县| 行唐县| 上犹县| 垦利县| 黑龙江省| 湖南省| 扎兰屯市| 通许县| 白山市| 唐海县| 南涧| 阿巴嘎旗| 米脂县| 永靖县| 缙云县| 仁寿县| 汶上县| 海伦市| 手游| 泸西县| 沅江市| 隆子县| 井研县| 安乡县| 启东市| 吴忠市| 浦县| 淮安市| 台东市| 卢龙县| 万载县|