資料介紹
描述
介紹
在這個(gè)項(xiàng)目中,我將為 Smart Office Hot Desking 安排創(chuàng)建一個(gè)應(yīng)用程序。
- 現(xiàn)代辦公室正在采用“Hot Desking”的概念。以“先到先得”的方式更有效地利用共享空間和辦公桌。然而,面臨的問(wèn)題是工人可能會(huì)浪費(fèi)更多時(shí)間來(lái)尋找空置的辦公桌。跟蹤入住率并在預(yù)訂系統(tǒng)中更新也很乏味。借助基于邊緣的圖像處理能力,我們可以檢測(cè)區(qū)域內(nèi)的人員并確定辦公桌是否被占用。
在技??術(shù)方面,我將使用 Ultra96-V2 演示 Vitis AI Model Zoo 和 PYNQ 的 DPU IP 內(nèi)核的編譯流程。
我將從頭開(kāi)始編譯。從頭開(kāi)始編譯將使以后修改硬件設(shè)計(jì)更容易。我覺(jué)得獲取環(huán)境設(shè)置的過(guò)程令人困惑,因此我將幫助您逐步記錄它。
PYNQ & Vitis AI 工作流程說(shuō)明
在我們開(kāi)始之前,重要的是要知道 Ultra96-V2 使用 Xilinx Zynq UltraScale+? MPSoC。我們可以稱(chēng)它為基于 ARM 的 FPGA,這意味著既有處理系統(tǒng)(PS)又有可編程邏輯(PL)。
我將使用 PYNQ,我們?cè)谄渲兄谱髟?PS 上運(yùn)行的 Python 腳本。使用預(yù)編譯的 PYNQ 覆蓋(或比特流),在 PL 中配置深度學(xué)習(xí)處理器單元 (DPU)。在 PS 上運(yùn)行的軟件可以使用 DPU 來(lái)加速圖像識(shí)別任務(wù)。
使用的額外硬件
除了 Ultra96-V2 捆綁包之外,您可能還需要這些附加硬件。
1. USB 攝像頭
- 我使用了羅技 C170 USB 相機(jī)。
- 通常,大多數(shù)羅技網(wǎng)絡(luò)攝像頭都應(yīng)該開(kāi)箱即用。其他帶有 Linux 驅(qū)動(dòng)程序的品牌也應(yīng)該可以使用。
2. 有源 Mini-DisplayPort 適配器
- 我使用了 PowerColor Active Mini Displayport 到單鏈路 DVI 適配器
- Ultra96-V2 僅輸出純 DisplayPort 信號(hào),因此需要有源適配器。
- 為了獲得更好的搜索結(jié)果,您可以嘗試搜索“兼容 ATI Eyefinity”的適配器。眾所周知,Eyefinity 適配器處于活動(dòng)狀態(tài)。
注意:如果您的預(yù)算有限,則可以不使用這些。例如,可以改用 IP 攝像機(jī)。有一些應(yīng)用程序可以將您的智能手機(jī)用作 IP 攝像機(jī)。如果您使用 USB 或遠(yuǎn)程 SSH 進(jìn)行連接,則可能不需要 mini-DP 適配器。

準(zhǔn)備 PYNQ 映像
我們將首先將 PYNQ 加載到板上并進(jìn)行一些測(cè)試。從官網(wǎng)下載Avnet Ultra96-V2 v2.5 PYNQ鏡像。
您可以在社區(qū)板下找到它。

根據(jù)這些說(shuō)明將圖像寫(xiě)入 SD 卡。
插入你的 SD 卡。在 Ubuntu 上,您將能夠在Disks應(yīng)用程序中看到您的開(kāi)發(fā)板。在這種情況下,設(shè)備名稱(chēng)是/dev/sdb。

卸載分區(qū)
$ umount /dev/sdb
下一個(gè)命令的設(shè)備名稱(chēng)要非常小心,我們將用 PYNQ 映像覆蓋 SD 卡的內(nèi)容。
您可以使用dd命令將 PYNQ 映像寫(xiě)入 SD 卡。我決定使用顯示進(jìn)度的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
啟動(dòng) PYNQ
插入 SD 卡并按下電源按鈕啟動(dòng)板。

將 Micro USB 電纜從您的 PC 連接到 Ultra96-V2。您將在 PC 上看到一個(gè)新的以太網(wǎng)接口。
您現(xiàn)在可以通過(guò)此鏈接在瀏覽器中訪(fǎng)問(wèn) Jupyter Notebook http://192.168.2.1:9090
如果升級(jí)為密碼,則為“xilinx”。

