在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

英特爾開發套件『哪吒』在Java環境實現ADAS道路識別演示 | 開發者實戰

研揚科技AAEON ? 2024-04-29 08:07 ? 次閱讀

作者:黃明明
英特爾邊緣計算創新大使

簡介

本文使用來自Open Model Zoo的預訓練的 road-segmentation-adas-0001模型。ADAS 代表高級駕駛輔助服務。該模型識別四個類別:背景、道路、路緣和標記。

硬件環境

此文使用了英特爾開發套件家族里的『哪吒』(Nezha)開發板,其為研揚科技針對邊緣 AI 行業開發者推出的開發板,雖只有信用卡大小(85 x 56mm),但『哪吒』采用 Intel N97 處理器(Alder Lake-N),最大睿頻 3.6GHz,Intel UHD Graphics 內核GPU,可實現高分辨率顯示;板載 LPDDR5 內存、eMMC 存儲及 TPM 2.0,配備 GPIO 接口,支持 Windows 和 Linux 操作系統,這些功能和無風扇散熱方式相結合,為各種應用程序構建高效的解決方案,如您是樹莓派開發者又需要更好的AI算力, 強力推薦此產品, 其適用于如自動化、物聯網網關、數字標牌和機器人等應用。售價 RMB 999起, 『哪吒』開發套件Nezha intel x86開發板板載Alder N97 可Win10/Ubuntu N97 4G+32G。

模型下載

首先進入

https://storage.openvinotoolkit.org/repositories/open_model_zoo/2023.0/models_bin/1/road-segmentation-adas-0001/FP32/

下載指定版本的segmentation 模型文件

wKgZombZYRaAGSBsAACKnmU7En4992.png

搭建OpenVINO Java環境

由于之前文章都介紹過Java環境的搭建,而這篇文章主要講述代碼怎么寫的,所以對于環境的搭建不做過多的說明,大家可以進入

https://github.com/Hmm466/OpenVINO-Java-API/tree/main/docs/cn

查看各個系統的安裝文檔:

wKgZombZYTiABD0RAAC5vIfFQzs060.png

編寫測試代碼

大致上分為四步:

  1. 加載OpenVINO Runtime

2. 加載模型

3. 加載圖片并推理

4. 處理結果

加載OpenVINO Runtime

1. OpenVINO vino = OpenVINO.load();
2. //加載OpenCV Dll
3. vino.loadCvDll();
4. OvVersion version = vino.getVersion();
5. Console.println("---- OpenVINO INFO----");
6. Console.println("Description : %s", version.description);
7. Console.println("Build number: %s", version.buildNumber);

結果將輸出當前系統OpenVINO版本:

1. ---- OpenVINO INFO----
2. Description : OpenVINO Runtime
3. Build number: 2023.2.0-13089-cfd42bd2cb0-HEAD

加載模型

1. String modelPath = "model/road-segmentation-adas-0001.xml";
2. Core core = new Core();
3. // -------- Step 2. Read a model --------
4. Console.println("[INFO] Loading model files: %s", modelPath);
5. Model model = core.readModel(modelPath);
6. CompiledModel compiledModel = core.compileModel(model, "AUTO");

加載圖片并處理

1. Input inputLayerIr = compiledModel.input(0);
2. Tensor inputTensor = inferRequest.getInputTensor();
3. Mat rgbImage = new Mat();
4. Imgproc.cvtColor(mat, rgbImage, Imgproc.COLOR_BGR2RGB);
5. int imageH = mat.height();
6. int imageW = mat.width();
7. int channels = mat.channels();
8. Shape shape = inputLayerIr.getShape();
9. long N = shape.getDims().get(0);
10. long C = shape.getDims().get(1);
11. long H = shape.getDims().get(2);
12. long W = shape.getDims().get(3);

