JP6778010B2 - 画像識別システム、画像識別方法 - Google Patents

画像識別システム、画像識別方法 Download PDF

Info

Publication number
JP6778010B2
JP6778010B2 JP2016080476A JP2016080476A JP6778010B2 JP 6778010 B2 JP6778010 B2 JP 6778010B2 JP 2016080476 A JP2016080476 A JP 2016080476A JP 2016080476 A JP2016080476 A JP 2016080476A JP 6778010 B2 JP6778010 B2 JP 6778010B2
Authority
JP
Japan
Prior art keywords
calculation
image
result
arithmetic unit
identification
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.)
Active
Application number
JP2016080476A
Other languages
English (en)
Other versions
JP2017191458A5 (ja
JP2017191458A (ja
Inventor
山本 貴久
貴久 山本
加藤 政美
政美 加藤
克彦 森
克彦 森
伊藤 嘉則
嘉則 伊藤
野村 修
修 野村
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2016080476A priority Critical patent/JP6778010B2/ja
Priority to US15/483,501 priority patent/US20170300776A1/en
Publication of JP2017191458A publication Critical patent/JP2017191458A/ja
Publication of JP2017191458A5 publication Critical patent/JP2017191458A5/ja
Application granted granted Critical
Publication of JP6778010B2 publication Critical patent/JP6778010B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Description

本発明は、画像識別技術に関するものである。
ディープネット(或いはディープニューラルネット、ディープラーニングとも称される)と呼ばれる多階層のニューラルネットワークが、近年非常に大きな注目を集めている。ディープネットは、特定の演算手法を指すものではないが、一般的には、入力データ(例えば画像データ)に対して、階層的な処理(ある階層の処理結果を、その後段の階層の処理の入力とする)を行うものを指す。
特に画像識別の分野では、畳み込みフィルタ演算を行う畳み込み層と、全結合演算を行う全結合層と、から構成されるディープネットが主流になりつつある。このようなディープネットでは、処理の前半に複数の畳み込み層を配置し、処理の後半に複数の全結合層を配置することが一般的である(非特許文献1)。
畳み込みフィルタ演算の一例を図4を用いて説明する。図4において、符号401は処理対象画像を示しており、符号402はフィルタカーネルを示している。図4では、カーネルサイズが3×3のフィルタ演算を行う場合を示している。このような場合、次式に示す積和演算処理により、畳み込みフィルタ演算結果が算出される。
Figure 0006778010
ここで、di,jは、処理対象画像401上の画素位置(i,j)における画素値を表し、fi,jは、画素位置(i,j)におけるフィルタ演算結果を表している。また、ws,tは、画素位置(i+s−1,j+t−1)における画素値に適用するフィルタカーネル402の値(フィルタ係数パラメータ)を表している。また、「columnSize」及び「rowSize」はフィルタカーネル402のサイズ(それぞれ列数、行数)を表している。フィルタカーネル402を処理対象画像401中で移動させつつ、上記の演算を行うことで、畳み込みフィルタ演算の出力結果を得ることができる。
この畳み込みフィルタ演算、及びシグモイド変換に代表される非線形変換処理から、畳み込み層が構成される。入力データに対してこの畳み込み層の演算を階層的に繰り返し行うことで、画像の特徴を表現する特徴量が得られる。
ディープネットにおいて複数の畳み込み層に続いて配置されている全結合層では、最後の畳み込み層の出力結果(特徴量)に対して、次式に示されるような行列積演算を行う。
Figure 0006778010
ここで、m次元のベクトルAは、最後の畳み込み層からの出力である特徴量のベクトルであり、m×n行列Bは、全結合層の重みパラメータである。演算結果であるn次元ベクトルCが、ベクトルAと行列Bとの行列積演算の結果となる。
この行列積演算及び、シグモイド変換に代表される非線形変換処理から、全結合層が構成される。畳み込み層から出力される特徴量に対してこの行列積演算を階層的に繰り返し行うことで、最終識別結果が得られる。
ここで、上述した畳み込みフィルタ演算と行列積演算とでは、その演算を実行するプラットフォームに要求される要件がかなり異なる。以下では、これについてより詳細に説明する。
畳み込みフィルタ演算も行列積演算も、入力データとパラメータとの内積演算という意味では同種の演算とみなすことができる。畳み込みフィルタ演算の場合、入力データは入力画像或いは前階層の畳み込み層の出力結果であり、パラメータはフィルタ係数パラメータとなる。同様に、行列積演算の場合、入力データは最後の畳み込み層から出力された特徴量或いは前階層の全結合層の出力結果であり、パラメータは全結合層の重みパラメータとなる。このように、入力データとパラメータとの内積演算という意味では両演算は同種類の演算ではあるが、両演算の性質は大きく異なる。
畳み込み層で行われる畳み込みフィルタ演算では、前述のように、画像中をフィルタカーネルを移動させつつ演算を行う。つまり、フィルタカーネルの位置(スキャン位置)ごとに入力画像から部分データ(スキャンウインドウで切り出された部分画像)を切り出し、該部分データとフィルタカーネルとを用いた上記の演算を行うことにより、各位置での演算結果を得ることができる。
それに対し、全結合層で行われる行列積演算は、ベクトル状に並べられた入力データ(特徴量)に対して、重みパラメータで構成される行列を掛ける演算を行う。つまり、重みパラメータの行列の列ベクトルを切り出し、入力データと該切り出された列ベクトルとの演算を行うことにより、演算結果の各ベクトル要素を得ることができる。
以上をまとめると、畳み込み層の畳み込みフィルタ演算と全結合層の行列積演算とでは、入力データ量とパラメータ量とにより規定される演算特性に下記のような違いがある。つまり、畳み込みフィルタ演算では、入力データの複数の部分集合データのそれぞれに対して、同一のフィルタカーネルを適用することで、畳み込みフィルタ演算結果を得るものである。従って、入力データ量に比してフィルタカーネル(フィルタ係数パラメータ)の量は少ないものとなる。
それに対し、行列積演算では、同一入力データに対して、重み係数パラメータ(行列)の複数の部分集合(列ベクトル)のそれぞれを適用することで、行列積演算結果を得るものである。従って、入力データ量に比して重み係数パラメータの量は多いものとなる。
また、畳み込みフィルタ演算も行列積演算も、演算量は入力データ量に比例する。畳み込みフィルタ演算では、入力データ量(入力画像のサイズ)にフィルタカーネルのサイズを掛けたものが演算量と言える。従って、畳み込みフィルタ演算の演算量は入力データ量に比例する(入力画像の端部の処理は無視する)。同様に、行列積演算では、入力データ量に重み係数パラメータの行列の列数(列ベクトルの数)を掛けたものが演算量と言える。従って、行列積演算の演算量も入力データ量に比例する。
これらのことから、畳み込み層の畳み込みフィルタ演算と全結合層の行列積演算とでは、演算の特性に関して以下のようにも言える。つまり、畳み込みフィルタ演算は、演算量に比してフィルタカーネル(フィルタ係数パラメータ)の量は少ないものと言え、行列積演算は、演算量に比して重み係数パラメータの量は多いものと言える。
以上説明したように、ディープネットにおける演算処理には、入力データ量とパラメータ量とにより規定される演算特性がそれぞれ異なる2つの演算(畳み込み層における畳み込みフィルタ演算と全結合層における全結合演算)が含まれていることがわかる。
特開平10−171910号公報 WO2013/102972
Krizhevsky, A., Sutskever, I. and Hinton, G. E. "ImageNet Classification with Deep Convolutional Neural Networks" NIPS 2012
畳み込み層における畳み込みフィルタ演算や、全結合層における行列積演算では、多数の積和演算を行う必要があるため処理量が多く、処理時間のかかる処理となる。また、畳み込みフィルタ演算に必要となるフィルタカーネルや行列積演算に必要となる重みパラメータを格納しておくメモリについても、ディープネットの階層(畳み込み層の数や全結合層の数)が多数になると、より大容量のメモリが要求される。
従って一般的に、ディープネットを処理するためには潤沢な演算リソースが必要とされ、PC(Personal Computer)、サーバ、クラウド等に対し、演算リソースが貧弱である組み込み機器で処理することはこれまで考慮されて来なかった。特に、パラメータ量が多い全結合層の行列積演算も含めた一連のディープネット演算を組み込み機器で行うことは、組み込み機器に許容されるメモリ量の観点から現実的でなかった。また、同様に演算量の多い畳み込み層の畳み込みフィルタ演算も含めた一連のディープネット演算をPCやサーバやクラウド等で行うとすると、それらの演算資源を逼迫させる恐れがあった
特許文献1では、2次元ニューラルネットワークを、2つの1次元ニューラルネットワークに分解して演算を実行することで結合数(パラメータ数)の削減を行っている。しかしながら、特許文献1で開示されている手法では、複数の演算特性を持つ演算から構成されている一連の演算を、それぞれの演算特性を考慮して分割し、それぞれの演算を好ましい処理プラットフォームにおいて処理するということは考慮されていない。つまり、これまで詳細に説明したように、畳み込みフィルタ演算と行列積演算とでは演算特性に違いがあるが、この演算特性に応じて処理プラットフォームを変えるようなことは考慮されてこなかった。
また、一連のディープネットの演算全てをサーバやクラウド等で行うとすると、画像を撮影した撮影機器から該画像を、ディープネット演算を行うサーバやクラウド等に送信する必要がある。伝送路を有効に利用するという観点からすると、送信する画像のデータ量を削減した方が望ましい。しかしながらこれまでは、ディープネットの演算を行うことと、送信する画像のデータ量を削減することは別のこととして扱われ、全体として効率の良い手法が検討されていなかった。
特許文献2では、プライバシー保護を目的として、画像の撮像端末において画像から特徴量の抽出を行い、抽出した特徴量をサーバに送信して画像中の人物位置を特定する手法を開示している。しかしながら、この手法は撮像端末とサーバで行う処理に関し、それぞれの演算特性を考慮して割り振ったものではない。従って、特許文献2の手法では、演算資源を効率的に使用することや、アプリケーション(特許文献2では人物位置の特定を想定するアプリケーション)を変更したときの柔軟性等は考慮されていなかった。
本発明はこのような問題に鑑みてなされたものであり、入力データ量とパラメータ量とにより規定される演算特性の異なるそれぞれの演算を好ましい処理プラットフォームにおいて処理するための技術を提供する。
本発明の一様態は、複数の階層を有するニューラルネットワークを用いて、入力画像から識別対象を識別するための識別処理を行う画像識別システムであって、
撮像した画像を前記入力画像として入力し、該入力画像から特徴を抽出するための、第1パラメータを用いる畳み込みフィルタ演算を行う撮像装置である第1の演算装置と、
前記第1の演算装置と異なる第2の演算装置であって、
前記第1の演算装置から前記畳み込みフィルタ演算の結果である第1演算結果を取得する取得手段と、
前記第1演算結果に基づく前記特徴と、重み係数パラメータである第2パラメータから構成される行列と、の行列積を求める行列積演算であって、該第2パラメータを記憶するためのメモリ容量が前記第1パラメータを記憶するためのメモリ容量と比べて多い前記行列積演算を行う演算手段と
を有する前記第2の演算装置と、
前記行列積演算の結果である第2演算結果を用いて、前記識別処理において前記識別対象を識別する識別手段
を備えることを特徴とする。
本発明の構成によれば、入力データ量とパラメータ量とにより規定される演算特性の異なるそれぞれの演算を好ましい処理プラットフォームにおいて処理することができる。
画像識別システムの構成例を示すブロック図。 ディープネットの演算例を示す図。 画像識別システムの構成例を示すブロック図。 畳み込みフィルタ演算の一例を示す図。 画像識別システムの構成例を示すブロック図。
以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下に説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の1つである。
[第1の実施形態]
本実施形態では、演算量もパラメータ量も多大であるディープネットの処理を、低コスト且つ柔軟に実現するための画像識別システムの一例について説明する。また本実施形態では、一連のディープネットの処理を(上記非線形変換処理を除いて)、入力データの量(或いは入力データの量と比例関係にある演算量)とパラメータの量とで規定される演算特性の違いによって2種類の演算(第一、第二の演算)に分けている。そして、該2種類の演算を、それぞれの演算の演算特性(第一の演算特性、第二の演算特性)に応じた処理プラットフォームにて実行するようにしている。
本実施形態では、第一の演算として、入力データの量に比してパラメータの量が少ない演算を考え、第二の演算として、入力データの量に比してパラメータの量が多い演算を考える。然るに、第一の演算特性とは、「入力データの量に比してパラメータの量が少ない」という演算特性であり、第二の演算特性とは、「入力データの量に比してパラメータの量が多い」という演算特性である。
「背景技術」の項で詳細に説明したように、一連のディープネット処理における演算のうち、畳み込み層における畳み込みフィルタ演算は、第一の演算に相当する。これは、畳み込みフィルタ演算が、スキャン位置ごとに、入力画像から部分データ(部分画像)を切り出し、該切り出された部分データとフィルタカーネルとの上記演算を行うことにより、各スキャン位置での演算結果を得るような演算であるからである。つまり、この場合の第一の演算は、同一のフィルタカーネルと、切り出された複数の部分データそれぞれとの演算となっている。
また、全結合層における行列積演算は、第二の演算に相当する。これは、行列積演算が、重みパラメータ行列の列ベクトルを切り出して、入力データと切り出された重みパラメータとの上記演算を行うことにより、演算結果の各ベクトル要素を得るような演算であるからである。
本実施形態では上記のように、畳み込み層における畳み込みフィルタ演算を、第一の演算特性を有する第一の演算とし、全結合層における行列積演算を、第二の演算特性を有する第二の演算とする場合の例について説明する。さらに本実施形態では、第一の演算を組み込みデバイスで行い、第二の演算をPC(パーソナルコンピュータ)やサーバ等のコンピュータ装置(少なくとも組み込みデバイスよりも潤沢なメモリ容量のメモリを使用可能な装置)で行う場合の例について説明する。組み込みデバイスとしては、画像撮像装置(例えばカメラ)内の演算専用ハードウェアを想定する。
一般に組み込みデバイスで想定されるハードウェアは、特定の演算を高速に処理するように設計される。従って、畳み込みフィルタ演算を効率よく処理するようなハードウェアを作成することは、公知の技術(例えば特許5184824号公報や特許5171118号公報等)を使って可能である。
しかしながら組み込みデバイス内に大量のパラメータを格納することは困難である。大量のパラメータを格納するためには、大容量のメモリが必要になる。しかし、一般に回路面積や実装面積が制限される組み込みデバイス内にそのような大容量メモリを用意することは困難である。また、コストの面からも、カメラ等の画像撮像装置の内部に大容量メモリを用意することは、現実的でない。つまり、組み込みデバイスでの演算は、その演算に必要なパラメータの量が少ないような演算であることが望まれる。逆にパラメータの量が多い演算を組み込みデバイスで行うのは非現実的であるといえる。
これに対し、サーバに代表されるような汎用の計算機(PCやクラウド等)は、大容量メモリを装備している若しくは使用可能であることが一般的である。従って、パラメータの量が多い演算をサーバで行うのは理に適っているといえる。
本実施形態では、演算の演算特性(パラメータ量の大小等)と、演算プラットフォームの特性(大容量メモリ装備の現実性)と、を考慮して、一連のディープネットの処理におけるそれぞれの演算の演算プラットフォームへの割り当てを行う。これにより、低コストでディープネットの処理を実現している。
本実施形態では、画像からの特徴量抽出処理に畳み込みフィルタ演算を用い、抽出した特徴量を用いた識別処理にパーセプトロンに代表される行列積演算を用いる構成になっているものを典型的なディープネットとしている。この特徴量抽出処理は畳み込みフィルタ演算を何度も繰り返す多階層処理であることが多く、また識別処理にも全結合の多階層のパーセプトロンが用いられることがある。この構成は、近年盛んに研究されているディープネットとしては非常に一般的な構成である。
ここで、図2を用いてディープネットの演算例について説明する。図2では、入力層に入力された入力画像1101に対して、畳み込みフィルタ演算により特徴抽出を行って特徴量1107を取得し、該取得した特徴量1107に対して識別処理を行って識別結果1114を得るような処理を示している。入力画像1101から特徴量1107を得るまでに畳み込みフィルタ演算を何度も繰り返している。また、特徴量1107に対して全結合のパーセプトロン処理を複数回行い、最終的な識別結果1114を得ている。
まず、前半の畳み込みフィルタ演算について説明する。特徴面1103a〜1103cは、第1段目の階層1108の特徴面である。特徴面とは、所定の特徴抽出フィルタ(畳み込みフィルタ演算及び非線形処理)の検出結果を示すデータ面である。特徴面1103a〜1103cは、入力画像1101に対する畳み込みフィルタ演算及び上記非線形処理により生成される。例えば、特徴面1103aは、フィルタカーネル11021aを用いた畳み込みフィルタ演算及び該演算の結果の非線形変換により得られる。なお、図2中のフィルタカーネル11021b及び11021cはそれぞれ、特徴面1103b及び1103cを生成する際に使用されるフィルタカーネルである。
次に、第2段目の階層1109の特徴面1105aを生成する演算について説明する。特徴面1105aは前段の階層1108の3つの特徴面1103a〜1103cと結合している。従って、特徴面1105aのデータを算出する場合、特徴面1103aに対してはフィルタカーネル11041aで示すカーネルを用いた畳み込みフィルタ演算を行い、この結果を保持する。同様に、特徴面1103b及び1103cに対しては、それぞれフィルタカーネル11042a及び11043aの畳み込みフィルタ演算を行い、これらの結果を保持する。これらの3種類のフィルタ演算の終了後、それぞれのフィルタ演算結果を加算して非線形変換処理を行う。以上の処理を画像全体に対して処理することにより、特徴面1105aを生成する。特徴面1105bの生成も同様に、階層1108の特徴面1103a〜1103cに対するフィルタカーネル11041b、11042b、11043bによる3つの畳み込みフィルタ演算を行い、それぞれのフィルタ演算結果を加算して非線形変換処理を行う。
また、第3段目の階層1110の特徴量1107の生成の際には、前段の階層1109の特徴面1105a〜1105bに対するフィルタカーネル11061及び11062による2つの畳み込みフィルタ演算を行う。
続いて後半のパーセプトロン処理を説明する。図2では2階層のパーセプトロンになっている。パーセプトロンは、入力特徴量のそれぞれの要素に対する重み付き和を非線形変換したものである。従って、特徴量1107に対して行列積演算を行い、その結果に対して非線形変換を行えば、中間結果1113を得ることができる。さらに同様の処理を繰り返せば、最終的な識別結果1114を得ることができる。
次に、このような図2のディープネットを用いて画像識別を行う画像識別システムの構成例について、図1のブロック図を用いて説明する。図1に示す如く、本実施形態に係る画像識別システム101は、カメラなどの画像撮像装置102と、サーバやPCなどの演算装置106と、を有する。そして画像撮像装置102と演算装置106とは有線若しくは無線でもって互いにデータ通信が可能なように接続されている。
画像識別システム101は、画像撮像装置102が撮像した撮像画像に対してディープネットを用いた演算を行い、その結果として該撮像画像中に何が写っているのか(例えば、人、飛行機等)を識別するものである。
先ず、画像撮像装置102について説明する。画像撮像装置102は、画像を撮像し、該画像に対し、上記のディープネットにより実現される画像識別処理のうち前半の処理、即ち畳み込みフィルタ演算及び非線形変換の結果を、後段の演算装置106に対して出力する。
画像取得部103は、光学系やCCD、画像処理回路などにより構成されており、外界の光を映像信号に変換し、該変換した映像信号に基づく画像を撮像画像として生成し、該生成した撮像画像を入力画像として後段の第一の演算部104に対して送出する。
第一の演算部104は、画像撮像装置102内に設けられている組み込みデバイス(例えば専用ハードウエア)により構成されており、画像取得部103から受けた入力画像に対し、畳み込みフィルタ演算及び非線形変換を行って、特徴量を抽出する。これにより、現実的な処理リソースでの処理を可能にしている。第一の演算部104は上記の通り、周知の組み込みデバイスであり、その具体的な構成については公知の技術(例えば特許5184824や特許5171118)で実現できる。
第一のパラメータ格納部105には、第一の演算部104が畳み込みフィルタ演算で用いるパラメータ(フィルタカーネル)が格納されている。これまで何度も述べたように、畳み込みフィルタ演算は入力データ(或いはそれに比例する演算量)に比してパラメータ量が少ないという演算特性を有するので、組み込みデバイス内のメモリでもフィルタカーネルを格納することが可能である。
第一の演算部104は、入力画像と第一のパラメータ格納部105に格納されているフィルタカーネルとを用いて畳み込みフィルタ演算を何度も行うことで、該入力画像から特徴量を算出する。つまり図2の特徴量1107を算出するまでの畳み込みフィルタ演算を第一の演算部104で行う。第一の演算部104は、算出した特徴量1107を第一の演算結果として、演算装置106に対して送信する。
次に、演算装置106について説明する。演算装置106は、画像撮像装置102から送信された第一の演算結果に対し、上記のディープネットにより実現されている画像識別処理のうち後半の処理、すなわち、全結合演算及び非線形変換の結果を出力する。
第二の演算部107は、演算装置106内に設けられている汎用演算器により実現されている。第二のパラメータ格納部108には、第二の演算部107が全結合演算で用いるパラメータ、すなわち、行列積演算で必要となるパラメータ(重み係数パラメータ)が格納されている。前述のように、演算装置106に大容量メモリを搭載することは一般的であるので、パラメータ量が多いという第二の演算特性を持つ演算(行列積演算)を、演算装置106側で(第二の演算部107が)行うことは非常に合理的である。
第二の演算部107は、画像撮像装置102から送信された第一の演算結果と第二のパラメータ格納部108に格納されている重み係数パラメータとを用いて行列積演算を何度か行うことで最終的な識別結果を算出する。つまり図2の特徴量1107から、最終的な識別結果1114を算出するまでの行列積演算を第二の演算部107で行う。本実施形態では、入力画像中に何が写っているのかを識別するディープネットの処理を行っているので、最終的な識別結果としては、人物や飛行機等の識別クラスラベルが出力されることになる。
なお、第二の演算部107による識別結果の出力先や出力形態については特定の出力先、出力形態に限るものではない。例えば、ディスプレイなどの表示装置に識別結果を画像や文字などでもって表示しても良いし、外部の機器に対して識別結果を送信しても良いし、識別結果をメモリに格納しても良い。
このように本実施形態によれば、それぞれ異なる演算特性を持つ複数の演算を含むディープネット処理を、それぞれの演算特性に適した演算プラットフォームで処理するように分割することで、低コストで画像識別システムを構成することができる。
またディープネットにおける畳み込み層では、サブサンプリング(畳み込みフィルタ演算のスキャンウインドウを動かすストライドを大きくする)や、プーリング(周辺画素との統合)により、階層が進むにつれて特徴面サイズが小さくなることが一般的である。このため、図2の入力画像1101のサイズよりも、特徴量1107のサイズが小さくなることもある(例えば非特許文献1記載のディープネット)。このため、画像撮像装置102から演算装置106に対して入力画像そのものを送るよりも、画像撮像装置102にて入力画像から特徴量を抽出し、該抽出した特徴量を演算装置106に送った方が、送信するデータ量が小さくなる。つまり、通信路の効率的な利用という観点からも本実施形態は有効であるといえる。
また、一般にディープネットの前半部で行われる畳み込み層の演算は特徴量抽出処理と呼ばれる。特徴量抽出処理は、アプリケーション(ディープネットを用いて実現しようとしている画像識別タスク)によらず、共通にできることが多い。実際、非特許文献1で示されたディープネットの特徴量抽出処理部分(畳み込み層部分)を、各種タスクで使いまわすことがよく行われている(Ali Sharif Razavian, Hossein Azizpour, Josephine Sullivan, Stefan Carlsson, "CNN Features off-the-shelf: an Astounding Baseline for Recognition ")。つまり、畳み込み層の構成(フィルタカーネル、ネットワーク構成)はそのままにして、全結合層の構成(重み係数パラメータ、ネットワーク構成)を変えるだけで、アプリケーションの切り替えを実現できる。
従って、本実施形態のように、畳み込み層の演算を行う演算プラットフォームと全結合層の演算を行う演算プラットフォームとに分離していれば、次のような効果がある。つまり、全結合層の演算プラットフォームの設定(重み係数パラメータ、ネットワーク構成)さえ変更すれば、各種アプリケーションを実現することができる。
また、本実施形態のように、画像撮像装置102と演算装置106とを有する画像識別システムでは、演算装置106側の変更だけで、各種アプリケーションの切り替えや追加を実現できる。一般に、画像撮像装置102の設定を変更することは極めて煩わしい。然るに、その手間なく、アプリケーションを切り替えたり、新たなアプリケーションを追加できたりすることは、画像識別システムを維持、拡張していくうえで非常に有用な利点であり、高い柔軟性を有していると言える。
[第2の実施形態]
本実施形態では、演算装置106に対して複数台の画像撮像装置102が通信可能に接続されており、該複数台の画像撮像装置102の各々から特徴量を演算装置106に対して送信する画像識別システムについて説明する。本実施形態を含め、以下の実施形態では、第1の実施形態との差分について重点的に説明し、以下で特に触れない限りは第1の実施形態と同様であるものとする。
カメラを複数台用意し、複数台のカメラで撮影されたそれぞれの画像を元に、画像中に何が写っているのかを特定するようなアプリケーションは、監視カメラでは一般的である。例えば、入退室管理のアプリケーションでは、入退室の許可を求める人物を複数台のカメラで撮影し、その画像から、対象人物のIDを特定することが行われている。
本実施形態に係る画像識別システムの構成例について、図3のブロック図を用いて説明する。図3に示す如く、本実施形態に係る画像識別システム301は、演算装置306に複数台の画像撮像装置102a〜102cが通信可能に接続されている。画像撮像装置の参照番号102に付したa、b、cはそれぞれ、各々の画像撮像装置を識別するために付けたものであり、画像撮像装置102a〜102cは何れも図1の画像撮像装置102と同様の構成を有し、同様の動作を行う。なお、図3では画像撮像装置の台数を3としているが、この数に限るものではない。
次に、演算装置306について説明する。第二の演算部307は、演算装置306内に設けられている汎用演算器により実現されている。第二の演算部307は、画像撮像装置102a〜102cの各々から第一の演算結果を受けると行列積演算及び非線形変換を行って、画像撮像装置102a〜102cの各々が撮像した画像から対象人物の識別情報(例えばID)を特定して出力する。本実施形態では、画像撮像装置102a〜102cの各々から第一の演算結果を受けるので、第二の演算部307は、それらを連結して新たな特徴量を作成し、その特徴量に対して行列積演算を行う。第二の演算部307は、演算装置306内にある汎用演算器により実現されている。
第二のパラメータ格納部308には、第二の演算部307が行う行列積演算で必要となるパラメータ(重み係数パラメータ)が格納されている。本実施形態では、前述のように、3つの第一の演算結果を連結した特徴量に対して行列積演算を行うので、第二のパラメータ格納部308に格納されている重み係数パラメータの量もその分大きくなる。
第二の演算部307では、複数の第一の演算結果と第二のパラメータ格納部308に格納されている重み係数パラメータと用いて行列積演算を何度か行うことで最終的な識別結果を算出する。本実施形態では、画像中に写っている人物の識別情報(名前等)を特定する処理を行っているので、人物を特定する識別情報が最終的な識別結果として出力される。
本実施形態では、ディープネットにおける畳み込み層の演算を行う演算プラットフォームと全結合層の演算を行う演算プラットフォームとを分離している。このように構成することは、それぞれの演算特性に適した演算プラットフォームを選択できることのみならず、本実施形態で説明したように、画像撮像装置が複数に増えたとしても、柔軟に対応できる画像識別システムを実現することにも繋がっている。例えば、画像撮像装置内で全てのディープネットの処理を行うような画像識別システムでは、画像撮像装置が1台の場合には、画像撮像装置だけで全ての処理が完結するが、画像撮像装置が複数台になると、複数の処理結果を統合するものが必要になってしまう。これでは、柔軟なシステムとは言い難い。
[第3の実施形態]
第1、第2の実施形態では、第二の演算部で最終的な識別結果を算出していたが、第二の演算部で算出した結果を、再度第一の演算部に戻し、第一の演算部にて最終的な識別結果を算出してもよい。このように構成すると、個々の画像撮像装置固有の設定や、その画像撮像装置で画像を撮像した時の情報、或いは個々の画像撮像装置を操作するユーザの嗜好等を考慮に入れて最終的な識別結果を推定することが可能となる。また、ディープネットを用いた画像識別アプリケーションの幅が広がる。
例えば、スマートフォン等でディープネットによる顔画像を用いたログイン認証を行うようなアプリケーションを実現する場合を考える。そのような場合、スマートフォンに内蔵された画像撮像装置でユーザの顔画像を撮影し、顔画像に対して畳み込み層の演算を行って特徴量(第一の演算結果)を算出し、演算装置に送る。演算装置では全結層の演算を行って、さらに高次の特徴量(第二の演算結果)を算出し、再度画像撮像装置に送り返す。画像撮像装置では、予め登録されている高次特徴量と、今回演算装置から送り返されてきた高次特徴量とを比較し、ログインの可否を判断する。
このような画像識別システムの構成例について、図5のブロック図を用いて説明する。図5に示す如く、本実施形態に係る画像識別システム501は、画像撮像装置502と、演算装置106と、を有し、それぞれが互いにデータ通信が可能なように接続されている。第二の演算部107は、第二の演算結果を算出すると、該第二の演算結果を画像撮像装置502に対して送信する。
次に、画像撮像装置502について説明する。第一の演算部504は、画像撮像装置502内に設けられている組み込みデバイス(例えば専用ハードウエア)により構成されており、第一のパラメータ格納部105に加えて、第三のパラメータ格納部509を有する。第一の演算部504は第1の実施形態と同様に、画像取得部103からの入力画像と第一のパラメータ格納部105に格納されているパラメータとを用いて畳み込みフィルタ演算を行い、その演算結果を非線形変換したものを第二の演算部107に送信する。また、第一の演算部504は、第二の演算部107から第二の演算結果を受けると、第三のパラメータ格納部509に格納されているパラメータを用いた演算を行い、最終的な識別結果(第三の演算結果)を得る。
第三のパラメータ格納部509には、画像撮像装置502固有の情報が格納されている。例えば、前述のログイン可否のアプリケーションを実施する場合、第三のパラメータ格納部509には、正式ユーザの登録情報が格納されている。正式ユーザの登録情報としては、予めユーザ登録を行う際に、自身の顔画像に対して、第二の演算結果を得るまでの処理を行って得られた第二の演算結果を用いればよい。このようにしておけば、ユーザ登録時に算出された第二の演算結果と、ログイン認証時に算出された第二の演算結果とを比較することで、ログインの可否を判断できる。前述のログイン可否のアプリケーションを実施する場合、このようなログイン可否判断処理は、第一の演算部504によって行われる。
ここで第一の演算結果を登録情報としないのは以下のような理由からである。第一の演算結果は畳み込み層の演算に基づく情報であるため、局所的な特徴量の集まりであるといえる。従って、第一の演算結果を用いただけでは、表情、照明、顔向き等の変動にロバストに認証することは難しい。そこで、より大域的な特徴量の抽出が期待できる第二の演算結果を登録情報として用いる方が、認証精度が向上することが予想されるためである。
このように構成することで、画像撮像装置固有の情報(本実施形態では、予め登録された正式ユーザの情報)を用いた画像識別アプリケーションの実現が可能となる。画像撮像デバイス固有の情報(例えば正式ユーザの情報)も含めて演算装置に送れば、同様のことが実現可能ではあるが、その場合には、セキュリティの確立やプライバシー保護等、システムを構成する上での要件が増えることにつながる。また、そもそも、個人情報につながるような情報を演算装置に送信することに抵抗や不安を感じるユーザも存在するため、本実施形態のように構成した方が、アプリケーションを利用するユーザの心理的抵抗感が低減することが期待できる。
なお、上記の各実施形態の構成は、その一部若しくは全部を適宜組み合わせて新たな構成の画像識別システムを構築することも可能である。また、第一の演算部や第二の演算部は、その全てを専用ハードウェア(CPU等のプロセッサやRAMやROM等のメモリなどが配置された回路)で構成しても良いが、その一部の構成をソフトウェアで構成しても良い。その場合、そのソフトウェアは、対応する演算部のプロセッサが実行することで、対応する機能を実現する。また、上記の各実施形態で説明した画像識別システムは何れも、以下のような要件を満たす画像識別システムの一例として説明したものである。
・ 入力画像に対する識別処理における複数の演算処理のうち、使用するパラメータの量が、該パラメータを適用するデータの量に比して小さい演算処理を行う第1の演算装置
・ 入力画像に対する識別処理における複数の演算処理のうち、使用するパラメータの量が、該パラメータを適用するデータの量に比して大きい演算処理を行う第2の演算装置
・ 第2の演算装置は、第1の演算装置よりもメモリ容量が大きいメモリが使用可能である
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
102:画像撮像装置 104:第一の演算部 106:演算装置 107:第二の演算部

Claims (10)

  1. 複数の階層を有するニューラルネットワークを用いて、入力画像から識別対象を識別するための識別処理を行う画像識別システムであって、
    撮像した画像を前記入力画像として入力し、該入力画像から特徴を抽出するための、第1パラメータを用いる畳み込みフィルタ演算を行う撮像装置である第1の演算装置と、
    前記第1の演算装置と異なる第2の演算装置であって、
    前記第1の演算装置から前記畳み込みフィルタ演算の結果である第1演算結果を取得する取得手段と、
    前記第1演算結果に基づく前記特徴と、重み係数パラメータである第2パラメータから構成される行列と、の行列積を求める行列積演算であって、該第2パラメータを記憶するためのメモリ容量が前記第1パラメータを記憶するためのメモリ容量と比べて多い前記行列積演算を行う演算手段と
    を有する前記第2の演算装置と、
    前記行列積演算の結果である第2演算結果を用いて、前記識別処理において前記識別対象を識別する識別手段
    を備えることを特徴とする画像識別システム。
  2. 前記第1の演算装置は、前記入力画像のそれぞれの部分画像に対して同一の値である前記第1パラメータを適用する前記畳み込みフィルタ演算を行い、前記第2の演算装置は、同一のデータに対して前記行列におけるそれぞれの列ベクトルを適用する前記行列積演算を行うことを特徴とする請求項1に記載の画像識別システム。
  3. 前記第1の演算装置は、前記入力画像と、前記第1パラメータから構成されたフィルタカーネルとを用いて前記畳み込みフィルタ演算を行うことを特徴とする請求項1または2に記載の画像識別システム。
  4. 前記演算手段は、前記第1演算結果である前記特徴、前記行列と、の行列積を求める行列積演算を行うことを特徴とする請求項3に記載の画像識別システム。
  5. 前記識別手段は、前記入力画像中の人物を識別することを特徴とする請求項1乃至の何れか1項に記載の画像識別システム。
  6. 前記第1の演算装置は、前記識別手段を有し、
    前記第2の演算装置は、前記第2演算結果を前記第1の演算装置に対して出力し、
    前記識別手段は、前記第2の演算装置から出力された前記第2演算結果に基づいて前記第1の演算装置のユーザの認証を行うことを特徴とする請求項1乃至5の何れか1項に記載の画像識別システム。
  7. 前記第2の演算装置は、前記特徴より高次の特徴である前記第2演算結果を前記第1の演算装置に対して出力し、
    前記識別手段は、前記第2の演算装置から出力された前記第2演算結果に基づいて前記ユーザの認証を行うことを特徴とする請求項に記載の画像識別システム。
  8. 前記画像識別システムは複数の前記第1の演算装置を有し、
    前記演算手段は、複数の前記第1の演算装置による前記第1演算結果を連結した結果を用いて演算を行うことを特徴とする請求項1乃至の何れか1項に記載の画像識別システム。
  9. 前記演算手段は、複数の前記第1の演算装置による前記第1演算結果を連結した結果と前記第2パラメータとを用いて前記行列積演算を行うことを特徴とする請求項に記載の画像識別システム。
  10. 複数の階層を有するニューラルネットワークを用いて、入力画像から識別対象を識別するための識別処理を行う画像識別システムによる画像識別方法であって、
    撮像装置である第1の演算装置が、撮像した画像を前記入力画像として入力し、該入力画像から特徴を抽出するための、第1パラメータを用いる畳み込みフィルタ演算を行い、
    前記第1の演算装置と異なる第2の演算装置が、
    前記第1の演算装置から前記畳み込みフィルタ演算の結果である第1演算結果を取得し、
    前記第1演算結果に基づく前記特徴と、重み係数パラメータである第2パラメータから構成される行列と、の行列積を求める行列積演算であって、該第2パラメータを記憶するためのメモリ容量が前記第1パラメータを記憶するためのメモリ容量と比べて多い前記行列積演算を行い、
    前記識別処理において前記識別対象が、前記行列積演算の結果である第2演算結果を用いて識別される
    ことを特徴とする画像識別方法。
JP2016080476A 2016-04-13 2016-04-13 画像識別システム、画像識別方法 Active JP6778010B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016080476A JP6778010B2 (ja) 2016-04-13 2016-04-13 画像識別システム、画像識別方法
US15/483,501 US20170300776A1 (en) 2016-04-13 2017-04-10 Image identification system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016080476A JP6778010B2 (ja) 2016-04-13 2016-04-13 画像識別システム、画像識別方法

Publications (3)

Publication Number Publication Date
JP2017191458A JP2017191458A (ja) 2017-10-19
JP2017191458A5 JP2017191458A5 (ja) 2019-05-23
JP6778010B2 true JP6778010B2 (ja) 2020-10-28

Family

ID=60038324

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016080476A Active JP6778010B2 (ja) 2016-04-13 2016-04-13 画像識別システム、画像識別方法

Country Status (2)

Country Link
US (1) US20170300776A1 (ja)
JP (1) JP6778010B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019074967A (ja) * 2017-10-17 2019-05-16 キヤノン株式会社 フィルタ処理装置およびその制御方法
JP7225876B2 (ja) 2019-02-08 2023-02-21 富士通株式会社 情報処理装置、演算処理装置および情報処理装置の制御方法
KR20190087351A (ko) * 2019-07-05 2019-07-24 엘지전자 주식회사 머신 러닝 시스템, 방법 및 장치
KR102273585B1 (ko) * 2020-05-18 2021-07-06 충북대학교 산학협력단 소형 카메라 모듈의 얼룩 불량 검사 방법 및 시스템

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5912720A (en) * 1997-02-13 1999-06-15 The Trustees Of The University Of Pennsylvania Technique for creating an ophthalmic augmented reality environment
GB2471647B (en) * 2009-06-16 2016-03-23 Aptina Imaging Corp Use of Z-order data in an image sensor
US8560004B1 (en) * 2012-08-31 2013-10-15 Google Inc. Sensor-based activation of an input device
JP6202983B2 (ja) * 2013-10-22 2017-09-27 株式会社東芝 本人認証システム
US10095917B2 (en) * 2013-11-04 2018-10-09 Facebook, Inc. Systems and methods for facial representation
US20170026836A1 (en) * 2015-07-20 2017-01-26 University Of Maryland, College Park Attribute-based continuous user authentication on mobile devices
US20170076195A1 (en) * 2015-09-10 2017-03-16 Intel Corporation Distributed neural networks for scalable real-time analytics
JP6750203B2 (ja) * 2015-10-20 2020-09-02 富士通株式会社 畳み込みニューラルネットワークの演算方法及び演算プログラム、情報処理装置
US9904874B2 (en) * 2015-11-05 2018-02-27 Microsoft Technology Licensing, Llc Hardware-efficient deep convolutional neural networks
CN107404381A (zh) * 2016-05-19 2017-11-28 阿里巴巴集团控股有限公司 一种身份认证方法和装置
CN109478139B (zh) * 2016-08-13 2024-01-23 英特尔公司 用于共享存储器中的访问同步的装置、方法和系统

Also Published As

Publication number Publication date
US20170300776A1 (en) 2017-10-19
JP2017191458A (ja) 2017-10-19

Similar Documents

Publication Publication Date Title
US11645506B2 (en) Neural network for skeletons from input images
KR102061408B1 (ko) 가상 3차원 심층 신경망을 이용하는 영상 분석 장치 및 방법
US8463025B2 (en) Distributed artificial intelligence services on a cell phone
JP6778010B2 (ja) 画像識別システム、画像識別方法
KR102629380B1 (ko) 실제 3차원 객체를 실제 객체의 2-차원 스푸프로부터 구별하기 위한 방법
DE112019005671T5 (de) Bestimmen von assoziationen zwischen objekten und personen unter verwendung von maschinenlernmodellen
CN112236779A (zh) 基于卷积神经网络的图像处理方法和图像处理装置
Ke et al. Human interaction prediction using deep temporal features
CN112639828A (zh) 数据处理的方法、训练神经网络模型的方法及设备
JP6862584B2 (ja) 画像処理システム及び画像処理方法
CN107808111A (zh) 用于行人检测和姿态估计的方法和装置
CN108875517B (zh) 视频处理方法、装置和系统及存储介质
US20200242345A1 (en) Detection apparatus and method, and image processing apparatus and system
JP7419080B2 (ja) コンピュータシステムおよびプログラム
CN111626082A (zh) 检测装置和方法及图像处理装置和系统
CN110728188B (zh) 图像处理方法、装置、系统和存储介质
Abirami et al. Gender and age prediction from real time facial images using CNN
Irfanullah et al. Real time violence detection in surveillance videos using Convolutional Neural Networks
CN110222718A (zh) 图像处理的方法及装置
KR20220044828A (ko) 얼굴 속성 인식 방법, 장치, 전자 기기 및 저장 매체
CN111797881A (zh) 图像分类方法及装置
WO2022052782A1 (zh) 图像的处理方法及相关设备
CN114051630A (zh) 多种杂草检测
KR102126795B1 (ko) 딥러닝 기반의 이미지 개인정보 가공장치 시스템, 장치 및 그 방법
CN111695673A (zh) 训练神经网络预测器的方法、图像处理方法及装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190411

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200824

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: 20200911

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201009

R151 Written notification of patent or utility model registration

Ref document number: 6778010

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151