連接到 WiFi
我們需要將開(kāi)發(fā)板連接到 Wifi,因?yàn)槲覀儗⑾螺d一些東西。如果您有 USB 轉(zhuǎn)以太網(wǎng)適配器,您也可以使用它并跳過(guò)本節(jié)。
有一個(gè)帶有腳本的 Jupyter Notebook 可以幫助您連接到 Wifi。導(dǎo)航到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 界面打開(kāi)一個(gè)新終端。

使用 Vitis AI 升級(jí)到最新的 PYNQ
在接下來(lái)的步驟中,我們將在終端中發(fā)出一些命令來(lái)下載和安裝大量的包。估計(jì)需要1小時(shí)。
我建議安裝 USB 風(fēng)扇或任何冷卻裝置,因?yàn)?Ultra96-V2 會(huì)變得非常燙手。當(dāng)它變熱時(shí),處理器將開(kāi)始熱調(diào)節(jié)并減慢進(jìn)程。

從 Jupyter Notebooks 打開(kāi)終端。
從 Github 存儲(chǔ)庫(kù)下載并編譯 Vitis AI PYNQ DPU。這是使用 Vitis-AI 升級(jí) PYNQ 的步驟(可能需要大約一個(gè)小時(shí)才能完成):
$ 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 .
測(cè)試 USB 網(wǎng)絡(luò)攝像頭功能
連接您的 USB 網(wǎng)絡(luò)攝像頭并測(cè)試功能。

這里我使用的是 Logitech C170,它是由 PYNQ 自動(dòng)檢測(cè)到的。您可以使用此命令確認(rèn)這一點(diǎn)。
$ lsusb
Bus 001 Device 004: ID 046d:082b Logitech, Inc. Webcam C170
在 Jupyter 中,打開(kāi)位于./notebooks/common/usb_webcam.ipynb 的筆記本,您可以運(yùn)行它來(lái)查看您的網(wǎng)絡(luò)攝像頭是否正常工作。

現(xiàn)在我們已經(jīng)驗(yàn)證了該板功能齊全。現(xiàn)在我們可以編譯來(lái)自 Vitis AI Zoo 的 PYNQ DPU 圖像和模型。
準(zhǔn)備編譯環(huán)境
我們需要安裝 Xilinx Vitis 和 Xilinx Runtime (XRT) 版本 2020.1。對(duì)于 Vitis 和 XRT 2020.1,支持的最新操作系統(tǒng)是 Ubuntu 18.04.2 LTS。
不支持 Ubuntu 20.04,我無(wú)法成功安裝。因此,我在虛擬機(jī)中安裝了所有東西。

在此鏈接下載 Xilinx 運(yùn)行時(shí) (XRT) 的 .deb 文件

使用此命令安裝它。
sudo apt install ./xrt_202010.2.6.655_18.04-amd64-xrt.deb
接下來(lái),下載將安裝 Vitis 2020.1 的 Xilinx Unified Web 安裝程序。您需要注冊(cè)一個(gè) Xilinx 帳戶(hù)。按照本網(wǎng)站上的說(shuō)明進(jìn)行操作
https://www.xilinx.com/html_docs/xilinx2020_1/vitis_??doc/juk1557377661419.html
將您的 swappiness 設(shè)置為較低的值也很有用,因?yàn)闃?gòu)建過(guò)程使用大量 RAM。它告訴操作系統(tǒng)在換出到硬盤(pán)之前使用更多的 RAM。
要更改系統(tǒng) swappiness 值,請(qǐng)以 root 身份打開(kāi) /etc/sysctl.conf
sudo gedit /etc/sysctl.con
然后,通過(guò)添加此行來(lái)更改 swappiness。我選擇使用值 1。這意味著系統(tǒng)將使用多達(dá) 99% 的 RAM(剩余 1%),然后再將其交換到硬盤(pán)。

應(yīng)用更改。
sudo sysctl -p

