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

準備 PYNQ 映像
我們將首先將 PYNQ 加載到板上并進行一些測試。從官網下載Avnet Ultra96-V2 v2.5 PYNQ鏡像。
您可以在社區板下找到它。

根據這些說明將圖像寫入 SD 卡。
插入你的 SD 卡。在 Ubuntu 上,您將能夠在Disks應用程序中看到您的開發板。在這種情況下,設備名稱是/dev/sdb。

卸載分區
$ umount /dev/sdb
下一個命令的設備名稱要非常小心,我們將用 PYNQ 映像覆蓋 SD 卡的內容。
您可以使用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 上看到一個新的以太網接口。
您現在可以通過此鏈接在瀏覽器中訪問 Jupyter Notebook http://192.168.2.1:9090
如果升級為密碼,則為“xilinx”。

連接到 WiFi
我們需要將開發板連接到 Wifi,因為我們將下載一些東西。如果您有 USB 轉以太網適配器,您也可以使用它并跳過本節。
有一個帶有腳本的 Jupyter Notebook 可以幫助您連接到 Wifi。導航到notebooks/common/wifi.ipynb,您可以從這里將腳本修改為您自己的 Wifi 憑據。

或者,如果您熟悉 Linux 系統,也可以發出以下命令。
# 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
在接下來的步驟中,我們將在終端中發出一些命令來下載和安裝大量的包。估計需要1小時。
我建議安裝 USB 風扇或任何冷卻裝置,因為 Ultra96-V2 會變得非常燙手。當它變熱時,處理器將開始熱調節并減慢進程。

從 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 網絡攝像頭功能
連接您的 USB 網絡攝像頭并測試功能。

這里我使用的是 Logitech C170,它是由 PYNQ 自動檢測到的。您可以使用此命令確認這一點。
$ lsusb
Bus 001 Device 004: ID 046d:082b Logitech, Inc. Webcam C170
在 Jupyter 中,打開位于./notebooks/common/usb_webcam.ipynb 的筆記本,您可以運行它來查看您的網絡攝像頭是否正常工作。

現在我們已經驗證了該板功能齊全。現在我們可以編譯來自 Vitis AI Zoo 的 PYNQ DPU 圖像和模型。
準備編譯環境
我們需要安裝 Xilinx Vitis 和 Xilinx Runtime (XRT) 版本 2020.1。對于 Vitis 和 XRT 2020.1,支持的最新操作系統是 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 帳戶。按照本網站上的說明進行操作
https://www.xilinx.com/html_docs/xilinx2020_1/vitis_??doc/juk1557377661419.html
將您的 swappiness 設置為較低的值也很有用,因為構建過程使用大量 RAM。它告訴操作系統在換出到硬盤之前使用更多的 RAM。
要更改系統 swappiness 值,請以 root 身份打開 /etc/sysctl.conf
sudo gedit /etc/sysctl.con
然后,通過添加此行來更改 swappiness。我選擇使用值 1。這意味著系統將使用多達 99% 的 RAM(剩余 1%),然后再將其交換到硬盤。

應用更改。
sudo sysctl -p

現在我們準備編譯...
為 Ultra96-V2 編譯 DPU-PYNQ
我們將密切參考本指南:
首先,從 Xilinx DPU-PYNQ 存儲庫中克隆構建文件
git clone --recursive --shallow-submodules https://github.com/Xilinx/DPU-PYNQ.git
cd DPU-PYNQ/boards
我們必須對構建文件進行一些更改,因為最初是在 Vitis 2019.2 中設計的,但現在我們正在使用更新的版本進行編譯。
在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 配置進行任何更改,請轉到boards/Ultra96/dpu_conf.vh。就我而言,我將內存更改為 RAM_USAGE_HIGH。

我們準備開始編譯!
打開終端并獲取 Xilinx 工具
source /opt/Xilinx/Vitis/2020.1/settings64.sh
source /opt/xilinx/xrt/setup.sh
開始編譯(注:Ultra96和Ultra96-V2使用相同)
$ make BOARD=Ultra96
一段時間后,構建將再次失敗,因為它檢查的是版本2019.2而不是2020.1.
在DPU-PYNQ/boards目錄中查找。這是因為有一個名為 的新文件夾PYNQ-derivative-overlays。構建腳本克隆了另一個名為PYNQ-derivative-overlays. 它負責將 DPU IP 置于 PYNQ 基礎覆蓋之上。
轉到PYNQ-derivative-overlays/dpu/并編輯dpu.tcl

再次從 2019.2 更改為 2020.1

然后繼續制作過程。
$ make BOARD=Ultra96

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

我會將這些文件上傳到 Juypyter 實例中的一個名為 mymodel 的文件夾中。
在右上角,單擊新建 > 文件夾

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

從 Vitis Model Zoo 編譯 YoloV3
請注意:模型特定于您編譯的 DPU(即,一種 DPU 配置的模型與另一種不兼容)。例如,這意味著如果您更改編譯時使用的內核數量,您還必須重新編譯模型。
準備 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 模型
現在制作一個副本(File > Make a Copy)并修改代碼以指向包含我們自己編譯的比特流和模型的mymodel文件夾

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

