(57)【要約】【課題】映像に応じたコンテキスト識別エンジンを選択する映像識別プログラム、装置及び方法【解決手段】映像から、それぞれ異なる所定コンテキストを識別する複数のコンテキスト識別エンジンを予め起動しており、入力された映像から、物体を枠で囲む物体画像と、当該物体画像における物体種別とを検出する物体検出エンジンと、物体画像毎に、当該物体画像の物体種別に応じた１つ以上のコンテキスト識別エンジンを選択する選択手段と、物体画像毎に、選択された各コンテキスト識別エンジンに適した編集画像に編集し、当該コンテキスト識別エンジンへ入力する画像編集手段として機能させる。【選択図】図２
2020112961.tif 000002
【特許請求の範囲】
【請求項１】
映像に応じたコンテキスト識別エンジンを選択するようにコンピュータを機能させる映像識別プログラムであって、
映像から、それぞれ異なる所定コンテキストを識別する複数のコンテキスト識別エンジンを予め起動しており、
入力された映像から、物体を枠で囲む物体画像と、当該物体画像における物体種別とを検出する物体検出エンジンと、
前記物体画像毎に、当該物体画像の物体種別に応じた１つ以上のコンテキスト識別エンジンを選択する選択手段と、
前記物体画像毎に、選択された各コンテキスト識別エンジンに適した編集画像に編集し、当該コンテキスト識別エンジンへ入力する画像編集手段と
して機能させるようにコンピュータを機能させることを特徴とする映像識別プログラム。
【請求項２】
サービス項目毎に、１つ以上のコンテキスト識別エンジンを割り当てており、識別されたコンテキストを利用するアプリケーションのサービス項目に応じて、１つ以上のコンテキスト識別エンジンを起動させる起動手段を
更に有するようにコンピュータを機能させることを特徴とする請求項１に記載の映像識別プログラム。
【請求項３】
前記物体種別毎に、１つ以上のコンテキスト識別エンジンを割り当てており、前記物体検出エンジンによって検出された１つ以上の物体種別に応じて、１つ以上のコンテキスト識別エンジンを予め起動させる起動手段を
更に有するようにコンピュータを機能させることを特徴とする請求項１に記載の映像識別プログラム。
【請求項４】
前記起動手段は、所定時間毎に、前記物体検出エンジンによって検出された１つ以上の前記物体種別に応じて、起動している１つ以上のコンテキスト識別エンジンを更新する
ようにコンピュータを機能させることを特徴とする請求項３に記載の映像識別プログラム。
【請求項５】
所定時間帯毎に、１つ以上のコンテキスト識別エンジンを割り当てており、当該所定時間帯に応じて、１つ以上のコンテキスト識別エンジンを予め起動させる起動手段を
更に有するようにコンピュータを機能させることを特徴とする請求項１に記載の映像識別プログラム。
【請求項６】
前記物体検出エンジンは、バウンディングボックスを検出し、当該バウンディングボックス内の画像を前記物体画像とする
ようにコンピュータを機能させることを特徴とする請求項１から５のいずれか１項に記載の映像識別プログラム。
【請求項７】
前記コンテキスト識別エンジンは、
物体種別毎に専用のオブジェクト識別エンジン、
複数の物体種別に応じた各オブジェクトのエッジ識別エンジン、
及び／又は、
物体種別毎に専用の挙動識別エンジン
を含むようにコンピュータを機能させることを特徴とする請求項１から６のいずれか１項に記載の映像識別プログラム。
【請求項８】
前記画像編集手段は、前記物体画像を、選択された各コンテキスト識別エンジンに応じて、異なるトリミング、フレームレート及び／又は解像度に編集する
ようにコンピュータを機能させることを特徴とする請求項１から７のいずれか１項に記載の映像識別プログラム。
【請求項９】
映像に応じたコンテキスト識別エンジンを選択する映像識別装置であって、
映像から、それぞれ異なる所定コンテキストを識別する複数のコンテキスト識別エンジンを予め起動しており、
入力された映像から、物体を枠で囲む物体画像と、当該物体画像における物体種別とを検出する物体検出エンジンと、
前記物体画像毎に、当該物体画像の物体種別に応じた１つ以上のコンテキスト識別エンジンを選択する選択手段と、
前記物体画像毎に、選択された各コンテキスト識別エンジンに適した編集画像に編集し、当該コンテキスト識別エンジンへ入力する画像編集手段と
を有することを特徴とする映像識別装置。
【請求項１０】
映像に応じたコンテキスト識別エンジンを選択する装置の映像識別方法であって、
前記装置は、
映像から、それぞれ異なる所定コンテキストを識別する複数のコンテキスト識別エンジンを予め起動しており、
入力された映像から、物体を枠で囲む物体画像と、当該物体画像における物体種別とを検出する第１のステップと、
前記物体画像毎に、当該物体画像の物体種別に応じた１つ以上のコンテキスト識別エンジンを選択する第２のステップと、
前記物体画像毎に、選択された各コンテキスト識別エンジンに適した編集画像に編集し、当該コンテキスト識別エンジンへ入力する第３のステップと
を実行することを特徴とする映像識別方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習モデルを予め構築したコンテキスト識別エンジンを用いて、映像からコンテキストを識別する技術に関する。
【背景技術】
【０００２】
従来、複数の機械学習モデルを実装し、各機械学習モデルの評価を自動で比較する技術がある（例えば特許文献１参照）。
同様に、複数の機械学習モデルを実装し、ルールベースを用いて、機械学習モデルを選択する技術もある（例えば特許文献２参照）。
また、複数のタスクを同一のモデルで学習・推論する技術もある（例えば特許文献３参照）。
更に、複数の機械学習モデルを用いて同時に識別する際に、複数の対象物の種類に関わらず、学習に不要な情報を除去することによって識別精度を向上させる技術もある（例えば特許文献４参照）。
【０００３】
図１は、従来技術における映像識別装置の機能構成図である。
【０００４】
図１によれば、映像識別装置１は、学習モデルを予め構築した複数のコンテキスト識別エンジンを有する。１つの映像を、異なるコンテキスト識別エンジンに入力し、各コンテキストの識別結果を同時に得ることができる。具体的には、物体種別の認識のみならず、具体的なオブジェグトやエッジ、挙動のような異なるコンテキストまでも同時に識別することができる。この場合、複数の対象物やその挙動が映り込む映像全体に対して、それぞれの機械学習モデルが、高精度に識別するように学習させておく必要がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−００４５０９号公報
【特許文献２】特許第６２２４８１１号公報
【特許文献３】特開２０１８−０５５３７７号公報
【特許文献４】特開２０１４−１０６６８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前述した特許文献１によれば、対象となる映像を、全ての機械学習モデルに入力する必要があるために、機械学習モデルが多くなるほど、サーバの計算リソースも必要とする。
また、特許文献１及び２の両方とも、対象となる映像をそのまま、各機械学習モデルに入力するために、映像に含まれる不要な情報によって、識別精度が低下する場合もある。
更に、特許文献３によれば、新たなタスクを追加する場合には、その都度、学習モデルを構築し直す必要がある。
同様に、特許文献４も、入力される同一の映像に対して、多くの機械学習モデルを用意する必要がある。
【０００７】
このように、同一の映像に対する各コンテキストの識別精度を高めるために、各コンテキストに専用の機械学習エンジンを用意すると共に、計算リソースを増加させる必要がある。また、映像に対して、コンテキストをリアルタイムに識別しようとするほど、計算リソースを更に増加させる必要がある。
【０００８】
尚、他の課題として、例えば動物の写真が存在する室内を撮影した映像を機械学習エンジンで識別した場合、その動物を椅子と識別しただけでなく、その他の識別も誤って識別してしまうことがある。既存の機械学習エンジンによれば、所定のコンテキストに合わない物体が画像内に存在すると、物体検出自体を誤る傾向がある。即ち、その環境でそのコンテキストの識別自体がおかしい、として判断することが難しい。
【０００９】
そこで、本発明は、映像から、複数のコンテキストを少ない計算リソースで高精度に識別することができる映像識別プログラム、装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明によれば、映像に応じたコンテキスト識別エンジンを選択するようにコンピュータを機能させる映像識別プログラムであって、
映像から、それぞれ異なる所定コンテキストを識別する複数のコンテキスト識別エンジンを予め起動しており、
入力された映像から、物体を枠で囲む物体画像と、当該物体画像における物体種別とを検出する物体検出エンジンと、
物体画像毎に、当該物体画像の物体種別に応じた１つ以上のコンテキスト識別エンジンを選択する選択手段と、
物体画像毎に、選択された各コンテキスト識別エンジンに適した編集画像に編集し、当該コンテキスト識別エンジンへ入力する画像編集手段と
して機能させるようにコンピュータを機能させることを特徴とする。
【００１１】
本発明の映像識別プログラムにおける他の実施形態によれば、
サービス項目毎に、１つ以上のコンテキスト識別エンジンを割り当てており、識別されたコンテキストを利用するアプリケーションのサービス項目に応じて、１つ以上のコンテキスト識別エンジンを起動させる起動手段を
更に有するようにコンピュータを機能させることも好ましい。
【００１２】
本発明の映像識別プログラムにおける他の実施形態によれば、
物体種別毎に、１つ以上のコンテキスト識別エンジンを割り当てており、物体検出エンジンによって検出された１つ以上の物体種別に応じて、１つ以上のコンテキスト識別エンジンを予め起動させる起動手段を
更に有するようにコンピュータを機能させることも好ましい。
【００１３】
本発明の映像識別プログラムにおける他の実施形態によれば、
起動手段は、所定時間毎に、物体検出エンジンによって検出された１つ以上の物体種別に応じて、起動している１つ以上のコンテキスト識別エンジンを更新する
ようにコンピュータを機能させることも好ましい。
【００１４】
本発明の映像識別プログラムにおける他の実施形態によれば、
所定時間帯毎に、１つ以上のコンテキスト識別エンジンを割り当てており、当該所定時間帯に応じて、１つ以上のコンテキスト識別エンジンを予め起動させる起動手段を
更に有するようにコンピュータを機能させることも好ましい。
【００１５】
本発明の映像識別プログラムにおける他の実施形態によれば、
物体検出エンジンは、バウンディングボックスを検出し、当該バウンディングボックス内の画像を物体画像とする
ようにコンピュータを機能させることも好ましい。
【００１６】
本発明の映像識別プログラムにおける他の実施形態によれば、
コンテキスト識別エンジンは、
物体種別毎に専用のオブジェクト識別エンジン、
複数の物体種別に応じた各オブジェクトのエッジ識別エンジン、
及び／又は、
物体種別毎に専用の挙動識別エンジン
を含むようにコンピュータを機能させることも好ましい。
【００１７】
本発明の映像識別プログラムにおける他の実施形態によれば、
画像編集手段は、物体画像を、選択された各コンテキスト識別エンジンに応じて、異なるトリミング、フレームレート及び／又は解像度に編集する
ようにコンピュータを機能させることも好ましい。
【００１８】
本発明によれば、映像に応じたコンテキスト識別エンジンを選択する映像識別装置であって、
映像から、それぞれ異なる所定コンテキストを識別する複数のコンテキスト識別エンジンを予め起動しており、
入力された映像から、物体を枠で囲む物体画像と、当該物体画像における物体種別とを検出する物体検出エンジンと、
物体画像毎に、当該物体画像の物体種別に応じた１つ以上のコンテキスト識別エンジンを選択する選択手段と、
物体画像毎に、選択された各コンテキスト識別エンジンに適した編集画像に編集し、当該コンテキスト識別エンジンへ入力する画像編集手段と
を有することを特徴とする。
【００１９】
本発明によれば、映像に応じたコンテキスト識別エンジンを選択する装置の映像識別方法であって、
装置は、
映像から、それぞれ異なる所定コンテキストを識別する複数のコンテキスト識別エンジンを予め起動しており、
入力された映像から、物体を枠で囲む物体画像と、当該物体画像における物体種別とを検出する第１のステップと、
物体画像毎に、当該物体画像の物体種別に応じた１つ以上のコンテキスト識別エンジンを選択する第２のステップと、
物体画像毎に、選択された各コンテキスト識別エンジンに適した編集画像に編集し、当該コンテキスト識別エンジンへ入力する第３のステップと
を実行することを特徴とする。
【発明の効果】
【００２０】
本発明の映像識別プログラム、装置及び方法によれば、映像から、複数のコンテキストを少ない計算リソースで高精度に識別することができる。
【図面の簡単な説明】
【００２１】
【図１】従来技術における映像識別装置の機能構成図である。
【図２】本発明における映像識別装置の機能構成図である。
【図３】映像識別装置に入力される映像を表す説明図である。
【図４】図３の映像から、物体検出エンジンによって検出した物体を表す説明図である。
【図５】選択部、画像編集部及びコンテキスト識別部の処理の流れを表す説明図である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００２３】
図２は、本発明における映像識別装置の機能構成図である。
【００２４】
映像識別装置１は、映像に応じたコンテキスト識別エンジンを選択することができる。図２によれば、映像識別装置１は、物体検出エンジン１１と、選択部１２と、画像編集部１３と、複数のコンテキスト識別エンジン１４と、起動部１５と、アプリケーション１６とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現できる。また、これら機能構成部の処理の流れは、映像識別方法としても理解できる。
【００２５】
映像識別装置１は、例えばインターネットに接続されたサーバとして機能するものであってもよい。その場合、映像識別装置１には、カメラを搭載した様々な端末２から、その撮影映像が入力される。例えば、以下のような端末２を想定することができる。
自動車に搭載されるドライブレコーダ
各ユーザによって所持されるスマートフォンや携帯端末
宅内に設置されたＷｅｂカメラ
勿論、映像識別装置１の機能自体が、端末２に組み込まれたものであってもよい。
【００２６】
サーバとしての映像識別装置１は、撮影映像を、携帯電話網又は無線ＬＡＮのようなアクセスネットワークを介して受信するものであってもよい。また、Ｗｅｂカメラによって撮影された映像を記録したＳＤカードから、その映像を入力するものであってもよい。映像識別装置１は、入力された映像から複数のコンテキストを識別し、そのコンテキストを様々なアプリケーションで利用することができる。
【００２７】
図３は、映像識別装置に入力される映像を表す説明図である。
【００２８】
図３によれば、映像識別装置１に入力される映像は、自動車に搭載されたドライブレコーダのカメラから、車外を撮影したものである。この映像には、以下のような物体が映り込んでいるとする。
道路側面に設置された「標識」
道路側面を歩行している「人物」
前方を走行する「車両」
駐車場に駐車している「車両」
【００２９】
［物体検出エンジン１１］
物体検出エンジン１１は、入力された映像から、物体を枠で囲む「物体画像」と、当該物体画像における「物体種別」とを検出する。
「物体画像」としては、バウンディングボックスを検出し、当該バウンディングボックス内の画像を検出する。
「物体種別」としては、物体検出のカテゴリであってもよい。例えばドライブレコーダによって撮影された映像の場合、その映像から、例えば標識、人物、車両などの物体を検出する。
【００３０】
物体検出エンジン１１としては、例えばＳＳＤ(Single Shot Multibox Detector)がある。ＳＳＤは、画像をグリッドで分割し、各グリッドに対して固定された複数のバウンディングボックスの当てはまり具合から、その位置のバウンディングボックスを検知する。そのバウンディングボックスには、１つの物体が収まる。
【００３１】
図４は、図３の映像から、物体検出エンジンによって検出した物体を表す説明図である。
【００３２】
図４によれば、図３の映像から、４つのバウンディングボックスで囲まれた物体画像と、それぞれの物体種別（標識ＩＤ、人物ＩＤ、車両ＩＤ）とが検出されている。
【００３３】
［コンテキスト識別エンジン１４］
前述した図２によれば、例えば以下のようなコンテキストを識別する複数のコンテキスト識別エンジン１４が、予め起動されているとする。
物体種別毎に専用のオブジェクト識別エンジン１４１
複数の物体種別に応じた各オブジェクトのエッジ識別エンジン１４２
物体種別毎に専用の挙動識別エンジン１４３
【００３４】
＜オブジェクト識別エンジン１４１＞
オブジェクト識別エンジン１４１は、撮影映像に映り込むオブジェクト（対象物）を識別することができる。
オブジェクト識別エンジン１４１としては、例えばＲＧＢ認識に基づくＣＮＮ(Convolutional Neural Network)のようなニューラルネットワークであって、ＹＯＬＯ(You Only Look Once)（登録商標）がある。これは、前述した物体検出エンジンとしてのＳＳＤと同様に、物体を識別する。
但し、ここでのオブジェクト識別エンジン１４１は、物体検出エンジン１１と異なって、各物体種別に専用の学習モデルを構築したものであって、物体種別を詳細に識別する。物体検出エンジン１１が、例えば物体種別として「標識ＩＤ」と識別した場合、オブジェクト識別エンジン１４１は、例えば「３０ｋｍ速度標識」「一旦停止標識」「工事中標識」のように、標識に特化して専用に学習モデルを構築したものである。
【００３５】
＜エッジ識別エンジン１４２＞
エッジ識別エンジン１４２は、映像に対してピクセル毎に物体の各領域（エッジ）を識別することができる。
例えば人物が物体として検出された場合、その人物が、道路上の横断歩道に存在するのか、又は、横断歩道でないところに存在するのか、など、歩行者の位置を識別することができる。
【００３６】
エッジ識別エンジンとしては、例えばセマンティック・セグメンテーションに基づくＤｅｅｐＬａｂＶ３（登録商標）がある。これは、画像系ディープラーニングの一種で、画素レベルで物体を分類することができる。一般的には、画素情報をクラスの次元に落とし込んで分類するのに対し、セマンティック・セグメンテーションでは、それを画素（ピクセル）単位で分類することができる。即ち、ピクセル毎に、それが何かをラベル付け（アノテーション）することができる。
【００３７】
＜挙動識別エンジン１４３＞
挙動識別エンジン１４３は、物体の挙動から、どのような行動をとっているかを識別することができる。映像におけるＲＧＢ画像に加えて、移動特徴量を用いて、物体検出エンジン１１によって検出された物体種別の移動を識別する。
【００３８】
挙動識別エンジン１４３としては、例えばＴｗｏ−ＳｔｒｅａｍＣＮＮ（登録商標）がある。これは、空間方向のＣＮＮ(Spatial stream ConvNet)と時系列方向のＣＮＮ(Temporal stream ConvNet)とを用いて、画像中の物体や背景のアピアランスの特徴と、水平方向成分と垂直成分の系列における動きの特徴との両方を抽出する。例えば車両の場合、「右左している、フラフラしている」のような挙動を識別することができる。
【００３９】
図５は、選択部、画像編集部及びコンテキスト識別部の処理の流れを表す説明図である。
【００４０】
［選択部１２］
選択部１２は、物体種別毎に、１つ以上のコンテキスト識別エンジン１４を割り当てたテーブルを保持する。その上で、選択部１２は、物体画像（バウンディングボックス）毎に、当該物体画像の物体種別に応じた１つ以上のコンテキスト識別エンジン１４を選択する。例えば物体種別とコンテキスト識別エンジンとは、以下のように紐付けられているとする。
＜物体種別＞  ->  ＜コンテキスト識別エンジン＞
標識ＩＤ    ->    オブジェクト識別エンジン
人物ＩＤ    ->    エッジ識別エンジン
車両ＩＤ    ->    挙動識別エンジン
尚、このテーブルは、後述する起動部１５によって起動中のコンテキスト識別エンジン１４によって更新される。
【００４１】
［画像編集部１３］
画像編集部１３は、物体画像（バウンディングボックス）毎に、選択された各コンテキスト識別エンジン１４に適した編集画像に編集し、選択部１２によって選択された当該コンテキスト識別エンジン１４へ入力する。これによって、各コンテキスト識別エンジン１４における識別精度を維持することができる。
【００４２】
オブジェクト識別エンジン１４１に対しては、物体画像（バウンディングボックス）の解像度を拡大する。具体的には、物体画像から、所定比率で拡大した拡大ボックスを「囲み領域」として導出する。また、オブジェクト識別エンジン１４１は、ＲＧＢ画像に基づいて識別するために、物体画像のフレームレートを、例えば１fpsのように間引くように画像を編集するものであってもよい。
【００４３】
エッジ識別エンジン１４２に対しては、物体画像でなく、映像識別装置１に入力された元の映像全体をそのまま、入力する。例えば物体検出エンジン１１によって人物が検出された場合、その歩行者と道路との位置関係も必要となるために、バウンディングボックスのみの物体画像では不十分となるためである。
【００４４】
挙動識別エンジン１４３に対しては、物体画像よりも広い範囲で、元の映像からトリミングし直すと共に、識別すべき挙動に応じたフレームレートに編集する。例えば物体画像が車両である場合、その挙動を高精度に認識するべく、入力されたフレームレートそのままで、且つ、左右への動作も考慮して物体画像よりも広くトリミングし直す。
尚、挙動識別エンジン１４３は、フレーム間で同一の特徴点が動いている箇所を抽出し、物体の動きを「ベクトル」として識別するものであってもよい。
【００４５】
［起動部１５］
起動部１５は、例えば以下の３つのパターンによって、１つ以上のコンテキスト識別エンジン１４を起動させる。
（起動パターン１）起動部１５は、サービス項目毎に、１つ以上のコンテキスト識別エンジン１４を割り当てている。この場合、識別されたコンテキストを利用するアプリケーションのサービス項目に応じて、１つ以上のコンテキスト識別エンジンを起動させる。
例えばアプリケーションとしては「ドライブレコーダ」であり、サービス項目が「道路上の交通流把握」である場合、道路上に映り込むコンテキスト（例えば車両と人物等）のみを詳細に識別できればよい。
【００４６】
（起動パターン２）起動部１５は、物体種別毎に、１つ以上のコンテキスト識別エンジン１４を割り当てている。この場合、物体検出エンジン１１によって検出された１つ以上の物体種別に応じて、１つ以上のコンテキスト識別エンジン１４を起動させる。
このとき、起動部１５は、所定時間（例えば１０分）毎に、物体検出エンジン１１によって検出された１つ以上の物体種別に応じて、起動させる１つ以上のコンテキスト識別エンジン１４を更新する。
【００４７】
このように、映像に映り込んでいない物体に基づくコンテキストについては、識別する必要もないために、そのコンテキスト識別エンジン１４自体も実行する必要がない。
【００４８】
（起動パターン３）起動部１５は、所定時間帯毎に、１つ以上のコンテキスト識別エンジンを割り当てている。この場合、当該所定時間帯に応じて、１つ以上のコンテキスト識別エンジン１４を起動させる。例えば道路上を撮影した映像の場合、カメラの特性上、日中のみに起動すべきコンテキスト識別エンジン１４と、夜中のみに起動すべきコンテキスト識別エンジン１４とを切り替えることもできる。
【００４９】
起動部１５は、起動中のコンテキスト識別エンジン１４を、選択部１２へ通知する。
一方で、起動部１５は、起動させる必要がないと判定したコンテキスト識別エンジン１４を停止させる。
これによって、起動させるコンテキスト識別エンジン１４を制限し、全体的な計算リソースを抑えることができる。
【００５０】
以上、詳細に説明したように、本発明の映像識別プログラム、装置及び方法によれば、入力される映像に応じて、コンテキスト識別エンジンを選択することができ、複数のコンテキストを少ない計算リソースで高精度に識別することができる。
【００５１】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【００５２】
１  映像識別装置
１１  物体検出エンジン
１２  選択部
１３  画像編集部
１４  コンテキスト識別エンジン
１４１  オブジェクト識別エンジン
１４２  エッジ識別エンジン
１４３  挙動識別エンジン
１５  起動部
１６  アプリケーション
２  端末
【図１】
2020112961.tif 000003
【図２】
2020112961.tif 000004
【図３】
2020112961.tif 000005
【図４】
2020112961.tif 000006
【図５】
2020112961.tif 000007