国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

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

英特爾物聯網 ? 來源:英特爾物聯網 ? 2024-04-20 10:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

簡介

本文使用來自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 模型文件

571e07ce-fe39-11ee-a297-92fbcf53809c.png

搭建OpenVINO Java環境

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

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

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

5742ccf8-fe39-11ee-a297-92fbcf53809c.png

編寫測試代碼

大致上分為四步:

加載OpenVINO Runtime

加載模型

加載圖片并推理

處理結果

加載OpenVINO Runtime

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

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

---- OpenVINO INFO----
Description : OpenVINO Runtime
Build number: 2023.2.0-13089-cfd42bd2cb0-HEAD

加載模型

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

加載圖片并處理

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


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

開始推理&處理結果

inputTensor.setData(floats);
inferRequest.infer();
Tensor outputTensor = inferRequest.getOutputTensor(0);
int outputLength = (int) outputTensor.getSize();
float[] outputData = outputTensor.getData(float[].class, outputLength);
NDArray ndArray = manager.create(outputData,new Shape(1,4,H,W));
ndArray = ndArray.argMax(1);
if (ndArray.getShape().get(0) == 1){
  ndArray = ndArray.squeeze(0);
}
ndArray = ndArray.toType(DataType.UINT8, true);
NDArray mask = manager.zeros(new Shape(ndArray.getShape().get(0),ndArray.getShape().get(1),3),DataType.UINT8);
Mat _mat = new Mat((int)ndArray.getShape().get(0),(int)ndArray.getShape().get(1), CvType.CV_8UC3);
byte[] b = mask.toByteArray();
_mat.put(0,0,b);
double[][] colors = new double[][]{{255, 44, 255}, {48, 255, 141}, {53, 255, 120}, {199, 216, 52}};
for (int i = 0 ; i < colors.length;i++) {
 ? ?NDArray labelIndexMap = ndArray.eq(i);
 ? ?labelIndexMap = labelIndexMap.toType(DataType.UINT8,true).mul(255);
 ? ?Mat mat1 = new Mat((int) labelIndexMap.getShape().get(0), (int) labelIndexMap.getShape().get(1),CvType.CV_8UC1);
 ? ?mat1.put(0,0,labelIndexMap.toByteArray());
 ? ?List contours = new ArrayList<>();
  Mat hierarchies = new Mat();
  Imgproc.findContours(mat1,contours,hierarchies,Imgproc.RETR_EXTERNAL,Imgproc.CHAIN_APPROX_SIMPLE);
  Imgproc.drawContours(_mat,contours,-1,new Scalar(colors[i][0], colors[i][1], colors[i][2]),Imgproc.FILLED);
}
Mat resized_mask = new Mat();
Imgproc.resize(_mat,resized_mask, new Size(imageW, imageH));
Core.addWeighted(resized_mask,0.2F,mat,0.8F,0,resized_mask);

結果展示

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

575c1db6-fe39-11ee-a297-92fbcf53809c.png

結語

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



審核編輯:劉清

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

    關注

    61

    文章

    10301

    瀏覽量

    180472
  • 物聯網
    +關注

    關注

    2945

    文章

    47820

    瀏覽量

    415057
  • JAVA
    +關注

    關注

    20

    文章

    3001

    瀏覽量

    116446
  • ADAS系統
    +關注

    關注

    4

    文章

    229

    瀏覽量

    26449
  • OpenVINO
    +關注

    關注

    0

    文章

    118

    瀏覽量

    768

原文標題:英特爾開發套件在Java環境實現ADAS道路識別演示 | 開發者實戰