13.
14. Mat resizedImage = new Mat();
15. Imgproc.resize(mat,resizedImage, new Size(W, H));
16. int[] data = matToIntArray(resizedImage)
17. NDArray array = manager.create(data,new Shape(H,W,C));
18. NDArray inputImage = array.transpose(2,0,1).expandDims(0);
19. float[] floats = intToFloatArray(inputImage.toIntArray());

開始推理&處理結果

1. inputTensor.setData(floats);
2. inferRequest.infer();
3. Tensor outputTensor = inferRequest.getOutputTensor(0);
4. int outputLength = (int) outputTensor.getSize();
5. float[] outputData = outputTensor.getData(float[].class, outputLength);
6. NDArray ndArray = manager.create(outputData,new Shape(1,4,H,W));
7. ndArray = ndArray.argMax(1);
8. if (ndArray.getShape().get(0) == 1){
9. ndArray = ndArray.squeeze(0);
10. }
11. ndArray = ndArray.toType(DataType.UINT8, true);
12. NDArray mask = manager.zeros(new Shape(ndArray.getShape().get(0),ndArray.getShape().get(1),3),DataType.UINT8);
13. Mat _mat = new Mat((int)ndArray.getShape().get(0),(int)ndArray.getShape().get(1), CvType.CV_8UC3);
14. byte[] b = mask.toByteArray();
15. _mat.put(0,0,b);
16. double[][] colors = new double[][]{{255, 44, 255}, {48, 255, 141}, {53, 255, 120}, {199, 216, 52}};
17. for (int i = 0 ; i < colors.length;i++) {
18. NDArray labelIndexMap = ndArray.eq(i);
19. labelIndexMap = labelIndexMap.toType(DataType.UINT8,true).mul(255);
20. Mat mat1 = new Mat((int) labelIndexMap.getShape().get(0), (int) labelIndexMap.getShape().get(1),CvType.CV_8UC1);
21. mat1.put(0,0,labelIndexMap.toByteArray());
22. List contours = new ArrayList<>();
23. Mat hierarchies = new Mat();
24. Imgproc.findContours(mat1,contours,hierarchies,Imgproc.RETR_EXTERNAL,Imgproc.CHAIN_APPROX_SIMPLE);

25. Imgproc.drawContours(_mat,contours,-1,new Scalar(colors[i][0], colors[i][1], colors[i][2]),Imgproc.FILLED);
26. }
27. Mat resized_mask = new Mat();
28. Imgproc.resize(_mat,resized_mask, new Size(imageW, imageH));
29. Core.addWeighted(resized_mask,0.2F,mat,0.8F,0,resized_mask);

結果展示

這里將背景、道路、路緣和標記都分別標記了出來,我們可以根據各個類別做自己想做的事情,比如分割出道路,將背景去除等等。

wKgaombZadGAAbLLAAzhQeBHD7c712.png

結語

整體步驟是這樣,在該項目中,基于N97的『哪吒』平臺通過Java API實現了基于segmentation 模型的分割代碼,并且成功處理圖片并展示。后續筆者將基于OpenVINO 實現OCR,背景扣除等模型實現。

關于英特爾 OpenVINO 工具套件的詳細資料,包括三百多個經驗證并優化的預訓練模型的詳細資料,請您前往

https://www.intel.com/content/www/us/en/developer/tools/openvino-toolkit/overview.html

除此之外,為了方便大家了解并快速掌握 OpenVINO 的使用,我們還提供了一系列開源的 Jupyter notebook demo。

運行這些 notebook,就能快速了解在不同場景下如何利用 OpenVINO 實現一系列、包括計算機視覺、語音及自然語言處理任務。

OpenVINO notebooks 的資源可以在 GitHub 下載安裝:

