色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

用樹莓派做一個人臉識別開鎖應用的案例

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-10 18:37 ? 次閱讀
本文主要介紹實現一個人臉識別進行開鎖的功能,用在真人實景游戲業務中。
來源:騰訊技術工程微信號
作者:eckygao,騰訊 CSIG 云產品

1.案例概述

1.1 背景

實現一個人臉識別進行開鎖的功能,用在他的真人實景游戲業務中。總的來說,需求描述簡單,但由于約束比較多,在架構與選型上需要花些心思。

1.2 部署效果

由于該游戲還在線上服務中,此處就不放出具體操作的視頻了。

1.3 玩家體驗

  • 玩家發現并進入空間后,在顯示屏看到自己在當前場景出鏡的實時畫面。
  • 玩家靠近觀察時,捕獲當前幀進行人臉識別,實時畫面中出現水印字幕“認證中”
  • 人臉認證失敗時,實時畫面水印字幕變更為“認證失敗”,字幕維持 2 秒后消失,恢復初始狀態。玩家繼續尋找游戲線索,重新進行認證。
  • 人臉認證成功時,實時畫面水印字幕變更為“認證成功”,并彈開保險箱門。進入后續游戲環節。

2.產品要求

2.1 需求說明

需求提出時比較明確,核心邏輯不復雜。

  • 人臉識別:通過人臉識別進行鑒權。
  • 開鎖管理:通過鑒權則打開箱門,未通過則保持鎖定。
  • 反饋提示:需要有實時視頻反饋,指引明確,便于優化玩家體驗。

2.2 約束說明

畢竟是生意,所以在商言商,對實用性和成本要求很高,關鍵是不要影響游戲過程,同時保證玩家體驗。

  • 低成本:需要低建設成本,低維護成本。
  • 易維護:對維護人員技術水平要求低,出現軟硬件故障時,任意店員可以快速恢復。
  • 高可靠:識別準確率高,容錯能力強,系統持續運行中故障率低。
  • 有限空間:整套系統在去除顯示屏、電磁鎖、保險箱后,其它結構實施空間不能超過 20cm15cm15cm 體積。
  • 采光不足:實景空間小,有頂光無側光,曝光時間較長。
  • 通用供電:只提供 5V、12V 兩種直流電接口。
  • 并行處理:鑒權流程與反饋流程并行,鑒權過程中,反饋系統不能出現中斷、阻塞等情況,使玩家有明顯的中斷、卡死體驗。
  • 網絡環境:由于房間隔斷多,網絡共用,所以網速有限,有突發延遲情況。

2.3 功能設計

可能的架構方案有多種(不同方案間的比較,在文末進行),下面展開說明一下最終上線的方案。

2.3.1 設定流程

流程與效果,請參考 1.3 玩家體驗 部分

2.3.2 可配置內容

  • 騰訊云密鑰對

修改配置文件,用于適配騰訊云賬號切換功能(測試賬號/正式賬號)。

  • 人員庫 ID

修改配置文件,用于指定不同人員庫(測試庫/正式庫)。

  • 水印提示

更換對應圖片,實現更換水印。使用圖片管理,而不是文字配置的原因,是由于圖片配置模式無需字庫支持,無需配置顯示大小,易于圖案嵌入。由于所見即所得,對維護人員要求低。

  • 關機選項

可配置任務完成后,是否自動關機。用于游戲環境復位準備,減少復位工作量。

2.3.3 運營與維護

  • 系統運營管理

場景啟動時,統一上電。認證通過后,自動關機,完成復位。

  • 故障處理

軟硬件故障:無法開機、可開機無顯示、可開機顯示系統異常,可開機未知異常等等,更換樹莓派或其它硬件。

網絡故障:正常運行,無法認證,可查網絡+查云日志,解決網絡問題;

云產品異常:運行 4 個月,未發生過,可以忽略,如發生則聯系云售后;

2.3.4 成本分析

  • 硬件成本:500 ~ 600 元。
  • 備件成本:按 1:1 備件,500 ~ 600 元。
  • 運行成本:云端 0 元,使用免費額度;電費網費,忽略不計。

3.技術實現

3.1 系統架構

