IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士電機株式会社の特許一覧

特開2022-168599推論装置、推論方法、及びプログラム
<>
  • 特開-推論装置、推論方法、及びプログラム 図1
  • 特開-推論装置、推論方法、及びプログラム 図2
  • 特開-推論装置、推論方法、及びプログラム 図3
  • 特開-推論装置、推論方法、及びプログラム 図4
  • 特開-推論装置、推論方法、及びプログラム 図5
  • 特開-推論装置、推論方法、及びプログラム 図6
  • 特開-推論装置、推論方法、及びプログラム 図7
  • 特開-推論装置、推論方法、及びプログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022168599
(43)【公開日】2022-11-08
(54)【発明の名称】推論装置、推論方法、及びプログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20221031BHJP
【FI】
G06T7/00 300F
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021074174
(22)【出願日】2021-04-26
(71)【出願人】
【識別番号】000005234
【氏名又は名称】富士電機株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】大秋 大輔
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096FA69
5L096GA51
5L096HA09
5L096HA11
5L096JA11
5L096JA16
5L096KA04
5L096KA15
(57)【要約】
【課題】推論時の状況に応じて複数のモデルの中から適切なモデルを動的に選択すること。
【解決手段】一実施形態に係る推論装置は、複数のデータの各々に対して所定のタスクの推論を繰り返し実行する推論装置であって、複数のモデルの中から選択されたモデルを示す選択モデルにより、前記データに対して前記タスクの推論を実行する推論部と、前記推論の結果に基づいて、次の繰り返しにおける推論を実行する選択モデルを前記複数のモデルの中から選択する選択部と、を有する。
【選択図】図2
【特許請求の範囲】
【請求項1】
複数のデータの各々に対して所定のタスクの推論を繰り返し実行する推論装置であって、
複数のモデルの中から選択されたモデルを示す選択モデルにより、前記データに対して前記タスクの推論を実行する推論部と、
前記推論の結果に基づいて、次の繰り返しにおける推論を実行する選択モデルを前記複数のモデルの中から選択する選択部と、
を有する推論装置。
【請求項2】
前記推論の結果には、前記データの1以上の特徴の各々に対する認識結果と、前記認識結果の確からしさを表す認識率とが含まれ、
前記選択部は、
前記認識率が所定の閾値未満である場合、前記1以上の特徴を認識可能な汎用モデルを前記選択モデルとして選択する、請求項1に記載の推論装置。
【請求項3】
前記選択部は、
前記認識率が前記閾値以上である場合、前記1以上の特徴の各々に対する認識結果のパターンに応じて、特定の特徴を認識可能な軽量モデルを前記選択モデルとして選択する、請求項2に記載の推論装置。
【請求項4】
前記1以上の特徴の各々に対する認識結果のパターンは、前記1以上の特徴の各々の変化の大小の組み合わせで表されるパターンである、請求項3に記載の推論装置。
【請求項5】
前記タスクは、画像認識タスクであり、
前記1以上の特徴には、前記データが表す画像中の物体の種類と、前記画像中における前記物体の位置との少なくとも一方が含まれる、請求項2乃至4の何れか一項に記載の推論装置。
【請求項6】
複数のデータの各々に対して所定のタスクの推論を繰り返し実行する推論装置であって、
複数のモデルの中から選択されたモデルを示す選択モデルにより、前記データに対して前記タスクの推論を実行する推論手順と、
前記推論の結果に基づいて、次の繰り返しにおける推論を実行する選択モデルを前記複数のモデルの中から選択する選択手順と、
をコンピュータが実行する推論方法。
【請求項7】
複数のデータの各々に対して所定のタスクの推論を繰り返し実行する推論装置であって、
複数のモデルの中から選択されたモデルを示す選択モデルにより、前記データに対して前記タスクの推論を実行する推論手順と、
前記推論の結果に基づいて、次の繰り返しにおける推論を実行する選択モデルを前記複数のモデルの中から選択する選択手順と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、推論装置、推論方法、及びプログラムに関する。
【背景技術】
【0002】
画像認識等といった様々なタスクを機械学習モデルにより実行することが従来から行われている。また、或るタスクを実行する際に、複数の機械学習モデルの中から適切な機械学習モデルを選択することも従来から行われている。例えば、特許文献1には、複数のCNN(Convolutional Neural Network)モデルの中からデータベースに適するCNNモデルを選択する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2018-92614号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、CNNモデルは、RAM(Random Access Memory)等といったハードウェアリソースの使用量が多いことが一般的である。このため、特許文献1では、複数のCNNモデルの中からどのCNNモデルを選んだとしても、ハードウェアリソースの使用量を大きく削減させることは期待できないと考えられる。また、特許文献1では、推論を実行する前にCNNモデルを選択しており、推論時に動的にCNNモデルを変更することはできない。
【0005】
一方で、推論時の状況によっては、CNNモデル等の汎用的な機械学習モデルだけでなく、より軽量で特定の状況に特化した機械学習モデルを適用可能な場合がある。このため、推論時の状況が特定の状況のときには、当該状況に特化した軽量な機械学習モデルにより推論を行うことで、ハードウェアリソースの使用量を大きく削減できると考えられる。また、推論時の状況は刻々と変化し得るため、推論に使用する機械学習モデルを動的に変更できることが好ましいと考えられる。
【0006】
本発明の一実施形態は、上記の点に鑑みてなされたもので、推論時の状況に応じて複数のモデルの中から適切なモデルを動的に選択することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するため、一実施形態に係る推論装置は、複数のデータの各々に対して所定のタスクの推論を繰り返し実行する推論装置であって、複数のモデルの中から選択されたモデルを示す選択モデルにより、前記データに対して前記タスクの推論を実行する推論部と、前記推論の結果に基づいて、次の繰り返しにおける推論を実行する選択モデルを前記複数のモデルの中から選択する選択部と、を有する。
【発明の効果】
【0008】
推論時の状況に応じて複数のモデルの中から適切なモデルを動的に選択することができる。
【図面の簡単な説明】
【0009】
図1】本実施形態に係る動的モデル切替推論装置のハードウェア構成の一例を示す図である。
図2】本実施形態に係る動的モデル切替推論装置の機能構成の一例を示す図である。
図3】認識状態パターン情報の一例を示す図である。
図4】モデル種類情報の一例を示す図である。
図5】動的モデル切替推論処理の流れの一例を示すフローチャートである。
図6】モデル選択処理の流れの一例を示すフローチャートである。
図7】時刻t-1と時刻tにおける状態変数値の一例を示す図である。
図8】時刻t-1に対する時刻tにおける状態変数値の変化の一例を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明の一実施形態について説明する。本実施形態では、画像中の物体の種類とその位置を認識する画像認識タスクを対象として、当該タスクの推論時の状況に応じて複数のモデルの中から適切なモデルを動的に選択した上で、この選択したモデルに切り替えて推論を行うことが可能な動的モデル切替推論装置10について説明する。なお、本実施形態では、モデルとは、画像認識タスクに適用可能な機械学習モデル(画像認識モデル)又は画像認識手法のことを意味する。
【0011】
ここで、本実施形態では、各モデルは、画像中の物体の種類(物体種類)とその物体の画像中の位置(画像中位置)とを認識すると共に、その認識率を算出するものとする。言い換えれば、各モデルは、認識率と、物体種類と、画像中位置とを出力するものとする。認識率とはモデルによる特徴の認識精度を表す指標値であり、例えば、モデルによって出力された物体種類及び画像中位置の確からしさを表している。
【0012】
なお、物体種類や画像中位置はモデルによって認識される画像中の特徴であるため、以下では、物体種類及び画像中位置をそれぞれ「特徴」ともいう。また、認識率、物体種類及び画像中位置はモデルの認識状態を表す変数であるため、認識率、物体種類、及び画像中位置をそれぞれ「状態変数」ともいう。
【0013】
ただし、認識率、物体種類、画像中位置以外にも、画像認識タスクにおけるモデルの認識状態を表す様々な変数を状態変数としてもよい。例えば、撮像装置から物体までの距離、画像認識の認識率に影響を与える条件(例えば、撮影環境における照明条件、1日における時刻等)といったものを表す変数を状態変数としてもよい。
【0014】
<動的モデル切替推論装置10のハードウェア構成>
まず、本実施形態に係る動的モデル切替推論装置10のハードウェア構成について、図1を参照しながら説明する。図1は、本実施形態に係る動的モデル切替推論装置10のハードウェア構成の一例を示す図である。
【0015】
図1に示すように、本実施形態に係る動的モデル切替推論装置10は一般的なコンピュータ又はコンピュータシステムで実現され、入力装置101と、表示装置102と、外部I/F103と、通信I/F104と、プロセッサ105と、メモリ装置106とを有する。これら各ハードウェアは、それぞれがバス107を介して通信可能に接続されている。
【0016】
入力装置101は、例えば、キーボードやマウス、タッチパネル等である。表示装置102は、例えば、ディスプレイ等である。なお、動的モデル切替推論装置10は、入力装置101及び表示装置102のうちの少なくとも一方を有していなくてもよい。
【0017】
外部I/F103は、記録媒体103a等の外部装置とのインタフェースである。動的モデル切替推論装置10は、外部I/F103を介して、記録媒体103aの読み取りや書き込み等を行うことができる。なお、記録媒体103aとしては、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等がある。
【0018】
通信I/F104は、動的モデル切替推論装置10を通信ネットワークに接続するためのインタフェースである。プロセッサ105は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の各種演算装置である。メモリ装置106は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、RAM、ROM(Read Only Memory)、フラッシュメモリ等の各種記憶装置である。
【0019】
本実施形態に係る動的モデル切替推論装置10は、図1に示すハードウェア構成を有することにより、後述する動的モデル切替推論処理を実現することができる。なお、図1に示すハードウェア構成は一例であって、動的モデル切替推論装置10は、他のハードウェア構成を有していてもよい。例えば、動的モデル切替推論装置10は、複数のプロセッサ105を有していてもよいし、複数のメモリ装置106を有していてもよい。
【0020】
また、本実施形態に係る動的モデル切替推論装置10は、例えば、一般的なコンピュータ又はコンピュータシステムと比べてハードウェアリソースに制約がある組み込み機器等であってもよい。
【0021】
<動的モデル切替推論装置10の機能構成>
次に、本実施形態に係る動的モデル切替推論装置10の機能構成について、図2を参照しながら説明する。図2は、本実施形態に係る動的モデル切替推論装置10の機能構成の一例を示す図である。
【0022】
図2に示すように、本実施形態に係る動的モデル切替推論装置10は、推論部201と、状態変数取得部202と、認識状態パターン判定部203と、モデル選択部204とを有する。これら各部は、例えば、動的モデル切替推論装置10にインストールされた1以上のプログラムが、プロセッサ105に実行させる処理により実現される。
【0023】
また、本実施形態に係る動的モデル切替推論装置10は、記憶部205を有する。記憶部205は、例えば、メモリ装置106により実現される。なお、記憶部205は、例えば、動的モデル切替推論装置10と通信ネットワークを介して接続されるデータベースサーバ等により実現されてもよい。
【0024】
推論部201は、画像データを入力として、モデル選択部204により選択されたモデル(以下、選択モデルともいう。)により推論処理を行って、当該画像データが表す画像中の物体種類と画像中位置とを認識すると共に、その認識率を算出する。
【0025】
状態変数取得部202は、推論部201による推論結果(つまり、認識率、物体種類、画像中位置)を表す状態変数値を取得する。
【0026】
認識状態パターン判定部203は、記憶部205に記憶されている認識状態パターン情報を参照して、状態変数取得部202により取得された状態変数値(及びその変化)から現在の認識状態パターンを判定する。ここで、認識状態パターンとは推論時の状況を表すパターンのことであり、後述するように、例えば、認識率が高い/低い、物体種類の変化が大きい/小さい、画像中位置の変化が大きい/小さいの組み合わせによって定義される。なお、認識状態パターン情報の詳細については後述する。
【0027】
モデル選択部204は、記憶部205に記憶されているモデル種類情報を参照して、認識状態パターン判定部203により判定された認識状態パターンから選択モデルを決定する。ここで、モデル種類情報とは、認識状態パターン毎に、その認識状態パターンに対して適切なモデルが定義された情報である。適切なモデルとは、例えば、該当の認識状態パターンにおいて、高い精度で、かつ、軽量に画像認識が可能なモデルのこと(つまり、当該認識状態パターンに特化した軽量なモデルのこと)である。なお、モデル種類情報の詳細については後述する。
【0028】
記憶部205は、各種情報(例えば、認識状態パターン情報やモデル種類情報、各モデルのモデルデータ等)を記憶する。なお、記憶部205には、認識状態パターン情報やモデル種類情報、モデルデータ以外にも、後述する動的モデル切替推論処理の実行に必要な様々な情報が記憶される。
【0029】
≪認識状態パターン情報≫
次に、記憶部205に記憶されている認識状態パターン情報の一例について、図3を参照しながら説明する。図3は、認識状態パターン情報の一例を示す図である。
【0030】
図3に示す認識状態パターン情報には、認識率と物体種類の変化と画像中位置の変化との組み合わせに応じた5つの認識状態パターンが定義されている。ここで、物体種類の変化とは、現在の時刻と1つ前の時刻との間における物体種類の値の変化のことである。同様に、画像中位置の変化とは、現在の時刻と1つ前の時刻との間における画像中位置の値の変化のことである。なお、図3中における「×」は認識率が低い、物体種類の変化が大きい、画像中位置の変化が大きいことを表し、「〇」は認識率が高い、物体種類の変化が小さい、画像中位置の大きいことを表す。また、「-」は定義されないことを意味する。
【0031】
認識状態パターン1は、認識率が「×」である場合を表す認識状態パターンである。この場合、物体種類の変化と画像中位置の変化は定義されない。これは、認識率が低い場合は、物体種類及び画像中位置が正しくない可能性が高いためである。
【0032】
認識状態パターン2は、認識率が「〇」、物体種類の変化が「×」、画像中位置の変化が「×」である場合を表す認識状態パターンである。認識状態パターン3は、認識率が「〇」、物体種類の変化が「×」、画像中位置の変化が「〇」である場合を表す認識状態パターンである。認識状態パターン4は、認識率が「〇」、物体種類の変化が「〇」、画像中位置の変化が「×」である場合を表す認識状態パターンである。認識状態パターン5は、認識率が「〇」、物体種類の変化が「〇」、画像中位置の変化が「〇」である場合を表す認識状態パターンである。
【0033】
なお、図3に示す例では、認識率が「×」の場合は認識状態パターン1のみとしたが、この認識状態パターン1は更に細分化されてもよい。すなわち、認識率「×」、物体種類の変化「×」、画像中位置の変化「×」である認識状態パターン1-1、認識率「×」、物体種類の変化「〇」、画像中位置の変化「×」である認識状態パターン1-2、認識率「×」、物体種類の変化「〇」、画像中位置の変化「×」である認識状態パターン1-3、認識率「×」、物体種類の変化「〇」、画像中位置の変化「〇」である認識状態パターン1-4と細分化されてもよい。
【0034】
また、図3に示す例では、認識率が高い/低い、物体種類の変化と画像中位置の変化が大きい/小さいの組み合わせとしたが、更に細分化されてもよい。すなわち、例えば、認識率が高い/中程度/低いと3つに細分化されてもよい。同様に、物体種類の変化と画像中位置の変化の少なくとも一方が大きい/中程度/小さいと3つに細分化されてもよい。ただし、3つに細分化することは一例であって、更に細かく細分化(つまり、4つ以上に細分化)されてもよい。
【0035】
また、図3に示す例は、認識率、物体種類及び画像中位置の3つが状態変数である場合の認識状態パターンの一例であり、状態変数の数が増えれば認識状態パターン数も増加し得る。
【0036】
≪モデル種類情報≫
次に、記憶部205に記憶されているモデル種類情報の一例について、図4を参照しながら説明する。図4は、モデル種類情報の一例を示す図である。
【0037】
図4に示すモデル種類情報には、認識状態パターン1~認識状態パターン5の各々に対して適切なモデルA~モデルEが定義されている。
【0038】
認識状態パターン1は、認識率が低い認識状態パターンである。このため、認識状態パターン1に対しては、複数の特徴(物体種類と画像中位置)を高い精度で認識可能な汎用的なモデルAを適切なモデルとする。ここで、モデルAとしては、例えば、特徴量を自動で抽出するようなモデルと、着目する特徴量を手動で選定又は選択して、複数の特徴量を組み合わせるモデルとが存在する。前者のモデルとしては、例えば、CNNモデル等が挙げられる。一方で、後者のモデルとしては、SIFT(Scale-Invariant Feature Transform)特徴量やHOG(Histgram Of Gradient)特徴量等といった複数の特徴量を組み合わせたモデル等が挙げられる。なお、認識状態パターン1ではCNNモデル等の汎用的なモデルAが用いられるため、ハードウェアリソースの使用量削減の効果は期待できない。これは、認識状態パターン1ではハードウェアリソースの使用量削減よりも、認識性能の向上を優先すべきためである。
【0039】
認識状態パターン2~認識状態パターン4は、認識率は高い一方で、特定の特徴の変化が大きい認識状態パターンである。
【0040】
認識状態パターン2は、物体種類と画像中位置の両方の変化が大きいため、これら両方の特徴を軽量に認識可能なモデルBを適切なモデルとする。モデルBとしては、例えば、SIFT特徴量を使用した画像認識モデル又は画像認識手法、SURF(Speeded-Up Robust Features)特徴量を使用した画像認識モデル又は画像認識手法等が挙げられる。ただし、認識状態パターン2は物体種類と画像中位置の両方の変化が大きいため、CNNモデルをモデルBとしてもよいし、CNNモデルと同等の認識性能を持つ画像認識モデル等をモデルBとしてもよい。
【0041】
認識状態パターン3は、物体種類の変化が大きいため、物体種類を軽量に認識可能なモデルCを適切なモデルとする。モデルCとしては、例えば、SIFT特徴量を使用した画像認識モデル又は画像認識手法、HOG特徴量を使用した画像認識モデル又は画像認識手法等が挙げられる。
【0042】
なお、SIFT特徴量を使用した画像認識モデル又は画像認識手法は細かな特徴の把握に優れていることが知られている一方で、HOG特徴量を使用した画像認識モデル又は画像認識手法は大まかな特徴の把握に優れていることが知られている。このため、例えば、同一物品の物体における種類を認識する場合(例えば、カップにおける絵柄の種類を認識する場合等)はSIFT特徴量を使用した画像認識モデル又は画像認識手法が優れている。一方で、例えば、物体の物品種類を認識する場合(例えば、物品がカップか否かを認識する場合等)はHOG特徴量を使用した画像認識モデル又は画像認識手法が優れている。
【0043】
認識状態パターン4は、画像中位置の変化が大きいため、画像中位置を軽量に認識可能なモデルDを適切なモデルとする。ここで、軽量に認識可能なモデル(以下、軽量モデルともいう。)とは、特定の特徴量の認識に特化し、省リソースで画像認識が可能なモデルのことをいう。モデルDとしては、例えば、SURF特徴量を使用した画像認識モデル又は画像認識手法、HOG特徴量を使用した画像認識モデル又は画像認識手法等が挙げられる。
【0044】
認識状態パターン5は、認識率が高く、かつ、各特徴の変化も小さい認識状態パターンである。この場合は、最も軽量なモデルEを適切なモデルとする。モデルEとしては、例えば、SURF特徴量を使用した画像認識モデル又は画像認識手法等が挙げられる。ただし、これ以外に、軽量な画像認識モデル又は画像認識手法をモデルEとしてもよい。
【0045】
なお、モデルA~モデルEの全てが異なるモデルである必要はなく、一部のモデルが同一のモデルであってもよい。例えば、モデルDとモデルEが共にSURF特徴量を使用した画像認識モデル又は画像認識手法であってもよい。
【0046】
また、上記の各モデルの具体例は一例であって、上述したSIFT特徴量、SURF特徴量又はHOG特徴量を使用した画像認識モデル又は画像認識手法以外にも、様々な画像認識モデル又は画像認識手法を用いることが可能である。例えば、Haar-like特徴量、テンプレートマッチング等といった画像認識手法が用いられてもよい。
【0047】
<動的モデル切替推論処理>
次に、本実施形態に係る動的モデル切替処理について、図5を参照しながら説明する。図5は、動的モデル切替推論処理の流れの一例を示すフローチャートである。なお、以下では、時刻を表すインデックスをtとして、或る時刻tにおける動的モデル切替処理について説明する。
【0048】
まず、推論部201は、時刻tの画像データを取得する(ステップS101)。なお、推論部201は、動的モデル切替推論装置10と接続される他の装置又は機器(例えば、撮像装置等)から画像データを取得してもよいし、記憶部205から画像データを取得してもよい。
【0049】
次に、推論部201は、上記のステップS101で取得した画像データを入力として、現在の選択モデルにより推論処理を行って、認識率と物体種類と画像中位置とを表す状態変数値を出力する(ステップS102)。この状態変数値は、時刻tにおける推論結果として記憶部205に格納される。なお、t=1のとき(つまり、最初に推論処理を行うとき)は予め決められたモデル(例えば、CNNモデル等の汎用的なモデル)を選択モデルとすればよい。
【0050】
次に、状態変数取得部202は、上記のステップS102で出力された状態変数値(つまり、時刻tにおける状態変数値)と、1つ前の時刻の状態変数値(つまり、時刻t-1における状態変数値)とを取得する(ステップS103)。
【0051】
次に、動的モデル切替推論装置10は、モデル選択処理を実行する(ステップS104)。このモデル選択処理では、時刻tにおける状態変数値、又は、時刻tにおける状態変数値と時刻t-1における状態変数値の両方に基づいて、次の時刻t+1の推論処理で用いる選択モデルを決定する。なお、モデル選択処理の詳細については後述する。
【0052】
次に、推論部201は、次の画像データがあるか否かを判定する(ステップS105)。そして、次の画像データがある場合は、時刻tをt+1に更新した上で(ステップS106)、推論部201は、上記のステップS101に戻る。これにより、各時刻tに対して上記のステップS101~ステップS104が繰り返し実行される。一方で、次の画像データが無い場合は、推論部201は、動的モデル切替推論処理を終了する。
【0053】
≪モデル選択処理≫
次に、上記のステップS104におけるモデル選択処理について、図6を参照しながら説明する。図6は、モデル選択処理の流れの一例を示すフローチャートである。
【0054】
まず、認識状態パターン判定部203は、時刻tにおける状態変数値に含まれる認識率が所定の閾値th以上であるか否かを判定する(ステップS201)。当該認識率が閾値th以上である場合は認識率が高いと判定される一方で、閾値th未満である場合は認識率が低いと判定される。ただし、例えば、閾値th11と閾値th12とを準備し、当該認識率が閾値th11以上の場合は認識率が高いと判定し、閾値th12未満の場合は認識率が低いと判定し、閾値th12以上かつ閾値th11未満の場合は時刻t-1における本ステップの判定結果と同じとしてもよい。
【0055】
なお、閾値th(又は、閾値th11と閾値th12)は予め設定した固定値としてもよいが、過去の認識率に応じた可変値としてもよい。例えば、時刻t-ΔT(ただし、ΔTは予め決められた時間幅)から時刻tまでの各時刻における認識率の平均値μと分散σを算出した上で、th11=μ+σ,th12=μ-σとしてもよい。ただし、th11が低くなり過ぎることを防止するため、例えば、予め決めたチューニング値をR'(例えば、R'=70%等)として、th11=max(μ+σ,R')としてもよい。
【0056】
上記のステップS201で認識率が低いと判定された場合、認識状態パターン判定部203は、図3に示す認識状態パターン情報を参照して、現在の認識状態パターンを「認識状態パターン1」であると判定する(ステップS202)。
【0057】
そして、モデル選択部204は、図4に示すモデル種類情報を参照して、認識状態パターン1に対応するモデルAを選択モデルとして選択する(ステップS203)。
【0058】
一方で、上記のステップS201で認識率が高いと判定された場合、認識状態パターン判定部203は、時刻t-1に対する時刻tにおける状態変数値(ただし、認識率を除く)の変化を算出する(ステップS204)。なお、認識率を除く理由は、上記のステップS201で認識率の高い/低いが判定済なためである。
【0059】
ここで、状態変数値(ただし、認識率を除く)の変化の算出方法の一例について説明する。例えば、図7の上図に示すように、時刻t-1における画像データを入力として或る選択モデルにより推論処理を行った結果を表す状態変数値が、認識率「80%」、物体種類「0:カップ」、画像中位置「X=100,Y=150」であったものとする。また、例えば、図7の下図に示すように、時刻tにおける画像データを入力として或る選択モデルにより推論処理を行った結果を表す状態変数値が、認識率「85%」、物体種類「0:カップ」、画像中位置「X=150,Y=100」であったものとする。なお、認識率は0以上100以下の値を取り得るものとし、物体種類は物体の種類を表すカテゴリ値を取り得るものとする。また、画像中位置は画像データが表す画像の左上を原点として、右方向をX軸の正の方向、下方向をY軸の正の方向とするXY座標値を取り得るものとする。
【0060】
このとき、認識状態パターン判定部203は、例えば、時刻tにおける物体種類と時刻t-1における物体種類が同一の場合はその変化を「0」、異なる場合はその変化を「1」とする。また、認識状態パターン判定部203は、例えば、時刻tにおける画像中位置のX座標値及びY座標値から、時刻t-1における画像中位置のX座標値及びY座標値をそれぞれ減算することで、画像中位置の変化を算出する。これにより、物体種類の変化と画像中位置の変化は、図8のようになる。すなわち、時刻t-1に対する時刻tにおける物体種類の変化は「0」、時刻t-1に対する時刻tにおける画像中位置の変化は「X=50,Y=0」となる。
【0061】
次に、認識状態パターン判定部203は、認識率以外の状態変数値の変化に対する閾値判定を行って、その変化が大きい又は小さいのいずれであるかを判定する(ステップS205)。すなわち、認識状態パターン判定部203は、物体種類の変化が大きい又は小さいのいずれかであるか、画像中位置の変化が大きい又は小さいのいずれであるかをそれぞれ判定する。以下、物体種類の変化と画像中位置の変化のそれぞれが大きい又は小さいのいずれであるかを判定する場合の詳細について説明する。
【0062】
・物体種類の変化が大きい/小さいを判定する場合
例えば、認識状態パターン判定部203は、物体種類の変化率Rvを算出した上で、この変化率Rvが所定の閾値th以上である場合は物体種類の変化が大きいと判定し、閾値th未満である場合は物体種類の変化が小さいと判定する。ここで、物体種類の変化率Rvは、例えば、時刻t-ΔTから時刻tまでの間における物体種類の変化回数をn、時間幅ΔTに含まれる時刻インデックス数をNとして、Rv=(n/N)×100で算出される。
【0063】
ただし、例えば、閾値th21と閾値th22とを準備し、物体種類の変化率Rvが閾値th21以上の場合は物体種類の変化が大きいと判定し、閾値th22未満の場合は物体種類の変化が小さいと判定し、閾値th21未満かつ閾値th22以上の場合は時刻t-1における本ステップの判定結果(又は、時刻t-1で本ステップが実行されていない場合は、それ以前の時刻における本ステップの最新の判定結果)と同じとしてもよい。
【0064】
なお、閾値th(又は、閾値th21と閾値th22)は予め設定した固定値としてもよいが、過去の変化率Rvに応じた可変値としてもよい。例えば、時刻t-ΔTから時刻tまでの各時刻における物体種類の変化率Rvの平均値μと分散σを算出した上で、th21=μ+σ,th22=μ-σとしてもよい。ただし、th21が低くなり過ぎることを防止するため、例えば、予め決めたチューニング値をRv'(例えば、Rv'=30%等)として、th21=max(μ+σ,Rv')としてもよい。
【0065】
・画像中位置の変化が大きい/小さいを判定する場合
例えば、認識状態パターン判定部203は、画像中位置の変化率Rdを算出した上で、この変化率Rdが所定の閾値th以上である場合は画像中位置の変化が大きいと判定し、閾値th未満である場合は画像中位置の変化が小さいと判定する。ここで、画像中位置の変化率Rdは、例えば、時刻t-ΔTから時刻tまでの間におけるX軸方向の変化率Rdxと、時刻t-ΔTから時刻tまでの間におけるY軸方向の変化率Rdyとのいずれか高い方とする(つまり、Rd=max(Rdx,Rdy))。また、Rdxは、例えば、時刻t-ΔTから時刻tまでの間におけるX軸方向の移動量をdx、画像データが表す画像のX軸方向の総画素数をPxとして、Rdx=(dx/Px)×100で算出される。同様に、Rdyは、例えば、時刻t-ΔTから時刻tまでの間におけるY軸方向の移動量をdy、画像データが表す画像のY軸方向の総画素数をPyとして、Pdy=(dy/Py)×100で算出される。
【0066】
ただし、例えば、閾値th31と閾値th32とを準備し、画像中位置の変化率Rdが閾値th31以上の場合は画像中位置の変化が大きいと判定し、閾値th32未満の場合は画像中位置の変化が小さいと判定し、閾値th31未満かつ閾値th32以上の場合は時刻t-1における本ステップの判定結果(又は、時刻t-1で本ステップが実行されていない場合は、それ以前の時刻における本ステップの最新の判定結果)と同じとしてもよい。
【0067】
なお、閾値th(又は、閾値th31と閾値th32)は予め設定した固定値としてもよいが、過去の変化率Rdに応じた可変値としてもよい。例えば、時刻t-ΔTから時刻tまでの各時刻における画像中位置の変化率Rdの平均値μと分散σを算出した上で、th31=μ+σ,th32=μ-σとしてもよい。ただし、th31が低くなり過ぎることを防止するため、例えば、予め決めたチューニング値をRd'(例えば、Rd'=200%等)として、th31=max(μ+σ,Rd')としてもよい。
【0068】
次に、認識状態パターン判定部203は、図3に示す認識状態パターン情報を参照して、現在の認識状態パターンが、認識状態パターン1~認識状態パターン5のいずれであるかを判定する(ステップS206)。すなわち、認識状態パターン判定部203は、物体種類の変化が大きく、かつ、画像中位置の変化も大きい場合は「認識状態パターン2」、物体種類の変化が大きく、かつ、画像中位置の変化は小さい場合は「認識状態パターン3」、物体種類の変化は小さく、かつ、画像中位置の変化が大きい場合は「認識状態パターン4」、物体種類の変化が小さく、かつ、画像中位置の変化も小さい場合は「認識状態パターン5」と判定する。
【0069】
次に、モデル選択部204は、図4に示すモデル種類情報を参照して、上記のステップS206で判定した認識状態パターンに対応するモデルを選択モデルとして選択する(ステップS207)。すなわち、モデル選択部204は、上記のステップS206で「認識状態パターン2」と判定された場合はモデルB、「認識状態パターン3」と判定された場合はモデルC、「認識状態パターン4」と判定された場合はモデルD、「認識状態パターン5」と判定された場合はモデルEを選択モデルとして選択する。
【0070】
そして、上記のステップS203又はステップS207に続いて、モデル選択部204は、選択モデルのモデルデータを記憶部205から読み込む(ステップS208)。これにより、次の時刻t+1における推論処理では、当該選択モデルが用いられることになる。
【0071】
<まとめ>
以上のように、本実施形態に係る動的モデル切替推論装置10は、画像認識タスクを対象として、現在の選択モデルにより推論処理を行った結果及びその変化のパターンを表す認識状態パターンに応じて、当該パターンに対応するモデルに選択モデルを動的に切り替えることができる。これにより、例えば、認識率が低い場合はより認識率が高い汎用モデルを選択モデルとしたり、或る特徴の変化が大きい場合はその特徴の認識に特化した軽量モデルを選択モデルとしたりすることができる。このため、特に、或る一定以上の認識率が得られている状況下では、特定の特徴の認識に特化した軽量モデルにより推論処理を行うことができるため、常に汎用モデルにより推論処理を行う場合と比べて、ハードウェアリソースの使用量を削減させることが可能となる。
【0072】
なお、本実施形態では画像認識タスクを対象としたが、これは一例であって、データを入力としてモデルにより推論処理を繰り返し実行する様々なタスクに対して適用可能である。例えば、データ分類、回帰、予測、異常検知等といった様々なタスクに対して適用可能である。
【0073】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
【符号の説明】
【0074】
10 動的モデル切替推論装置
101 入力装置
102 表示装置
103 外部I/F
103a 記録媒体
104 通信I/F
105 プロセッサ
106 メモリ装置
107 バス
201 推論部
202 状態変数取得部
203 認識状態パターン判定部
204 モデル選択部
205 記憶部
図1
図2
図3
図4
図5
図6
図7
図8