智能駕駛計(jì)算平臺(tái)應(yīng)用技術(shù) 課件 課件 5-3基于ADSF框架完成視覺(jué)目標(biāo)檢測(cè)算法的開(kāi)發(fā)_第1頁(yè)
智能駕駛計(jì)算平臺(tái)應(yīng)用技術(shù) 課件 課件 5-3基于ADSF框架完成視覺(jué)目標(biāo)檢測(cè)算法的開(kāi)發(fā)_第2頁(yè)
智能駕駛計(jì)算平臺(tái)應(yīng)用技術(shù) 課件 課件 5-3基于ADSF框架完成視覺(jué)目標(biāo)檢測(cè)算法的開(kāi)發(fā)_第3頁(yè)
智能駕駛計(jì)算平臺(tái)應(yīng)用技術(shù) 課件 課件 5-3基于ADSF框架完成視覺(jué)目標(biāo)檢測(cè)算法的開(kāi)發(fā)_第4頁(yè)
智能駕駛計(jì)算平臺(tái)應(yīng)用技術(shù) 課件 課件 5-3基于ADSF框架完成視覺(jué)目標(biāo)檢測(cè)算法的開(kāi)發(fā)_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

《智能駕駛計(jì)算平臺(tái)應(yīng)用技術(shù)》任務(wù)三

基于ADSF框架完成視覺(jué)目標(biāo)檢測(cè)算法的開(kāi)發(fā)能力模塊五

掌握視覺(jué)目標(biāo)檢測(cè)算法的開(kāi)發(fā)方法《智能駕駛計(jì)算平臺(tái)應(yīng)用技術(shù)》情景導(dǎo)入Situationintroduction公司在研究了市面上的車(chē)載計(jì)算平臺(tái)后,最終選擇了華為MDC安裝于新上市車(chē)型,你作為視覺(jué)算法工程師,接到了基于ADSF框架開(kāi)發(fā)目標(biāo)檢測(cè)算法的任務(wù)。知識(shí)目標(biāo)1.了解視覺(jué)感知的功能2.了解目標(biāo)檢測(cè)任務(wù)的分類(lèi)3.了解目標(biāo)檢測(cè)算法的分類(lèi)1.掌握基于ADSF框架完成目標(biāo)檢測(cè)算法的開(kāi)發(fā)能力技能目標(biāo)1.從實(shí)踐中加深職業(yè)技能的能力素養(yǎng)目標(biāo)Learningobjective學(xué)習(xí)目標(biāo)視覺(jué)感知任務(wù)認(rèn)知01.目標(biāo)檢測(cè)任務(wù)認(rèn)知02.基于框架開(kāi)發(fā)AI/NN類(lèi)算法應(yīng)用流程03.基于ADSF框架完成視覺(jué)目標(biāo)檢測(cè)算法的開(kāi)發(fā)04.《智能駕駛計(jì)算平臺(tái)應(yīng)用技術(shù)》視覺(jué)感知系統(tǒng)主要以攝像頭作為傳感器輸入,經(jīng)過(guò)一系列的計(jì)算和處理,對(duì)自車(chē)周?chē)沫h(huán)境信息做精確感知。目的在于為融合模塊提供準(zhǔn)確豐富的信息,包括被檢測(cè)物體的類(lèi)別、距離信息、速度信息、朝向信息,同時(shí)也能夠給出抽象層面的語(yǔ)義信息。視覺(jué)感知任務(wù)認(rèn)知目標(biāo)檢測(cè)任務(wù)主要包含檢測(cè)是否存在感興趣目標(biāo),目標(biāo)語(yǔ)義分類(lèi),定位目標(biāo)位置,以及確定目標(biāo)所占空間范圍等。目標(biāo)檢測(cè)任務(wù)認(rèn)知目標(biāo)檢測(cè)是計(jì)算機(jī)視覺(jué)中的經(jīng)典任務(wù),最常見(jiàn)的是二維RGB圖像中的目標(biāo)檢測(cè),而無(wú)人駕駛車(chē)載傳感器多樣,基于激光雷達(dá)、毫米波雷達(dá)或者超聲波雷達(dá)的目標(biāo)檢測(cè)也是必不可少的。目標(biāo)檢測(cè)任務(wù)按檢測(cè)物體類(lèi)別可分為道路參與者檢測(cè)(包括車(chē)輛、行人、非機(jī)動(dòng)車(chē)等),交通標(biāo)志檢測(cè)(包括道路邊界線(xiàn)、車(chē)道線(xiàn)、交通指示牌和錐桶等),以及通用障礙物檢測(cè)。目標(biāo)檢測(cè)任務(wù)認(rèn)知目標(biāo)檢測(cè)任務(wù)認(rèn)知兩步法一步法神經(jīng)網(wǎng)絡(luò)(NeuralNetwork,NN)一般也稱(chēng)為人工神經(jīng)網(wǎng)絡(luò)(ArtificialNeuralNetwork,ANN)。人工神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)模仿人腦,具有并行處理特征,可以大大提高計(jì)算機(jī)的工作速度?;诳蚣荛_(kāi)發(fā)AI/NN類(lèi)算法應(yīng)用流程開(kāi)發(fā)流程:Camera目標(biāo)檢測(cè)Demo接收?qǐng)D像數(shù)據(jù),經(jīng)過(guò)NN算法檢測(cè)出目標(biāo)物的2D輪廓,將輪廓發(fā)送給下個(gè)節(jié)點(diǎn)?;贏DSF框架完成視覺(jué)目標(biāo)檢測(cè)算法的開(kāi)發(fā)1、開(kāi)發(fā)前準(zhǔn)備工作①接通Camera傳感器:完成攝像頭的接入,保證Camera抽象有圖像輸出。②選定ADSF框架:選擇算法插件框架:③選擇接收與發(fā)送端口:基于ADSF框架完成視覺(jué)目標(biāo)檢測(cè)算法的開(kāi)發(fā)選擇的框架框架輸入數(shù)據(jù)框架輸入instanceid框架輸出數(shù)據(jù)框架輸出instanceidCameraDetBaseImageFrame10~14(Mini0)20~24(Mini1)30~34(Mini2)40~44(Mini3)Haf3dDetectionOutArray1001~1003(Mini0)1004~1006(Mini1)1007~1009(Mini2)1010~1012(Mini3)(一)詳細(xì)實(shí)現(xiàn)過(guò)程①框架初始化②NN初始化③獲取輸入圖像④圖像預(yù)處理⑤模型推理⑥解析結(jié)果并發(fā)送基于ADSF框架完成視覺(jué)目標(biāo)檢測(cè)算法的開(kāi)發(fā)(一)詳細(xì)實(shí)現(xiàn)過(guò)程2、整體流程基于ADSF框架完成視覺(jué)目標(biāo)檢測(cè)算法的開(kāi)發(fā)(一)詳細(xì)實(shí)現(xiàn)過(guò)程3、詳細(xì)過(guò)程步驟1:框架初始化CameraDetDemoApp::Initialize1. Adsfi::CameraDetBasecamDetBase{"Config.yaml"}; //實(shí)例化CameraDet框架2. camDetBase.Init();