3.1.1 硬件組成

  • 樹莓派:終端主控
  • 攝像頭:視頻輸入
  • 傳感器:超聲波測距
  • 顯示屏:視頻輸出
  • 繼電器:控制電磁鎖
  • 電磁鎖:控制保險箱門

3.1.2 關鍵特性

  • 圖片識別:使用圖片識別,而非視頻流,減少對網絡帶寬要求。
  • 識別要求低:欠曝光照片也有高識別率。
  • 觸發識別:玩家在場景內活動時間長,觸發模式避免了高頻認證、誤開鎖情況,同時降低認證成本。
  • 測距選型:超聲波傳感器技術成熟,成本低(3 元);激光傳感器成本高(30 元)
  • 多進程:視頻處理與監測鑒權由兩個進程實現,避免了阻塞等情況,同時使用進程間通信,實現可靠交互。

3.2 系統搭建

3.2.1 騰訊云配置

  • 注冊賬號

文檔指引獲取 API 密鑰

  • 配置人臉識別

訪問官網控制臺,通過“新建人員庫->創建人員->上傳照片”,建立認證基礎。

其中所使用的“人員庫 ID”是關鍵信息,用于后續 API 調用識別時,指定認證動作匹配的人員庫。

注:由于此案例只識別一個人員,無需對人員 ID 進行匹配,故不用指定人員 ID。

3.2.2 樹莓派配置

  • 安裝系統

訪問 www.raspberrypi.org 獲取鏡像,并進行安裝。注意必須安裝桌面版,否則需要單獨管理 HDMI 輸出。

  • 配置網絡

進入命令行,執行 “raspi-config”,選擇"Network Options",配置 WiFi 接入點。為了固定 IP,編輯 /etc/dhcpcd.conf 文件,添加配置信息。

# 具體內容請參考你的本地網絡規劃
interface wlan0
static ip_address=192.168.0.xx/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1 192.168.0.2
  • 安裝騰訊云 SDK

參考指引文檔,安裝調用騰訊云 API 的依賴庫。

sudo apt-get install python-pip -y
pip install tencentcloud-sdk-python
  • 安裝圖像處理庫

系統默認安裝 python2.7,但沒有 opencv 庫,需要安裝。(下載包體積較大,默認源為國外站,比較慢。樹莓派改國內源方法,請自行百度,并挑選離自己近的源站)

sudo apt-get install libopencv-dev -y
sudo apt-get install python-opencv -y
  • 部署代碼

訪問github獲取源碼,將 src 文件夾內容,復制到 /home/pi/faceid 下。

更改 /home/pi/faceid/config.json 中的配置信息,必須改為你的云 API 密鑰(sid/skey)、人員庫 ID(facegroupid),其它配置按需調整。

  • 配置自啟動

需要配置圖形界面自啟動,保證視頻輸出由 HDMI 接口輸出至顯示屏,編輯
/home/pi/.config/autostart/faceid.desktop 寫入如下內容

Type=Application
Exec=python /home/pi/faceid/main.py

3.2.3 硬件接線

樹莓派 GPIO 圖示

攝像頭

  • CSI 接口

超聲波傳感器

  • TrigPin:BCM-24 / GPIO24
  • EchoPin:BCM-23 / GPIO23
  • VCC :接 5V
  • GND :接 GND

繼電器

4 引腳側 接 樹莓派 GPIO 引腳

  • VCC :接 5V
  • GND/RGND :接 GND
  • CH1 : BCM-12 / GPIO12

3 端口側 接 電磁鎖

  • 初始狀態為電磁鎖接常閉端。
  • 繼電器原理請參考 3.3.4 硬件相關 部分。

3.2.4 測試運行

完成上述工作后,接電啟動系統,本地反饋查看顯示屏,云端識別結果可查看系統日志。

3.3 代碼邏輯與涉及技術

3.3.1 流程偽代碼

# 監測鑒權進程-主進程
獲取應用配置(API ID/Key 等)
初始化GPIO引腳(準備控制 傳感器、繼電器)
啟動視頻管理進程(輔進程)
循環開始:
  if not 測距達到觸發標準:
    continue
  與輔進程通信(捕獲當前幀,并存入指定路徑,并添加“認證中”水印)
  調用云API,使用該幀圖片人臉識別
  if 識別成功:
    與輔進程通信(變更水印為“認證成功”)
    等待5秒
    關機 或 繼續運行(由config.json中 su2halt 字段指定)
  else:
    與輔進程通信(變更水印為“認證失敗”)
    等待2秒
  與輔進程通信(清除水印)

