工業(yè)生產(chǎn)要實(shí)現(xiàn)自動(dòng)化,必然離不開(kāi)機(jī)器視覺(jué)的幫忙。 RZ/A2M集成了瑞薩特有的DRP(動(dòng)態(tài)可重新配置處理器)技術(shù),擁有超高性能的圖形圖像處理能力。DRP在擁有硬件級(jí)別運(yùn)算能力的同時(shí),也能夠從軟件層面對(duì)運(yùn)算邏輯進(jìn)行實(shí)時(shí)修改,保證了靈活性的同時(shí)也擁有不俗的圖像處理能力。本文中,我們將重點(diǎn)介紹RZ/A2M在工業(yè)自動(dòng)化領(lǐng)域應(yīng)用的優(yōu)勢(shì),包括更高的圖像處理能力以及超低的功耗。 視頻中的機(jī)械臂之所以能夠如此靈活的識(shí)別并抓取目標(biāo)物體,是因?yàn)橛蠷Z/A2M獨(dú)有的DRP模塊對(duì)機(jī)器視覺(jué)的圖像處理過(guò)程進(jìn)行加速。外接的顯示器上可以看到,整個(gè)圖像處理流程(包括bayer轉(zhuǎn)RGB、陰影校正&白平衡、RGB轉(zhuǎn)二值化圖像、尋找輪廓、圖像降噪、Bayer轉(zhuǎn)灰階送顯示等)只用了不到3ms,最終達(dá)到VGA(640x480)分辨率下60fps的優(yōu)良性能。 什么是DRP? DRP全稱(chēng)是Dynamically Reconfigurable Processer,即動(dòng)態(tài)可重配置處理器。是瑞薩獨(dú)創(chuàng)的體系結(jié)構(gòu),能夠動(dòng)態(tài)的調(diào)整硬件運(yùn)算單元的邏輯電路,實(shí)現(xiàn)各式各樣的運(yùn)算功能。 DRP有6個(gè)獨(dú)立的單元稱(chēng)為“Tile”,它們可以加載多個(gè)配置數(shù)據(jù)(即算法庫(kù))并且并行的執(zhí)行,這些算法庫(kù)存放在系統(tǒng)內(nèi)存中,在需要的時(shí)候由CPU下發(fā)指令將其加載到各個(gè)Tile中。 任何時(shí)候都可以修改各個(gè)Tile中的算法庫(kù),并且在修改過(guò)程中不會(huì)影響其它Tile的運(yùn)行。 DRP采用動(dòng)態(tài)加載的方法可以在極小的硬件資源上實(shí)現(xiàn)應(yīng)用對(duì)不同圖像處理算法高速處理的需求。 DRP憑什么這么優(yōu)秀? DRP是一個(gè)硬件資源,所有的運(yùn)算邏輯都在硬件層面實(shí)現(xiàn),每個(gè)Tile都是一個(gè)獨(dú)立的運(yùn)算單元,Tile擁有的硬件資源是一定的,所以當(dāng)有算法庫(kù)用到的硬件資源較多的時(shí)候,就需要兩個(gè)甚至更多的Tile來(lái)協(xié)同配合,以下是DRP所擁有的硬件資源。 Tile No. Tile0 Tile1 Tile2 Tile3 Tile4 Tile5 PE(Processer Element) 48 48 48 48 48 48 MUL16(16bit Multiplier) 3 3 3 3 3 3 MUL32(32bit Multiplier) 1 1 1 1 1 1 DIV32(32bit Divider) 1 - - 1 - - CNT(Loop Counter) 1 1 1 1 1 1 Hmem(Large Memory, 4Kb) 1 1 1 1 1 1 Vmem(Small Memory, 512B) 1 1 1 1 1 1 DRP在運(yùn)行的過(guò)程中,會(huì)自動(dòng)的根據(jù)算法庫(kù)的復(fù)雜程度,靈活的對(duì)硬件資源進(jìn)行一些整合,比如在一個(gè)Tile內(nèi),將兩個(gè)16bit的乘法器合并成一個(gè)32bit的乘法器使用;或者將一個(gè)16bit的乘法器與一個(gè)計(jì)數(shù)器組合使用等。進(jìn)一步擴(kuò)大了DRP的運(yùn)算能力。 硬件的運(yùn)算能力我們都非常清楚,比如目前應(yīng)用非常廣泛的FPGA的算力就和CPU完全不在一個(gè)量級(jí),然而FPGA的缺陷也很明顯,就是運(yùn)算規(guī)模直接和門(mén)電路數(shù)量掛鉤,需要實(shí)現(xiàn)復(fù)雜的算法就必須用更多的門(mén)數(shù),而且一旦算法要求的門(mén)數(shù)超出了項(xiàng)目初期的FPGA選型,則不得不更換更大規(guī)模的FPGA,非常的不方便。 這個(gè)時(shí)候,DRP的靈活性就體現(xiàn)出來(lái)了,它不僅可以在庫(kù)與庫(kù)之間靈活切換,在同一個(gè)庫(kù)的內(nèi)部,也能在不同的時(shí)鐘周期內(nèi),動(dòng)態(tài)調(diào)整運(yùn)算電路之間的邏輯,來(lái)實(shí)現(xiàn)各種各樣的運(yùn)算方式。通過(guò)這種分時(shí)復(fù)用的方式,最大限度的提升了運(yùn)算性能,給小體積發(fā)揮大能力提供了無(wú)限可能。 動(dòng)態(tài)可重配置的性能可以在1個(gè)時(shí)鐘周期內(nèi)內(nèi)修改運(yùn)算電路的組合方式,動(dòng)態(tài)加載可以在1ms內(nèi)重新裝載整個(gè)新的算法庫(kù)。 DRP甚至可以通過(guò)多個(gè)Tile運(yùn)行同一個(gè)算法庫(kù)來(lái)提高處理速度。比如將一張圖片等分為6份,交給6個(gè)Tile進(jìn)行圖像處理,性能直接在原有的基礎(chǔ)上提升6倍! 一般來(lái)說(shuō),性能提升往往會(huì)伴隨著功耗的增加。但是用DRP來(lái)提升圖像處理能力是一種另辟蹊徑的優(yōu)化方式,而且這種方式的能耗要遠(yuǎn)遠(yuǎn)低于CPU的能耗。 如何使用DRP? 前邊介紹了諸多DRP的優(yōu)勢(shì),大家可能對(duì)于DRP的使用方法有諸多猜測(cè),可能會(huì)擔(dān)心難以上手。但是!不用擔(dān)心!瑞薩電子為大家提供了完整的服務(wù),目前我們開(kāi)發(fā)了大約50個(gè)算法庫(kù)供大家使用,大部分算法庫(kù)與opencv庫(kù)的功能和接口相似,非常方便即可在一個(gè)普通的工程中使用DRP。 圖為cv庫(kù)和DRP庫(kù)的切換 下面我們以Bayer轉(zhuǎn)RGB的庫(kù)為例,看看在使用DRP的時(shí)候需要做哪些事情。 首先是函數(shù)接口,需要提供的參數(shù)包括輸入地址、輸出地址、圖像寬高以及是否使用tinning(在轉(zhuǎn)換過(guò)程中可以同時(shí)對(duì)圖像尺寸進(jìn)行壓縮)。 在函數(shù)內(nèi)部,需要先將DRP的庫(kù)load到DRP硬件中去,g_drp_lib_bayer_binning2rgb這個(gè)數(shù)組中存放的就是編譯好的二進(jìn)制格式DRP庫(kù)。我們使用6個(gè)Tile并行處理一張圖片的方式,因此給6個(gè)Tile都load此庫(kù)。 Load之后,依次給每個(gè)Tile傳入計(jì)算參數(shù)并啟動(dòng)它。由于這里是同一張圖裁成6份,所以每個(gè)Tile只負(fù)責(zé)一張圖的1/6,因此在這里需要分別計(jì)算每個(gè)Tile的起始位置和輸出位置。計(jì)算完畢后下發(fā)Start命令讓這個(gè)Tile開(kāi)始運(yùn)行。 最后等待6個(gè)Tile全部運(yùn)算完畢即可。 下面我們來(lái)具體看看,機(jī)械臂是如何借助DRP的強(qiáng)大功能,實(shí)現(xiàn)了如此快速的物體檢測(cè)與跟蹤的。 在機(jī)械臂上電初始化以后,暫時(shí)沒(méi)有找到目標(biāo),所以工作在物體檢測(cè)的模式。這個(gè)模式的工作流程如下: 可以看到camera采集到一幀圖像后, ① 由DRP做了一次Bayer到RGB的轉(zhuǎn)換,這個(gè)轉(zhuǎn)換同時(shí)將圖像的寬高壓縮到了原來(lái)的1/4,可以在不丟失準(zhǔn)確率的前提下加快后續(xù)流程的速度;這個(gè)庫(kù)只占用1個(gè)tile,所以可以將圖片拆分成6份同時(shí)進(jìn)行,耗時(shí)0.4ms。 ② 給DRP中l(wèi)oad陰影校正&白平衡的庫(kù),對(duì)上一步的結(jié)果做矯正,這個(gè)庫(kù)由于使用的資源較多,占用兩個(gè)tile,所以需要把圖像拆分成3份操作,耗時(shí)0.8ms。 ③ 由RGB圖轉(zhuǎn)換為HSV圖并提取其中V的值。方便后續(xù)的移動(dòng)物體檢測(cè)以及輪廓提取,耗時(shí)0.2ms。 ④ 使用“加權(quán)移動(dòng)平均法”提取運(yùn)動(dòng)的物體,此算法耗時(shí)0.6ms。 ⑤ 根據(jù)上一步得出的物體信息,尋找輪廓和中心點(diǎn)。(由CPU完成) ⑥ 如果找到目標(biāo),則轉(zhuǎn)入物體跟蹤的流程,否則重復(fù)這個(gè)過(guò)程。 ⑦ 其它一些顯示相關(guān)的處理流程。 假如上述流程中找到了目標(biāo),那么就會(huì)進(jìn)入物體跟蹤的流程,物體跟蹤模式的工作流程如下 ① 可以看到前兩步處理方式都是一樣的,Bayer轉(zhuǎn)RGB + 陰影校正&白平衡共消耗1.2ms。 ② 由于這個(gè)模式中已經(jīng)確定畫(huà)面中存在物體,所以直接對(duì)圖像進(jìn)行二值化處理,調(diào)用DRP中RGB轉(zhuǎn)Binary的庫(kù)進(jìn)行轉(zhuǎn)換操作,耗時(shí)0.8ms。 ③ 由CPU尋找輪廓并計(jì)算中心點(diǎn)坐標(biāo)和角度。 CPU分別計(jì)算坐標(biāo)、角度與畫(huà)面中心的偏差值,并根據(jù)此值調(diào)整各個(gè)電機(jī)的控制量,耗時(shí)0.7ms。 ④ 由于前序?qū)D像尺寸做了壓縮,所以上一步計(jì)算的坐標(biāo)并不是實(shí)際坐標(biāo),還需要進(jìn)行一次坐標(biāo)換算。 ⑤ 用于顯示的Bayer轉(zhuǎn)灰階圖的庫(kù),以及其他顯示相關(guān)的流程,耗時(shí)0.3ms。 目前我們可以提供的約50個(gè)庫(kù)都能實(shí)現(xiàn)2~80倍不等的性能提升,這些性能提升是相對(duì)于RZ/A2M 528MHz Cortex A9 CPU做的對(duì)比。DRP庫(kù)對(duì)性能的提升普遍在10~20倍之間,10倍以下的庫(kù)提升效果不明顯的原因是這些算法本身過(guò)于簡(jiǎn)單,優(yōu)化空間太小。以下列舉了部分現(xiàn)有的庫(kù)以及運(yùn)算能力對(duì)比供大家參考。 當(dāng)然,如果客戶(hù)有想要的庫(kù)是我們暫時(shí)沒(méi)有的,也可以給瑞薩電子提需求,我們會(huì)綜合考慮后安排到后續(xù)開(kāi)發(fā)計(jì)劃中。 或者,如果客戶(hù)有一些自有的比較機(jī)密的算法想移植到DRP中使用,我們也可以提供DRP庫(kù)開(kāi)發(fā)的相關(guān)培訓(xùn),手把手教你開(kāi)發(fā)DRP庫(kù)。
上一篇:基于高頻信號(hào)注入的永磁同步電機(jī)無(wú)傳感器控制策略研究
下一篇:面向稱(chēng)重包裝一體化的嵌入式控制開(kāi)發(fā)平臺(tái)設(shè)計(jì)
推薦閱讀最新更新時(shí)間:2025-05-26 12:11