驗證圖像分類成功

哇,我們終于準備好申請了!
申請代碼
最后,在所有硬件設置和測試后,我編寫了軟件來創建我自己的Smart Office Hot Desking 應用程序。第二個將利用數據顯示基于座位可用性的儀表板。這是我第一次使用 Xilinx 硬件了解邊緣上的 FPGA 和 AI。因此,剛開始時,我在開發工具和習慣環境方面遇到了最大的困難,因此,我盡我所能詳細展示了設置過程。感謝您一直閱讀到最后!
- 基于M5Stick-V和M5Stack的辦公桌機器人助手
- 智能辦公桌開源分享
- 帶有PYNQ和Vitis HLS的SHA256加密加速器
- 自動家庭辦公室
- 物聯網辦公室清潔跟蹤系統
- 控制家庭或辦公室照明的創新系統開源分享
- Arduino在辦公室地圖上繪制汽車路線
- 適用于智能辦公室和建筑的終極物聯網傳感器盒
- 辦公室數字化的實現 0次下載
- 線性技術公司收到美國檢察官辦公室的傳票,要求提供有關公司股票期權做法的文件
- 家庭/辦公室音頻及視頻監控
- 辦公室綜合布線系統解決方案
- 門禁系統在辦公大樓的應用及案例分析
- 辦公業務網信息監控系統設計
- Lirong 網絡辦公系統 企業版 0次下載
- 基于Vitis Model Composer完成全流程AI Engine開發 5.1k次閱讀
- 重塑辦公新生態,瘦終端引領未來工作場景變革 467次閱讀
- 如何用樹莓派打造低成本無紙化辦公系統? 557次閱讀
- 使用PYNQ訓練和實現BNN 1.6k次閱讀
- 如何使用Vitis-AI加速YOLOX模型實現視頻中的目標檢測 2.6k次閱讀
- 分享一個觸摸激活辦公室呼叫鈴電路 1.7k次閱讀
- 芝芯多功能打印機方案,完美解決現代辦公難題 2.1k次閱讀
- 如何使用Vitis AI Library來安裝、使用和開發應用 3k次閱讀
- Vitis HLS知識庫總結 4.6k次閱讀
- 如何更改VCK190單板啟動模式 1.9k次閱讀
- 遠程辦公遠程辦公場景下,IT運維如何做好網絡監測工作 1.9k次閱讀
- 同創新佳科技LS-8018H滑蓋指紋鎖介紹 2.3k次閱讀
- Office的3個辦公小技巧你知道嗎 5k次閱讀
- WiFi逐漸成為主要關鍵任務網絡,并成為推動創新和顛覆性商業模式的平臺 1.2k次閱讀
- DJI M200系列無人機輕松捕捉并結合熱圖像和RGB圖像 5.5k次閱讀
下載排行
本周
- 1PD取電芯片 ECP5702規格書
- 0.88 MB | 3次下載 | 免費
- 2PC5200 700V_10A GaN HEMT驅動器數據手冊
- 1.63 MB | 1次下載 | 免費
- 31節電池用電池保護IC S-8261D系列數據手冊
- 3.07 MB | 1次下載 | 1 積分
- 4PD取電芯片,可取5/9/12/15/20V電壓ECP5702數據手冊
- 0.88 MB | 1次下載 | 免費
- 5飛騰FT2000-4 COM Express核心板技術手冊0603
- 1.22 MB | 1次下載 | 免費
- 6飛騰S5000C-64雙路服務器系列應用宣傳冊--一乘科技
- 945.81 KB | 1次下載 | 免費
- 7OPAx188-Q1 高精度、低噪聲、軌至軌輸出、36V、零漂移、汽車級運算放大器中文手冊
- 1.19 MB | 次下載 | 1 積分
- 8EMC PCB設計總結
- 0.33 MB | 次下載 | 免費
本月
- 1美的電磁爐電路原理圖資料
- 4.39 MB | 22次下載 | 10 積分
- 2反激式開關電源設計解析
- 0.89 MB | 16次下載 | 5 積分
- 3耗盡型MOS FET產品目錄選型表
- 0.14 MB | 3次下載 | 免費
- 4PD取電芯片 ECP5702規格書
- 0.88 MB | 3次下載 | 免費
- 5簡易光伏控制器原理圖資料
- 0.07 MB | 1次下載 | 5 積分
- 62EDL05x06xx系列 600V半橋門驅動器帶集成自舉二極管(BSD)手冊
- 0.69 MB | 1次下載 | 免費
- 7PC5200 700V_10A GaN HEMT驅動器數據手冊
- 1.63 MB | 1次下載 | 免費
- 81節電池用電池保護IC S-8261D系列數據手冊
- 3.07 MB | 1次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233095次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191457次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183360次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81605次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73831次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發燒友App





創作
發文章
發帖
提問
發資料
發視頻
上傳資料賺積分
評論