在线观看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

    文章

    9964

    瀏覽量

    171765
  • 開發板
    +關注

    關注

    25

    文章

    5050

    瀏覽量

    97456
  • adas
    +關注

    關注

    309

    文章

    2184

    瀏覽量

    208649
  • OpenVINO
    +關注

    關注

    0

    文章

    93

    瀏覽量

    201
收藏 人收藏

    評論

    相關推薦

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

    隨著智能機器人技術的快速發展,越來越多的研究開發者開始涉足這一充滿挑戰和機遇的領域。哪吒開發板,作為一款高性能的機器人開發平臺,憑借其強
    的頭像 發表于 12-20 10:54 ?696次閱讀
    基于<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 ?354次閱讀

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

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

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

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

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

    使用OpenVINO定制你的AI助手丨開發者實戰作者:王國強蘇州嘉樹醫療科技有限公司算法工程師指導:顏國進英特爾邊緣計算創新大使研揚科技針對邊緣AI行業開發者推出的『
    的頭像 發表于 09-28 08:01 ?344次閱讀
    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 ?282次閱讀
    從運動員到<b class='flag-5'>開發者</b>: <b class='flag-5'>英特爾</b>以開放式AI系統應對多重挑戰

    英特爾開發套件Java環境實現ADAS道路識別演示

    本文使用來自Open Model Zoo的預訓練的 road-segmentation-adas-0001模型。ADAS 代表高級駕駛輔助服務。該模型識別四個類別:背景、道路、路緣和標
    的頭像 發表于 04-20 10:32 ?579次閱讀
    <b class='flag-5'>英特爾</b><b class='flag-5'>開發套件</b><b class='flag-5'>在</b><b class='flag-5'>Java</b><b class='flag-5'>環境</b><b class='flag-5'>實現</b><b class='flag-5'>ADAS</b><b class='flag-5'>道路</b><b class='flag-5'>識別</b><b class='flag-5'>演示</b>

    英特爾面向AI PC軟件開發者與硬件供應商新增助力計劃

    英特爾公司近日宣布“AI PC加速計劃”再添兩項人工智能(AI)新舉措,即新增“AI PC開發者計劃”,并吸納獨立硬件供應商(IHV)加入“AI PC加速計劃”。
    的頭像 發表于 04-02 10:09 ?337次閱讀

    英特爾宣布AI PC加速計劃新增兩項AI舉措

    首先,“AI PC 開發者計劃”面向軟件研發人員和獨立軟件開發商,為他們提供便捷的開發環境,助力加速大規模運用新型 AI技術。此計劃包含一系列全面的工具、優化工作流方案、AI 部署框架
    的頭像 發表于 03-27 16:03 ?382次閱讀

    【轉載】英特爾開發套件哪吒”快速部署YoloV8 on Java | 開發者實戰

    部署到生產系統中。通過簡化的開發工作流程,OpenVINO可賦能開發者現實世界中部署高性能應用程序和算法。 今天我們將基于哪吒開發者
    的頭像 發表于 03-23 08:05 ?563次閱讀
    【轉載】<b class='flag-5'>英特爾</b><b class='flag-5'>開發套件</b>“<b class='flag-5'>哪吒</b>”快速部署YoloV8 on <b class='flag-5'>Java</b> | <b class='flag-5'>開發者</b><b class='flag-5'>實戰</b>

    基于英特爾哪吒開發者套件平臺來快速部署OpenVINO Java實戰

    OpenVINO 工具套件基于OneAPI開發,可以加快高性能計算機視覺和深度學習應用開發速度的工具套件,適用于從邊緣到云的各種英特爾計算平
    的頭像 發表于 03-21 18:24 ?1493次閱讀
    基于<b class='flag-5'>英特爾</b><b class='flag-5'>哪吒</b><b class='flag-5'>開發者</b><b class='flag-5'>套件</b>平臺來快速部署OpenVINO <b class='flag-5'>Java</b><b class='flag-5'>實戰</b>

    玩轉PSoC 6 RTT積木式開發套件實現毫米波雷達等實用功能

    Jenson一起玩轉這款靈活易用、玩法多樣的MCU套件吧!PSoC6RTT開發板是一款供廣大開發者評估和測試階段使用的開發套件,一經推出就
    的頭像 發表于 03-20 08:35 ?981次閱讀
    玩轉PSoC 6 RTT積木式<b class='flag-5'>開發套件</b>,<b class='flag-5'>實現</b>毫米波雷達等實用功能

    OpenVINO? Java API應用RT-DETR做目標檢測器實戰

    本文將從零開始詳細介紹環境搭建的完整步驟,我們基于英特爾開發套件AIxBoard為硬件基礎實現Java
    的頭像 發表于 03-18 15:04 ?808次閱讀
    OpenVINO? <b class='flag-5'>Java</b> API應用RT-DETR做目標檢測器<b class='flag-5'>實戰</b>

    英飛凌推出CYUSBS236 USB轉串行通信(雙通道)開發套件

    英飛凌科技(Infineon Technologies)近日宣布推出全新的CYUSBS236 USB 轉串行通信(雙通道)開發套件。該開發套件基于英飛凌的CY7C65215 USB 串行橋控制器,為開發者提供了快速、簡便地
    的頭像 發表于 01-24 17:12 ?890次閱讀

    OpenVINO? 賦能千元級『哪吒』AI開發套件大語言模型 | 開發者實戰

    作者:英特爾AI軟件布道師武卓博士前言人工智能的飛速發展中,大語言模型,如Stable-Zephyr-3b,已成為研究和應用的熱點。這些模型以其強大的文本理解和生成能力多個領域大放異彩。然而
    的頭像 發表于 01-06 08:05 ?1528次閱讀
    OpenVINO? 賦能千元級『<b class='flag-5'>哪吒</b>』AI<b class='flag-5'>開發套件</b>大語言模型 | <b class='flag-5'>開發者</b><b class='flag-5'>實戰</b>
    主站蜘蛛池模板: 一级视频在线观看免费| 美女被免费网站视频在线| 精品福利| 97一区二区三区| 毛片123| 天天噜夜夜操| 日本一区二区三区在线观看视频| 色婷婷免费视频| xxxxxx日本人免费| 在线免费看影视网站| 天堂在线中文无弹窗全文阅读| 国产卡1卡2卡三卡网站免费| 嘿嘿午夜| 亚瑟 国产精品| www.色亚洲| 中文字幕在线观看一区二区三区 | 天堂tv亚洲tv日本tv欧美人tv| 国产经典三级| 天天操女人| 色噜噜噜噜噜| 天堂网在线最新版www| 皇帝受h啪肉np文| 国产在线视频你懂的| 影院在线观看免费| 色婷婷色综合缴情在线| 天天摸天天爽天天澡视频| 美女扒开尿口给男人捅| 久久精品五月天| 511韩国理论片在线观看| 特一级黄色毛片| 午夜福利123| 宅男在线看片| 高清毛片一区二区三区| 69日本xxxxxxxxx78| 免费欧洲美女与动zooz| 哥也操| 日韩免费精品一级毛片| 午夜免费视频观看| 日本69xxxxxxx69| 四虎久久影院| 国产婷婷高清在线观看免费|