現(xiàn)在我們準(zhǔn)備編譯...
為 Ultra96-V2 編譯 DPU-PYNQ
我們將密切參考本指南:
首先,從 Xilinx DPU-PYNQ 存儲(chǔ)庫(kù)中克隆構(gòu)建文件
git clone --recursive --shallow-submodules https://github.com/Xilinx/DPU-PYNQ.git
cd DPU-PYNQ/boards
我們必須對(duì)構(gòu)建文件進(jìn)行一些更改,因?yàn)樽畛跏窃?Vitis 2019.2 中設(shè)計(jì)的,但現(xiàn)在我們正在使用更新的版本進(jì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

最后,如果您想對(duì) DPU IP 配置進(jìn)行任何更改,請(qǐng)轉(zhuǎn)到boards/Ultra96/dpu_conf.vh
。就我而言,我將內(nèi)存更改為 RAM_USAGE_HIGH。

我們準(zhǔn)備開(kāi)始編譯!
打開(kāi)終端并獲取 Xilinx 工具
source /opt/Xilinx/Vitis/2020.1/settings64.sh
source /opt/xilinx/xrt/setup.sh
開(kāi)始編譯(注:Ultra96和Ultra96-V2使用相同)
$ make BOARD=Ultra96
一段時(shí)間后,構(gòu)建將再次失敗,因?yàn)樗鼨z查的是版本2019.2
而不是2020.1
.
在DPU-PYNQ/boards
目錄中查找。這是因?yàn)橛幸粋€(gè)名為 的新文件夾PYNQ-derivative-overlays
。構(gòu)建腳本克隆了另一個(gè)名為PYNQ-derivative-overlays
. 它負(fù)責(zé)將 DPU IP 置于 PYNQ 基礎(chǔ)覆蓋之上。
轉(zhuǎn)到PYNQ-derivative-overlays/dpu/
并編輯dpu.tcl

再次從 2019.2 更改為 2020.1

然后繼續(xù)制作過(guò)程。
$ make BOARD=Ultra96

完成后,您將看到以下文件。這些文件是 PYNQ 的比特流覆蓋。

我會(huì)將這些文件上傳到 Juypyter 實(shí)例中的一個(gè)名為 mymodel 的文件夾中。
在右上角,單擊新建 > 文件夾

然后在文件夾中,單擊上傳并選擇 3 個(gè)文件。

從 Vitis Model Zoo 編譯 YoloV3
請(qǐng)注意:模型特定于您編譯的 DPU(即,一種 DPU 配置的模型與另一種不兼容)。例如,這意味著如果您更改編譯時(shí)使用的內(nèi)核數(shù)量,您還必須重新編譯模型。
準(zhǔn)備 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
運(yùn)行 docker 實(shí)例
./docker_run.sh xilinx/vitis-ai-cpu:latest

進(jìn)入實(shí)例后,您可以編譯模型
cp ../boards/Ultra96/dpu.hwh ./
./compile.sh Ultra96 tf_yolov3_voc_416_416_65.63G_1.1

完成后,您將在目錄中看到模型,dpu_tf_yolov3.elf
.

也將其上傳到您的 Jupyter 實(shí)例。

示例筆記本
在pynq_dpu/dpu_yolo_v3.ipynb有一個(gè)示例,它將測(cè)試 YoloV3 模型
現(xiàn)在制作一個(gè)副本(File > Make a Copy)并修改代碼以指向包含我們自己編譯的比特流和模型的mymodel文件夾

運(yùn)行所有單元格(單元格 > 運(yùn)行全部)

驗(yàn)證圖像分類(lèi)成功