文章出處:【微信號:英特爾物聯網,微信公眾號:英特爾物聯網】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    AI功能(SC171開發套件V2-FAS)

    *附件:文檔:圖像語義分割(deeplabv3)案例----基于SC171開發套件V2-FAS.pdf 見文檔說明 2 多物品識別(Yolov8)案例----基于SC171開發套件V2-FAS
    發表于 02-11 14:33

    AI功能(SC171開發套件V3)2026版

    AI功能(SC171開發套件V3)2026版 序列 課程名稱 視頻課程時長 視頻課程鏈接 課件鏈接 工程源碼 1 人體目標檢測(Yolov5)案例----基于SC171開發套件V3 8分19秒
    發表于 01-15 11:18

    DA14535 USB開發套件硬件解析:開啟低功耗藍牙開發新征程

    DA14535 USB開發套件硬件解析:開啟低功耗藍牙開發新征程 在當今的電子設備開發領域,低功耗藍牙技術因其廣泛的應用前景和高效的性能表現,受到了眾多開發者的青睞。Renesas的D
    的頭像 發表于 12-29 11:00 ?486次閱讀

    創芯賦能智能生態!匯頂科技亮相2025英特爾技術創新與產業生態大會

    11月19–21日,2025英特爾技術創新與產業生態大會在重慶盛大啟幕。作為英特爾生態的重要合作伙伴,匯頂科技攜人機交互、指紋識別等多項PC端創新成果,為英特爾硬件生態注入澎湃“芯”動
    的頭像 發表于 11-21 15:00 ?5459次閱讀
    創芯賦能智能生態!匯頂科技亮相2025<b class='flag-5'>英特爾</b>技術創新與產業生態大會

    科通技術獲評英特爾首批尊享級合作伙伴

    近日,科通科技獲評為英特爾首批“尊享級合作聯盟成員”,即英特爾合作伙伴聯盟體系中的最高級別會員。這一身份認證不僅是對雙方十五年深度協同的認可,也是雙方技術協同、產業賦能道路上的又一次
    的頭像 發表于 11-17 16:52 ?726次閱讀
    科通技術獲評<b class='flag-5'>英特爾</b>首批尊享級合作伙伴

    使用英特爾? NPU 插件C++運行應用程序時出現錯誤:“std::Runtime_error at memory location”怎么解決?

    使用OpenVINO?工具套件版本 2024.4.0 構建C++應用程序 使用英特爾? NPU 插件運行了 C++ 應用程序 遇到的錯誤: Microsoft C++ exception: std::runtime_error at memory location
    發表于 06-25 08:01

    分析師:英特爾轉型之路,機遇與挑戰并存

    ,這正是英特爾當前發展所需。上任后,他迅速推動公司組織架構重組,加大制造與AI領域的投資,并將代工業務置于優先位置。盡管面臨內外多重挑戰,英特爾股票2025年上半年仍保持了穩定走勢
    的頭像 發表于 06-10 10:59 ?574次閱讀
    分析師:<b class='flag-5'>英特爾</b>轉型之路,機遇與挑戰并存

    新思科技與英特爾EDA和IP領域展開深度合作

    近日,英特爾代工Direct Connect 2025上,新思科技宣布與英特爾EDA和IP領域展開深度合作,包括利用其通過認證的AI驅動數字和模擬設計流程支持
    的頭像 發表于 05-22 15:35 ?1006次閱讀

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

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

    英特爾以系統級代工模式促進生態協同,助力客戶創新

    半導體代工領域,贏得客戶信任是業務長期發展的關鍵,而構建完善的代工生態系統,毫無疑問是實現這一目標的前提。英特爾2025英特爾代工大會上
    的頭像 發表于 05-09 14:38 ?562次閱讀

    英特爾持續推進核心制程和先進封裝技術創新,分享最新進展

    近日,2025英特爾代工大會上,英特爾展示了多代核心制程和先進封裝技術的最新進展,這些突破不僅體現了英特爾技術
    的頭像 發表于 05-09 11:42 ?873次閱讀
    <b class='flag-5'>英特爾</b>持續推進核心制程和先進封裝技術創新,分享最新進展

    英特爾宣布裁員20% 或2萬人失業

    據外媒彭博社的報道,在當地時間4月24日,英特爾宣布裁員計劃,比例超20%。按照截至2024年底英特爾全球擁有108900名員工來計算的話,預計此次裁員將波及大約2.2萬名員工。旨在精簡管理,并重
    的頭像 發表于 04-25 17:34 ?625次閱讀

    英特爾? 具身智能大小腦融合方案發布:構建具身智能落地新范式

    ?今日舉辦的2025英特爾具身智能解決方案推介會上,英特爾正式發布其具身智能大小腦融合方案(下稱具身智能方案)。該方案基于英特爾? 酷睿? Ultra處理器的強大算力,以及全新的具身
    發表于 04-18 17:26 ?992次閱讀
    <b class='flag-5'>英特爾</b>? 具身智能大小腦融合方案發布:構建具身智能落地新范式

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

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

    英特爾借助開放生態系統,加速邊緣AI創新

    英特爾推出全新AI邊緣系統、邊緣AI套件和開放邊緣平臺軟件,賦能合作伙伴將AI無縫融入現有基礎設施 ? 英特爾發布全新英特爾?AI邊緣系統、邊緣AI
    發表于 03-21 11:31 ?335次閱讀
    <b class='flag-5'>英特爾</b>借助開放生態系統,加速邊緣AI創新