(57)【要約】      （修正有）【課題】画像情報に応じた粒度のクラスを学習するための技術を提供する。【解決手段】第１の画像における画像特徴量と、第１の粒度で定義される該第１の画像のクラスと、に基づき、識別器の学習を行う。クラスが既知の第２の画像における画像特徴量を学習後の識別器に入力することで得られる該第２の画像のクラスの正解率が閾値未満となるような第２の画像の画像情報が存在したとする。この場合には、第１の画像における画像特徴量と、第１の粒度よりも荒い第２の粒度で定義される第１の画像のクラスと、に基づいて識別器の学習を行う。【選択図】図２
2019016298.tif 000002
【特許請求の範囲】
【請求項１】
第１の画像における画像特徴量と、第１の粒度で定義される該第１の画像のクラスと、に基づき、識別器の学習を行う学習手段を備え、
前記学習手段は、
クラスが既知の第２の画像における画像特徴量を前記学習後の識別器に入力することで得られる該第２の画像のクラスの正解率が閾値未満となるような前記第２の画像の画像情報が存在する場合には、前記第１の画像における画像特徴量と、前記第１の粒度よりも荒い第２の粒度で定義される前記第１の画像のクラスと、に基づいて前記識別器の学習を行う
ことを特徴とする画像処理装置。
【請求項２】
前記学習手段は、前記第２の画像における画像特徴量を前記学習後の識別器に入力することで得られる該第２の画像のクラスの正解率が閾値未満となるような前記第２の画像の画像情報が存在しない場合には、前記学習後の識別器を格納することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記学習手段は、前記正解率が閾値未満となるような前記第２の画像の画像情報と、前記第２の粒度と、を対応づけることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
更に、画像の画像特徴量を抽出する特徴抽出器の学習を行う手段を備えることを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
更に、
入力画像を取得する手段と、
前記入力画像の画像特徴量を前記学習手段による学習済みの識別器に入力することで得られるクラスを、該入力画像の画像情報に対応づけられた粒度のクラスで識別する識別手段と
を備えることを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記画像情報は、画像の各画素における像倍率、ボケ量を含むことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記識別手段は、前記入力画像の画像特徴量を前記学習手段による学習済みの識別器に入力することで得られるクラスを、前記像倍率が大きいほどより細かい粒度のクラスで識別し、前記像倍率が小さいほどより荒い粒度のクラスで識別することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記識別手段は、前記入力画像の画像特徴量を前記学習手段による学習済みの識別器に入力することで得られるクラスを、前記ボケ量が大きいほどより荒い粒度のクラスで識別し、前記ボケ量が小さいほどより細かい粒度のクラスで識別することを特徴とする請求項６又は７に記載の画像処理装置。
【請求項９】
前記画像情報は、画像を撮像した撮像装置の仰角、該画像の撮影時間を含むことを特徴とする請求項１乃至５の何れか１項に記載の画像処理装置。
【請求項１０】
第１の画像における画像特徴量と、第１の粒度で定義される該第１の画像のクラスと、に基づき、識別器の学習を行う学習手段を備え、
前記学習手段は、
クラスが既知の第２の画像における画像特徴量を前記学習後の識別器に入力することで得られる該第２の画像のクラスの正解率が閾値未満となるような前記第２の画像の画像情報が存在する場合には、前記第１の画像における画像特徴量と、前記第１の粒度よりも荒い第２の粒度で定義される前記第１の画像のクラスと、に基づいて前記識別器とは別の識別器の学習を行う
ことを特徴とする画像処理装置。
【請求項１１】
更に、
入力画像を取得する手段と、
前記学習手段による学習済みの識別器のうち前記入力画像の画像情報に対応する識別器に前記入力画像の画像特徴量を入力することで得られるクラスを、該入力画像の画像情報に応じた粒度のクラスで識別する識別手段と
を備えることを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の学習手段が、第１の画像における画像特徴量と、第１の粒度で定義される該第１の画像のクラスと、に基づき、識別器の学習を行う学習工程を備え、
前記学習工程では、
クラスが既知の第２の画像における画像特徴量を前記学習後の識別器に入力することで得られる該第２の画像のクラスの正解率が閾値未満となるような前記第２の画像の画像情報が存在する場合には、前記第１の画像における画像特徴量と、前記第１の粒度よりも荒い第２の粒度で定義される前記第１の画像のクラスと、に基づいて前記識別器の学習を行う
ことを特徴とする画像処理方法。
【請求項１３】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の学習手段が、第１の画像における画像特徴量と、第１の粒度で定義される該第１の画像のクラスと、に基づき、識別器の学習を行う学習工程を備え、
前記学習工程では、
クラスが既知の第２の画像における画像特徴量を前記学習後の識別器に入力することで得られる該第２の画像のクラスの正解率が閾値未満となるような前記第２の画像の画像情報が存在する場合には、前記第１の画像における画像特徴量と、前記第１の粒度よりも荒い第２の粒度で定義される前記第１の画像のクラスと、に基づいて前記識別器とは別の識別器の学習を行う
ことを特徴とする画像処理方法。
【請求項１４】
コンピュータを、請求項１乃至１１の何れか１項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラスの識別技術に関するものである。
【背景技術】
【０００２】
画像を複数の領域に分割する研究は数多く行われてきた。近年では、画像から人物の領域、自動車の領域、道路の領域、建物の領域、空の領域などの、意味的な領域を切り出す課題が研究されている。このような課題は意味的領域分割（Ｓｅｍａｎｔｉｃ  Ｓｅｇｍｅｎｔａｔｉｏｎ）と呼ばれ、被写体の種類に対応した画像補正や、シーン解釈などに応用できると考えられている。
【０００３】
意味的領域分割を行うにあたり、画像の各位置に関するクラスラベルの識別を、画素単位ではなく、小領域（ｓｕｐｅｒｐｉｘｅｌ）単位で行う手法が多く提案されている。小領域は、主に類似した特徴を持つ小さな領域として画像から切り出されるもので、さまざまな手法が提案されている。代表的なものとして、非特許文献１のようなテクスチャベースの手法や、非特許文献２のようなクラスタリングベースの手法がある。このようにして得られたそれぞれの小領域は、その小領域の内部の特徴量、あるいはその周辺のコンテクスト特徴量も一緒に用いてクラスラベルを識別することが行われる。通常はさまざまな学習画像を用いてこのような局所ベースの領域識別器を学習させることで領域識別を行うことになる。
【０００４】
近年では、深層学習を利用した意味的領域分割の研究も行われてきている。非特許文献３では、ＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）の中間層出力を特徴量として利用し、複数の中間層特徴による画素ごとのクラス判定結果を統合することにより、画像の意味的領域分割を行っている。非特許文献３の手法では、前述のような小領域分割結果を利用することなく、画素ごとに直接クラス判定を行っている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４１５５８７５号
【非特許文献】
【０００６】
【非特許文献１】”Ｃｏｎｔｏｕｒ  Ｄｅｔｅｃｔｉｏｎ  ａｎｄ  Ｈｉｅｒａｒｃｈｉｃａｌ  Ｉｍａｇｅ  Ｓｅｇｍｅｎｔａｔｉｏｎ”，Ｐ．Ａｒｂｅｌａｅｚ，ＰＡＭＩ２０１０．
【非特許文献２】”ＳＬＩＣ  Ｓｕｐｅｒｐｉｘｅｌｓ”，Ｒ．Ａｃｈａｎｔａ，Ａ．Ｓｈａｊｉ，Ｋ．Ｓｍｉｔｈ，Ａ．Ｌｕｃｃｈｉ，ＥＰＦＬ  Ｔｅｃｈｎｉｃａｌ  Ｒｅｐｏｒｔ，２０１０．
【非特許文献３】”Ｆｕｌｌｙ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｔｗｏｒｋｓ  ｆｏｒ  Ｓｅｍａｎｔｉｃ  Ｓｅｇｍｅｎｔａｔｉｏｎ”，Ｌｏｎｇ，Ｓｈｅｌｈａｍｅｒ，ａｎｄ  Ｄａｒｒｅｌｌ，ＣＶＰＲ２０１５．
【発明の概要】
【発明が解決しようとする課題】
【０００７】
領域分割のクラスは通常、ユーザによって一意に定義され、その定義に従ってクラス識別器が学習されることとなる。例えば、領域クラスとして「空」「木」「草」「人物」「その他」という５つのクラスを定義した場合、これら５つのクラスを判別する識別器を学習する。入力画像に対する識別処理では、各領域に対してこれら５つのクラスのいずれであるかを出力することになる。定義するクラスの種類はユーザの要求によって決まるものだが、クラスの粒度が細かくなるほど画像特徴における情報量は多く必要とされる。例えば、「空」と「空以外」の領域を区別する２クラス識別器と、「空」「木」「草」「岩」「人物」「自動車」「建物」「それ以外」を区別する８クラス識別器では、後者のほうがより細かい特徴を画像から抽出する必要がある。
【０００８】
しかし、画像の撮影状況によっては、取得される画像の画質が不十分となり、定義されたクラスの区別が困難になる場合がある。例えば、遠くから撮影された画像では「草」と「木」の区別がつかない場合もあるし、夕暮れ時の暗い逆光画像では「岩」も「草」も黒つぶれして同じようなテクスチャとなってしまうこともある。また、焦点深度の浅いレンズで撮影することで強いボケが生じた領域に関しては、特徴が消えてしまって「木」も「岩」も「人」も区別がつかない場合もある。
【０００９】
このような課題に対する一つの解決方法としては、認識し易いように撮影条件を変えることが考えられる。特許文献１では、入力された画像が認識に適した画像であるか否かを判断し、適していないと判断されたときに、撮像状態の情報または撮像状態を改善する情報の少なくとも一方をユーザに対して報知する。それにより、認識しやすい撮影条件で画像を撮影するようにユーザに示唆を与える。
【００１０】
上記のように撮影条件を変える方法は、目の前の物体を認識することが最終タスクである場合には有効である。しかしながら、ユーザが意図して決定した撮影条件による画像に対して「領域ごとに後処理を変えて画質を向上したい」といった目的の場合、ユーザの意図しない撮影条件を強要することになる。また、すでに撮影済みの画像に対して認識処理を行いたい場合には応用が難しい。
【００１１】
本発明はこのような問題に鑑みてなされたものであり、画像情報に応じた粒度のクラスを学習するための技術を提供する。
【課題を解決するための手段】
【００１２】
本発明の一様態は、第１の画像における画像特徴量と、第１の粒度で定義される該第１の画像のクラスと、に基づき、識別器の学習を行う学習手段を備え、前記学習手段は、クラスが既知の第２の画像における画像特徴量を前記学習後の識別器に入力することで得られる該第２の画像のクラスの正解率が閾値未満となるような前記第２の画像の画像情報が存在する場合には、前記第１の画像における画像特徴量と、前記第１の粒度よりも荒い第２の粒度で定義される前記第１の画像のクラスと、に基づいて前記識別器の学習を行うことを特徴とする。
【発明の効果】
【００１３】
本発明の構成によれば、画像情報に応じた粒度のクラスを学習することができる。
【図面の簡単な説明】
【００１４】
【図１】画像処理装置の機能構成例を示すブロック図。
【図２】学習処理、識別処理、のフローチャート。
【図３】学習画像５００、学習画像５００における各領域、小領域分割の例を示す図。
【図４】クラスインデックステーブルの構成例を示す図。
【図５】選択条件の構成例を示す図。
【図６】ステップＳ２５００を説明する図。
【図７】入力画像１００、クラス識別結果１１０を示す図。
【図８】クラスインデックステーブルの構成例を示す図。
【図９】図２（ｃ）のステップＳ２３００を詳細に分けたフローチャート。
【図１０】識別器全体の構成を示す図。
【図１１】識別対象の変形例、コンピュータ装置のハードウェア構成例、を示す図。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の１つである。
【００１６】
［第１の実施形態］
本実施形態に係る画像処理装置は、画像中の画像領域のクラスの識別（分類）に用いる領域識別器の学習を行う機能（学習機能）と、該領域識別器を用いて画像中の画像領域のクラスの識別（クラス分類）を行う機能（識別機能）と、を有する。本実施形態に係る画像処理装置の機能構成例を図１（ａ）に示す。
【００１７】
＜学習機能について＞
先ず、図１（ａ）に示した構成のうち、学習機能に係る構成について説明する。記憶部５１００には、予め作成された学習データが格納されている。学習データには、複数の学習画像と、該学習画像の各画素のクラスのラベル（インデックス）を保持する領域クラスラベルデータと、該学習画像に係る各種の情報である撮影情報と、が含まれている。
【００１８】
取得部２１００は、記憶部５１００から学習データを読み出す（取得する）。抽出部２２００は、取得部２１００が取得した学習データに含まれているそれぞれの学習画像について、該学習画像を複数の小領域に分割して該小領域から画像特徴量を抽出する。学習部２３００は、抽出部２２００が学習画像から抽出した画像特徴量と、取得部２１００が取得した学習データに含まれている領域クラスラベルデータと、に基づいて学習処理を行うことで、領域識別器を生成する。記憶部５３００には、予め作成された確認データが格納されている。確認データには、複数の確認画像と、該確認画像の各画素のクラスのラベル（インデックス）を保持する領域クラスラベルデータと、該確認画像に係る各種の情報である撮影情報と、が含まれている。評価部２４００は、記憶部５３００から確認データを読み出し（取得し）、学習部２３００が生成した領域識別器を、該読み出した確認データに基づいて評価する。設定部２５００は、評価部２４００による評価結果と、確認データに含まれている撮影情報と、に基づいて、クラス分類におけるクラスの粒度を決定（設定）する。そして設定部２５００による粒度の設定後、学習部２３００は、該設定された粒度に応じて領域識別器の再学習を行う。学習部２３００は、学習処理により生成した領域識別器を記憶部５２００に格納する。
【００１９】
次に、以上説明した各機能部による領域識別器の学習処理について、図２（ａ）のフローチャートに従って説明する。
【００２０】
ステップＳ２１００では、取得部２１００は、記憶部５１００から学習データを読み出す（取得する）。学習データに含まれているそれぞれの学習画像は、１種類以上の画像属性の画像領域を含む画像であれば如何なる画像であっても良い。本実施形態では、学習データに含まれている複数の学習画像は、ディジタルカメラなどの撮像装置で撮像された複数の撮像画像であるものとする。以下では、学習データに含まれている学習画像の枚数をＮ（Ｎは自然数）とする。然るに学習データには、Ｎ枚の学習画像のそれぞれに対応する領域クラスラベルデータが含まれている。
【００２１】
ここで、領域クラスラベルデータについて説明する。図３（ａ）の学習画像５００には、図３（ｂ）に示す如く、服の領域５０１、顔の領域５０２、髪の領域５０３、花の領域５０４、葉の領域５０５、空の領域５０６、といった画像属性の異なる複数の領域が含まれている。領域５０１に属する各画素にはクラス「服」に対応するラベルが割り当てられており、領域５０２に属する各画素にはクラス「顔」に対応するラベルが割り当てられており、領域５０３に属する各画素にはクラス「髪」に対応するラベルが割り当てられている。また、領域５０４に属する各画素にはクラス「花」に対応するラベルが割り当てられており、領域５０５に属する各画素にはクラス「葉」に対応するラベルが割り当てられており、領域５０６に属する各画素にはクラス「空」に対応するラベルが割り当てられている。学習画像５００に対応する領域クラスラベルデータは、学習画像５００の各画素に割り当てられているラベルを保持するものである。つまり、図３（ａ）の学習画像５００において領域５０１に属する画素の画素値をクラス「服」に対応するラベル、領域５０２に属する画素の画素値をクラス「顔」に対応するラベル、領域５０３に属する画素の画素値をクラス「髪」に対応するラベル、領域５０４に属する画素の画素値をクラス「花」に対応するラベル、領域５０５に属する画素の画素値をクラス「葉」に対応するラベル、領域５０６に属する画素の画素値をクラス「空」に対応するラベル、としたものが、学習画像５００に対応する領域クラスラベルデータである。なお、ここでは意味的なラベルを例に上げたが、光沢面やマット面、高周波領域、といった領域の属性によるラベルが与えられていてもよい。また、空と木の枝のような、複数種類の物体が混在して写っているクラスを定義してもよい。
【００２２】
ここで、記憶部５２００には、図４（ａ）に示す構成例を有するクラスインデックステーブルが格納されている。図４（ａ）に示すクラスインデックステーブルには、クラステーブル番号＝１のクラステーブルが登録されており、後述するように、クラスインデックステーブルには必要に応じてクラステーブル番号＝２，３，…に対応するクラステーブルが追加登録可能である。図４（ａ）に示す如く、クラステーブル番号＝１のクラステーブルでは、１６種類のクラス（「花」、「葉」、「木幹」、「建物」、「自動車」、「バイク」、「自転車」、「髪」、「肌」、「服」、「動物」、「草原」、「土面」、「道路」、「空」、「雲」）のそれぞれに対応するラベル（クラスインデックス）１〜１６が登録されている。図４（ａ）の例では、クラス「花」のラベルは「１」である。本実施形態では、領域クラスラベルデータには、該領域クラスラベルデータに対応する学習画像の各画素について、この１６種類のクラスのそれぞれのラベル１〜１６のうち該画素が属するクラスのラベルが登録されている。なお、本実施形態では、クラスインデックステーブルにて管理するクラスの最大数を１６とするが、最大数は１６に限らない。
【００２３】
また、撮影情報には、学習画像を撮像した撮像装置に固有の情報（撮像装置情報）と、撮像された学習画像に固有の情報（画像情報）と、が含まれている。撮像装置情報としては、撮像装置のセンサのサイズや許容錯乱円径、光学系の明るさや焦点距離などがある。画像情報としては、絞り値、合焦距離、Ｂｖ値、ＲＡＷ画像、露出時間、ゲイン（ＩＳＯ感度）、ホワイトバランス係数、距離情報、ＧＰＳによる位置情報や日時などの時間情報がある。他にも、撮像時の重力センサ値、加速度、地磁気方向、温度や湿度、気圧や高度の情報などが考えられる。また、可視光以外にも赤外や紫外の情報を得ることのできる撮像系もある。撮像装置の仕様等により、撮影情報の構成はそれぞれ異なる。
【００２４】
また撮影情報には学習画像の画素ごとに得られる情報が含まれてもよく、撮影情報に含まれている情報の組み合わせにより得られる重要な情報もある。例えば、画素位置ｐにおけるレンズ面から被写体までの距離Ｚ（ｐ）と光学系の焦点距離ｆとが撮影情報に含まれている場合には、以下の式１に従って、画素位置ｐにおける像倍率Ｓ（ｐ）を算出することができる。
【００２５】
【数１】
2019016298.tif 000003
【００２６】
光学系のＦ値、焦点距離ｆ、撮像時の合焦距離Ｚｆ、画素位置ｐにおける被写体までの距離Ｚ（ｐ）が撮影情報に含まれている場合には、以下の式２に従って、画素位置ｐにおけるボケ量Ｂ（ｐ）を換算することができる。
【００２７】
【数２】
2019016298.tif 000004
【００２８】
また、ＲＡＷ画像の各画素位置ｐのＲ（赤）成分の画素値ｒ（ｐ）、Ｇ（緑）成分の画素値ｇ（ｐ）、Ｂ（青）成分の画素値ｂ（ｐ）と、露出時間Ｔ、ゲインＧ、絞り量Ｆが撮影情報に含まれている場合には、以下の式３に従って、画素位置ｐにおける入射光量ＢＶ（ｐ）の絶対値を換算することができる。
【００２９】
【数３】
2019016298.tif 000005
【００３０】
以下、説明を簡潔にするため、撮影情報から画素位置ｐにおけるボケ量Ｂ（ｐ）と像倍率Ｓ（ｐ）が得られるものと仮定して説明する。しかし、上記の入射光量ＢＶ（ｐ）など他の情報を用いてもよく、撮影情報に含まれている情報の組み合わせはこれらに限定されるものではない。なお、学習データに含まれている上記の撮影情報は様々な用途に用いることができるが、本実施形態では使用することはないので、本実施形態では該撮影情報は学習データに含まれていなくても良い。
【００３１】
次に、ステップＳ２２００では、抽出部２２００は、ステップＳ２１００で取得部２１００が取得した学習データに含まれているそれぞれの学習画像について、該学習画像を複数の小領域に分割して該小領域から画像特徴量を抽出する。
【００３２】
画像を小領域に分割してから各小領域のクラスを識別する場合には、まず画像を小領域に分割する。小領域は、主に類似した画像特徴量を有する画素からなる小さな領域として画像から切り出されるもので、画像を小領域に分割する手法は従来からいくつか提案されている。代表的なものとして、前述の非特許文献１のようなテクスチャベースの手法や、非特許文献２のようなクラスタリングベースの手法がある。あるいは、単純に均一サイズの長方形に画像を分割したブロック領域を小領域として用いてもよい。図３（ａ）の学習画像５００を小領域に分割した例が図３（ｃ）に示されている。あるいは、非特許文献３のように画素ごとにクラスの識別を行う場合には、小領域分割を行わずに各画素を１つの小領域とみなしてそれぞれの画素から画像特徴量を抽出すればよい。
【００３３】
小領域から抽出される画像特徴量は、例えば、小領域における色平均値や色ヒストグラム、小領域の位置や大きさ、ＬＢＰなどのテクスチャ特徴などがあるが、その種類によって限定されるものではない。また、判定対象となる位置の周囲に関する線分や色の分布などによるコンテクスト特徴を用いてもよい。ＣＮＮによる中間層の信号出力値を羅列したベクトルを画像特徴量として用いてもよい。以下では、学習画像上の小領域の位置（小領域が複数画素からなる場合には例えば該複数画素の重心位置、小領域が１つの画素からなる場合には、該画素の位置）をｒと表記し、学習画像における位置ｒの小領域から抽出された画像特徴量をｘｒと表記する。
【００３４】
ステップＳ２３００で学習部２３００は、各学習画像におけるそれぞれの小領域からステップＳ２２００で抽出された画像特徴量と、各学習画像に対応する領域クラスラベルデータと、に基づいて学習処理を行うことで領域識別器を生成する。
【００３５】
先ず学習部２３００は、学習画像上の位置ｒに割り当てられているラベルｃｒを、該学習画像に対応する領域クラスラベルデータから取得し、該取得したラベルｃｒを用いて、位置ｒに対する教師ベクトルτｒを生成する。教師ベクトルτｒは以下の式４、式５で規定されるものである。
【００３６】
【数４】
2019016298.tif 000006
【００３７】
【数５】
2019016298.tif 000007
【００３８】
図４（ａ）の例では、例えばｃｒ＝５であれば、学習画像における位置ｒの小領域は自動車の領域となり、該位置ｒに対応する教師ベクトルτｒは｛０，０，０，０，１，０，０，０，０，０，０，０，０，０，０，０｝となる。このようにして、それぞれの学習画像上の各小領域について教師ベクトルを生成する。
【００３９】
学習部２３００による領域識別器の学習とは、領域識別器の識別関数ｆに画像特徴量ｘｒを入力したときに得られる出力ベクトルと、教師ベクトルτｒと、の誤差を全ての位置ｒ及び全ての学習画像について累計したものがより小さくなるように識別関数ｆのパラメータを調整して領域識別器を生成することである。
【００４０】
領域識別器は、画像特徴ｘｒを入力として、クラスのスコアベクトルｆ（ｘｒ）を出力ベクトルとして出力する。スコアベクトルｆ（ｘｒ）は以下の式６に示す如くＭ（本実施形態ではＭ＝１６）次元のベクトルである。
【００４１】
【数６】
2019016298.tif 000008
【００４２】
スコアベクトルｆ（ｘｒ）の各要素は各クラスに対するスコア（確からしさを表す尤度）であって、ｆｃ（ｘｒ）（ｃ＝１，…，Ｍ）は、ラベル＝ｃのクラスに対するスコア（クラスｃの確からしさを表す尤度）を表す。図４（ａ）の例では、例えばｆ３（ｘｒ）は、ラベル＝３のクラスのスコア、つまり「木幹」のスコアを表す。
【００４３】
識別関数ｆのモデルとその学習方法にはさまざまなものが考えられ、特定のモデル、学習方法に限らない。例えばＳＶＭや多層ニューラルネットワーク、ロジスティック回帰などを使ってもよい。
【００４４】
次にステップＳ２４００では、評価部２４００は、記憶部５３００から確認データを読み出し（取得し）、ステップＳ２３００において学習部２３００が生成した領域識別器（学習後の領域識別器）を、該読み出した確認データに基づいて評価する。確認データに含まれているそれぞれの確認画像は、各画素のクラスが既知（上記の１６種類のクラスの何れか）の画像であり、該確認画像における各画素は、様々な像倍率及びボケ量を有する。以下では、確認データに含まれている確認画像の枚数をＮｖ（Ｎｖは自然数）とする。然るに確認データには、Ｎｖ枚の確認画像のそれぞれに対応する領域クラスラベルデータが含まれている。確認画像に対応する領域クラスラベルデータは、学習画像に対応する領域クラスラベルデータと同様、確認画像における各画素に割り当てられているラベルを保持するものである。また確認データに含まれている撮影情報は、学習データに含まれている撮影情報と同様、確認画像を撮像した撮像装置に固有の情報と、撮像された確認画像に固有の情報と、が含まれているものとする。
【００４５】
先ず評価部２４００は、上記のステップＳ２２００と同様にして、確認データに含まれているそれぞれの確認画像について、該確認画像を複数の小領域に分割して該小領域から画像特徴量を抽出する。以下では、確認画像上の小領域の位置をｓと表記し、確認画像における位置ｓの小領域から抽出された画像特徴量をｘｖｓと表記する。そして評価部２４００は、それぞれの確認画像について、該確認画像における各位置ｓの小領域について以下のような処理を行う。
【００４６】
評価部２４００は、確認画像における位置ｓの小領域の画像特徴量ｘｖｓをステップＳ２３００で学習部２３００が生成した領域識別器に入力することで出力ベクトルｆ（ｘｖｓ）を求める。出力ベクトルｆ（ｘｖｓ）は以下の式７に示す構成を有する。
【００４７】
【数７】
2019016298.tif 000009
【００４８】
そして評価部２４００は以下の式８より、出力ベクトルｆ（ｘｖｓ）の要素ｆ１（ｘｖｓ）、…、ｆＭ（ｘｖｓ）のうち最大の値を有する要素のインデックスｅｓを、確認画像における位置ｓのクラス推定ラベルインデックスとして特定する。
【００４９】
【数８】
2019016298.tif 000010
【００５０】
つまりステップＳ２４００では、それぞれの確認画像について収集した該確認画像上の各位置ｓにおけるクラス推定ラベルインデックスを、確認データに基づく領域識別器の評価結果として取得する。
【００５１】
ステップＳ２５００では、設定部２５００は、評価部２４００による評価結果と、撮影情報と、に基づいて、クラス分類におけるクラスの粒度を決定（設定）する。評価部２４００による確認画像を用いた領域識別器の評価結果から、各クラスの撮影情報に対する識別率を、以下の文献に記載の手法を拡張した方法で算出する。
【００５２】
”Ｐｒｏｂａｂｌｉｓｔｉｃ  Ｏｕｔｐｕｔｓ  ｆｏｒ  Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅｓ  ａｎｄ  Ｃｏｍｐａｒｉｓｏｎｅｓ  ｔｏ  Ｒｅｇｕｌａｒｉｚｅｄ  Ｌｉｋｅｌｉｈｏｏｄ  Ｍｅｔｈｏｄｓ”，ｉｎ  ”Ｌａｒｇｅ  Ｍａｒｇｉｎｅ  Ｃｌａｓｓｉｆｉｅｒｓ”，Ｊ．Ｃ．Ｐｌａｔｔ，ＭＩＴ  Ｐｒｅｓｓ，１９９９．
以下に説明するステップＳ２５００における処理は着目クラスであるクラスｃについての処理であり、実際には、全てのクラスについて同様の処理を行う。先ず設定部２５００は、像倍率Ｓ、ボケ量Ｂ、クラスｃに関する尤度ｆｃ、によって構成される空間を複数のビンに区切る。この空間における各ビンは（Ｓ，Ｂ，ｆｃ）と表すことができる。
【００５３】
そして設定部２５００は、確認データに含まれているそれぞれの確認画像における小領域を、クラス推定ラベルインデックス＝ｃの小領域（ポジティブデータ）と、クラス推定ラベルインデックス≠ｃの小領域（ネガティブデータ）と、に分ける。そして設定部２５００は、それぞれのポジティブデータの画像特徴量ｘｖｓを領域識別器に入力することで得られる出力ベクトルｆ（ｘｖｓ）の要素ｆｃ（ｘｖｓ）を、該ポジティブデータに対する尤度ｆｃ（クラスｃの確からしさ）として取得する。また設定部２５００は、それぞれのネガティブデータの画像特徴量ｘｖｓを領域識別器に入力することで得られる出力ベクトルｆ（ｘｖｓ）の要素ｆｃ（ｘｖｓ）を、該ネガティブデータに対する尤度ｆｃとして取得する。
【００５４】
そして設定部２５００は、ポジティブデータの位置ｓにおける像倍率及びボケ量がそれぞれＳ１及びＢ１、該ポジティブデータに対する尤度がｆｃ１であるとすると、ビン（Ｓ１，Ｂ１，ｆｃ１）に割り当てられている第１の変数の値を１つインクリメントする。このように、ビンごとに対応するポジティブデータの頻度を第１の変数の値として収集する。
【００５５】
同様に設定部２５００は、ネガティブデータの位置ｓにおける像倍率及びボケ量がそれぞれＳ２及びＢ２、該ネガティブデータに対する尤度がｆｃ２であるとすると、ビン（Ｓ２，Ｂ２，ｆｃ２）に割り当てられている第２の変数の値を１つインクリメントする。このように、ビンごとに対応するネガティブデータの頻度を第２の変数の値として収集する。
【００５６】
そして設定部２５００は、ビンごとに（該ビンに割り当てられている第１の変数の値／該ビンに割り当てられている第２の変数の値）を、該ビンにおける「クラスｃの識別率（正解率）Ｒ」として求める。
【００５７】
図６（ａ）に、ある像倍率Ｓ及びボケ量Ｂにおけるポジティブデータのヒストグラム２１０とネガティブデータのヒストグラム２２０のプロット例を示す。ヒストグラム２１０は、それぞれの尤度ｆｃに対するポジティブデータのヒストグラム値（頻度）を表しており、ヒストグラム２２０は、それぞれの尤度ｆｃに対するネガティブデータのヒストグラム値（頻度）を表している。図６（ａ）において、尤度ｆｃごとの（ヒストグラム２１０のヒストグラム値／ヒストグラム２２０のヒストグラム値）をプロットしたものを図６（ｂ）のヒストグラム２３０として示す。ヒストグラム２３０は、それぞれの尤度ｆｃに対するクラスｃの識別率Ｒを表している。然るにビンごとに、（該ビンにおける第１の変数の値／該ビンにおける第２の変数の値）を該ビンに対する識別率Ｒとして求める。また、（像倍率Ｓ、ボケ量Ｂ、尤度ｆｃ）に対する識別率Ｒ（＝Ｒ（Ｓ，Ｂ，ｆｃ））を表すグラフ２４０を図６（ｃ）に示す。
【００５８】
ここで信頼尤度λを定義し、ｆｃ＝λのときの識別率をＲλとする。信頼尤度λはたとえば０．８などと設定する。そして、識別率Ｒλの許容閾値をθとし、たとえばθ＝０．９などと設定する。そして、Ｒλがθ以上であれば、領域識別器によるクラスｃの識別率は高いとすることができ、Ｒλがθ未満（閾値未満）であれば、領域識別器によるクラスｃの識別率は低いとすることができる。図６（ｄ）のハッチング部分２５０は、上記のグラフ２４０においてＲλ＜θとなる範囲を示す。
【００５９】
このようなハッチング部分２５０の範囲に含まれる像倍率Ｓ、ボケ量Ｂの画素については、画像特徴量が不足していてクラスｃへの分類が困難である。そこで本実施形態では設定部２５００は、上記のクラスｃについて作成した空間における各ビンの識別率Ｒのうち１つでもＲ＜θとなるものがあれば、クラスｃを一段階粗い粒度のクラスｃ’に変更したクラステーブルをクラスインデックステーブルに追加登録する。更に設定部２５００は、クラスｃについて作成した空間における各ビンの識別率Ｒのうち１つでもＲ＜θとなるものがあれば、Ｒ＜θとなるビンに対応するＢ，Ｓの範囲については追加登録したクラステーブルを選択するように選択条件を作成する。
【００６０】
つまり判別困難となる撮影情報の範囲に関してクラスを設定すると、該設定したクラスと対応するラベルとの関係を新たなクラステーブルとしてクラスインデックステーブルに追加すると共に、それぞれのクラステーブルの撮影条件に応じた選択条件を作成する。
【００６１】
図４（ｂ）は、図４（ａ）のクラスインデックステーブルに新しいクラステーブルが追加登録されたクラスインデックステーブルの例を示している。図５（ａ）は図４（ｂ）の各クラステーブルが選択されるための撮影情報に関する条件が登録されたテーブル（選択条件）の例を示している。図４（ｃ）は図４（ｂ）のクラスインデックステーブルに新しいクラステーブルが追加登録されたクラスインデックステーブルの例を示している。図５（ｂ）は図４（ｃ）の各クラステーブルが選択されるための撮影情報に関する条件が登録されたテーブル（選択条件）の例を示している。図４，５に示した各種のテーブルは何れも、記憶部５２００に格納される。
【００６２】
図４（ｂ）では、図４（ａ）のクラスインデックステーブルに、クラステーブル番号＝２のクラステーブルが追加登録されている。図４（ｂ）では、クラステーブル番号＝１のクラステーブルにおけるクラス「花」と「草」の２つのクラスについてはＲ＜θとなるビンが存在したため、クラステーブル番号＝１のクラステーブルにおけるクラス「花」と「草」の２つのクラスを粒度が一段荒いクラス「草花」に変更したクラステーブル番号＝２のクラステーブルを作成してクラスインデックステーブルに追加登録している。また、クラステーブル番号＝１のクラステーブルでは、「髪」と「肌」の２つのクラスについてもＲ＜θとなるビンが存在しているため、クラステーブル番号＝２のクラステーブルでは、クラステーブル番号＝１のクラステーブルにおけるクラス「髪」と「肌」の２つのクラスを粒度が一段荒いクラス「顔」に変更している。なお、Ｒ＜θとなるビンが存在しないクラスについては、クラステーブル番号＝２のクラステーブルでは、クラステーブル番号＝１のテーブルと同様に保持している。つまり、クラステーブル番号＝２のクラステーブルでは、クラステーブル番号＝１のクラステーブルよりも粗い粒度でクラスを規定している。これは、図４（ｃ）のクラスインデックステーブルでも同様である。
【００６３】
図５（ａ）では、Ｂが３未満、Ｂが３以上、Ｓが２００以上、Ｓが２００未満、という４つの条件の組み合わせに応じて、クラステーブル番号＝１のクラステーブルを使用するのか、クラステーブル番号＝２のクラステーブルを使用するのかを規定している。例えば、図６（ｄ）のハッチング部分２５０の範囲に相当する領域がＢ≧３またはＳ＜２００であるとすると、このようなＢ，Ｓの範囲に対しては、図５（ａ）の条件から、クラステーブル番号＝２のクラステーブルを使用することになる。
【００６４】
以上説明したクラスｃについての処理を全てのクラスについて行う（クラスｃに全てのクラスを当てはめて処理を行う）と、処理はステップＳ２３００に戻る。このときステップＳ２３００では学習部２３００は再度、領域識別器の学習処理を行うのであるが、その際に使用する教師ベクトルτｒは、以下の式９に従って修正される教師ベクトルである。
【００６５】
【数９】
2019016298.tif 000011
【００６６】
Ｃｒは、クラスインデックステーブルに新たに追加したクラステーブルにおいて、位置ｒのラベルに対応するクラスに割り当てられている全てのラベルである。例えば、クラスインデックステーブルに新たに追加したクラステーブルがクラステーブル番号＝２のクラステーブルであり、位置ｒのラベルが「２」であったとする。このとき、位置ｒのラベル「２」に対応するクラスは「草花」であるから、クラス「草花」に割り当てられている全てのラベルは「１」及び「２」となり、その結果、Ｃｒ＝｛１，２｝となる。
【００６７】
そして全てのクラスで識別率Ｒ＜θとなるビンが存在しなくなった時点で学習は完了する。図４（ｃ）及び図５（ｂ）に示す如く、本実施形態では、クラス分類におけるクラスの粒度が異なる複数のクラステーブルを作成し、ボケ量が大きいほど若しくは像倍率が小さいほど、クラス分類におけるクラスの粒度が荒いクラステーブルを使用し、ボケ量が小さいほど若しくは像倍率が大きいほど、クラス分類におけるクラスの粒度が細かいクラステーブルを使用する。なお、クラステーブルの使用条件は図５（ａ）、（ｂ）に示した条件に限らない。
【００６８】
学習部２３００は、学習の完了後、生成した領域識別器を記憶部５２００に格納する。このようにステップＳ２３００、ステップＳ２４００、ステップＳ２５００の処理を繰り返し行うことにより、撮影情報によって分類困難になるクラスが特定され、そのようなクラスに対してはより粗い粒度のクラスが設定されるようになる。
【００６９】
＜識別機能について＞
次に、図１（ａ）に示した構成のうち、識別機能に係る構成について説明する。本実施形態に係る識別機能によるクラス識別は、未知の入力画像に対して意味的領域分割を行うことである。
【００７０】
取得部１１００は、入力画像と、該入力画像の撮影情報と、を取得する。抽出部１３００は、取得部１１００が取得した入力画像を複数の小領域に分割して該小領域から画像特徴量を抽出する。識別部１４００は、記憶部５２００に格納されている領域識別器と、抽出部１３００が入力画像上の各小領域から抽出した画像特徴量と、を用いて、入力画像上の各小領域におけるクラスを識別する。次に、以上説明した識別機能に係る各機能部によるクラス識別について、図２（ｂ）のフローチャートに従って説明する。
【００７１】
ステップＳ１１００では、取得部１１００は、入力画像と、該入力画像の撮影情報と、を取得する。入力画像及び撮影情報の取得方法については特定の取得方法に限らない。例えば、ハードディスクドライブ装置やメモリカードなどのメモリ装置から入力画像とその撮影情報とを取得しても良いし、ディジタルカメラなどの撮像装置により撮像された撮像画像を入力画像として取得すると共に、該入力画像の撮影情報を該撮像装置から取得するようにしても良い。また、撮影情報は入力画像に添付されている情報として取得するようにしても構わない。本実施形態では、撮影情報は、入力画像における各画素位置ｋにおけるボケ量Ｂ（ｋ）及び像倍率Ｓ（ｋ）を含むものとする。
【００７２】
ステップＳ１３００では、抽出部１３００は上記のステップＳ２２００と同様にして、ステップＳ１１００で取得部１１００が取得した入力画像を複数の小領域に分割して該小領域から画像特徴量を抽出する。以下では、入力画像において画素位置ｋの小領域から抽出された画像特徴量をｙｋと表記する。
【００７３】
ステップＳ１４００で識別部１４００は、記憶部５２００に格納されている学習済みの領域識別器と、ステップＳ１１００において抽出部１３００が入力画像上の各小領域から抽出した画像特徴量と、を用いて、入力画像上の各小領域におけるクラスを識別する。
【００７４】
先ず識別部１４００は、記憶部５２００から取得した領域識別器に画像特徴量ｙｋを入力することで、該領域識別器の出力である各領域クラスのスコアベクトルｆ（ｙｋ）を求める。各領域クラスのスコアベクトルｆ（ｙｋ）は以下の式１０に示す構成を有する。
【００７５】
【数１０】
2019016298.tif 000012
【００７６】
そして識別部１４００は以下の式１１より、スコアベクトルｆ（ｙｋ）の要素ｆ１（ｙｋ）、…、ｆＭ（ｙｋ）のうち最大の値を有する要素のインデックスｃｋを、入力画像上の画素位置ｋにおける小領域が属するクラスのラベルとして特定する。
【００７７】
【数１１】
2019016298.tif 000013
【００７８】
このようにして、識別部１４００は、入力画像上の各小領域について、該小領域が属するクラスのラベルｃｋを特定する。次に識別部１４００は、図５（ｂ）のクラステーブルの使用条件において、像倍率Ｓ（ｋ）及びボケ量Ｂ（ｋ）の組み合わせに該当するクラステーブル番号を特定する。例えば、取得部１１００が図７（ａ）に示す入力画像１００を取得したとする。入力画像１００上の画素位置１０１の像倍率Ｓ＝１０ｐｉｘ／ｍ、ボケ量Ｂ＝７ｐｉｘであるとすると、図５（ｂ）の使用条件により、画素位置１０１における像倍率Ｓ及びボケ量Ｂに対応するクラステーブル番号は「５」となる。つまり、画素位置１０１における小領域のクラス識別には、図４（ｃ）のクラスインデックステーブルにおいてクラステーブル番号＝５のクラステーブルを使用することになる。画素位置１０１について上記の式１１によりｃｋ＝２となった場合、クラステーブル番号＝５のクラステーブルではクラスインデックス「２」に対応するクラスは「植物」となる。このようにして識別部１４００は、入力画像上の各小領域について、該小領域の撮影条件に対応するクラステーブルにおいて該小領域のラベルに対応するクラスを該小領域に対するクラス識別結果として出力する。図７（ａ）の入力画像１００に対して識別部１４００によるクラス分類を行った結果を図７（ｂ）に示す。クラス識別結果１１０では、ボケ量が少なく、像倍率の大きい領域１１１〜１１５については、領域１１１は「草」、領域１１２は「花」、領域１１３は「服」、領域１１４は「肌」、領域１１５は「髪」、といったように詳細なクラス出力が得られている。もう少し距離が離れており、ボケの強い領域１１６については、「草」と「花」は区別されずに「植物」と出力され、領域１１７と領域１１８はさらにボケ量が強く、遠景であることで像倍率が小さいため、領域１１７は「非空」、領域１１８は「空」といったように識別結果が得られる。
【００７９】
このように、本実施形態では、撮影情報によって判別するクラスの定義の粒度を変えることにより画像上の各領域に対して識別時に無理のない認識処理を行えるように、学習することができる。
【００８０】
なお、本実施形態では、画像の各領域を識別する意味的領域分割を前提に説明したが、人物検出などの物体検出器、もしくは個人識別などの物体認識器を対象にしても同様な処理が可能である。例えば、図１１（ａ）に例示した画像７００において顔を表わすバウンディングボックス７１０，７２０を識別対象となる顔クラスの領域と考えれば、上記の説明がそのまま利用できる。また、認識対象は顔に限定されるものではなく、自動車や植物など、さまざまな対象に適用可能である。
【００８１】
［第２の実施形態］
第１の実施形態では、一つの領域識別器を用いて識別結果を計算し、異なるクラステーブルを利用することで、最終出力クラスの粒度を制御した。本実施形態では、複数の領域識別器を学習し、撮影情報によって領域識別器を切り替える。本実施形態を含め、以下の各実施形態では、第１の実施形態との差分について説明し、以下で特に触れない限りは第１の実施形態と同様であるものとする。
【００８２】
本実施形態に係る学習機能に係る各機能部の動作について、図１（ａ）のフローチャートに従って説明する。本実施形態では、図１（ａ）のフローチャートにおいてステップＳ２３００、ステップＳ２４００、ステップＳ２５００における処理が第１の実施形態と異なる。然るに以下では、本実施形態に係るステップＳ２３００、ステップＳ２４００、ステップＳ２５００における処理について説明する。
【００８３】
本実施形態に係るステップＳ２３００では、学習部２３００は先ず、最も詳細な粒度のクラス定義による領域識別器の学習を行う。ここでは例として図４（ａ）の状態を最も詳細なクラス定義として説明する。この場合、学習手順は第１の実施形態における第１回目のステップＳ２３００と同様であるため、これに係る詳細な説明は省略する。この初期学習が終了した時点で、学習部２３００は、初期学習済みの領域識別器を、クラステーブル番号「１」と関連づけて記憶部５２００に格納する。
【００８４】
本実施形態に係るステップＳ２４００で評価部２４００は、記憶部５３００から確認データを読み出し（取得し）、ステップＳ２３００において学習部２３００が生成した領域識別器を第１の実施形態と同様にして、該読み出した確認データに基づいて評価する。
【００８５】
本実施形態に係るステップＳ２５００では、設定部２５００は、像倍率Ｓ、ボケ量Ｂ、信頼尤度ｆｃに対する正解率Ｒ（Ｓ，Ｂ，ｆｃ）を算出するところまでは第１の実施形態と同様の動作を行う。そして設定部２５００は、クラスｃについて作成した空間における各ビンの識別率Ｒのうち１つでもＲ＜θとなるものがあれば、クラスｃを一段階粗い粒度のクラスｃ’に変更したクラステーブルをクラスインデックステーブルに追加登録する。図８に、本実施形態に係るクラスインデックステーブルの構成例を示す。クラステーブル番号＝１のクラステーブルは図４（ａ）のクラステーブルと同様であり、クラス数「１６」と共に管理されている。クラステーブル番号＝２のクラステーブルは、図４（ｂ）のクラステーブル番号＝２のクラステーブルと同様であるが、１つのクラスに１つのラベルとなっている。例えばクラス「花」とクラス「葉」は何れも同じ「草花」に統合されており、且つこの統合されたクラス「草花」に対して１つのラベルが割り当てられている。以降、クラステーブル番号＝３，４，…，７のそれぞれに対応するクラステーブルについても同様に作成されてクラスインデックステーブルに登録される。
【００８６】
また、第１の実施形態では学習部２３００は、クラスインデックステーブルにクラステーブルを追加登録する度に、同じ１つの領域識別器の再学習を行った。本実施形態では学習部２３００は、クラスインデックステーブルにクラステーブルを追加登録する度に、新たな領域識別器を設け、第１の実施形態と同様に追加登録したクラステーブルから教師ベクトルτｒを生成して該新たな領域識別器の学習を行う。つまり、クラステーブル番号の数だけ領域識別器を生成する。そして学習部２３００は、新たに設けた領域識別器の学習を行うと、該領域識別器を記憶部５２００に格納する。
【００８７】
次に、本実施形態に係る識別機能に係る各機能部の動作について、図２（ｂ）のフローチャートに従って説明する。本実施形態では、図２（ｂ）のフローチャートにおいてステップＳ１４００における処理が第１の実施形態と異なる。然るに以下では、本実施形態に係るステップＳ１４００における処理について説明する。
【００８８】
ステップＳ１４００では、識別部１４００は入力画像上のそれぞれの位置ｋにおける小領域について次のような処理を行う。先ず識別部１４００は、図５（ｂ）のクラステーブルの使用条件において、小領域の位置ｋにおける像倍率Ｓ（ｋ）及びボケ量Ｂ（ｋ）の組み合わせに該当するクラステーブル番号を特定する。そして識別部１４００は、該特定したクラステーブル番号に対応する領域識別器を記憶部５２００から読み出す。そして識別部１４００は、該読み出した領域識別器と、ステップＳ１１００で抽出部１３００が抽出した位置ｋの小領域の画像特徴量と、を用いて第１の実施形態と同様にして、位置ｋにおける小領域のクラスを識別する。その際、識別部１４００は、図８のクラスインデックステーブルにおいて上記特定したクラステーブル番号に対応するクラステーブルを特定し、該特定したクラステーブルにおけるラベルｃｋに対応するクラスを識別結果として出力する。
【００８９】
例えば、図７（ｂ）における領域１１１〜１１５は、ボケ量が少なく、像倍率の大きい領域であるため、クラステーブル番号＝１の領域識別器を使って詳細なクラス分類を行う。もう少し距離が離れており、ボケの強い領域１１６では、クラステーブル番号＝３の領域識別器を使って識別を行う。領域１１７と領域１１８はさらにボケ量が強く、遠景であるため、クラステーブル番号＝６の領域識別器を使って識別を行う。これにより、各領域に対してクラス粒度の異なる認識結果を得ることになる。
【００９０】
［第３の実施形態］
第１，２の実施形態では、領域識別器へ入力する画像特徴量として常に同じ画像特徴量を利用する例を示した。本実施形態では、撮影情報によって抽出する画像特徴量を変化させる。
【００９１】
本実施形態に係る画像処理装置の機能構成例を図１（ｂ）に示す。先ず、図１（ｂ）に示した機能部のうち本実施形態に係る学習機能に係る機能部の動作について、図２（ｃ）のフローチャートに従って説明する。図２（ｃ）のフローチャートにおいて図２（ａ）に示した処理ステップと同じ処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
【００９２】
ステップＳ２２１０では、抽出部２２００は、ステップＳ２１００で取得部２１００が取得した学習データに含まれているそれぞれの学習画像について、該学習画像を複数の小領域に分割して該小領域から画像特徴量を抽出する。本実施形態では、抽出部２２００として機能する特徴抽出器としてＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）を利用する。特徴抽出器としてのＣＮＮは、ＡｌｅｘＮｅｔやＶＧＧＮｅｔといったものが一般的に利用可能となっている。これらのＣＮＮは、ＩＬＳＶＲＣ（ＩｍａｇｅＮｅｔ  Ｌａｒｇｅ−ｓｃａｌｅ  Ｖｉｓｕａｌ  Ｒｅｃｏｇｎｉｔｉｏｎ  Ｃｈａｌｌｅｎｇｅ）の１０００クラス識別問題に対して学習されたものである。その学習結果における最終段の全結合部分を除いたものを、一般的な画像認識の目的に対して特徴抽出器として利用することもできる。ＣＮＮを特徴抽出器として用いる場合、前述の小領域分割は必ずしも必要ではない。小領域分割を行わない場合には、各画素を一つの小領域とみなして、学習画像上の画素位置ｒを中心とした一定幅の周辺領域（受容野）を既存のＣＮＮに入力する。これにより、その中間層出力信号を画像特徴量として羅列することで、それぞれの学習画像上の画素位置ｒにおける画像特徴量ｘｒを抽出する。小領域分割を行う場合には、小領域中の各画素からＣＮＮによって得られた特徴量を平均して小領域の画像特徴量として用いる、などとしてもよい。以降の説明では小領域分割することを前提に説明するが、先に述べたように、画素を一つの小領域として扱えば、以降の説明が一般性を失うことはない。
【００９３】
ステップＳ２６００では、学習部２６００は、再設定されたクラスラベルを用いて新たな特徴抽出器を生成する。上記のＲ＜θに対応するビンに対応するデータを利用して、特徴抽出器であるＣＮＮを微調整（ファインチューニング）する。まず、図６（ｄ）におけるハッチング部分２５０のデータを集めて新たにデータセットを作成する。特徴抽出器として利用していたＣＮＮの前段部分に対して、後段に全結合層を追加する。このようにして準備したフルＣＮＮに対して、前述したデータセットを用いてＣＮＮを学習させる。このとき、クラス定義は前述のステップＳ２５００においてクラスインデックステーブルに追加登録したクラステーブルで規定される粗い粒度のクラス定義に従う。過学習を防ぐための工夫として、後段の全結合層の学習係数を大きな値にし、前段の特徴抽出部分に関しては重み係数を小さな値にしておいてもよい。同様に過学習を防ぐ工夫として、前述の認識困難な撮影情報範囲におけるデータセットだけでなく、残りのデータも低い確率で学習データとして利用するようにしてもよい。このようにして学習されたＣＮＮの前段部分を、新たな特徴抽出器として記憶部５４００に格納する。
【００９４】
そして処理はステップＳ２２００に進み、抽出部２２００は、この時点で記憶部５４００に格納されているそれぞれの特徴抽出器を用いて、それぞれの学習画像から小領域の画像特徴量を抽出する。そしてその後、処理はステップＳ２３００に進む。
【００９５】
得られた複数の特徴抽出器を利用した識別器全体の構成は図１０のようになっている。図１０の符号３１０は入力画像、符号３２０は入力画像に対応する撮影情報、符号３３０は特徴抽出器のひとつであり、符号３４０はその特徴抽出器を利用した領域識別器を示す。これら複数の領域識別器の出力を統合する統合識別器が符号３５０で示されている。統合識別器３５０の出力を全画素に関して算出することで、最終出力結果３６０が得られる。学習は２段階で行われる。図９に、図２（ｃ）におけるステップＳ２３００を詳細に分けたフローを示す。
【００９６】
ステップＳ２３１０では、学習部２３００は、ここまで生成されてきた特徴抽出器を使った領域識別器を、それぞれ学習する。ここで領域識別器は、図１０では符号３４０で示されている。特徴抽出器の数をＮＪ個とし、そのインデックスをｊ＝１・・・ＮＪとすると、ＮＪ個の領域識別器を学習することになる。それぞれの領域識別器における教師ベクトルは、上記の式９と同様にして下記のように修正される。
【００９７】
【数１２】
2019016298.tif 000014
【００９８】
ここで、Ｃｒは位置ｒに割り当てられたクラスに含まれるラベルの集合である。ステップＳ２３２０では、ステップＳ２３１０にて学習されたＮＪ個の領域識別器を統合する統合識別器を学習する。統合識別器は図１０の符号３５０に示されている。統合識別器の教師ベクトルは式１２に示したものと同じである。統合識別器は、学習画像に対する前述のＮＪ個の領域識別器の出力するクラス尤度と、学習画像に対応する撮影情報を列挙したベクトルを入力ベクトルとして、学習を行う。生成された領域識別器は、記憶部５２００に格納される。
【００９９】
次に、図１（ｂ）に示した各機能部のうち本実施形態に係る識別機能に係る機能部の動作について、図２（ｂ）のフローチャートに従って説明する。ステップＳ１１００における処理は第１の実施形態と同様である。
【０１００】
ステップＳ１３００では、抽出部１３００は、記憶部５４００に格納されているそれぞれの特徴抽出器を読み出す。そして抽出部１３００は、読み出したそれぞれの特徴抽出器を用いて上記のステップＳ２２００と同様にして、ステップＳ１１００で取得部１１００が取得した入力画像を複数の小領域に分割して該小領域から画像特徴量を抽出する。
【０１０１】
ステップＳ１４００では、識別部１４００は、記憶部５４００から、各特徴抽出器に対応する領域識別器と、それらを統合する統合識別器と、を読み出し、入力画像における各小領域のクラスを識別する。図１０のようにそれぞれの特徴抽出器と領域識別器、統合識別器を組み合わせることで、入力画像の各小領域を識別する。
【０１０２】
このようにして撮影情報によって分類困難になるクラスが特定され、そのような領域に対しては粗い粒度のクラスが設定され、かつ撮影情報によって適した特徴抽出器が得られるようになる。
【０１０３】
［第４の実施形態］
第１の実施形態では、撮影情報として、画像上の各画素位置における像倍率及びボケ量といった、画像上の画素位置に応じて得られる情報であるものとした。しかし、撮影情報はこれに限らず、画像上の画素位置に関係なく、各画像１枚につき１つの値が得られる撮影情報を用いても良い。例えば、撮像装置の状態を表す、重力センサ値、温度情報、ＧＰＳによる位置情報、時間情報、撮影時の条件を表す絞り値、露出時間、ゲイン、撮影された画像におけるＢｖ値、合焦距離、などを撮影情報として使用しても良い。
【０１０４】
本実施形態では、撮影情報が、撮像装置が有する重力センサによって得られる該撮像装置の仰角（カメラ仰角）と、該撮像装置の撮影時間と、を含むケースについて説明する。確認データに含まれている確認画像をＩ１，Ｉ２，…，ＩＮと表した場合に、確認画像Ｉｎ（１≦ｎ≦Ｎ）におけるカメラ仰角をαｎ、撮影時間をＴｎと表すこととする。
【０１０５】
本実施形態に係る学習機能に係る各機能部の動作について、図２（ａ）のフローチャートに従って説明する。ステップＳ２１００〜Ｓ２４００の各ステップにおける処理は第１の実施形態と同様である。ステップＳ２５００では、設定部２５００は、クラスｃの識別率Ｒ（α，Ｔ，ｆｃ）を求める。識別率Ｒの算出手順は第１の実施形態と同様であるが、１つの確認画像Ｉｎにおけるすべての小領域に対応する仰角及び撮影時間が同じ（それぞれαｎ及びＴｎ）である。つまり、小領域の位置における像倍率Ｓの代わりに小領域が属する画像の仰角α、小領域の位置におけるボケ量の代わりに小領域が属する画像の撮影時間Ｔを用いること以外は第１の実施形態と同様である。
【０１０６】
次に、本実施形態に係る識別機能に係る各機能部の動作について、図２（ｂ）のフローチャートに従って説明する。ステップＳ１１００及びステップＳ１３００における処理は第１の実施形態と同様である。ステップＳ１４００では識別部１４００は、入力画像の撮影情報から該入力画像を撮像したときの撮像装置のカメラ仰角と該入力画像の撮影時間と、を取得する。そして識別部１４００は、第１の実施形態と同様にして、入力画像上の各小領域について、該小領域が属するクラスのラベルｃｋを特定する。次に識別部１４００は、図５（ｂ）のクラステーブルの使用条件において、入力画像を撮像したときの撮像装置のカメラ仰角と該入力画像の撮影時間との組み合わせに該当するクラステーブル番号を特定する。そして識別部１４００は、第１の実施形態と同様、該特定したクラステーブル番号に対応するクラステーブルおいて小領域が属するクラスのラベルｃｋに対応するクラスを、該小領域に対するクラス識別結果として出力する。
【０１０７】
なお、上記の各実施形態の一部若しくは全部を適宜組み合わせて使用しても良いし、選択的に使用しても良い。例えば、上記の各実施形態では、１つの画像処理装置が学習機能と識別機能の両方を有するものとして説明したが、学習機能を有する装置と、識別機能を有する装置と、に分けても良い。この場合、記憶部５２００はそれぞれの装置で別個に設けても良く、学習機能を有する装置において記憶部５２００に格納された情報を識別機能を有する装置の記憶部５２００にコピーすればよい。これは記憶部５４００についても同様である。また、図１（ａ）、（ｂ）に示した構成を有する画像処理装置を２以上の装置によって構成しても良い。また、上記の各実施形態において説明上使用した数値は何れも例示的なものであり、上記の各実施形態がこれらの数値に限定されるものではない。
【０１０８】
［第５の実施形態］
図１（ａ）、（ｂ）に示した各機能部はハードウェアで実装しても良いし、記憶部５１００，５２００，５３００，５４００以外の機能部をソフトウェア（コンピュータプログラム）で実装しても良い。前者の場合、ハードウェアで実装した図１（ａ）、（ｂ）に示した各機能部は、ディジタルカメラなどの撮像装置に組み込み回路として搭載することができる。後者の場合、記憶部５１００，５２００，５３００，５４００として機能する１以上のメモリを有し、且つこのソフトウェアを実行可能なコンピュータ装置は、画像処理装置に適用可能である。なお、記憶部５１００，５２００，５３００，５４００は画像処理装置に対して着脱可能なメモリであっても良い。画像処理装置に適用可能なコンピュータ装置のハードウェア構成例について、図１１（ｂ）のブロック図を用いて説明する。
【０１０９】
ＣＰＵ１１０１は、ＲＡＭ１１０２やＲＯＭ１１０３に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりＣＰＵ１１０１は、コンピュータ装置全体の動作制御を行うと共に、画像処理装置が行うものとして上述した各処理を実行若しくは制御する。
【０１１０】
ＲＡＭ１１０２は、ＲＯＭ１１０３や外部記憶装置１１０６からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）１１０７を介して外部から受信したデータを格納するためのエリアを有する。更にＲＡＭ１１０２は、ＣＰＵ１１０１が各種の処理を実行する際に用いるワークエリアを有する。このようにＲＡＭ１１０２は、各種のエリアを適宜提供することができる。ＲＯＭ１１０３には、書換不要のコンピュータプログラムやデータが格納されている。
【０１１１】
操作部１１０４は、マウスやキーボードなどのユーザインターフェースにより構成されており、ユーザが操作することで各種の指示をＣＰＵ１１０１に対して入力することができる。例えば、ユーザは操作部１１０４を操作することで、上記の学習機能の動作開始指示や学習画像の選択指示、入力画像の入力指示や入力画像に対する識別開始指示などをＣＰＵ１１０１に対して入力することができる。
【０１１２】
表示部１１０５は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ１１０１による処理結果を画像や文字などでもって表示することができる。例えば、表示部１１０５の表示画面には、学習画像、確認画像、入力画像、識別結果、処理過程で算出される様々な数値、などを表示することができる。なお、表示部１１０５は、タッチパネル画面であっても良い。
【０１１３】
外部記憶装置１１０６は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置１１０６には、ＯＳ（オペレーティングシステム）や、画像処理装置が行うものとして上述した各処理をＣＰＵ１１０１に実行若しくは制御させるためのコンピュータプログラムやデータが保存されている。外部記憶装置１１０６に保存されているコンピュータプログラムには、図１（ａ）、（ｂ）において記憶部５１００，５２００，５３００，５４００以外の各機能部の機能をＣＰＵ１１０１に実行させるためのコンピュータプログラムが含まれている。また外部記憶装置１１０６に保存されているデータには、上記の説明において既知の情報として説明したもの（閾値など）や、記憶部５１００，５２００，５３００，５４００に保存されているものとして上述した各種のデータが含まれている。外部記憶装置１１０６に保存されているコンピュータプログラムやデータは、ＣＰＵ１１０１による制御に従って適宜ＲＡＭ１１０２にロードされ、ＣＰＵ１１０１による処理対象となる。なお、記憶部５１００，５２００，５３００，５４００は外部記憶装置１１０６やＲＡＭ１１０２、ＲＯＭ１１０３などのメモリによって構成される。
【０１１４】
Ｉ／Ｆ１１０７は、外部の装置との間のデータ通信を行うためのインターフェースとして機能するものである。例えば、Ｉ／Ｆ１１０７には撮像装置を接続することができ、該撮像装置が撮像した撮像画像を学習画像や確認画像、入力画像としてＩ／Ｆ１１０７を介して外部記憶装置１１０６やＲＡＭ１１０２に取得することができる。
【０１１５】
上記のＣＰＵ１１０１、ＲＡＭ１１０２、ＲＯＭ１１０３、操作部１１０４、表示部１１０５、外部記憶装置１１０６、Ｉ／Ｆ１１０７は何れもバス１１０８に接続されている。
【０１１６】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１１７】
２１００：取得部  ２２００：抽出部  ２３００：学習部  ２４００：評価部  ２５００：設定部
【図１】
2019016298.tif 000015
【図２】
2019016298.tif 000016
【図３】
2019016298.tif 000017
【図４】
2019016298.tif 000018
【図５】
2019016298.tif 000019
【図６】
2019016298.tif 000020
【図７】
2019016298.tif 000021
【図８】
2019016298.tif 000022
【図９】
2019016298.tif 000023
【図１０】
2019016298.tif 000024
【図１１】
2019016298.tif 000025