哇,我們終于準(zhǔn)備好申請(qǐng)了!
申請(qǐng)代碼
最后,在所有硬件設(shè)置和測(cè)試后,我編寫(xiě)了軟件來(lái)創(chuàng)建我自己的Smart Office Hot Desking 應(yīng)用程序。第二個(gè)將利用數(shù)據(jù)顯示基于座位可用性的儀表板。這是我第一次使用 Xilinx 硬件了解邊緣上的 FPGA 和 AI。因此,剛開(kāi)始時(shí),我在開(kāi)發(fā)工具和習(xí)慣環(huán)境方面遇到了最大的困難,因此,我盡我所能詳細(xì)展示了設(shè)置過(guò)程。感謝您一直閱讀到最后!
- 基于M5Stick-V和M5Stack的辦公桌機(jī)器人助手
- 智能辦公桌開(kāi)源分享
- 帶有PYNQ和Vitis HLS的SHA256加密加速器
- 自動(dòng)家庭辦公室
- 物聯(lián)網(wǎng)辦公室清潔跟蹤系統(tǒng)
- 控制家庭或辦公室照明的創(chuàng)新系統(tǒng)開(kāi)源分享
- Arduino在辦公室地圖上繪制汽車(chē)路線(xiàn)
- 適用于智能辦公室和建筑的終極物聯(lián)網(wǎng)傳感器盒
- 辦公室數(shù)字化的實(shí)現(xiàn) 0次下載
- 線(xiàn)性技術(shù)公司收到美國(guó)檢察官辦公室的傳票,要求提供有關(guān)公司股票期權(quán)做法的文件
- 家庭/辦公室音頻及視頻監(jiān)控
- 辦公室綜合布線(xiàn)系統(tǒng)解決方案
- 門(mén)禁系統(tǒng)在辦公大樓的應(yīng)用及案例分析
- 辦公業(yè)務(wù)網(wǎng)信息監(jiān)控系統(tǒng)設(shè)計(jì)
- Lirong 網(wǎng)絡(luò)辦公系統(tǒng) 企業(yè)版 0次下載
- 使用PYNQ訓(xùn)練和實(shí)現(xiàn)BNN 593次閱讀
- 請(qǐng)問(wèn)多個(gè)路由器如何組網(wǎng)呢? 3318次閱讀
- 如何使用Vitis-AI加速YOLOX模型實(shí)現(xiàn)視頻中的目標(biāo)檢測(cè) 1221次閱讀
- 分享一個(gè)觸摸激活辦公室呼叫鈴電路 867次閱讀
- 芝芯多功能打印機(jī)方案,完美解決現(xiàn)代辦公難題 1328次閱讀
- 如何使用Vitis AI Library來(lái)安裝、使用和開(kāi)發(fā)應(yīng)用 2117次閱讀
- Vitis HLS知識(shí)庫(kù)總結(jié) 3546次閱讀
- 如何更改VCK190單板啟動(dòng)模式 1279次閱讀
- 遠(yuǎn)程辦公遠(yuǎn)程辦公場(chǎng)景下,IT運(yùn)維如何做好網(wǎng)絡(luò)監(jiān)測(cè)工作 1703次閱讀
- 同創(chuàng)新佳科技LS-8018H滑蓋指紋鎖介紹 1766次閱讀
- 同欣智能科技感應(yīng)卡+密碼門(mén)鎖電路板簡(jiǎn)介 3647次閱讀
- Office的3個(gè)辦公小技巧你知道嗎 4047次閱讀
- WiFi逐漸成為主要關(guān)鍵任務(wù)網(wǎng)絡(luò),并成為推動(dòng)創(chuàng)新和顛覆性商業(yè)模式的平臺(tái) 1007次閱讀
- 細(xì)菌供電的紙電池如何驅(qū)動(dòng)物聯(lián)網(wǎng)? 2781次閱讀
- DJI M200系列無(wú)人機(jī)輕松捕捉并結(jié)合熱圖像和RGB圖像 4998次閱讀
下載排行
本周
- 1DD3118電路圖紙資料
- 0.08 MB | 1次下載 | 免費(fèi)
- 2AD庫(kù)封裝庫(kù)安裝教程
- 0.49 MB | 1次下載 | 免費(fèi)
- 3PC6206 300mA低功耗低壓差線(xiàn)性穩(wěn)壓器中文資料
- 1.12 MB | 1次下載 | 免費(fèi)
- 4網(wǎng)絡(luò)安全從業(yè)者入門(mén)指南
- 2.91 MB | 1次下載 | 免費(fèi)
- 5DS-CS3A P00-CN-V3
- 618.05 KB | 1次下載 | 免費(fèi)
- 6海川SM5701規(guī)格書(shū)
- 1.48 MB | 次下載 | 免費(fèi)
- 7H20PR5電磁爐IGBT功率管規(guī)格書(shū)
- 1.68 MB | 次下載 | 1 積分
- 8IP防護(hù)等級(jí)說(shuō)明
- 0.08 MB | 次下載 | 免費(fèi)
本月
- 1貼片三極管上的印字與真實(shí)名稱(chēng)的對(duì)照表詳細(xì)說(shuō)明
- 0.50 MB | 103次下載 | 1 積分
- 2涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 89次下載 | 1 積分
- 3錦銳科技CA51F2 SDK開(kāi)發(fā)包
- 24.06 MB | 43次下載 | 1 積分
- 4錦銳CA51F005 SDK開(kāi)發(fā)包
- 19.47 MB | 19次下載 | 1 積分
- 5PCB的EMC設(shè)計(jì)指南
- 2.47 MB | 16次下載 | 1 積分
- 6HC05藍(lán)牙原理圖加PCB
- 15.76 MB | 13次下載 | 1 積分
- 7802.11_Wireless_Networks
- 4.17 MB | 12次下載 | 免費(fèi)
- 8蘋(píng)果iphone 11電路原理圖
- 4.98 MB | 6次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191390次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評(píng)論