【文献】
鈴木聡志,外2名,びまん性肺疾患識別におけるDeep Convolutional Neural Network特徴の解析,電子情報通信学会技術研究報告 Vol.115 No.111 ,日本,一般社団法人電子情報通信学会,2015年,第115巻
(58)【調査した分野】(Int.Cl.,DB名)
検出すべき検出対象を含み得る対象データから、当該対象データの属するクラスに係る情報を出力する対象検出器を用いて、当該検出対象を検出可能な対象検出装置であって、
当該検出対象に係る情報を検索キーとして実施された検索の結果としての複数の対象データと、当該対象データの検索順位とを含む検索結果情報を取得する検索結果取得手段と、
取得された複数の対象データを、類似の度合いに基づいて複数のクラスに分類するクラスタリング手段と、
当該対象データと該対象データの属するクラスとを前記対象検出器に入力し、該対象検出器を学習させる検出器学習手段と、
当該クラス毎に、前記対象検出器の出力に対する重みであって、当該クラスに属する対象データの検索順位の和について単調減少関数となる重みを決定する重み決定手段と
を有することを特徴とする対象検出装置。
前記対象検出器から出力されるクラスに係る情報を、決定された重みをもって重み付けした重み付き出力を算出し、当該重み付き出力が所定条件を満たす場合に、当該検出対象の検出を決定する検出判定手段を更に有することを特徴とする請求項1又は2に記載の対象検出装置。
【発明を実施するための形態】
【0029】
以下、本発明の実施形態について、図面を用いて詳細に説明する。
【0030】
[状態識別装置]
図1は、本発明による対象検出装置の一実施形態における機能構成を示す機能ブロック図である。
【0031】
図1によれば、本発明による対象検出装置の一実施形態であるスマートフォン1は、公知の構成を有するカメラ103を内蔵しており、このカメラ103で撮影して生成した写真画像に、所定の検出対象(例えば犬)が写っているか否かを判定して、写っている検出対象(犬)の画像領域を指し示すことができる。例えば、タッチパネル・ディスプレイ(TP・DP)102上に判定結果及び検出対象(犬)の画像領域を表示することが可能である。なお当然に、このような検出対象を含み得る画像を、外部から通信ネットワーク経由で通信インタフェース部101を介して取得し、対象検出処理を行うこともできる。
【0032】
さらに、1つの応用例として、スマートフォン1のアプリケーション122が、この対象検出結果を利用して、写真の分類・加工処理、例えば検出対象(犬)の飼育アルバムの作成等、を行うことも可能になる。
【0033】
また、スマートフォン1は、本実施形態において、ユーザによってタッチパネル・ディスプレイ102を介し入力された所定の検出対象(例えば犬)に係る文字列、例えば検索対象の名称(例えば「犬」や「イヌ」等)を受け付け、この文字列を検索ワードとした検索エンジンによる検索結果を取得することができる。ここで、検索エンジンは外部の検索サーバ2に備えられたものを利用し、この文字列による検索処理は、通信インタフェース部101を介し検索サーバ2と通信を行うことによって実施される。
【0034】
スマートフォン1は、この取得された検索結果を利用して、対象検出器の学習処理を自動的に実行し、さらに、この学習させた対象検出器の出力から高い精度の判定を行う検出処理を実行するのである。例えば、ユーザが検出対象の名称(「犬」)を指定した入力を行った際、指定された「犬」が入力画像に写っている旨の検出結果や、写っている犬に対応する画像領域を提示することが可能となる。
【0035】
具体的に、スマートフォン1は、検出すべき検出対象(例えば犬)を含み得る対象データ(例えば画像データ)から、対象データ(画像データ)の属するクラスに係る情報を出力する対象検出器を用いて、検出対象(犬)を検出可能な対象検出装置であって、
(A)検出対象(犬)に係る文字列(例えば「犬」)等の情報を検索キー(例えば検索ワード)として実施された検索の結果としての複数の対象データ(画像データ)を含む「検索結果情報」を取得する検索結果取得部111と、
(B)取得された複数の対象データ(画像データ)を、類似の度合いに基づいて複数のクラスに分類するクラスタリング部112と、
(C)対象データ(画像データ)とこの対象データの属するクラスとを対象検出器に入力し、この対象検出器を学習させる検出器学習部114と、
(D)クラス毎に、当該クラスに属する対象データ(画像データ)に係る「検索結果情報」に基づいて、対象検出器の出力に対する「重み」を決定する重み決定部113と
を有することを特徴としている。
【0036】
ここで、「検索結果情報」は、検索された対象データ(画像データ)の検索順位を含んでいてもよく、重み決定部113は、後に詳細に説明するように、当該クラスに属する対象データの検索順位の和について単調減少関数となる「重み」を決定することも好ましい。さらに、当該クラスに属する対象データの数について単調増加関数となる「重み」を決定することも好ましい。
【0037】
このように、スマートフォン1は、検出対象に係る文字列等の情報による検索結果である「検索結果情報」を利用して、例えば人手による学習用データ収集といった多大な労力をかけることなく、対象検出器を自動的に学習させることができるのである。また、この「検索結果情報」に基づき対象検出器の出力に対する「重み」を決定して、対象検出器の出力からより高精度の判定を行う。
【0038】
すなわち、スマートフォン1は、任意の検出対象の検出について、その検出対象に係る文字列等の情報による検索結果を利用して自動的に学習処理を行うので、対象検出器の学習にかかる労力を大幅に低減し、しかも良好な検出を行うことを可能にする。例えば、カメラ103で撮影された画像から、指定した任意の物体をより確実に検出することも可能となるのである。
【0039】
なお当然に、本発明による対象検出装置が取り扱う対象データは、静止画像データに限定に限定されるものではない。例えば、動画像データであってもよく、さらには、ニュース記事や論文、評論等のテキストデータとすることもできる。この場合、検出対象は例えば、このテキストデータにおける所定のトピックに対するコメント部分等とすることができる。いずれにしても、検出すべき検出対象を含む可能性があり、対象検出器を用いて当該検出対象を検出することができるデータであれば、種々のものが対象データとして採用可能である。
【0040】
また、上記の「検索結果情報」を取得するための検索処理は、例えば、検索サービス提供事業者や個人等が提供する検索エンジンや同様の検索システム、さらには画像データベースによっても実施することができる。
【0041】
さらに、本発明による対象検出装置は、当然にスマートフォンに限定されるものではない。例えば、タブレット型コンピュータ、ノート型コンピュータ、パーソナルコンピュータ(PC)、セットトップボックス(STB)、ロボット、デジタルサイネージであってもよい。また、端末ではなくサーバとすることも可能である。さらに、検索エンジンを自ら備え、「検索結果情報」を自ら生成する端末、サーバ又はスタンドアローン装置であってもよい。また、カメラ103も装置内蔵のものに限定されず、例えば、外部の監視カメラや車載カメラ、さらにはドローンに搭載されたカメラ等とすることもできる。
【0042】
[装置構成]
以下、同じく
図1を用いて、本発明による対象検出装置の具体的構成について説明を行う。同図の機能ブロック図に示すように、対象検出装置(物体検出装置)である本実施形態のスマートフォン1は、通信インタフェース部101と、タッチパネル・ディスプレイ(TP・DP)102と、カメラ103と、画像データベース104と、検出結果保存部105と、プロセッサ・メモリとを有する。ここで、プロセッサ・メモリは、スマートフォン1のコンピュータを機能させるプログラムを実行することによって、対象検出機能(物体検出機能)を実現させる。
【0043】
ちなみに、通信インタフェース部101を介し、本発明に係る対象検出プログラム(アプリ)や、この対象検出結果を利用したサービスを提供可能なアプリケーション・プログラム、例えば対象画像のアルバム作成アプリ等、がスマートフォン1にダウンロード可能となっていてもよい。
【0044】
さらに、上記のプロセッサ・メモリは、機能構成部として、対象検出器11と、検索結果取得部111と、クラスタリング部112と、重み決定部113と、検出器学習部114と、検出判定部115と、画像管理部121と、アプリケーション122と、入出力制御部123とを有する。ここで、
図1におけるスマートフォン1の機能構成部間を矢印で接続して示した処理の流れは、本発明による対象検出方法(物体検出方法)の一実施形態としても理解される。
【0045】
上記の機能構成部のうち、検索結果取得部111は、
(a)タッチパネル・ディスプレイ102を介して入力された検出対象に係る文字列を取得し、
(b)通信インタフェース部101を介した通信によって、検索サーバ2の検索エンジンに対し、取得した文字列を検索ワードとした検索を実施させ、
(c)検索サーバ2から通信インタフェース部101を介して、実施させた検索処理の結果である検索結果情報を取得する。
【0046】
ここで、この検索結果情報には、検索された複数の画像データであって、画像データ毎に当該データの検索順位が紐づけられた複数の画像データと、検索された画像データの総数とが含まれている。
【0047】
なお、検索ワードとなる文字列は、検出対象の名称とすることができる。または、検出対象と高い関連性のある物体や事象等を表すワードを合わせて、この文字列として入力してもよい。また、この文字列は、画像検索エンジンの検索ワードとして入力可能であれば、日本語でも他の言語でもよく、各種記号等を含むものであってもよい。さらに、文字を用いず各種記号等のみで検索キーを構成することも可能である。また、画像検索エンジンの制約に従い、文字・記号数や文字・記号の種類が限定されたものとすることもできる。さらには、検索キーとして検出対象を含む画像そのものを採用し、画像検索を行うことも可能である。
【0048】
また、上記の検索ワードとなる文字列の入力方法も、上述したものに限定されるものではない。検索のためのプログラムのソースコードに文字列を直接記入してもくよく、特定の入力フォームから文字列を入力してもよい。本実施形態では、入力された文字列は通信ネットワークを介して検索サーバ2の画像検索エンジンに渡される。
【0049】
ここで、画像検索エンジンは具体的に、入力された文字列を検索ワードとした検索処理を行い、ウェブ(Web)上から該当するN枚の画像I
i(i=1, 2, ・・・, N)を取得し、取得画像毎に当該画像I
iの検索順位R
i(i=1, 2, ・・・, N)を決定する。検索順位の算出方法は、一般に画像検索エンジンによるが、通常、順位が上位の(R
iがより小さい)画像ほど、検索ワードとの関連がより強い画像となる。ちなみに、Google(登録商標)画像検索やBing(登録商標)画像検索では、事業者より提供されているAPI(Application Programming Interface)を用いることによって検索画像及び検索順位を取得することができる。
【0050】
クラスタリング部112は、検索によって取得された複数の画像データを、画像の類似度に基づいて複数のクラスに分類する。具体的に、クラスタリング部112は、検索結果取得部111によって取得されたN枚の画像I
i(i=1, 2, ・・・, N)と、その検索順位R
i(i=1, 2, ・・・, N)とを受け付け、これらN枚の画像を、画像間の類似度によってD個のグループ(クラスタ)に分類(クラスタリング)する。
【0051】
ここで、類似度を用いた画像のクラスタリングは、K−means法等の公知の方法を用いて実施することができる。例えば、上述した特許文献1に記載されたように、画像の特徴量ベクトルの間のユークリッド距離の2乗に基づき類似度の判定を行い、この判定結果に従って画像を分類してもよい。また他の方法として、クラスタリング部112は、画像分類用に学習されたCNN(Convolutional Neural Network)に当該画像データを入力した際に、このCNNの隠れ層から出力される情報から生成される特徴量の間の類似度に基づいて、クラスタリングを行ってもよい。
【0052】
図2は、CNNの隠れ層からの出力を用いた類似度の算出を、概略的に説明するための模式図である。同図において、CNNの浅い層の出力は輪郭等の低レベルの視覚的特徴を有するのに対し、CNNのより深い隠れ層の出力は、画像における抽象化された意味的情報を含んでいる。このような隠れ層の出力を用いて画像の特徴量を決定し、画像間においてこの特徴量の類似度を算出することができるのである。このようなCNNを用いた画像類似度の算出については、例えば、非特許文献:[online]、[平成29年3月27日検索]、インターネット<URL: https://www.slideshare.net/ToshinoriHanya/deep-learning-ohs5>において詳細に説明されている。
【0053】
図1に戻って、クラスタリング部112は、上述したように、画像クラスタリング処理によって、検索された画像をD個のグループ(画像のクラスタ)に分類する。本実施形態では、クラスタリング部112で分類されたD個のグループを、機械学習の学習クラスとして利用する。以後、これらのD個のグループ(クラス)をC
j(j=1, 2, ・・・, D)として表す。また、クラスC
jに含まれる画像の枚数をM
jで表す。このM
jは、後述するように、対象検出判定の際に用いる重みの算出に使用される重要な量であるが、次式
(1) Σ
j=1D M
j=N
を満たす。ここで、Σ
j=1Dはj=1〜Dについての総和(summation)である。
【0054】
さらに、同じく重みの算出において、クラスC
jに含まれる画像の検索順位の和S
jを使用することができる。S
jは、次式
(2) S
j=Σ
Cj R
i
によって算出される。ここで、Σ
Cj R
iはクラスC
jに含まれる全ての画像I
i(I
i∈C
j)についての検索順位R
iの総和である。
【0055】
検出器学習部114は、検索された複数の対象データの各々に、当該対象データの属するクラスが紐づけられた情報を対象検出器11に入力し、対象検出器11を学習させる。具体的には、上述したN枚の画像I
i(i=1, 2, ・・・, N)と、各画像の属するクラスCj(j=1〜D)とをクラスタリング部112から取得して対象検出器11に入力し、トレーニングを行う。
【0056】
ここで本実形態において、対象検出器11は、入力された画像データから画像領域の候補を抽出し、当該画像領域候補についてのクラスに係る情報を出力する。具体的には、対象検出器11として、SSD(Single Shot MultiBox Detector)や、Faster R−CNN(Region-based Convolutional Neural Network)等の深層学習を用いた検出器を採用することができる。これらの検出器は、ニューラルネットワークを用いて入力画像から学習済みの物体を高速で検出する。
【0057】
ちなみに、SSD及びFaster R−CNNは、いずれもウェブ上にライブラリが公開されており、それぞれ非特許文献:Liu, Wei, et al. "SSD: Single shot multibox detector." European Conference on Computer Vision. Springer International Publishing,2016年、及び非特許文献:Ren, Shaoqing, et al. "Faster r-cnn: Towards real-time object detection with region proposal networks." Advances in neural information processing systems.,2015年、において詳細に説明されている。ただし当然に、対象検出器11は以上に述べたものに限定されず、その他様々な検出器や識別器が対象検出器11として採用可能である。
【0058】
物体検出器11は、学習する各クラスC
j(j=1, 2, ・・・, D)に対応する出力O
j(j=1, 2, ・・・, D)を有する。この出力O
jは、通常、正規化されていて0から1の間の値をとり、次式が成り立つ。
(3) Σ
j=1D O
j=1
【0059】
ここで、この物体検出器11の学習においては、あるクラスC
pに属する検索画像が与えられた際に、このクラスC
pに対応する出力O
pがより大きな値を示す一方、他の出力O
j(j≠p)はより小さな値を示すようになるまで、画像入力とニューラルネットワークのパラメータ更新とが繰り返されるのである。このような処理が所定回数(所定数のエポック(epoch))だけ繰り返されることによって学習を完了した(学習済みの)物体検出器11は、後に詳細に説明する検出判定部115に渡される。
【0060】
同じく
図1において、カメラ103は、例えば検出対象である人物を撮影し、この人物(の画像領域)を含む画像データを、画像管理部121に出力する。画像管理部121は、通信インタフェース部101やカメラ103から画像データを取得し、画像データベース104に保存して管理する。また、ユーザ等によるタッチパネル・ディスプレイ102を介した指示や装置内処理からの要請等に応じて、検出判定対象である画像データを検出判定部115に出力する。
【0061】
重み決定部113は、クラスタリング部112で分類されたクラス毎に、当該クラスに属する画像データに係る検索結果情報に基づいて、対象検出器の出力に対する重みを決定する。本実施形態では、
(a)クラスC
j(j=1, 2, ・・・, D)に含まれる画像の検索順位の和S
jと、
(b)クラスタリング部112で分類されたクラスC
j(j=1, 2, ・・・, D)に含まれる画像の枚数M
jと
を用いて、クラスC
jに対応する出力O
jの重みW
j(j=1, 2, ・・・, D)を導出する。
【0062】
具体的には、以下の2つの判断基準(ア)及び(イ)に基づき、S
j及びM
jを用いて重みW
jを算出する。
(ア)検索順位が上位の画像を多く含むクラス(S
jがより小さいC
j)ほど、検出対象を含む可能性が高い。
(イ)多くの類似画像を含むクラス(M
jがより大きいC
j)ほど、検出対象を含む可能性が高い。
【0063】
ここで、検出対象を含む可能性の高いクラスC
jほど、それに対応する出力O
jの値はより高く評価されるべきである。したがって、クラスC
jに対応する出力O
jに対する重みW
jは、上記の判断基準(ア)及び(イ)に従い、例えば次式
(4) W
j=(1/S
j)×M
j (j=1, 2, ・・・, D)
で定義された上で、この式を用いて算出することができる。
【0064】
このように、検索順位及び画像枚数といった検索結果に関連する情報を利用し、検索された画像を学習した対象検出器からの出力に対して重み付けを行うことによって、より精度の高い対象検出の判定を行うことが可能となるのである。
【0065】
なお当然、重みW
jは上式(4)の形に限定されるものではない。S
j及びM
jのいずれか一方のみの関数、例えば、W
j=1/S
jや、W
j=M
jとすることも可能である。いずれにしても、重み決定部113は、上記判断基準(ア)に基づき、クラスC
jに係る検索順位の和S
jについては単調減少関数となる重みを決定することが好ましい。さらに、上記判断基準(イ)に基づき、クラスC
jの画像数M
jについては単調増加関数となる重みを決定することが好ましい。
【0066】
また、クラスC
j内の検索順位の和S
jの代わりに、例えば検索順位の平均等、他の値を使用して重みW
jを算出してもよい。当然、同じくクラスC
jの画像数M
jの代わりに、例えば画像数比等、他の値を使用することもできる。さらに、重みを算出する基準となる検索結果情報として、検索された画像が紐づいているウェブページのタイトルや、検索された画像のタイトル等も採用することも可能である。例えば、重みW
jを、これらのタイトルと検索ワードとなった文字列との類似度についての単調増加関数としてもよい。
【0067】
同じく
図1において、検出判定部115は、検出判定の対象となる画像を対象検出器に入力し、この対象検出器から出力されるクラスに係る情報を、決定された重みをもって重み付けした重み付き出力を算出し、この重み付き出力が所定条件を満たす場合に、検出対象の検出を決定する。本実施形態においては具体的に、
(判定処理1)画像管理部121から取得された検出判定対象の画像を対象検出部11に入力し、
(判定処理2)対象検出器11からのクラスC
j毎の出力O
j(j=1, 2, ・・・, D)を、重み決定部113で決定された重みW
jをもって重み付けした重み付き出力O
Wを算出し、
(判定処理3)算出された重み付き出力O
Wが所定閾値T
Hよりも大きい値であれば、検出対象の検出を決定する。
【0068】
ここで、上記の判定処理1では、カメラ103等で取得した画像データを、学習済みの物体検出器11に入力として与えることになるが、その際例えば、この画像の各ピクセルの値(輝度値)を与えてもよい。カラー画像であれば、1ピクセルにつきRGBの3つの入力を与えることことができる。当然、画像データの与え方として他のやり方を採用してもよい。また、必要に応じて、入力する画像の輝度や彩度を変更した上で入力する等、下準備としての画像加工を実施することも可能である。次に、対象検出部11内での処理について説明する。
【0069】
図3は、対象検出器11での対象画像領域候補の決定を説明するための模式図である。
【0070】
図3に示すように、対象検出器11は、例えば上述したSSDやFaster R−CNNの検出器である場合、入力された画像から、検出対象の写った画像領域の候補を見つけ出し、見つけ出した画像領域候補の位置情報、例えば領域左上隅のピクセルの座標(x
1, y
1)と領域右下隅のピクセルの座標(x
2, y
2)との組、を決定する。
【0071】
次に、検出判定部115は、上記の判定処理2として、対象検出器11から、
(a)画像領域候補の位置情報と、
(b)当該画像領域候補についての(各クラスC
jに対応する)D個の出力O
1, O
2, ・・・, O
Dと
の組を取得し、これらに基づいて当該画像領域候補についての重み付き出力O
Wを算出する。具体的には、重み決定部113で決定された各クラスC
jに対応する出力O
jの重みW
jを用い、当該画像領域候補毎に、次式
(5) O
W=Σ
j=1D O
j×W
j
によって重み付き出力O
Wを算出する。
【0072】
ここで、重みW
jとして上式(4)で算出されたものを採用した場合、上式(5)のO
Wは結局、入力画像が属する可能性の高いクラスC
jにおける検索順位の和S
jが小さいほど大きくなり、且つ当該クラスC
jにおける画像の枚数M
jが大きいほど大きくなる。このように、上式(5)で算出される重み付き出力O
Wは、検索結果で学習した対象検出器の出力を調整した結果として合理的であって、それ故より精度の高い値となっているのである。
【0073】
最後に、検出判定部115は、上記の判定処理3として、算出した重み付き出力O
Wと、所定の出力閾値T
Hを比較し、重み付き出力O
Wが、次式
(6) O
W>T
H
を満たせば、当該画像領域候補において検出対象の物体を検出したと判定する。検出判定部115は、当該画像領域候補の位置を対象検出位置とし、この対象検出位置と、重み付き出力O
W値(と、検出対象(の種別))とを含む検出結果情報を生成し、出力する。
【0074】
このように出力された検出結果情報は、直接例えばアプリケーション122に入力されて使用されてもよく、または、検出結果保存部105に保存され、その後適宜、例えばアプリケーション122によって読み出されて使用されることも好ましい。アプリケーション122は、取得した検出結果情報を、例えば所定のアプリケーション・プログラムにおける画像認識データとして利用することができる。
【0075】
さらに、この利用結果(処理結果)や元の対象検出結果は、入出力制御部123を介して、タッチパネル・ディスプレイ102に表示されてもよく、通信インタフェース部101を通して外部の情報処理装置へ送信されてもよい。タッチパネル・ディスプレイ102に表示する場合、例えば、
図3に示すように、判定対象となった画像上において検出対象(例えば犬)に枠を付し、検索ワードや重み付き出力O
Wの値を併せて表示してもよい。また、物体が検出された際には、(図示していない)スピーカを用いて検出されたことを示す音を鳴らしたり、通信インタフェース101を介して予め設定された外部の端末宛てに電子メールで検出通知を送信する等、所定の動作を実行したりしてもよい。
【0076】
[対象検出方法]
図4は、本発明による対象検出方法の一実施形態の概略を示すフローチャートである。本実施形態において、検出対象を含み得る対象データは画像データであって、検出対象は1つの画像データ内に複数含まれ得るとする。すなわち、検出対象の画像領域候補は1つの画像内に複数存在し得る。
【0077】
(S101)(検出対象を含み得る)検出判定対象の画像が、学習済みの対象検出器11へ入力される。
(S102)対象検出器11は、入力された画像内において、検出対象の含まれている画像領域の候補を決定する。
【0078】
次いで、以下、決定された画像領域候補毎に、検出判定処理であるステップS103〜S107を繰り返すループに入る。
(S103)検出判定部115は、対象検出器11から、現ループで対象となっている画像領域候補についてのD個の出力O
1, O
2, ・・・, O
Dを取得する。
(S104)検出判定部115は、取得された出力O
1, O
2, ・・・, O
Dと、重み決定部113で決定された重みW
1, W
2, ・・・, W
Dとを用いて、重み付き出力O
Wを算出する。
【0079】
(S105)検出判定部115は、算出した重み付き出力O
Wが所定の閾値T
Hよりも大きな値であるか否かを判定する。ここで、偽(O
W≦T
H)の判定が行われた際、現ループで対象となっている画像領域候補には検出対象は含まれていないと判断し、ステップS107に移行する。
(S106)一方、ステップS105で真(O
W>T
H)の判定が行われた際、検出判定部115は、現ループで対象となっている画像領域候補に検出対象が含まれていると判断し、検出対象の検出を決定する。
【0080】
(S107)現ループで対象となっている画像領域候補が処理を受ける最後の候補であるか否かを判断し、なお、未処理の画像領域候補が残っていれば、そのうちの1つに係るループとして、再度上記のステップS103〜S107を繰り返す。
(S108)一方、ステップS107で未処理の画像領域候補が残っていなければ、検出結果として、検出対象の検出された画像領域候補の位置(座標情報)と、重み付き出力O
Wと、検出対象の種別とを対応付けた検出結果情報を生成して出力し、本フローを終了する。ここで、何も検出されなかった場合、検出結果情報は、その旨を示す(−1等の)値を含むものであってもよい。
【0081】
ちなみに、検出対象が入力画像に少なくとも1つ含まれるか否かを判定するといった用途の場合、上述したステップS103〜S107を繰り返すループは、最初の検出対象を検出した時点で終了してもよい。
【0082】
[実施例1]
図5は、本発明に係る対象検出器に対する学習処理の一実施例を説明するための模式図である。また、
図6は、本発明による対象検出方法の一実施例を説明するための模式図である。
【0083】
最初に、ユーザが、スマートフォン1に表示された入力フォームに、検出したい「犬」という文字列を入力する。スマートフォン1は「犬」という文字列を受け取ると、Bing(登録商標)画像検索のAPIを利用して「犬」を検索ワードとした画像検索を行い、検索結果として100枚(N=100)の画像を取得する。なお、以下に示す実施例の図においては、各画像の検索順位の値が当該画像の左上に付されている。
図5(A)に示すように、この検索順位の上位には犬の写った画像が含まれている。一方、検索順位の下位には、犬の飼育数を示すグラフや、猫の写った画像が含まれている。
【0084】
次に、スマートフォン1は、これら100枚の画像に対し、類似度に基づいてクラスタリング処理を行う。その結果、
図5(B)に示す実施例では、犬の種別等についての類似度合いも反映した形で、C1, C2, C3, C4, C5の5つのクラスに分類される。ここで、「犬」を検索ワードとしたことにより、クラスC2及びC3には「犬」の写った画像が複数含まれるのに対し、例えばグラフや猫の写った画像は多く検索されることはないので、クラスC4及びC5には画像が少数しか含まれない。
【0085】
次いで、スマートフォン1は、100枚の画像の各々と属するクラス(C1〜C5のいずれか)とを対応付けた学習用データをもって、物体検出器11であるSSDを学習させる。この学習が進むにつれてSSDのパラメータが更新される。この学習用データの入力とパラメータ更新とを所定回数繰り返し、学習を完了させる。
【0086】
次に、スマートフォン1は、ユーザがカメラ103で撮影した画像を検出判定対象の対象データとして取得し、
図6に示すように、この画像(入力画像)を学習済みのSSDへ入力する。SSDはこの入力を受けて、検出対象である「犬」の写った可能性のある画像領域候補を決定し、同じく
図6に示すように、この画像領域候補についてのクラスC1〜C5に対応する出力O1〜O5を出力する。ここで、入力画像に類似する画像を多く含むクラスC2に対応する出力O2が、最も高い値(0.4)となっている。一方、グラフ画像のみを含むクラスC4に対応する出力O4は最低値(0.0)となっている。
【0087】
次いで、スマートフォン1は、上式(4)を用いて重みW
j(j=1, 2, 3, 4, 5)を算出し、さらに上式(5)を用いて重み付き出力O
Wを算出する。具体的には、上式(4)及び(5)をまとめて、次のように計算可能である。
O
W=0.2*((1/1)*1)+0.4*((1/11)*3)+0.3*((1/9)*2)
+0.0*((1/99)*1)+0.1*((1/100)*1)
=0.376757576
【0088】
最後に、スマートフォン1は、算出した重み付き出力O
Wと、予め設定された出力閾値T
H(=0.35)とを比較し、O
W(≒0.38)>T
H(=0.35)であることから、入力画像における画像領域候補に「犬」が写っていること(「犬」の検出)を決定する。
【0089】
[実施例2]
図7は、本発明による対象検出方法における他の実施例を説明するための模式図である。上記の
図6に示した実施例(実施例1)では検出対象である「犬」が検出されたが、以下、
図7を用いて「犬」が検出されない実施例2を示す。
【0090】
本実施例2では、キャベツの写った画像(「犬」以外の画像)が入力画像としてSSDに入力される。ここで、このSSDは、(実施例1と同じく)
図5を用いて説明した学習処理を受けたものである。
図7に示すように、このSSDによる出力O1〜O5は、いずれのクラス(C1〜C5)にも入力画像と類似した画像が含まれていないので、いずれも低い値(0.2)を示している。
【0091】
そのため、これらの出力O1〜O5だけでは、クラスに差が見られず、入力画像が「犬」を含むか否かを判定することは困難である。これに対し、本実施例2では、検索結果情報を勘案した重みW
j(j=1, 2, 3, 4, 5)を用いて重み付き出力O
Wを算出するので、より精度の高い検出判定が可能となるのである。この重み付き出力O
Wは、具体的に、次のように算出される。
O
W=0.2*((1/1)*1)+0.2*((1/11)*3)+0.2*((1/9)*2)
+0.2*((1/99)*1)+0.2*((1/100)*1)
=0.303010101
【0092】
ここで、スマートフォン1は、算出した重み付き出力O
Wと、予め設定された出力閾値T
H(=0.35)とを比較し、O
W(≒0.30)<T
H(=0.35)であることから、入力画像における画像領域候補に「犬」は写っていないこと(「犬」の非検出)を決定する。このように、検索結果情報に基づく重み付き出力を導出して判断することによって、より的確な検出の判定が可能となるのである。
【0093】
[実施例3]
図8は、本発明による対象検出方法の更なる他の実施例を説明するための模式図である。以下、
図8を用いて(上記の実施例2と同じく)「犬」が検出されない実施例3を示す。
【0094】
本実施例3では、グラフの画像(「犬」以外の画像)が入力画像としてSSDに入力される。ここでも、SSDは、(実施例1と同じく)
図5を用いて説明した学習処理を受けたものであって、犬の飼育数を表すグラフの画像を学習しており、グラフの画像を含むクラスC4に対応する出力(O
4)も有するものである。
図8に示すように、このSSDによる出力O1〜O5においては、出力O
4が最も高い値(0.7)となっている。
【0095】
そのため、これらの出力O1〜O5だけから判断すると、例えば、最も高い出力O
4(0.7)が所定の出力閾値T
H(=0.35)を超えていることから、入力画像に「犬」が写っているとの誤判定を行ってしまう可能性も生じてしまう。これに対し、本実施例3では、検索結果情報を勘案した重みW
j(j=1, 2, 3, 4, 5)を用いて重み付き出力O
Wを算出するので、そのような誤判定が回避され、より確度の高い検出判定が可能となるのである。この重み付き出力O
Wは、具体的に、次のように算出される。
O
W=0.1*((1/1)*1)+0.0*((1/11)*3)+0.1*((1/9)*2)
+0.7*((1/99)*1)+0.1*((1/100)*1)
=0.130292929
【0096】
ここで、スマートフォン1は、算出した重み付き出力O
Wと、予め設定された出力閾値T
H(=0.35)とを比較し、O
W(≒0.13)<T
H(=0.35)であることから、入力画像における画像領域候補に「犬」は写っていないこと(「犬」の非検出)を決定する。このように、検索結果情報に基づく重み付き出力を導出して判断することによって、誤検出の問題を回避し、より正確な検出の判定が可能となるのである。
【0097】
[検出モデル生成装置]
図9は、本発明による検出モデル生成装置の一実施形態を示す機能ブロック図である。
【0098】
図9によれば、本発明による検出モデル生成装置の一実施形態としての検出モデル生成サーバ3は、要求した検索処理の結果を検索サーバ2から受け取り可能となっており、また、対象検出装置であるスマートフォン4とも通信可能となっている。
【0099】
具体的に、検出モデル生成サーバ3は、通信インタフェース部301と、ディスプレイ・キーボード(DP・KB)302と、画像データベース304と、対象検出器31と、検索結果取得部311と、クラスタリング部312と、重み決定部313と、検出器学習部314と、入出力制御部323とを有している。このうち、ディスプレイ・キーボード302は、
図1に示したスマートフォン1のタッチパネル・ディスプレイ102に対応した入出力手段であり、また、その他の機能構成部は、同じく
図1に示したスマートフォン1における同名の機能構成部と同様の機能を果たす。
【0100】
ここで、この検出モデル生成サーバ3の検出器学習部314は、対象検出器31を学習させ、NNのパラメータを含む検出モデルを生成する。検出モデル生成サーバ3は、この検出モデルと、重み決定部313で決定された重みとを含む検出器情報をスマートフォン4に送信し、スマートフォン4に学習済みの対象検出器41を構成させるのである。
【0101】
一方、スマートフォン4は、通信インタフェース部を介して検出器情報を受信し、取得した検出モデルを適用して学習済みの対象検出器41を構成する。また、スマートフォン4は検出判定部415及びアプリケーション422を有しているが、これらの機能構成部も、
図1に示した同名の機能構成部と同様の機能を果たす。例えば、検出判定部415は、(サーバ3より)取得された重みから重み付き出力を算出し、検出判定を実施するのである。
【0102】
以上説明したように、本実施形態では、検出モデルの構築、すなわち学習処理は、検出モデル生成サーバ3が実施している。したがって、スマートフォン4は、学習用の多量の検索画像を取得しなくてもよく、また、処理負担の大きい検出モデル構築処理(学習処理)を実施する必要もない。その結果、スマートフォン4では、装置内で実行する情報処理量、及び装置内に取り込むべき情報量が格段に小さくて済む。言い換えれば、スマートフォン4は、携帯端末レベルのサイズ及び処理能力をもって好適な対象検出を実現可能とするのである。
【0103】
ちなみに、上述したような、サーバ(検出モデル生成装置)3から送信された検出モデル及び重みを利用して検出判定を実施する端末は、当然にスマートフォンに限定されるものではない。例えば、タブレット型コンピュータ、ノート型コンピュータ、PCや、IOT(Internet Of Things)環境での使用に適したデバイスとしてのシンクライアント(Thin client)端末であってもよく、さらには、STB、サイネージ、ロボット等、種々の形態の端末を採用することが可能である。
【0104】
以上、詳細に説明したように、本発明によれば、検出対象に係る文字列等の情報による検索結果である検索結果情報を利用して、例えば人手による学習用データ収集といった多大な労力をかけることなく、対象検出器を自動的に学習させることができる。また、この検索結果情報に基づき対象検出器の出力に対する重みを決定して、対象検出器の出力からより高精度の判定を行うこともできる。
【0105】
このように、本発明においては、任意の検出対象の検出について、その検出対象に係る文字列等の情報による検索結果を利用して自動的に学習処理を行うので、対象検出器の学習にかかる労力を大幅に低減し、しかも良好な検出を行うことができるのである。例えば、入力画像から、指定した任意の物体をより確実に検出することも可能となる。さらに、用途に応じて検出対象を任意の物体に変更することも容易となるのである。
【0106】
以上に述べた本発明の種々の実施形態について、本発明の技術思想及び見地の範囲内での種々の変更、修正及び省略は、当業者によれば容易に行うことができる。以上に述べた説明はあくまで例示であって、何ら制約を意図するものではない。本発明は、特許請求の範囲及びその均等物によってのみ制約される。