(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023031051
(43)【公開日】2023-03-08
(54)【発明の名称】ラベリングシステム、活動認識システム、及び教材生成システム
(51)【国際特許分類】
G06T 7/00 20170101AFI20230301BHJP
G06N 20/00 20190101ALI20230301BHJP
【FI】
G06T7/00 350B
G06N20/00 130
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2021136520
(22)【出願日】2021-08-24
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】コーペラ ジョセフ
(72)【発明者】
【氏名】秋山 高行
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096JA03
5L096JA11
5L096KA04
(57)【要約】
【課題】時系列データに含まれる活動に対応するデータに対して容易且つ適切にラベルを付けることができるようにする。
【解決手段】ラベリングシステム1において、プロセッサ(102、103、104)と、時系列データを入力として、時系列データに含まれる高レベル活動を示すラベルである高レベルラベルと、高レベル活動に含まれる複数の低レベル活動を示す低レベルラベルとを出力する機械学習モデルとを含み、プロセッサは、機械学習モデルを用いて高レベルラベル及び低レベルラベルを出力し、表示させ、時系列データに含まれる高レベルラベルについての入力を受け付け、時系列データに受け付けた高レベルラベルに対応する高レベル活動が含まれるとして、機械学習モデルを訓練し、訓練後の機械学習モデルを用いて、高レベルラベル及び低レベルラベルを出力するように構成する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
時系列データに含まれる活動に対するラベリングを行うラベリングシステムであって、
前記活動には、低レベル活動と、複数の前記低レベル活動により構成される高レベル活動とを含み、
前記ラベリングシステムは、
プロセッサと、
時系列データを入力として、前記時系列データに含まれる高レベル活動を示すラベルである高レベルラベルと、前記高レベル活動に含まれる複数の低レベル活動を示す低レベルラベルとを出力する機械学習モデルを含み、
前記プロセッサは、
前記機械学習モデルを用いて、対象の時系列データに含まれる高レベル活動及び低レベル活動の高レベルラベル及び低レベルラベルを出力し、
出力された対象の時系列データに含まれる高レベル活動及び低レベル活動の高レベルラベル及び低レベルラベルを表示させ、
前記時系列データに含まれる高レベルラベルについての入力を受け付け、
前記時系列データに受け付けた高レベルラベルに対応する高レベル活動が含まれるとして、前記機械学習モデルを訓練し、
訓練後の前記機械学習モデルを用いて、対象の時系列データに含まれる高レベル活動及び低レベル活動の高レベルラベル及び低レベルラベルを出力する
ラベリングシステム。
【請求項2】
前記機械学習モデルは、
時系列データを入力として、前記時系列データにおける複数の低レベル活動の確率である低レベル活動確率を時系列で出力する低レベルモデルと、
低レベル活動確率を時系列で入力して、この低レベル活動確率に時系列データに含まれる高レベル活動を示すラベルである高レベルラベルを出力する高レベルモデルと、
低レベル活動確率と、高レベルラベルとを入力して、時系列データに含まれる複数の低レベル活動を示す低レベルラベルを出力するシーケンシャルモデルと、を含み、
前記プロセッサは、
前記時系列データに受け付けた高レベルラベルに対応する高レベル活動が含まれるとして、前記高レベルモデルを訓練し、
訓練後の前記高レベルモデルを用いて、対象の時系列データに含まれる高レベル活動及び低レベル活動の高レベルラベル及び低レベルラベルを出力する
請求項1に記載のラベリングシステム。
【請求項3】
前記プロセッサは、
前記高レベルラベルに対する入力をユーザから受け付けた場合に、前記高レベルモデルの訓練をせずに、前記受けつけた高レベルラベルを、前記シーケンシャルモデルの入力として、対象の時系列データに含まれる高レベル活動及び低レベル活動の高レベルラベル及び低レベルラベルを出力する
請求項2に記載のラベリングシステム。
【請求項4】
前記高レベルモデルは、複数の高レベルラベルと、対象時系列データに前記高レベルラベルに対応する高レベル活動が含まれる重要度とを出力し、
前記プロセッサは、
ユーザに対して、高レベルラベルと、前記重要度とを認識可能に出力する
請求項2に記載のラベリングシステム。
【請求項5】
前記プロセッサは、
ユーザから前記時系列データに含まれる高レベルラベルについての入力として、前記時系列データに含まれる高レベル活動の新たな高レベルラベルの指定、又は、前記出力された高レベルラベルの変更指示を受け付ける
請求項2に記載のラベリングシステム。
【請求項6】
前記プロセッサは、
前記ユーザから前記時系列データに含まれる低レベルラベル活動の新たな低レベルラベルの指定、又は、前記出力された低レベルラベルの変更指示を受け付け、
前記時系列データに前記受け付けた低レベルラベルに対応する低レベル活動が含まれるとして、前記低レベルモデルを訓練する
請求項5に記載のラベリングシステム。
【請求項7】
前記ラベリングシステムは、
単一の情報処理装置により構成される
請求項1に記載のラベリングシステム。
【請求項8】
前記ラベリングシステムは、
サーバと、前記サーバにネットワークを介して接続された情報処理装置により構成される
請求項1に記載のラベリングシステム。
【請求項9】
前記時系列データは、人間の活動を撮影した映像データ又は人間が装着可能なセンサのセンサデータである
請求項1に記載のラベリングシステム。
【請求項10】
時系列データに含まれる活動を認識する活動認識システムであって、
前記活動には、低レベル活動と、複数の前記低レベル活動により構成される高レベル活動とを含み、
前記活動認識システムは、
プロセッサと、
請求項1に記載のラベリングシステムにより訓練されている、時系列データを入力として、前記時系列データに含まれる高レベル活動を示すラベルである高レベルラベルと、前記高レベル活動に含まれる複数の低レベル活動を示す低レベルラベルとを出力する機械学習モデルとを含み、
前記プロセッサは、
人間の活動を撮影した映像データ又は人間が装着可能なセンサのセンサデータである
時系列データの入力を逐次的に受け付け、
前記機械学習モデルを用いて、対象の時系列データに含まれる高レベル活動及び低レベル活動の高レベルラベル及び低レベルラベルを逐次出力し、
逐次出力される高レベルラベル及び低レベルラベルに基づいて、人間の活動を逐次認識する
活動認識システム。
【請求項11】
前記プロセッサは、
前記認識した人間の活動が、異常な活動であるか否かを判定する
請求項10に記載の活動認識システム。
【請求項12】
低レベル活動と、複数の前記低レベル活動により構成される高レベル活動とを含む活動における高レベル活動と低レベル活動との関係を示す教材を生成する教材生成システムであって、
前記教材生成システムは、
プロセッサと、
請求項1に記載のラベリングシステムにより訓練されている、時系列データを入力として、前記時系列データに含まれる高レベル活動を示すラベルである高レベルラベルと、前記高レベル活動に含まれる複数の低レベル活動を示す低レベルラベルとを出力する機械学習モデルとを含み、
前記プロセッサは、
前記機械学習モデルを用いて、所定の時系列データに含まれる高レベル活動及び低レベル活動の高レベルラベル及び低レベルラベルを出力し、
出力された時系列データに含まれる高レベル活動及び低レベル活動の高レベルラベル及び低レベルラベルに基づいて、高レベルラベルと低レベルラベルとの対応関係を示す情報を集約した教材を生成する
教材生成システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、時系列データに含まれる活動に対応するデータに対してラベルを付ける技術等に関する。
【背景技術】
【0002】
時系列データに基づく活動認識は、多種多様な領域への応用がある主要な研究トピックである。近年、ディープラーニングのような機械学習技術の急速な改良が、産業および商業環境における活動認識の新しい応用の可能性を開いている。
【0003】
活動認識のために機械学習モデルを展開する際に直面する重要な問題の1つは、機械学習モデルを構築するために必要な大量の訓練データにラベルを付ける必要があることである。
【0004】
この問題に対して、特許文献1には、与えられたラベルなしデータサンプルにラベル付けされたときのモデル性能における期待される改善に基づいて、特定のラベルなしデータサンプルを積極的に選択することによって、ラベル付けされる必要がある訓練データの量を減らす方法が示されている。
【0005】
しかし、この方法は、ラベル付け効率を改善するために処理される訓練データの量を減らすことに依存しており、処理しているラベルなし時系列データをすべて見直し、ラベル付けしたい場合に対処するものではない。
【0006】
一方、非特許文献1には、全てのラベルなしデータを処理する場合の効率を改善するための方法が開示されている。この方法は、活動のサイクル内の個々の繰り返しについての自動ラベリングから得られる性能の向上であり、単純で、周期的な活動、例えば、歩行又は走行の繰り返しをカウントする場合においてのみ適用可能である。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】米国特許出願公開特開2007-133664号公報
【非特許文献】
【0008】
【非特許文献1】Martindale, Christine F and Hoenig, Florian and Strohrmann, Christina and Eskofier, Bjoern M,”Smart annotation of cyclic data using hierarchical hidden Markov models”,Sensors, Multidisciplinary Digital Publishing Institute,2017,Vol.17,No.10,P.2328
【発明の概要】
【発明が解決しようとする課題】
【0009】
機械学習モデルの訓練データとして使用するために、時系列データにラベリングするプロセスは、多大なコストがかかる可能性があり、このプロセスの効率を向上させることが要請されている。
【0010】
特許文献1は、データ中の稀なイベントを認識できるようにするモデルを構築する場合のように、ラベルなしデータの稀なイベントを含む全てに対してラベルを付しておく必要がある場合には、対処することができない。
【0011】
一方、非特許文献1は、歩行や走行のような単純な繰り返しの活動にラベル付けする場合にのみ適用することができ、ユースケースが制限される。
【0012】
本発明は、上記事情に鑑みなされたものであり、その目的は、時系列データに含まれる活動に対応するデータに対して容易且つ適切にラベルを付けることができる技術を提供することにある。
【課題を解決するための手段】
【0013】
上記目的を達成するため、一観点に係るラベリングシステムは、時系列データに含まれる活動に対するラベリングを行うラベリングシステムであって、前記活動には、低レベル活動と、複数の前記低レベル活動により構成される高レベル活動とを含み、前記ラベリングシステムは、プロセッサと、時系列データを入力として、前記時系列データに含まれる高レベル活動を示すラベルである高レベルラベルと、前記高レベル活動に含まれる複数の低レベル活動を示す低レベルラベルとを出力する機械学習モデルとを含み、前記プロセッサは、前記機械学習モデルを用いて、対象の時系列データに含まれる高レベル活動及び低レベル活動の高レベルラベル及び低レベルラベルを出力し、出力された対象の時系列データに含まれる高レベル活動及び低レベル活動の高レベルラベル及び低レベルラベルを表示させ、前記時系列データに含まれる高レベルラベルについての入力を受け付け、前記時系列データに受け付けた高レベルラベルに対応する高レベル活動が含まれるとして、前記機械学習モデルを訓練し、訓練後の前記機械学習モデルを用いて、対象の時系列データに含まれる高レベル活動及び低レベル活動の高レベルラベル及び低レベルラベルを出力する。
【発明の効果】
【0014】
本発明によれば、時系列データに含まれる活動に対応するデータに対して容易且つ適切にラベルを付けることができる。
【図面の簡単な説明】
【0015】
【
図1】
図1は、第1実施形態に係るラベリングシステムの機能構成図である。
【
図2】
図2は、第1実施形態に係る階層活動認識モデル訓練部の処理動作を説明する図である。
【
図3】
図3は、第1実施形態に係る階層活動認識モデル訓練処理のフローチャートである。
【
図4】
図4は、第1実施形態に係る時系列データデータセットの構成図である。
【
図5】
図5は、第1実施形態に係る低レベルクラス確率データセットの構成図である。
【
図6】
図6は、第1実施形態に係る低レベルラベルデータセットの構成図である。
【
図7】
図7は、第1実施形態に係る高レベルラベルデータセットの構成図である。
【
図8】
図8は、第1実施形態に係る機械アノテーション部の処理を説明する図である。
【
図9】
図9は、第1実施形態に係る機械アノテーション処理のフローチャートである。
【
図10】
図10は、第1実施形態に係る全体処理のフローチャートである。
【
図11】
図11は、第1実施形態に係るユーザインターフェースを説明する図である。
【
図12】
図12は、第1実施形態に係るラベリングシステムを構成する計算機の構成図である。
【
図13】
図13は、第2実施形態に係るラベリングシステムの機能構成図である。
【
図14】
図14は、第2実施形態に係る機械アノテーション・部分再構築部の処理を説明する図である。
【
図15】
図15は、第2実施形態に係る機械アノテーション・部分再構築処理を説明するフローチャートである。
【
図16】
図16は、第2実施形態に係る全体処理のフローチャートである。
【
図17】
図17は、第3実施形態に係る機械アノテーション部の処理を説明する図である。
【
図18】
図18は、第3実施形態に係る機械アノテーション処理のフローチャートである。
【
図19】
図19は、第3実施形態に係る高レベルラベル優先データセットの構成図である。
【
図20】
図20は、第3実施形態に係る低レベルラベル優先データセットの構成図である。
【
図21】
図21は、第4実施形態に係る活動認識システムの機能構成図である。
【
図22】
図22は、第4実施形態に係るエラー検出処理のフローチャートである。
【
図23】
図23は、第4実施形態に係るエラー検出確率データセットの構成図である。
【
図24】
図24は、第5実施形態に係る教材生成システムの機能構成図である。
【
図25】
図25は、第5実施形態に係る教材生成処理のフローチャートである。
【発明を実施するための形態】
【0016】
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0017】
以下の説明では、「AAAデータセット」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「AAAデータセット」を「AAA情報」と呼ぶことができる。
【0018】
図1は、第1実施形態に係るラベリングシステムの機能構成図である。
【0019】
ラベリングシステム1は、ラベル付き時系列データデータセット101と、ラベル無し時系列データデータセット105とを記憶し、階層活動認識モデル訓練部102と、機械アノテーション部103と、人間アノテーション部104とを含む。
【0020】
ラベル付き時系列データデータセット101は、ラベルが付けられた時系列データを格納する。ここで、時系列データは、例えば、活動を行う人物を撮影した映像データ又は活動を行う人物に装着されたセンサによる時系列のセンサデータである。活動としては、例えば、人物が製品(例えば、洗濯機、冷蔵庫等)を作成する活動(高レベル活動)であり、それぞれの製品を作成する活動(高レベル活動)の中には、その製品を作成する活動に含まれる複数の下位の活動(低レベル活動)が含まれる。低レベル活動は、例えば、洗濯機を作成する活動の場合には、例えば、パネルを取付ける活動、ネジを差し込む活動、ボルトを差し込む活動等がある。時系列データに対するラベルとしては、時系列データにおける高レベル活動を示す高レベルラベルと、低レベル活動を示す低レベルラベルとがある。ラベル付き時系列データデータセット101における時系列データに対しては、時系列データ中の高レベル活動が行われている期間(高レベル活動期間)には、高レベルラベルが付され、高レベル活動期間内の低レベル活動が行われている部分期間(サブセグメント)に対して低レベルラベルが付されている。なお、ラベルが付けられた時系列データは、例えば、或る活動に対する時系列データのうちの一部の高レベル活動に対して、この高レベル活動の高レベルラベルと、含まれる低レベル活動の低レベルラベルとを付したものでもよい。
【0021】
階層活動認識モデル訓練部102は、ラベル無し時系列データにおける高レベルラベルと低レベルラベルとを推定するための機械学習モデル(階層活動認識モデル)を、ラベル付き時系列データを用いて訓練する。
【0022】
ラベル無し時系列データデータセット105は、ラベルが付けられていない時系列データ、すなわち、ラベリングシステム1でラベル付けを行う対象とする時系列データを格納する。
【0023】
機械アノテーション部103は、ラベル無し時系列データデータセット105のラベル無し時系列データを階層活動認識モデル訓練部102で訓練された機械学習モデルに入力して、時系列データに付する高レベルラベル及び低レベルラベルを推定する。
【0024】
人間アノテーション部104は、時系列データを、機械アノテーション部103により推定された時系列データに付する高レベルラベル及び低レベルラベルと共に、ユーザインターフェース(例えば、
図11参照)により表示し、推定されたラベル(高レベルラベル及び/又は低レベルラベル)の修正や、時系列データに対する新たなラベル(高レベルラベル及び/又は低レベルラベル)の作成の入力を受け付ける。この場合、人間アノテーション部104は、入力に基づいて、ラベル無し時系列データをラベル付きの時系列データとし、ラベル付き時系列データデータセット101に追加する。
【0025】
この後、階層活動認識モデル訓練部102がラベル付き時系列データデータセット101を用いて、機械学習モデルを訓練し、機械アノテーション部103が新たに訓練された機械学習モデルを用いて、上記同様な処理を行ってもよい。
【0026】
次に、階層活動認識モデル訓練部102の階層活動認識モデル訓練処理300について説明する。
【0027】
図2は、第1実施形態に係る階層活動認識モデル訓練部の処理動作を説明する図であり、
図3は、第1実施形態に係る階層活動認識モデル訓練処理のフローチャートである。
【0028】
階層活動認識モデル訓練部102は、時系列データデータセット201(
図4参照)の時系列データSと、低レベルラベルデータセット205(
図6参照)の低レベルラベルLと、高レベルラベルデータセット207(
図7参照)の高レベルラベルHとを入力する(ステップ301)。ここで、
図1におけるラベル付き時系列データデータセット101と、ラベル無し時系列データデータセット105とは、時系列データデータセット201と、低レベルラベルデータセット205と、高レベルラベルデータセット207とにより構成される。
【0029】
階層活動認識モデル訓練部102は、低レベルモデル202を構築し、時系列データと、認証済みの低レベルラベルL(認証済み606がTrueのエントリ)とを用いて低レベルモデル202を訓練する(ステップ302)。低レベルモデル202は、時系列データを入力して、時系列データに含まれる低レベル活動についての想定されている各低レベル活動の種類(低レベルクラス)に属する確率(低レベルクラス確率)を時系列で出力する。低レベルモデル202は、深層学習モデル、例えば、LSTM(Long Short-Term memory)であってよい。
【0030】
階層活動認識モデル訓練部102は、時系列データSを低レベルモデル202に入力して、時系列データSについての各時刻(タイムスタンプの時刻)における低レベルクラス確率Pを生成する(ステップ303)。生成された低レベルクラス確率Pは、低レベルクラス確率データセット203に格納される。
【0031】
階層活動認識モデル訓練部102は、高レベルモデル204を構築し、低レベルクラス確率と、認証済みの高レベルラベルHとを用いて、訓練する(ステップ304)。高レベルモデル204は、低レベルクラス確率を入力して、高レベルモデル204を高レベルラベルを出力する。高レベルモデル204は、例えば、KNN(K-Nearest Neighbor)分類器である。なお、高レベルモデル204は、深層学習モデル、例えば、LSTM(Long Short-Term memory)であってもよいが、より単純なモデルを使用することで、より少ない訓練データで訓練することができる。
【0032】
階層活動認識モデル訓練部102は、シーケンシャルモデル206を構築し、各高レベル活動の種類(高レベルクラス)のそれぞれのクラス(対象クラスc)について、低レベルクラス確率Pと、認証済み且つ高ラベルクラスが対象クラスcである高レベルラベルH(Mという)と、認証済み且つ親ラベルがMである低レベルラベルLを用いて、シーケンシャルモデル206を訓練する(ステップ305)。シーケンシャルモデル206は、高レベルクラスのそれぞれに対応付けられたモデルであり、低レベルクラス確率Pを入力し、対応する高レベルクラスに対応する高レベル活動における低レベル活動の低レベルラベルLを出力する。シーケンシャルモデル206は、例えば、低レベルクラス確率を観測量とし、低レベルラベルを隠れ状態とするHMM(Hidden Markov Modekl)である。
【0033】
階層活動認識モデル訓練部102は、機械アノテーション部103で使用される低レベルクラス確率Pを出力する(ステップ306)。
【0034】
次に、時系列データデータセット201の構成について説明する。
【0035】
図4は、第1実施形態に係る時系列データデータセットの構成図である。
【0036】
時系列データデータセット201は、時系列データの各サンプルに対応するエントリを格納する。時系列データデータセット201のエントリは、タイムスタンプ401と、時系列データ402とのカラムを含む。
【0037】
タイムスタンプ401には、エントリに対応するサンプルの時刻を示すタイムスタンプが格納される。例えば、時系列データデータセット201にH個のサンプルがあるとすると、最初のサンプルのタイムスタンプをT
1で示し、最後のサンプルのタイムスタンプを、T
Hで示す。時系列データ402には、エントリに対応するサンプルの時点におけるデータが格納される。時系列データ402に格納されるデータは、複数のオブジェクト又は値から構成されてもよく、例えば、時系列データとして、3軸加速度計のデータとする場合には、3つの軸のそれぞれの値から構成されてもよい。
図4の例では、H番目のサンプルのデータにおけるJ番目の値については、S
H,
Jで示している。
【0038】
次に、低レベルクラス確率データセット203の構成について説明する。
【0039】
図5は、第1実施形態に係る低レベルクラス確率データセットの構成図である。
【0040】
低レベルクラス確率データセット203は、所定のサンプルの時点毎のエントリを格納する。低レベルクラス確率データセット203のエントリは、タイムスタンプ501と、低レベルクラス確率502とのカラムを含む。
【0041】
タイムスタンプ501には、エントリに対応するサンプルの時刻を示すタイムスタンプが格納される。例えば、低レベルクラス確率データセット203にH個のサンプルがあるとすると、最初のサンプルのタイムスタンプをT1で示し、最後のサンプルのタイムスタンプを、THで示す。なお、本実施形態では、低レベルクラス確率データセット203でのサンプルの時刻は、時系列データデータセット201のサンプルの時刻と1対1で対応する例としているが、これ以外に対応していてもよい。
【0042】
低レベルクラス確率502には、エントリに対応するタイムスタンプの時刻における時系列データに含まれる各低レベルクラスの確率(低レベルクラス確率:低レベル活動確率)が格納される。低レベルクラス確率は、各レベルクラスに対応する確率のベクトルとなっている。低レベルクラス確率は、低レベルモデル202で対象とする全クラスK個のそれぞれに対して1つずつの確率値を含んでいる。
図5においては、H番目のタイムスタンプにおけるK番目の低レベルクラスの確率値を、P
H(LC
K)で示している。
【0043】
次に、低レベルラベルデータセット205の構成について説明する。
【0044】
図6は、第1実施形態に係る低レベルラベルデータセットの構成図である。
【0045】
低レベルラベルデータセット205は、時系列データに対する低レベルラベル毎のエントリを格納する。低レベルラベルデータセット205のエントリは、低レベルラベル601と、親高レベルラベル602と、開始時刻603と、終了時刻604と、ラベルクラス605と、認証済み606とのカラムを含む。
【0046】
低レベルラベル601には、エントリに対応する低レベルラベルを示すインデックスが格納される。低レベルラベルデータセット205にN個の低レベルラベルがあるとすると、最初の低レベルラベルのインデックスをLL1で示し、最後の低レベルラベルのインデックスをLLNで示す。親高レベルラベル602には、エントリに対応する低レベルラベルを含む親レベルラベルの高レベルラベルデータセット207でのインデックス(高レベルラベルインデックス)が格納される。低レベルラベルデータセット205における親高レベルラベル602には、各高レベルラベルインデックスが0以上格納される。
【0047】
開始時刻603には、時系列データにおいて、エントリに対応する低レベルラベルに対応する低レベル活動が開始される時刻(開始時刻)が格納される。低レベルラベルデータセット205にN個の低レベルラベルがあるとすると、最初の低レベルラベルの開始時刻をLS1で示し、最後の低レベルラベルの開始時刻をLSNで示す。終了時刻604には、時系列データにおいて、エントリに対応する低レベルラベルに対応する低レベル活動が終了する時刻(終了時刻)が格納される。低レベルラベルデータセット205にN個の低レベルラベルがあるとすると、最初の低レベルラベルの終了時刻をLE1で示し、最後の低レベルラベルの終了時刻をLENで示す。本実施形態では、時系列データにおいて2つの低レベルラベルが重なることがないものとし、低レベルラベルデータセット205において、開始時刻LSa<終了時刻LEb且つ開始時刻LSb<終了時刻LEaとなるような2つの低レベルラベルLLa及びLLbは存在しない。
【0048】
ラベルクラス605には、エントリに対応する低レベルラベルの低レベル活動を示す低レベルラベルクラスが格納される。本実施形態では、低レベルラベルクラスは、低レベルモデル202が対象とするクラスの合計数であるK個存在する。低レベルラベルデータセット205におけるラベルクラス605には、各低レベルラベルクラスが0以上格納される。認証済み606には、エントリに対応する低レベルラベルについて人間のアノテータがラベルの正しさを確認したか否かを示すブーリアン型の値、すなわち、True(真)又はFalse(偽)が格納される。認証済み606の値は、階層活動認識モデルを訓練する時に、どのラベルが訓練データであるかを決定するために使用される。
【0049】
次に、高レベルラベルデータセット207の構成について説明する。
【0050】
図7は、第1実施形態に係る高レベルラベルデータセットの構成図である。
【0051】
高レベルラベルデータセット207は、時系列データに対する高レベルラベル毎のエントリを格納する。高レベルラベルデータセット207のエントリは、高レベルラベル701と、開始時刻702と、終了時刻703と、ラベルクラス704と、認証済み705とのカラムを含む。
【0052】
高レベルラベル701には、エントリに対応する高レベルラベルを示すインデックスが格納される。高レベルラベルデータセット207にM個の高レベルラベルがあるとすると、最初の高レベルラベルのインデックスをHL1で示し、最後の高レベルラベルのインデックスをHLMで示す。
【0053】
開始時刻702には、時系列データにおいて、エントリに対応する高レベルラベルに対応する高レベル活動が開始される時刻(開始時刻)が格納される。高レベルラベルデータセット207にM個の高レベルラベルがあるとすると、最初の高レベルラベルの開始時刻をHS1で示し、最後の高レベルラベルの開始時刻をHSMで示す。終了時刻703には、時系列データにおいて、エントリに対応する高レベルラベルに対応する高レベル活動が終了する時刻(終了時刻)が格納される。高レベルラベルデータセット207にM個の高レベルラベルがあるとすると、最初の高レベルラベルの終了時刻をHE1で示し、最後の低レベルラベルの終了時刻をHEMで示す。本実施形態では、時系列データにおいて2つの高レベルラベルが重なることがないものとし、高レベルラベルデータセット207において開始時刻HSa<終了時刻HEb且つ開始時刻HSb<終了時刻HEaとなるような2つの高レベルラベルHLa及びHLbは存在しない。
【0054】
ラベルクラス704には、エントリに対応する高レベルラベルの高レベル活動を示す高レベルラベルクラスが格納される。本実施形態では、高レベルラベルクラスは、高レベルモデル204が対象とするクラスの合計数であるJ個存在する。高レベルラベルデータセット207におけるラベルクラス704には、各高レベルラベルクラスが0以上格納される。認証済み705には、エントリに対応する高レベルラベルについて人間のアノテータがラベルの正しさを確認したか否かを示すブーリアン型の値が格納される。認証済み705の値は、階層活動認識モデルを訓練する時に、どのラベルが訓練データであるかを決定するために使用される。
【0055】
次に、機械アノテーション部103の機械アノテーション処理900を説明する。
【0056】
図8は、第1実施形態に係る機械アノテーション部の処理を説明する図である。
図9は、第1実施形態に係る機械アノテーション処理のフローチャートである。
【0057】
機械アノテーション部103は、低レベルラベルデータセット205の低レベルラベルLと、高レベルラベルデータセット207の高レベルラベルHと、低レベルクラス確率データセット203の低レベルクラス確率Pとを入力する(ステップ901)。
【0058】
機械アノテーション部103は、高レベルラベルH及び低レベルラベルLから認証されていないラベルを削除する(ステップ902)。具体的には、機械アノテーション部103は、高レベルラベルHの中の認証済み705の値がTrueであるラベルを高レベルラベルHに設定し、低レベルラベルLの中の認証済み606の値がTrueであるラベルを低レベルラベルLに設定する。
【0059】
機械アノテーション部103は、時系列データから得られた低レベルクラス確率Pを高レベルモデル204に入力することで、時系列データにおけるラベル無しの時間区間に対しての高レベルラベルRを予測し、予測した高レベルラベルRのすべてについて認証済みをFalseに設定する(ステップ903)。
【0060】
機械アノテーション部103は、高レベルラベルRを高レベルラベルHと混合して、新たな高レベルラベルHに設定する(ステップ904)。
【0061】
機械アノテーション部103は、高レベルラベルHの各高レベルラベルhについて、高レベルラベルhに対応するシーケンシャルモデル206を、低レベルクラス確率データセット203の高レベルラベルhに対応する時間区間に対して実行することにより、その時間区間についての低レベルラベルNのシーケンスを予測する。次いで、機械アノテーション部103は、これらの予測された低レベルラベルNについての認証済みのカラムをFalseに設定する(ステップ905)。
【0062】
機械アノテーション部103は、低レベルラベルNを低レベルラベルLと混合して、新たな低レベルラベルLに設定する(ステップ906)。次いで、機械アノテーション部103は、低レベルラベルLと高レベルラベルHとを人間のアノテーションにおいてレビューさせるために出力として人間アノテーション部104に渡す(ステップ907)。
【0063】
次に、人間アノテーション部104による人間アノテーション処理を含む全体処理について説明する。
【0064】
図10は、第1実施形態に係る全体処理のフローチャートである。
【0065】
全体処理において、階層活動認識モデル訓練部102が階層活動認識モデル訓練処理300を実行する(ステップ300)。次いで、機械アノテーション部103が機械アノテーション処理を実行する(ステップ900)。次いで、人間アノテーション部104が人間アノテーション処理1000を実行する。
【0066】
人間アノテーション処理1000では、人間アノテーション部104は、
図11に示すようなユーザインターフェース(例えば、GUI(Grafical User Interface))に、機械アノテーション処理900により出力された低レベルラベル及び高レベルラベルと、時系列データとを表示させる(ステップ1001)。これにより、ユーザが設定されたラベルをレビューすることができる。
【0067】
人間アノテーション部104は、ユーザインターフェースを介してユーザから新しいラベル(高レベルラベル及び/又は低レベルラベル)の追加を受けた場合には、対応するデータセット(高レベルラベルの追加の場合には、高レベルラベルデータセット207、低レベルラベルの追加の場合には、低レベルラベルデータセット205)に、ラベルのエントリを追加し(ステップ1002)、そのエントリの認証済みのカラムをTrueに設定し(ステップ1003)、処理をステップ1006に進める。この処理により、ユーザに追加された認証済みの新しいラベルをデータセット(高レベルラベルデータセット207及び/又は低レベルラベルデータセット205)に格納することができる。
【0068】
一方、人間アノテーション部104は、ユーザインターフェースを介してユーザから既存ラベル(高レベルラベル及び/又は低レベルラベル)に対する調整(変更指示)を受けた場合には、対応するラベルのエントリについて調整された値に調整する(ステップ1004)。次いで、人間アノテーション部104は、ユーザにより認証済みがTrueに設定された否かを判定し(ステップ1005)、認証済みがTrueに設定された場合(ステップ1005:Yes)には、処理をステップ1003に進める一方、認証済みがTrueに設定された場合には、処理をステップ1006に進める。この処理により、ユーザにより調整されて認証されたラベルをデータセット(高レベルラベルデータセット207及び/又は低レベルラベルデータセット205)に格納することができる。
【0069】
次いで、人間アノテーション部104は、ユーザによりモデルの再訓練が選択されたか否かを判定し(ステップ1006)、モデルの再訓練が選択されたと判定した場合(ステップ1006:Yes)には、人間アノテーション部104は、モデルを再訓練させるために、階層活動認識モデル訓練部102に階層活動認識モデル訓練処理300を実行させる指示を行う。一方、モデルの再訓練が選択されていない判定した場合(ステップ1006:No)には、人間アノテーション部104は、処理をステップ1001に進める。
【0070】
上記した処理によると、機械アノテーション処理900に予測されたラベルに対して、人間アノテーション処理1000において、ユーザがラベルの追加や、ラベルを調整するといった簡単な操作により、時系列データに対してラベルを適切に設定することができる。また、この設定されたラベルを用いてモデルを再訓練することができ、モデルによるラベルの予測精度を向上することができる。
【0071】
次に、ユーザインターフェースについて説明する。
【0072】
図11は、第1実施形態に係るユーザインターフェースを説明する図である。
【0073】
ユーザインターフェースとなる表示画面1900は、映像表示領域1901と、時系列データ表示領域1902と、高レベルラベル表示領域1903と、低レベルラベル表示領域1904と、映像情報表示領域1911と、ラベル情報表示設定領域1920とを含む。表示画面1900には、機械アノテーション部103により出力された低レベルラベルLと高レベルラベルHや、人間のア時系列データデータセット201、低レベルラベルデータセット205、高レベルラベルデータセット207に基づいて情報が表示される。
【0074】
映像表示領域1901には、作業における作業者の映像データの映像が表示される。この映像データは時系列データの一例である。時系列データ表示領域1902には、作業における作業者に取り付けられたセンサのセンサ値の時系列のデータ(センサデータ)が表示される。センサデータは時系列データの一例である。高レベルラベル表示領域1903には、時系列データに含まれる高レベル活動を示すそれぞれの高レベルラベル(例えば、1905)が、例えば矩形で表示される。低レベルラベル表示領域1904には、高レベルラベル表示領域1903の高レベルラベルの高レベル活動に含まれる低レベル活動を示す1以上の低レベルラベル(例えば、1906)が矩形で表示される。時系列データ表示領域1902、高レベルラベル表示領域1903、及び低レベルラベル表示領域1904は、横軸が時間を示している。
【0075】
映像情報表示領域1911には、映像表示領域1901に表示される映像の映像データについての操作ボタンや、情報(例えば、表示されている映像の時刻)が表示される。本実施形態では、時系列データ表示領域1902と、高レベルラベル表示領域1903と、低レベルラベル表示領域1904には、映像の時刻に対応する部分を示す時刻指示バー1907が表示される。
【0076】
ラベル情報表示設定領域1920には、低レベルラベル表示領域1904において選択されている低レベルラベルについての情報を表示したり設定したりするための領域である。
図11の例では、ラベル情報表示設定領域1920には、低レベルラベル表示領域1904で選択されている低レベルラベル1909の情報が表示される。
【0077】
ラベル情報表示設定領域1920には、開始時刻表示設定領域1915と、終了時刻表示設定領域1914と、ラベルクラス表示設定領域1913と、認証済み表示設定領域1912とを含む。
【0078】
開始時刻表示設定領域1915には、選択されている低レベルラベルの開始時刻が設定可能に表示される。本実施形態では、時系列データ表示領域1902と、高レベルラベル表示領域1903と、低レベルラベル表示領域1904とには、開始時刻を示す開始時刻指示バー1908が表示される。終了時刻表示設定領域1914には、選択されている低レベルラベルの終了時刻が設定可能に表示される。本実施形態では、時系列データ表示領域1902と、高レベルラベル表示領域1903と、低レベルラベル表示領域1904とには、終了時刻を示す終了時刻指示バー1910が表示される。ラベルクラス表示設定領域1913には、選択されている低レベルラベルのラベルクラスが設定可能に表示される。認証済み表示設定領域1912には、選択されている低レベルラベルが認証済みか否かの値が設定可能に表示される。
【0079】
本実施形態では、ラベル情報表示設定領域1920の各設定領域に対して入力(設定)を行うことにより、ユーザは、低レベルラベルに対する各種設定を行うことができる。また、本実施形態においては、高レベルラベル表示領域1903において、高レベルラベルを選択することにより、高レベルラベルの情報を設定可能に表示するラベル情報表示設定領域が表示される。高レベルラベルについてのラベル情報表示設定領域は、ラベル情報表示設定領域1920と同様な構成である。
【0080】
次に、ラベリングシステム1を構成する計算機10について説明する。
【0081】
図12は、第1実施形態に係るラベリングシステムを構成する計算機の構成図である。
【0082】
計算機10は、情報処理装置の一例であり、例えば、PC(Personal Computer)、汎用サーバ、タブレットコンピュータ、モバイルコンピュータ等によって構成されている。計算機10は、通信インターフェース(I/F)11と、1以上のCPU(Central Processing Unit)12と、入力デバイス13と、記憶デバイス14と、メモリ15と、表示デバイス16とを備える。
【0083】
通信I/F11は、例えば、有線LANカードや無線LANカードなどのインターフェースであり、図示しないネットワークを介して他の装置と通信する。
【0084】
CPU12は、プロセッサの一例であり、メモリ15及び/又は記憶デバイス14に格納されているプログラムに従って各種処理を実行する。
【0085】
メモリ15は、例えば、RAM(RANDOM ACCESS MEMORY)であり、CPU12で実行されるプログラムや、必要な情報を記憶する。
【0086】
記憶デバイス14は、例えば、ハードディスクやフラッシュメモリなどであり、CPU12で実行されるプログラムや、CPU12に利用されるデータ等を記憶する。本実施形態では、記憶デバイス14は、階層活動認識モデル訓練部102と、機械アノテーション部103と、人間アノテーション部104とを実現するプログラム等を記憶する。また、記憶デバイス14は、時系列データデータセット201、低レベルクラス確率データセット203、低レベルラベルデータセット205、高レベルラベルデータセット207等を記憶する。
【0087】
入力デバイス13は、例えば、マウス、キーボード等であり、ユーザによる情報の入力を受け付ける。表示デバイス16は、例えば、ディスプレイであり、各種情報を含むユーザインターフェースを表示出力する。
【0088】
なお、ラベリングシステム1は、計算機10と、計算機10とネットワークを介して接続されたユーザが使用する計算機(ユーザ計算機:情報処理装置)とにより構成するようにしてもよい。この場合には、計算機10と、ユーザ計算機とが実行する処理の切り分けは、任意でよく、例えば、入力デバイス13及び表示デバイス16が実行していた処理を、ユーザ計算機側に実行させるようにしてもよい。なお、後述する他の実施形態に係るシステムは、上記同様に計算機10や、計算機10及びネットワークを介して接続されたユーザ計算機により構成することができる。
【0089】
次に、第2実施形態に係るラベリングシステムについて説明する。なお、第1実施形態に係るラベリングシステムと同様な構成については、同一の符号を付すこととする。
【0090】
第1実施形態に係るラベリングシステム1においては、人間アノテーション処理1000において、ラベルの追加や変更があった場合に、再度、階層活動認識モデル訓練処理300を実行し、機械アノテーション処理900を実行するようにしていたが、第2実施形態に係るラベリングシステム1Aでは、階層活動認識モデル訓練処理300を実行せずに、時系列データに対するラベルリングの精度を向上することができる。これにより、比較的時間のかかる階層活動認識モデル訓練処理300を実行せずに、迅速にラベリングの精度を向上することができる。
【0091】
図13は、第2実施形態に係るラベリングシステムの機能構成図である。
【0092】
ラベリングシステム1Aは、ラベリングシステム1に対して、人間アノテーション部104に代えて人間アノテーション部1102を備え、機械アノテーション・部分再構築部1101を更に備えている。
【0093】
人間アノテーション部1102は、人間アノテーション部104に対して新たな処理を追加した機能部である。人間アノテーション部1102及び機械アノテーション・部分再構築部1101の具体的な処理については、後述する。
【0094】
次に、機械アノテーション・部分再構築部1101の機械アノテーション・部分再構築処理1300を説明する。
【0095】
図14は、第2実施形態に係る機械アノテーション・部分再構築部の処理を説明する図である。
図15は、第2実施形態に係る機械アノテーション・部分再構築処理を説明するフローチャートである。
【0096】
機械アノテーション・部分再構築部1101は、低レベルラベルデータセット1205の低レベルラベルLと、高レベルラベルデータセット1207の高レベルラベルHと、低レベルクラス確率データセット203の低レベルクラス確率Pとを入力する(ステップ1301)。ここで、低レベルラベルデータセット1205は、低レベルラベルデータセット205に対して、人間アノテーション部1102による処理による変更が反映されたデータセットであり、高レベルラベルデータセット1207は、高レベルラベルデータセット207に対して、人間アノテーション部1102による処理による変更が反映されたデータセットである。
【0097】
機械アノテーション・部分再構築部1101は、低レベルラベルLから認証されていないラベルを削除する(ステップ1302)。具体的には、機械アノテーション・部分再構築部1101は、低レベルラベルLの中の認証済み606の値がTrueであるラベルを低レベルラベルLに設定する。ここで、機械アノテーション部103のステップ902の処理との違いは、高レベルラベルHから認証済み705の値がFalseであるラベルが削除されていないことである。
【0098】
機械アノテーション・部分再構築部1101は、高レベルラベルHの各高レベルラベルhについて、高レベルラベルhに対応するシーケンシャルモデル206を、低レベルクラス確率データセット203の高レベルラベルhに対応する時間区間に対して実行することにより、その時間区間についての低レベルラベルNのシーケンスを予測する。次いで、機械アノテーション・部分再構築部1101は、これらの予測された低レベルラベルNについての認証済みのカラムをFalseに設定する(ステップ1303)。
【0099】
機械アノテーション・部分再構築部1101は、低レベルラベルNを低レベルラベルLと混合して、新たな低レベルラベルLに設定する(ステップ1304)。次いで、機械アノテーション・部分再構築部1101は、低レベルラベルLを人間のアノテーションにおいてレビューさせるために出力として人間アノテーション部1102に渡す(ステップ1305)。
【0100】
次に、人間アノテーション部1102による人間アノテーション処理1400を含む全体処理について説明する。
【0101】
図16は、第2実施形態に係る全体処理のフローチャートである。なお、
図10の全体処理と同様な部分には同一の符号を付している。
【0102】
本実施形態では、ステップ1006において、モデルの再訓練が選択されていない判定した場合(ステップ1006:No)には、人間アノテーション部1102は、高レベルラベルが修正されたか否かを判定し(ステップ1401)、高レベルラベルが修正されていない場合(ステップ1401:No)には、処理をステップ1001に進める一方、高レベルラベルが修正されている場合(ステップS1401:Yes)には、処理をステップ1300に進める。
【0103】
ステップ1300では、機械アノテーション・部分再構築部1101が機械アノテーション・部分再構築処理1300を実行する。
【0104】
上記した処理によると、高レベルラベルが修正された場合において、モデルの再訓練を行うための階層活動認識モデル訓練処理300を行わずに、機械アノテーション・部分再構築処理1300を行うようにすることができる。これにより、比較的時間を要する階層活動認識モデル訓練処理300を行うことなく、短時間で時系列データに対するラベリングの精度を向上することができる。
【0105】
次に、第3実施形態に係るラベリングシステムについて説明する。なお、第1実施形態に係るラベリングシステムと同様な構成については、同一の符号を付すこととする。
【0106】
図17は、第3実施形態に係る機械アノテーション部の処理を説明する図である。
図18は、第3実施形態に係る機械アノテーション処理のフローチャートである。
【0107】
第3実施形態に係るラベリングシステムは、第1実施形態に係るラベリングシステム1の機械アノテーション部103に代えて、機械アノテーション部1500を備えるシステムである。機械アノテーション部1500は、機械アノテーション部103の機能に加えて、重要度採点部1501と、重要度採点部1503とを備える。重要度採点部1501は、高レベルモデル204から出力された高レベルラベルの重要度を採点し、重要度のデータを高レベルラベル優先データセット1502に出力する。重要度採点部1503は、シーケンシャルモデル206から出力された低レベルラベルの重要度を採点し、重要度のデータを低レベルラベル優先データセット1504に出力する。
【0108】
機械アノテーション処理において、機械アノテーション部1500は、低レベルラベルデータセット205の低レベルラベルLと、高レベルラベルデータセット207の高レベルラベルHと、低レベルクラス確率データセット203の低レベルクラス確率Pとを入力する(ステップ1601)。
【0109】
機械アノテーション部1500は、高レベルラベルH及び低レベルラベルLから認証されていないラベルを削除する(ステップ1602)。具体的には、機械アノテーション部1500は、高レベルラベルHの中の認証済み705の値がTrueであるラベルを高レベルラベルHに設定し、低レベルラベルLの中の認証済み606の値がTrueであるラベルを低レベルラベルLに設定する。
【0110】
機械アノテーション部1500は、時系列データから得られた低レベルクラス確率Pを高レベルモデル204に入力することで、時系列データにおけるラベル無しの時間区間に対しての高レベルラベルRを予測し、予測した高レベルラベルRのすべてについて認証済みをFalseに設定する(ステップ1603)。
【0111】
機械アノテーション部1500の重要度採点部1501は、高レベルラベルRの各ラベルについての重要度をIとして計算する。例えば、重要度採点部1501は、対象のラベルについての高レベルモデル(例えば、モデルにおける分類器)から出力される各クラスについてのクラス確率のエントロピを計算することでモデルの確実性を示す重要度を決定するようにしてもよい。高い不確実性を示す対象のラベルについては高いエントロピが算出される。重要度採点部1501は、高レベルラベルデータセット207に存在する認証済みのラベルに対しては、重要度0を割り当てて、重要度Qとする(ステップ1604)。
【0112】
機械アノテーション部1500は、高レベルラベルRを高レベルラベルHと混合して、新たな高レベルラベルHに設定し、重要度Qを重要度Iと混合して新たな重要度Iに設定する(ステップ1605)。重要度Iは、高レベルラベル優先データセット1502に格納される。
【0113】
機械アノテーション部1500は、高レベルラベルHの各高レベルラベルhについて、高レベルラベルhに対応するシーケンシャルモデル206を、時系列データにおけるラベル無しの時間区間に対して実行することにより、その時間区間についての低レベルラベルNのシーケンスを予測する。次いで、機械アノテーション部1500は、これらの予測された低レベルラベルNのすべてについて認証済みのカラムをFalseに設定する(ステップ1606)。
【0114】
機械アノテーション部1500の重要度採点部1503は、低レベルラベルNの各ラベルについての重要度をJとして計算する。例えば、重要度採点部1503は、対象のラベルについてのシーケンシャルモデル206(例えば、モデルにおける分類器)から出力される各クラスについてのクラス確率のエントロピを計算することでモデルの確実性を示す重要度を決定するようにしてもよい。高い不確実性を示す対象のラベルについては高いエントロピが算出される。重要度採点部1503は、低レベルラベルデータセット205に存在する認証済みのラベルに対しては、重要度0を割り当てて、重要度Gとする(ステップ1607)。
【0115】
機械アノテーション部1500は、低レベルラベルNを低レベルラベルLと混合して、新たな低レベルラベルLに設定し、重要度Gを重要度Jと混合して新たな重要度Jに設定する(ステップ1608)。重要度Jは、低レベルラベル優先データセット1504に格納される。
【0116】
次いで、機械アノテーション部1500は、低レベルラベルLと、高レベルラベルHと、重要度Iと、重要度Jとを、人間のアノテーションにおいてレビューさせるために出力として人間アノテーション部104に渡す(ステップ1609)。
【0117】
この後、人間アノテーション部104は、各ラベルと、そのラベルについての重要度を併せて、ユーザインターフェースにより表示される。これにより、ユーザは、表示されるラベルについての重要度を特定でき、注意を払うべきラベルを容易且つ適切に把握することができる。
【0118】
次に、高レベルラベル優先データセット1502の構成について説明する。
【0119】
図19は、第3実施形態に係る高レベルラベル優先データセットの構成図である。
【0120】
高レベルラベル優先データセット1502は、高レベルラベルデータセット207の高レベルラベル毎のエントリを格納する。高レベルラベル優先データセット1502のエントリは、高レベルラベル1701と、重要度1702とのカラムを含む。
【0121】
高レベルラベル1701には、エントリに対応する高レベルラベルを示すインデックスが格納される。重要度1702には、エントリに対応する高レベルラベルに対して重要度採点部1501により算出された重要度が格納される。
【0122】
次に、低レベルラベル優先データセット1504の構成について説明する。
【0123】
図20は、第3実施形態に係る低レベルラベル優先データセットの構成図である。
【0124】
低レベルラベル優先データセット1504は、低レベルラベルデータセット205の低レベルラベル毎のエントリを格納する。低レベルラベル優先データセット1504のエントリは、低レベルラベル1801と、重要度1802とのカラムを含む。
【0125】
低レベルラベル1801には、エントリに対応する低レベルラベルを示すインデックスが格納される。重要度1802には、エントリに対応する低レベルラベルに対して重要度採点部1503により算出された重要度が格納される。
【0126】
次に、第4実施形態に係る活動認識システム2について説明する。なお、第1実施形態に係るラベリングシステムと同様な構成については、同一の符号を付すこととする。
【0127】
第4実施形態に係る活動認識システム2は、第1実施形態に係るラベリングシステム1により訓練された機械学習モデル(訓練後の、低レベルモデル202、高レベルモデル204、及びシーケンシャルモデル206)を用いて、入力される時系列データに含まれる活動におけるエラーを検出する。
【0128】
図21は、第4実施形態に係る活動認識システムの機能構成図である。
図22は、第4実施形態に係るエラー検出処理のフローチャートである。
【0129】
活動認識システム2は、時系列データデータセット2001の時系列データSを入力する(ステップ2101)。ここで、時系列データデータセット2001は、活動を認識する対象となる、ラベルが付けられていない時系列データのデータセットであり、活動を行う人物を撮影した映像データ又は活動を行う人物に装着されたセンサによる時系列のセンサデータを含む。各時系列データは、リアルタイムに得られるデータであってもよい。時系列データデータセット2001の構成自体は、時系列データデータセット201と同様である。
【0130】
活動認識システム2は、時系列データSを低レベルモデル202に入力して、時系列データSについての各時刻における低レベルクラス確率Pを生成する(ステップ2102)。生成した低レベルクラス確率Pは、低レベルクラス確率データセット2002に格納される。低レベルクラス確率データセット2002の構成自体は、低レベルクラス確率データセット203と同様である。
【0131】
活動認識システム2は、時系列データから得られた低レベルクラス確率Pを高レベルモデル204に入力することで、時系列データに対しての高レベルラベルHを予測(生成)し、生成した高レベルラベルHを高レベルラベルデータセット2003に格納する(ステップ2103)。高レベルラベルデータセット2003の構成自体は、高レベルラベルデータセット207と同様である。
【0132】
活動認識システム2は、高レベルラベルHの各高レベルラベルhについて、高レベルラベルhに対応するシーケンシャルモデル206を、低レベルクラス確率データセット2002の高レベルラベルhに対応する時間区間に対して実行することにより、その時間区間についての低レベルラベルLのシーケンスを予測し、生成した低レベルラベルLを低レベルラベルデータセット2004に格納する(ステップ2104)。低レベルラベルデータセット2004の構成自体は、低レベルラベルデータセット205と同様である。
【0133】
活動認識システム2のエラー検出部2005は、機械学習モデルからの出力に基づいて、時系列データにおける各時刻において発生した、エラー又は異常の確率を計算する(ステップ2105)。エラー検出部2005は、シーケンシャルモデル206として使用されているHMMの一部として実行されるForward-Backwardアルゴリズムから出力される放出確率の行列を解析してもよい。この場合、放出確率の行列は、HMMにおける、シーケンシャルモデルの入力として使用される低レベルクラス確率データセット203の放出される観測されるベクトルを示す確率を与える。エラー検出部2005は、それぞれの時間区間における放出確率のエントロピを計算することにより、予期しない観察を検出し、高エントロピは、時系列データにおける潜在的なエラー又は異常を示しており、これによって、その時刻における高いエラー検出確率を保証することができる。エラー検出部2005は、シーケンシャルモデルを通して実行されなかった全ての時刻には、対応する高レベルラベルを有さないので、エラー検出確率として0を割当てる。
【0134】
次いで、活動認識システム2は、エラー検出確率Zを出力する(ステップ2106)。この後、活動認識システム2は、エラー検出確率に基づく情報をユーザインターフェースにより表示してもよい。また、活動認識システム2は、エラー検出確率に基づいて、異常な活動が含まれているか否かを判定し、その結果をユーザインターフェースにより表示してもよい。
【0135】
次に、エラー検出確率データセット2006の構成について説明する。
【0136】
図23は、第4実施形態に係るエラー検出確率データセットの構成図である。
【0137】
エラー検出確率データセット2006は、各時刻毎のエントリを格納する。エラー検出確率データセット2006のエントリは、タイムスタンプ2201と、エラー検出確率2202とのカラムを含む。
【0138】
タイムスタンプ2201には、エントリに対応する時刻を示すタイムスタンプが格納される。例えば、時系列データデータセット201に全部でH個のサンプルがあるとすると、最初のサンプルのタイムスタンプをT1で示し、最後のサンプルのタイムスタンプを、THで示す。なお、本実施形態では、時系列データのオリジナルのサンプルに対して1対1でエラー検出確率を生成するようにしているが、これに限られない。エラー検出確率2202には、エントリに対応するタイムスタンプが示す時刻における、エラー検出部2005によって計算された時系列データにおけるエラー検出確率が格納される。
【0139】
次に、第5実施形態に係る教材生成システム3について説明する。なお、第1実施形態に係るラベリングシステムと同様な構成については、同一の符号を付すこととする。
【0140】
第5実施形態に係る教材生成システム3は、第1実施形態に係るラベリングシステム1により訓練された機械学習モデル(訓練後の、低レベルモデル202、高レベルモデル204、及びシーケンシャルモデル206)を用いて、時系列データから教材を生成する。
【0141】
図24は、第5実施形態に係る教材生成システムの機能構成図である。
図25は、第5実施形態に係る教材生成処理のフローチャートである。
【0142】
教材生成システム3によるステップ2401~2404は、第4実施形態における活動認識システム2によるステップ2101~2104と同様である。
【0143】
教材生成システム3の教材生成部2301は、機械学習モデルを使用して、所定の手順(例えば、高レベルラベルデータセット207のラベルクラス{HC1,HC2,・・・,HCK}からのラベルクラスc)についての予想される低レベルのステップのシーケンス(つまり、低レベルラベルデータセット205)を集約する(ステップ2405)。教材生成部2301は、例えば、各高レベルラベルのクラスについての低レベルラベルデータセット205の観察されるステップの組合せの情報(教材)のそれぞれを記憶したり、出力したりしてもよい。また、この情報に対して、各ステップや手順(活動)の時間の長さについての最小値、最大値、平均値、及び標準偏差等の情報を含めてもよい。
【0144】
この教材生成システム3によると、高レベルラベルのクラスと、その高レベルラベルのクラスに属する低レベルラベルのクラスを適切にユーザに把握させることができる。
【0145】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。
【0146】
例えば、上記実施形態では、時系列データを入力として、高レベルラベルと、低レベルラベルとを出力する機械学習モデルとして、低レベルモデル202、高レベルモデル204、及びシーケンシャルモデル206を含む機械学習モデルとしていたが、本発明はこれに限られず、1つのモデルにより構成されてもよく、他の複数のモデルにより構成されていてもよい。
【0147】
また、上記第4実施形態に係る活動認識システム2又は第5実施形態に係る教材生成システム3において、第1実施形態乃至第3実施形態における機械学習モデルを訓練する構成(階層活動認識モデル訓練部102等)を備え、機械学習モデルを訓練するようにしてもよい。
【0148】
また、上記実施形態において、CPUが行っていた処理の一部又は全部を、ハードウェア回路で行うようにしてもよい。また、上記実施形態におけるプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記録メディア(例えば可搬型の記録メディア)であってもよい。
【符号の説明】
【0149】
1,1A…ラベリングシステム、2…活動認識システム、3…教材生成システム、10…計算機、12…CPU、102…階層活動認識モデル訓練部、103…機械アノテーション部、104…人間アノテーション部、202…低レベルモデル、204…高レベルモデル、206…シーケンシャルモデル