【解決手段】サーバ装置は、領域別プーリング特徴量を抽出する領域特徴プーリング部403と、全体プーリング特徴量を抽出する全体特徴プーリング部404と、領域特徴量プーリング部403により抽出された領域別プーリング特徴量と、全体特徴プーリング部404により抽出された全体プーリング特徴量とが結合された結合特徴量を取得する特徴量結合部405と、特徴量結合部405により取得された結合特徴量に基づき、画像に含まれる対象物を判別する属性判別部406と、を備える。
前記対象物判別手段は、前記結合特徴量を畳み込みニューラルネットワークに入力することにより、前記対象物を判別するための特徴を算出する、請求項1に記載の情報処理装置。
前記対象物判別手段は、前記結合特徴量を、前記結合特徴量の次元毎にフィルターに通すことにより、前記対象物を判別するための特徴を算出する、請求項2に記載の情報処理装置。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して、本発明の一実施形態を詳細に説明する。なお、説明において、同一要素又は同一機能を有する要素には、同一符号を用いることとし、重複する説明は省略する。
【0013】
本実施形態に係る情報処理システムは、画像に含まれる文字等の対象物を判別し、対象物が何かを推定する対象物推定システムである。まず、
図1を参照して、本実施形態に係る対象物推定システムの全体構成について説明する。
図1は、本実施形態に係る対象物推定システムのシステム構成図である。
【0014】
図1に示されるように、本実実施形態に係る対象物推定システム100は、サーバ装置101(情報処理装置)と、データベースサーバ102と、を含む。サーバ装置101と、データベースサーバ102とは、有線又は無線のネットワーク103を介して、相互にデータ通信可能に接続されている。
【0015】
サーバ装置101は、データベースサーバ102からデータを取得し、取得したデータに含まれる画像を解析し、画像に含まれる対象物を判別する処理をおこなう。
【0016】
本実施形態では、対象物を手書き文字として説明するが、対象物は手書き文字に限られず、手書き以外の印刷文字、標識、図形、その他の物体等であってもよい。本実施形態において、対象物を判別するとは、対象物が何であるかを示す情報である属性を判別することをいう。対象物の属性は、たとえば、対象物が背景である場合には「背景」、対象物が文字である場合にはその文字(「あ」、「い」、「う」、「О」、「I」、「0」、「1」、「2」等)を示す。
【0017】
データベースサーバ102は、
図5〜
図7に示されるようなデータテーブルを、読み出し及び書き出しするためのデータベースとして管理するサーバである。データベースサーバ102は、サーバ装置101からの要求に従って、当該データベースサーバ102が管理するデータをサーバ装置101に送信する。
【0018】
なお、本実施形態において、サーバ装置101とデータベースサーバ102とが別々の装置であるとしたが、サーバ装置101とデータベースサーバ102とが一つの装置として構成されてもよい。
【0019】
次に、
図2を参照して、サーバ装置101及びデータベースサーバ102に適用可能な情報処理装置のハードウェア構成について説明する。
図2は、
図1の各装置のハードウェア構成を示す図である。
【0020】
図2において、CPU201で、システムバス204に接続される各種のデバイスや各種のコントローラを統括的に制御する。
【0021】
ROM202は、種々のプログラムを記憶する。種々のプログラムは、CPU201の制御プログラムであるBIOS(Basic Input / Output System)、オペレーティングシステムプログラム(以下、OS)、又は、各サーバ若しくは各PCの実行する機能を実現するために必要な各種のプログラムなどである。なお、これらのプログラムは、外部メモリ211に記憶されている態様であってもよい。
【0022】
RAM203は、CPU201の主メモリ又はワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラムなどをROM202あるいは外部メモリ211からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現する。
【0023】
システムバス204は、CPU201、ROM202、RAM203、入力コントローラ205、ビデオコントローラ206、メモリコントローラ207、及び通信I/Fコントローラ208を、相互に通信可能に接続する。
【0024】
入力コントローラ205は、キーボード209等のポインティングデバイスからの入力を制御する。
【0025】
ビデオコントローラ206は、CRTディスプレイ(CRT)210等の表示器への表示を制御する。なお、表示器はCRTディスプレイに限られるものでなく、液晶ディスプレイ等の他の表示器であってもよい。
【0026】
メモリコントローラ207は、外部メモリ211へのアクセスを制御する。外部メモリ211は、ハードディスク(HD)、フレキシブルディスク(FD)、又は、コンパクトフラッシュ(登録商標)メモリ等である。外部メモリ211は、ブートプログラム、ブラウザソフトウェア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、又は各種データ等を記憶する。コンパクトフラッシュ(登録商標)メモリは、たとえば、PCMCIAカードスロットにアダプタを介して接続される。
【0027】
通信I/Fコントローラ208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。たとえば、TCP/IPを用いたインターネット通信が可能である。
【0028】
なお、CPU201は、たとえばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上のマウスカーソル等でのユーザ指示を可能とする。
【0029】
本発明を実現するための各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブルなども、外部メモリ211に格納されている。前述したハードウェア構成要素がプログラム等により動作することによって、後述するサーバ装置101の各機能が発揮される。
【0030】
次に、
図3を参照して、サーバ装置101の機能構成について説明する。
図3は、サーバ装置101の機能構成を示すブロック図である。
【0031】
図3に示されるように、サーバ装置101は、機能的には、学習画像取得部301と、正解情報取得部302と、出力部303と、解析画像取得部304と、属性決定部305と、を備える。
【0032】
本実施形態において、学習画像取得部301、正解情報取得部302、及び出力部303は、画像に含まれる対象物の属性を判別するためのモデルを学習させるための学習部300Aとして機能する。解析画像取得部304、出力部303、及び属性決定部305は、学習部300Aにより学習済みのモデルを用いて未知の画像に含まれる対象物の属性を推定する推定部300Bとして機能する。すなわち、サーバ装置101は、学習フェーズの機能である学習部300Aと、推定フェーズの機能である推定部300Bとを含む。
【0033】
学習画像取得部301は、データベースサーバ102(
図1参照)から、出力部303におけるモデル学習に用いるための画像情報を取得する。画像情報は、画像と、画像を識別する識別子である画像IDとを含む。画像は、高さ、幅、及びRGB(3ch)を有する3次元のデータである。
【0034】
学習画像取得部301は、データベースサーバ102から、たとえば
図6に示される画像情報テーブルを読み込むことにより、画像情報を取得する。
図6は、データベースサーバ102の外部メモリ211に記憶された画像情報テーブルの一例である。
図6の画像情報テーブルには、画像ID601、及び画像データパス602が格納されている。学習画像取得部301は、
図6の画像情報テーブルにおける画像データパス602に配置されている画像を読み込むことにより、画像を取得する。
【0035】
学習画像取得部301は、取得した画像の画像IDを正解情報取得部302に出力する。また、学習画像取得部301は、取得した画像を出力部303に出力する。
【0036】
また、学習画像取得部301は、出力部303からの指示に応じて画像を再度取得して、出力部303に出力する。
【0037】
正解情報取得部302は、学習画像取得部301から出力された画像IDに基づき、データベースサーバ102で管理された正解情報を取得する。正解情報は、画像に含まれる対象物の位置と当該対象物の属性に関する正解情報であって、画像毎に設定されている。
【0038】
正解情報は、正解矩形位置情報と、当該正解矩形位置情報に対応する属性IDとを含む。正解矩形位置情報は、画像に含まれる対象物の正解の位置を示す。正解矩形位置情報は、たとえば、画像における対象物の正解領域として設定された矩形領域の位置情報(左上のピクセル座標(minx,miny),右下のピクセル座標(maxx, maxy))である。属性IDは、対象物の属性を識別する識別子である。
【0039】
正解情報取得部302は、データベースサーバ102から、たとえば
図7に示される正解情報テーブルを読み込むことにより、正解情報を取得する。
図7は、データベースサーバ102の外部メモリ211に記憶された正解情報テーブルの一例である。
図7の正解情報テーブルには、矩形ID701、画像ID702、正解矩形位置情報703〜706、及び属性ID707が格納されている。
【0040】
正解情報取得部302は、
図7の正解情報テーブルから、正解情報として、正解矩形位置情報703〜706及び属性ID707を取得し、出力部303に出力する。
【0041】
出力部303は、入力された画像を、ニューラルネットワーク(以下、「NN」という)に入力し、前方伝搬をおこない、画像に含まれる対象物に関する出力情報を取得する。出力情報は、物体候補領域の位置を示す情報として出力される矩形位置情報と、画像に含まれる対象物の属性を識別する情報として出力される属性IDと、を含む。物体候補領域とは、対象物(物体)らしき領域の候補となる領域(候補領域)である。物体候補領域は、画像に含まれる対象物の少なくとも一つを含む。
【0042】
本実施形態において、出力部303は、画像の全体領域における画像特徴量(以下、「全体特徴量」ともいう)を考慮したNNを用いて出力情報する。全体特徴量を考慮したNNの詳細は、後述する。
【0043】
全体特徴量は、画像の全体領域における画像特徴量を示す。画像の全体領域とは、画像における物体候補領域以外の領域(以下、「候補外領域」ともいう)の少なくとも一部を含む領域である。本実施形態において、全体領域とは、複数の物体候補領域の全てと、候補外領域の全体とを合わせた領域として説明するが、全体領域はこれに限られない。たとえば、全体領域は、複数の物体候補領域の全てを含まなくてもよく、一つの物体候補領域における全体又は一部を含んでいなくてもよく、候補外領域の全体を含んでいなくてもよい。
【0044】
出力部303は、学習部300Aとして機能する学習フェーズと、推定部300bとして機能する推定フェーズとを含んでいる。まず、出力部303の学習フェーズについて説明する。
【0045】
学習フェーズにおいて、出力部303は、学習画像取得部301から出力された画像をNNに入力し、画像毎に出力情報を取得する。そして、出力部303は、正解情報取得部302から出力された正解情報と、出力情報との誤差を算出し、当該誤差に基づき逆伝搬をおこない、NNのパラメータを補正する。ここで、NNのパラメータを補正するとは、たとえば、NNの畳み込み層のフィルターの重みを変更することをいう。
【0046】
出力部303は、たとえば、算出した誤差が大きいほどNNのパラメータの補正値を大きくし、算出した誤差が小さいほどNNのパラメータの補正値を小さくしてもよい。出力部303は、誤差が0である場合には(誤差がない場合には)パラメータの補正をおこなわなくてよい。
【0047】
また、学習フェーズにおいて、出力部303は、所定の条件を満たすか否かを判定し、この判定結果に基づき学習を繰り返すか否かを決定する。たとえば、出力部303は、算出した誤差が所定値以下であるか否かを判定する。
【0048】
出力部303は、誤差が所定値以下でないと判定した場合には、誤差が所定値以下でないと判定された画像を再取得する指示を学習画像取得部301に出力する。出力部303は、学習画像取得部301で取得された全ての画像について、誤差が所定値以下であると判定した場合には、学習を終了する。
【0049】
なお、出力部303が判定する所定の条件は、前述した誤差の条件に限らず、他の条件であってもよい。たとえば、出力部303は、学習の回数(画像をNNに入力して出力情報を出力してNNのパラメータを補正した回数)が所定の回数以上であるか否かを判定してもよい。この場合、出力部303は、学習回数が所定の回数以上でない場合には、画像を再取得する指示を学習画像取得部301に出力し、学習回数が所定の回数以上である場合には、学習を終了する。
【0050】
続いて、出力部303の推定フェーズについて説明する。推定フェーズにおいて、出力部303は、解析対象となる画像、すなわち解析画像取得部304から出力された画像を、全体特徴量を考慮したNNに入力し、出力情報を取得する。出力部303は、取得した出力情報を属性決定部305に出力する。
【0051】
解析画像取得部304は、たとえば、画像が記憶された内部又は外部の記憶装置から、解析対象となる画像を取得する。また、解析画像取得部304は、外部の撮影装置等によって撮影された画像を、ネットワーク等を介して受信することにより取得してもよい。解析画像取得部304は、取得した画像を出力部303に出力する。
【0052】
属性決定部305は、出力部303から出力された出力情報に基づき、対象物の属性を決定する。属性決定部305は、データベースサーバ102から、たとえば
図5に示される属性情報テーブルを読み込むことにより、対象物の属性を決定する。
【0053】
図5の属性情報テーブルには、属性ID501、及び属性502が格納されている。属性決定部305は、出力情報に含まれる属性IDに対応付けられた属性を、対象物の属性として決定する。
【0054】
次に、
図4を参照して、出力部303における、全体特徴量を考慮したNNの処理に関する詳細な機能構成について説明する。
図4は、出力部303の詳細な機能構成を示すブロック図である。なお、
図4に示される各機能は、全体特徴量を考慮したNNの処理に関する機能であって、出力部303は、
図4に示される各機能部以外にも、その他の種々の機能部を備えていてもよい。
【0055】
図4に示されるように、出力部303は、全体特徴量抽出部401と、物体候補領域抽出部402と、領域特徴プーリング部403と、全体特徴プーリング部404と、特徴量結合部405と、属性判別部406と、を備える。
【0056】
本実施形態では、全体特徴プーリング部404が全体特徴量抽出手段として機能する。また、領域特徴プーリング部403が領域別特徴量抽出手段として機能する。また、特徴量結合部405が特徴量結合手段として機能する。また、属性判別部406が、対象物判別手段として機能する。
【0057】
全体特徴量抽出部401は、学習画像取得部301又は解析画像取得部304から出力された画像に対して、全体特徴量を抽出する。
【0058】
全体特徴量抽出部401は、たとえばResidual Netwоrk(ResNet)やVGGのようなニューラルネットワークに画像を入力することにより出力される画像特徴量を、全体特徴量として抽出する。たとえば、3次元のデータである画像がResNetに入力されると、高さ及び幅が固定長とされた、256次元の画像特徴量が出力される。
【0059】
なお、全体特徴量の抽出に用いるニューラルネットワークは、FPN構造を有するものでもよい。
【0060】
全体特徴量抽出部401は、抽出した全体特徴量を、物体候補領域抽出部402、領域特徴プーリング部403、及び全体特徴プーリング部404に出力する。
【0061】
物体候補領域抽出部402は、全体特徴量抽出部401により抽出された全体特徴量に対して、対象物らしき領域の候補を示す物体候補領域を抽出する。物体候補領域抽出部402は、物体候補領域を抽出する技術として、たとえばRegiоn Prоpоsal Netwоrksのような技術を用いる。Regiоn Prоpоsal Netwоrksは、対象物の種類によらず、対象物らしき領域を抽出するネットワークである。物体候補領域抽出部402は、抽出した物体候補領域を示す情報を、領域特徴プーリング部403に出力する。
【0062】
領域特徴プーリング部403は、全体特徴量抽出部401から出力された全体特徴量と、物体候補領域抽出部402から出力された物体候補領域を示す情報とに基づき、物体候補領域からのプーリングをおこなう。
【0063】
プーリングとは、画像特徴量の中から学習に有用な特徴量を抜き出す処理である。すなわち、プーリングとは、画像特徴量のうち学習に有用な特徴量をまとめあげる処理ともいえる。
【0064】
本実施形態では、領域特徴プーリング部403は、プーリングとして、たとえばROI PoolingやROI Alingのような技術を用いる。たとえば、領域特徴プーリング部403は、256次元の全体特徴量に対して、物体候補領域からROI PoolingやROI Alingの処理をおこなうことにより、高さ及び幅が固定長とされた、256次元の画像特徴量を取得する。
【0065】
領域特徴プーリング部403によってプーリングがおこなわれた結果として取得される画像特徴量(以下、「領域別プーリング特徴量」ともいう)は、物体候補領域における画像特徴量(領域別特徴量)を示す。領域特徴プーリング部403は、取得した領域別プーリング特徴量を、特徴量結合部405に出力する。
【0066】
全体特徴プーリング部404は、全体特徴量抽出部401から出力された全体特徴量に対し、全体からのプーリングをおこなう。全体特徴プーリング部404のプーリングも、領域特徴プーリング部403のプーリングと同様、たとえばROI PoolingやROI Alingのような技術を用いることによって実現可能である。
【0067】
たとえば、全体特徴プーリング部404は、256次元の全体特徴量に対して、全体からROI Poolingの処理をおこなうことにより、高さ及び幅がプーリング全体特徴量と同じ高さ及び幅とされた、256次元の画像特徴量を取得する。
【0068】
全体特徴プーリング部404によってプーリングがおこなわれた結果として取得される画像特徴量(以下、「全体プーリング特徴量」ともいう)は、画像の全体の画像特徴量(全体特徴量)を示す。全体特徴プーリング部404は、取得した全体プーリング特徴量を、特徴量結合部405に出力する。
【0069】
特徴量結合部405は、領域特徴プーリング部403から出力された領域別プーリング特徴量(領域別特徴量)と、全体特徴プーリング部404から出力された全体プーリング特徴量(全体特徴量)とを、結合する。結合とは、各特徴量を連結して、一つの特徴量に合成することを意味する。各特徴量を連結するとは、互いに混ざらない状態で特徴量同士を結びつけることをいう。
【0070】
たとえば、特徴量結合部405は、256次元の領域別プーリング特徴量と、256次元の全体プーリング特徴量とを連結して、512次元の特徴量を生成する。以下、特徴量結合部405により生成された特徴量を、「結合特徴量」ともいう。特徴量結合部405は、結合特徴量を、属性判別部406に出力する。
【0071】
属性判別部406は、特徴量結合部405から出力された結合特徴量に基づき、画像に含まれる対象物の属性を判別する。属性判別部406は、対象物の属性判別をおこなった結果として、出力情報(矩形位置情報及び属性ID)を取得する。
【0072】
具体的には、属性判別部406は、結合特徴量に対して、畳み込みNN(以下、「CNN」ともいう。)を用いることにより、対象物の属性判別をおこなう。CNNは、たとえばFaster R−CNNにおいて用いられるようなCNNを用いる。属性判別部406は、CNNに結合特徴量を入力することにより、属性判別をおこなうための特徴を算出し、この特徴に基づき出力情報を出力する。
【0073】
なお、属性判別部406が用いるCNNは、Faster R−CNNにおいて用いられるようなCNNに限られず、対象物の属性判別をおこなうための特徴量を出力するような構造を有するCNNであれば何でもよい。
【0074】
属性判別部406は、CNNにおいて、結合特徴量をフィルターに通すことによって、属性判別をおこなうための特徴を算出する。属性判別部406は、CNNにおいて、結合特徴量の全体に対してではなく、結合特徴量の次元毎に異なるフィルターを通す。
【0075】
たとえば、属性判別部406は、512次元の結合特徴量に対し、対応する512個のフィルターを作成し、次元毎に対応するフィルターに通す。これにより、属性判別をおこなうための特徴が、異なる意味を有する全体特徴量と領域別特徴量とが混ざった状態で算出されないようになっている。
【0076】
次に、
図8のフローチャートを参照して、サーバ装置101による学習フェーズでの処理の流れの一例を説明する。
【0077】
図8は、サーバ装置101による学習フェーズでの処理の流れの一例を示すフローチャートである。
図8に示されるように、サーバ装置101による学習フェーズにおける処理が開始されると、まず、サーバ装置101の学習画像取得部301は、出力部303におけるモデル学習用の画像情報を取得する(ステップS801)。
【0078】
具体的には、
図6に示される画像情報テーブルを読み込み、画像IDと、画像データパス602に配置された画像とを取得する。
【0079】
続いて、サーバ装置101の正解情報取得部302は、正解情報を取得する(ステップS802)。
【0080】
具体的には、ステップS801で取得した画像IDに基づき、
図7の正解情報テーブルを読み込むことにより、正解矩形位置情報703〜706及び属性ID707を取得する。
【0081】
続いて、サーバ装置101の出力部303は、ステップS803で取得された画像を入力画像として、全体特徴量を考慮したNNを用いて、出力情報(矩形位置情報及び属性ID)を取得する(ステップS803)。ステップS803の処理の詳細は、
図10を参照して後述する。
【0082】
続いて、サーバ装置101の出力部303は、ステップS802で取得した正解情報(正解矩形位置情報703〜706及び属性ID707)と、ステップS803で取得した出力情報(矩形位置情報及び属性ID)との誤差を算出し、当該誤差に基づき、NNにおけるパラメータを補正する(ステップS804)。
【0083】
続いて、サーバ装置101の出力部303は、所定の条件を満たすか否かを判定する(ステップS805)。たとえば、出力部303は、ステップS804で算出した誤差が所定値以下であるか否かを判定する。
【0084】
誤差が所定値以下でないと判定された場合には(ステップS805;NO)、ステップS801に戻り、サーバ装置101の学習画像取得部301が、誤差が所定値以下でないと判定された画像情報を再度取得する。そして、ステップS802〜ステップS805の処理を繰り返す。
【0085】
ステップS801で取得された画像の全てについて、誤差が所定値以下であると判定された場合には(ステップS805;YES)、処理を終了する。
【0086】
次に、
図9のフローチャートを参照して、サーバ装置101による推定フェーズでの処理の流れの一例を説明する。
【0087】
図9は、サーバ装置101による推定フェーズでの処理の流れの一例を示すフローチャートである。
図9に示されるように、サーバ装置101による学習フェーズにおける処理が開始すると、まず、サーバ装置101の解析画像取得部304は、出力部303による解析対象となる画像を取得する(ステップS901)。
【0088】
続いて、サーバ装置101の出力部303は、ステップS901において取得した画像を、ステップS803において学習済みのNNに入力し、出力情報(矩形位置情報及び属性ID)を取得する(ステップS902)。ステップS902の処理の詳細は、
図10を参照して後述する。
【0089】
続いて、サーバ装置101の属性決定部305は、ステップS902において取得された出力情報に含まれる属性IDに基づき、
図5の属性情報テーブルから、属性ID501に対応付けけられた属性502を、対象物の属性として決定する(ステップS903)。
【0090】
次に、
図10を参照して、ステップS803及びステップS902における出力部303の処理(全体特徴量を考慮したNNの処理)の詳細について説明する。
図10は、
図8のステップS803及び
図9のステップS902の各処理の詳細を示すフローチャートである。
【0091】
図9に示されるように、ステップS803又はステップS902の処理が開始すると、まず、全体特徴量抽出部401は、ステップS801又はステップS902において取得された画像をResNetに入力することにより出力される画像特徴量を、全体特徴量として抽出する(ステップS1001)。
【0092】
続いて、物体候補領域抽出部402は、ステップS1001において抽出された全体特徴量に対して、Regiоn Prоpоsal Netwоrksのような技術を用いることにより、物体候補領域を抽出する(ステップS1002)。
【0093】
続いて、領域特徴プーリング部403は、ステップS1001において抽出された全体特徴量に対し、ROI Poolingの技術を用いて、ステップS1002において抽出された物体候補領域からのプーリングをおこなう(ステップS1003)。
【0094】
たとえば、ステップS1001において抽出された、高さh/16[pixel]、幅w/16[pixel]、及び256次元の特徴量に対して、物体候補領域からROI Poolingの処理をおこなうことにより、高さ及び幅をそれぞれ7[pixel]とする256次元の領域別プーリング特徴量を取得する(
図15参照)。
【0095】
続いて、全体特徴プーリング部404は、ステップS1001において抽出された全体特徴量に対し、ROI Poolingの技術を用いて、全体からのプーリングをおこなう(ステップS1004)。
【0096】
たとえば、ステップ1001において抽出された、高さh/16[pixel]、幅w/16[pixel]、及び256次元の特徴量に対して、全体からROI Poolingの処理をおこなうことにより、高さ及び幅をそれぞれ7[pixel]とする256次元の全体プーリング特徴量を取得する(
図15参照)。
【0097】
続いて、特徴量結合部405は、ステップS1003においてプーリングがおこなわれた結果として取得される領域別プーリング特徴量と、ステップS1004においてプーリングがおこなわれた結果として取得される全体プーリング特徴量とを、一つの結合特徴量に結合する(ステップS1005)。
【0098】
たとえば、ステップS1003で取得された、256次元の領域別プーリング特徴量と、ステップS1004で取得された、256次元の全体プーリング特徴量とを結合して、512次元の結合特徴量を生成する(
図15参照)。
【0099】
続いて、属性判別部406は、ステップS1004において結合された結合特徴量に対し、CNNを用いることによって、出力情報を出力する(ステップS1006)。
【0100】
前述した処理は、サーバ装置101のコンピュータを、上述した各機能部として機能させるためのプログラムとして実現されてもよい。
【0101】
次に、
図11〜
図15を参照して、前述した出力部303によるステップS1001〜S1006の処理、すなわち全体特徴量を考慮したNNの処理方法の作用及び効果について、従来のNNの処理方法と対比させて説明する。
【0102】
図11は、出力部303に入力される画像例を示す図である。
図11の(a)は、対象物として「073−846−7923」という手書きの数字が含まれた画像を示す。
図11の(b)は、対象物として「WONDER」という手書きの英字が含まれた画像を示す。
【0103】
図11の(a)及び(b)に示されるように、
図11の(a)の画像に含まれる数字1101(数字「0」)と、
図11の(b)の画像に含まれる英字1102(英字「О」)とは、意味が異なるのに見た目は略同じとなっている。ここで、見た目が略同じとは、外観が完全に一致する場合のみならず、通常の観察力を有する人間が対象物を観察した場合に、外観が類似していると判断し得る範囲まで含む。
【0104】
図12は、従来のNNの処理方法を説明するための概念図である。
図14は、従来のNNにおいて、対象物の属性判別のためのCNNに入力する特徴量を説明するための概念図である。
図13は、本実施形態における全体特徴量を考慮したNNの処理方法を説明するための概念図である。
図15は、本実施形態のNNにおいて、対象物の属性判別のためのCNNに入力する特徴量を説明するための概念図である。
【0105】
図12に示されるように、従来のNNの処理方法では、領域別プーリング特徴量(
図14参照)を、属性判別のためのCNNに入力することによって、出力情報(矩形位置情報及びI属性D)を出力していた。
【0106】
このような従来手法では、入力画像に含まれる対象物の属性を適切に判別できないことがあった。たとえば、対象物が手書き文字である場合等には、
図11のように見た目が略同じ数字「0」と英字「О」とを適切に判別することが難しかった。
【0107】
これに対し、
図13に示されるように、本実施形態のNNの処理方法では、前述したように、領域別プーリング特徴量と全体プーリング特徴量とを結合した結合特徴量(
図15参照)を、属性判別のためのCNNに入力することによって、出力情報を出力する。
【0108】
本実施形態の手法によれば、このように全体特徴量を考慮してNN処理をおこなうことにより、出力部303に入力された画像に含まれる対象物を、適切に判別することができる。たとえば、
図11のような手書き文字についても、個々の文字だけでなく文字列全体の文脈を考慮して判別することができるので、見た目が略同じ数字「0」と英字「О」とを適切に判別することができる。
【0109】
さらに、本実施形態によれば、属性判別部406は、CNNにおいて、結合特徴量の全体に対してではなく、結合特徴量の次元毎に異なるフィルターを通す。これにより、対象物の属性判別をおこなうための特徴が、異なる意味を有する全体特徴量と領域別特徴量とが混ざらない状態で算出されるので、属性判別の精度が向上し、より適切に対象物を判別することができる。
【0110】
以上、本実施形態の一実施形態について説明したが、本発明は上記実施形態に限られず、その要旨を逸脱しない範囲で様々な変更が可能である。
【0111】
たとえば、上記実施形態において、属性判別部406は、CNNにおいて、結合特徴量の次元毎に異なるフィルターを通す例について説明したが、これに限られず、結合特徴量の全体に対してフィルターを通してもよい。
【0112】
また、上記実施形態では、全体特徴量及び領域別特徴量を、プーリングをおこなって取得している例について説明したが、これに限られない。全体特徴量及び領域別特徴量は、プーリングをおこなわずに取得してもよい。
【0113】
本発明は、たとえば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
【0114】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【0115】
したがって、本発明の機能処理をコンピュータで実現(実行可能と)するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0116】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、又はOSに供給するスクリプトデータなどの形態であってもよい。
【0117】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、又はCD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、又はDVD(DVD−ROM,DVD−R)などもある。
【0118】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスクなどの記録媒体にダウンロードすることによっても供給できる。
【0119】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0120】
また、本発明のプログラムを暗号化してCD−ROMなどの記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0121】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0122】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【0123】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。