//框架初始化,主要是讀取配置文件,啟動(dòng)接收與發(fā)送服務(wù)3. Haflnitialize(context,contextParam); //初始化NN硬件加速基于ADSF框架完成視覺(jué)目標(biāo)檢測(cè)算法的開(kāi)發(fā)(一)詳細(xì)實(shí)現(xiàn)過(guò)程3、詳細(xì)過(guò)程步驟2:NN初始化ImageDetInference::Initialize1. HafCreatContext(context);

//創(chuàng)建每個(gè)推理線(xiàn)程中所要使用的context2. HafDNNModelInitialize(dnnHandle,modelFile);

//通過(guò)模型文件名加載NN模型3. HafDNNModelCreateInput(dnnHandle);

//創(chuàng)建模型的輸入空間,保存在dnnHandle中4. HapfDNNModelCreateOutput(dnnHandle);

//創(chuàng)建模型輸出空間,保存在dnnHandle中5. HafStreamCreate(stream);

//創(chuàng)建stream6. HafCreateChannel(channelId);

//創(chuàng)建圖像預(yù)處理要使用的channelid基于ADSF框架完成視覺(jué)目標(biāo)檢測(cè)算法的開(kāi)發(fā)(一)詳細(xì)實(shí)現(xiàn)過(guò)程3、詳細(xì)過(guò)程步驟3:獲取輸入圖像CameraDetDemoApp::ObjectDetectionThread1. while(!camDetBase.IsStop()){2. autoimg=camDetBase.GetImage(instanceld);

