一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英特爾開(kāi)發(fā)套件『哪吒』在Java環(huán)境實(shí)現(xiàn)ADAS道路識(shí)別演示 | 開(kāi)發(fā)者實(shí)戰(zhàn)

研揚(yáng)科技AAEON ? 2024-04-29 08:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:黃明明
英特爾邊緣計(jì)算創(chuàng)新大使

簡(jiǎn)介

本文使用來(lái)自O(shè)pen Model Zoo的預(yù)訓(xùn)練的 road-segmentation-adas-0001模型。ADAS 代表高級(jí)駕駛輔助服務(wù)。該模型識(shí)別四個(gè)類(lèi)別:背景、道路、路緣和標(biāo)記。

硬件環(huán)境

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

模型下載

首先進(jìn)入

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

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

wKgZombZYRaAGSBsAACKnmU7En4992.png

搭建OpenVINO Java環(huán)境

由于之前文章都介紹過(guò)Java環(huán)境的搭建,而這篇文章主要講述代碼怎么寫(xiě)的,所以對(duì)于環(huán)境的搭建不做過(guò)多的說(shuō)明,大家可以進(jìn)入

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

查看各個(gè)系統(tǒng)的安裝文檔:

wKgZombZYTiABD0RAAC5vIfFQzs060.png

編寫(xiě)測(cè)試代碼

大致上分為四步:

  1. 加載OpenVINO Runtime

2. 加載模型

3. 加載圖片并推理

4. 處理結(jié)果

加載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);

結(jié)果將輸出當(dāng)前系統(tǒng)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());

開(kāi)始推理&處理結(jié)果

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);

結(jié)果展示

這里將背景、道路、路緣和標(biāo)記都分別標(biāo)記了出來(lái),我們可以根據(jù)各個(gè)類(lèi)別做自己想做的事情,比如分割出道路,將背景去除等等。

wKgaombZadGAAbLLAAzhQeBHD7c712.png

結(jié)語(yǔ)

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

關(guān)于英特爾 OpenVINO 工具套件的詳細(xì)資料,包括三百多個(gè)經(jīng)驗(yàn)證并優(yōu)化的預(yù)訓(xùn)練模型的詳細(xì)資料,請(qǐng)您前往

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

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

運(yùn)行這些 notebook,就能快速了解在不同場(chǎng)景下如何利用 OpenVINO 實(shí)現(xiàn)一系列、包括計(jì)算機(jī)視覺(jué)、語(yǔ)音及自然語(yǔ)言處理任務(wù)。

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

