(57)【要約】  特定オブジェクトを高速に検出・識別することが可能な技術を提供する。前景抽出部２０１が、入力画像の背景領域に対応する位置の画素値として０（背景領域を示す値）を設定し、入力画像の前景領域に対応する位置の画素値として入力画像上の画素値を設定した前景抽出画像を生成し、ディープラーニング部２０２が、前景抽出部２０１により生成された前景抽出画像に対して畳み込みニューラルネットワーク処理を行って、特定オブジェクトを検出又は識別する。
2019150649.tif 000002
【特許請求の範囲】
【請求項１】
入力画像に含まれる特定オブジェクトを検出又は識別する画像処理装置において、
前記入力画像の背景領域に対応する位置の画素値として背景領域を示す値を設定し、前記入力画像の前景領域に対応する位置の画素値として前記入力画像上の画素値を設定した前景抽出画像を生成する前景抽出手段と、
前景抽出手段により生成された前記前景抽出画像に対して畳み込みニューラルネットワーク処理を行って特定オブジェクトを検出又は識別するオブジェクト認識手段とを備えたことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記オブジェクト認識手段は、
複数であるＮ層の畳み込み層を持つ畳み込みニューラルネットワーク処理部を有し、
各畳み込み層で、入力された画像に基づいてマスク画像を生成する処理と、前記マスク画像に対して畳み込み演算を行う処理と、前記畳み込み演算の結果にバイアスを加算する処理とを行い、
第１の畳み込み層には、前記前景抽出画像が入力され、
第ｎ（ただし、１＜ｎ≦Ｎ）の畳み込み層には、第（ｎ−１）の畳み込み層による処理結果の画像が入力され、
第Ｎの畳み込み層による処理結果の画像に基づいて、特定オブジェクトの検出又は識別を行うことを特徴とする画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
前記マスク画像を生成する処理は、入力された画像における着目画素の周囲に、背景領域を示す値を持つ画素である背景画素が所定数を超えて存在する場合に、前記マスク画像における前記着目画素に対応する位置の画素値として背景領域を示す値を設定し、前記背景画素が前記所定数を超えて存在しない場合に、前記マスク画像における前記着目画素に対応する位置の画素値として前景領域を示す値を設定することで、前記マスク画像を生成し、
前記畳み込み演算を行う処理は、前記マスク画像に対してフィルタを用いて所定のスキャン順に畳み込み演算を行い、前記マスク画像における前記フィルタの中心位置の画素値が背景領域を示す値であれば、その位置での畳み込み演算を行わず、その位置の畳み込み演算の結果の画素値として背景領域を示す値を設定することを特徴とする画像処理装置。
【請求項４】
請求項３に記載の画像処理装置において、
前記バイアスを加算する処理は、前記畳み込み演算を行う処理の結果のうちの背景領域を示す値を持つ画素に対しては、バイアスを加算しないことを特徴とする画像処理装置。
【請求項５】
入力画像に含まれる特定オブジェクトを検出又は識別する画像処理方法において、
前記入力画像の背景領域に対応する位置の画素値として背景領域を示す値を設定し、前記入力画像の前景領域に対応する位置の画素値として前記入力画像上の画素値を設定した前景抽出画像を生成するステップと、
前記前景抽出画像に対して畳み込みニューラルネットワーク処理を行って特定オブジェクトを検出又は識別するステップとを有することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像に含まれる特定オブジェクトを検出又は識別する画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
近年、ディープラーニングを用いた処理が盛んに行われている。例えば、入力画像に含まれる特定オブジェクト（例えば、人や動物などの生物、ビルや電柱などの構造物、乗り物全般、商品、癌などの病気）の検出・識別が実現されており、監視カメラや車載カメラなどへの適用が期待されている。このような機能は人件費の削減や利益向上に役立ち、また製品に組み込むことで高機能化を図ることができ、製品販売の促進にも繋がるため、多くの企業が高い関心を抱いている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１７／０４７４９４号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ディープラーニングを用いた処理は、高精度な結果が期待される半面で、大量の計算コストが発生する課題がある。また、画像・映像に対する処理では、ディープラーニングを用いない場合でも、大量の乗算・加算が発生する（例えば、特許文献１参照）。近年では、局所領域の関連性に着目して、計算コストを抑えつつ、効率的に特徴量を抽出するＣＮＮ（Convolutional Neural Network；畳み込みニューラルネットワーク）を用いた手法がよく用いられるが、依然として計算量が多いという課題が残る。【０００５】
本発明は、上記のような従来の事情に鑑みて為されたものであり、特定オブジェクトを高速に検出・識別することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するために、本発明では、画像処理装置を以下のように構成した。
すなわち、入力画像に含まれる特定オブジェクトを検出又は識別する画像処理装置において、前景抽出手段が、前記入力画像の背景領域に対応する位置の画素値として背景領域を示す値を設定し、前記入力画像の前景領域に対応する位置の画素値として前記入力画像上の画素値を設定した前景抽出画像を生成し、オブジェクト認識手段が、前景抽出手段により生成された前記前景抽出画像に対して畳み込みニューラルネットワーク処理を行って特定オブジェクトを検出又は識別することを特徴とする。【０００７】
このように、入力画像から背景領域を除去（例えば黒塗り）した前景抽出画像に対して畳み込みニューラルネットワーク処理を行うことで、畳み込みニューラルネットワーク処理において背景領域に対する計算を省略することができ、特定オブジェクトを検出・識別する処理の高速化を実現できる。しかも、背景領域の影響を抑えることができるので、特定オブジェクトの検出・識別をより高精度に行うことが可能となる。【０００８】
ここで、一構成例として、前記オブジェクト認識手段は、複数であるＮ層の畳み込み層を持つ畳み込みニューラルネットワーク処理部を有し、各畳み込み層で、入力された画像に基づいてマスク画像を生成する処理と、前記マスク画像に対して畳み込み演算を行う処理と、前記畳み込み演算の結果にバイアスを加算する処理とを行い、第１の畳み込み層には、前記前景抽出画像が入力され、第ｎ（ただし、１＜ｎ≦Ｎ）の畳み込み層には、第（ｎ−１）の畳み込み層による処理結果の画像が入力され、第Ｎの畳み込み層による処理結果の画像に基づいて、特定オブジェクトの検出又は識別を行う構成としてもよい。【０００９】
この場合、前記マスク画像を生成する処理は、入力された画像における着目画素の周囲に、背景領域を示す値を持つ画素である背景画素が所定数を超えて存在する場合に、前記マスク画像における前記着目画素に対応する位置の画素値として背景領域を示す値を設定し、前記背景画素が前記所定数を超えて存在しない場合に、前記マスク画像における前記着目画素に対応する位置の画素値として前景領域を示す値を設定することで、前記マスク画像を生成し、前記畳み込み演算を行う処理は、前記マスク画像に対してフィルタを用いて所定のスキャン順に畳み込み演算を行い、前記マスク画像における前記フィルタの中心位置の画素値が背景領域を示す値であれば、その位置での畳み込み演算を行わず、その位置の畳み込み演算の結果の画素値として背景領域を示す値を設定することが好ましい。また更に、前記バイアスを加算する処理は、前記畳み込み演算を行う処理の結果のうちの背景領域を示す値を持つ画素に対しては、バイアスを加算しないことが好ましい。
【発明の効果】
【００１０】
本発明によれば、特定オブジェクトの検出・識別において不要となる背景領域についての計算量を削減することができるので、特定オブジェクトを高速に検出・識別することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明に係る画像処理装置を備えた映像監視システムの構成例を示す図である。
【図２】図１の映像監視システムにおける画像処理部の構成例を示す図である。
【図３】図２の画像処理部における前景抽出部の処理内容を説明する図である。
【図４】図２の画像処理部におけるディープラーニング部の処理内容を説明する図である。
【図５】図４のＣＮＮ部における畳み込み層の計算方法を説明する図である。
【発明を実施するための形態】
【００１２】
本発明の一実施形態について、図面を参照して説明する。
図１には、本発明に係る画像処理装置を備えた映像監視システムの構成例を示してある。映像監視システムは、ハードウェア資源としてＣＰＵ（Central Processing Unit）などのプロセッサやメモリを備えた電子計算機システムにより構成され、それぞれの機能が実行されるようになっている。なお、プロセッサとして、ＤＳＰ（Digital Signal Proce
ssor）、ＦＰＧＡ（Field Programmable Gate Array）、ＧＰＵ（Graphics Processing U
nit）などを用いてもよい。
【００１３】
本例の映像監視システムは、撮像装置１０１と、画像処理装置１１０と、記録装置１０９と、発報装置１０７と、表示出力装置１０８とを備える。また、画像処理装置１１０は、映像取得部１０２と、画像処理部１０３と、データ通信部１０４と、記録制御部１０５と、表示制御部１０６とを備える。
【００１４】
撮像装置１０１は、１台以上のＴＶカメラなどで構成され、監視対象となるエリアを撮像する。
映像取得部１０２は、撮像装置１０１または記録装置１０９から得られる信号を映像（画像データ）として取得する。
画像処理部１０３は、映像取得部１０２で取得した映像を入力として、画像処理により特定オブジェクトを検出・識別する。
記録制御部１０５は、画像処理部１０３で検出・識別した結果に基づいて、映像の記録制御や、記録映像の圧縮率や記録間隔の制御などを行う。
記録装置１０９は、記録制御部１０５による制御に従って、映像取得部１０２により取得された映像を記録・保持する。
【００１５】
データ通信部１０４は、画像処理部１０３で検出・識別した結果を発報装置１０７に送信する。また、ネットワーク上の他の装置（例えば、監視センタ）との通信も行える。
発報装置１０７は、画像処理部１０３で検出・識別した結果を音声や光などでユーザに知らせる。
表示制御部１０６は、映像取得部１０２で取得した映像、画像処理部１０３で検出・識別した結果、または記録装置１０９に保存された情報の表示を制御する。
表示出力装置１０８は、表示制御部１０６による制御に従って、映像取得部１０２で取得した映像、画像処理部１０３で検出・識別した結果、または記録装置１０９に保存された情報を表示する。
【００１６】
映像取得部１０２においては、撮像装置１０１からのリアルタイムの映像信号や、画像データが記録されている記録装置１０９からの映像信号に基づいて、１次元、２次元または３次元配列の画像データを入力画像として取得する。この入力画像において、ノイズやフリッカなどの影響を低減するために、前処理として、平滑化フィルタや輪郭強調フィルタ、濃度変換などの処理を施してもよい。また、用途に応じて、ＲＧＢカラーやＹＵＶ、モノクロなどのデータ形式を用いてもよい。さらには、計算コストの低減のために、所定の大きさで画像データに縮小処理を施してもよい。
【００１７】
図２には、画像処理部１０３の構成例を示してある。画像処理部１０３は、映像取得部１０２で取得された入力画像から前景を抽出した前景抽出画像を生成する前景抽出部２０１と、前景抽出部２０１で生成された前景抽出画像に対してディープラーニングを用いた処理を行うディープラーニング部２０２とを備える。
【００１８】
前景抽出部２０１は、入力画像の背景領域に対応する位置の画素値として背景領域を示す値を設定し、入力画像の前景領域に対応する位置の画素値として入力画像上の画素値を設定した前景抽出画像を生成する。
ディープラーニング部２０２は、前景抽出画像に対してディープラーニングを用いた処理（具体的には、畳み込みニューラルネットワーク処理）を行って、特定オブジェクトの検出又は識別を行う。
以下、前景抽出部２０１およびディープラーニング部２０２の処理内容について、特定オブジェクトとして人を検出する場合を例にして説明する。なお、以下の例では、背景領域を示す値を０とし、前景領域を示す値を１として説明する。
【００１９】
図３を用いて、前景抽出部２０１の処理内容について説明する。
まず、入力画像である着目画像３０１と、着目画像３０１のｔ１フレーム前の画像３０２とを用いて、これら画像の差分を計算し、差分が閾値Ｔ１以上となる位置の画素値を着目画像３０１と同じ位置の画素値とし、閾値Ｔ１未満となる位置の画素値を０として、第１の差分画像３０４を生成する。
同様に、着目画像３０１と、着目画像３０１のｔ２フレーム後の画像３０３とを用いて、これら画像の差分を計算し、差分が閾値Ｔ２以上となる位置の画素値を着目画像３０１と同じ位置の画素値とし、閾値Ｔ２未満となる位置の画素値を０として、第２の差分画像３０５を生成する。
その後、第１の差分画像３０４と第２の差分画像３０５とを用いて、これらの画像の論理積を計算し、その結果を前景抽出画像３０６として生成する。
ここで、ｔ１とｔ２は同じ数値でもよく、異なる数値でもよい。また、Ｔ１とＴ２は同じ数値でもよく、異なる数値でもよい。
【００２０】
なお、これらの処理の代わりに、あらかじめ基準画像を用意しておき、基準画像と着目画像３０１を用いて差分を計算し、差分が閾値以上となる位置の画素値を着目画像３０１と同じ位置の画素値とし、閾値未満となる位置の画素値を０として、前景抽出画像３０６を生成してもよい。また、前景抽出画像３０６を生成する処理は、これらの処理に限定されず、他の処理により前景抽出画像３０６を生成してもよい。
【００２１】
次に、図４を用いて、ディープラーニング部２０２の処理内容について説明する。
ここでは、前景抽出部２０１で生成した前景抽出画像３０６を、ディープラーニング部２０２が有するＣＮＮ部４０１に入力し、ＣＮＮ部４０１により畳み込みニューラルネットワーク処理を行って、入力画像の前景領域が人（特定オブジェクト）であるか否かを示す処理結果４０２を取得する。なお、前景抽出画像３０６から動領域のみを切り出してＣＮＮ部４０１に入力してもよい。ＣＮＮ部４０１のネットワーク構造は任意であり、複数であるＮ層の畳み込み層が含まれた構造であればよい。
【００２２】
ＣＮＮ部４０１が有するＮ層の畳み込み層では、それぞれ、入力された画像に基づいてマスク画像を生成する処理と、マスク画像に対して畳み込み演算を行う処理と、畳み込み演算の結果にバイアスを加算する処理とが行われる。また、最初に処理を行う第１の畳み込み層には、前景抽出画像３０６が入力され、その後に処理を行う第ｎ（ただし、１＜ｎ≦Ｎ）の畳み込み層には、第（ｎ−１）の畳み込み層による処理結果の画像が入力される。そして、第Ｎの畳み込み層による処理結果の画像に基づいて、特定オブジェクトの検出又は識別が行われる。
【００２３】
図５を用いて、ＣＮＮ部４０１における畳み込み層の計算方法について説明する。
畳み込み層の入力を前景抽出画像３０６としたとき、はじめにマスク画像５０１を生成する。具体的には、前景抽出画像３０６の着目画素の周囲ｋに画素値＝０となる画素数が閾値Ｔ３を超えて存在する場合には、対応するマスク画像５０１上の値を０とする。反対に、前景抽出画像３０６の着目画素の周囲ｋに画素値＝０となる画素数が閾値Ｔ３以下の場合には、対応するマスク画像５０１上の値を１とする。ここで、ｋは、対象畳み込み層のフィルタサイズとする。また、マスク画像５０１は、入力チャネル数毎に生成される。
【００２４】
次に、生成したマスク画像５０１を参照して、フィルタ５０２を用いて畳み込みの計算を行う。このとき、フィルタ５０２の中心位置を決定し、ラスタスキャン順に畳み込みを計算するが、この中心位置がマスク画像５０１上で０であれば、その位置での畳み込み計算を行わず、０を畳み込みの結果として出力する。したがって、畳み込み処理の計算量が減少し、処理の高速化を実現できる。また、通常は最後にバイアスを加算し、次の畳み込み層への入力とするが、上記の位置でのバイアスを０とする（つまり、バイアスを加算しない）ことで、同様な計算量の削減が複数の層で可能となる。
【００２５】
この計算量の削減の効果をシミュレーションにより確認する。入力をＲＧＢカラーの１００×１００の画像とし、３チャネルの入力を受け付ける３×３のフィルタを持つ１０個の特徴マップを出力する畳み込み層を有するＣＮＮ部を備え、入力画像１チャンネルからマスク画像を生成した場合に、マスク画像の全体の２０％が０になったと仮定する。このとき、従来であれば約２７０万回の乗算と約２４０万回の加算が必要となるが、図５のような計算を行うことで、約２１６万回の乗算と約１９２万回の加算で済む。このように、畳み込み処理の計算量を大幅に削減することができる。また、前景のみに着目することで、特定オブジェクトの検出・識別の精度の向上にも繋がる。
【００２６】
なお、図３〜図５では、人の検出を例にしたが、画像処理部１０３はＣＮＮを用いた構造であれば他の事例にも適用することができる。このため、人や動物などの生物、ビルや電柱などの構造物、乗り物全般、商品、癌などの病気といった種々の特定オブジェクトを高速かつ高精度に検出・識別することが可能となる。
【００２７】
以上のように、本例の画像処理装置では、前景抽出部２０１が、入力画像の背景領域に対応する位置の画素値として０（背景領域を示す値）を設定し、入力画像の前景領域に対応する位置の画素値として入力画像上の画素値を設定した前景抽出画像を生成し、ディープラーニング部２０２が、前景抽出部２０１により生成された前景抽出画像に対して畳み込みニューラルネットワーク処理を行って、特定オブジェクトを検出又は識別する構成となっている。
【００２８】
このように、入力画像から背景領域を除去（例えば黒塗り）した前景抽出画像に対して畳み込みニューラルネットワーク処理を行うことで、畳み込みニューラルネットワーク処理において背景領域に対する計算を省略することができ、特定オブジェクトを検出・識別する処理の高速化を実現できる。しかも、背景領域の影響を抑えることができるので、特定オブジェクトの検出・識別をより高精度に行うことが可能となる。
【００２９】
ここで、ディープラーニング部２０２は、複数であるＮ層の畳み込み層を持つＣＮＮ部４０１を有し、各畳み込み層で、入力された画像に基づいてマスク画像を生成する処理と、マスク画像に対して畳み込み演算を行う処理と、畳み込み演算の結果にバイアスを加算する処理とを行う。第１の畳み込み層には、前景抽出画像が入力され、第ｎ（ただし、１
＜ｎ≦Ｎ）の畳み込み層には、第（ｎ−１）の畳み込み層による処理結果の画像が入力され、第Ｎの畳み込み層による処理結果の画像に基づいて、特定オブジェクトの検出又は識別を行うよう構成されている。
【００３０】
そして、マスク画像を生成する処理では、入力された画像における着目画素の周囲に、背景画素（画素値＝０の画素）が所定数を超えて存在する場合に、マスク画像における着目画素に対応する位置の画素値として０（背景領域を示す値）を設定し、背景画素が所定数を超えて存在しない場合に、マスク画像における着目画素に対応する位置の画素値として１（前景領域を示す値）を設定することで、マスク画像を生成する。
また、畳み込み演算を行う処理では、マスク画像に対してフィルタを用いてラスタスキャン順に畳み込み演算を行う。このとき、マスク画像におけるフィルタの中心位置の画素値が背景領域を示す値であれば、その位置での畳み込み演算を行わず、その位置の畳み込み演算の結果の画素値として０（背景領域を示す値）を設定する。
また、バイアスを加算する処理では、畳み込み演算を行う処理の結果のうちの背景画素に対しては、バイアスを加算しない。
このような構成により、畳み込み処理の計算量を大幅に削減できるだけでなく、背景領域の除去による計算量の削減効果が複数の畳み込み層のそれぞれで得られる。
【００３１】
なお、上記の例では、背景領域を示す値を０とし、前景領域を示す値を１としたが、これらの値は任意であり、他の値を背景領域を示す値や前景領域を示す値として用いても構わない。
また、上記の例では、マスク画像に対してフィルタを用いてラスタスキャン順に畳み込み演算を行っているが、スキャン順は任意であり、他のスキャン順で畳み込み演算を行っても構わない。
【００３２】
ここで、本発明に係るシステムや装置などの構成としては、必ずしも以上に示したものに限られず、種々な構成が用いられてもよい。
また、本発明は、例えば、本発明に係る処理を実行する方法や方式、そのような方法や方式をプロセッサやメモリ等のハードウェア資源を有するコンピュータにより実現するためのプログラム、そのプログラムを記憶する記憶媒体などとして提供することも可能である。
【産業上の利用可能性】
【００３３】
本発明は、入力画像に含まれる特定オブジェクトを検出又は識別する画像処理装置に利用することができる。
【符号の説明】
【００３４】
１０１：撮像装置、  １０２：映像取得部、  １０３：画像処理部、  １０４：データ通信部、  １０５：記録制御部、  １０６：表示制御部、  １０７：発報装置、  １０８：表示出力装置、  １０９：記録装置、  １１０：画像処理装置、  ２０１：前景抽出部、  ２０２：ディープラーニング部、  ３０１：着目画像、  ３０２：着目画像のｔ１フレーム前の画像、  ３０３：着目画像のｔ２フレーム後の画像、  ３０４：第１の差分画像、  ３０５：第２の差分画像、  ３０６：前景抽出画像、  ４０１：ＣＮＮ部、  ４０２：処理結果、  ５０１：マスク画像、  ５０２：フィルタ
【図１】
2019150649.tif 000003
【図２】
2019150649.tif 000004
【図３】
2019150649.tif 000005
【図４】
2019150649.tif 000006
【図５】
2019150649.tif 000007
【国際調査報告】
2019150649.tif 000008
2019150649.tif 000009