JP2022053424A - ハードウェアアクセラレータ、画像処理装置及び画像処理方法 - Google Patents

ハードウェアアクセラレータ、画像処理装置及び画像処理方法 Download PDF

Info

Publication number
JP2022053424A
JP2022053424A JP2020160259A JP2020160259A JP2022053424A JP 2022053424 A JP2022053424 A JP 2022053424A JP 2020160259 A JP2020160259 A JP 2020160259A JP 2020160259 A JP2020160259 A JP 2020160259A JP 2022053424 A JP2022053424 A JP 2022053424A
Authority
JP
Japan
Prior art keywords
binary pattern
pixel
histogram
unit
reference value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020160259A
Other languages
English (en)
Other versions
JP7188426B2 (ja
Inventor
康佑 松本
Kosuke Matsumoto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2020160259A priority Critical patent/JP7188426B2/ja
Priority to PCT/JP2021/029475 priority patent/WO2022064884A1/ja
Publication of JP2022053424A publication Critical patent/JP2022053424A/ja
Application granted granted Critical
Publication of JP7188426B2 publication Critical patent/JP7188426B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

【課題】複数のLBPへの対応に好適なハードウェアアクセラレータ、画像処理装置及び方法を提供する。【解決手段】ハードウェアアクセラレータ30は、画像の各画素及び各画素の周囲の複数画素の画素値に対し、フィルタを使用しリファレンス値を算出するリファレンス値算出部32と、画像の各画素の画素値又はリファレンス値と各画素の周囲の複数画素の画素値と、を比較しバイナリパターンを生成するバイナリパターン生成部33と、バイナリパターンを変換後バイナリパターンに変換するバイナリパターン変換部34と、バイナリパターン又は変換後バイナリパターンによりヒストグラムを生成するヒストグラム生成部35とを備え、リファレンス値算出部32とバイナリパターン変換部33とヒストグラム生成部35とのうち少なくとも1つと、バイナリパターン生成部33と、を使用し得られたバイナリパターン、変換後バイナリパターン又はヒストグラムを出力する。【選択図】図3

Description

本発明は、ハードウェアアクセラレータ、画像処理装置及び画像処理方法に関する。
画像の局所的な表現を特徴量としたLBP(Local Binary Pattern)は、画像認識や分類等に用いられている。LBPは、照明の変化に対して影響を受けにくく、高速に計算することができるという特徴を有している。
特許文献1に記載された特徴点検出では、処理の迅速化等のために、処理の一部または全部を専用のハードウェア(以下、専用のハードウェアを「ハードウェアアクセラレータ」と記載する)で実現することも想定している。ところで、LBPには、Uniform LBPやImproved LBP等の派生した手法があり、用途に応じて適切な手法を選択することが好ましい。
特開2014-199505号公報
しかしながら、派生したLBPの各手法をそのまま個別にハードウェアアクセラレータで実現させると、ハードウェアアクセラレータの回路規模が増大してしまう。
そこで、本発明は、上記問題を解決するためになされたものであり、複数のLBPに対応させることに好適なハードウェアアクセラレータ、画像処理装置及び画像処理方法を提供することを目的とする。
上記目的を達成するため、本発明のハードウェアアクセラレータは、
撮像された画像の、それぞれの画素および前記それぞれの画素の周囲の複数の画素の画素値に対して、フィルタを使用することによりリファレンス値を算出するリファレンス値算出部と、
前記撮像された画像の、それぞれの画素の画素値または前記リファレンス値と、前記それぞれの画素の周囲の複数の画素の画素値と、を比較することによりバイナリパターンを生成するバイナリパターン生成部と、
前記バイナリパターンを変換後バイナリパターンに変換するバイナリパターン変換部と、
前記バイナリパターンまたは前記変換後バイナリパターンに基づいてヒストグラムを生成するヒストグラム生成部と、を備え、
前記リファレンス値算出部と前記バイナリパターン変換部と前記ヒストグラム生成部とのうち、少なくとも1つと、前記バイナリパターン生成部と、を使用することにより得られた前記バイナリパターン、前記変換後バイナリパターンまたは前記ヒストグラムを出力する。
本発明によれば、複数のLBPに対応させることに好適なハードウェアアクセラレータ、画像処理装置及び画像処理方法を提供することができる。
本発明の実施形態に係る画像処理装置のハードウェアアクセラレータが実行する4つの処理についての説明図である。 本発明の実施形態に係る画像処理装置のLBP設定処理での各LBPと実行する処理との組み合わせを説明する図である。 本発明の実施形態に係る画像処理装置のブロック図である。 本発明の実施形態に係る画像処理装置のLBP設定処理のフローチャートである。 本発明の実施形態に係る画像処理装置の各種LBP特徴量生成処理の説明図である。 本発明の実施形態に係る画像処理装置の画像処理のフローチャートである。 本発明の実施形態に係る画像処理装置の各種LBP特徴量生成処理のフローチャートである。 本発明の実施形態に係る画像処理装置のリファレンス値算出処理のフローチャートである。 本発明の実施形態に係る画像処理装置のバイナリパターン生成処理のフローチャートである。 本発明の実施形態に係る画像処理装置のバイナリパターン変換処理のフローチャートである。 本発明の実施形態に係る画像処理装置のヒストグラム生成処理のフローチャートである。
本発明の実施形態に係るハードウェアアクセラレータを備えた画像処理装置について、以下、図面を参照して詳細に説明する。
本発明の実施形態に係るハードウェアアクセラレータを備えた画像処理装置は、図1に示す4つの処理を組み合わせることにより、入力された画像から、図2に示すように、Normal LBP、Improved LBP、CS(Center-Symmetric) LBP、RI(Rotation Invariant) LBP、Uniform LBP、LBP Histogram、Improved RI LBP Histogramの各種LBPのうちからユーザが選択したLBPによる特徴量を生成する。
(画像処理装置の構成)
図3に示すように、画像処理装置10は、制御部20、特徴点検出器30、記憶部40、撮像部50、通信部60、表示部70、入力部80、を備える。
制御部20は、CPU(Central Processing Unit)等で構成され、記憶部40に記憶されたプログラム等を実行することにより、後述する各部(処理選択部21、画像取得部22、特徴量送信部23)の機能を実現する。また、制御部20は、時計(図示せず)を有し、現在日時の取得や経過時間のカウント等をすることができる。
ハードウェアアクセラレータAの構成要素である特徴点検出器30は、制御部20に代わって、画像Vから特徴量を算出するための各種処理を実行するためのものである。特徴点検出器30は、CPU等を含んでおり、半導体等の電子部品を集積した集積回路(IC:Integrated Circuit)で構成され、記憶部40に記憶されたプログラム等を実行することにより、後述する各部(画素値取得部31、リファレンス値算出部32、バイナリパターン生成部33、バイナリパターン変換部34、ヒストグラム生成部35)の機能を実現する。
また、ハードウェアアクセラレータAの構成要素である特徴点検出器記憶部36は、RAM(Random Access Memory)等で構成され、機能的に、ヒストグラム一時記憶部37を有する。ヒストグラム一時記憶部37は、後述するヒストグラム生成処理でのカウントアップのために使用される。
記憶部40は、ROM(Read Only Memory)、RAM等で構成され、ROMの一部又は全部は電気的に書き換え可能なメモリ(フラッシュメモリ等)で構成されている。記憶部40は、機能的に、撮像画像記憶部41と、リファレンス値記憶部42と、バイナリパターン記憶部43と、ヒストグラム記憶部44と、各種設定記憶部45と、を有する。ROMには制御部20および特徴点検出器30が実行するプログラム及びプログラムを実行する上で予め必要なデータが記憶されている。RAMには、プログラム実行中に作成されたり変更されたりするデータが記憶される。
撮像画像記憶部41には、本実施形態では、撮像部50に撮像された画像Vが記憶される。本実施形態では、後述する撮像装置51は説明の簡略化のため1台とするが、撮像画像記憶部41は、撮像装置51が複数台稼働している場合には、撮像装置51毎に撮像された画像を記憶することができる。
リファレンス値記憶部42には、後述するリファレンス値算出処理で算出されたリファレンス値を記憶する。
バイナリパターン記憶部43には、後述するLBP設定処理で処理選択部21に選択された比較モード、後述するバイナリパターン生成処理で生成されたバイナリパターンBPが記憶される。また、バイナリパターンBPに基づいて後述するバイナリパターン変換処理で変換されたバイナリパターンBPLが記憶される。
ヒストグラム記憶部44には、後述するヒストグラム生成処理で生成されたヒストグラムが記憶される。
各種設定記憶部45には、各LBPに対応する後述する比較パターン、フィルタ係数(フィルタ)、ルックアップテーブル(LUT)、図2に示すような各LBPと4つの処理との対応関係、画像Vを撮像するフレームレート、画像Vが撮像される撮像範囲L等の各種設定が、予め、またはユーザが入力部80等を介して入力または指示すること等により記憶されている。
撮像部50は、画像Vを撮像する撮像装置51、撮像装置51の姿勢を制御するための駆動装置52を有する。
撮像装置51は、本実施形態では、CMOS(Complementary Metal Oxide Semiconductor)カメラを備える。撮像装置51は、撮像範囲を予め設定された、またはユーザが設定したフレームレートで撮像し画像Vを生成する。なお、フレームレートは、撮像対象物の想定移動速度等に応じて、ユーザにより手動で、または自動的に変更可能である。
駆動装置52は、後述する入力装置81等の指示に従って、撮像装置51の位置や方向を移動させて撮像範囲Lを調整する。
通信部60は、外部機器等と通信するためのモジュールである通信装置61を有する。通信装置61は、外部機器と通信する場合にはアンテナを含む無線モジュールである。例えば、通信装置61は、Bluetooth(登録商標)に基づく近距離無線通信を行うための無線モジュールである。通信部60を用いることにより、画像処理装置10は、外部機器等と画像Vや特徴量等のデータ等の受け渡しを行うことができる。
表示部70は、液晶表示パネル(LCD:Liquid Crystal Display)から構成された表示装置71を備える。
表示装置71としては、薄膜トランジスタ(TFT:Thin Film Transistor)、液晶、有機EL(Electro Luminescence)などを採用できる。表示装置71には、画像Vや特徴量リスト等が表示される。
入力部80は、表示部70と近接して、または表示部70と一体に設けられた抵抗膜方式のタッチパネル(入力装置81)である。タッチパネルは、赤外線操作方式や投影型静電容量方式等であってもよいし、入力部80はタッチパネルで無くキーボードおよびマウス等であってもよい。ユーザは、入力部80を介したマニュアル操作にて、使用するLBPを選択する、或いは、表示部70を使用して使用するLBPを選択することができる。
次に、画像処理装置10の制御部20および特徴点検出器30の機能的構成について説明する。
制御部20は、処理選択部21、画像取得部22、特徴量送信部23の機能を実現し、ハードウェアアクセラレータAである特徴点検出器30とともに後述する画像処理、LBP特徴量生成処理等を行う。
処理選択部21は、ユーザが選択したLBPに対応する処理をセット(図2、4参照)し、アクセラレータAを設定する。詳細は、LBP設定処理にて後述する。
画像取得部22は、予め画像処理装置10に設定された、またはユーザが設定した露出条件等で撮像部50が撮像した画像Vを取得し、撮像画像記憶部41に記憶させる。
特徴量送信部23は、ユーザが選択したLBPに応じてバイナリパターンBP、BPL、またはヒストグラムを外部機器等に送信する。
特徴点検出器30は、画素値取得部31、リファレンス値算出部32、バイナリパターン生成部33、バイナリパターン変換部34、ヒストグラム生成部35の機能を実現し、制御部20とともに画像処理、LBP特徴量生成処理等を行う。
画素値取得部31は、撮像画像記憶部41に記憶された画像Vから各画素の画素値およびその画素の周囲8画素の画素値を取得する。画素値取得部31は、取得した画像Vをユーザが選択したLBPに応じて、リファレンス値算出部32、またはバイナリパターン生成部33に送信する。
リファレンス値算出部32は、画素値取得部31から送信された画像Vの、それぞれの画素およびそれぞれの画素の周囲の8点の画素の画素値に対して、フィルタを使用することによりリファレンス値を算出する。フィルタは、図1に示すように、(1)3×3画素値の中央の画素値をリファレンス値(図1のリファレンス値算出の欄の上から1つ目のフィルタに相当)とするもの(Normal LBP、RI LBP、Uniform LBP)、(2)3×3画素値の平均値をリファレンス値(フィルタ係数は中央および周辺ともに1(図1のリファレンス値算出の欄の上から2つ目のフィルタに相当))とするもの(Improved LBP、Improved RI LBP Histogram)、(3)3×3画素値の中央の画素値を最大の重み付けをし、中央の上下左右を半分の重み付け、四隅をさらに半分の重み付けしたもの(図1のリファレンス値算出の欄の上から3つ目のフィルタに相当)がある。なお、ユーザによって任意に、フィルタの数値を変更または追加することもできる。
バイナリパターン生成部33は、撮像された画像の、それぞれの画素の画素値、または、リファレンス値とそれぞれの画素の周囲の8点の画素の画素値とを比較することによりバイナリパターンBPを生成する。比較の方法については、図5に示すように、(1)リファレンス値と周囲の8画素を比較するリファレンス値等比較モード、(2)中央の画素を点対称に周囲の8画素を比較する対象画素比較モード、(3)隣接する画素同士を比較する隣接画素比較モードがある。Normal LBP、Improved LBP、RI LBP、Uniform LBP、LBP Histogram、Improved RI LBP Histogramを選択した場合は(1)を、CS LBPを選択した場合は(2)のモードを使用して比較する。ユーザによって任意に、モードを変更することもできる。図1に示すように、比較元<比較先の場合0とし、それ以外の場合1とする。
バイナリパターン変換部34は、バイナリパターン生成部33が生成したバイナリパターンを、図1、5に示すように、8ビットのルックアップテーブル(LUT)であるパターン変換テーブルを使用して変換後バイナリパターンBPLに変換する。例えば、RI LBP(およびImproved RI LBP Histogram)に対しては、以下のような8ビットの変換を行う。
00000001(1)→00000001(1)
00000010(2)→00000001(1)
00000100(4)→00000001(1)
00001000(8)→00000001(1)
00010000(16)→00000001(1)
00100000(32)→00000001(1)
01000000(64)→00000001(1)
10000000(128)→00000001(1)

00000011(3)→00000011(3)
00000110(6)→00000011(3)
00001100(12)→00000011(3)
00011000(24)→00000011(3)
00110000(48)→00000011(3)
01100000(96)→00000011(3)
11000000(192)→00000011(3)
10000001(129)→00000011(3)

つまり、下記のようなテーブル、ビットパターンをビットシフトによる回転に対応したテーブルとなる。
tb[1]=1
tb[2]=1
tb[3]=3
tb[4]=1
tb[6]=3
tb[8]=1
tb[12]=3
tb[16]=1
tb[24]=3
tb[32]=1
tb[48]=3
tb[64]=1
tb[96]=3
tb[128]=1
tb[129]=3
tb[192]=3
一方、Uniform LBPでは、例えば、ビットパターンを、点(spot)、フラット(spot/flat)、先端(line end)、エッジ(edge)、角(corner)に分類する、下記のようなパターン変換テーブルを使用する。WEBページ「Local Binary Patternの理論と実装」等を参照するとよい。
00000000(1)→00000001(1)=spot
11111111(255)→00000002(2)=spot/flat
00000110(6)→00000004(4)=line end
00001100(12)→00000004(4)=line end
00011000(24)→00000004(4)=line end

11000011(195)→00000008(8)=edge
10000111(135)→00000008(8)=edge
00001111(15)→00000008(8)=edge

00000111(7)→00000010(16)=corner
00001110(14)→00000010(16)=corner
00011100(28)→00000010(16)=corner
ヒストグラム生成部(度数(頻度)分布算定部)35は、バイナリパターンBPまたは変換後バイナリパターンBPLに基づいてヒストグラムを生成する。LBP Histogram、Improved RI LBP Histogramの場合、ヒストグラム生成部35は、バイナリパターンに該当するビンに対してカウントアップし、全画素分をカウントアップすることによりヒストグラムを生成する。設定された大きさ(本実施形態では64pix×64pixの画素ブロック)のブロック別のヒストグラムを算出した後、ヒストグラムを連結することによりヒストグラムを生成する。画像V全体のヒストグラムを生成してもよい。
以上、制御部20および特徴点検出器30の機能的構成について説明した。以下、図3から図11を用いて、撮像された画像Vのそれぞれの画素について、3×3画素値を使用して、図2に示す、Normal LBP、Improved LBP、CS LBP、RI LBP、Uniform LBP、LBP Histogram、Improved RI LBP Histogramの各種LBPの特徴量を生成するために実行される画像処理、各種LBP特徴量生成処理等について具体的に説明する。
(LBP設定処理)
はじめに、画像処理を行う前に、図3に示す、ハードウェアアクセラレータAで実行する処理をユーザが選択したLBPにあわせた構成とするためのLBP設定処理(図4、図2参照)を行う。
まず、ユーザは、画像Vの画素の特徴量の生成を行うLBPを選択する。処理選択部21は、各種設定記憶部45に記憶された各LBPと実行する処理との組み合わせ(図2参照)を参照し、ユーザの選択したLBPに対応する処理を確認する(ステップS101)。
ユーザの選択したLBPにリファレンス値算出処理が対応する場合(ステップS102;Yes)、リファレンス値算出部32を実行可能状態にする(ステップS103)。ユーザの選択したLBPにリファレンス値算出処理が対応しない場合(ステップS102;No)、リファレンス値算出部32を実行可能状態にしない。
ステップS104に進み、処理選択部21は、ユーザの選択したLBPに対応する比較パターンを各種設定記憶部45から選択し、バイナリパターン記憶部43に記憶する。
ステップS105に進み、ユーザの選択したLBPにバイナリパターン変換処理が対応する場合(ステップS105;Yes)、バイナリパターン変換部34を実行可能状態にする(ステップS106)。ユーザの選択したLBPにバイナリパターン変換処理が対応しない場合(ステップS105;No)、バイナリパターン変換部34を実行可能状態にしない。
ステップS107に進み、ユーザの選択したLBPにヒストグラム生成処理が対応する場合(ステップS107;Yes)、ヒストグラム生成部35を実行可能状態にする(ステップS108)。ユーザの選択したLBPにヒストグラム生成処理が対応しない場合(ステップS107;No)、ヒストグラム生成部35を実行可能状態にしない。以上で、LBP設定処理を終了する。
(画像処理)
LBP設定処理が終了した後、図6に示すように、撮像された画像Vのそれぞれの画素について、LBP特徴量を算出するための画像処理を実行する。なお、画像Vの全画素数をk個とする。
はじめに、撮像部50は、設定されたフレームレートで設定された指定撮像範囲を撮像し、画像取得部22は、撮像された画像Vを撮像画像記憶部41に記憶させる(ステップS201)。
次に、n(1≦n≦k)画素目の画素値の取り込みを始める(ステップS202)。画素値取得部31は、撮像画像記憶部41に記憶された画像Vからn画素目の画素値およびそのn画素目の周囲8画素の画素値を取得する(ステップS203)。
次のステップに進み、ユーザが設定したLBPに対応する、後述する各種LBP特徴量生成処理を実行する(ステップS204)。
ステップ205に進み、n=k画素目であるか否かを判別する。n=k画素目でない場合(ステップS205;No)、n=n+1とし(ステップS206)、ステップS203に戻る。n=k画素目である場合(ステップS205;Yes)、ステップS207へ進む。
ステップS207では、特徴量送信部23は、バイナリパターン生成処理、バイナリパターン変換処理、ヒストグラム生成処理のうち、最後に実行した処理で生成された特徴量を、バイナリパターン記憶部43またはヒストグラム記憶部44から取得し、通信部60を介して、外部機器等へ送信し、画像処理を終了する。
引き続き、画像処理のステップS204で実行される、各種LBP特徴量生成処理について、図7を参照して説明する。
(各種LBP特徴量生成処理)
まず、LBP設定処理でリファレンス値算出部32が実行可能状態である場合(ステップS301;Yes)、後述するリファレンス値算出処理を実行し(ステップS302)、実行後ステップS303へ進む。LBP設定処理でリファレンス値算出部32が実行可能状態でない場合(ステップS301;No)、ステップS303へ進む。
次に、後述するバイナリパターン生成処理を実行する(ステップS303)。
その後、ステップS304に進み、LBP設定処理でバイナリパターン変換部34が実行可能状態である場合(ステップS304;Yes)、後述するバイナリパターン変換処理を実行し(ステップS305)、実行後ステップS306へ進む。LBP設定処理でバイナリパターン変換部34が実行可能でない場合(ステップS304;No)、ステップS306へ進む。
LBP設定処理でヒストグラム生成部35が実行可能状態である場合(ステップS306;Yes)、後述するヒストグラム生成処理を実行し(ステップS307)、実行後各種LBP特徴量生成処理を終了する。LBP設定処理でヒストグラム生成部35が実行可能状態でない場合(ステップS306;No)、各種LBP特徴量生成処理を終了する。
続いて、各種LBP特徴量生成処理で実行されるリファレンス値算出処理、バイナリパターン生成処理、バイナリパターン変換処理、ヒストグラム生成処理を順に説明する。
(リファレンス値算出処理)
リファレンス値算出処理では、まず、図8に示すように、リファレンス値算出部32は、各種設定記憶部45から、ユーザが選択したLBPに対応するフィルタ係数(フィルタ)を取得する(ステップS401)。
次に、リファレンス値算出部32は、取得したフィルタ係数を使用して、n番目の画素およびn番目の画素の周囲の8画素の画素値に対してフィルタ処理を実行する(ステップS402)。
最後に、リファレンス値算出部32は、フィルタ処理の結果リファレンス値を取得し、リファレンス値をリファレンス値記憶部42に記憶し(ステップS403)、リファレンス値算出処理を終了する。
(バイナリパターン生成処理)
引き続き、以下、図9を参照して、バイナリパターン生成処理について説明する。
まず、バイナリパターン生成部33は、LBP設定処理のステップS104で処理選択部21が選択した比較モードをバイナリパターン記憶部43から取得する(ステップS501)。
次に、バイナリパターン生成部33は、比較元の画素値Rを取得する。比較元、比較先の画素値については、図1参照(ステップS502)。
続いて、バイナリパターン生成部33は、比較先の画素値Cを取得する。(ステップS503)。
その後、バイナリパターン生成部33は、比較元の画素値Rと比較元の画素値Cとを比較する(ステップS504)。比較元の画素値Rより比較元の画素値Cが大きい場合(ステップS504;Yes)、バイナリパターン生成部33は、0を出力し、バイナリパターン記憶部43に記憶する(ステップS505)。比較元の画素値Rと比較元の画素値Cとが等しい、或いは、比較元の画素値Rより比較元の画素値Cが小さい場合(ステップS504;No)、バイナリパターン生成部33は、1を出力し、バイナリパターン記憶部43に記憶する(ステップS506)。
ステップS507に進み、n=kか否かを確認する。n=kである場合(ステップS507;Yes)、バイナリパターン生成部33は、バイナリパターンBPを生成し(ステップS508)、バイナリパターン生成処理を終了する。n=kでない場合(ステップS507;No)、バイナリパターン生成処理を終了する。
(バイナリパターン変換処理)
続いて、以下、図10を参照して、バイナリパターン変換処理について説明する。
まず、バイナリパターン変換部34は、ユーザが選択したLBPに対応するルックアップテーブルを各種設定記憶部45から参照して、バイナリパターンBPに適用する(ステップS601)。
バイナリパターン変換部34は、ルックアップテーブルによりバイナリパターンBPから変換された変換後バイナリパターンBPLをバイナリパターン記憶部43に記憶し(ステップS602)、バイナリパターン変換処理を終了する。
(ヒストグラム生成処理)
引き続いて、以下、図11を参照して、ヒストグラム生成処理について説明する。
まず、ヒストグラム生成部35は、ユーザが選択したLBPに応じてバイナリパターンBPまたは変換後バイナリパターンBPLを事前に設定されたビンに対してヒストグラム一時記憶部37でカウントアップする(ステップS701)。このとき、画像Vを3×3画素等の大きさのブロックに分割して、ブロック内の画素に対してLBPを計算し、ブロック毎にビン数256でLBPのヒストグラムを生成し、ブロック数分のヒストグラムを連結してヒストグラムを生成する。或いは画像V全体でのヒストグラムを生成する。
続いて、n=k(全画素カウントアップ完了)である場合(ステップS702;Yes)、ヒストグラム生成部35は、カウントアップによって生成したヒストグラムを出力し、ヒストグラム記憶部44に記憶し(ステップS703)、ヒストグラム生成処理を終了する。n=kでない(全画素カウントアップ未完了)場合(ステップS702;No)、ヒストグラム生成処理を終了する。
以上、本実施形態におけるハードウェアアクセラレータAを備える画像処理装置10は、ユーザが選択したLBPに応じてハードウェアアクセラレータA内の4つの処理(リファレンス値算出処理、バイナリパターン生成処理、バイナリパターン変換処理、ヒストグラム生成処理)をこの順番で組み合わせ、バイナリパターン生成処理と、リファレンス値算出処理、バイナリパターン変換処理、ヒストグラム生成処理のうちの少なくとも1つの処理と、を実行することによって各種LBP特徴量を生成できる。従って、各種LBPに対してそれぞれハードウェアアクセラレータを構成した場合に比べて、重複する処理をまとめることができるので、ハードウェアアクセラレータAの回路規模の増大を抑制することができ、好適である。
[変形例]
上記実施形態では、画像処理装置10の特徴点検出器30をハードウェアアクセラレータAとしたが、ハードウェアアクセラレータは、例えば、リファレンス値算出部、バイナリパターン生成部およびバイナリパターン変換部を備え、リファレンス値算出部とバイナリパターン変換部とのうち、少なくとも1つとバイナリパターン生成部とを使用することにより得られたバイナリパターンまたは変換後バイナリパターンを画像処理装置に送信(出力)するものであり、Normal LBP、Improved LBP、CS(Center-Symmetric) LBP、RI(Rotation Invariant) LBP、Uniform LBPの各種LBPのうちからユーザが選択したLBPによる特徴量を生成するものであってもよい。或いは、ハードウェアアクセラレータは、リファレンス値算出部とバイナリパターン生成部とを備え、少なくともバイナリパターン生成部を使用することにより得られたバイナリパターンを画像処理装置に送信するものであってもよい。或いは、他の組合せであってもよい。
或いは、ハードウェアアクセラレータにアクセラレータ記憶部40の各機能を有する特徴点検出器記憶部を設けた画像処理装置としてもよい。或いは、ハードウェアアクセラレータAを2つ以上実装した構成の画像処理装置として、より高速に特徴量の算定をできるようにしてもよい。
或いは、上記以外のフィルタ、比較モード、ルックアップテーブルやヒストグラムを使用することにより、Normal LBP、Improved LBP、CS LBP、RI LBP、Uniform LBP、LBP Histogram、Improved RI LBP Histogram以外のLBPによる特徴量を生成することもできる。
また、上記実施形態でのフィルタは、3×3であったが、これに限らない。5×5や他の数のフィルタであってもよい。
上記実施形態でのフィルタには、ローパスフィルタ(LPF:Low Pass Filter)、ハイパスフィルタ(HPF:High Pass Filter)、バンドパスフィルタ(BP:Band Pass Filter)、バンドエリミネーションフィルタ(BEF:Band Elimination Filter)等を使用してもよい。或いは、εフィルタ等を使用してもよい。また、タップ数を5×5等にすることもできる。
上記実施形態でのルックアップテーブルには、BoF(Bag of Features)等のクラスタリング用テーブルを使用してもよい。
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
(付記)
(付記1)
撮像された画像の、それぞれの画素および前記それぞれの画素の周囲の複数の画素の画素値に対して、フィルタを使用することによりリファレンス値を算出するリファレンス値算出部と、
前記撮像された画像の、それぞれの画素の画素値または前記リファレンス値と、前記それぞれの画素の周囲の複数の画素の画素値と、を比較することによりバイナリパターンを生成するバイナリパターン生成部と、
前記バイナリパターンを変換後バイナリパターンに変換するバイナリパターン変換部と、
前記バイナリパターンまたは前記変換後バイナリパターンに基づいてヒストグラムを生成するヒストグラム生成部と、を備え、
前記リファレンス値算出部と前記バイナリパターン変換部と前記ヒストグラム生成部とのうち、少なくとも1つと、前記バイナリパターン生成部と、を使用することにより得られた前記バイナリパターン、前記変換後バイナリパターンまたは前記ヒストグラムを出力する、
ハードウェアアクセラレータ。
(付記2)
前記リファレンス値算出部は、前記フィルタによって、前記それぞれの画素の画素値を出力する、または前記それぞれの画素の画素値および前記それぞれの画素の周囲の複数の画素の画素値の平均の画素値または重み付き平均の画素値を出力する、
付記1に記載のハードウェアアクセラレータ。
(付記3)
前記バイナリパターン生成部は、隣接する画素同士の画素値を比較する、前記画素を点対称にして画素値を比較する、または、前記それぞれの画素の周囲の複数の画素の画素値と前記リファレンス値とを比較する、
付記1または2に記載のハードウェアアクセラレータ。
(付記4)
前記バイナリパターン変換部は、8ビットのルックアップテーブルで変換を行う、
付記1から3のいずれか1つに記載のハードウェアアクセラレータ。
(付記5)
前記ヒストグラム生成部は、前記バイナリパターンに該当するビンに対してカウントアップすることによりヒストグラムを生成する、
付記1から4のいずれか1つに記載のハードウェアアクセラレータ。
(付記6)
付記1から6のいずれか1つに記載のハードウェアアクセラレータと、
前記バイナリパターン、前記変換後バイナリパターンまたは前記ヒストグラムを取得する制御部と、
前記バイナリパターン、前記変換後バイナリパターンまたは前記ヒストグラムを記憶する記憶部と、
を備える、
画像処理装置。
(付記7)
ハードウェアアクセラレータに、
撮像された画像の、それぞれの画素および前記それぞれの画素の周囲の複数の画素の画素値に対して、フィルタを使用することによりリファレンス値を算出させ、
前記撮像された画像の、それぞれの画素の画素値または前記リファレンス値と前記それぞれの画素の周囲の複数の画素の画素値とを比較することによりバイナリパターンを生成させ、
前記バイナリパターンを変換後バイナリパターンに変換させ、
前記バイナリパターンまたは前記変換後バイナリパターンに基づいてヒストグラムを生成させ、
前記リファレンス値と前記変換後バイナリパターンと前記ヒストグラムとのうち、少なくとも1つと、前記バイナリパターンと、を出力させる、
画像処理方法。
10…画像処理装置、20…制御部、21…処理選択部、22…画像取得部、23…特徴量送信部、30…特徴点検出器、31…画素値取得部、32…リファレンス値算出部、33…バイナリパターン生成部、34…バイナリパターン変換部、35…ヒストグラム生成部、36…特徴点検出器記憶部、37…ヒストグラム一時記憶部、40…記憶部、41…撮像画像記憶部、42…リファレンス値記憶部、43…バイナリパターン記憶部、44…ヒストグラム記憶部、45…各種設定記憶部、50…撮像部、51…撮像装置、52…駆動装置、60…通信部、61…通信装置、70…表示部、71…表示装置、80…入力部、81…入力装置、A…ハードウェアアクセラレータ、BP…バイナリパターン、BPL…変換後バイナリパターン、L…撮像範囲、V…画像
上記目的を達成するため、本発明のハードウェアアクセラレータは、
像の、それぞれの画素の画素値および前記それぞれの画素の周囲の複数の画素の画素値に対して、フィルタを使用することによりリファレンス値を出するリファレンス値出部と、
記画像の、それぞれの画素の画素値または前記リファレンス値と、前記それぞれの画素の周囲の複数の画素の画素値と、に基づいてバイナリパターンを生成するバイナリパターン生成部と、
前記バイナリパターンを変換後バイナリパターンに変換するバイナリパターン変換部と、
前記バイナリパターンまたは前記変換後バイナリパターンに基づいてヒストグラムを生成するヒストグラム生成部と、を備え、
前記リファレンス値出部と前記バイナリパターン変換部と前記ヒストグラム生成部とのうち、少なくとも1つと、前記バイナリパターン生成部と、を使用することにより得られた前記バイナリパターン、前記変換後バイナリパターンまたは前記ヒストグラムを出力する。
上記目的を達成するため、本発明のハードウェアアクセラレータは、
画像の、それぞれの画素の画素値および前記それぞれの画素の周囲の複数の画素の画素値に対して、フィルタを使用することによりリファレンス値を導出する、複数種のフィルタを備えるリファレンス値導出部と、
前記画像の、それぞれの画素の画素値または前記リファレンス値と、前記それぞれの画素の周囲の複数の画素の画素値を比較することによりバイナリパターンを生成する、複数種の比較モードを備えるバイナリパターン生成部と、
前記バイナリパターンを変換後バイナリパターンに変換するバイナリパターン変換部と、
前記複数種の比較モードのうち任意に設定された比較モードで、前記複数種のフィルタのうち任意に設定されたフィルタを使用することにより導出されたリファレンス値を前記それぞれの画素の周囲の複数の画素の画素値と比較することにより生成されたバイナリパターンまたは前記変換後バイナリパターンに基づいてヒストグラムを生成するヒストグラム生成部と、を備え、
前記リファレンス値導出部と前記バイナリパターン変換部と前記ヒストグラム生成部とのうち、少なくとも1つと、前記バイナリパターン生成部と、を使用することにより得られた前記バイナリパターン、前記変換後バイナリパターンまたは前記ヒストグラムを出力する。

Claims (7)

  1. 撮像された画像の、それぞれの画素および前記それぞれの画素の周囲の複数の画素の画素値に対して、フィルタを使用することによりリファレンス値を算出するリファレンス値算出部と、
    前記撮像された画像の、それぞれの画素の画素値または前記リファレンス値と、前記それぞれの画素の周囲の複数の画素の画素値と、を比較することによりバイナリパターンを生成するバイナリパターン生成部と、
    前記バイナリパターンを変換後バイナリパターンに変換するバイナリパターン変換部と、
    前記バイナリパターンまたは前記変換後バイナリパターンに基づいてヒストグラムを生成するヒストグラム生成部と、を備え、
    前記リファレンス値算出部と前記バイナリパターン変換部と前記ヒストグラム生成部とのうち、少なくとも1つと、前記バイナリパターン生成部と、を使用することにより得られた前記バイナリパターン、前記変換後バイナリパターンまたは前記ヒストグラムを出力する、
    ハードウェアアクセラレータ。
  2. 前記リファレンス値算出部は、前記フィルタによって、前記それぞれの画素の画素値を出力する、または前記それぞれの画素の画素値および前記それぞれの画素の周囲の複数の画素の画素値の平均の画素値または重み付き平均の画素値を出力する、
    請求項1に記載のハードウェアアクセラレータ。
  3. 前記バイナリパターン生成部は、隣接する画素同士の画素値を比較する、前記画素を点対称にして画素値を比較する、または、前記それぞれの画素の周囲の複数の画素の画素値と前記リファレンス値とを比較する、
    請求項1または2に記載のハードウェアアクセラレータ。
  4. 前記バイナリパターン変換部は、8ビットのルックアップテーブルで変換を行う、
    請求項1から3のいずれか1項に記載のハードウェアアクセラレータ。
  5. 前記ヒストグラム生成部は、前記バイナリパターンに該当するビンに対してカウントアップすることによりヒストグラムを生成する、
    請求項1から4のいずれか1項に記載のハードウェアアクセラレータ。
  6. 請求項1から6のいずれか1項に記載のハードウェアアクセラレータと、
    前記バイナリパターン、前記変換後バイナリパターンまたは前記ヒストグラムを取得する制御部と、
    前記バイナリパターン、前記変換後バイナリパターンまたは前記ヒストグラムを記憶する記憶部と、
    を備える、
    画像処理装置。
  7. ハードウェアアクセラレータに、
    撮像された画像の、それぞれの画素および前記それぞれの画素の周囲の複数の画素の画素値に対して、フィルタを使用することによりリファレンス値を算出させ、
    前記撮像された画像の、それぞれの画素の画素値または前記リファレンス値と前記それぞれの画素の周囲の複数の画素の画素値とを比較することによりバイナリパターンを生成させ、
    前記バイナリパターンを変換後バイナリパターンに変換させ、
    前記バイナリパターンまたは前記変換後バイナリパターンに基づいてヒストグラムを生成させ、
    前記リファレンス値と前記変換後バイナリパターンと前記ヒストグラムとのうち、少なくとも1つと、前記バイナリパターンと、を出力させる、
    画像処理方法。
JP2020160259A 2020-09-24 2020-09-24 ハードウェアアクセラレータ、画像処理装置及び画像処理方法 Active JP7188426B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020160259A JP7188426B2 (ja) 2020-09-24 2020-09-24 ハードウェアアクセラレータ、画像処理装置及び画像処理方法
PCT/JP2021/029475 WO2022064884A1 (ja) 2020-09-24 2021-08-10 ハードウェアアクセラレータ、画像処理装置及び画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020160259A JP7188426B2 (ja) 2020-09-24 2020-09-24 ハードウェアアクセラレータ、画像処理装置及び画像処理方法

Publications (2)

Publication Number Publication Date
JP2022053424A true JP2022053424A (ja) 2022-04-05
JP7188426B2 JP7188426B2 (ja) 2022-12-13

Family

ID=80846427

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020160259A Active JP7188426B2 (ja) 2020-09-24 2020-09-24 ハードウェアアクセラレータ、画像処理装置及び画像処理方法

Country Status (2)

Country Link
JP (1) JP7188426B2 (ja)
WO (1) WO2022064884A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009211179A (ja) * 2008-02-29 2009-09-17 Canon Inc 画像処理方法、パターン検出方法、パターン認識方法及び画像処理装置
WO2013105513A1 (ja) * 2012-01-12 2013-07-18 パナソニック株式会社 特徴抽出装置、特徴抽出方法、および特徴抽出プログラム
JP2015225469A (ja) * 2014-05-27 2015-12-14 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
US20160091947A1 (en) * 2014-09-30 2016-03-31 Qualcomm Incorporated Hardware acceleration of computer vision feature detection

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009211179A (ja) * 2008-02-29 2009-09-17 Canon Inc 画像処理方法、パターン検出方法、パターン認識方法及び画像処理装置
WO2013105513A1 (ja) * 2012-01-12 2013-07-18 パナソニック株式会社 特徴抽出装置、特徴抽出方法、および特徴抽出プログラム
JP2015225469A (ja) * 2014-05-27 2015-12-14 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
US20160091947A1 (en) * 2014-09-30 2016-03-31 Qualcomm Incorporated Hardware acceleration of computer vision feature detection

Also Published As

Publication number Publication date
WO2022064884A1 (ja) 2022-03-31
JP7188426B2 (ja) 2022-12-13

Similar Documents

Publication Publication Date Title
CN105976760B (zh) 一种终端屏幕的亮度调节方法及移动终端
TWI431516B (zh) 觸覺回饋方法及其電子裝置
JP4450783B2 (ja) 撮影装置
CN109543499A (zh) 伽玛电路、电子设备以及执行光学指纹识别的方法
CN104933984B (zh) 显示装置及其驱动方法和驱动模块
CN107147837A (zh) 一种拍摄参数的设置方法和移动终端
EP3637763A1 (en) Colour detection method and terminal
US20190156786A1 (en) Device and method for mura correction
JP5119054B2 (ja) 静電容量式タッチコントロール装置及びそれに応用されるデータ伝送方法
CN107040772A (zh) 双照相机应用中动态帧率的图像帧同步
CN107909965A (zh) 用于显示面板的补偿方法和装置
CN1716314A (zh) 自动图像修正电路
CN106412457B (zh) 一种图像处理方法及移动终端
CN109599054A (zh) 显示面板亮度的控制方法及装置
CN105609038B (zh) 一种驱动信号的补偿方法、补偿电路及显示面板
US9837026B2 (en) Backlight control method, backlight control device and display apparatus employing a system on chip and a field-programmable gate array
CN113676713A (zh) 图像处理方法、装置、设备及介质
CN113727083B (zh) 投影仪亮度调节方法、设备、计算机可读存储介质
CN111462260A (zh) 显示面板的mura补偿方法、装置和电子设备
WO2022064884A1 (ja) ハードウェアアクセラレータ、画像処理装置及び画像処理方法
TWI251797B (en) Display device with reduced flickering
JP2005345678A (ja) 携帯表示機器
CN113473008B (zh) 拍摄方法及装置
JP2012044480A (ja) 撮像装置及び撮像方法
CN107390880A (zh) 一种基于光影非接触式多角度输入设备及输入方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210908

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220715

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221101

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221114

R150 Certificate of patent or registration of utility model

Ref document number: 7188426

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150