https://github.com/openvinotoolkit/openvino_notebooks

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 英特爾
    +關(guān)注

    關(guān)注

    61

    文章

    10196

    瀏覽量

    174705
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5682

    瀏覽量

    104832
  • adas
    +關(guān)注

    關(guān)注

    310

    文章

    2258

    瀏覽量

    210262
  • OpenVINO
    +關(guān)注

    關(guān)注

    0

    文章

    115

    瀏覽量

    483
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    東軟睿馳聯(lián)合推出基于AURIX TC4x的NeuSAR快速開(kāi)發(fā)套件

    近日,東軟睿馳聯(lián)合英飛凌、HighTec推出基于AURIX TC4x的NeuSAR快速開(kāi)發(fā)套件,為汽車(chē)軟件開(kāi)發(fā)提供高效、便捷的全棧開(kāi)發(fā)環(huán)境,助力客戶(hù)及
    的頭像 發(fā)表于 07-08 11:30 ?368次閱讀
    東軟睿馳聯(lián)合推出基于AURIX TC4x的NeuSAR快速<b class='flag-5'>開(kāi)發(fā)套件</b>

    英特爾發(fā)布全新GPU,AI和工作站迎來(lái)新選擇

    英特爾推出面向準(zhǔn)專(zhuān)業(yè)用戶(hù)和AI開(kāi)發(fā)者英特爾銳炫Pro GPU系列,發(fā)布英特爾? Gaudi 3 AI加速器機(jī)架級(jí)和PCIe部署方案 ? 2025 年 5 月 19 日,北京 ——今日
    發(fā)表于 05-20 11:03 ?1514次閱讀

    Java開(kāi)發(fā)者必備的效率工具——Perforce JRebel是什么?為什么很多Java開(kāi)發(fā)者在用?

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

    2025英特爾人工智能創(chuàng)新應(yīng)用大賽正式啟動(dòng)

    近日,2025英特爾人工智能創(chuàng)新應(yīng)用大賽(以下簡(jiǎn)稱(chēng)“大賽”)正式啟動(dòng)。本屆大賽以“‘碼’上出發(fā),‘芯’創(chuàng)未來(lái)”為主題,賽制、規(guī)模、獎(jiǎng)項(xiàng)和賽事支持上實(shí)現(xiàn)多重升級(jí),為開(kāi)發(fā)者和企業(yè)提供展示
    的頭像 發(fā)表于 04-02 15:24 ?556次閱讀

    英特爾哪吒開(kāi)發(fā)套件上部署DeepSeek-R1的實(shí)現(xiàn)方式

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

    英特爾?獨(dú)立顯卡與OpenVINO?工具套件結(jié)合使用時(shí),無(wú)法運(yùn)行推理怎么解決?

    使用英特爾?獨(dú)立顯卡與OpenVINO?工具套件時(shí)無(wú)法運(yùn)行推理
    發(fā)表于 03-05 06:56

    英特爾?NCS2運(yùn)行演示時(shí)“無(wú)法啟動(dòng)后找到啟動(dòng)設(shè)備”怎么解決?

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

    基于英特爾開(kāi)發(fā)開(kāi)發(fā)ROS應(yīng)用

    隨著智能機(jī)器人技術(shù)的快速發(fā)展,越來(lái)越多的研究開(kāi)發(fā)者開(kāi)始涉足這一充滿(mǎn)挑戰(zhàn)和機(jī)遇的領(lǐng)域。哪吒開(kāi)發(fā)板,作為一款高性能的機(jī)器人開(kāi)發(fā)平臺(tái),憑借其強(qiáng)
    的頭像 發(fā)表于 12-20 10:54 ?1824次閱讀
    基于<b class='flag-5'>英特爾</b><b class='flag-5'>開(kāi)發(fā)</b>板<b class='flag-5'>開(kāi)發(fā)</b>ROS應(yīng)用

    NVIDIA發(fā)布小巧高性?xún)r(jià)比的Jetson Orin Nano Super開(kāi)發(fā)者套件

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

    使用英特爾哪吒開(kāi)發(fā)套件部署YOLOv5完成透明物體目標(biāo)檢測(cè)

    英特爾哪吒(Nezha)開(kāi)發(fā)套件是一款專(zhuān)為邊緣AI和物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)的高性能計(jì)算平臺(tái),搭載了英特爾 N97處理器、內(nèi)置英特爾 UHD Gra
    的頭像 發(fā)表于 11-25 17:15 ?700次閱讀
    使用<b class='flag-5'>英特爾</b><b class='flag-5'>哪吒</b><b class='flag-5'>開(kāi)發(fā)套件</b>部署YOLOv5完成透明物體目標(biāo)檢測(cè)

    基于哪吒開(kāi)發(fā)板部署YOLOv8模型

    2024英特爾 “走近開(kāi)發(fā)者”互動(dòng)活動(dòng)-哪吒開(kāi)發(fā)套件免費(fèi)試 用 AI 創(chuàng)新計(jì)劃:哪吒開(kāi)發(fā)板是專(zhuān)為
    的頭像 發(fā)表于 11-15 14:13 ?1095次閱讀
    基于<b class='flag-5'>哪吒</b><b class='flag-5'>開(kāi)發(fā)</b>板部署YOLOv8模型

    OpenVINO? C++ 在哪吒開(kāi)發(fā)板上推理 Transformer 模型|開(kāi)發(fā)者實(shí)戰(zhàn)

    使用OpenVINO定制你的AI助手丨開(kāi)發(fā)者實(shí)戰(zhàn)作者:王國(guó)強(qiáng)蘇州嘉樹(shù)醫(yī)療科技有限公司算法工程師指導(dǎo):顏國(guó)進(jìn)英特爾邊緣計(jì)算創(chuàng)新大使研揚(yáng)科技針對(duì)邊緣AI行業(yè)開(kāi)發(fā)者推出的『
    的頭像 發(fā)表于 09-28 08:01 ?792次閱讀
    OpenVINO? C++ 在<b class='flag-5'>哪吒</b><b class='flag-5'>開(kāi)發(fā)</b>板上推理 Transformer 模型|<b class='flag-5'>開(kāi)發(fā)者</b><b class='flag-5'>實(shí)戰(zhàn)</b>

    從運(yùn)動(dòng)員到開(kāi)發(fā)者: 英特爾以開(kāi)放式AI系統(tǒng)應(yīng)對(duì)多重挑戰(zhàn)

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

    英特爾是如何實(shí)現(xiàn)玻璃基板的?

    今年9月,英特爾宣布率先推出用于下一代先進(jìn)封裝的玻璃基板,并計(jì)劃在未來(lái)幾年內(nèi)向市場(chǎng)提供完整的解決方案,從而使單個(gè)封裝內(nèi)的晶體管數(shù)量不斷增加,繼續(xù)推動(dòng)摩爾定律,滿(mǎn)足以數(shù)據(jù)為中心的應(yīng)用的算力需求
    的頭像 發(fā)表于 07-22 16:37 ?655次閱讀

    星閃開(kāi)發(fā)者體驗(yàn)官,沖刺終極大獎(jiǎng)華為星閃手機(jī)Pure70

    為鼓勵(lì)開(kāi)發(fā)者積極參與星閃開(kāi)發(fā),首批星閃開(kāi)發(fā)者體驗(yàn)官活動(dòng)已于6月22日正式啟動(dòng)報(bào)名,截止目前已經(jīng)有百余位星閃開(kāi)發(fā)者積極參與活動(dòng),助力每一位開(kāi)發(fā)者
    的頭像 發(fā)表于 07-20 08:02 ?1433次閱讀
    星閃<b class='flag-5'>開(kāi)發(fā)者</b>體驗(yàn)官,沖刺終極大獎(jiǎng)華為星閃手機(jī)Pure70