# 視頻管理進程-輔進程
初始化攝像頭
循環開始:
  取幀
  取進程間共享隊列
    按消息進行不同操作(幀圖像保存/加不同水印/不處理)
  輸出幀

3.3.2 視頻與識別

  • 實時視頻

如上文偽代碼所示,通過逐幀處理,并連續輸出,顯示實時視頻。

  • 觸發識別

測距傳感器確認物體靠近,且 0.3 秒內距離變化小于 2cm,確認為待認證狀態。再延時 0.3 秒,進行圖像幀捕獲。再次延時的原因是物體停止時,會有扭轉、微調等動作,若直接取幀,會由于采光不足(上文提到的約束)出現模糊情況,所以再次延時,確保捕獲穩定圖像。

  • 人臉識別

請參考文檔介紹。

3.3.3 圖像水印

  • 水印原理

opencv 中,提供了多種圖像處理函數,如:圖文處理(圖加字)、圖圖處理(圖間加/減/乘/除/位運算)等等。通過不同的處理方式,可以實現底圖加字、底圖加圖、掩膜處理等等多種效果。本案例中使用的是基于位運算的掩膜處理方式。

  • 水印圖片

為了便于維護和更新,本案例中使用圖片做為水印來源,避免字庫約束,也增大了靈活性,易于在水印中增加圖形,并以分辨率直接定義水印大小,所見即所得。

默認水印圖片為白底黑字。

  • 水印處理邏輯

為突出水印的浮動效果,將水印圖片中的黑色區域透明化后,疊加到原始圖片中。由于字體透明效果,水印字體顏色隨基礎視頻變化,效果比較明顯。

源碼說明

# img1為當前視頻幀(底圖),img2為已讀取水印圖
def addpic(img1,img2):
    # 關注區域ROI-取底圖中將被水印圖編輯的圖像
    rows, cols = img2.shape[:2]
    roi = img1[:rows, :cols]

    # 圖片灰化-避免水印圖非純黑純白情況
    img2gray = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)
    # 生成掩膜-過濾淺色,位運算取非
    ret, mask = cv2.threshold(img2gray, 220, 255, 3) #cv2.THRESH_BINARY
    mask_inv = cv2.bitwise_not(mask)

    # 生成水印區圖像-底圖裁出字體部分,生成水印區最終圖像,替換原圖水印區
    img1_bg = cv2.bitwise_and(roi, roi, mask=mask_inv)
    dst = cv2.add(img1_bg, img2)
    img1[:rows, :cols] = dst
    return img1

水印效果示意圖(示意圖擴大了水印區,用于突出效果,實際應用方案中水印區較小)

3.3.4 硬件相關

  • 超聲波測距

超聲波傳感器(4 引腳:VCC、Trig、Echo、GND),Trig 端輸出一個大于 10μs 的高電平,激活發出超聲波,并在收到反射波后,Echo 端會輸出一個持續高電平,持續時間就是“發波至收波”的時間。

即:測距結果(米)=Echo 端高電平時長*340 米/2

  • 繼電器

使用的 5V 繼電器模塊有雙側接線,一側為供電與信號(4 引腳,兼容 3.3V 信號),一側為通路開閉管理(3 端口)。

繼電器在“通路管理側”實現了一個“單刀雙開關”的模式,通過“供電與信號”側“CH1 引腳”的高低電平,控制單刀的方向。

在安裝過程中,電磁鎖供電默認接繼電器常閉端,對繼電器給出信號后,繼電器切換到常開端,則電磁鎖斷電開鎖.

  • GPIO

GPIO(General-purpose input/output 通用輸入輸出),以引腳方式提供硬件間的聯系能力。樹莓派 3B+,有 40 個 GPIO 引腳(請參考 3.2.3 硬件接線 中的參考圖示),樹莓派官方操作系統 Raspbian 下,可以使用系統默認安裝的 python 中 RPi.GPIO 庫,進行操作。

