資料介紹
描述
介紹
隨著智能家居變得越來越流行,重要的是要記住,DIY 家居裝修始終是一種選擇。雖然 10 年前對于嵌入式愛好者來說,智能鎖或門鈴攝像頭之類的東西似乎是不可能的,但今天的技術使它變得像從嬰兒身上拿糖果一樣簡單(并不是任何人都應該從嬰兒身上拿糖果,這是一種卑鄙的做法)。在這個項目中,我們將使用人臉檢測和深度神經網絡等熱門話題來創建一個使用面部識別來鎖定和解鎖的智能鎖。即使沒有任何嵌入式經驗,這個項目也不應該太難重新創建并在一天內啟動和運行。
。超過 6 小時會自動刪除。
2. 如果檢測到人臉,圖像通過卷積神經網絡生成人臉指紋。
- 如果是非用戶(即與KnownUser目錄中的任何指紋都不匹配),則他們的面部將存儲在NonUser目錄中(每 24 小時刪除一次),并且門栓鎖定。
- 如果是已知用戶,攝像頭會一直輪詢,直到同一用戶被識別 5 次,然后鎖舌解鎖,用戶的面部存儲在Entrants目錄中。
程序
硬件設置
首先,我們必須在 Ultra96-V2 上設置 PYNQ。為此,首先訪問http://www.pynq.io/board.html并單擊“Avnet Ultra96-V2:v2.4 PYNQ 映像”選項,它將提示您下載開發板所需的啟動映像為了運行 PYNQ 軟件。使用 USB 轉 SD 轉換器或 SD 轉 MicroSD 轉換器(如果您的計算機有 SD 卡插槽)將 16 GB MicroSD 卡插入您的 PC,然后使用 Win32 Disk Imager 將圖像寫入其中。在下圖中,我的 SD 卡名為[E:/] ,我的 PYNQ 啟動映像的路徑是C:/VM_Shared/ultra96v2_v2.4.img ,但你的很可能會有所不同。
Win32 完成寫入后,通過右鍵單擊文件資源管理器中的驅動器并選擇彈出來彈出您的 SD 卡。現在您可以將它從您的 PC 中取出并將其放入 Ultra96 V2 MicroSD 卡插槽中。使用 DC 筒形插孔將電路板連接到電源,并使用 Micro USB 電纜連接到您的 PC。然后,確保啟動開關 (SW3) 設置為 SD 模式,如下面的 GIF 所示,使用 USB 端口附近的開關四 (SW4) 將其打開。您應該會看到 MicroSD 卡插槽附近的紅色 LED (INIT) 亮起,幾秒鐘后,它應該會關閉,并且附近的藍色 LED (DONE) 應該會亮起。
此時,您可以打開一個新的 Google Chrome 窗口并在搜索欄中輸入192.168.3.1 (或 192.168.3.1:9090/lab)到搜索欄中,這將帶您進入 PYNQ Jupyter Notebooks 標志-在頁面中。密碼是賽靈思。如果頁面沒有加載,請稍等片刻,然后點擊刷新;有時板子需要一點時間才能完全完成啟動。
進入 PYNQ 主頁后,導航到common/wifi.ipynb并按照步驟將 Ultra96 連接到 WiFi。此時,您可以按照以下可選步驟對您的開發板進行無線編程,但它很可能比使用 Micro USB 電纜慢。
可選無線編程
1. 在 Jupyter Notebooks 中通過選擇New → Terminal (或JupyterLab 中的+ → Terminal)打開一個新終端。
2. 在終端中,鍵入ifconfig
并復制該部分下的 IP 地址wlan
。
3. 在谷歌瀏覽器中打開一個新選項卡并在搜索欄中輸入 IP 地址(如果您想使用實驗室環境,請再次輸入:9090/lab),確保您的 PC 與開發板在同一個 WiFi 上。
4. 現在,您可以斷開 Micro USB 電纜并無線編程您的開發板。
軟件設置
通過選擇New → Terminal (或JupyterLab 中的+ → Terminal)打開一個新終端,然后按照以下步驟將必要的軟件安裝到 Ultra96 上(注意:您可以從此處復制代碼(不帶$
)并使用粘貼到終端中ctrl+shift+v) :
1.升級pip:
$ pip3 install --upgrade --user pip
2. 在 OpenCV 上安裝最新版本,我們將用于人臉檢測的軟件。雖然 PYNQ 引導映像已經有 OpenCV,但我們需要安裝最新版本來滿足我們的需要:
$ cd /home/xilinx
$ wget -O opencv.zip https://github.com/opencv/opencv/archive/3.4.3.zip
3. 解壓 OpenCV 并移動一些目錄:
$ unzip opencv.zip
$ mv opencv-3.4.3 opencv
$ cd opencv
$ mkdir build
$ cd build
4. 將 USB 閃存驅動器插入 Ultra96 USB 端口,然后運行以下命令將其用作交換內存:
- 首先,找到閃存驅動器的名稱:
$ sudo blkid
我的被??稱為sdb1
。
- 然后,運行這些命令來設置交換空間:
$ sudo mkswap /dev/sdx
$ sudo swapon /dev/sdx
5. 使用以下命令配置 OpenCV:
$ cmake -DCMAKE_BUILD_TYPE=RELEASE \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DINSTALL_PYTHON_EXAMPLES=ON \
-DINSTALL_C_EXAMPLES=OFF \
-DPYTHON_EXECUTABLE=/usr/bin/python3 \
-DBUILD_EXAMPLES=ON ..
6. 現在使用以下命令編譯 OpenCV(注意:這可能需要大約 3 小時):
$ make -j2
7. OpenCV 編譯完成后,使用以下命令安裝它:
$ sudo make install
$ sudo ldconfig
8. 將目錄更改為/home/xilinx :
$ cd /home/xilinx
9. 安裝 PYNQ 計算機視覺覆蓋:
$ sudo pip install --upgrade --user git+https://github.com/Xilinx/PYNQ-ComputerVision.git
10. 您可能需要更新 pandas 才能使疊加層正常工作:
$ pip install --upgrade pandas
11.安裝smbus:
$ sudo apt-get install python3-smbus
12. 在 Jupyter Notebooks 中創建一個新目錄(隨意命名)。然后$ cd
進入終端中的新目錄并從 Github 克隆項目文件:
$ cd /home/xilinx/jupyter_notebooks/$ git clone https://github.com/julianbartolone/doorbellcam
集會
現在是時候把所有東西放在一起了。這是一些用戶創造力發揮作用的地方,因為我不一定找到組裝鎖定機制的最佳方法。將伺服器固定到鎖舌上取決于您(我的如下圖所示),但我們現在將討論如何將其全部連接起來。
首先,保存您的 Jupyter Notebooks。然后,通過按下電源按鈕 (SW4) 或$ sudo shutdown now
在終端中鍵入來關閉 Ultra96。板子關機后,斷開直流電源線。現在,將 Click Mezzanine 板放在 Ultra96 的頂部,將 Click Mezzanine 的引線插入 Ultra96 上的引腳插座(它應該非常適合)。接下來,將 Click 伺服插入 Click Mezzanine 上的 mikroBUS 1(它也應該非常適合)。您現在可以重新插入電源并使用 Click Mezzanine 上的 PWR 按鈕打開 Ultra96。如果您之前使用 WiFi 對電路板進行編程,則需要使用 Micro USB 電纜再次進行設置。
在 Click Servo 上,您會看到 16 個不同插槽的 3 個頭針;這些中的每一個都可以接受伺服。在這個項目中,我們將使用插槽 #1。首先,通過將電線末端的黑色部分一分為三,將電線與伺服器分開(重要提示:保持電線末端的插座完好無損,否則您將不得不重新焊接它們。黑色塑料部分沒那么重要,但它屏蔽的金屬部分是你需要保留的。)將棕色線插入插槽#1的頂部引腳,將紅色線插入 mikroBUS 2 的+5V引腳,然后將黃色插入線插入插槽#1的底部引腳。這是因為,由于某種原因,Servo Click 的 VCC 不適合我,所以我不得不從 Click Mezzanine 提供它。
現在是最令人困惑和搖搖欲墜的部分。為了使 Servo Click 工作,有一個引腳需要接地。該引腳是 OE/CS(Servo Click 上的輸出使能/Click Mezzanine 上的芯片選擇)引腳,但它是反相的,因此我們必須將其驅動為低電平而不是驅動它高電平來啟用輸出。我不知道如何使用軟件來做到這一點,所以我不得不將它物理連接到 Click Mezzanine mikroBUS 2 GND 引腳。
瞧!你完成了。Jupyter Notebook 包含有關如何使用該項目的說明。如果您對任何事情感到困惑或有任何疑問,請隨時給我留言!
資源/參考
- Ultra96硬件用戶指南
- Ultra96 SDR第一部分:簡單的射頻頻譜圖Web應用程序
- Ultra96 CSI-2視頻輸出到Raspberry Pi攝像頭輸入
- Ultra96上的實時攝像頭饋送網頁
- 使用Tensil、TF-Lite和PYNQ在Ultra96板上運行YOLO v4 Tiny
- 在Ultra96 V2平臺上用Python實現人臉檢測和人臉跟蹤
- 用于Ultra96的夾層板96AnalogXperience
- Ultra96 FPGA上的Live NYC Subway Monitor應用程序
- 關于Ultra96的Xilinx DDS編譯器IP教程
- 與Ultra96聯網端口轉發
- Ultra96 V2上基于標記的增強現實
- 使用Ultra96 PYNQ測定織物GSM
- Ultra96皮膚癌AI構建
- 2018.2 Ultra96:從 Matchbox 桌面關斷 PetaLinux BSP,無法關斷電路板
- 一起玩Ultra96之GPIO操作
- 使用PYNQ訓練和實現BNN 223次閱讀
- 米爾PYNQ開發板來了 901次閱讀
- 面部識別到底是怎么樣實現的?原理是怎么樣的? 4711次閱讀
- 必達安保系統C1515EK電子鎖簡介 1201次閱讀
- 中控智慧科技混合識別智能鎖ZM100簡介 2161次閱讀
- 如何用OpenCV、Python和深度學習實現面部識別? 2662次閱讀
- PYNQ中MicroBlaze程序文件的加載過程 2192次閱讀
- 3D打印人像破解Android設備的面部識別 3796次閱讀
- 從原理結構方面區分智能鎖和機械鎖 6603次閱讀
- 基于Arm技術的16nm MPSoC開發套件Ultra96 6099次閱讀
- 蘋果將人工智能和面部識別系統應用于車頭燈 4715次閱讀
- 如何使用OpenCV、Python和深度學習在圖像和視頻中實現面部識別? 7928次閱讀
- PYNQ 基于Zynq架構添加了對python的支持 8754次閱讀
- 可怕!面部識別可追蹤顧客購物行為,侵犯個人隱私 1219次閱讀
- 智能鎖中的生物識別應用 為何指紋識別鎖普及率最高? 1914次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多