(57)【要約】【課題】動的な認識対象を画像認識する。【解決手段】画像認識装置１は、時空間画像データ生成部２によって、動画データ４を構成するフレーム画像データ６をヒルベルトスキャンして１次元空間画像データ７を生成し、更に１次元空間画像データ７を時間方向に配列して空間的情報と時間的情報を保持した２次元の時空間画像データ８を生成する。このように画像認識装置１は、空間的情報と時間的情報を保持しつつ、動画データ４を２次元の時空間画像データ８に画像変換する。次に、画像認識装置１は、ＣＮＮ部３によって、時空間画像データ８に対して２次元フィルタを用いた畳み込み処理を行い、認識対象である歩行者の行動を画像認識する。このように、画像認識装置１は、空間２次元、時間１次元の３次元の解析を要する歩行者の行動認識を、２次元画像のＣＮＮによる画像認識処理により行い、歩行者の状態を推定できる。【選択図】図１
2019028985.tif 000002
【特許請求の範囲】
【請求項１】
空間内での認識対象の位置を時間の経過に従って記録した時系列空間情報を取得する時系列空間情報取得手段と、
前記取得した時系列空間情報を所定の方向に走査して当該所定の方向におけるデータ値の列を取得するデータ値取得手段と、
前記取得したデータ値の列を、前記時系列空間情報の他の方向に対応して配列して前記認識対象を画像認識するための画像データを生成する画像データ生成手段と、
前記生成した画像データを出力する出力手段と、
を具備したことを特徴とする画像データ生成装置。
【請求項２】
前記所定の方向は、前記時系列空間情報の空間方向であり、前記他の方向は、前記時系列空間情報の時間方向であることを特徴とする請求項１に記載の画像データ生成装置。
【請求項３】
前記データ値取得手段は、前記所定の方向におけるデータ値の局所性に対応して屈曲を繰り返す曲線を走査経路として設定し、当該設定した走査経路に沿って前記データ値の列を取得することを特徴とする請求項１、又は請求項２に記載の画像データ生成装置。
【請求項４】
前記データ値取得手段は、前記屈曲を繰り返す曲線として空間充填曲線を設定することを特徴とする請求項３に記載の画像データ生成装置。
【請求項５】
前記時系列空間情報は、前記認識対象を撮影した動画データであり、
前記データ値取得手段は、前記動画データの各フレーム画像データに前記曲線を設定し、前記各フレーム画像データを走査して、画素値の列をデータ値の列として取得し、
前記画像データ生成手段は、フレーム画像データごとの画素値の列を時間方向に対応して配列した２次元の前記画像データを生成することを特徴とする請求項４に記載の画像データ生成装置。
【請求項６】
前記データ値取得手段は、前記フレーム画像データごとに、前記曲線の設定条件を変化させることを特徴とする請求項５に記載の画像データ生成装置。
【請求項７】
前記データ値取得手段は、前記設定条件として、前記曲線の設定範囲を変化させることを特徴とする請求項６に記載の画像データ生成装置。
【請求項８】
前記データ値取得手段は、前記設定条件として、前記フレーム画像データごとに、前記曲線の設定形態を変化させることを特徴とする請求項６に記載の画像データ生成装置。
【請求項９】
前記データ値取得手段は、同一のフレーム画像データに対して前記曲線の設定条件を変化させて、当該設定条件ごとにデータ値を取得することを特徴とする請求項６、請求項７、又は請求項８に記載の画像データ生成装置。
【請求項１０】
前記データ値取得手段は、直線状の走査経路に沿って前記データ値の列を取得することを特徴とする請求項２に記載の画像データ生成装置。
【請求項１１】
前記時系列空間情報は、前記認識対象を撮影した動画データであり、
前記動画データを構成するフレーム画像の少なくとも一部の静止画像データに対して前記走査経路の走査方向を決定する走査方向決定手段を具備し、
前記データ値取得手段は、前記決定した走査方向に沿って前記データ値の列を取得し、
前記画像データ生成手段は、前記静止画像データごとの画素値の列を時間方向に対応して配列した２次元の前記画像データを生成することを特徴とする請求項１０に記載の画像データ生成装置。
【請求項１２】
前記走査方向決定手段は、前記静止画像データによって形成される画像の短手方向に前記走査方向を決定することを特徴とする請求項１１に記載の画像データ生成装置。
【請求項１３】
請求項１から請求項１２までのうちの何れか１の請求項に記載の画像データ生成装置と、
前記画像データ生成装置が出力した画像データを取得する画像データ取得手段と、
認識対象を画像認識するための学習データを取得する学習データ取得手段と、
前記取得した学習データを用いて前記取得した画像データに含まれている前記認識対象を認識する認識手段と、
を具備したことを特徴とする画像認識装置。
【請求項１４】
空間内での認識対象の位置を時間の経過に従って記録した時系列空間情報を取得する時系列空間情報取得機能と、
前記取得した時系列空間情報を所定の方向に走査して当該所定の方向におけるデータ値の列を取得するデータ値取得機能と、
前記取得したデータ値の列を、前記時系列空間情報の他の方向に対応して配列して前記認識対象を画像認識するための画像データを生成する画像データ生成機能と、
前記生成した画像データを出力する出力機能と、
をコンピュータで実現する画像データ生成プログラム。
【請求項１５】
空間内での認識対象の位置を時間の経過に従って記録した時系列空間情報を取得する時系列空間情報取得機能と、
前記取得した時系列空間情報を所定の方向に走査して当該所定の方向におけるデータ値の列を取得するデータ値取得機能と、
前記取得したデータ値の列を、前記時系列空間情報の他の方向に対応して配列して前記認識対象を画像認識するための画像データを生成する画像データ生成機能と、
前記生成した画像データを出力する出力機能と、
前記出力した画像データを取得する画像データ取得機能と、
認識対象を画像認識するための学習データを取得する学習データ取得機能と、
前記取得した学習データを用いて前記取得した画像データに含まれている前記認識対象を認識する認識機能と、
をコンピュータで実現する画像認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データ生成装置、画像認識装置、画像データ生成プログラム、及び画像認識プログラムに関し、例えば、ＣＮＮを用いて歩行者等の各種画像を認識するものに関する。
【背景技術】
【０００２】
近年、人工知能を用いた深層学習が盛んに研究され、ＣＮＮを用いた２次元画像の画像認識の分野において大きな成果が報告されている。
動画は２次元画像であるフレーム画像を時系列的に並べたものであるため、２次元画像に対する深層学習の技術を動画に適用したいとの要望が高まっている。
このような２次元の画像認識技術を用いて動画を認識する技術として非特許文献１の「３Ｄ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ  ｆｏｒ  Ｈｕｍａｎ  Ａｃｔｉｏｎ  Ｒｅｃｏｇｎｉｔｉｏｎ」や非特許文献２の「フレーム連結画像を用いたＣＮＮによるシーン認識」がある。
非特許文献１の技術は、動画データに対して空間２次元と時間１次元から成る畳み込みフィルタを適用して、畳み込み処理を行うものである。
非特許文献２の技術は、対象の動き（発話シーン）を撮影した一連のフレーム画像をタイル状に配置して連結することにより、１枚の２次元の画像で対象の経時変化を表すものである。これをＣＮＮによる画像認識装置に投入してシーンの認識を行う。
【０００３】
しかし、非特許文献１の技術では、動画データに対して３次元の畳み込みフィルタを繰り返し使用するため、計算コストが多くなり、大規模な計算機を要するという問題があった。
非特許文献２記載の技術では、２次元の畳み込みフィルタを用いるため、計算コストを低減することができるが、タイル状に隣接する画像の画素間には情報の関連性がなく、対象の認識精度が低下するという問題があった。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，  Ｖｏｌ．３５，  ｐｐ．２２１−２３１，２０１３，「３Ｄ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ  ｆｏｒ  Ｈｕｍａｎ  Ａｃｔｉｏｎ  Ｒｅｃｏｇｎｉｔｉｏｎ」
【非特許文献２】ＭＩＲＵ２０１６  第１９回  画像の認識・理解シンポジウム  ＰＳ１−２７「フレーム連結画像を用いたＣＮＮによるシーン認識」
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、動的な認識対象を画像認識することを目的とする。
【課題を解決するための手段】
【０００６】
（１）請求項１に記載の発明では、空間内での認識対象の位置を時間の経過に従って記録した時系列空間情報を取得する時系列空間情報取得手段と、前記取得した時系列空間情報を所定の方向に走査して当該所定の方向におけるデータ値の列を取得するデータ値取得手段と、前記取得したデータ値の列を、前記時系列空間情報の他の方向に対応して配列して前記認識対象を画像認識するための画像データを生成する画像データ生成手段と、前記生成した画像データを出力する出力手段と、を具備したことを特徴とする画像データ生成装置を提供する。
（２）請求項２に記載の発明では、前記所定の方向が、前記時系列空間情報の空間方向であり、前記他の方向は、前記時系列空間情報の時間方向であることを特徴とする請求項１に記載の画像データ生成装置を提供する。
（３）請求項３に記載の発明では、前記データ値取得手段が、前記所定の方向におけるデータ値の局所性に対応して屈曲を繰り返す曲線を走査経路として設定し、当該設定した走査経路に沿って前記データ値の列を取得することを特徴とする請求項１、又は請求項２に記載の画像データ生成装置を提供する。
（４）請求項４に記載の発明では、前記データ値取得手段が、前記屈曲を繰り返す曲線として空間充填曲線を設定することを特徴とする請求項３に記載の画像データ生成装置を提供する。
（５）請求項５に記載の発明では、前記時系列空間情報が、前記認識対象を撮影した動画データであり、前記データ値取得手段は、前記動画データの各フレーム画像データに前記曲線を設定し、前記各フレーム画像データを走査して、画素値の列をデータ値の列として取得し、前記画像データ生成手段は、フレーム画像データごとの画素値の列を時間方向に対応して配列した２次元の前記画像データを生成することを特徴とする請求項４に記載の画像データ生成装置を提供する。
（６）請求項６に記載の発明では、前記データ値取得手段が、前記フレーム画像データごとに、前記曲線の設定条件を変化させることを特徴とする請求項５に記載の画像データ生成装置を提供する。
（７）請求項７に記載の発明では、前記データ値取得手段が、前記設定条件として、前記曲線の設定範囲を変化させることを特徴とする請求項６に記載の画像データ生成装置を提供する。
（８）請求項８に記載の発明では、前記データ値取得手段が、前記設定条件として、前記フレーム画像データごとに、前記曲線の設定形態を変化させることを特徴とする請求項６に記載の画像データ生成装置を提供する。
（９）請求項９に記載の発明では、前記データ値取得手段が、同一のフレーム画像データに対して前記曲線の設定条件を変化させて、当該設定条件ごとにデータ値を取得することを特徴とする請求項６、請求項７、又は請求項８に記載の画像データ生成装置を提供する。
（１０）請求項１０に記載の発明では、前記データ値取得手段が、直線状の走査経路に沿って前記データ値の列を取得することを特徴とする請求項２に記載の画像データ生成装置を提供する。
（１１）請求項１１に記載の発明では、前記時系列空間情報が、前記認識対象を撮影した動画データであり、前記動画データを構成するフレーム画像の少なくとも一部の静止画像データに対して前記走査経路の走査方向を決定する走査方向決定手段を具備し、前記データ値取得手段は、前記決定した走査方向に沿って前記データ値の列を取得し、前記画像データ生成手段は、前記静止画像データごとの画素値の列を時間方向に対応して配列した２次元の前記画像データを生成することを特徴とする請求項１０に記載の画像データ生成装置を提供する。
（１２）請求項１２に記載の発明では、前記走査方向決定手段が、前記静止画像データによって形成される画像の短手方向に前記走査方向を決定することを特徴とする請求項１１に記載の画像データ生成装置を提供する。
（１３）請求項１３に記載の発明では、請求項１から請求項１２までのうちの何れか１の請求項に記載の画像データ生成装置と、前記画像データ生成装置が出力した画像データを取得する画像データ取得手段と、認識対象を画像認識するための学習データを取得する学習データ取得手段と、前記取得した学習データを用いて前記取得した画像データに含まれている前記認識対象を認識する認識手段と、を具備したことを特徴とする画像認識装置を提供する。
（１４）請求項１４に記載の発明では、空間内での認識対象の位置を時間の経過に従って記録した時系列空間情報を取得する時系列空間情報取得機能と、前記取得した時系列空間情報を所定の方向に走査して当該所定の方向におけるデータ値の列を取得するデータ値取得機能と、前記取得したデータ値の列を、前記時系列空間情報の他の方向に対応して配列して前記認識対象を画像認識するための画像データを生成する画像データ生成機能と、前記生成した画像データを出力する出力機能と、をコンピュータで実現する画像データ生成プログラムを提供する。
（１５）請求項１５に記載の発明では、空間内での認識対象の位置を時間の経過に従って記録した時系列空間情報を取得する時系列空間情報取得機能と、前記取得した時系列空間情報を所定の方向に走査して当該所定の方向におけるデータ値の列を取得するデータ値取得機能と、前記取得したデータ値の列を、前記時系列空間情報の他の方向に対応して配列して前記認識対象を画像認識するための画像データを生成する画像データ生成機能と、前記生成した画像データを出力する出力機能と、前記出力した画像データを取得する画像データ取得機能と、認識対象を画像認識するための学習データを取得する学習データ取得機能と、前記取得した学習データを用いて前記取得した画像データに含まれている前記認識対象を認識する認識機能と、をコンピュータで実現する画像認識プログラムを提供する。
【発明の効果】
【０００７】
本発明によれば、空間的な情報と時間的な情報を併せ持つ時空間画像データを生成することにより、動的な認識対象を画像認識することができる。
【図面の簡単な説明】
【０００８】
【図１】画像認識装置の構成を説明するための図である。
【図２】ヒルベルトスキャンを説明するための図である。
【図３】動画データをクリッピングする方法を説明するための図である。
【図４】クリッピングの変形例を説明するための図である。
【図５】画像認識装置のハードウェア的な構成の一例を示した図である。
【図６】画像認識処理の手順を説明するためのフローチャートである。
【図７】実験結果を説明するための図である。
【図８】変形例７を説明するための図である。
【図９】変形例７の画像認識処理の手順を説明するためのフローチャートである。
【図１０】変形例８を説明するための図である。
【発明を実施するための形態】
【０００９】
（１）実施形態の概要
画像認識装置１（図１）は、時空間画像データ生成部２によって、動画データ４を構成するフレーム画像データ６をヒルベルトスキャンして１次元空間画像データ７を生成し、更に、１次元空間画像データ７を時間方向に配列して空間的情報と時間的情報を保持した２次元の時空間画像データ８を生成する。
このように、画像認識装置１は、空間的情報と時間的情報を保持しつつ、動画データ４を２次元の時空間画像データ８に画像変換する。
次に、画像認識装置１は、ＣＮＮ部３によって、時空間画像データ８に対して２次元フィルタを用いた畳み込み処理を行い、認識対象である歩行者の行動を画像認識する。
このように、画像認識装置１は、本来は、空間２次元と時間１次元による３次元の解析を要する歩行者の行動認識を、２次元画像のＣＮＮ（深層学習を用いた人工知能の一つ）による画像認識処理によって行い、歩行者の状態を推定することができる。
【００１０】
（２）実施形態の詳細
図１は、本実施の形態に係る画像認識装置１の構成を説明するための図である。
図１（ａ）に示した画像認識装置１は、車載装置であって、画像認識用の画像データの生成を行う時空間画像データ生成部２と深層学習を用いた人工知能による画像認識処理を行うＣＮＮ部３を備えており、車載のカメラが出力した動画データを解析して車外に存在する歩行者の有無と動作状態の分類（右直立、右歩行、左直立、左歩行など）を画像認識する。
【００１１】
なお、これは一例であって、例えば、車両の前方の道路や地形を読み取ったり、あるいは、監視カメラと接続して通行人を認識・追跡したりするなど、動的な認識対象を画像認識する一般的な用途に広く使用することができる。
【００１２】
時空間画像データ生成部２は、画像データ生成装置として機能するモジュールであって、カメラが撮影・生成した動画データ４を時空間画像データ８に変換する。
カメラによって撮影された動画データ４は、時系列的に生成されたフレーム画像データ６ａ、６ｂ、…から構成されている。
以降、フレーム画像データ６ａ、６ｂ、…を特に区別しない場合は、単にフレーム画像データ６と記し、後述する他の構成要素についても同様とする。
【００１３】
フレーム画像データ６は、ある瞬間において被写体（認識対象）を撮影した、空間方向の（ｘ、ｙ）成分を有する２次元の静止画像データである。
動画データ４は、フレーム画像データ６を撮影時間に従って時間方向（ｔ軸とする）に時系列に順序づけて並べた静止画像データの集合であり、空間方向の２次元、時間方向の１次元を合計した３次元データとなる。
ここで、動画データ４は、空間内での認識対象の位置を時間の経過に従って記録した時系列空間情報として機能している。
【００１４】
時空間画像データ生成部２は、カメラから逐次送られてくるフレーム画像データ６を時系列的に所定枚数分（Ｑ枚）を読み込む。
このように、時空間画像データ生成部２は、カメラより時系列空間情報を取得する時系列空間情報取得手段を備えている。
ここでは、一例として最初のフレーム画像データ６ａから最新のフレーム画像データ６ｆまでの６枚のフレーム画像データ６を読み込むことにする。
なお、画像認識精度が許容範囲内に保たれる限度まで、フレーム画像データ６を所定枚数ごとに、あるいは、ランダムに読み込んだり、または、コマ落ちが生じてもよい。
【００１５】
なお、フレーム画像データ６を読み込む順番については、この逆も可能である。
すなわち、時空間画像データ生成部２は、カメラから逐次送られてくるフレーム画像データ６のうち、最新のものから過去のものへ時系列的に所定枚数分を読み込むようにしてもよい。この場合の一例としては、最新のフレーム画像データ６ｆから過去方向のフレーム画像データ６ａまでの６枚のフレーム画像データ６を読み込むことになる。
【００１６】
時空間画像データ生成部２は、これらのフレーム画像データ６を読み込むと、まず、フレーム画像データ６ａに対して空間方向（ｘ軸とｙ軸で張られる面の面方向）にヒルベルト曲線（後述）を一筆書き的に設定する。そして、時空間画像データ生成部２は、当該ヒルベルト曲線に沿ってフレーム画像データ６ａの画素の画素値をスキャン（走査）して読み取り、これらを１列に展開する。この処理は、ヒルベルトスキャンと呼ばれ、詳細は後述する。
【００１７】
フレーム画像データ６ａをヒルベルトスキャンすることにより、フレーム画像データ６ａを撮影した時点での、空間的情報を含む空間方向の１次元データである１次元空間画像データ７ａが得られる。
時空間画像データ生成部２は、同様にして、フレーム画像データ６ｂ〜６ｆも図示しない１次元空間画像データ７ｂ〜７ｆに変換する。
後述するように、ヒルベルト曲線は屈曲しているため、これに沿ってスキャンすると、画像の局所性を極力保持したまま２次元画像を１次元化することができる。
このように、時空間画像データ生成部２は、時系列空間情報を所定の方向（この例では、空間方向であり、時間方向とすることも可能）に走査して当該所定の方向におけるデータ値（この例では画素値）の列を取得するデータ値取得手段を備えている。
そして、当該データ値取得手段は、走査経路として、当該所定の方向におけるデータ値の局所性に対応して屈曲を繰り返す曲線（この例では、ヒルベルト曲線）を設定し、当該設定した曲線に沿って時系列空間情報を走査して当該所定の方向におけるデータ値（この例では、画素値）の列を取得している。
【００１８】
次いで、時空間画像データ生成部２は、図１（ｂ）に示したように、１次元空間画像データ７ａ〜７ｆを時間方向に（即ち撮影時間の順番に）時系列的に配列して画像認識用の時空間画像データ８を生成する。
このように、時空間画像データ生成部２は、取得したデータ値の列を、時系列空間情報の他の方向（この例では、時間方向）に対応して配列して認識対象を画像認識するための画像データ（時空間画像データ８）を生成する画像データ生成手段を備えている。
【００１９】
時空間画像データ８は、一辺の方向が空間的情報（空間成分）を表し、これに直交する他方の辺が時間的情報（時間成分）を表す２次元画像データである。
このように、時空間画像データ生成部２は、動画データ４を空間方向にヒルベルトスキャンして展開することにより３次元の時系列空間データである動画データ４を、空間的情報、及び時間的情報を保持しつつ、２次元の画像データである時空間画像データ８に変換する。
なお、ここでは１次元空間画像データ７の配列を時系列順としたが、画像認識が可能な範囲で順序を変更することも可能である。
【００２０】
以上のように、時空間画像データ生成部２は、動画データの各フレーム画像データに曲線を設定し、各フレーム画像データを走査して、画素値の列をデータ値の列として取得し、更に、フレーム画像データごとの画素値の列を時間方向に対応して配列した２次元の画像データを生成している。
【００２１】
図１（ａ）に戻り、ＣＮＮ部３は、畳み込みニューラルネットワーク（ＣＮＮ：Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）を用いて２次元画像データの画像認識を行うモジュールである。
ＣＮＮ部３が用いるアルゴリズムは、２次元画像データの画像認識方法として高い評価を得ており、また、広く利用されているものである。
【００２２】
本実施の形態では、ＣＮＮ部３は、右直立、右歩行、左直立、左歩行、…など歩行者が取り得る各種の態様を事前学習しており、時空間画像データ生成部２が出力した時空間画像データ８を読み込んで、これから歩行者の態様が何れの分類クラスに属するかを画像認識し、その結果を出力する。
このように、時空間画像データ生成部２は、生成した画像データをＣＮＮ部３に出力する出力手段を備えている。
【００２３】
ここで、図１（ｃ）を用いてＣＮＮ部３の構成についてより詳細に説明する。
ＣＮＮ部３は、入力側から、畳み込み層１１、プーリング層１２、畳み込み層１３、プーリング層１４、畳み込み層１５、プーリング層１６、全結合層１７の各層を積層して構成されている。
畳み込み層１１は、入力された２次元画像データ（ここでは、時空間画像データ８）に対して２次元フィルタを画像上でスライドさせてフィルタリングすることにより画像の特徴的な濃淡構造を抽出する層であり、周波数解析に対応する処理を行う。
【００２４】
プーリング層１２は、畳み込み層１１によって抽出された特徴を保持しつつデータをダウンサンプリングして縮小する。
歩行者は、動的に動くため、フレーム画像データ６での撮影位置がずれるが、プーリング層１２の処理によって歩行者を表す空間的な特徴の位置のずれを吸収することができる。これによって、空間的な位置ずれに対する画像認識精度の頑強性を高めることができる。
【００２５】
畳み込み層１３、１５と、プーリング層１４、１６の機能は、それぞれ、畳み込み層１１、プーリング層１２と同様である。
全結合層１７は、一般的なニューラルネットワークであり、２次元特徴マップ（畳み込み層１１〜プーリング層１６を経て得られるデータ）を１次元に展開し、回帰分析のような処理を行う層である。
このように、ＣＮＮ部３は、画像の特徴の抽出と位置のずれの吸収を３回行った後、回帰分析的な処理を行って、歩行者の態様を画像認識する。
【００２６】
なお、畳み込み層１１、１３、１５の２次元フィルタの値や、全結合層１７のパラメータは、学習を通してチューニングされている。
学習は、分類クラスごとに多数の時空間画像データ８を用意し、これを画像認識装置１に入力して、その結果をバックプロパゲーションするなどして行う。
【００２７】
図２は、時空間画像データ生成部２が行うヒルベルトスキャンを説明するための図である。
ヒルベルトスキャンは、フレーム画像データ６に各画素を通過するヒルベルト曲線を設定し、これに沿ってスキャンすることにより、フレーム画像データ６の全体に渡って画素値を一筆書き的に読み取る処理である。
【００２８】
ヒルベルト曲線は、図２（ａ）に示したようなコの字型の曲線を組み合わせて形成される空間全体を覆う曲線であり、空間充填曲線と呼ばれるものの一種である。空間充填曲線には、この他にペアノ曲線などもある。図に示した矢線は、スキャンの方向を示している。
このように、時空間画像データ生成部２は、屈曲を繰り返す曲線として空間充填曲線を設定している。
【００２９】
図２（ｂ）に示したような、ｍ×ｍ（ｍ＝２）個の画素１〜４が配置された画像データ２０の例では、これらの画素を通過するヒルベルト曲線２１を設定し、矢線の方向に画素値をスキャンして読み取った画素値を１列に並べると、画素１〜画素４が順に並んだ１次元空間画像データ２２が得られる。
【００３０】
図２（ｃ）に示したような、ｍ×ｍ（ｍ＝４）個の画素１〜Ｇが配置された画像データ２４の例では、これらの画素を通過するヒルベルト曲線２５を設定し、矢線の方向に画素値をスキャンして読み取った画素値を１列に並べると、画素１〜画素Ｇが順に並んだ１次元空間画像データ２６が得られる。
更に、より画素の多い画像データも同様に、ヒルベルト曲線に従ってスキャンする。
【００３１】
ところで、例えば、図２（ｃ）の画像データ２４では、領域２７に画素１、２、５、６が局在しているが、これらの画素は１次元空間画像データ２６においても領域２８に局在している。
同様に、画像データ２４で局在している画素３、４、７、８も１次元空間画像データ２６で局在してまとまっている。
このようにヒルベルトスキャンを用いると、画素値の局所性をできるだけ保持したまま２次元データを１次元化することができる。
【００３２】
画像認識は、画像の特徴をパターン認識するため、元画像の局所的な特徴をなるべく損なわないようにして時空間画像データ８を生成することが重要となる。
そのため、ヒルベルト曲線は、フレーム画像データ６をスキャンするための走査線として適した曲線である。
なお、これは、フレーム画像データ６をスキャンする曲線をヒルベルト曲線に限定するものではなく、ペアノ曲線などの他の空間充填曲線や、非空間充填曲線を用いることも可能である。
【００３３】
本実施の形態では、ヒルベルト曲線を画素単位で屈曲させるが、例えば、１つおきの画素で屈曲させ、１つおきの画素値を読み取るといったように、読み取りの間隔を粗くすることも可能である。間隔が細かいほど精度は上がるが、計算コストは増大する。そのため、読み取りの間隔は、画像認識に必要とされる局所性の程度に応じて決定すればよい。
このように、時空間画像データ生成部２は、動画による３次元データをスキャンして２次元データ化することができる。このため、ＣＮＮ部３は、３次元の動画データを２次元フィルタでフィルタリングすることが可能となる。これにより、動画データに３次元フィルタを適用する従来例に比して、計算コストを著しく低減することができる。
【００３４】
図３は、動画データ４をクリッピングする方法を説明するための図である。
上述したように、ヒルベルトスキャンすることによりフレーム画像データ６における画素の局所性をなるべく保持したまま時空間画像データ８を生成することができる。
しかし、局所性の全てが保存されるわけではなく、局在化していた画素が離れてしまう場合もある程度発生する。
【００３５】
例えば、図２（ｃ）で説明した画像データ２４の例において、領域２７に局在している画素１、２、５、６については、１次元空間画像データ２６においても領域２８に局在している。
しかし、画像データ２４において局在している画素５、６、９、Ａからなる領域に注目した場合、１次元空間画像データ２６では画素５、６と画素９、Ａとが離れてしまい、局所性が低下している。
このため、各フレーム画像データ６に対して同一条件でヒルベルトスキャンをすると、上記の画素５、６と画素９、Ａとの間で生じた局所性の低下が、全てのフレーム画像データ６において生じることになり、時系列的に局所性の低下が累積されてしまう。
【００３６】
画素の局所性の低下による画像認識精度の低下を抑制する方法としては、フレーム画像データ６ごとにヒルベルト曲線の設定条件を変化させて、局所性が低下する画素をフレーム画像データ６ごとに異なるように分散することが有効である。
そこで、時空間画像データ生成部２は、次に述べるように、フレーム画像データ６ごとのヒルベルト曲線の設定条件を変化させるためにフレーム画像データ６をランダムにクリッピングする機能を備えている。
【００３７】
図３（ａ）に示したように、フレーム画像データ６ａは、一例として６４×３２個の画素から構成されているとする。
これに対し、時空間画像データ生成部２は、このサイズより小さい領域をフレーム画像データ６ａにランダム（任意）に設定し、フレーム画像データ６ａから当該領域で形成されたクリッピング画像９ａを抜き出す。クリッピング画像９ａのサイズは、一例として６０×３０とする。
【００３８】
画像にヒルベルト曲線を設定する場合、一辺のサイズが２のｎ乗（ｎは自然数）であることが必要である。
そこで、時空間画像データ生成部２は、図３（ｂ）に示したように、クリッピング画像９ａの周囲に適当な画素を追加するパディングという処理を行って、６４×３２のフレーム画像データ６ａを復元する
そして、時空間画像データ生成部２は、復元したフレーム画像データ６ａにヒルベルト曲線を設定してスキャンし、追加した画素の画素値はメモリに読み込まずにスキップして１次元空間画像データ７ａを生成する。
【００３９】
時空間画像データ生成部２は、同様に、フレーム画像データ６ｂ〜６ｆを任意の範囲でクリッピングしてクリッピング画像９ｂ〜９ｆを生成し、これらをパディングしてからヒルベルトスキャンして１次元空間画像データ７ｂ〜７ｆを生成する。
そして、時空間画像データ生成部２は、１次元空間画像データ７ａ〜７ｆを時系列順に配設して時空間画像データ８を生成する。
以上の例では、クリッピング画像９ａをフレーム画像データ６ごとに任意の領域に設定したが、何らかの規則性に従って設定してもよい。
【００４０】
クリッピング後に復元したフレーム画像データ６にヒルベルト曲線を設定することにより、ヒルベルト曲線の開始点や画素を通過する経路がフレーム画像データ６ごとに変化し、画素の非局在化を様々な画素に分散することができる。
このように、時空間画像データ生成部２は、フレーム画像データごとに、曲線の設定範囲を変化させることにより曲線の設定条件を変化させる。
【００４１】
このような、学習画像やフレーム画像データ６から一回り小さい画像をランダムで切り出して、空間的情報の保持を網羅的にする処理は、データオーギュメンテーションと呼ばれている。
データオーギュメンテーションは、事前学習用の動画データと動画データ４の双方について行われる。
【００４２】
図４は、クリッピングの変形例を説明するための図である。
この変形例では、時空間画像データ生成部２は、クリッピング画像９ａの上半分から３０×３０のクリッピング画像を抜き出した後、パディングして３２×３２のフレーム画像データ３１ａを生成する。
同様にして、時空間画像データ生成部２は、クリッピング画像９ｂ〜９ｆから図示しないフレーム画像データ３１ｂ〜３１ｆを生成する。
【００４３】
そして、時空間画像データ生成部２は、ヒルベルトスキャンによってフレーム画像データ３１ａ〜３１ｆから１次元空間画像データ７ａ〜７ｆを生成し、これらを時系列順に配設して時空間画像データ８を生成する。
クリッピング画像９を半分にリサイズすることにより、１次元空間画像データ７や時空間画像データ８のデータ量も半分になり、より小型の画像認識装置１での処理が可能となる。
【００４４】
この例では、クリッピング画像９の上半分を再度クリッピングしたが、下半分や中間部分をクリッピングしてもよい。
また、フレーム画像データ６を直接クリッピングしてクリッピング画像を生成してもよい。
【００４５】
図５は、画像認識装置１のハードウェア的な構成の一例を示した図である。
画像認識装置１は、車載用に構成されているが、航空機や船舶などの他の形態の移動体に搭載したり、あるいは、スマートフォンなどの携帯端末に搭載したり、更には、パーソナルコンピュータなどの据え置き型の装置に搭載したりすることができる。
【００４６】
画像認識装置１は、ＣＰＵ４１、ＲＯＭ４２、ＲＡＭ４３、記憶装置４４、カメラ４５、入力部４６、及び出力部４７などがバスラインで接続されて構成されている。
ＣＰＵ４１は、中央処理装置であって、記憶装置４４が記憶する画像認識プログラムに従って動作し、上述した歩行者の画像認識を行う。
【００４７】
ＲＯＭ４２は、読み出し専用のメモリであって、ＣＰＵ４１を動作させるための基本的なプログラムやパラメータを記憶している。
ＲＡＭ４３は、読み書きが可能なメモリであって、ＣＰＵ４１が動画データ４から時空間画像データ８を生成したり、更に、時空間画像データ８から歩行者を画像認識する際のワーキングメモリを提供する。
【００４８】
記憶装置４４は、ハードディスクなどの大容量の記憶媒体を用いて構成されており、画像認識プログラムを記憶している。
画像認識プログラムは、ＣＰＵ４１に時空間画像データ生成部２やＣＮＮ部３としての機能を発揮させるプログラムである。
【００４９】
カメラ４５は、車外を動画撮影する車載カメラであって、所定のフレームレートでフレーム画像データ６を出力する。
入力部４６は、画像認識装置１を操作するための操作ボタンなどから構成され、出力部４７は、画像認識装置１の設定画面などを表示するディスプレイなどから構成されている。
本実施の形態では、画像認識装置１を車載装置とするが、カメラ４５を車両に設置し、ネットワーク通信によって動画をサーバに送信し、サーバで画像認識して認識結果を車両に送信するように構成することもできる。
【００５０】
図６は、画像認識装置１が行う画像認識処理の手順を説明するためのフローチャートである。
以下の処理は、ＣＰＵ４１が画像認識プログラムに従って行うものである。また、ＣＰＵ４１の処理に対応する機能部を括弧にて示す。
まず、カメラ４５が車外を撮影して動画データ４を逐次的に出力している。
次に、ＣＰＵ４１（時空間画像データ生成部２）は、動画フレームをＱ枚読み込む（ステップ５)。すなわち、ＣＰＵ４１は、出力される動画データ４における所定枚数Ｑ枚（例えば、６枚）のフレーム画像データ６を出力順にＲＡＭ４３に読み込む。
【００５１】
次に、ＣＰＵ４１（時空間画像データ生成部２）は、パラメータｉを０にセットしてＲＡＭ４３に記憶する（ステップ１０）。
そして、ＣＰＵ４１（時空間画像データ生成部２）は、ＲＡＭ４３からｉ番目のフレーム画像データ６を読み出し、これからクリッピング画像９を生成してＲＡＭ４３に記憶する（ステップ１５）。フレーム画像データ６からクリッピング画像９を生成する領域は、乱数を発生させて、これに基づいてランダムに決定する。
なお、ｉ＝０番目のフレーム画像データ６は、Ｑ枚のうちの１枚目に対応する。即ち、ｉ番目のフレーム画像データ６は、Ｑ枚の内のｉ＋１枚目に対応する。
【００５２】
次に、ＣＰＵ４１（時空間画像データ生成部２）は、クリッピング画像９をパディングしてフレーム画像データ６を復元し、これをＲＡＭ４３に記憶する。
そして、ＣＰＵ４１（時空間画像データ生成部２）は、ＲＡＭ４３に記憶した当該フレーム画像データ６にヒルベルト曲線を設定してヒルベルトスキャンを行い（ステップ２０）、１次元空間画像データ７を生成する（ステップ２５）。
【００５３】
次に、ＣＰＵ４１（時空間画像データ生成部２）は、生成した１次元空間画像データ７をＲＡＭ４３に記憶して時空間画像データ８を生成する（ステップ３０）。
なお、ｉ＝０の場合は、まず、最初の１次元空間画像データ７ａをＲＡＭ４３に記憶し、ｉ＝１、２、…の場合には、既にＲＡＭ４３に記憶してある１次元空間画像データ７に時系列的に追加していく。
【００５４】
次に、ＣＰＵ４１（時空間画像データ生成部２）は、ＲＡＭ４３に記憶してあるｉに１をインクリメントした後（ステップ３５）、ｉがＱ未満か否かを判断する（ステップ４０）。
ｉがＱ未満の場合（ステップ４０；Ｙ）、ＣＰＵ４１（時空間画像データ生成部２）は、ステップ１５に戻り、次のフレーム画像データ６に対して同様の処理を行う。
【００５５】
一方、ｉがＱ未満でない場合（ステップ４０；Ｎ）、ＲＡＭ４３に時空間画像データ８が完成したため、ＣＰＵ４１（ＣＮＮ部３）は、ＲＡＭ４３から時空間画像データ８を読み出し、これを画像認識する（ステップ４５）。
そして、ＣＰＵ４１（ＣＮＮ部３）は、画像認識結果を所定の出力先に出力する（ステップ５０）。
出力先は、例えば、車両の制御系であり、車両前方に歩行者が存在する場合に車速の制動を行ったりする。
【００５６】
次に、ＣＰＵ４１（ＣＮＮ部３）は、画像認識処理を終了するか否かを判断する（ステップ５５）。
処理を終了しない場合（ステップ５５；Ｎ）、ＣＰＵ４１（ＣＮＮ部３）は、ステップ５に戻る。一方、ユーザが終了ボタンを選択するなどして処理を終了する場合（ステップ５５；Ｙ）、ＣＰＵ４１（ＣＮＮ部３）は、処理を終了する。
【００５７】
図７は、実験結果を説明するための図である。
この図は、画像認識装置１の画像認識能力を１０分割交差検定という評価方法により評価した結果を表した表である。
１０分割交差検定とは、１つのデータセット（例えば時空間画像データ８の１万セット分）を１０個（１０００セット）に分割した後、９個で学習し、残りの１つで正答率を評価する、という処理を繰り替えし行う評価方法である。
【００５８】
この表の上段は、画像認識装置１を用いた場合を示しており、下段はＬＳＴＭ（Ｌｏｎｇ  Ｓｈｏｒｔ  Ｔｅｒｍ  Ｍｅｍｏｒｙ）と呼ばれる従来技術（従来技術の項目で説明したものとは異なる）を用いた場合を示している。
評価項目は、正答率であり、画像認識装置１の場合は７７．１％、ＬＳＴＭの場合は７４．０％となっている。
このように、画像認識装置１の正答率は、ＬＳＴＭを上回っており、画像認識装置１は、従来技術と比較して高い画像認識能力を備えていることが分かる。
【００５９】
（変形例１）
実施の形態では、クリッピングにより離散化する画素を分散させたが、本変形例では、ヒルベルト
スキャンの経路、即ち、ヒルベルト曲線の形態をフレーム画像データ６ごとに変化させることにより離散化する画素の分散を行う。
ヒルベルト曲線の始点から最初の一歩目を右側に進む場合を形態１とし、下側に進む場合を形態２とし、上側に進む場合を形態３とし、左側に進む場合を形態４とする。はじめの一歩目の位置がフレーム画像データ６の外となる場合は、パディングして当該パディング部分に関しては、スキャン時に画素値の読み込みを行わないものとする。
【００６０】
このようにヒルベルト曲線の形態を複数用意し、これらをフレーム画像データ６に適当に割り当てることにより、空間的情報と時間的情報の保持を網羅的にする。
割り当て方は各種考えられ、例えば、フレーム画像データ６ａは、形態１のヒルベルト曲線でヒルベルトスキャンし、フレーム画像データ６ｂは、形態２のヒルベルト曲線でヒルベルトスキャンし、…といったように、形態１から形態４までを順番に割り当ててもよいし、あるいは、形態１〜形態４から任意に選んだ形態をフレーム画像データ６ａに割り当て、残りの形態から任意に選んだ形態をフレーム画像データ６ｂに割り当て、…といったように、形態を任意に割り当ててもよい。
【００６１】
また、例えば、フレーム画像データ６ａは、ヒルベルト曲線、フレーム画像データ６ｂは、ペアノ曲線、フレーム画像データ６ｃは、ヒルベルト曲線、フレーム画像データ６ｄは、ペアノ曲線、…といったように、種類の異なる空間充填曲線により曲線の形態を変えてもよい。
更に、フレーム画像データ６ａは、形態１のヒルベルト曲線、フレーム画像データ６ｂは、形態１のペアノ曲線、フレーム画像データ６ｃは、形態２のヒルベルト曲線、フレーム画像データ６ｄは、形態２のペアノ曲線、…といったように、曲線の種類と曲線の形態の両方を変えてもよい。
このように、この例の時空間画像データ生成部２は、曲線の設定条件として、フレーム画像データごとに、曲線の設定形態を変化させている。
【００６２】
（変形例２）
変形例１では、フレーム画像データ６ごとにヒルベルト曲線の形態を変化させてヒルベルトスキャンしたが、本変形例では、１つのフレーム画像データ６に対して形態の異なる複数のヒルベルト曲線を設定する。
例えば、フレーム画像データ６ａを形態１のヒルベルト曲線でスキャンして１次元空間画像データ７ａ１を生成し、更に、フレーム画像データ６ａを形態２のヒルベルト曲線でスキャンして１次元空間画像データ７ａ２を生成し、…、次に、フレーム画像データ６ｂを形態１のヒルベルト曲線でスキャンして１次元空間画像データ７ｂ１を生成し、更に、フレーム画像データ６ｂを形態２のヒルベルト曲線でスキャンして１次元空間画像データ７ｂ２を生成し、…、といったように、フレーム画像データ６ｆまで、各フレーム画像データ６を形態の異なるヒルベルト曲線で複数回スキャンした後、１次元空間画像データ７ａ１、７ａ２、…、７ｂ１、７ｂ２、…、を配列して時空間画像データ８を生成する。
【００６３】
あるいは、１次元空間画像データ７ａ１、７ｂ１、…から時空間画像データ８ａを生成し、１次元空間画像データ７ａ２、７ｂ２、…から時空間画像データ８ｂを生成し、といったように、複数の時空間画像データ８ａ、８ｂ、…を生成し、これらを個別に画像認識して、その結果を総合して判断してもよい。
また、同一のフレーム画像データ６ａを任意に複数回クリッピングし、これらをそれぞれパディングした後にヒルベルトスキャンすることにより、複数の１次元空間画像データ７ａ１、７ａ２、…を生成することもできる。同様にフレーム画像データ６ｂから１次元空間画像データ７ｂ１、７ｂ２、…を生成する。
このように、フレーム画像データ６を複数回任意にクリッピングすることにより同一のフレーム画像データ６から複数の１次元空間画像データ７を生成することもできる。
以上に説明したように、変形例２の画像認識装置１は、同一のフレーム画像データに対して曲線の設定条件を変化させて、当該設定条件ごとにデータ値を取得している。
【００６４】
（変形例３）
本変形例では、１つのフレーム画像データ６に複数回ランダムにクリッピング画像９の領域を設定し、１つのフレーム画像データ６から複数枚のクリッピング画像９を生成する。
例えば、フレーム画像データ６ａから領域１のクリッピング画像９ａ１を生成し、同じくフレーム画像データ６ａから領域２のクリッピング画像９ａ２を生成し、…、次に、フレーム画像データ６ｂから領域１のクリッピング画像９ｂ１を生成し、同じくフレーム画像データ６ｂから領域２のクリッピング画像９ｂ２を生成し、…、といったように、フレーム画像データ６ｆまで、各フレーム画像データ６から切り抜き領域の異なるクリッピング画像９を複数個生成する。
【００６５】
そして、時空間画像データ生成部２は、これらのクリッピング画像９のそれぞれをパディングしてフレーム画像データ６を復元する。
これにより、元画像のフレーム画像データ６ａから複数枚のフレーム画像データ６ａ１、６ａ２、…が復元される。フレーム画像データ６ｂ、６ｃ、…も同様である。
【００６６】
時空間画像データ生成部２は、これらフレーム画像データ６ａ１、６ａ２、…、６ｂ１、６ｂ２、…をヒルベルトスキャンして１次元空間画像データ７を生成し、これらを時系列的に配列して時空間画像データ８を生成する。
あるいは、フレーム画像データ６ａ１、６ｂ１、…から時空間画像データ８ａを生成して画像認識し、フレーム画像データ６ａ２、６ｂ２、…から時空間画像データ８ｂを生成して画像認識し、これらの画像認識の結果を総合して判断してもよい。
【００６７】
（変形例４）
変形例２と変形例３を組み合わせる。即ち、変形例３で生成したフレーム画像データ６ａ１、６ａ２、…、６ｂ１、６ｂ２、…を複数種類の形態の曲線でスキャンする。
例えば、フレーム画像データ６ａ１は、形態１のヒルベルト曲線でスキャンし、フレーム画像データ６ａ２は、形態１のペアノ曲線でスキャンし、…、といったようにスキャンする。
【００６８】
（変形例５）
実施の形態では、空間２次元、時間１次元の（ｘ、ｙ、ｔ）成分を持つ３次元の動画データ４を空間方向（ｘ、ｙ方向）にヒルベルトスキャンして（α、ｔ１）、（α、ｔ２）、…の１次元空間画像データ７ａ、７ｂ、…を生成し、これをｔ１、ｔ２、…の時間方向の順に配列して（α、ｔ）成分を持つ２次元の時空間画像データ８を生成した。ここで、αは、画素の位置をヒルベルト曲線に沿った長さで表した座標値である。
【００６９】
本変形例では、時間座標（ｔ軸）の方向にヒルベルトスキャンする。
例えば、（ｙ、ｔ）方向にヒルベルトスキャンして（ｘ１、α）、（ｘ２、α）、…の１次元空間画像データ７ａ、７ｂ、…を生成し、これをｘ１、ｘ２、…の順に配列して（ｘ、α）成分を持つ２次元の時空間画像データ８を生成することが可能である。同様に（ｘ、ｔ）方向にヒルベルトスキャンして（ｙ、α）成分を持つ時空間画像データ８を生成することも可能である。
【００７０】
また、同一の動画データ４に対して、（α、ｔ）、（ｘ、α）、（ｙ、α）の各成分を持つ３種類の時空間画像データ８を生成し、これらを組み合わせて画像認識処理することも可能である。
例えば、（α、ｔ）成分の時空間画像データ８を画像認識し、（ｘ、α）成分の時空間画像データ８を画像認識し、（ｙ、α）成分の時空間画像データ８を画像認識し、それぞれの結果を全結合層１７の出力値で重み付けして加重平均を取ったり、あるいは、（α、ｔ）、（ｘ、α）、（ｙ、α）のそれぞれから生成される３つの時空間画像データ８を配列して１つの時空間画像データ８とし、当該時空間画像データ８を画像認識することが可能である。
時間方向にスキャンすることにより、動画のフレームレートを低減できることが期待される。これにより画像処理の負荷が低減される。
【００７１】
（変形例６）
本変形例では、更に高次の時系列空間情報を画像認識する。
近年、車両前方の地形をライダー（ＬｉＤＡＲ）と呼ばれるレーザーレーダーを用いた技術によって地形を読み取り、車両を自動運転する技術が研究されている。
ライダーで得られる時系列空間情報は、空間３次元と時間１次元の（ｘ、ｙ、ｚ、ｔ）成分を有する４次元データである。
【００７２】
この時系列空間情報を空間３次元的な（ｘ、ｙ、ｚ）方向で屈曲するヒルベルト曲線でスキャンすると、（α、ｔ１）、（α、ｔ２）、…といった１次元空間画像データ７が得られる。これをｔ１、ｔ２、…の時系列順に配列すると２次元の（α、ｔ）成分を有する時空間画像データ８が得られる。これを画像認識することにより、歩行者や地形などを検出することが可能となる。変形例５と同様に時間方向にスキャンすることも可能である。
【００７３】
また、４次元の時系列空間情報をｚ方向、ｔ方向に固定して（ｘ、ｙ）方向にヒルベルトスキャンすることにより（α、ｚ１、ｔ１）、（α、ｚ２、ｔ１）、（α、ｚ３、ｔ１）、…、（α、ｚ１、ｔ２）、（α、ｚ２、ｔ２）、（α、ｚ３、ｔ２）、…からなる１次元空間画像データ７が得られる。
これをｔ１を固定してｚ方向に配列して（α、ｚ、ｔ１）、（α、ｚ、ｔ２）、…の２次元空間画像データが得られる。
更に、これらを時系列的に配列すると（α、ｚ、ｔ）の３次元時空間画像データが得られる。
画像認識装置１の畳み込み用のフィルタとして３次元フィルタを設定し、上記３次元時空間画像データを画像認識することが可能である。
また、変形例５と同様に時間方向にヒルベルトスキャンすることも可能である。
【００７４】
このように、ｎ次元（ｎは、２以上の整数）をヒルベルトスキャンによってｎ−１次元以下の時空間画像データに変換することが可能である。
そのため、色情報や各種センサ値など、更に情報を付加して高次元の時系列空間情報を生成し、これを低次元化して画像認識装置１で画像認識することが可能である。
【００７５】
（変形例７）
図８は、変形例７を説明するための図である。本変形例では、ラスタスキャンにて画像データを走査する。
時空間画像データ生成部２は、図８（ａ）に示したフレーム画像データ６のアスペクト比を検出し、短手方向を走査方向（スキャン方向）に決定する。これは、後述の実験結果で述べるように、長手方向を走査方向とする場合よりも、短手方向を走査方向とした場合の方が認識率が高かったためである。
そして、時空間画像データ生成部２は、短手方向の直線状の走査経路に沿って走査することにより、フレーム画像データ６の全体をラスタスキャンする。
【００７６】
なお、この例では、フレーム画像データ６の全体を走査するが、フレーム画像データ６をクリッピングした画像データや、フレーム画像データ６から興味領域として抽出した画像データ、更には、当該抽出した画像データをクリッピングした画像データを対象とすることもできる。
このように、時空間画像データ生成部２は、直線状の走査経路に沿ってデータ値の列を取得するデータ値取得手段として機能しており、動画データを構成するフレーム画像の少なくとも一部の画像データに対して走査経路の走査方向を決定する走査方向決定手段を備えている。
更に、当該走査方向決定手段は、画像データによって形成される画像の短手方向に走査方向を決定している。
【００７７】
図８（ａ）のフレーム画像データ６ａの場合、ｘ軸方向が短手方向、ｙ軸が長手方向であるため、時空間画像データ生成部２は、ｘ軸方向を走査方向に決定する。
そして、時空間画像データ生成部２は、図に示した実線の矢線に沿って、第１行目の画素１から画素４までｘ軸方向に順に画素値を読み取っていく。時空間画像データ生成部２は、走査が端部の画素４に達すると、破線の矢線に示したように、第２行目の先頭の画素５に走査開始位置を移動し、ｘ軸方向に端部の画素８まで画素値を順に読み取っていく。
【００７８】
以下、時空間画像データ生成部２は、同様の動作を繰り返してフレーム画像データ６ａの全ての画素値を読みとり、これを一列に並べて、１次元空間画像データ７ａを生成する。更に、時空間画像データ生成部２は、同様にして１次元空間画像データ７ｂ、７ｃ、・・・も生成する。
そして、時空間画像データ生成部２は、生成した１次元空間画像データ７ａ、７ｂ、・・・から時空間画像データ８を生成する。これをＣＮＮ部３で画像認識する手順は、上述の実施形態と同様である。
【００７９】
以上のラスタスキャン方法は、一例であって、例えば、実線の矢線方向とは逆の、画素４から画素１の方向に走査してもよいし、画素１から画素４まで順に第１行目の画素を読み終わると、第２行目に関しては、画素８から画素５の方向に読み取るというように、蛇行した直線経路でラスタスキャンすることもできる。
【００８０】
短手方向、及び長手方向にラスタスキャンして画素を展開する１次元変換を用いた場合と、ヒルベルトスキャンによる１次元変換を用いた場合を１０分割交差検定で正答率を算出する実験を行ったところ、短手方向にラスタスキャンした場合は、８２．２％、長手方向にラスタスキャンした場合は、７７．７％、ヒルベルトスキャンした場合は、８３．６％となった。
【００８１】
このように、短手方向のラスタスキャンは、長手方向のラスタスキャンより正答率が高くなり、ヒルベルトスキャンに近い値を実現することができた。
これは、短手方向のラスタスキャンは、長手方向のラスタスキャンに比べて、画像データの端点で次の行の画素行に移動する際の移動距離が小さいため、画像の局所性の保存状態が長手方向にラスタスキャンする場合よりもよいためではないかと思われる。
【００８２】
図８（ｂ）は、ｙ軸方向が短手方向となる場合を示している。
この場合、時空間画像データ生成部２は、実線の矢線で示したように、画素１から画素Ｄまで、短手方向、即ち、ｙ方向に画素値を順に読み取っていき、端部の画素Ｄに達すると、破線の矢線で示したように次の列の先頭画素２に移動して、画素Ｅまで画素値を読み取っていく。
以下、時空間画像データ生成部２は、同様の動作を繰り返してフレーム画像データ６ａの全ての画素値を読みとり、これを一列に並べて、１次元空間画像データ７ａを生成する。
【００８３】
以上の例では、時空間画像データ生成部２は、フレーム画像データ６のアスペクト比を判断して短手方向を走査方向に決定したが、画像データの短手方向が予め決まっている場合は、その方向を走査方向に設定しておき、アスペクト比の判断処理を省くことも可能である。
【００８４】
図９は、変形例７の画像認識処理の手順を説明するためのフローチャートである。
上述した実施形態と同じ処理には同じステップ番号を付し、説明を省略する。
この例では、フレーム画像データ６をクリッピングすることによりデータオーギュメンテーションを行っている。
時空間画像データ生成部２は、ステップ１５にて、ｉ番目のフレーム画像データをクリッピングすると、クリッピング後のフレーム画像データ６の短手方向を走査方向（スキャン方向）に決定する（ステップ８０）。
そして、時空間画像データ生成部２は、決定した走査方向にクリッピング後のフレーム画像データ６をラスタスキャンして（ステップ８５）、１次元空間画像データ７を生成する（ステップ２５）。他は、上述の実施形態と同様である。
【００８５】
以上では、短手方向にラスタスキャンしたが、例えば、ハードウェア的な要因などから長手方向にラスタスキャンした方が好ましい場合など（精度は低下しても処理速度が速くなるなど）ユーザの事情に応じて長手方向にラスタスキャンしてもよい。
【００８６】
（変形例８）
図１０は、変形例８を説明するための図である。
本変形例の時空間画像データ生成部２は、フレーム画像データ６を小領域５１に分割し、分割した小領域５１ごとにラスタスキャンする。
図１０（ａ）の例では、時空間画像データ生成部２は、フレーム画像データ６を太線で示した正方形の小領域５１ａ１、５１ａ２、・・・に分割する。小領域５１内の升目は画素を表している。
【００８７】
時空間画像データ生成部２は、小領域５１ａ１をラスタスキャンして１次元空間画像データ７ａ１（図示せず）を生成し、次いで小領域５１ａ２をラスタスキャンして１次元空間画像データ７ａ２を作成し、・・・というように、各小領域５１をラスタスキャンする。スキャンの走査方向は、例えば、フレーム画像データ６ａの短手方向とする。
そして、時空間画像データ生成部２は、１次元空間画像データ７ａ１、７ａ２、・・・を一列に連結してフレーム画像データ６ａの１次元空間画像データ７ａ（図示せず）を生成する。
時空間画像データ生成部２は、同様にして、１次元空間画像データ７ｂ、７ｃ・・・を生成し、これらを時間方向に配列して時空間画像データ８（図示せず）を生成する。
【００８８】
１次元空間画像データ７ａ１、７ａ２、・・・を連結する順序は、各種のものが可能であり、例えば、小領域５１ａ１、小領域５１ａ２、・・・をフレーム画像データ６ａの短手方向にラスタスキャンする順序であってもよいし、あるいは、小領域５１ａ１、小領域５１ａ２、・・・を結ぶヒルベルト曲線を設定し、当該ヒルベルト曲線で結ばれる順序であってもよい。後者の場合は、ラスタスキャンとヒルベルトスキャンを組み合わせることができる。あるいは、小領域５１ａ１、５１ａ２、・・・内でヒルベルトスキャンして、その結果得られた１次元空間画像データ７ａ１、７ａ２、・・・を小領域５１ａ１、５１ａ２、・・・をラスタスキャンする順序で連結することによりラスタスキャンとヒルベルトスキャンを組み合わせることもできる。
【００８９】
図１０（ｂ）は、ｙ軸方向が短手方向となるフレーム画像データ６ａに対して、ｘ軸方向が短手方向となる小領域５１ａ１、５１ａ２、・・・を設定した例である。
この場合は、小領域５１ａ１、小領域５１ａ２、・・・に関しては、例えば、これら小領域５１の短手方向を優先してｘ軸方向にラスタスキャンするように構成することができる。
小領域５１ａ１、小領域５１ａ２、・・・から生成される１次元空間画像データ７ａ１、７ａ２、・・・（図示せず）に関しては、図１０（ａ）の場合と同様に適当な所定の順序で連結する。
【００９０】
以上に説明した実施形態、及び変形例によって次のような効果を得ることができる。
（１）動画データを２次元の画像データで表現することができる。
（２）空間充填曲線を用いたヒルベルトスキャンや、ラスタスキャンを用いてフレーム画像データ６を画像変換することにより、空間的情報と時間的情報を保持したまま動画データ４（時系列画像データ）から２次元の時空間画像データ８を生成することができる。
（３）時空間画像データ８を入力データとすることにより、２次元フィルタを用いたＣＮＮで動画データを画像認識することができる。
（４）時空間画像データ８において隣接する画素間の情報に関係性を持たせることができるので画像認識精度の向上が見込める。
（５）一般的な２次元フィルタを用いたＣＮＮを用いることができるため、ＣＮＮの導入に要するコストやＣＮＮの実行に要する計算コストを低減することができる上、認識精度の向上も見込める。
（６）一般に、車載カメラや車載コンピュータには、高価なハードウェアが搭載されないため、使用メモリが少なく計算コストが低い画像認識装置１が実装に適している。
（７）データオーギュメンテーションなど、スキャンする曲線の設定条件を変化させることにより、時空間画像データ８の空間的情報の保持を網羅的にすることができる。
（８）事前学習フェーズや画像認識フェーズなどにおいて、一回り小さい画像をランダムで切り出すデータオーギュメンテーションを行うことにより空間情報と時間情報の保持を網羅的にすることができる。
【符号の説明】
【００９１】
１  画像認識装置
２  時空間画像データ生成部
３  ＣＮＮ部
４  動画データ
６、３１  フレーム画像データ
７  １次元空間画像データ
８  時空間画像データ
９、  クリッピング画像
１１、１３、１５  畳み込み層
１２、１４、１６  プーリング層
１７  全結合層
２０、２４  画像データ
２１、２５  ヒルベルト曲線
２２、２６  １次元空間画像データ
２７、２８  領域
４１  ＣＰＵ
４２  ＲＯＭ
４３  ＲＡＭ
４４  記憶装置
４５  カメラ
４６  入力部
４７  出力部
５１  小領域
【図１】
2019028985.tif 000003
【図２】
2019028985.tif 000004
【図３】
2019028985.tif 000005
【図４】
2019028985.tif 000006
【図５】
2019028985.tif 000007
【図６】
2019028985.tif 000008
【図７】
2019028985.tif 000009
【図８】
2019028985.tif 000010
【図９】
2019028985.tif 000011
【図１０】
2019028985.tif 000012