Excel2016打印預覽表格的教程是什么(excel2016怎么看打印預覽)">Excel2016打印預覽表格的教程是什么(excel2016怎么看打印預覽)
744
2022-05-29
2020/11/14更新
目前HiLens Studio(Beta)支持安裝第三方庫了(開發團隊真是給力,這么快就做好了),在HiLens Studio(Beta)新建Terminal,執行
pip?install?--user?scipy
即可完成scipy的安裝,注意安裝后會報一個錯誤,但實測發現不影響本次使用,大家可以放心使用。
之后,我們按照下面的教程直接在HiLens Studio(Beta)中就能看到最終效果了,太棒了。
目的
基于ModelArts與HiLens實現端云協同開發行人檢測與跟蹤方案:
在ModelArts上完成數據集的標注與發布,使用AI市場算法進行訓練,訓練資源可選Ascend 910或GPU;
在HiLens Studio (Beta)中轉換模型,調試代碼,實現行人檢測與跟蹤以及簡單人數統計;
整體開發在華為云上完成,從零開始,由ModelArts無縫集成到HiLens,最終可部署到HiLens上,獨立運行。考慮有些同學可能沒有HiLens,那么可以在HiLens studio里運行程序,但由于HiLens Studio中暫不支持安裝第三方庫,所以僅能支持實現檢測部分功能。
注意事項(必看):
1. 如果部署到自己的HiLens上運行,請先在自己的HiLens上安裝scipy。安裝可參考如下教程:
https://bbs.huaweicloud.com/forum/thread-62722-1-1.html
https://bbs.huaweicloud.com/forum/thread-61868-1-1.html
https://bbs.huaweicloud.com/forum/thread-81238-1-1.html
2. 整體開發過程基本免費,訓練使用的是Ascend 910,目前也是免費使用的。但涉及OBS和HiLens Stduio(Beta)的使用,會產生少量費用,請注意個人余額,避免欠費。
3. 請提前申請HiLens Studio公測(如未申請,可采用舊版本開發模式,但操作稍麻煩一些)
公測申請鏈接:https://www.huaweicloud.com/product/hilens/hilens-studio.html
ModelArts上的準備工作
1. 準備數據集
這里就要說一下ModelArts AI 市場的數據集功能了,可以很方便地實現數據集的共享,不需要開發者自行下載,再上傳到OBS桶等一系列復雜操作了,非常棒。
我已經將數據集發布到ModelArts的AI市場的數據集,大家訂閱下載使用即可。數據集名稱為person-4192,包括標注好了的4192張Person圖片。注意這里最好選擇保存數據集到OBS桶,之后的操作就和自己導入數據集到ModelArts一樣了,來,有圖有真相。
數據集備用鏈接為:https://marketplace.huaweicloud.com/markets/aihub/datasets/detail/?content_id=3d67fd03-2e16-4c70-908f-feb8f50334b9
已經啟動下載了,在“個人中心”的“數據集”下的“我的下載”中可以看到目前的下載進度。
我的下載備用鏈接:https://console.huaweicloud.com/modelarts/?region=cn-north-4#/aiMarket/deliverCenter/myDownload
當進度達到100%的時候,我們就可以導入數據集到ModelArts了。來ModelArt管理控制臺,來創建數據集吧。
ModelArts管理控制臺備用鏈接:https://console.huaweicloud.com/modelarts/?region=cn-north-4#/dataset
數據集導入需要一定時間,請耐心等待,導入完成后,顯示100%,點擊數據集進入,開始發布數據集,以便訓練使用。
發布數據集需要一點時間,稍等即可。
2. 訂閱算法,創建訓練
我們使用的是ModelArts AI市場的YOLOv3_Resnet18算法(Ascend 910訓練版本),點擊訂閱,即可免費訂閱使用。
算法備用鏈接:https://marketplace.huaweicloud.com/markets/aihub/modelhub/detail/?id=7087008a-7eec-4977-8b66-3a7703e9fd22
此外,還可以使用如下兩種算法:
按照指引逐步操作即可,直到如下圖界面,
之后會跳轉到算法界面,先同步算法,后創建訓練即可。
訓練作業參考配置如圖所示,其余訓練參數保持默認即可。
之后就是等待訓練完成了,預計耗時58分鐘,請耐心等待,趁著這個時間,咱們聊聊在HiLens Studio(Beta)調試部署吧。
HiLens與HiLens Studio(Beta)上的準備工作(HiLens 可選)
1.? 部署代碼
來,讓我們打開HiLens Studio(Beta)來一探究竟吧。注意:需要提前申請公測,才能使用哦。
初入伊始,我們看到的是亮白色的操作界面,點擊新建工程即可,也就是“New Project”
PS: 我個人更喜歡暗黑色,所以我打算調成暗黑色,類似于Visual Studio那樣,而HiLens Studio很貼心提供了界面格式的切換,來試試吧。
我選擇的是Dark(Visual Studio),還有很多其他選擇,大家可以試試,選擇一種自己喜歡的。
來看看我選的效果吧,如下圖所示,怎么樣?有沒有一種使用Visual Studio的感覺,很不錯吧,特別是晚上使用,很護眼。
來來來,言歸正傳,來開始吧。選擇如圖所示技能模板。
之后,點擊右側的“確定”,就能看到新工程了。
我們首先來完成模型轉換外的其他操作。
(1)上傳代碼
自下面的下載鏈接下載代碼,解壓,得到如圖所示的文件結構,上傳到新建工程的src/main/python目錄下。
代碼下載鏈接為:
鏈接:https://pan.baidu.com/s/1TfNHSlMySvv0iNrxF38eyw
提取碼:u6ji
在新建工程的右側目錄下,找到src/main/python,刪除該文件下main.py和utils.py,之后上傳我們剛才下載的代碼,如圖所示。
(2)上傳測試視頻
和上傳代碼類似,先在如下鏈接下載測試視頻,解壓縮,上傳到test目錄下。測試視頻較大,稍等一下即可。
測試視頻下載鏈接為:
鏈接:https://pan.baidu.com/s/1AgeMXXCEb30iBd2emNUcdg
提取碼:cksa
完成以上兩步,最終可得到右側目錄結構為:
2.? 調試部署
如果你做到這里了,恭喜你,你已經成功了一大半,就差模型轉換了。也許58分鐘已經過去了,咱們來看看模型轉換吧。
模型轉換的方式有多種多樣了,有3種吧,分別是:
(1)ModelArts上完成模型轉換,得到.om模型,導入到HiLens Studio;(在ModelArts模型轉換,可參考該算法介紹界面的說明)
(2)導入.pb模型,在HiLens云端控制臺完成模型轉換;
(3)導入.pb模型,在HiLens Studio中使用命令完成模型轉換。
大家可以選用自己喜歡的方式,這里選擇的是第3種方式,我覺得命令行簡單快捷,很舒服,一起來試試吧。
首先,要記得我們當時訓練作業設置的模型訓練輸出路徑哦,來看看吧:
找到訓練作業輸出路徑下的frozen_graph文件夾,導入insert_op_conf.cfg和yolo3_resnet18.pb,不過一次只能導入一個文件,分兩次導入即可。
導入成功后,如圖所示。
下面開始模型轉換吧。
在新建的Terminal輸入如下命令,完成模型轉換:
/opt/ddk/bin/aarch64-linux-gcc7.3.0/omg?--model=./yolo3_resnet18.pb?--input_shape='images:1,352,640,3'?--framework=3?--output=./yolo3_resnet18?--insert_op_conf=./insert_op_conf.cfg
最后的succes表示模型轉換成功了。
如果大家遇到什么問題的話,可以參考文檔或到論壇提問哦。
文檔鏈接:https://support.huaweicloud.com/usermanual-hilens/hilens_02_0098.html
論壇鏈接:https://bbs.huaweicloud.com/forum/forum-771-1.html
現在離成功就差一點點了,就是把模型放入我們代碼中指定的路徑,就是把剛才轉化得到的.om模型拷貝到model文件夾下,
很簡單的,趕快來吧。
對了,原來model文件夾下的driving_model.om模型可以刪除掉,先前導入的yolo3_resnet18.pb和insert_op_conf.cfg也可以刪除掉,這樣可以減少安裝到HiLens上的冗余,安裝也能快點。
好了,如果你已經做到這里了,恭喜你,你已經成功了,可以安裝到自己的HiLens上試試了。注意,一定要按照文中最前面注意中說的,在自己的HiLens上安裝scipy庫哦,否則會報錯的。
同時,需要注意的是,因為HiLens Studio暫不支持安裝第三方庫,所以無法安裝scipy庫,也就無法在HiLens? Studio中運行得到最終結果,但scipy庫主要涉及的是跟蹤部分,行人檢測部分還是可以實現的,稍微修改一下代碼就行了,我做了處理,大家只要用下面代碼取代src/main/python下的main.py就行了,簡單來說就是刪除原來main.py下所有代碼,復制下面全部代碼粘貼到main.py就行了。
#?-*-?coding:?utf-8?-*- #?!/usr/bin/python3 #?SkillFramework?for?YOLOv3_Resnet18?Person?Detection?and?Sort?Track #?導入相關庫,其中MySort庫用于跟蹤 import?os import?cv2 import?time import?utils #?用于跟蹤和計數(1) #?import?MySort import?hilens import?numpy?as?np def?run(work_path): ????#?特別注意:參數要與創建技能時填寫的檢驗值保持一致,這里使用的是hello,可自定義 ????hilens.init("hello") ????#?明確模型路徑,并創建模型,用于推理 ????model_path?=?os.path.join(work_path,?'model/yolo3_resnet18.om') ????model?=?hilens.Model(model_path) ????#?Hilens?Studio中VideoCapture如果不填寫參數,則默認讀取test/camera0.mp4文件,這里使用的是自行上傳的TownCentreXVID.mp4 ????#?在Hilens?Kit中不填寫參數則讀取本地攝像頭 ????camera?=?hilens.VideoCapture("./test/TownCentreXVID.mp4") ????#?圖像通過HDMI輸出到屏幕 ????display_hdmi?=?hilens.Display(hilens.HDMI) ????#?圖像通過RTSP實現無線連接輸出,其中的IP地址取決于具體網絡,請根據實際情況修改 ????#?display_rtsp?=?hilens.Display(hilens.RTMP,?"rtmp://192.168.43.40/live/stream") ????while?True: ????????try: ???????????? ????????????time_start?=?time.time() ????????????#?1.?讀取攝像頭輸入(yuv?nv21),在這里讀取的是test/camera0.mp4 ????????????input_nv21?=?camera.read() ????????????#?2.?轉為RGB格式,并縮放為模型輸入尺寸(DVPP?and?AIPP) ????????????input_rgb?=?cv2.cvtColor(input_nv21,?cv2.COLOR_YUV2RGB_NV21) ????????????img_preprocess,?img_w,?img_h?=?utils.preprocess(input_rgb)? ????????????#?3.?模型推理 ????????????output?=?model.infer([img_preprocess.flatten()]) ????????????#?4.?結果輸出 ????????????#?獲取檢測結果 ????????????bboxes?=?utils.get_result(output,?img_w,?img_h) ????????????#?在圖像上畫框 ????????????#?用于跟蹤和計數(2) ????????????input_rgb?=?cv2.resize(input_rgb,?(640,?352)) ????????????output_rgb?=?utils.draw_boxes(input_rgb,?bboxes) ????????????#?5.?目標跟蹤 ????????????#?frame?=?MySort.MySort(bboxes,?img_preprocess) ????????????#?frame?=?cv2.resize(frame,?(1920,?1080)) ????????????#?6.?輸出圖像,必須是yuv?nv21形式 ????????????#?output_nv21?=?hilens.cvt_color(frame,?hilens.RGB2YUV_NV21) ????????????#?用于跟蹤和計數(3) ????????????output_nv21?=?hilens.cvt_color(output_rgb,?hilens.RGB2YUV_NV21) ????????????display_hdmi.show(output_nv21) ????????????#?display_rtsp.show(output_nv21) ????????????time_frame?=?1000?*?(time.time()?-?time_start) ????????????hilens.info('-----?time_frame?=?%.2fms?-----'?%?time_frame) ????????except?Exception: ????????????break if?__name__?==?"__main__": ????run(os.getcwd())
其實就是改了幾行代碼,取代了跟蹤部分,感興趣的小伙伴可以對比一下代碼的差異,了解一下,友情提醒,我在修改的代碼部分做了注釋,注意看注釋哦,不得不說好的注釋和文檔還是很關鍵的,這也是我加注釋和寫這篇文檔的原因了。
好了,趕快試試吧。
最后按照慣例,就是效果展示環節了。
如果你沒有HiLens,那么在HiLens Studio中運行,看到的效果,會是這樣的:
備用視頻鏈接:https://v.qq.com/x/page/x3162dax8va.html
如果你有HiLens,那么部署到HiLens上運行,效果會是這樣的,注意,圖中左上角的字和畫面中的橫線顏色和具體內容可調整,你看到的不一定是畫面中的黃色字樣和橫線。
備用視頻鏈接:https://v.qq.com/x/page/m3116smfqhu.html
畫面中左上角從上到下,依次顯示為當前畫面行人數量、通過畫面中間黃線的行人數量以及總行人數量。怎么樣,是不是很有意思?趕快來運行試試吧。
好了,感謝大家花費時間讀到這里,謝謝大家的支持。同時,大家也可以將上面自己開發的技能,或者對上面的技能優化或做二次開發的話,可以完成后,發布到技能市場,方便更多開發者學習使用,這里我也將上面技能發布到技能市場了。鏈接為:https://console.huaweicloud.com/hilens/?region=cn-north-4#/skillMarket/skillMarketDetail/a5ff173df419448795f2b97283b1a362/Pedestrian_Track_Count-HDMI/purchase/1
PS:發布技能的話,一定要選擇個見圖知意的圖標,和盡量詳細的技能介紹說明,這一點可以參考官方發布的技能哦。
注意:
本項目僅供學習分享使用,不保證模型精度和人數統計準確性,所有代碼均可從開源渠道獲得。
AI開發平臺ModelArts EI企業智能 AI 華為HiLens 昇騰
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。