TWI804406B - 基於智慧處理器的飛行時間資料處理裝置與其資料處理方法 - Google Patents
基於智慧處理器的飛行時間資料處理裝置與其資料處理方法 Download PDFInfo
- Publication number
- TWI804406B TWI804406B TW111129429A TW111129429A TWI804406B TW I804406 B TWI804406 B TW I804406B TW 111129429 A TW111129429 A TW 111129429A TW 111129429 A TW111129429 A TW 111129429A TW I804406 B TWI804406 B TW I804406B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- unit
- data processing
- time
- flight
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 67
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000004364 calculation method Methods 0.000 claims abstract description 67
- 230000010363 phase shift Effects 0.000 claims description 36
- 230000009466 transformation Effects 0.000 claims description 27
- 238000000034 method Methods 0.000 claims description 25
- 239000011159 matrix material Substances 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 22
- 238000001914 filtration Methods 0.000 claims description 15
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 8
- 238000012937 correction Methods 0.000 claims description 8
- 102100025800 E3 SUMO-protein ligase ZBED1 Human genes 0.000 description 18
- 101000786317 Homo sapiens E3 SUMO-protein ligase ZBED1 Proteins 0.000 description 18
- 238000006243 chemical reaction Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000007620 mathematical function Methods 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 239000012925 reference material Substances 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
- Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)
- Radar Systems Or Details Thereof (AREA)
- Traffic Control Systems (AREA)
- Record Information Processing For Printing (AREA)
Abstract
資料處理方法包含下列操作:藉由一智慧處理器中的一向量計算單元根據經由一飛行時間測距裝置所產生的一感測資料執行一條件邏輯處理及一圖像差計算,以用以產生一深度資料;以及,藉由該智慧處理器中的一乘法累加運算單元根據該深度資料執行一濾波處理以產生一輸出資料。
Description
本案是關於飛行時間測距系統,尤其是此系統中使用智慧處理器來處理飛行時間資料的資料處理裝置與其資料處理方法。
飛行時間(time-of-flight)測距感測器所提供的原始資料需要透過一定計算才能轉換成有效的距離或深度資訊,因此,計算時間會影響到整體系統後續的資料處理與應用。在現有技術中,多是使用一般的通用處理器來執行深度資訊的轉換,或是使用多線程的處理架構來加速深度資訊的轉換。然而,為了承受較高的計算量,上述這些技術都需要使用計算能力較強的處理器或處理架構,使得整體功率消耗與硬體成本都會增加。
於一些實施態樣中,本案的目的之一在於提供一種使用智慧處理器(intelligence processing unit)來協助處理飛行時間資料的飛行時間資料處理裝置與其資料處理方法,以改善先前技術的不足。
於一些實施態樣中,飛行時間資料處理裝置包含智慧處理器。智慧處理器,對一飛行時間測距裝置所產生的一感測資料進行下列操作:根據該感測資料執行一條件邏輯處理及一圖像差計算,以用以產生一深度資料;以及根據該深度資料執行一濾波處理以產生一輸出資料。其中該智慧處理器包含一向量計算單元以及一乘法累加運算單元,該條件邏輯處理是由該向量計算單元執行,且該濾波處理是由該乘法累加運算單元執行。
於一些實施態樣中,資料處理方法包含下列操作:藉由一智慧處理器中的一向量計算單元根據經由一飛行時間測距裝置所產生的一感測資料執行一條件邏輯處理及一圖像差計算,以用以產生一深度資料;以及藉由該智慧處理器中的一乘法累加運算單元根據該深度資料執行一濾波處理以產生一輸出資料。
有關本案的特徵、實作與功效,茲配合圖式作較佳實施例詳細說明如下。
100:測距系統
110:飛行時間(TOF)測距裝置
112:光源模組
114:感測模組
120:飛行時間資料處理裝置
122:記憶體
124:中央處理器
126:智慧處理器
126A:電源與時脈管理模組
126B:直接記憶體存取(DMA)控制器
126C:向量計算單元
126D:查表單元
126E:指令解碼器
126F:乘法累加運算(MAC)單元
126G:記憶體
126H:匯流排
700:資料處理方法
D1~D4,D7~D8:資料
D5:廣播資料
D6:查找表
D9:卷積核資料
DM:遮罩資料
DREF:參考資料
P1:傳輸路徑
S210,S220,S230,S240:操作
S710,S720,S730,S740,S750:操作
SD:感測資料
〔圖1〕為根據本案一些實施例所繪製的一種測距系統的示意圖;
〔圖2〕為根據本案一些實施例繪製圖1的智慧處理器協同中央處理器所執行的飛行時間算法的計算流程圖;〔圖3〕為根據本案一些實施例繪製圖1的記憶體中用來執行圖2的相位轉換之多個資料的示意圖。
〔圖4A〕為根據本案一些實施例繪製圖1的記憶體中用來執行圖2的相位轉換之多個資料的示意圖;〔圖4B〕為根據本案一些實施例繪製圖1的記憶體中用來執行圖2的深度轉換之多個資料的示意圖;〔圖5〕為根據本案一些實施例繪製圖1的記憶體中用來執行圖2中的相位轉換與深度轉換中的非線性函數之多個資料的示意圖;〔圖6〕為根據本案一些實施例繪製圖1的記憶體中用來執行圖2的濾波處理之多個資料的示意圖;以及〔圖7〕為根據本案一些實施例繪製一種資料處理方法的流程圖。
本文所使用的所有詞彙具有其通常的意涵。上述之詞彙在普遍常用之字典中之定義,在本案的內容中包含任一於此討論的詞彙之使用例子僅為示例,不應限制到本案之範圍與意涵。同樣地,本案亦不僅以於此說明書所示出的各種實施例為限。
關於本文中所使用之『耦接』或『連接』,均可指二或多個元件相互直接作實體或電性接觸,或是相互間接作實體或電性接觸,亦可指二或
多個元件相互操作或動作。如本文所用,用語『電路』可為由至少一個電晶體與/或至少一個主被動元件按一定方式連接以處理訊號的裝置。
圖1為根據本案一些實施例所繪製的一種測距系統100的示意圖。於一些實施例中,測距系統100可利用飛行時間(time-of-flight,TOF)算法來獲得一物體的距離資訊,從而算出該物體的深度資訊與/或輪廓資訊。
測距系統100包含TOF測距裝置110以及飛行時間資料處理裝置120。TOF測距裝置110包含光源模組112以及感測模組114。光源模組112可根據感測模組114的控制向物體發出光訊號,而感測模組114可感測從物體反射回來的光訊號,並對此訊號進行後續的訊號處理、類比數位轉換等操作來產生感測資料SD,並傳輸感測資料SD到飛行時間資料處理裝置120以進行後續的運算。
於一些實施例中,感測模組114可包含時脈產生器(未示出)與溫度感測電路。時脈產生器可產生各個電路所需要的時序,且感測模組114可根據時脈產生器所產生的時脈訊號以及溫度感測電路所感測到當前環境的操作溫度來動態地調變光訊號的周期。上述關於TOF測距裝置110的設置方式用於示例,且本案並不以此為限。
飛行時間資料處理裝置120包含記憶體122、中央處理器124以及智慧處理器(Intelligence Processing Unit,IPU)126。在一些實施例中,記憶體122可為,但不限於,動態隨機存取記憶體。記憶體122由中央處理器124以及智慧處理器126共用。智慧處理器126為可執行機器學習模型與/或神經網路模型的處理器。於一些實施例中,智慧處理器126可對圖像資料進行卷積運算,以分析該圖像資料中的特徵資訊。於一些實施例中,智慧處理器126包含電源與時脈管理模組126A、直接記憶體存取(direct memory access,DMA)控制器126B、向
量計算單元126C、查表單元126D、指令解碼器126E、乘法累加運算(multiply accumulate,MAC)單元126F、記憶體126G以及匯流排(BUS)126H,其中上述多個模組與/或單元可經由匯流排126H耦接以相互溝通。電源與時脈管理模組126A可提供並設定其他模組與/或單元的電能以及時序。
當DMA控制器126B收到中央處理器124的指令後,DMA控制器126B可自記憶體122讀出至少一部分的感測資料SD並儲存至記憶體126G。在指令解碼器126E解碼完欲執行的指令後,向量計算單元126C、查表單元126D與/或MAC單元126F中的至少一對應者可自記憶體126G讀出相應的資料來進行運算。在所有的運算完成後,DMA控制器126B會將運算結果儲存回記憶體122,並儲存為輸出資料。在一些實施例中,輸出資料可包含,但不限於,欲偵測的物體的深度資訊。在一些實施例中,記憶體126G可為,但不限於,靜態隨機存取記憶體。
在一些相關技術中,通用的處理器被用來計算TOF測距感測器所產生的原始資料。由於該原始資料需要透過一定運算才能轉換成深度資訊,在該些技術中需要使用運算能力較高的處理器才能負荷上述的運算過程,導致整體功率消耗變高且會使得系統成本增加。相較於上述技術,在本案一些實施例中,是將處理TOF感測資料(例如為感測資料SD)中的多數運算分配給智慧處理器126來執行。如此,可充分利用智慧處理器126的運算特性來處理合適的運算,並與中央處理器124協同運作來處理其他剩餘的運算部分,以更有效率地獲得待測物體的距離與/或深度資訊。
為說明智慧處理器126所執行的相關運算,以下將簡單說明TOF算法的基本概念與運算流程。首先,如前所述,TOF算法是藉由光源模組112向
待測物體發出光訊號以量測待測物體與光源模組112之間的距離。由於光速是恆定的,因此,上述的距離可表示為下式(1),其中d為待測物體與光源模組112之間的距離,C0為光速,且△T為光源模組112發出光訊號至感測模組114收到反射的光訊號的時間。
然而,上述的式(1)是假設光源模組112以及感測模組114位於同一位置上。在實際應用上,光源模組112以及感測模組114會存在位置的偏差。此偏差可透過進一步的校正來修正。另外,在一些TOF算法中,若光源模組112是週期性地發射出光訊號,可藉由分析感測資料SD中的圖像資訊來分析光源模組112所發射的光訊號與感測模組114所收到的光訊號之間的相移(相當於時間偏移),並將此相移轉換為前述的距離d。例如,上述的轉換關係可表示為下式(2),其中,fm為光源模組112所發射的光訊號之頻率,而φ則是前述的相移。
圖2為根據本案一些實施例繪製圖1的智慧處理器126協同中央處理器124所執行的TOF算法的計算流程圖。在一些實施例中,智慧處理器126協同中央處理器124所執行的TOF算法可包含相位轉換(操作S210)、深度轉換(操作S220)、仿射變換(操作S230)以及濾波處理(操作S240)。為易於理解,下述說明著重於如何使用智慧處理器126來實現這些操作。在一些實施例中,可將現有的TOF算法中所使用的數學模型、函數與/或矩陣套用於上述多個操作,故於此不對數學模型、函數與/或矩陣之詳細設置方式多加贅述。
在操作S210中,根據感測資料(例如為感測資料SD)執行條件邏輯處理以產生第一中間資料,並根據第一中間資料決定相移資料(其包含相移φ的資訊),並根據相移資料執行條件邏輯處理以產生第二中間資料。
例如,為避免曝光過度或曝光不足的資訊造成計算錯誤,智慧處理器126可先將感測資料SD進行條件邏輯處理以將感測資料SD中的資料值修正到第一預定範圍內,並產生第一中間資料(即經修正的感測資料SD)。於一些實施例中,上述的條件邏輯處理可由圖1的向量計算單元126C執行,關於此處的操作說明將於後參照圖3說明。若光訊號在數學上可表示為gref(t)=cos(2πfmt),而對於給定的相移τi,相關訊號gcorr可表示為gcorr(t)=gref(t+τi)。在此概念上,可藉由分析第一中間資料來獲得多張相關圖像資料Ai,其可表示為下式(3),其中sin(t)相當於感測模組114所收到的圖像資訊(即感測資料SD)。
因此,在偵測反射光的過程中,感測模組114可控制光源模組112使用不同位置的光源送出光訊號(或是控制光源模組112使用同一光源在不同時間點發出光訊號),以得到多個相關圖像資料Ai。例如,相移τi可為0.5i×π,其中i為0,1,2,3。如此,可得到四張圖像資料A0~A3,並可進一步取得該些圖像資料A0~A3中兩者之間的圖像差(例如下述式(4)中的A3-A1以及A0-A2)。於此條件下,可使用反正切(arctan2)函數來處理該些圖像差,以獲得前述的相移資料(其包含前述相移φ的資訊),其中反正切函數的運算可表示為下式(4)。
φ=arctan2(A 3-A 1 ,A 0-A 2)…(4)
於一些實施例中,上述的兩張圖像之間的圖像差是利用同一個位置上的畫素值來進行運算,故可利用由圖1的向量計算單元126C所執行的逐元素(element wise)運算來取得圖像差,關於此處的說明將於後參照圖4A說明。於一些實施例中,反正切函數的運算可利用圖1的查表單元126D執行,關於此處的說明將於後參照圖5說明。例如,查表單元126D可根據兩個圖像差的數值(例如為A3-A1以及A0-A2)進行查表以獲取對應的距離d之數值。在獲得相移資料後,為消除不適當的相移值以確保資料的有效性,可將該相移資料進行條件邏輯處理以將相移資料中的資料值修正到一預定範圍內,並產生第二中間資料(即經修正後的相移資料)。關於此處的操作說明將於後參照圖3說明。
在操作S220中,根據第二中間資料產生深度資料。例如,由前述的式(2)可得知,可藉由相移φ獲得對應的距離d。在一些實施例中,圖1的記憶體126G可存有對應於式(4)以及式(2)的至少一查找表(例如為圖5中的至少一查找表D6)。如此,查表單元126D可根據圖像差與第二中間資料使用至少一查找表以分別進行式(4)以及式(2)的運算,以產生中間資料(後稱第三中間資料)。接著,向量計算單元126C可根據修正矩陣對第三中間資料進行逐元素運算來產生深度資料,關於此處的操作說明將於後參照圖4B與圖5說明。
在操作S230中,根據變換矩陣與深度資料產生變換資料。操作S230的運算為仿射變換(affine transformation),其中深度資料的數據量將根據變換矩陣進行調整(例如為選擇、平移、縮放),以改變TOF感測的分辨率。在一些實施例中,仿射變換是將深度資料進行放大處理,以提高TOF感測的分
辨率。在一些實施例中,仿射變換是將深度資料與變換矩陣進行相乘以完成圖像的平移與縮放等變換,其中變換矩陣可由圖1的中央處理器124進行計算而得。在中央處理器124計算出變換矩陣後,中央處理器124回傳此變換矩陣給智慧處理器126。如此一來,MAC單元126F可將深度資料與此變換矩陣相乘,以產生變換資料(即經放大或縮小調整後的深度資料)。
於一些實施例中,仿射變換方法為將每個座標X,Y的數據根據如下方程轉換到x,y。
於一些實施例中,智慧處理器126與中央處理器124之間存在一個直接相連的傳輸路徑(例如為圖1的傳輸路徑P1)。如此,在進行仿射變換的相關運算時,智慧處理器126與中央處理器124可以經由此傳輸路徑P1來直接溝通,而不用透過其他匯流排(此匯流排通常還會連接到系統中的其他電路)來進行溝通。例如,當欲執行操作S230時,中央處理器124可在一次中斷期間內經由傳輸路徑P1接收智慧處理器126的要求,並在接下來的數個中斷期間內計算出變換矩陣,並經由傳輸路徑P1回傳此變換矩陣給智慧處理器126以進行操作S230的後續運算。在一些實施例中,智慧處理器126亦可透過此傳輸路徑P1連接到記憶體122,以讀取需要的資料(例如包含,但不限於,感測資料SD)。
在操作S240中,根據變換資料執行濾波處理以產生輸出資料。藉由濾波處理,可進一步降低不必要雜訊所造成的影響。於一些實施例中,輸出資料載有待測物體的距離、深度與/或輪廓(即該物體的邊緣)資訊。於一些
實施例中,濾波處理可經由圖1的MAC單元126F實施。關於此處的說明將於後參照圖6說明。於一些實施例中,DMA控制器126B可將輸出資料儲存於記憶體122,以供中央處理器124根據此輸出資料執行行後續的感測應用。
圖3為根據本案一些實施例繪製圖1的記憶體126G中用來執行圖2的相位轉換之多個資料的示意圖。於一些實施例中,記憶體126G可儲存資料D1、參考資料DREF以及遮罩資料DM。於一些實施例中,向量計算單元126C可利用資料D1、參考資料DREF以及遮罩資料DM來執行圖2中的操作S210(即相位轉換)中的條件邏輯處理。
於一些實施例中,遮罩資料DM可用來儲存資料D1與參考資料DREF之間的比較結果。前述的比較結果所使用的比較條件(相當於條件邏輯處理)可包含,但不限於,大於、大於或等於、小於、小於或等於、等於、不等於等等。如前所述,向量計算單元126C可對感測資料SD進行條件邏輯處理以將感測資料SD中的資料值修正到第一預定範圍(例如為後述的第一數值到第二數值之間)內,並產生第一中間資料。例如,假設飛行時間資料處理裝置120所處理的資料為16位元,而感測資料SD為12位元。DMA控制器126B可在感測資料SD的前四位元補上位元1,以將感測資料SD修正為16位元的資料,並將修正後的感測資料SD儲存為資料D1。若資料D1中的對應畫素的資料值(後簡稱為畫素值)小於第一數值(例如為0),則判斷該畫素曝光不足。或者,若該畫素值大於第二數值(例如為1),則判斷該畫素曝光過度。因此,DMA控制器126B可儲存對應於資料D1的參考資料DREF到記憶體126G,其中該參考資料DREF中的畫素值皆為第一數值(例如為0)。如此一來,向量計算單元126C可自對記憶體126G獲得資料D1以及參考資料DREF,並比較資料D1與參考資料DREF。
例如,若資料D1的對應畫素值小於參考資料DREF中的對應畫素值,代表資料D1(或感測資料SD)中的畫素值小於0。在此條件下,向量計算單元126C可將遮罩資料DM中的對應畫素值標記為位元1。或者,若資料D1中的對應畫素值不小於參考資料DREF中的對應畫素值,代表資料D1(或感測資料SD)中的畫素值不小於0。在此條件下,向量計算單元126C可將遮罩資料DM中的對應畫素值標記為位元0。換言之,遮罩資料DM可指示資料D1與參考資料DREF之間的比較結果。
接著,向量計算單元126C可根據遮罩資料DM更新資料D1。例如,若遮罩資料DM中的對應畫素值為位元1,則向量計算單元126C可將資料D1中的對應畫素值更新為位元0。或者,若遮罩資料DM中的對應畫素值為位元0,則向量計算單元126C可保持資料D1中的對應畫素值為原有數值。如此,可將資料D1(即感測資料SD)中曝光不足的畫素值修正為位元0。
類似地,向量計算單元126C可將參考資料DREF的畫素值全部更新為第二數值(例如為1),並將更新後的資料D1與更新後的參考資料DREF再次進行比較。例如,若資料D1中的對應畫素值大於參考資料DREF中的對應畫素值,代表資料D1中的畫素值大於1。在此條件下,向量計算單元126C可將遮罩資料DREF的該對應畫素值標記為位元1。或者,若資料D1中的對應畫素值不大於參考資料DREF中的對應畫素值,代表資料D1中的畫素值不大於1。在此條件下,向量計算單元126C可將遮罩資料DM的該畫素標記為位元0。若遮罩資料DM中的對應畫素值為位元1,則向量計算單元126C可將資料D1中的對應畫素值更新為位元1。或者,若遮罩資料DM中的對應畫素值為位元0,則向量計算單元126C可保持資料D1中的對應畫素值為原有數值。如此,可將資料D1(即感測
資料SD)中曝光過度的畫素值修正為位元1。在完成上述操作後,向量計算單元126C可將記憶體126G的資料D1儲存為前述的第一中間資料。
接著,如前所述,在獲得相移資料後,可將該相移資料進行條件邏輯處理以將相移資料中的資料值修正到第二預定範圍(例如為-π到π之間)內,並產生第二中間資料。如前述說明,相移資料是藉由反正切函數計算而得,而反正切函數的數值範圍為-π到π。因此,向量計算單元126C可將相移資料儲存為資料D1,並將考資料DREF中的資料值皆更新為對應於-π的數值。藉由上述的類似操作,可修正資料D1(即相移資料)中低於-π的資料值。接著,向量計算單元126C可將參考資料DREF中的資料值皆更新為對應於π的數值。藉由相同操作,可修正資料D1(即相移資料)中超過π的資料值。在完成上述操作後,向量計算單元126C可將記憶體126G的資料D1儲存為前述的第二中間資料。藉由上述操作,可確保相移資料中的資料有效性,以提高後續計算的準確性。
圖4A為根據本案一些實施例繪製圖1的記憶體126G中用來執行圖2的相位轉換之多個資料的示意圖。於一些實施例中,記憶體126G可儲存資料D2與資料D3,其可用來執行圖2的操作S210中所使用的逐元素運算。如前所述,在執行式(4)的反正切函數前,可藉由逐元素運算來計算兩個圖像資料之間的差值(例如為A3-A1以及A0-A2)的數值。由於圖像資料A0~A3具有相同的資料形式與維度形式(即具有相同數量的資料值(或稱元素值)),DMA控制器126B可將不同時間所獲得的第一中間資料(即經修正到第一預定範圍的感測資料SD)儲存到記憶體126G以作為資料D2與資料D3,且向量計算單元126C可根據資料D2與資料D3執行逐元素運算(在此例中為相減)以獲得前述的圖像差。
例如,假設圖像資料A0~A3依序對應於第一時間、第二時間、第三時間與第四時間的第一中間資料,DMA控制器126B可將對應於第一時間的第一中間資料(相當於圖像資料A0)儲存為資料D2,並將對應於第三時間的第一中間資料(相當於圖像資料A2)儲存為資料D3。如此,向量計算單元126C可根據資料D2與資料D3執行逐元素運算,以將資料D2中的對應畫素值減去資料D3中的對應畫素值,以計算出圖像差A0-A2。藉由類似的操作,向量計算單元126C可計算出圖像差A3-A1。
圖4B為根據本案一些實施例繪製圖1的記憶體126G中用來執行圖2的深度轉換之多個資料的示意圖。於一些實施例中,記憶體126G可儲存資料D4與廣播資料D5,其可用來執行圖2的操作S220中所使用的逐元素運算。
如前所述,在執行式(4)的反正切函數前,向量計算單元126C可根據修正矩陣來與第三中間資料進行逐元素運算以產生深度資料。在此例中,逐元素運算為點乘運算(或稱內積運算)。由於深度資料與修正矩陣具有不同的維度形式(即兩者的資料值數量不一致),向量計算單元126C可根據資料D4與廣播資料D5確認兩者資料值數量不同,並利用廣播操作來完成運算。舉例而言,DMA控制器126B可將中間資料儲存到記憶體126G以作為資料D4並將修正矩陣儲存到記憶體126G以作為廣播資料D5。向量計算單元126C可根據資料D4與廣播資料D5確認到兩個資料具有不同維度形式,例如,資料D4的維度為(1,224,224,3)而廣播資料D5的維度為(1,1,1,3)。在此情形下,向量計算單元126C可將資料D4中的3個資料值與廣播資料D5中的1個資料值進行一次點乘運算,並執行224×224次點乘運算以產生深度資料。換言之,若是要進行逐元
素運算的兩個資料的維度不同,向量計算單元126C可使用重複多次點乘運算的方式來將兩者的資料值完成整體運算。
在一些相關技術中,若是使用通用處理器來執行具有不同維度的資料的點乘運算,低維度資料中的資料值會被複製多份來使低維度資料中的資料值數量可擴充到相同於高維度資料中的資料值數量。如此,通用處理器可從記憶體中依序取出該些資料值來一一進行點乘運算。在上述技術中,會需要較大的記憶體空間與/或頻寬,且通用處理器在進行運算時會耗費較多時間在存取記憶體以取得該些資料值。相較於上述技術,智慧處理器126可利用廣播操作的特性(即重複多次運算)而在不擴充資料值下來進行上述的運算,如此,可更有效率地執行此處的逐元素運算。
於不同實施例中,圖4A與圖4B所說明的逐元素運算可用來實現加、減、乘、除等運算,但本案不以此為限。基於類似的設置方式,向量計算單元126C可執行求跡(trace)、求逆(inverse)或是轉置(transpose)等運算。依據不同的TOF算法,智慧處理器126亦可選擇性地使用上述運算來進行資料處理。
圖5為根據本案一些實施例繪製圖1的記憶體126G中用來執行圖2中的相位轉換與深度轉換中的非線性函數之多個資料的示意圖。於一些實施例中,記憶體126G可儲存查找表D6以及資料D7,其用來執行圖2的操作S210與S220中所使用的部分運算(例如為式(2)與式(4))。於一些實施例中,查找表D6可分別包括對應式(2)的查找表及對應式(4)的查找表。
於一些實施例中,記憶體126G可儲存式(4)與式(2)的運算結果。例如,式(4)的反正切函數可利用插值函數拆解為一或多個運算,且該
一或多個運算的運算結果可儲存為查找表D6的部分資料。類似地,式(2)的運算結果可儲存為查找表D6的另一部分資料。於一些實施例中,查找表D6可分別包括對應式(2)的查找表及對應式(4)的查找表。查表單元126D可根據前述的多個圖像差來查詢查找表D6中對應式(4)的查找表以獲得相移資料(例如為式(4)中的相移φ之數值),並根據第二中間資料(即修正後的相移資料)查詢查找表D6中對應式(2)的查找表以獲得對應的深度資訊(例如為式(2)中的距離d之數值)。查表單元126D可將該對應的深度資訊儲存至記憶體126G以作為資料D7(相當於前述的第三中間資料)。如此,向量計算單元126C可根據修正矩陣對第三中間資料進行逐元素運算來產生深度資料。
藉由上述設置方式,可讓智慧處理器126來執行非線性函數,並可達到一定的運算精準度。使用查找表來拆解非線性函數,可簡化整體運算過程。如此一來,相較於使用通用處理器來直接進行非線性運算,可使運算效率明顯提升。
圖6為根據本案一些實施例繪製圖1的記憶體126G中用來執行圖2的濾波處理之多個資料的示意圖。於一些實施例中,記憶體126G可儲存資料D8、卷積核(kernel)資料D9以及偏置(bias)資料D10,其可用來執行圖2的操作S240。
例如,在操作S230中,MAC單元126F可將變換資料儲存至記憶體126G,以作為資料D8。接著,MAC單元126F可自記憶體126G讀出資料D8、卷積核資料D9以及偏置資料D10來進行卷積運算(相當於濾波處理),並將運算結果輸出為輸出資料DO。於一些實施例中,卷積核資料D9用以定義圖像濾波中的濾波遮罩,而偏置資料D10用來定義該濾波遮罩在資料D8上的移動距
離。上述的濾波處理符合MAC單元126F原先設定的乘加運算的特性,因此,使用MAC單元126F可加快濾波處理的處理速度。
在一些實施例中,可在前述的多個運算中搭配單指令多資料流(single instruction multiple data,SIMD)的技術來進一步地提升執行效率。在一些實施例中,可利用通用程式語言(例如可為,但不限於,python)來建立軟體介面,以讓使用者可經由此介面來提供資料給智慧處理器126來開發TOF算法的模型設計。
圖7為根據本案一些實施例繪製一種資料處理方法700的流程圖。於一些實施例中,資料處理方法700可由,但不限於,圖1的飛行時間資料處理裝置120執行。
在操作S710,藉由智慧處理器中的向量計算單元根據經由飛行時間測距裝置所產生的感測資料執行條件邏輯處理以產生第一中間資料。在操作S720,根據第一中間資料產生一相移資料。在操作S730,根據相移資料產生深度資料。在操作S740,根據變換矩陣與該深度資料產生變換資料。在操作S750,藉由智慧處理器中的乘法累加運算單元根據變換資料執行濾波處理以產生輸出資料。
上述多個操作之說明可參照前述各個實施例,故不再重複贅述。上述資料處理方法700的多個操作僅為示例,並非限定需依照此示例中的順序執行。在不違背本案的各實施例的操作方式與範圍下,在資料處理方法700下的各種操作當可適當地增加、替換、省略或以不同順序執行(例如可以是同時執行或是部分同時執行)。
綜上所述,本案一些實施例中的飛行時間資料處理裝置以及其資料處理方法可利用智慧處理器的運算特性處理飛行時間資料,以加速處理飛行時間資料的運算效率。
雖然本案之實施例如上所述,然而該些實施例並非用來限定本案,本技術領域具有通常知識者可依據本案之明示或隱含之內容對本案之技術特徵施以變化,凡此種種變化均可能屬於本案所尋求之專利保護範疇,換言之,本案之專利保護範圍須視本說明書之申請專利範圍所界定者為準。
700:資料處理方法
S710,S720,S730,S740,S750:操作
Claims (15)
- 一種飛行時間資料處理裝置,包含: 一智慧處理器,對一飛行時間測距裝置所產生的一感測資料進行下列操作: 根據該感測資料執行一條件邏輯處理及一圖像差計算,以用以產生一深度資料;以及 根據該深度資料執行一濾波處理以產生一輸出資料, 其中該智慧處理器包含一向量計算單元以及一乘法累加運算單元,該條件邏輯處理是由該向量計算單元執行,且該濾波處理是由該乘法累加運算單元執行。
- 如請求項1之飛行時間資料處理裝置,其中該向量計算單元根據該感測資料執行該條件邏輯處理以將該感測資料的資料值修正到一第一預定範圍內。
- 如請求項1之飛行時間資料處理裝置,其中該智慧處理器包含: 一查表單元,根據經該圖像差計算所產生的複數個圖像差查詢一查找表以產生一相移資料。
- 如請求項3之飛行時間資料處理裝置,其中該向量計算單元更用以對該相移資料進行修正以將該相移資料的資料值修正到一第二預定範圍內,該查表單元根據修正後的該相移資料查詢一另一查找表,以用以產生該深度資料。
- 如請求項4之飛行時間資料處理裝置,其中該向量計算單元根據查詢該另一查找表的查詢結果與一修正矩陣執行一點乘運算以產生該深度資料。
- 如請求項3之飛行時間資料處理裝置,其中該查找表包含一反正切函數的運算結果。
- 如請求項1之飛行時間資料處理裝置,更包括: 一中央處理器,用以計算一變換矩陣; 其中,該乘法累加運算單元更根據該變換矩陣與該深度資料執行一仿射變換,以調整該深度資料所對應的一分辨率。
- 如請求項7之飛行時間資料處理裝置,其中該智慧處理器經由一連接路徑直接與該中央處理器溝通以接收該變換矩陣。
- 一種資料處理方法,包含: 藉由一智慧處理器中的一向量計算單元根據經由一飛行時間測距裝置所產生的一感測資料執行一條件邏輯處理及一圖像差計算,以用以產生一深度資料;以及 藉由該智慧處理器中的一乘法累加運算單元根據該深度資料執行一濾波處理以產生一輸出資料。
- 如請求項9之資料處理方法,其中藉由該向量計算單元根據該感測資料執行該條件邏輯處理以將該感測資料的資料值修正到一第一預定範圍內。
- 如請求項9之資料處理方法,更包括: 藉由該智慧處理器中的一查表單元根據經該圖像差計算所產生的複數個圖像差查詢一查找表以產生一相移資料。
- 如請求項11之資料處理方法,其中該向量計算單元更用以對該相移資料進行修正以將該相移資料的資料值修正到一第二預定範圍內,該查表單元根據修正後的該相移資料查詢一另一查找表,以用以產生該深度資料。
- 如請求項12之資料處理方法,其中該向量計算單元根據查詢該另一查找表的查詢結果與一修正矩陣執行一點乘運算以產生該深度資料。
- 如請求項11之資料處理方法,其中該查找表包含一反正切函數的運算結果。
- 如請求項9之資料處理方法,更包括: 藉由一中央處理器計算一變換矩陣; 其中,該乘法累加運算單元更根據該變換矩陣與該深度資料執行一仿射變換,以調整該深度資料所對應的一分辨率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111129429A TWI804406B (zh) | 2022-08-04 | 2022-08-04 | 基於智慧處理器的飛行時間資料處理裝置與其資料處理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111129429A TWI804406B (zh) | 2022-08-04 | 2022-08-04 | 基於智慧處理器的飛行時間資料處理裝置與其資料處理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI804406B true TWI804406B (zh) | 2023-06-01 |
TW202407635A TW202407635A (zh) | 2024-02-16 |
Family
ID=87803405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111129429A TWI804406B (zh) | 2022-08-04 | 2022-08-04 | 基於智慧處理器的飛行時間資料處理裝置與其資料處理方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI804406B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111190190A (zh) * | 2019-12-05 | 2020-05-22 | 天津大学 | 双飞秒激光测距系统数据处理平台硬件实现 |
US20200372665A1 (en) * | 2018-06-28 | 2020-11-26 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Depth Processor and Three-Dimensional Image Device |
CN113671519A (zh) * | 2021-10-22 | 2021-11-19 | 武汉市聚芯微电子有限责任公司 | 一种飞行时间测距方法、装置、飞行时间相机及电子设备 |
-
2022
- 2022-08-04 TW TW111129429A patent/TWI804406B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200372665A1 (en) * | 2018-06-28 | 2020-11-26 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Depth Processor and Three-Dimensional Image Device |
CN111190190A (zh) * | 2019-12-05 | 2020-05-22 | 天津大学 | 双飞秒激光测距系统数据处理平台硬件实现 |
CN113671519A (zh) * | 2021-10-22 | 2021-11-19 | 武汉市聚芯微电子有限责任公司 | 一种飞行时间测距方法、装置、飞行时间相机及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
TW202407635A (zh) | 2024-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Humenberger et al. | A fast stereo matching algorithm suitable for embedded real-time systems | |
US20100115014A1 (en) | Instruction and logic for performing range detection | |
US20220092399A1 (en) | Area-Efficient Convolutional Block | |
TWI804406B (zh) | 基於智慧處理器的飛行時間資料處理裝置與其資料處理方法 | |
Takamatsu et al. | Estimating camera response functions using probabilistic intensity similarity | |
US10510163B2 (en) | Image processing apparatus and image processing method | |
Khaleghi et al. | An improved real-time miniaturized embedded stereo vision system (MESVS-II) | |
CN111242293B (zh) | 一种处理部件、数据处理的方法以及电子设备 | |
Yu et al. | A new nonconvex approach to low-rank matrix completion with application to image inpainting | |
CN112862866A (zh) | 基于麻雀搜索算法的图像配准方法及系统、计算设备 | |
WO2023092707A1 (zh) | 多光谱图像生成方法、终端设备及计算机可读存储介质 | |
CN108696745A (zh) | 相机校准 | |
CN117724045A (zh) | 一种声源定位方法、装置、设备及存储介质 | |
CN115220051A (zh) | 基于智慧处理器的飞行时间数据处理装置及数据处理方法 | |
CN103400354B (zh) | 基于OpenMP的遥感影像几何校正并行处理方法 | |
Ben-Tzvi et al. | Synchronous multiprocessor implementation of the Hough transform | |
US9582882B2 (en) | Method and apparatus for image registration in the gradient domain | |
CN110677555A (zh) | 校正电子相机的图像的像素值中的渐晕效应的数字电路 | |
Schellhorn et al. | Optimization of a principal component analysis implementation on Field-Programmable Gate Arrays (FPGA) for analysis of spectral images | |
Koljonen et al. | Fast fixed-point bicubic interpolation algorithm on FPGA | |
Sulzbachner et al. | An optimized silicon retina stereo matching algorithm using time-space correlation | |
JPH10302072A (ja) | パターンマッチング用データ処理回路 | |
Luan et al. | Object detection and tracking benchmark in industry based on improved correlation filter | |
Chen et al. | An efficient point-set registration algorithm with dual terms based on total least squares | |
CN106023099A (zh) | 基于SoPC的遥感全色图像切片辐射校正和几何纠正实现方法 |