- 脈沖信號(hào)是什么如何產(chǎn)生的?
- 使用DEEPCRAFT?和MicroPython輕松實(shí)現(xiàn)邊緣AI
- 類(lèi)腦計(jì)算,進(jìn)入邊緣AI
- Linux 6.15 內(nèi)核正式上線:優(yōu)化內(nèi)存管理、提升文件系統(tǒng)性能等
- Arm 生態(tài)系統(tǒng):從云端到邊緣全面驅(qū)動(dòng) AI
- 華為正式推出昇騰超節(jié)點(diǎn)技術(shù)
- 中科曙光與海光信息宣布戰(zhàn)略重組
- DIY項(xiàng)目代碼編寫(xiě)入門(mén)
- 貿(mào)澤開(kāi)售Raspberry Pi用于嵌入式和IIoT應(yīng)用的RP2350微控制器
- #第六屆立創(chuàng)電賽#DIY收音機(jī)功放
- 具有折返電流限制的 OP495GSZ 低壓差、500mA 穩(wěn)壓器的典型應(yīng)用
- 具有 6uA 反向泄漏電流的 LT1767EMS8-3.3 雙源電源的典型應(yīng)用電路
- 笨蛋派stupid Pi STM32G070RBT6 開(kāi)發(fā)板V2.0
- #第七屆立創(chuàng)電賽#usb數(shù)控可調(diào)電源
- ONS321A5VGEVB:5 Vgs MOSFET 評(píng)估板
- 使用 Analog Devices 的 LT1304CS8-5 的參考設(shè)計(jì)
- 用于可調(diào)穩(wěn)壓器的 NCV2951 100 mA、低功耗低壓降穩(wěn)壓器的典型應(yīng)用
- VL6180 Nucleo套件,包括VL6180擴(kuò)展板和STM32F401RE Nucleo
- STR-NCP164A-WDFN6-GEVB:Strata Enabled NCP164A 可調(diào) LDO,WDFN6 封裝評(píng)估板
- 利用驗(yàn)證框架 JAIST揭示開(kāi)源自動(dòng)駕駛系統(tǒng)的安全漏洞
- 現(xiàn)代汽車(chē)集團(tuán)擬采用VR模擬器替代道路測(cè)試 提升未來(lái)車(chē)型的競(jìng)爭(zhēng)力
- 研究人員開(kāi)發(fā)光驅(qū)動(dòng)致動(dòng)器 可用于驅(qū)動(dòng)水下機(jī)器人
- 吉利將發(fā)射“千里浩瀚”衛(wèi)星,實(shí)現(xiàn)輔助駕駛系統(tǒng)與衛(wèi)星功能深度融合
- 以鴻道工業(yè)操作系統(tǒng)為核心 打造工業(yè)智能機(jī)器人新生態(tài)
- UNIST研發(fā)出新表面處理技術(shù) 延長(zhǎng)下一代鋰金屬電池的壽命
- 車(chē)載SerDes芯片行業(yè)的"DeepSeek"時(shí)刻——瑞發(fā)科HSMT SerDes閃耀2025上海車(chē)展
- 豐田顛覆傳統(tǒng),固態(tài)電池明年就能量產(chǎn),最受傷的將是中國(guó)?
- 基于恩智浦與onsemi的駕駛員監(jiān)控系統(tǒng)方案
- 機(jī)器人行業(yè)周報(bào)|5月27日:宇樹(shù)G1格斗賽、人形機(jī)器人技術(shù)與場(chǎng)景融合趨勢(shì)
- MSP430的BIT的問(wèn)題?
- 51、、avr、、pi單片機(jī)有什么區(qū)別
- IR’s 8-Pin High Efficiency Resonant Half-Bridge Control ICs
- EK-LM3S 811-ND Rev3 驅(qū)動(dòng)無(wú)法安裝
- 如何學(xué)好嵌入式系統(tǒng)開(kāi)發(fā)
- DIY改裝公交卡PCB電路板全球限量尊享定制版
- 中斷驅(qū)動(dòng)多任務(wù)--- 單片機(jī)(MCU) 下的一種軟件設(shè)計(jì)結(jié)構(gòu)
- 【曬樣片】+TI 工業(yè)電池監(jiān)控產(chǎn)品 BQ76940 樣品申請(qǐng)
- 【R7F0C809】驅(qū)動(dòng)74hc595
- 如何將一個(gè)全局變量寫(xiě)到FLASH的固定位置上?