[發明專利]基于FFT的超大圖GPU并行檢測OCA缺陷算法在審
| 申請號: | 202011256011.8 | 申請日: | 2020-11-11 |
| 公開(公告)號: | CN112750101A | 公開(公告)日: | 2021-05-04 |
| 發明(設計)人: | 不公告發明人 | 申請(專利權)人: | 北京平恒智能科技有限公司 |
| 主分類號: | G06T7/00 | 分類號: | G06T7/00;G06T1/20;G06T1/60;G06F17/14 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100176 北京市大興區經*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 fft 大圖 gpu 并行 檢測 oca 缺陷 算法 | ||
本發明提供一種基2?FFT的并行GPU檢測算法,主要為大型圖像的檢測提供快速計算方案。本方法將原有的FFT蝶形算法3層循環做以下處理:最外層循環做串行計算,內部2層循環用公式統一后做并行計算。最外層循環次數是計算量的對數,類似于二叉樹的深度,所以外層串行計算量較小。計算量大的內部2層循環,統一好的公式用GPU并行方法計算。最終實現FFT的快速計算的目的。
技術領域
本發明主要涉及工業級高精度實時檢測,具體地,解決超大圖的小缺陷高精度檢測問題,是高精度檢測需求的圖像處理技術。
背景技術
現代工業品的制造向精細化,高速化加工發展,伴隨產品檢測的要求越來越多,早期人工檢測滿足當時的需求,隨著時間發展不論是檢測速度還是檢測精確度都越來越不能滿足需求。隨著圖像處理與目標檢測的發展,圖像自動檢測方式逐漸進入工業檢測行業,取代人工檢測。主要處理尺寸檢測、各種缺陷檢測等。
針對工業圖像處理的需求,去除一些圖像信息中的雜點、噪點等,需要采用傅里葉頻域濾波處理,而傅里葉變換把連續信號處理成三角函數信號,從時域轉到頻域上,再在頻域上處理過濾相關的信息,反變換到時域上,到達去除干擾信息,為有效尋找缺陷提供支撐。
現有的離散傅里葉變換基本采用快速傅里葉變換來達到加速的目的,但在加速前,需要做優化準備,時間稍長,正常用于檢測時,也不能滿足工廠實時檢測需求,cuda做的cufft效果也不理想。
工業品檢測在超大圖比如(8K*13K、16K*30K)小缺陷(小于0.01mm2)和實時性(300ms)等多種要求下,檢測速度是限制算法性能非常重要的指標。
發明內容
因此,為了解決FFT計算量大和速度快的問題,本發明考慮在快速傅里葉變換fft的基礎上設計GPU的并行算法,用于解決上述需要。
本發明采用的技術方案為以下內容。
以2為基的FFT為基礎,將非2n數量的數據,擴充成2n的指數(最近指數)。
做一維FFT的GPU并行,先將FFT變換系數W用數組保存,傳輸至GPU共享內存中。
將多重循環內部奇型和偶型結果用分支條件的bool型數組flag表示,先在CPU上用分支計算flag數組標識,然后傳輸至GPU共享內存中使用。
將FFT的蝶形算法三層循環(k,i,j)的內二層循環(i,j)合并做并行,保留最外層循環,最外層循環次數是計算量的對數log2m,類似于二叉樹的深度,所以外層循環量較小。
內二層的循環并行有奇型項和偶型項,用第[0010]步flag數組加條件判斷區分,分支數組flag的并行下標為 [(tid % (nNum)) + k*(1 r)] 。
對于奇型項采用數組f相加,兩項數組的下標,優化整理成f[tid]和f[tid + (1 (r - k - 1))]]。
偶型項采用數組相減然后乘以變換系數W,兩項相減數組下標,優化整理為f[tid]和f[tid + (1 (r - k - 1))]],變換系數數組W用[tid*(1k))%(1(r-1))作為下標表示。
外一層循環每遍歷一遍,把計算得到的奇偶型結果賦給下一輪循環的輸入數組。
上述外循環完成后,進行下標排序,得到正常變換點順序的變換后的數組。
上述[0008]-[0016]步完成一維快速傅里葉并行算法。
在一維基礎上擴展至二維,先選一個方向擴展,比如高度方向,每一行都是一維傅里葉并行算法,可以構成總并行。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京平恒智能科技有限公司,未經北京平恒智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011256011.8/2.html,轉載請聲明來源鉆瓜專利網。