4.其它

4.1 方案選型對比

設計的核心在于人臉鑒權模塊,這里直接影響成本和穩定性,最后選擇了上文方案(平衡成本、維護性及可靠性)。曾經的其它幾種備選人臉識別方案:

4.1.1 本地識別 A 方案:

使用 ESP-EYE 芯片,均由芯片完成,依賴 ESP-IDF、ESP—WHO,使用 C 進行開發。

低硬件成本(模塊成本 189* 2),高開發維護成本(C 開發)。

問題:難于更新配置與故障分析處理。適用于大量部署場景。

4.1.2 本地識別 B 方案:

使用樹莓派直接進行人臉識別,方案成熟,開源代碼豐富。

中硬件成本,低開發成本,高維護成本。

問題:樹莓派負載高,即使用間隔幀算法,也僅維持在 20fps 以下,卡頓明顯。如進一步調優,受限于個人經驗問題,恐難以保持長期穩定運行。

4.1.3 本地識別 C 方案:

使用 BM1880 邊緣計算開發板 或其它圖像處理板,社區口碑不錯,有框架支持。

問題:高硬件成本(模塊成本 1000*2),高開發維護成本(C 開發)。如果使用算力棒,需要 X86_64 做基礎平臺,成本降低有限,復雜度不變。適用于擴展能力場景。

4.1.4 云端識別 A 方案:

使用騰訊云的視頻智能分析產品,簡化終端架構,使用樹莓派 zero 推流上云(后續放出實現方案),即可獲取識別結果,且支持高頻多次檢索等特性。

部署成本低(終端視頻相關模塊 150 元),運營成本低(當前 0.28 元/分鐘,按該場景下單次運行 20 分鐘計算,單次游戲成本 5.6 元)

問題:對網絡穩定性依賴大,斷流等情況影響體驗。在本案例的網絡約束下,影響使用效果,更適于網絡條件較好、高頻檢索的應用場景。

更多騰訊AI相關技術干貨,請關注專欄騰訊技術工程

審核編輯 黃昊宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 人工智能
    +關注

    關注

    1791

    文章

    47229

    瀏覽量

    238345
  • 人臉識別
    +關注

    關注

    76

    文章

    4012

    瀏覽量

    81877
  • 樹莓派
    +關注

    關注

    116

    文章

    1707

    瀏覽量

    105615