https://github.com/openvinotoolkit/openvino_notebooks

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 英特爾
    +關注

    關注

    61

    文章

    10177

    瀏覽量

    174053
  • 開發板
    +關注

    關注

    25

    文章

    5565

    瀏覽量

    102814
  • adas
    +關注

    關注

    310

    文章

    2241

    瀏覽量

    209938
  • OpenVINO
    +關注

    關注

    0

    文章

    114

    瀏覽量

    427
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    英特爾發布全新GPU,AI和工作站迎來新選擇

    英特爾推出面向準專業用戶和AI開發者英特爾銳炫Pro GPU系列,發布英特爾? Gaudi 3 AI加速器機架級和PCIe部署方案 ? 2025 年 5 月 19 日,北京 ——今日
    發表于 05-20 11:03 ?1472次閱讀

    Java開發者必備的效率工具——Perforce JRebel是什么?為什么很多Java開發者在用?

    Perforce JRebel是一款Java開發效率工具,旨在幫助java開發人員更快地編寫更好的應用程序。JRebel可即時重新加載對代碼的修改,無需重啟或重新部署應用程序,就能讓
    的頭像 發表于 04-27 13:44 ?177次閱讀
    <b class='flag-5'>Java</b><b class='flag-5'>開發者</b>必備的效率工具——Perforce JRebel是什么?為什么很多<b class='flag-5'>Java</b><b class='flag-5'>開發者</b>在用?

    首創開源架構,天璣AI開發套件讓端側AI模型接入得心應手

    時間。 這不僅僅是工具的升級,更是邁向智能體化用戶體驗的關鍵基礎設施。 天璣AI開發套件 2.0,全面釋放天璣端側AI能力 去年,天璣AI開發套件一經發布就廣受開發者好評和推薦。MD
    發表于 04-13 19:52

    2025英特爾人工智能創新應用大賽正式啟動

    近日,2025英特爾人工智能創新應用大賽(以下簡稱“大賽”)正式啟動。本屆大賽以“‘碼’上出發,‘芯’創未來”為主題,賽制、規模、獎項和賽事支持上實現多重升級,為開發者和企業提供展示
    的頭像 發表于 04-02 15:24 ?456次閱讀

    英特爾哪吒開發套件上部署DeepSeek-R1的實現方式

    隨著人工智能技術的快速發展,企業對 AI 模型的部署方式有了更多選擇。本地部署 DeepSeek-R1 模型具有以下顯著優勢,使其成為許多企業和開發者的首選。
    的頭像 發表于 03-12 13:38 ?486次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>英特爾</b><b class='flag-5'>哪吒</b><b class='flag-5'>開發套件</b>上部署DeepSeek-R1的<b class='flag-5'>實現</b>方式

    英特爾?獨立顯卡與OpenVINO?工具套件結合使用時,無法運行推理怎么解決?

    使用英特爾?獨立顯卡與OpenVINO?工具套件時無法運行推理
    發表于 03-05 06:56

    英特爾?NCS2運行演示時“無法啟動后找到啟動設備”怎么解決?

    使用 英特爾? NCS2 運行 推斷管道演示腳本 。 首次嘗試中成功運行演示應用程序。 從第二次嘗試開始遇到錯誤:E: [ncAPI] [ 150951] [security_ba
    發表于 03-05 06:48

    基于英特爾開發開發ROS應用

    隨著智能機器人技術的快速發展,越來越多的研究開發者開始涉足這一充滿挑戰和機遇的領域。哪吒開發板,作為一款高性能的機器人開發平臺,憑借其強
    的頭像 發表于 12-20 10:54 ?1753次閱讀
    基于<b class='flag-5'>英特爾</b><b class='flag-5'>開發</b>板<b class='flag-5'>開發</b>ROS應用

    NVIDIA發布小巧高性價比的Jetson Orin Nano Super開發者套件

    為2070元人民幣。 與上一代產品相比,Jetson Orin Nano Super開發者套件性能上有了顯著提升。
    的頭像 發表于 12-19 11:28 ?1013次閱讀

    使用英特爾哪吒開發套件部署YOLOv5完成透明物體目標檢測

    英特爾哪吒(Nezha)開發套件是一款專為邊緣AI和物聯網應用設計的高性能計算平臺,搭載了英特爾 N97處理器、內置英特爾 UHD Gra
    的頭像 發表于 11-25 17:15 ?634次閱讀
    使用<b class='flag-5'>英特爾</b><b class='flag-5'>哪吒</b><b class='flag-5'>開發套件</b>部署YOLOv5完成透明物體目標檢測

    基于哪吒開發板部署YOLOv8模型

    2024英特爾 “走近開發者”互動活動-哪吒開發套件免費試 用 AI 創新計劃:哪吒開發板是專為
    的頭像 發表于 11-15 14:13 ?997次閱讀
    基于<b class='flag-5'>哪吒</b><b class='flag-5'>開發</b>板部署YOLOv8模型

    OpenVINO? C++ 在哪吒開發板上推理 Transformer 模型|開發者實戰

    使用OpenVINO定制你的AI助手丨開發者實戰作者:王國強蘇州嘉樹醫療科技有限公司算法工程師指導:顏國進英特爾邊緣計算創新大使研揚科技針對邊緣AI行業開發者推出的『
    的頭像 發表于 09-28 08:01 ?739次閱讀
    OpenVINO? C++ 在<b class='flag-5'>哪吒</b><b class='flag-5'>開發</b>板上推理 Transformer 模型|<b class='flag-5'>開發者</b><b class='flag-5'>實戰</b>

    從運動員到開發者: 英特爾以開放式AI系統應對多重挑戰

    打造的生成式AI(GenAI)檢索增強生成(RAG)解決方案。該成果深度展示了英特爾如何通過基于英特爾?至強?處理器和英特爾??Gaudi AI加速器的開放式AI系統及平臺,幫助開發者
    的頭像 發表于 07-25 09:28 ?472次閱讀
    從運動員到<b class='flag-5'>開發者</b>: <b class='flag-5'>英特爾</b>以開放式AI系統應對多重挑戰

    英特爾是如何實現玻璃基板的?

    今年9月,英特爾宣布率先推出用于下一代先進封裝的玻璃基板,并計劃在未來幾年內向市場提供完整的解決方案,從而使單個封裝內的晶體管數量不斷增加,繼續推動摩爾定律,滿足以數據為中心的應用的算力需求
    的頭像 發表于 07-22 16:37 ?591次閱讀

    星閃開發者體驗官,沖刺終極大獎華為星閃手機Pure70

    為鼓勵開發者積極參與星閃開發,首批星閃開發者體驗官活動已于6月22日正式啟動報名,截止目前已經有百余位星閃開發者積極參與活動,助力每一位開發者
    的頭像 發表于 07-20 08:02 ?1271次閱讀
    星閃<b class='flag-5'>開發者</b>體驗官,沖刺終極大獎華為星閃手機Pure70
    主站蜘蛛池模板: 国内精品久久久久影院免费 | 男生脱美女内裤内衣动态图 | 免费的黄色大片 | 亚洲影院手机版777点击进入影院 | 欧美性极品xxxxx | 一级做a爱片特黄在线观看免费看 | 久久久综合色 | 你懂的网站在线观看 | 日本不卡视频在线视频观看 | 午夜视频一区二区 | 午夜日韩在线 | 一区精品视频 | 一级毛片不卡 | 色在线网站免费观看 | 欧美一二三区在线 | 亚洲午夜在线观看 | www.五月天 | 美欧毛片 | 成人综合在线视频 | 操www| 色综合天天综合网国产人 | 天天摸天天做天天爽 | 色资源窝窝全色 | 国产成人三级经典中文 | 久久刺激视频 | 天天操天天射天天色 | 台湾一级毛片永久免费 | www一片黄| 日本不卡毛片一二三四 | 国内久久精品 | 高清一级做a爱免费视 | 日韩操穴 | 狠狠干狠狠操视频 | 久久手机看片你懂的日韩1024 | 欧美黄页网 | a级毛片网站| 欧美性色黄大片四虎影视 | 国产免费福利网站 | 国产亚洲3p一区二区三区 | 国产免费一级在线观看 | 亚洲第一精品夜夜躁人人爽 |