資料介紹
描述
介紹
在這個項目中,我將為 Smart Office Hot Desking 安排創(chuàng)建一個應(yīng)用程序。
- 現(xiàn)代辦公室正在采用“Hot Desking”的概念。以“先到先得”的方式更有效地利用共享空間和辦公桌。然而,面臨的問題是工人可能會浪費更多時間來尋找空置的辦公桌。跟蹤入住率并在預(yù)訂系統(tǒng)中更新也很乏味。借助基于邊緣的圖像處理能力,我們可以檢測區(qū)域內(nèi)的人員并確定辦公桌是否被占用。
在技??術(shù)方面,我將使用 Ultra96-V2 演示 Vitis AI Model Zoo 和 PYNQ 的 DPU IP 內(nèi)核的編譯流程。
我將從頭開始編譯。從頭開始編譯將使以后修改硬件設(shè)計更容易。我覺得獲取環(huán)境設(shè)置的過程令人困惑,因此我將幫助您逐步記錄它。
PYNQ & Vitis AI 工作流程說明
在我們開始之前,重要的是要知道 Ultra96-V2 使用 Xilinx Zynq UltraScale+? MPSoC。我們可以稱它為基于 ARM 的 FPGA,這意味著既有處理系統(tǒng)(PS)又有可編程邏輯(PL)。
我將使用 PYNQ,我們在其中制作在 PS 上運行的 Python 腳本。使用預(yù)編譯的 PYNQ 覆蓋(或比特流),在 PL 中配置深度學習處理器單元 (DPU)。在 PS 上運行的軟件可以使用 DPU 來加速圖像識別任務(wù)。
使用的額外硬件
除了 Ultra96-V2 捆綁包之外,您可能還需要這些附加硬件。
1. USB 攝像頭
- 我使用了羅技 C170 USB 相機。
- 通常,大多數(shù)羅技網(wǎng)絡(luò)攝像頭都應(yīng)該開箱即用。其他帶有 Linux 驅(qū)動程序的品牌也應(yīng)該可以使用。
2. 有源 Mini-DisplayPort 適配器
- 我使用了 PowerColor Active Mini Displayport 到單鏈路 DVI 適配器
- Ultra96-V2 僅輸出純 DisplayPort 信號,因此需要有源適配器。
- 為了獲得更好的搜索結(jié)果,您可以嘗試搜索“兼容 ATI Eyefinity”的適配器。眾所周知,Eyefinity 適配器處于活動狀態(tài)。
注意:如果您的預(yù)算有限,則可以不使用這些。例如,可以改用 IP 攝像機。有一些應(yīng)用程序可以將您的智能手機用作 IP 攝像機。如果您使用 USB 或遠程 SSH 進行連接,則可能不需要 mini-DP 適配器。
準備 PYNQ 映像
我們將首先將 PYNQ 加載到板上并進行一些測試。從官網(wǎng)下載Avnet Ultra96-V2 v2.5 PYNQ鏡像。
您可以在社區(qū)板下找到它。
根據(jù)這些說明將圖像寫入 SD 卡。
插入你的 SD 卡。在 Ubuntu 上,您將能夠在Disks應(yīng)用程序中看到您的開發(fā)板。在這種情況下,設(shè)備名稱是/dev/sdb。
卸載分區(qū)
$ umount /dev/sdb
下一個命令的設(shè)備名稱要非常小心,我們將用 PYNQ 映像覆蓋 SD 卡的內(nèi)容。
您可以使用dd命令將 PYNQ 映像寫入 SD 卡。我決定使用顯示進度的dcfldd
$ sudo dcfldd bs=4M if=ultra96v2_v2.5.img of=/dev/sdb
1536 blocks (6144Mb) written.
1574+1 records in
1574+1 records out
啟動 PYNQ
插入 SD 卡并按下電源按鈕啟動板。
將 Micro USB 電纜從您的 PC 連接到 Ultra96-V2。您將在 PC 上看到一個新的以太網(wǎng)接口。
您現(xiàn)在可以通過此鏈接在瀏覽器中訪問 Jupyter Notebook http://192.168.2.1:9090
如果升級為密碼,則為“xilinx”。
連接到 WiFi
我們需要將開發(fā)板連接到 Wifi,因為我們將下載一些東西。如果您有 USB 轉(zhuǎn)以太網(wǎng)適配器,您也可以使用它并跳過本節(jié)。
有一個帶有腳本的 Jupyter Notebook 可以幫助您連接到 Wifi。導航到notebooks/common/wifi.ipynb,您可以從這里將腳本修改為您自己的 Wifi 憑據(jù)。
或者,如果您熟悉 Linux 系統(tǒng),也可以發(fā)出以下命令。
# Scan Wifi
$ ifconfig wlan0 up
$ iwlist wlan0 scan
# Connect to WEP access point
$ iwconfig wlan0 essid "YOUR_SSID_NAME" key s:YOUR_PASSWORD
# Connect to WPA access point
$ wpa_passphrase YOUR_SSID_NAME YOUR_PASSWORD > /etc/wpa_supplicant.conf
$ sudo wpa_supplicant -c /etc/wpa_supplicant.conf -i wlan0 -B
從這里我們可以從 Web 界面打開一個新終端。
使用 Vitis AI 升級到最新的 PYNQ
在接下來的步驟中,我們將在終端中發(fā)出一些命令來下載和安裝大量的包。估計需要1小時。
我建議安裝 USB 風扇或任何冷卻裝置,因為 Ultra96-V2 會變得非常燙手。當它變熱時,處理器將開始熱調(diào)節(jié)并減慢進程。
從 Jupyter Notebooks 打開終端。
從 Github 存儲庫下載并編譯 Vitis AI PYNQ DPU。這是使用 Vitis-AI 升級 PYNQ 的步驟(可能需要大約一個小時才能完成):
$ git clone --recursive --shallow-submodules https://github.com/Xilinx/DPU-PYNQ.git
$ cd DPU-PYNQ/upgrade
$ make
安裝pynq-dpu python包
pip3 install pynq-dpu
將 pynq-dpu 筆記本下載到您的主文件夾中
cd $PYNQ_JUPYTER_NOTEBOOKS
pynq get-notebooks pynq-dpu -p .
測試 USB 網(wǎng)絡(luò)攝像頭功能
連接您的 USB 網(wǎng)絡(luò)攝像頭并測試功能。
這里我使用的是 Logitech C170,它是由 PYNQ 自動檢測到的。您可以使用此命令確認這一點。
$ lsusb
Bus 001 Device 004: ID 046d:082b Logitech, Inc. Webcam C170
在 Jupyter 中,打開位于./notebooks/common/usb_webcam.ipynb 的筆記本,您可以運行它來查看您的網(wǎng)絡(luò)攝像頭是否正常工作。
現(xiàn)在我們已經(jīng)驗證了該板功能齊全。現(xiàn)在我們可以編譯來自 Vitis AI Zoo 的 PYNQ DPU 圖像和模型。
準備編譯環(huán)境
我們需要安裝 Xilinx Vitis 和 Xilinx Runtime (XRT) 版本 2020.1。對于 Vitis 和 XRT 2020.1,支持的最新操作系統(tǒng)是 Ubuntu 18.04.2 LTS。
不支持 Ubuntu 20.04,我無法成功安裝。因此,我在虛擬機中安裝了所有東西。
在此鏈接下載 Xilinx 運行時 (XRT) 的 .deb 文件
使用此命令安裝它。
sudo apt install ./xrt_202010.2.6.655_18.04-amd64-xrt.deb
接下來,下載將安裝 Vitis 2020.1 的 Xilinx Unified Web 安裝程序。您需要注冊一個 Xilinx 帳戶。按照本網(wǎng)站上的說明進行操作
https://www.xilinx.com/html_docs/xilinx2020_1/vitis_??doc/juk1557377661419.html
將您的 swappiness 設(shè)置為較低的值也很有用,因為構(gòu)建過程使用大量 RAM。它告訴操作系統(tǒng)在換出到硬盤之前使用更多的 RAM。
要更改系統(tǒng) swappiness 值,請以 root 身份打開 /etc/sysctl.conf
sudo gedit /etc/sysctl.con
然后,通過添加此行來更改 swappiness。我選擇使用值 1。這意味著系統(tǒng)將使用多達 99% 的 RAM(剩余 1%),然后再將其交換到硬盤。
應(yīng)用更改。
sudo sysctl -p
現(xiàn)在我們準備編譯...
為 Ultra96-V2 編譯 DPU-PYNQ
我們將密切參考本指南:
首先,從 Xilinx DPU-PYNQ 存儲庫中克隆構(gòu)建文件
git clone --recursive --shallow-submodules https://github.com/Xilinx/DPU-PYNQ.git
cd DPU-PYNQ/boards
我們必須對構(gòu)建文件進行一些更改,因為最初是在 Vitis 2019.2 中設(shè)計的,但現(xiàn)在我們正在使用更新的版本進行編譯。
在boards
文件夾中,編輯check_env.sh
搜索2019.2,改成2020.1
也去/vitis-ai-git/DPU-TRD/dpu_ip/dpu_eu_v3_2_0
編輯component.xml
搜索2019.2,改成2020.1
最后,如果您想對 DPU IP 配置進行任何更改,請轉(zhuǎn)到boards/Ultra96/dpu_conf.vh
。就我而言,我將內(nèi)存更改為 RAM_USAGE_HIGH。
我們準備開始編譯!
打開終端并獲取 Xilinx 工具
source /opt/Xilinx/Vitis/2020.1/settings64.sh
source /opt/xilinx/xrt/setup.sh
開始編譯(注:Ultra96和Ultra96-V2使用相同)
$ make BOARD=Ultra96
一段時間后,構(gòu)建將再次失敗,因為它檢查的是版本2019.2
而不是2020.1
.
在DPU-PYNQ/boards
目錄中查找。這是因為有一個名為 的新文件夾PYNQ-derivative-overlays
。構(gòu)建腳本克隆了另一個名為PYNQ-derivative-overlays
. 它負責將 DPU IP 置于 PYNQ 基礎(chǔ)覆蓋之上。
轉(zhuǎn)到PYNQ-derivative-overlays/dpu/
并編輯dpu.tcl
再次從 2019.2 更改為 2020.1
然后繼續(xù)制作過程。
$ make BOARD=Ultra96
完成后,您將看到以下文件。這些文件是 PYNQ 的比特流覆蓋。
我會將這些文件上傳到 Juypyter 實例中的一個名為 mymodel 的文件夾中。
在右上角,單擊新建 > 文件夾
然后在文件夾中,單擊上傳并選擇 3 個文件。
從 Vitis Model Zoo 編譯 YoloV3
請注意:模型特定于您編譯的 DPU(即,一種 DPU 配置的模型與另一種不兼容)。例如,這意味著如果您更改編譯時使用的內(nèi)核數(shù)量,您還必須重新編譯模型。
準備 docker 文件
cd DPU-PYNQ/host
mkdir -p docker
cp -rf ../vitis-ai-git/docker_run.sh .
cp -rf ../vitis-ai-git/docker/PROMPT.txt docker
chmod u+x docker_run.sh
安裝泊塢窗
sudo apt install docker -y
sudo groupadd docker
newgrp docker
運行 docker 實例
./docker_run.sh xilinx/vitis-ai-cpu:latest
進入實例后,您可以編譯模型
cp ../boards/Ultra96/dpu.hwh ./
./compile.sh Ultra96 tf_yolov3_voc_416_416_65.63G_1.1
完成后,您將在目錄中看到模型,dpu_tf_yolov3.elf
.
也將其上傳到您的 Jupyter 實例。
示例筆記本
在pynq_dpu/dpu_yolo_v3.ipynb有一個示例,它將測試 YoloV3 模型
現(xiàn)在制作一個副本(File > Make a Copy)并修改代碼以指向包含我們自己編譯的比特流和模型的mymodel文件夾
運行所有單元格(單元格 > 運行全部)
驗證圖像分類成功
哇,我們終于準備好申請了!
申請代碼
最后,在所有硬件設(shè)置和測試后,我編寫了軟件來創(chuàng)建我自己的Smart Office Hot Desking 應(yīng)用程序。第二個將利用數(shù)據(jù)顯示基于座位可用性的儀表板。這是我第一次使用 Xilinx 硬件了解邊緣上的 FPGA 和 AI。因此,剛開始時,我在開發(fā)工具和習慣環(huán)境方面遇到了最大的困難,因此,我盡我所能詳細展示了設(shè)置過程。感謝您一直閱讀到最后!
- 基于M5Stick-V和M5Stack的辦公桌機器人助手
- 智能辦公桌開源分享
- 帶有PYNQ和Vitis HLS的SHA256加密加速器
- 自動家庭辦公室
- 物聯(lián)網(wǎng)辦公室清潔跟蹤系統(tǒng)
- 控制家庭或辦公室照明的創(chuàng)新系統(tǒng)開源分享
- Arduino在辦公室地圖上繪制汽車路線
- 適用于智能辦公室和建筑的終極物聯(lián)網(wǎng)傳感器盒
- 辦公室數(shù)字化的實現(xiàn) 0次下載
- 線性技術(shù)公司收到美國檢察官辦公室的傳票,要求提供有關(guān)公司股票期權(quán)做法的文件
- 家庭/辦公室音頻及視頻監(jiān)控
- 辦公室綜合布線系統(tǒng)解決方案
- 門禁系統(tǒng)在辦公大樓的應(yīng)用及案例分析
- 辦公業(yè)務(wù)網(wǎng)信息監(jiān)控系統(tǒng)設(shè)計
- Lirong 網(wǎng)絡(luò)辦公系統(tǒng) 企業(yè)版 0次下載
- 使用PYNQ訓練和實現(xiàn)BNN 223次閱讀
- 請問多個路由器如何組網(wǎng)呢? 1731次閱讀
- 如何使用Vitis-AI加速YOLOX模型實現(xiàn)視頻中的目標檢測 847次閱讀
- 分享一個觸摸激活辦公室呼叫鈴電路 655次閱讀
- 芝芯多功能打印機方案,完美解決現(xiàn)代辦公難題 1145次閱讀
- 如何使用Vitis AI Library來安裝、使用和開發(fā)應(yīng)用 1824次閱讀
- Vitis HLS知識庫總結(jié) 3242次閱讀
- 如何更改VCK190單板啟動模式 1108次閱讀
- 遠程辦公遠程辦公場景下,IT運維如何做好網(wǎng)絡(luò)監(jiān)測工作 1653次閱讀
- 同創(chuàng)新佳科技LS-8018H滑蓋指紋鎖介紹 1587次閱讀
- 同欣智能科技感應(yīng)卡+密碼門鎖電路板簡介 3424次閱讀
- Office的3個辦公小技巧你知道嗎 3902次閱讀
- WiFi逐漸成為主要關(guān)鍵任務(wù)網(wǎng)絡(luò),并成為推動創(chuàng)新和顛覆性商業(yè)模式的平臺 947次閱讀
- 細菌供電的紙電池如何驅(qū)動物聯(lián)網(wǎng)? 2706次閱讀
- DJI M200系列無人機輕松捕捉并結(jié)合熱圖像和RGB圖像 4887次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 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開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 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次下載 | 免費
評論
查看更多