收藏 人收藏

    評論

    相關推薦

    【OK210申請】人臉識別電子鎖

    申請理由:今年剛剛畢業,讀書這幾年直在弄單片機、linux等電子項目。現在想在工作之余做一個人臉識別鎖。項目描述:采用攝像頭采集人臉數據,與存在flash中的
    發表于 07-17 18:52

    怎么樹莓做基于云服務平臺的人臉識別

    怎么樹莓做基于云服務平臺的人臉識別,大神求解,急!!
    發表于 08-07 23:17

    樹莓人臉識別

    基于云服務平臺的人臉識別1、設備樹莓2、USB攝像頭。2、要求l使用USB攝像頭抓拍(可以使用各種開源軟件,也可以自己編程)臉部照片;l使用人臉
    發表于 08-07 23:19

    人臉識別

    的方法,那就是百度人臉識別工具來配合樹莓,這樣的話,你會很容易做出
    發表于 02-22 12:09

    想用樹莓做一個小型工控機

    想用樹莓做一個小型工控機,運行QT界面,做車間現場數據采集樹莓的有線和無線網絡方案都可行
    發表于 03-13 14:03

    有大神嗎?找大神幫忙做一個人臉識別

    有大神嗎?找大神幫忙做一個人臉識別
    發表于 04-17 21:39

    stm32如何與樹莓實現數據傳輸?

    想做人臉識別開鎖,stm32如何與樹莓實現數據傳輸。哪幾個端口實現?
    發表于 06-03 20:24

    基于linux操作系統實現一個人臉識別門禁系統

    形成組網,實現一個人臉識別門禁系統。客戶端為嵌入式Linux設備,采用QT庫顯示界面,通過攝像頭采集圖像。服務器為PC上 Ubuntu系統,采用QT庫顯示界面,以OpenCV庫為基礎進行...
    發表于 12-14 06:24

    樹莓+STM32人臉識別門禁系統的設計資料分享

    近期完成了一個人臉識別門禁系統的項目,這個項目是今年學校科技立項的題目,到期末了應該結題了,所以上兩周就趕緊的搞了下,做出了原型系統。 項目最終的效果圖如下:效果視頻:B站地址 項目需求: 搭建
    發表于 01-10 07:27

    如果一個人化妝了還能被人臉識別系統認出來嗎

    萬維人臉識別技術是利用分析比對的技術來實現人臉識別項熱門的計算機技術研究領域,其中包括人臉
    發表于 07-09 17:23 ?1w次閱讀

    怎么照片過人臉識別_人臉識別怎么破解

    之前在央視“3·15”晚會現場,主持人張照片就打開了一個人臉識別的app,但是這個漏洞在業內已經修復了,所以照片騙過
    的頭像 發表于 07-28 14:47 ?16.9w次閱讀

    如何700元樹莓自己做一個相機?

    手機拍照不夠爽,帶個單反又太重? 試試做個樹莓復古相機,還能自己編寫處理算法的那種—— 成本不到700元。 沒錯,顏值很高,拍出來的照片也能打。 你也可以快速上手做一個。 如何制作
    的頭像 發表于 05-20 11:44 ?3030次閱讀
    如何700元<b class='flag-5'>用</b><b class='flag-5'>樹莓</b><b class='flag-5'>派</b>自己<b class='flag-5'>做一個</b>相機?

    如何使用ESP32-CAM構建一個人臉識別系統

    在這個項目中,我們將使用 ESP32-CAM 構建一個人臉識別系統,該系統還可以通過識別未經授權的人的面部來作為 ESP32-CAM 安全系統。ESP32-CAM 是款非常小的攝像頭
    發表于 08-22 16:35 ?1.6w次閱讀
    如何使用ESP32-CAM構建<b class='flag-5'>一個人臉</b><b class='flag-5'>識別</b>系統

    Xilinx KV 260構建一個人臉識別車庫門鎖

    電子發燒友網站提供《Xilinx KV 260構建一個人臉識別車庫門鎖.zip》資料免費下載
    發表于 10-26 11:24 ?7次下載
    Xilinx KV 260構建<b class='flag-5'>一個人臉</b><b class='flag-5'>識別</b>車庫門鎖

    樹莓人臉識別(帶電磁鎖)設計

    實現功能:人臉識別開鎖:運行我們的人臉識別程序后,攝像頭會啟動每5秒鐘左右會拍次照片,存放在樹莓
    發表于 10-15 10:46 ?3次下載
    主站蜘蛛池模板: 曰本aaaaa毛片午夜网站| 亚洲高清国产拍精品5g| 骚浪插深些好烫喷了| 无码中文字幕av免费放| 亚洲综合免费视频| 91麻豆国产精品91久久久| youjizz怎么看| 国产精品人成在线播放新网站| 国产真实露脸乱子伦| 老熟人老女人国产老太| 青草国产超碰人人添人人碱| 台湾佬休闲中性娱乐网| 一级毛片视频免费| V8成品人视频| 国内精品不卡一区二区三区| 老头操美女| 双性将军粗壮H灌满怀孕| 一久久| 插我一区二区在线观看| 国产一级毛片在线| 暖暖视频免费高清在线观看 视频 暖暖视频大全免费观看 | 亚洲九九视频| 18禁止观看免费私人影院| 纯肉腐文高H总受男男| 九九热精品免费观看| 琪琪电影午夜理论片YY6080| 亚洲AV成人无码999WWW| 91极品蜜桃臀在线播放| 国产欧美另类久久久精品免费| 巨胸美女狂喷奶水www网麻豆| 神马影院午夜伦理限级| 中文无码不卡的岛国片国产片| 欧美高跟镣铐bdsm视频| 性与肉体电影免费观看| 99热久久久无码国产精品性麻豆 | 久久久久国产精品美女毛片| 人人碰在线视频| 一个人免费视频在线观看高清版| 补课H湿 1V1 PLAY| 久久视频这里只精品6国产| 少妇两个奶头喷出奶水了怎么办|