//獲取傳感器發(fā)送過(guò)來(lái)的圖像...}基于ADSF框架完成視覺(jué)目標(biāo)檢測(cè)算法的開(kāi)發(fā)(一)詳細(xì)實(shí)現(xiàn)過(guò)程3、詳細(xì)過(guò)程步驟4:圖像預(yù)處理1. CameraDetDemoApp::PrepareDvppMemory2. ImageDetInference::PrepareDvppMemory(input,output)3. HafImageMallocAligned(dvppInput)//提前申請(qǐng)dvpp上的內(nèi)存,用于圖像預(yù)處理的輸入4. HafImageMallocAligned(dvppOutput)//提前申請(qǐng)dvpp上的內(nèi)存,用于圖像預(yù)處理的輸出5. CameraDetDemoApp::PrepareImage4Model6. ImageDetInference.ImageResize(image.data,resizeOutImage)7. HafMemcpyToDvpp(inputImage,dvppInput)//將普通內(nèi)存上的圖像拷貝到DVPP內(nèi)存上8. HafImageResize(channelId,dvppInput,dvppOutput,type)//圖像resize基于ADSF框架完成視覺(jué)目標(biāo)檢測(cè)算法的開(kāi)發(fā)(一)詳細(xì)實(shí)現(xiàn)過(guò)程3、詳細(xì)過(guò)程步驟5:模型推理CameraDetDemoApp::ModelAddInput1. ImageNnInference::DNNModelAddInput(image.rawData,dataSize,index)2. HafDNNModelAddInput(dnnHandle,buffer,bufferSize,index));∥將圖像添加到輸入3. index++;4. ImageNnlnference::DNNModelAddInput(imglnfo.data(),imgInfoSizesizeof(float32_t),index)5. CHafDNNModelAddInput(dnnHandle,buffer,,bufferSize,index);∥將圖像信息添加到輸入6. ImageNnlnference::DNNModelProcess()7. HafDNNModelProcess(dnnHandle); ∥執(zhí)行模型推理基于ADSF框架完成視覺(jué)目標(biāo)檢測(cè)算法的開(kāi)發(fā)(一)詳細(xì)實(shí)現(xiàn)過(guò)程3、詳細(xì)過(guò)程步驟6:解析結(jié)果并發(fā)送1. ImageNnInference::DNNModelGetOutputBuffer(index,&outBuffer,bufferSize)//傳入index=1,獲取bbox數(shù)量值的內(nèi)存地址2. HafDNNModelGetOutputBuffer(dnnHandle,index,buffer,bufferSize);3. ImageNnInference::DNNModelGetOutputBuffer(index,&outBuffer1,bufferSize)//傳入index=0,獲取bbox內(nèi)存地址4. HafDNNModelGetOutputBuffer(dnnHandle,index,buffer,bufferSize);5. CameraDetDemoApp::PostProcess(boxNum,oriHeight,oriWidth,static_cast<float32_t*>(outBuffer1),out); //解析bbox6. camDetBase.SendObject(data,camDetBase.GetResultObjInsldx());

//將解析的結(jié)果發(fā)送出去基于ADSF框架完成視覺(jué)目標(biāo)檢測(cè)算法的開(kāi)發(fā)(一)詳細(xì)實(shí)現(xiàn)過(guò)程4、配置文件每個(gè)框架都有一個(gè)需要配置的Config.yaml文件,配置文件中定義了日志模式,日志級(jí)別,框架輸入輸出instanceid等重要信息,用戶(hù)需要根據(jù)業(yè)務(wù)需求自行修改。1. %YAML:1.02. appName:CamD #節(jié)點(diǎn)名稱(chēng),日志打印的關(guān)鍵字3. description:Camera2Ddetectionmodule4. priority:0#{0…12}當(dāng)前未使用5. scheduleFrequency:30#當(dāng)前末使用6. isDetermineSchedule:false#{true,false}當(dāng)前未使用7. logFile:./#日志路徑,當(dāng)1ogMode配置有指定文件存儲(chǔ)時(shí),使用本路徑存儲(chǔ)日志,日志文件名為

$TappName.log基于ADSF框架完成視覺(jué)目標(biāo)檢測(cè)算法的開(kāi)發(fā)(一)詳細(xì)實(shí)現(xiàn)過(guò)程4、配置文件每個(gè)框架都有一個(gè)需要配置的Config.yaml文件,配置文件中定義了日志模式,日志級(jí)別,框架輸入輸出instanceid等重要信息,用戶(hù)需要根據(jù)業(yè)務(wù)需求自行修改。8. logMode:6#{0,1,2,3,45,6}0:remote日志1:console日志2:本地日志3:remote日志+console日志4:remote日志+本地日志5:console日志+本地日志6:remote日志+console日志+本地日志9. logLevel:0#{0,1,2,3,4,5,6},0:verbose,1:debug,2:info,3:warn,4:error,5:fatal,6:off10. recvQueueSize:2#當(dāng)前未使用11. recvInstanceID:12. cameralnstanceID:[11,12,13]#接收多個(gè)camera圖像數(shù)據(jù)的instanceid13. sendInstancelD:14. detectionOutInstanceID:1001 #發(fā)送結(jié)果的instanceid基于ADSF框架完成視覺(jué)目標(biāo)檢測(cè)算法的開(kāi)發(fā)(二)算法編譯、運(yùn)行1、Demo編譯使用MDS工具導(dǎo)入整個(gè)ADSF_Sample工程?;贏DSF框架完成視覺(jué)目標(biāo)檢測(cè)算法的開(kāi)發(fā)(二)算法編譯、運(yùn)行1、Demo編譯使用MDS工具導(dǎo)入整個(gè)ADSF_Sample工程。基于ADSF框架完成視覺(jué)目標(biāo)檢測(cè)算法的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論