《圖像特徵提取積體電路、方法、終端》是深圳雲天勵飛技術有限公司於2017年12月29日申請的專利,該專利的公布號為CN108205680A,授權公布日為2018年6月26日,發明人是周陽。該發明涉及圖像識別技術領域。
《圖像特徵提取積體電路、方法、終端》所述積體電路包括:存儲電路及耦合至所述存儲電路輸出端的計算電路,所述存儲電路用於存儲待處理圖像的梯度信息,所述計算電路用於對所述梯度信息進行計算後輸出所述待處理圖像的梯度方向直方圖特徵。該發明還提供一種圖像特徵提取方法及終端。該發明利用積體電路並行地完成待處理圖像的各個像素的梯度信息的計算,同時,通過對待處理圖像進行分塊和分細胞單元的處理,減少了一些無效運算,從而使得圖像特徵提取的計算效率得到大幅提高,可以滿足人臉識別等場景對於實時性的要求。
2021年11月,《圖像特徵提取積體電路、方法、終端》獲得第八屆廣東專利獎優秀獎。
(概述圖為《圖像特徵提取積體電路、方法、終端》摘要附圖)
基本介紹
- 中文名:圖像特徵提取積體電路、方法、終端
- 申請人:深圳雲天勵飛技術有限公司
- 申請日:2017年12月29日
- 申請號:2017114810135
- 公布號:CN108205680A
- 公布日:2018年6月26日
- 發明人:周陽
- 地址:廣東省深圳市福田區上步中路1003號深圳科學館7樓
- 分類號:G06K9/46(2006.01)I、G06K9/44(2006.01)I
- 代理機構:深圳市賽恩倍吉智慧財產權代理有限公司
- 代理人:曾柳燕、孫芬
- 類別:發明專利
專利背景,發明內容,專利目的,技術方案,改善效果,附圖說明,權利要求,實施方式,榮譽表彰,
專利背景
圖像描述子是圖像的一種表征形式,熟知的像素值便是最常見最樸素的一種圖像表征形式。在一副圖像中,局部目標的表象和形狀能夠被梯度或邊緣的方向密度分布很好地描述,其本質為梯度的統計信息,而梯度主要存在於邊緣的地方。因而在計算機視覺和圖像處理中常使用梯度方向直方圖(Histogram of Oriented Gradient,HOG)進行人體目標檢測的圖像描述,使用HOG特徵能很好的表達人體的外形信息和運動信息,形成豐富的特徵集。
目標識別跟蹤等設備處於光照、目標方位等變化劇烈的複雜環境中,為了提升目標識別跟蹤等設備的可靠性和實時性,就需要利用HOG特徵的上述優勢,同時需要在儘可能短的時間內獲得HOG特徵向量。
然而,2017年12月之前的HOG特徵提取技術通常由軟體實現,例如由通用處理器或者數位訊號處理器通過程式指令實現,這種方法的缺陷是HOG特徵描述子生成過程冗長,導致速度慢,實時性差,無法在商業上形成套用。
發明內容
專利目的
該發明提出一種圖像特徵提取積體電路、方法及終端,採用硬體加速的方法,快速的提取圖像的HOG特徵,提升了特徵提取算法的性能。
技術方案
《圖像特徵提取積體電路、方法、終端》第一方面提供一種積體電路,所述積體電路包括:存儲電路及耦合至所述存儲電路輸出端的計算電路,所述存儲電路用於存儲待處理圖像的梯度信息,所述計算電路用於對所述梯度信息進行計算後輸出所述待處理圖像的梯度方向直方圖特徵。
在一種優選的技術方案中,所述存儲電路包括:圖像梯度信息存儲器,用於接收並存儲所述待處理圖像的每個細胞單元的各個像素的梯度信息,所述梯度信息包括:梯度幅值及梯度方向;梯度量化插值結果存儲器,用於接收並存儲所述計算電路對每個細胞單元中的各個像素的梯度信息進行量化處理得到的待處理圖像的梯度直方圖量化結果;梯度歸一化結果存儲器,用於接收並存儲所述計算電路對所述梯度直方圖量化結果進行歸一化處理得到的梯度直方圖歸一化結果;梯度直方圖特徵存儲器,用於接收並存儲所述計算電路對所述梯度直方圖歸一化結果進行加權處理得到的每個細胞單元的梯度直方圖特徵向量;所述梯度直方圖特徵存儲器,還用於根據預設連線順序連線每個細胞單元的梯度直方圖特徵向量,生成待處理圖像的梯度直方圖特徵。
在一種優選的技術方案中,所述計算電路包括:梯度量化計算電路,用於對每個細胞單元中的各個像素的梯度信息進行量化處理,得到的待處理圖像的梯度直方圖量化結果;梯度歸一化計算電路,用於對所述梯度直方圖量化結果進行歸一化處理,得到的梯度直方圖歸一化結果;梯度直方圖特徵計算電路,用於對所述梯度直方圖歸一化結果進行加權處理得到的每個細胞單元的梯度直方圖特徵向量。
在一種優選的技術方案中,所述梯度量化計算電路包括:梯度方向量化計算電路,包括:第五乘法器,所述第五乘法器在所述預設第一時間段內依次對每個細胞單元的各個像素的梯度方向進行加權計算,輸出梯度直方圖方向量化結果;梯度幅值量化計算電路,包括:第一乘法器、第二乘法器、第三乘法器、第四乘法器、第一加法器、第二加法器、第三加法器及第四加法器;所述梯度幅值量化計算電路在預設第一時間段內依次接收每個細胞單元的各個像素的梯度幅值,並分別輸入至所述第一乘法器、第二乘法器、第三乘法器、第四乘法器中;經過所述第一乘法器的加權計算輸出第一梯度直方圖幅值量化結果至所述第一加法器,經過所述第二乘法器的加權計算輸出第二梯度直方圖幅值量化結果至所述第二加法器,經過所述第三乘法器的加權計算輸出第三梯度直方圖幅值量化結果至所述第三加法器,經過所述第四乘法器的加權計算輸出第四梯度直方圖幅值量化結果至所述第四加法器。
所述第一加法器在預設第二時間段內接收對應像素點的左上細胞單元的梯度直方圖方向量化結果,進行加和計算並輸出第一梯度直方圖幅值量化插值結果,所述第二加法器在所述預設第二時間段內接收對應像素點的右上細胞單元的梯度直方圖方向量化結果,進行加和計算並輸出第二梯度直方圖幅值量化插值結果,所述第三加法器在所述預設第二時間段內接收對應像素點的左下細胞單元的梯度直方圖方向量化結果,進行加和計算並輸出第三梯度直方圖幅值量化插值結果,所述第四加法器在所述預設第二時間段內接收對應像素點的右下細胞單元的梯度直方圖方向量化結果,進行加和計算並輸出第四梯度直方圖幅值量化插值結果。
在一種優選的技術方案中,所述梯度直方圖特徵計算電路包括:第六乘法器、第七乘法器、第八乘法器、第九乘法器;所述第六乘法器在預設第四時間段內獲取對應細胞單元的第一梯度直方圖幅值歸一化結果,進行加權計算並輸出第一梯度直方圖特徵向量結果;所述第七乘法器在所述預設第四時間段內獲取對應細胞單元的第二梯度直方圖幅值歸一化結果,進行加權計算並輸出第二梯度直方圖特徵向量結果;所述第八乘法器在所述預設第四時間段內獲取對應細胞單元的第三梯度直方圖幅值歸一化結果,進行加權計算並輸出第三梯度直方圖特徵向量結果;所述第九乘法器在所述預設第四時間段內獲取對應細胞單元的第四梯度直方圖幅值歸一化結果,進行加權計算並輸出第四梯度直方圖特徵向量結果;所述梯度直方圖特徵計算電路還用於根據預設第一連線順序將所述第一、第二、第三、第四梯度直方圖特徵向量結果進行連線,生成每個細胞單元的梯度直方圖特徵向量。
該申請的第二方面提供一種圖像特徵提取方法,所述方法包括:計算待處理圖像的各個像素點的梯度信息;將待處理圖像劃分為多個塊,每個塊劃分為多個細胞單元,每個細胞單元包括多個像素點;積體電路依次對每個細胞單元中的各個像素的梯度信息進行量化處理,得到待處理圖像的梯度直方圖量化結果;所述積體電路對所述梯度直方圖量化結果進行歸一化處理,得到梯度直方圖歸一化結果;所述積體電路對所述梯度直方圖歸一化結果進行加權處理,得到每個細胞單元的梯度直方圖特徵向量;所述積體電路根據預設連線順序連線每個細胞單元的梯度直方圖特徵向量,生成待處理圖像的梯度直方圖特徵。
在一種優選的技術方案中,所述梯度信息包括梯度幅值及梯度方向,所述積體電路依次對每個細胞單元中的各個像素的梯度信息進行量化處理,得到待處理圖像的梯度直方圖量化結果包括:所述積體電路的梯度方向量化計算電路在預設第一時間段內依次對每個細胞單元中的各個像素的梯度方向進行量化處理,得到每個細胞單元的梯度直方圖方向量化結果;所述積體電路的梯度幅值量化計算電路在所述預設第一時間段內依次對每個細胞單元中的各個像素的梯度幅值進行加權處理,分別得到第一、第二、第三、第四梯度直方圖幅值量化結果;所述梯度幅值量化計算電路在預設第二時間段內分別對所述第一、第二、第三、第四梯度直方圖幅值量化結果進行加和處理,得到第一、第二、第三、第四梯度直方圖幅值量化插值結果。
在一種優選的技術方案中,所述積體電路對所述梯度直方圖量化結果進行歸一化處理,得到梯度直方圖歸一化結果包括:所述積體電路的梯度歸一化計算電路分別計算所述第一、第二、第三、第四梯度直方圖幅值量化插值結果各直方通道上的平方和,得到第一、第二、第三、第四梯度直方圖幅值平方和;將所述第一、第二、第三、第四梯度直方圖幅值平方和進行累加得到梯度直方圖幅值總和;計算所述梯度直方圖幅值總和的平方根;對所述平方根進行求倒數得到梯度直方圖歸一化結果。
在一種優選的技術方案中,所述積體電路對所述梯度直方圖歸一化結果進行加權處理,得到每個細胞單元的梯度直方圖特徵向量包括:所述積體電路的梯度直方圖特徵計算電路在預設第四時間段獲取對應每個細胞單元的四個梯度直方圖歸一化結果,分別進行加權處理後得到第一、第二、第三、第四梯度直方圖特徵向量結果;根據預設第一連線順序將所述第一、第二、第三、第四梯度直方圖特徵向量結果進行連線,生成每個細胞單元的梯度直方圖特徵向量。
該申請的第三方面提供一種終端,所述終端包括積體電路,所述積體電路用於執行存儲器中存儲的電腦程式時實現所述圖像特徵提取方法。
改善效果
《圖像特徵提取積體電路、方法、終端》提供積體電路,運用所述積體電路提取待處理圖像的特徵,通過積體電路中的梯度量化計算電路計算對待處理圖像的每個細胞單元中的各個像素的梯度信息進行量化處理,由於所述梯度量化計算電路設有第一、第二、第三、第四乘法器,該第一、第二、第三、第四乘法器能並行地對各個像素的梯度信息進行加權計算;進一步地,同時分別通過第一、第二、第三、第四加法器並行地對加權後的結果進行加和計算;更進一步地,通過梯度直方圖特徵計算電路中的第六乘法器、第七乘法器、第八乘法器、第九乘法器並行地對細胞單元的四個梯度直方圖幅值歸一化結果進行加權計算,並輸出四個梯度直方圖特徵向量結果,也就是說通過三次並行計算能快速的提取待處理圖像的HOG特徵,比通過軟體逐步疊代的方式對待處理圖像的梯度信息進行量化、歸一化計算,速度上要快得多,因而該發明通過積體電路提取待處理圖像的HOG特徵,提升了特徵提取算法的性能,套用於圖像識別時,能夠提高圖像識別的效率率。
附圖說明
圖1是該發明實施例一提供的圖像特徵提取積體電路結構示意圖。
圖2是該發明實施例提供的積體電路內部的計算電路之一的示意圖。
圖3是該發明實施例提供的積體電路內部的計算電路之二的示意圖。
圖4是該發明實施例二提供的圖像特徵提取方法流程圖。
圖5是該發明實施例提供的圖像分塊示意圖。
圖6是該發明實施例提供的細胞單元的各個對鄰近四個細胞單元的梯度方向直方圖貢獻的示意圖。
圖7是該發明實施例三提供的終端的示意圖。
權利要求
1.一種積體電路,其特徵在於,所述積體電路包括:存儲電路及耦合至所述存儲電路輸出端的計算電路,所述存儲電路用於存儲待處理圖像的梯度信息,所述計算電路用於對所述梯度信息進行計算後輸出所述待處理圖像的梯度方向直方圖特徵。
2.如權利要求1所述的積體電路,其特徵在於,所述存儲電路包括:圖像梯度信息存儲器,用於接收並存儲所述待處理圖像的每個細胞單元的各個像素的梯度信息,所述梯度信息包括:梯度幅值及梯度方向;梯度量化插值結果存儲器,用於接收並存儲所述計算電路對每個細胞單元中的各個像素的梯度信息進行量化處理得到的待處理圖像的梯度直方圖量化結果;梯度歸一化結果存儲器,用於接收並存儲所述計算電路對所述梯度直方圖量化結果進行歸一化處理得到的梯度直方圖歸一化結果;梯度直方圖特徵存儲器,用於接收並存儲所述計算電路對所述梯度直方圖歸一化結果進行加權處理得到的每個細胞單元的梯度直方圖特徵向量;所述梯度直方圖特徵存儲器,還用於根據預設連線順序連線每個細胞單元的梯度直方圖特徵向量,生成待處理圖像的梯度直方圖特徵。
3.如權利要求2所述的積體電路,其特徵在於,所述計算電路包括:梯度量化計算電路,用於對每個細胞單元中的各個像素的梯度信息進行量化處理,得到所述待處理圖像的梯度直方圖量化結果;梯度歸一化計算電路,用於對所述梯度直方圖量化結果進行歸一化處理,得到梯度直方圖歸一化結果;梯度直方圖特徵計算電路,用於對所述梯度直方圖歸一化結果進行加權處理得到每個細胞單元的梯度直方圖特徵向量。
4.如權利要求2所述的積體電路,其特徵在於,所述梯度量化計算電路包括:梯度方向量化計算電路,包括:第五乘法器,所述第五乘法器在所述預設第一時間段內依次對每個細胞單元的各個像素的梯度方向進行加權計算,輸出梯度直方圖方向量化結果;梯度幅值量化計算電路,包括:第一乘法器、第二乘法器、第三乘法器、第四乘法器、第一加法器、第二加法器、第三加法器及第四加法器;所述梯度幅值量化計算電路在預設第一時間段內依次接收每個細胞單元的各個像素的梯度幅值,並分別輸入至所述第一乘法器、第二乘法器、第三乘法器、第四乘法器中;經過所述第一乘法器的加權計算輸出第一梯度直方圖幅值量化結果至所述第一加法器,經過所述第二乘法器的加權計算輸出第二梯度直方圖幅值量化結果至所述第二加法器,經過所述第三乘法器的加權計算輸出第三梯度直方圖幅值量化結果至所述第三加法器,經過所述第四乘法器的加權計算輸出第四梯度直方圖幅值量化結果至所述第四加法器;所述第一加法器在預設第二時間段內接收對應像素點的左上細胞單元的梯度直方圖方向量化結果,進行加和計算並輸出第一梯度直方圖幅值量化插值結果,所述第二加法器在所述預設第二時間段內接收對應像素點的右上細胞單元的梯度直方圖方向量化結果,進行加和計算並輸出第二梯度直方圖幅值量化插值結果,所述第三加法器在所述預設第二時間段內接收對應像素點的左下細胞單元的梯度直方圖方向量化結果,進行加和計算並輸出第三梯度直方圖幅值量化插值結果,所述第四加法器在所述預設第二時間段內接收對應像素點的右下細胞單元的梯度直方圖方向量化結果,進行加和計算並輸出第四梯度直方圖幅值量化插值結果。
5.如權利要求4所述的積體電路,其特徵在於,所述梯度直方圖特徵計算電路包括:第六乘法器、第七乘法器、第八乘法器、第九乘法器;所述第六乘法器在預設第四時間段內獲取對應細胞單元的第一梯度直方圖幅值歸一化結果,進行加權計算並輸出第一梯度直方圖特徵向量結果;所述第七乘法器在所述預設第四時間段內獲取對應細胞單元的第二梯度直方圖幅值歸一化結果,進行加權計算並輸出第二梯度直方圖特徵向量結果;所述第八乘法器在所述預設第四時間段內獲取對應細胞單元的第三梯度直方圖幅值歸一化結果,進行加權計算並輸出第三梯度直方圖特徵向量結果;所述第九乘法器在所述預設第四時間段內獲取對應細胞單元的第四梯度直方圖幅值歸一化結果,進行加權計算並輸出第四梯度直方圖特徵向量結果;所述梯度直方圖特徵計算電路還用於根據預設第一連線順序將所述第一、第二、第三、第四梯度直方圖特徵向量結果進行連線,生成每個細胞單元的梯度直方圖特徵向量。
6.一種圖像特徵提取方法,其特徵在於,所述方法包括:計算待處理圖像的各個像素點的梯度信息;將待處理圖像劃分為多個塊,每個塊劃分為多個細胞單元,每個細胞單元包括多個像素點;積體電路依次對每個細胞單元中的各個像素的梯度信息進行量化處理,得到待處理圖像的梯度直方圖量化結果;所述積體電路對所述梯度直方圖量化結果進行歸一化處理,得到梯度直方圖歸一化結果;所述積體電路對所述梯度直方圖歸一化結果進行加權處理,得到每個細胞單元的梯度直方圖特徵向量;所述積體電路根據預設連線順序連線每個細胞單元的梯度直方圖特徵向量,生成待處理圖像的梯度直方圖特徵。
7.如權利要求6所述的方法,其特徵在於,所述梯度信息包括梯度幅值及梯度方向,所述積體電路依次對每個細胞單元中的各個像素的梯度信息進行量化處理,得到待處理圖像的梯度直方圖量化結果包括:所述積體電路的梯度方向量化計算電路在預設第一時間段內依次對每個細胞單元中的各個像素的梯度方向進行量化處理,得到每個細胞單元的梯度直方圖方向量化結果;所述積體電路的梯度幅值量化計算電路在所述預設第一時間段內依次對每個細胞單元中的各個像素的梯度幅值進行加權處理,分別得到第一、第二、第三、第四梯度直方圖幅值量化結果;所述梯度幅值量化計算電路在預設第二時間段內分別對所述第一、第二、第三、第四梯度直方圖幅值量化結果進行加和處理,得到第一、第二、第三、第四梯度直方圖幅值量化插值結果。
8.如權利要求7所述的方法,其特徵在於,所述積體電路對所述梯度直方圖量化結果進行歸一化處理,得到梯度直方圖歸一化結果包括:所述積體電路的梯度歸一化計算電路分別計算所述第一、第二、第三、第四梯度直方圖幅值量化插值結果各直方通道上的平方和,得到第一、第二、第三、第四梯度直方圖幅值平方和;將所述第一、第二、第三、第四梯度直方圖幅值平方和進行累加得到梯度直方圖幅值總和;計算所述梯度直方圖幅值總和的平方根;對所述平方根進行求倒數得到梯度直方圖歸一化結果。
9.如權利要求8所述的方法,其特徵在於,所述積體電路對所述梯度直方圖歸一化結果進行加權處理,得到每個細胞單元的梯度直方圖特徵向量包括:所述積體電路的梯度直方圖特徵計算電路在預設第四時間段獲取對應每個細胞單元的四個梯度直方圖歸一化結果,分別進行加權處理後得到第一、第二、第三、第四梯度直方圖特徵向量結果;及根據預設第一連線順序將所述第一、第二、第三、第四梯度直方圖特徵向量結果進行連線,生成每個細胞單元的梯度直方圖特徵向量。
10.一種終端,其特徵在於,所述終端包括積體電路,所述積體電路用於執行存儲器中存儲的電腦程式時實現如權利要求6至9中任意一項所述圖像特徵提取方法。
實施方式
優選地,《圖像特徵提取積體電路、方法、終端》的圖像特徵提取方法套用在一個或者多個終端或者伺服器中。所述終端是一種能夠按照事先設定或存儲的指令,自動進行數值計算和/或信息處理的設備,其硬體包括但不限於微處理器、專用積體電路(Application Specific Integrated Circuit,ASIC)、可程式門陣列(Field-Programmable Gate Array,FPGA)、數字處理器(Digital Signal Processor,DSP)、嵌入式設備等。
所述終端可以是桌上型計算機、筆記本、掌上電腦及雲端伺服器等計算設備。所述終端可以與用戶通過鍵盤、滑鼠、遙控器、觸摸板或聲控設備等方式進行人機互動。
- 實施例一
一併參閱圖1至圖3,其中,圖1是該發明實施例一提供的圖像特徵提取積體電路結構示意圖。圖2-圖3分別是各計算電路的內部結構示意圖。
該較佳實施例中,所述圖像特徵提取積體電路1包括存儲電路10及耦合至所述存儲電路10的計算電路12。
所述積體電路1用於接收待處理圖像的梯度信息,通過所述計算電路12對所述梯度信息的一系列計算最後輸出所述待處理圖像的梯度方向直方圖(Histogram of Oriented Gradient,HOG)特徵。所述積體電路可以是可程式邏輯器件,例如現場可程式邏輯陣列(Field Programmable Gate Array,FPGA),還可以是專用積體電路(Application Specific Integrated Circuits,ASIC)。
所述存儲電路10包括:圖像梯度信息存儲器101、梯度量化結果存儲器103、梯度歸一化結果存儲器105及HOG特徵存儲器107。所述計算電路12包括:梯度量化計算電路122、梯度歸一化計算電路124及HOG特徵計算電路126。其中,所述圖像梯度信息存儲器101的輸入端可以耦合至通用處理器,所述圖像梯度信息存儲器101的輸出端耦合至所述梯度量化計算電路122的輸入端,所述梯度量化計算電路122的輸出端耦合至所述梯度量化結果存儲器103的輸入端,所述梯度量化結果存儲器103的輸出端分別耦合至所述梯度歸一化計算電路124的輸入端及所述HOG特徵計算電路126的輸入端,所述梯度歸一化計算電路124的輸出端耦合至所述梯度歸一化結果存儲器105的輸入端,所述梯度歸一化結果存儲器105的輸出端耦合至所述HOG特徵計算電路126的輸入端,所述HOG特徵計算電路126的輸出端耦合至所述HOG特徵存儲器107。
所述圖像梯度信息存儲器101用於接收並存儲待處理圖像的各個像素的梯度信息,所述梯度信息包括:梯度幅值和梯度方向,所述梯度信息為後續生成待處理圖像的HOG特徵的數據來源。可以預先在所述圖像梯度信息存儲器101中設定兩個特定的存儲位置,分別存儲待處理圖像的梯度幅值和梯度方向。所述特定的位置可以是一個特定的資料夾或者是一個以特定名稱命名的資料夾。所述梯度幅值和所述梯度方向可以以矩陣的形式存儲在所述圖像梯度信息存儲器101中的特定的存儲位置。即所述圖像梯度信息存儲器101中存儲了兩個矩陣,一個是待處理圖像的各個像素對應的梯度幅值矩陣,另一個是待處理圖像的各個像素對應的梯度方向矩陣。
該較佳實施例中,可以預先對待處理圖像進行劃分得到多個塊,對每個塊進一步劃分為多個細胞單元,每個細胞單元包括多個像素點,因而,所述圖像梯度信息存儲器101中存儲的所述梯度幅值矩陣及所述梯度方向矩陣也可以劃分為多個塊,每塊再劃分為多個細胞單元,每個單元包括多個值。
所述梯度量化計算電路122用於在預設第一時間段內獲取所述圖像梯度信息存儲器101中的梯度信息,進行量化處理對所述梯度信息進行量化處理,並輸出待處理圖像的梯度直方圖量化結果至所述梯度量化結果存儲器103中存儲。
結合圖2所示,所述梯度量化計算電路122包括:梯度幅值量化計算電路1220、梯度方向量化計算電路1222。其中,所述梯度方向量化計算電路1222中並列設有第一乘法器12221、第二乘法器12222、第三乘法器12223、第四乘法器12224、第一加法器12225、第二加法器12226、第三加法器12227及第四加法器12228,所述第一乘法器12221的輸出端連線所述第一加法器12225的輸入端、所述第二乘法器12222的輸出端連線所述第二加法器12226的輸入端、所述第三乘法器12223的輸出端連線所述第三加法器12227的輸入端、所述第四乘法器12224的輸出端連線所述第四加法器12228的輸入端。所述梯度幅值量化計算電路1220中設有第五乘法器12200。所述第一乘法器12221中預先存儲有第一梯度幅值量化係數dx*dy,所述第二乘法器12222中預先存儲有第二梯度幅值量化係數(1-dx)*dy,所述第三乘法器12223中預先存儲有第三梯度幅值量化係數dx*(1-dy),所述第四乘法器12224中預先存儲有第四梯度幅值量化係數(1-dx)*(1-dy),所述第五乘法器12200中預先存儲有梯度方向量化係數λ。
所述梯度方向量化計算電路1222在所述預設第一時間段內接收所述圖像梯度信息存儲器101中的梯度方向,對所述梯度方向進行量化處理得到待處理圖像的梯度直方圖方向量化結果並輸出至所述梯度量化結果存儲器103中存儲。具體的,所述梯度方向量化計算電路1222在所述預設第一時間段內依次接收每個細胞單元的各個像素的梯度方向,並輸入至所述第五乘法器12200中,經過所述第五乘法器12200的加權計算,輸出梯度直方圖方向量化結果θ(x,y)/λ。所述梯度方向量化係數λ可以是,例如,20。
進一步地,對各個像素的梯度方向進行量化處理後得到的結果有可能為浮點型數值,因而為保證對各個像素的梯度方向進行量化處理後得到的結果均為整型數值,可以將浮點型數值轉換為整型數值,該發明在此不再具體闡述。所述對細胞單元中的各個像素的梯度方向進行量化處理的目的是對細胞單元中的各個像素的梯度方向進行統計,得到以像素的梯度方向為橫軸的直方圖,再根據所述梯度方向量化係數λ進行均勻劃分,得到多個梯度方向的角度範圍,每個梯度方向的角度範圍對應一個直方通道(直方柱),從而構建了每個細胞單元的梯度方向直方圖。
舉例說明,待處理圖像的像素的梯度方向的方向角度範圍為0度至180度,以所述梯度方向量化係數λ(例如,20)對像素的梯度方向進行量化處理可得到多個(例如,9個)角度範圍。所述9個角度範圍代表了9個直方通道。所述梯度幅值量化計算電路1220在所述預設第一時間段內獲取所述圖像梯度信息存儲器101中的梯度幅值,對所述梯度幅值進行量化處理得到待處理圖像的梯度直方圖幅值量化結果並輸出至所述梯度量化結果存儲器103中存儲。
具體地,所述梯度方向量化計算電路1222在所述預設第一時間段內依次接收每個細胞單元的各個像素的梯度幅值,並分別輸入至第一乘法器12221、第二乘法器12222、第三乘法器12223、第四乘法器12224中;經過所述第一乘法器12221的加權計算輸出第一梯度直方圖幅值量化結果M*dx*dy至所述第一加法器12225,經過所述第二乘法器12222的加權計算輸出第二梯度直方圖幅值量化結果M*(1-dx)*dy至所述第二加法器12226,經過所述第三乘法器12223的加權計算輸出第三梯度直方圖幅值量化結果M*dx*(1-dy)至所述第三加法器12227,經過所述第四乘法器12224的加權計算輸出第四梯度直方圖幅值量化結果M*(1-dx)*(1-dy)至所述第四加法器12228;所述第一加法器12225在預設第二時間段內接收對應像素點的左上細胞單元的梯度直方圖方向量化結果,進行加和計算並輸出第一梯度直方圖幅值量化插值結果至所述梯度量化結果存儲器103中存儲,所述第二加法器12226在所述預設第二時間段內接收對應像素點的右上細胞單元的梯度直方圖方向量化結果,進行加和計算並輸出第二梯度直方圖幅值量化插值結果至所述梯度量化結果存儲器103中存儲,所述第三加法器12227在所述預設第二時間段內接收對應像素點的左下細胞單元的梯度直方圖方向量化結果,進行加和計算並輸出第三梯度直方圖幅值量化插值結果至所述梯度量化結果存儲器103中存儲,所述第四加法器12228在所述預設第二時間段內接收對應像素點的右下細胞單元的梯度直方圖方向量化結果,進行加和計算並輸出第四梯度直方圖幅值量化插值結果至所述梯度量化結果存儲器103中存儲。
對細胞單元中的各個像素點的梯度幅值進行量化處理插值的原因在於:細胞單元中的各個像素點都為某個基於方向的直方圖通道投票,即每一票都是帶有權值的。所述鄰近的四個細胞單元分別位於所述像素點的左上(Upperleft)、右上(Upperright)、左下(Bottomleft)、右下(Bottomright)位置。
所述梯度量化結果存儲器103用於存儲所述第一梯度直方圖幅值量化插值結果、所述第二梯度直方圖幅值量化插值結果、所述第三梯度直方圖幅值量化插值結果、所述第四梯度直方圖幅值量化插值結果。所述梯度歸一化計算電路124用於在預設第三時間段內分別獲取所述梯度量化結果存儲器103中的所述第一、第二、第三、第四梯度直方圖幅值量化插值結果,對所述第一、第二、第三、第四梯度直方圖幅值量化插值結果進行計算,輸出梯度直方圖歸一化結果至所述梯度歸一化結果存儲器105中存儲。
具體地,所述梯度歸一化計算電路124對所述第一、第二、第三、第四梯度直方圖幅值量化插值結果進行計算的過程如下:
1)分別計算所述第一、第二、第三、第四梯度直方圖幅值量化插值結果各直方通道上的平方和,得到第一梯度直方圖幅值平方和、第二梯度直方圖幅值平方和、第三梯度直方圖幅值平方和、第四梯度直方圖幅值平方和;
2)將所述第一梯度直方圖幅值平方和、第二梯度直方圖幅值平方和、第三梯度直方圖幅值平方和、第四梯度直方圖幅值平方和進行累加得到梯度直方圖幅值總和;
3)計算所述梯度直方圖幅值總和的平方根;
3)對所述平方根進行求倒數得到梯度直方圖歸一化結果。
所述HOG特徵計算電路126用於在預設第四時間段從所述梯度歸一化結果存儲器105中獲取對應每個細胞單元的四個梯度直方圖歸一化結果,經過計算後輸出每個細胞單元的HOG特徵向量至所述HOG特徵存儲器107。
結合圖3所示,所述HOG特徵計算電路126包括:第六乘法器1265、第七乘法器1266、第八乘法器1267、第九乘法器1268。所述第六乘法器1265在預設第四時間段內獲取對應細胞單元的第一梯度直方圖歸一化結果,進行加權計算並輸出第一HOG特徵向量結果,所述第七乘法器1266在預設第四時間段內獲取對應細胞單元的第二梯度直方圖歸一化結果,進行加權計算並輸出第二HOG特徵向量結果,所述第八乘法器1267在預設第四時間段內獲取對應細胞單元的第三梯度直方圖歸一化結果,進行加權計算並輸出第三HOG特徵向量結果,所述第九乘法器1268在預設第四時間段內獲取對應細胞單元的第四梯度直方圖歸一化結果,進行加權計算並輸出第四HOG特徵向量結果,同時根據預設第一連線順序將所述第一、第二、第三、第四HOG特徵向量結果進行連線,生成每個細胞單元的HOG特徵向量至所述HOG特徵存儲器107中存儲。
所述HOG特徵存儲器107用於存儲每個細胞單元的HOG特徵向量,並根據預設第二連線順序連線各個細胞單元的HOG特徵向量,最終生成待處理圖像的HOG特徵。
該較佳實施例中,所述預設第一連線順序可以是從左到右、從上往下的次序。所述預設第二連線順序可以是從左到右、從上往下的次序。該較佳實施例中,得到的待處理圖像的HOG特徵最終是一個由m*n*l數據組成的高維度向量,其中m表示待處理圖像中劃分的塊的數目,n表示每個塊中劃分的細胞單元的數目,l表示每個細胞單元中量化得到的方向角度範圍的數目。
該發明實施例提供的積體電路1能夠並行的計算待處理圖像的梯度信息,從而快速的得到待處理圖像的HOG特徵。另外,由於待處理圖像的梯度信息是以細胞單元為處理單元,因而,計算得到的HOG特徵能保持圖像的幾何和光學特性;其次,分塊分細胞單元的計算處理方式,可使得圖像局部像素點之間的關係得到很好的表征;最後採取歸一化處理,可以部分抵消光照變化帶來的影響。
- 實施例二
圖4是該發明實施例二提供的圖像特徵提取方法的流程圖。所述圖像特徵提取方法套用於終端中。
所述圖像特徵提取方法也可以套用於由終端和通過網路與所述終端進行連線的伺服器所構成的硬體環境中。網路包括但不限於:廣域網、城域網或區域網路。該發明實施例的圖像特徵提取方法可以由伺服器來執行,也可以由終端來執行,還可以是由伺服器和終端共同執行。
例如,對於需要進行圖像特徵提取的終端,可以直接在終端上集成該申請的方法所提供的圖像特徵提取功能,或者安裝用於實現該申請的方法的客戶端。再如,該申請所提供的方法還可以軟體開發工具包(Software Development Kit,SDK)的形式運行在伺服器等設備上,以SDK的形式提供圖像特徵提取功能的接口,終端或其他設備通過提供的接口即可實現提取圖像的HOG特徵的功能。
在上下文中所稱的終端或者伺服器,是指可以通過運行預定程式或指令來執行數值計算和/或邏輯計算等預定處理過程的智慧型終端,其可以包括處理器與存儲器,由處理器執行在存儲器中預存的存續指令來執行預定處理過程,或是由ASIC、FPGA、DSP等硬體執行預定處理過程,或是由上述二者組合來實現。計算機設備包括但不限於伺服器、個人電腦、筆記本電腦、平板電腦、智慧型手機等。
後面所討論的方法(其中一些通過流程圖示出)可以通過硬體、軟體、固件、中間件、微代碼、硬體描述語言或者其任意組合來實施。當用軟體、固件、中間件或微代碼來實施時,用以實施必要任務的程式代碼或代碼段可以被存儲在機器或計算機可讀介質(比如存儲介質)中。(一個或多個)處理器可以實施必要的任務。
如圖4所示,所述圖像特徵提取方法具體包括以下步驟,根據不同的需求,該流程圖中步驟的順序可以改變,某些步驟可以省略。
401:計算待處理圖像的各個像素點的梯度信息。
該較佳實施例中,首先獲取待處理圖像的各個像素點,然後計算各個像素點的梯度信息。所述梯度信息包括梯度幅值及梯度方向。
該較佳實施例中,因求導操作不僅能夠捕獲圖像的輪廓、人影和一些紋理信息,還能進一步弱化光照對圖像的影響,而且一階微分處理對梯度有較強的回響,因而可以利用一階微分模板計算待處理圖像各個像素點的梯度信息。所述一階微分模板可以包括一維中心[1,0,-1],一維非中心[-1,1],一維立方修正[1,-8,-8,-1],索貝爾(Soble)運算元等。
所述計算待處理圖像的梯度信息具體包括:採用一階微分模板分別計算待處理圖像的各個像素點在水平方向上和垂直方向上的梯度;根據水平方向上的梯度和垂直方向上的梯度計算該像素點的梯度幅值以及梯度方向。
該較佳實施例中,以一維中心[1,0,-1]模板為例計算待處理圖像的梯度信息,將待處理圖像記為I(x,y),通過一維中心模板計算像素點在水平和垂直方向的梯度分別如下式(1-1)所示:
(1-1);
其中,Gh(x,y)和Gv(x,y)分別表示該像素點在水平和垂直方向上的梯度值。
則計算該像素點的梯度幅值(梯度強度)以及梯度方向如下式(1-2)所示:
(1-2);
其中,M(x,y)和θ(x,y)分別表示該像素點的梯度幅值、梯度方向。
需要說明的是,因式(1-2)在計算該像素點的梯度幅值時複雜度較高,耗費時間較長,因而可採用如下式(1-3)所示計算該像素點的梯度值的近似值:(1-3);
進一步地,對於梯度方向的範圍限定,一般可以採用無符號的範圍,即忽略梯度方向的角度度數的正負級,無符號的梯度方向可用下式(1-4)所示表示:
(1-4);
經過式(1-4)的計算後,所述待處理圖像的梯度方向限定為0度-180度。該較佳實施例中,可以將計算出的待處理圖像的梯度信息存儲於圖像梯度信息存儲單元中,如圖1所示的積體電路1的圖像梯度信息存儲器101中。
應當理解的是,將計算出的待處理圖像的梯度信息存儲於所述圖像梯度信息存儲器101中是指將計算出的待處理圖像的梯度幅值和梯度方向分別存儲於所述圖像梯度信息存儲器101中。所述梯度幅值和所述梯度方向可以以矩陣的形式存儲在圖像梯度信息存儲器101中的預先設定的特定的存儲位置,所述特定的位置可以是一個特定的資料夾或者是一個以特定名稱命名的資料夾。即所述圖像梯度信息存儲器101中存儲了兩個矩陣,一個是待處理圖像的各個像素對應的梯度幅值矩陣,另一個是待處理圖像的各個像素對應的梯度方向矩陣。
402:將待處理圖像劃分為多個塊,每個塊劃分為多個細胞單元,每個細胞單元包括多個像素點。
該較佳實施例中,所述將待處理圖像劃分為多個塊,每個塊包括多個細胞單元,每個細胞單元包括多個像素點具體包括:根據預先設定的塊結構對待處理圖像進行劃分得到多個塊;根據預先設定的細胞大小對每個塊進行劃分得到多個細胞單元;每個細胞單元中包括多個像素點。
所述預先設定的塊結構可以包括:塊的形狀、塊的大小。所述塊的形狀可以包括,但不限於:矩形塊形狀、圓形塊形狀、中心環繞塊形狀或者星形塊形狀。根據所述矩形塊形狀對待處理圖像進行劃分可以得到多個矩形塊,根據所述圓形塊形狀對待處理圖像進行劃分可以得到多個圓形塊,根據所述中心環繞塊形狀對待處理圖像進行劃分可以得到多箇中心環繞塊,根據所述星形塊形狀對待處理圖像進行劃分可以得到多個星形塊。一個優選的技術方案是,所述預先設定的塊形狀為矩形塊。所述塊的大小是指塊的尺寸,即對待處理圖像進行劃分得到的每個塊中所包括的像素點的總個數。需要說明的是,所述塊的尺寸設定的太大時,梯度信息會被削弱,所述塊的尺寸設定的太小時,有用的信息會被過濾掉。一個優選的技術方案是,所述塊的大小可以設定為3*3。
參閱圖5所示,為該發明實施例提供的根據矩形塊結構將待處理圖像劃分為多個矩形塊的示意圖。對待處理圖像500進行劃分得到多個矩形塊502,對每個矩形塊502進一步劃分為多個細胞單元504,每個細胞單元504包括多個像素點506。
403:積體電路依次對每個細胞單元中的各個像素的梯度信息進行量化處理,得到待處理圖像的梯度直方圖量化結果。
該較佳實施例中,所述積體電路依次對每個細胞單元中的各個像素的梯度信息進行量化處理包括:
1)在所述預設第一時間段內對每個細胞單元中的各個像素的梯度方向進行量化處理得到待處理圖像的梯度直方圖方向量化結果;
所述梯度方向量化計算電路1222在所述預設第一時間段內接收所述圖像梯度信息存儲器101中的梯度方向,對所述梯度方向進行量化得到待處理圖像的梯度直方圖方向量化結果並輸出至所述梯度量化結果存儲器103中存儲。
具體的,所述梯度方向量化計算電路1222在所述預設第一時間段內依次接收每個細胞單元的各個像素的梯度方向,並輸入至所述第五乘法器12200中,經過所述第五乘法器12200的加權計算,輸出梯度直方圖方向量化結果θ(x,y)/λ。所述梯度方向量化係數λ可以是,例如,20。
進一步地,對各個像素的梯度方向進行量化後得到的結果有可能為浮點型數值,因而為保證對各個像素的梯度方向進行量化後得到的結果均為整型數值,可以將浮點型數值轉換為整型數值,該發明在此不再具體闡述。
所述對細胞單元中的各個像素的梯度方向進行量化的目的是對細胞單元中的各個像素的梯度方向進行統計,得到以像素的梯度方向為橫軸的直方圖,再根據所述梯度方向量化係數λ進行均勻劃分,得到多個梯度方向的角度範圍,每個梯度方向的角度範圍對應一個直方通道(直方柱),從而構建了每個細胞單元的梯度方向直方圖。
舉例說明,待處理圖像的像素的梯度方向的方向角度範圍為0度至180度,以所述梯度方向量化係數λ(例如,20)對像素的梯度方向進行量化可得到多個(例如,9個)角度範圍。所述9個角度範圍代表了9個直方通道。
2)在所述預設第一時間段內對每個細胞單元中的各個像素的梯度幅值進行量化處理得到待處理圖像的梯度直方圖幅值量化結果。
所述梯度幅值量化計算電路1220在所述預設第一時間段內獲取所述圖像梯度信息存儲器101中的梯度幅值,對所述梯度幅值進行量化得到待處理圖像的梯度直方圖幅值量化結果並輸出至所述梯度量化結果存儲器103中存儲。
該較佳實施例中,細胞單元中的各個像素點都為某個基於方向的直方圖通道投票,即每一票都是帶有權值的。
一併參閱圖6所示,待處理圖像500中的某個像素點(例如圖6中黑色所示的像素點,下文簡稱為黑色像素點)。所述黑色像素點對鄰近的四個細胞單元的梯度方向直方圖有貢獻,所述鄰近的四個細胞單元分別位於所述黑色像素點的左上(Upperleft)、右上(Upperright)、左下(Bottomleft)、右下(Bottomright)位置。
各個像素點對其鄰近的四個細胞單元的梯度方向直方圖有貢獻,具體的貢獻大小取決於:像素點的梯度幅值或者像素點的梯度幅值的函式;像素點離左上角細胞單元中心點的距離,所述距離包括:像素點離左上細胞單元中心點的水平距離、像素點離左上細胞單元中心點的垂直距離。所述梯度幅值的函式包括:梯度幅值的平方根、梯度幅值的平方。一個優選的技術方案是根據像素點的梯度幅值計算貢獻大小。
假設將所述像素點離左上角細胞單元中心點的水平距離記為dx,將所述像素點離左上角細胞單元中心點的垂直距離記為dy。則所述黑色像素點對左上細胞單元的梯度方向直方圖貢獻大小記為M*dx*dy;所述黑色像素點對右上細胞單元的梯度方向直方圖貢獻大小記為M*(1-dx)*dy;所述黑色像素點對左下細胞單元的梯度方向直方圖貢獻大小記為M*dx*(1-dy);所述黑色像素點對右下細胞單元的梯度方向直方圖貢獻大小記為M*(1-dx)*(1-dy)。
該較佳實施例中,所述梯度方向量化計算電路1222在所述預設第一時間段內依次接收每個細胞單元的各個像素的梯度幅值,並分別輸入至第一乘法器12221、第二乘法器12222、第三乘法器12223、第四乘法器12224中;經過所述第一乘法器12221的加權計算輸出第一梯度直方圖幅值量化結果M*dx*dy至所述第一加法器12225,經過所述第二乘法器12222的加權計算輸出第二梯度直方圖幅值量化結果M*(1-dx)*dy至所述第二加法器12226,經過所述第三乘法器12223的加權計算輸出第三梯度直方圖幅值量化結果M*dx*(1-dy)至所述第三加法器12227,經過所述第四乘法器12224的加權計算輸出第四梯度直方圖幅值量化結果M*(1-dx)*(1-dy)至所述第四加法器12228;所述第一加法器12225在預設第二時間段內接收對應像素點的左上細胞單元的梯度直方圖方向量化結果,進行加和計算並輸出第一梯度直方圖幅值量化插值結果至所述梯度量化結果存儲器103中存儲,所述第二加法器12226在所述預設第二時間段內接收對應像素點的右上細胞單元的梯度直方圖方向量化結果,進行加和計算並輸出第二梯度直方圖幅值量化插值結果至所述梯度量化結果存儲器103中存儲,所述第三加法器12227在所述預設第二時間段內接收對應像素點的左下細胞單元的梯度直方圖方向量化結果,進行加和計算並輸出第三梯度直方圖幅值量化插值結果至所述梯度量化結果存儲器103中存儲,所述第四加法器12228在所述預設第二時間段內接收對應像素點的右下細胞單元的梯度直方圖方向量化結果,進行加和計算並輸出第四梯度直方圖幅值量化插值結果至所述梯度量化結果存儲器103中存儲。
也就是說,所述梯度量化結果存儲器103中存儲有所述第一梯度直方圖幅值量化插值結果、所述第二梯度直方圖幅值量化插值結果、所述第三梯度直方圖幅值量化插值結果、所述第四梯度直方圖幅值量化插值結果。
404:所述積體電路對所述梯度直方圖量化結果進行歸一化處理,得到梯度直方圖歸一化結果。
該較佳實施例中,可以採用歸一化函式對每個細胞單元的梯度直方圖量化結果進行歸一化,所述歸一化函式可以是L2範數、L1範數。
由於局部光照的變化以及前景/背景對比度的變化,使得像素的梯度幅值的變化範圍非常大,歸一化能夠對光照、陰影和邊緣進行壓縮,使得梯度方向直方圖特徵向量空間對光照、陰影和邊緣變化具有魯棒性。所述梯度歸一化計算電路124在預設第三時間段內分別獲取所述梯度量化結果存儲器103中的所述第一、第二、第三、第四梯度直方圖幅值量化插值結果,對所述第一、第二、第三、第四梯度直方圖幅值量化插值結果進行計算,輸出梯度直方圖歸一化結果至所述梯度歸一化結果存儲器105中存儲。
具體地,所述梯度歸一化計算電路124對所述第一、第二、第三、第四梯度直方圖幅值量化插值結果進行計算的過程如下:
1)分別計算所述第一、第二、第三、第四梯度直方圖幅值量化插值結果各直方通道上的平方和,得到第一梯度直方圖幅值平方和、第二梯度直方圖幅值平方和、第三梯度直方圖幅值平方和、第四梯度直方圖幅值平方和;
2)將所述第一梯度直方圖幅值平方和、第二梯度直方圖幅值平方和、第三梯度直方圖幅值平方和、第四梯度直方圖幅值平方和進行累加得到梯度直方圖幅值總和;
3)計算所述梯度直方圖幅值總和的平方根;
3)對所述平方根進行求倒數得到梯度直方圖歸一化結果。
405:所述積體電路對所述梯度直方圖歸一化結果進行加權處理,得到每個細胞單元的HOG特徵向量。
所述HOG特徵計算電路126在預設第四時間段從所述梯度歸一化結果存儲器105中獲取對應每個細胞單元的四個梯度直方圖歸一化結果,經過計算後輸出每個細胞單元的HOG特徵向量至所述HOG特徵存儲器107。
所述HOG特徵計算電路126的所述第六乘法器1265在預設第四時間段內獲取對應細胞單元的第一梯度直方圖歸一化結果,進行加權計算並輸出第一HOG特徵向量結果,所述第七乘法器1266在預設第四時間段內獲取對應細胞單元的第二梯度直方圖歸一化結果,進行加權計算並輸出第二HOG特徵向量結果,所述第八乘法器1267在預設第四時間段內獲取對應細胞單元的第三梯度直方圖歸一化結果,進行加權計算並輸出第三HOG特徵向量結果,所述第九乘法器1268在預設第四時間段內獲取對應細胞單元的第四梯度直方圖歸一化結果,進行加權計算並輸出第四HOG特徵向量結果,同時根據預設第一連線順序將所述第一、第二、第三、第四HOG特徵向量結果進行連線,生成每個細胞單元的HOG特徵向量至所述HOG特徵存儲器107中存儲。
406:所述積體電路根據預設連線順序連線各個細胞單元的HOG特徵向量,生成待處理圖像的HOG特徵。
所述HOG特徵存儲器107用於存儲每個細胞單元的HOG特徵向量,並根據預設第二連線順序連線各個細胞單元的HOG特徵向量,最終生成待處理圖像的HOG特徵。
該較佳實施例中,所述預設第一連線順序可以是從左到右、從上往下的次序。所述預設第二連線順序可以是從左到右、從上往下的次序。該較佳實施例中,得到的待處理圖像的HOG特徵最終是一個由m*n*l數據組成的高維度向量,其中m表示待處理圖像中劃分的塊的數目,n表示每個塊中劃分的細胞單元的數目,l表示每個細胞單元中量化得到的方向角度範圍的數目。
該發明實施例提供的圖像特徵提取方法通過所述積體電路並行的計算待處理圖像的梯度信息,從而快速的得到待處理圖像的HOG特徵。另外,由於待處理圖像的梯度信息是以細胞單元為處理單元,因而,計算得到的HOG特徵能保持圖像的幾何和光學特性;其次,分塊分細胞單元的計算處理方式,可使得圖像局部像素點之間的關係得到很好的表征;最後採取歸一化處理,可以部分抵消光照變化帶來的影響。
進一步地,為了減少光照因素的影響,在計算圖像的梯度信息至前,所述方法還可以包括:對圖像進行歸一化處理。所述歸一化處理可以包括以下一種或多種的組合:灰度化處理,校正處理,圖像大小規範化處理。所述灰度化處理是指將圖像轉化為灰度圖像,因為圖像的顏色信息對提取梯度方向直方圖的影響不大,因而事先將彩色圖像轉化為灰度圖像,既不會影響後續計算圖像的梯度信息,還可以減少計算量。
所述校正處理可以採用伽馬(Gamma)校正方法,所謂的gamma校正就是把原來的每個通道像素值範圍從0~255變換到0~15.97(255開根號)。因在圖像的紋理強度中,局部的表層曝光貢獻的比重較大,所以經過Gamma校正處理後的圖像能夠有效地降低圖像局部的陰影和光照變化。所述圖像大小規範化處理是指將待處理圖像的大小進行統一。
需要說明的是,該發明所述對圖像進行歸一化處理不包括對圖像進行平滑處理,例如在計算圖像梯度前不需要對圖像進行高斯濾波操作,因圖像是基於邊緣的,而平滑處理會降低邊緣信息的對比度,從而減少圖像中的信號信息。
上述圖4-圖6詳細介紹了該發明的圖像特徵提取方法,下面對實現所述圖像特徵提取方法的硬體系統架構進行介紹。應該了解,所述實施例僅為說明之用,在專利申請範圍上並不受此結構的限制。
- 實施例三
參閱圖7所示,在該發明較佳實施例中,所述終端7包括存儲器71、至少一個積體電路1、至少一條通信匯流排73、顯示螢幕74及處理器75。
該領域技術人員應該了解,圖7示出的終端的結構並不構成該發明實施例的限定,既可以是匯流排型結構,也可以是星形結構,所述終端7還可以包括比圖示更多或更少的其他硬體或者軟體,或者不同的部件布置。
在一些實施例中,所述終端7包括一種能夠按照事先設定或存儲的指令,自動進行數值計算和/或信息處理的終端,其硬體包括但不限於微處理器、專用積體電路、可程式門陣列、數字處理器、嵌入式設備等。所述終端7還可包括用戶設備,所述用戶設備包括但不限於任何一種可與用戶通過鍵盤、滑鼠、遙控器、觸摸板或聲控設備等方式進行人機互動的電子產品,例如,個人計算機、平板電腦、智慧型手機、數位相機等任何等。
需要說明的是,所述終端7僅為舉例,其他2017年12月之前的或今後可能出現的電子產品如可適應於該發明,也應包含在該發明的保護範圍以內,並以引用方式包含於此。
在一些實施例中,所述存儲器71用於存儲程式代碼和各種數據,例如安裝在所述終端7中的快速拍照的系統,並在終端7的運行過程中實現高速、自動地完成程式或數據的存取。所述存儲器71包括唯讀存儲器(Read-Only Memory,ROM)、隨機存儲器(Random Access Memory,RAM)、可程式唯讀存儲器(Programmable Read-Only Memory,PROM)、可擦除可程式唯讀存儲器(Erasable Programmable Read-Only Memory,EPROM)、一次可程式唯讀存儲器(One-time Programmable Read-Only Memory,OTPROM)、電子擦除式可複寫唯讀存儲器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、唯讀光碟(Compact Disc Read-Only Memory,CD-ROM)或其他光碟存儲器、磁碟存儲器、磁帶存儲器、或者能夠用於攜帶或存儲數據的計算機可讀的任何其他介質。
在一些實施例中,所述至少一個積體電路1可以由單個封裝的積體電路所組成,也可以是由多個相同功能或不同功能封裝的積體電路所組成。在一些實施例中,所述至少一個處理器75包括一個或者多箇中央處理器(Central Processing unit,CPU)、微處理器、數字處理晶片、圖形處理器及各種控制晶片的組合等。所述至少一個處理器75是所述終端7的控制核心(Control Unit),利用各種接口和線路連線整個終端7的各個部件,通過運行或執行存儲在所述存儲器71內的程式或者模組,以及調用存儲在所述存儲器71內的數據,以執行終端7的各種功能和處理數據,例如執行圖像特徵提取方法的功能。
在一些實施例中,所述至少一條通信匯流排73被設定為實現所述存儲器71、至少一個積體電路1、顯示螢幕74及處理器75等之間的連線通信。在一些實施例中,所述顯示螢幕74可用於顯示由觀看者輸入的信息或提供給觀看者的信息以及終端7的各種圖形觀看者接口,這些圖形觀看者接口可以由圖形、文本、圖示、視頻和其任意組合來構成。所述顯示螢幕74可包括顯示面板,可選的,可以採用液晶顯示螢幕(Liquid Crystal Display,LCD)、有機發光二極體(Organic Light-Emitting Diode,OLED)等形式來配置顯示面板。
所述顯示螢幕74還可以包括觸摸面板。如果所述顯示螢幕74包括觸摸面板,所述顯示螢幕74可以被實現為觸控螢幕,以接收來自觀看者的輸入信號。觸摸面板包括一個或多個觸摸感測器以感測觸摸、滑動和觸摸面板上的手勢。上述觸摸感測器可以不僅感測觸摸或滑動動作的邊界,而且還檢測與上述觸摸或滑動操作相關的持續時間和壓力。所述顯示面板與所述觸摸面板可以作為兩個獨立的部件來實現輸入和輸入功能,但是在某些實施例中,可以將所述顯示面板與所述觸摸面板進行集成而實現輸入和輸出功能。
儘管未示出,所述終端7還可以包括給各個部件供電的電源(比如電池),優選的,電源可以通過電源管理系統與所述至少一個處理器75邏輯相連,從而通過電源管理系統實現管理充電、放電、以及功耗管理等功能。電源還可以包括一個或一個以上的直流或交流電源、再充電系統、電源故障檢測電路、電源轉換器或者逆變器、電源狀態指示器等任意組件。所述終端7還可以包括多種感測器、藍牙模組、Wi-Fi模組等,在此不再贅述。
應該了解,所述實施例僅為說明之用,在專利申請範圍上並不受此結構的限制。
以上說明的該發明的特徵性的手段可以通過積體電路來實現,並控制實現上述任意實施例中所述圖像特徵提取的功能。即,該發明的積體電路安裝於所述終端中,使所述終端發揮如下功能:所述積體電路包括:存儲電路及耦合至所述存儲電路輸出端的計算電路,所述存儲電路用於存儲待處理圖像的梯度信息,所述計算電路用於對所述梯度信息進行計算後輸出所述待處理圖像的梯度方向直方圖特徵。
在任意實施例中所述圖像特徵提取方法所能實現的功能都能通過該發明的積體電路安裝於所述終端中,使所述終端發揮任意實施例中所述圖像特徵提取方法所能實現的功能,在此不再詳述。在進一步的實施例中,結合圖1,所述至少一個處理器75可執行所述終端7的作業系統以及安裝的各類應用程式、程式代碼等。所述存儲器71中存儲有程式代碼,且所述至少一個處理器75可調用所述存儲器71中存儲的程式代碼以執行相關的功能。
在該發明的一個實施例中,所述存儲器71存儲多個指令,所述多個指令被所述至少一個積體電路1及至少一個處理器75所執行以實現快速提取圖像的特徵。具體地,所述至少一個積體電路1及至少一個處理器75對上述指令的具體實現方法可參考圖1對應實施例中相關步驟的描述,在此不贅述。
在該發明所提供的幾個實施例中,應該理解到,所揭露的系統,裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模組的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式。
所述作為分離部件說明的模組可以是或者也可以不是物理上分開的,作為模組顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部模組來實現該實施例方案的目的。
另外,在該發明各個實施例中的各功能模組可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用硬體加軟體功能模組的形式實現。
對於該領域技術人員而言,顯然該發明不限於上述示範性實施例的細節,而且在不背離該發明的精神或基本特徵的情況下,能夠以其他的具體形式實現該發明。因此,無論從哪一點來看,均應將實施例看作是示範性的,而且是非限制性的,該發明的範圍由所附權利要求而不是上述說明限定,因此旨在將落在權利要求的等同要件的含義和範圍內的所有變化涵括在該發明內。不應將權利要求中的任何附圖示記視為限制所涉及的權利要求。此外,顯然“包括”一詞不排除其他單元或,單數不排除複數。系統權利要求中陳述的多個單元或裝置也可以由一個單元或裝置通過軟體或者硬體來實現。第一,第二等詞語用來表示名稱,而並不表示任何特定的順序。
榮譽表彰
2021年11月,《圖像特徵提取積體電路、方法、終端》獲得第八屆廣東專利獎優秀獎。