[go: up one dir, main page]

JP7230345B2 - 情報処理装置及び情報処理プログラム - Google Patents

情報処理装置及び情報処理プログラム Download PDF

Info

Publication number
JP7230345B2
JP7230345B2 JP2018109232A JP2018109232A JP7230345B2 JP 7230345 B2 JP7230345 B2 JP 7230345B2 JP 2018109232 A JP2018109232 A JP 2018109232A JP 2018109232 A JP2018109232 A JP 2018109232A JP 7230345 B2 JP7230345 B2 JP 7230345B2
Authority
JP
Japan
Prior art keywords
image
person
learning
face
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018109232A
Other languages
English (en)
Other versions
JP2019212148A (ja
Inventor
佑介 山浦
幸寛 坪下
健司 大西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2018109232A priority Critical patent/JP7230345B2/ja
Priority to US16/161,067 priority patent/US10964046B2/en
Publication of JP2019212148A publication Critical patent/JP2019212148A/ja
Application granted granted Critical
Publication of JP7230345B2 publication Critical patent/JP7230345B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/242Aligning, centring, orientation detection or correction of the image by image rotation, e.g. by 90 degrees
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/103Static body considered as a whole, e.g. static pedestrian or occupant recognition
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Description

本発明は、情報処理装置及び情報処理プログラムに関する。
特許文献1には、人物の顔を撮影した顔画像から顔領域を抽出し、その顔領域の重心から目領域及び口領域を検出し、そして、目領域及び口領域の位置に基づいて顔の軸の傾き及び顔の軸周りの回転の少なくとも一方を検出し、それに基づいて仮想環境内に再現される3次元モデルの頭部を変形させ、頭部の動作を再現し、また、目領域における黒目領域の位置を検出することによって視線方向が検出され、3次元モデルの頭部は視線方向に向けられ、また、仮想環境内においては、その視線方向が仮想カメラ位置とされ、さらに、仮想環境内の背景及びオブジェクトは3次元モデルによって再現され、アバタは仮想環境内のオブジェクトに触れることができ、仮想環境内において人物の頭部の動作及び視線方向を再現することができ、また、仮想環境内におけるユーザの没入感を向上できることが開示されている。
特許文献2には、顔の向きの推定精度を損なうことなく、画像認識の計算量を低減することができる画像認識方法及び記録媒体を提供することを課題とし、顔の向きが予め判明している学習画像データ及び認識対象の顔の画像データからそれぞれ特徴を抽出し、当該抽出した特徴を使用して認識対象の画像データの顔の向きを認識する画像認識装置において、前記学習画像データから顔の特定位置について予め抽出された第1の特徴であって、複数の学習画像データの特定位置からガボールウェーブレット係数を抽出し、顔の向き毎に複数人物の平均特徴ベクトルを計算し、当該計算した平均特徴ベクトルを主成分分析して算出した主成分ベクトルである、第1の特徴を記憶する記憶手段と、認識対象の画像データの前記特定位置に対応する位置を指定する指定手段と、当該指定された位置の第2の特徴であって、認識対象の画像データの前記特定位置に対応する位置から抽出したガボールウェーブレット係数を使用する特徴ベクトルである、第2の特徴を前記認識対象の画像データから抽出する特徴抽出手段とを具え、該特徴抽出手段により抽出された第2の特徴を、前記記憶手段に記憶された第1の特徴である主成分ベクトルに射影して得られる射影係数により認識対象の顔の向きを推定することが開示されている。
特許文献3には、視線検出に際して、画像上における視線の向きだけではなく、撮像装置と顔との位置関係をも考慮することにより視線検出を高精度に行えるようにした技術を提供することを課題とし、情報処理装置は、撮像光学系を介して入力される画像を取得する画像取得手段と、前記画像から人物の顔を検出する顔検出手段と、前記顔の視線を検出する視線検出手段と、前記人物と前記撮像光学系との位置関係を示す情報を取得する取得手段と、前記位置関係を示す情報に基づいて前記検出された視線が所定の方向を向いているか否かを判定する判定手段とを具備することが開示されている。
特開2000-331190号公報 特許第4092059号公報 特開2012-227830号公報
顔の目、口等のパーツが撮影された人の顔の画像を用いて、人の顔が向いている方向を学習することが行われている。しかし、全方位カメラによって撮影された画像においては、全方位カメラと人との位置関係によって、人の頭頂部だけが撮影されてしまうことがある。つまり、人の顔のパーツが撮影されていないことによって、人の顔の方向を学習させることが困難となってしまうことがある。
本発明は、全方位カメラによって撮影された画像を対象として、撮影されている人の顔の向きを推定するための学習を行うことができる情報処理装置及び情報処理プログラムを提供することを目的としている。
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。なお、以下の「請求項」とあるのは、出願当初の請求項である。
請求項1の発明は、全方位カメラによって撮影された画像から抽出した人の頭部を撮影した第1画像と、前記画像内における該人の位置を示す位置情報とを受け付ける受付手段と、前記位置情報から前記第1画像の歪み度合いを算出する算出手段と、算出した前記歪み度合いと前記第1画像とを用いて、前記人の顔の向きを推定するための学習を行う学習手段を有する情報処理装置である。

請求項2の発明は、全方位カメラによって撮影された画像から抽出した人の頭部以外の部分を少なくとも撮影した第2画像と該人の位置を示す位置情報を受け付ける受付手段と、前記第2画像と前記位置情報を用いて、前記人の顔の向きを推定するための学習を行う学習手段を有する情報処理装置である。
請求項3の発明は、全方位カメラによって撮影された画像から抽出した人の頭部を撮影した第1画像と該人の頭部以外の部分を少なくとも撮影した第2画像と該人の位置を示す位置情報を受け付ける受付手段と、前記第1画像と前記第2画像と前記位置情報を用いて、前記人の顔の向きを推定するための学習を行う学習手段を有する情報処理装置である。
請求項4の発明は、前記第2画像として、前記人の全身を撮影した画像、該人の上半身を撮影した画像、該人の下半身を撮影した画像、該人の手を撮影した画像、又は、これらの組み合わせである、請求項2又は3に記載の情報処理装置である。
請求項5の発明は、前記学習手段は、前記人の顔の向きの他に、該人の向きを推定するための学習を行う、請求項4に記載の情報処理装置である。
請求項6の発明は、前記位置情報として、前記画像内における前記人の位置を示す位置情報、該画像の中心から該人までの距離、又は、これらの組み合わせである、請求項1から3のいずれか1項に記載の情報処理装置である。
請求項7の発明は、前記位置情報として、さらに、前記人のサイズ、該人を囲む矩形の縦と横の長さの比、又は、これらの組み合わせである、請求項6に記載の情報処理装置である。
請求項8の発明は、前記受付手段は、さらに、前記人以外のものの前記画像内の位置を示す第3位置情報を受け付け、前記学習手段は、さらに、前記第3位置情報を用いて、前記人の顔の向きを推定するための学習を行う、請求項7に記載の情報処理装置である。
請求項9の発明は、前記人以外のものとして、商品棚、商品、ポスター、マネキン、前記人以外の人、又は、これらの組み合わせである、請求項8に記載の情報処理装置である。
請求項10の発明は、前記学習手段は、前記第1画像又は前記第2画像のサイズが、閾値よりも小さい又は以下である場合は、該第1画像又は該第2画像を用いない、請求項1から3のいずれか1項に記載の情報処理装置である。
請求項11の発明は、前記学習手段は、前記閾値を、前記画像の中心からの距離に応じて変更する、請求項10に記載の情報処理装置である。
請求項12の発明は、前記学習手段は、前記画像の中心からの距離に応じて、前記第2画像を用いるか否かを定めている、請求項3に記載の情報処理装置である。
請求項13の発明は、前記学習手段は、前記画像の中心からの距離に応じて、前記第1画像と前記第2画像の重みを定めている、請求項12に記載の情報処理装置である。
請求項14の発明は、前記画像は、時系列の画像であり、前記受付手段は、さらに、対象としている第1画像又は第2画像よりも前に撮影された第1画像又は第2画像との比較によって抽出した前記人の動きを示す動作情報を受け付け、前記学習手段は、さらに、前記動作情報を用いて、前記人の顔の向きを推定するための学習を行う、請求項1から3のいずれか1項に記載の情報処理装置である。
請求項15の発明は、前記動作情報として、前記人の速度、加速度、移動ベクトル、移動軌跡、移動距離、又は、これらの組み合わせを用いる、請求項14に記載の情報処理装置である。
請求項16の発明は、コンピュータを、全方位カメラによって撮影された画像から抽出した人の頭部を撮影した第1画像と、前記画像内における該人の位置を示す位置情報とを受け付ける受付手段と、前記位置情報から前記第1画像の歪み度合いを算出する算出手段と、算出した前記歪み度合いと前記第1画像とを用いて、前記人の顔の向きを推定するための学習を行う学習手段として機能させるための情報処理プログラムである。
請求項17の発明は、コンピュータを、全方位カメラによって撮影された画像から抽出した人の頭部以外の部分を少なくとも撮影した第2画像と該人の位置を示す位置情報を受け付ける受付手段と、前記第2画像と前記位置情報を用いて、前記人の顔の向きを推定するための学習を行う学習手段として機能させるための情報処理プログラムである。
請求項18の発明は、コンピュータを、全方位カメラによって撮影された画像から抽出した人の頭部を撮影した第1画像と該人の頭部以外の部分を少なくとも撮影した第2画像と該人の位置を示す位置情報を受け付ける受付手段と、前記第1画像と前記第2画像と前記位置情報を用いて、前記人の顔の向きを推定するための学習を行う学習手段として機能させるための情報処理プログラムである。
請求項1の情報処理装置によれば、全方位カメラによって撮影された画像を対象として、撮影されている人の顔の向きを推定するための学習を行うことができる。
請求項2の情報処理装置によれば、全方位カメラによって撮影された画像を対象として、人の頭部以外の画像と人の位置情報を用いて、撮影されている人の顔の向きを推定するための学習を行うことができる。
請求項3の情報処理装置によれば、全方位カメラによって撮影された画像を対象として、人の頭部の画像とその人の頭部以外の画像と人の位置情報を用いて、撮影されている人の顔の向きを推定するための学習を行うことができる。
請求項4の情報処理装置によれば、人の全身を撮影した画像、その人の上半身を撮影した画像、その人の下半身を撮影した画像、その人の手を撮影した画像、又は、これらの組み合わせを第2画像として用いることができる。
請求項5の情報処理装置によれば、人の顔の向きの他に、その人の向きを推定するための学習を行うことができる。
請求項6の情報処理装置によれば、画像内における人の位置を示す位置情報、その画像の中心からその人までの距離、又は、これらの組み合わせを位置情報として用いることができる。
請求項7の情報処理装置によれば、人のサイズ、その人を囲む矩形の縦と横の長さの比、又は、これらの組み合わせを位置情報として用いることができる。
請求項8の情報処理装置によれば、人以外のものの第3位置情報を用いて、人の顔の向きを推定するための学習を行うことができる。
請求項9の情報処理装置によれば、商品棚、商品、ポスター、マネキン、人以外の人、又は、これらの組み合わせを人以外のものとして用いることができる。
請求項10の情報処理装置によれば、第1画像又は第2画像のサイズが、閾値よりも小さい又は以下である場合は、その第1画像又はその第2画像を用いないことができる。
請求項11の情報処理装置によれば、画像の中心からの距離に応じて変更する閾値を用いることができる。
請求項12の情報処理装置によれば、画像の中心からの距離に応じて、第2画像を用いるか否かを定めることができる。
請求項13の情報処理装置によれば、画像の中心からの距離に応じて、第1画像と第2画像の重みを定めることができる。
請求項14の情報処理装置によれば、人の動きを示す動作情報を用いて、撮影されている人の顔の向きを推定するための学習を行うことができる。
請求項15の情報処理装置によれば、動作情報として、人の速度、加速度、移動ベクトル、移動軌跡、移動距離、又は、これらの組み合わせを用いることができる。
請求項16の情報処理プログラムによれば、全方位カメラによって撮影された画像を対象として、撮影されている人の顔の向きを推定するための学習を行うことができる。
請求項17の情報処理プログラムによれば、全方位カメラによって撮影された画像を対象として、人の頭部以外の画像と人の位置情報を用いて、撮影されている人の顔の向きを推定するための学習を行うことができる。
請求項18の情報処理プログラムによれば、全方位カメラによって撮影された画像を対象として、人の頭部の画像とその人の頭部以外の画像と人の位置情報を用いて、撮影されている人の顔の向きを推定するための学習を行うことができる。
本実施の形態の構成例についての概念的なモジュール構成図である。 本実施の形態を利用したシステム構成例を示す説明図である。 全方位カメラによって人間が撮影された画像の例を示す説明図である。 全方位カメラによって人間が撮影された画像の例を示す説明図である。 頭部画像、全身画像を用いて学習を行う場合の概念的なモジュール構成図である。 全方位カメラ画像内における頭部画像、全身画像の位置情報の例を示す説明図である。 顔の8方向の向きの例を示す説明図である。 本実施の形態による処理例を示すフローチャートである。 本実施の形態による実験結果の例を示す説明図である。 人画像矩形と閾値人画像矩形の大きさの比較例を示す説明図である。 全方位カメラ画像を複数の領域に分けた例を示す説明図である。 全方位カメラ画像内の移動軌跡の例を示す説明図である。 顔の向きと体の向きが異なる例を示す説明図である。 本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係、ログイン等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態にしたがって、又はそれまでの状況・状態にしたがって定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。また、「A、B、C」等のように事物を列挙した場合は、断りがない限り例示列挙であり、その1つのみを選んでいる場合(例えば、Aのみ)を含む。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
本実施の形態である情報処理装置100は、全方位カメラ150によって撮影された人の顔の向きを推定するための機械学習(以下、単に学習という)を行うものであって、図1の例に示すように、画像受付モジュール105、第1画像抽出モジュール110、第2画像抽出モジュール115、第1位置情報抽出モジュール120、第2位置情報抽出モジュール125、学習モジュール130を有している。
1台のカメラで360度を撮影できる全方位カメラ150が用いられるようになっている。この全方位カメラ画像では、カメラと人物間の距離(人物が写り込む位置)によって、見え方や歪みの強さが変化し、特にカメラの真下付近に人物がいる場合は顔が隠れてしまい頭頂部しか見えない状態となる。
一般的に、頭部画像に基づく顔向き推定手法には2つのアプローチがある。1つは、顔の部品の位置関係に基づき顔の向きを推定する手法だが、これは正面から撮影されることを想定しているため顔の隠れが発生した場合に適用できない。もう1つは、頭部画像から特徴量を抽出して機械学習により顔の向きを推定する手法だが、頭頂部のみでは人の目で見ても顔の向き推定できないため、有効な特徴量は抽出できず推定に失敗してしまう。全方位カメラは、通常のカメラと比べ撮影範囲が広いため、設置台数を抑えられコスト削減につながるにも関わらず、全方位カメラでの適用を考慮した顔向き推定手法は存在しない。
本実施の形態では、顔が隠れてしまい頭頂部しか見えない状態でも顔の向きを推定できるようになる。そして、全方位カメラと人物間の距離によって変化する見え方と歪みの強さを考慮して顔の向きを推定する。
そのために、本実施の形態は、主に、頭部画像だけでなく全身画像も、機械学習の入力に加えることで、顔の隠れが発生しても体の向きに基づき顔の向きを推定できるようにしている。例えば、頭部画像、全身画像の属性情報を入力に加えることで、カメラと人物間の距離と見え方や歪みの強さの関係性を学習できるようになる。
全方位カメラ150(全天球カメラとも呼ばれるものも含む)は、情報処理装置100の画像受付モジュール105と接続されている。全方位カメラ150は、1台のカメラで360度を撮影できるカメラである。例えば、超広角の魚眼レンズを複数搭載したドーム型のカメラである。なお、全方位カメラ150は、静止画を撮影するカメラであってもよいし、動画像を撮影するカメラであってもよい。
画像受付モジュール105は、全方位カメラ150、第1画像抽出モジュール110、第2画像抽出モジュール115と接続されている。画像受付モジュール105は、全方位カメラ150によって撮影された画像(以下、全方位カメラ画像ともいう)を受け付ける。画像受付モジュール105と全方位カメラ150との間の通信は、無線、有線、これらの組み合わせであってもよい。
そして、画像受付モジュール105は、受け付けた画像を、第1画像抽出モジュール110、第2画像抽出モジュール115に渡す。
第1画像抽出モジュール110は、画像受付モジュール105、第1位置情報抽出モジュール120、学習モジュール130と接続されている。第1画像抽出モジュール110は、全方位カメラ150によって撮影された画像から人の頭部を撮影した画像(第1画像)を抽出する。第1画像を抽出する技術として、従来技術を用いればよい。例えば、人体を検出する技術を用いてもよい。
第1位置情報抽出モジュール120は、第1画像抽出モジュール110、学習モジュール130と接続されている。第1位置情報抽出モジュール120は、第1画像抽出モジュール110が抽出した第1画像の位置を用いて、全方位カメラ画像内における人の位置を示す位置情報を抽出する。人の位置として、第1画像の位置そのものを用いてもよい。ここで「位置情報」として、全方位カメラ画像内における人の位置を示す位置情報、全方位カメラ画像の中心からその人までの距離、又は、これらの組み合わせである。そして、「位置情報」として、さらに、人のサイズ、その人を囲む矩形の縦と横の長さの比、又は、これらの組み合わせであってもよい。さらに、「位置情報」として、全方位カメラ画像における角度(例えば、90度(後述する図7の例での顔の向き(90°)704)等)を付加してもよいし、撮影された景色におけるXY座標を付加してもよい。
第2画像抽出モジュール115は、画像受付モジュール105、第2位置情報抽出モジュール125、学習モジュール130と接続されている。第2画像抽出モジュール115は、全方位カメラ150によって撮影された画像から抽出した人の頭部以外の部分を少なくとも撮影した画像(第2画像)を抽出する。
この「第2画像」として、全方位カメラ画像内の人の全身を撮影した画像(この場合は、その人の頭部も含まれている)、その人の上半身を撮影した画像(この場合も、その人の頭部も含まれている)、その人の下半身を撮影した画像、その人の手を撮影した画像、又は、これらの組み合わせであってもよい。ここで「手」とは、人体の肩から先にある部分のいずれかであって、例えば、腕、手首から先の部分等をいう。
第2位置情報抽出モジュール125は、第2画像抽出モジュール115、学習モジュール130と接続されている。第2位置情報抽出モジュール125は、第1位置情報抽出モジュール120と同様に、第2画像抽出モジュール115が抽出した第2画像の位置を用いて、全方位カメラ画像内における人の位置を示す位置情報を抽出する。人の位置として、第2画像の位置そのものを用いてもよい。なお、「位置情報」については、第1位置情報抽出モジュール120の説明と同等の定義であり、その処理内容も第1位置情報抽出モジュール120による処理内容と同等のことを行えばよい。
学習モジュール130は、第1画像抽出モジュール110、第2画像抽出モジュール115、第1位置情報抽出モジュール120、第2位置情報抽出モジュール125と接続されている。学習モジュール130は、第1画像抽出モジュール110によって抽出された第1画像と、第1位置情報抽出モジュール120によって抽出された位置情報とを受け付け、位置情報から第1画像の歪み度合いを算出し、その算出した歪み度合いと第1画像とを用いて、人の顔の向きを推定するための学習を行う。
ここで「人の顔の向き」は、顔を横方向に動かした場合の方向であってもよいし、顔を縦方向に動かした場合の方向であってもよいし、これらの組み合わせであってもよい。
また、(1)「第1画像の歪み度合い」として、例えば、全方位カメラ画像の中心からの距離によって定まる値であって、中心における(中心からの距離が0)での歪み度合いは低く(例えば、歪み度合いが0)、中心から遠い距離にあるほど歪み度合いが高くなるようになっている。具体的には、中心からの距離に比例するようにしてもよいし、全方位カメラ150の特性(特に、レンズの特性)、全方位カメラ150から対象(全方位カメラ画像内に撮影されている対象物)までの距離を変数とする算出式によって算出してもよい。また、ここでの距離は連続値であってもよいが離散値であってもよい。離散値である場合は、いわゆる領域毎に歪み度合いが決定されることになる。領域の形状として、例えば、図11(a)を用いて後述するドーナツ状(円筒状)等がある。
(2)「第1画像の歪み度合い」として、例えば、全方位カメラ画像内の位置によって定まる値であって、中心に近い位置での歪み度合いは低く(例えば、歪み度合いが0)、中心から遠い位置にあるほど歪み度合いが高くなるようになっている。また、位置毎に、歪み度合いが予め定められていてもよい。また、ここでの位置は連続値であってもよいが離散値であってもよい。離散値である場合は、いわゆる領域毎に歪み度合いが決定されることになる。領域の形状として、例えば、図11(b)(c)を用いて後述する扇型、矩形等がある。
「歪み度合いと第1画像とを用いて、人の顔の向きを推定するための学習」として、例えば、(1)歪み度合いと第1画像とを学習パラメータとして、人の顔の向きを推定するための学習を行うこと、(2)歪み度合い毎に、第1画像を用いた学習を行うこと、(3)中心からの距離毎に、第1画像を用いた学習を行うこと、(4)位置毎に、第1画像を用いた学習を行うこと、としてもよい。(3)(4)における「中心からの距離毎」、「位置毎」は、領域毎としてもよい。「中心からの距離毎」、「位置毎」に歪み度合いが異なり、これら毎に学習した場合は、全方位カメラ画像全体で学習した場合に比べて、「中心からの距離毎」、「位置毎」での第1画像における人の顔の向きの認識率を向上させることができるからである。
また、学習モジュール130は、第2画像抽出モジュール115によって抽出された第2画像と、第2位置情報抽出モジュール125によって抽出された位置情報を受け付け、第2画像と位置情報を用いて、人の顔の向きを推定するための学習を行うようにしてもよい。
また、学習モジュール130は、第1画像抽出モジュール110によって抽出された第1画像と、第2画像抽出モジュール115によって抽出された第2画像と、第1位置情報抽出モジュール120又は第2位置情報抽出モジュール125によって抽出された位置情報を受け付け、第1画像と第2画像と位置情報を用いて、人の顔の向きを推定するための学習を行うようにしてもよい。
また、学習モジュール130は、人の顔の向きの他に、その人の向きを推定するための学習を行うようにしてもよい。ここで「人の向き」とは、体全体の向き、足の向き、等であって、人の顔の向きと同じ方向である場合が多いが、異なることもある。異なる場合として、例えば、体全体は前方を向いているが、顔は横を向いている場合等が該当する。
また、学習モジュール130は、さらに、人以外のものの全方位カメラ画像内の位置を示す第3位置情報を受け付け、そして、その第3位置情報を用いて、人の顔の向きを推定するための学習を行うようにしてもよい。ここで「人以外のもの」として、商品棚、商品、ポスター、マネキン、対象となっている人以外の人(例えば、店員)、又は、これらの組み合わせであってもよい。
また、学習モジュール130は、第1画像又は第2画像のサイズが、予め定められた閾値よりも小さい又は以下である場合は、その第1画像又はその第2画像を学習には用いないようにしてもよい。ここでの閾値は、全方位カメラ画像の中心からの距離に応じて変更するようにしてもよい。ここで「全方位カメラ画像の中心からの距離に応じて変更」として、具体的には、中心に近いと大きい値の閾値であり、中心から遠いと小さい値の閾値であるとしてもよい。
また、学習モジュール130は、全方位カメラ画像の中心からの距離に応じて、第2画像を用いるか否かを定めるようにしてもよい。そして、全方位カメラ画像の中心からの距離に応じて、第1画像と第2画像の重みを定めるようにしてもよい。
また、全方位カメラ画像は、時系列の画像であってもよい。ここで「時系列の画像」として、同じ場所を撮影した画像であって、撮影日時が異なる静止画像であってもよいし、動画像から静止画像(フレーム画像)を抽出したものであってもよい。その場合、学習モジュール130は、さらに、対象としている第1画像又は第2画像よりも前に撮影された第1画像又は第2画像との比較によって抽出した人の動きを示す動作情報を受け付けるようにしてもよい。もちろんのことながら、比較対象は、「対象の第1画像とそれよりも前に撮影された第1画像」の組み合わせ、又は、「対象の第2画像とそれよりも前に撮影された第2画像」の組み合わせである。そして、学習モジュール130は、さらに、その動作情報を用いて、人の顔の向きを推定するための学習を行うようにしてもよい。また、「動作情報」として、人の速度、加速度、移動ベクトル、移動軌跡、移動距離、又は、これらの組み合わせを用いるようにしてもよい。
図2は、本実施の形態を利用したシステム構成例を示す説明図である。
図2(a)の例は、店舗毎に学習を行う場合の例を示したものであり、店舗210の天井に全方位カメラ150を設置し、その店舗210に入店した客である人280A、人280B、人280C等を撮影して、情報処理装置100が学習する場合のシステム構成例を示したものである。なお、学習後のモデル(学習後のデータ)を用いて、情報処理装置100が客である人280A等の顔の向きを推定するようにしてもよい。ここでの「顔の向き」は、店舗210内の商品、ポスター等がある位置を示すことになり、目立つ(目につく)商品等を知ることができるようになる。
図2(b)の例は、複数の店舗による全方位カメラ画像を用いて、学習を行う場合の例を示したものであり、情報処理装置100、店舗210A内の全方位カメラ150A、店舗210B内の全方位カメラ150B、店舗210C内の全方位カメラ150Cは、通信回線290を介してそれぞれ接続されている。通信回線290は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット、イントラネット等であってもよい。また、情報処理装置100による機能は、クラウドサービスとして実現してもよい。
なお、図2では、店舗210に全方位カメラ150が設置された例を示しているが、他の場所に設置してもよい。例えば、駅構内、教室、美術館等であってもよい。
図3は、全方位カメラ150によって人間が撮影された画像の例を示す説明図である。
全方位カメラ画像300は、全方位カメラ150によって撮影された画像である。全方位カメラ150の撮影範囲内に人が入ると、全方位カメラ画像300内に人画像310が撮影される。外接矩形320は、人画像310を囲む画像(第2画像の一例)であり、図3の例では、人画像310の全身を囲む矩形である。なお、人画像310の頭部部分を囲む矩形内の画像は、第1画像の例である。
また、情報処理装置100は、人画像310の顔の向き330を学習する。そして、学習結果として生成されたモデルによって、人画像310の顔の向き330を推定することができるようになる。
図4は、全方位カメラ150によって人間が撮影された画像の例を示す説明図である。
図4(a)の例は、全方位カメラ画像300内の周辺(外側)で撮影された全身画像420aの例を示すものである。頭部画像410aが撮影されており、顔内の器官(目、口、鼻、眉毛、頭毛等)のほとんどが撮影されており、頭部画像410aだけでも従来の技術によって顔の向きを推定するための学習に用いることができるものである。
図4(b)の例は、全方位カメラ画像300内の周辺(外側)に撮影された全身画像420bの例を示すものである。頭部画像410bが撮影されており、顔内の器官の一部(例えば、口等)が撮影されておらず、頭部画像410aだけでは顔の向きを推定するための学習に用いることは困難である(推定精度が落ちる)。
図4(c)の例は、全方位カメラ画像300内の中央付近で撮影された全身画像420cの例を示すものである。頭部画像410cが撮影されており、顔内の器官のほとんどが撮影されておらず、頭部画像410cだけでは顔の向きを推定するための学習に用いることは困難である。しかし、図4(c)の例に示す画像であっても、頭部画像410c以外の部分(例えば、手等)が撮影されており、顔の向き(この場合は左方向)を推定するための学習に用いることが可能となる。
情報処理装置100は、頭部画像410とその人の位置情報の組み合わせ、全身画像420とその人の位置情報の組み合わせ、頭部画像410と全身画像420とその人の位置情報の組み合わせ、のいずれかを用いて、人の顔の向きを推定するための学習を行う。なお、以下の説明では、頭部画像410と全身画像420とその人の位置情報の組み合わせを用いる例を示す。
図5は、頭部画像502、全身画像522を用いて学習を行う場合の概念的なモジュール構成図である。主に、学習モジュール130内の構成例を示すものである。
例えば、学習モジュール130は、畳み込みニューラルネットワーク(CNN:Convolutional Neural Networks)により画像特徴を抽出する。
入力は頭部画像502と全身画像522、それらの位置情報(全方位カメラ画像における位置、サイズ、中心からの距離、図5では、位置情報512、位置情報532)である。なお、第1画像抽出モジュール110により頭部領域の画像(頭部画像502)と、第2画像抽出モジュール115により全身領域の画像(全身画像522)は検出されている。そして、第1位置情報抽出モジュール120により頭部領域の位置情報(位置情報512)と、第2位置情報抽出モジュール125により全身領域の位置情報(位置情報532)は検出されている。
そして、出力は首を横に振る方向での離散的な8方向である(いわゆる8クラス分類問題)。
具体的には、以下のような処理を行う。
全方位カメラ画像から頭部画像502と全身画像522が抽出され、CNN504に頭部画像502が入力され、CNN524に全身画像522が入力される。CNN504内には、複数のConv506(畳み込み層)、Pool508(プーリング層)があり、同様に、CNN524内には、複数のConv526、Pool528がある。
CNN504の処理結果をFC510(全結合層(Full Connected))に入力し、FC510の処理結果と位置情報512を、次のFC514に入力し、さらにFC516による処理を行わせる。一方、CNN524の処理結果をFC530に入力し、FC530の処理結果と位置情報532を、次のFC534に入力し、さらにFC536による処理を行わせる。
そして、FC516、FC536の処理結果をFC540に入力し、さらにFC542による処理を行わせて、分類結果544を得る。つまり、分類結果544は、8方向のそれぞれの確率を示している。最も高い値の方向を、その人の顔の向きと推定すればよい。
なお、教師データとして、頭部画像502、全身画像522と「顔の向きを示す情報」のセットが用意されている。そして、学習時は、分類結果544が教師データの「顔の向きを示す情報」になるように、誤差逆伝播法(Backpropagation)等を用いた学習を行う。具体的には、分類結果544と教師データの「顔の向きを示す情報」との誤差を最小にするために勾配降下法等を用いればよい。
なお、位置情報512は、全方位カメラ画像内の頭部画像502の位置(x、y)、サイズ(w、h)、中心からの距離(d)によって構成されている。位置情報532は、全方位カメラ画像内の全身画像522の位置(x、y)、サイズ(w、h)、中心からの距離(d)によって構成されている。
図6の例を用いて説明する。図6は、全方位カメラ画像600内における頭部画像610、全身画像620の位置情報(位置パラメータ)の例を示す説明図である。頭部画像610、全身画像620は、それぞれ頭部を囲む矩形画像、全身を囲む矩形画像である。
図6(a)の例は、全方位カメラ画像600内の頭部画像610の位置として頭部画像610の中心位置(x,y)612とし、サイズとして頭部画像610の幅(w)618、高さ(h)616とし、中心からの距離614として全方位カメラ画像600の中心と頭部画像610の中心位置(x,y)612との間の距離とすればよいことを示している。
図6(b)の例は、全方位カメラ画像600内の全身画像620の位置として全身画像620の中心位置(x,y)622とし、サイズとして全身画像620の幅(w)628、高さ(h)626とし、中心からの距離624として全方位カメラ画像600の中心と全身画像620の中心位置(x,y)622との間の距離とすればよいことを示している。
位置情報512、位置情報532内の位置、中心からの距離は、見え方と歪みの変化を学習するための情報となる。
そして、位置情報512、位置情報532内のサイズは、全方位カメラ150の場合、写る位置(全方位カメラ画像内の位置)によりおおよそのサイズが決まるため、縦横比からしゃがむ、手を伸ばすなどの姿勢変化や、物や人で体の一部が隠れてしまう場合等にも対応できるようにしている。
図7は、顔の8方向の向きの例を示す説明図である。本実施の形態では、顔の向きとして8方向ある。図7の例に示すように、顔の向き(0°)700、顔の向き(45°)702、顔の向き(90°)704、顔の向き(135°)706、顔の向き(180°)708、顔の向き(225°)710、顔の向き(270°)712、顔の向き(315°)714がある。もちろんのことながら、8方向以外にも4方向、16方向等であってもよい。また、前述したように、学習対象として、図7の例のように顔を横方向に動かした場合の方向であってもよいし、顔を縦方向に動かした場合(仰ぎ見る、下を見る等)の方向であってもよいし、これらの組み合わせであってもよい。
図8は、本実施の形態による処理例を示すフローチャートである。
撮影モジュール(全方位カメラ)802(全方位カメラ150に相当)は、頭部領域検出モジュール806、全身領域検出モジュール826と接続されており、頭部領域検出モジュール806と全身領域検出モジュール826にフレーム画像804を渡す。
頭部領域検出モジュール806(第1画像抽出モジュール110、第1位置情報抽出モジュール120に相当)は、撮影モジュール(全方位カメラ)802、画像特徴抽出モジュール812、特徴統合モジュール816と接続されており、撮影モジュール(全方位カメラ)802からフレーム画像804を受け取り、画像特徴抽出モジュール812に頭部画像808を渡し、特徴統合モジュール816に頭部画像属性810(位置情報)を渡す。
画像特徴抽出モジュール812(CNN504、FC510に相当)は、頭部領域検出モジュール806、特徴統合モジュール816と接続されており、頭部領域検出モジュール806から頭部画像808を受け取り、特徴統合モジュール816に頭部画像特徴量814を渡す。
特徴統合モジュール816(FC514、FC516に相当)は、頭部領域検出モジュール806、画像特徴抽出モジュール812、特徴統合モジュール840と接続されており、頭部領域検出モジュール806から頭部画像属性810を受け取り、画像特徴抽出モジュール812から頭部画像特徴量814を受け取り、特徴統合モジュール840に頭部特徴量818を渡す。
全身領域検出モジュール826(第2画像抽出モジュール115、第2位置情報抽出モジュール125に相当)は、撮影モジュール(全方位カメラ)802、画像特徴抽出モジュール832、特徴統合モジュール836と接続されており、撮影モジュール(全方位カメラ)802からフレーム画像804を受け取り、画像特徴抽出モジュール832に全身画像828を渡し、特徴統合モジュール836に全身画像属性830(位置情報)を渡す。
画像特徴抽出モジュール832(CNN524、FC530に相当)は、全身領域検出モジュール826、特徴統合モジュール836と接続されており、全身領域検出モジュール826から全身画像828を受け取り、特徴統合モジュール836に全身画像特徴量834を渡す。
特徴統合モジュール836(FC534、FC536に相当)は、全身領域検出モジュール826、画像特徴抽出モジュール832、特徴統合モジュール840と接続されており、全身領域検出モジュール826から全身画像属性830を受け取り、画像特徴抽出モジュール832から全身画像特徴量834を受け取り、特徴統合モジュール840に全身特徴量838を渡す。
特徴統合モジュール840(FC540に相当)は、特徴統合モジュール816、特徴統合モジュール836、顔向きクラス判別モジュール844と接続されており、特徴統合モジュール816から頭部特徴量818を受け取り、特徴統合モジュール836から全身特徴量838を受け取り、顔向きクラス判別モジュール844に統合特徴量842を渡す。
顔向きクラス判別モジュール844(FC542に相当)は、特徴統合モジュール840と接続されており、特徴統合モジュール840から統合特徴量842を受け取り、顔向きクラス846(分類結果544に相当)を出力する。
図9は、本実施の形態による実験結果の例を示す説明図である。
以下のように3種類の画像の組み合わせを用いた場合の実験結果を示す。
(1)頭部画像のみを使用した場合
(2)全身画像のみを使用した場合
(3)頭部画像と全身画像を使用した場合
そして、各場合について、位置情報の有り又は無しを、AlexNetとVGGNetで評価した場合の実験結果を実験結果900に示している。
なお、AlexNetとVGGNetは、畳み込みニューラルネットワークの代表的手法であり一般に公開されているのでよく用いられる。
結果的に、本実施の形態で用いる(3)で位置情報ありのパターンが最もよい精度となった。実験結果900の「AlexNet w/ att.」の列と「(iii)head+body」の交差したセルの値(78.6)、「VGGNet w/ att.」の列と「(iii)head+body」の交差したセルの値(90.5)がそれを示している。
そして、この実験によって、頭部画像のみを使った場合は各クラス(顔の向き)の所属確率が曖昧だが、頭部画像と全身画像を使う場合はロバストに分類されることが判明した。
図10は、人画像矩形1030と閾値人画像矩形1050の大きさの比較例を示す説明図である。
頭部画像、全身画像のサイズが、予め定められたサイズから大きく外れている場合、一部が隠れていると判断しその画像は使用しないようにしてもよい。また、この「予め定められたサイズ」は、全方位カメラ画像1000の中心からの距離に応じて変更してもよい。
全方位カメラ画像1000内に人画像1010が含まれているが、撮影されている人の一部が商品棚1020によって隠れているため、人画像矩形1030のサイズが閾値人画像矩形1050よりも小さくなっている。なお、閾値人画像矩形1050は、この位置(全方位カメラ画像1000の中心から人画像矩形1030までの距離)における閾値となるサイズを示している。例えば、この位置の人の画像の理論値(例えば、平均身長の人が立っていた場合に、その人と全方位カメラ150の位置関係、距離を用いて算出した人画像のサイズ)としてもよいし、実際に撮影した場合の人画像矩形の平均値としてもよいし、中央値、最頻値等としてもよい。
また、閾値人画像矩形1050は、全方位カメラ画像1000の中心からの距離によって異なる大きさとしてもよい。具体的には、中心に近いと大きい値の閾値であり、中心から遠いと小さい値の閾値とすればよい。
図11は、全方位カメラ画像1100を複数の領域に分けた例を示す説明図である。
図11(a)は、全方位カメラ画像1100を3つの領域(領域1120、領域1130、領域1140)に分けた例を示す説明図である。この例は、中心からの距離によって領域を分けた例を示している。もちろんのことながら、2つの領域、4つ以上の領域に分けてもよい。
全方位カメラ画像1100を半径によってドーナツ状(円筒状)に複数の領域(図11では、中心1110からの距離で、領域1120、領域1130、領域1140)に分割し、頭部画像又は全身画像のいずれかを使う領域を区別するようにしてもよい。具体的には、領域1120では全身画像のみを用い、領域1130では全身画像と頭部画像を用い、領域1140では頭部画像のみを用いるようにしてもよい。
又は、属している領域に応じて、頭部画像と全身画像を用いる場合の重みを調整するようにしてもよい。例えば、中心1110に近い領域(領域1120)では全身画像の重みを大きく(頭部画像よりも全身画像を重視)し、中心1110から遠い領域(領域1140)では頭部画像の重みを大きく(全身画像よりも頭部画像を重視)してもよい。また、明確な領域に分けずに、頭部画像の重みを中心1110からの距離に応じて大きくする(中心1110から近い場合の重みは小さいが、遠くなるにつれて重みを大きくする)ようにしてもよい。また、逆に、全身画像の重みを中心1110からの距離に応じて小さくする(中心1110から近い場合の重みは大きいが、遠くなるにつれて重みを小さくする)ようにしてもよい。具体的には、位置情報(位置情報512、位置情報532)内に、その重みを含めて学習するようにしてもよい。
また、領域の形状についても、ドーナツ状(円筒状)だけでなく、図11(b)の例に示すように、扇型に分けてもよい。この例では、領域1150、領域1152、領域1154、領域1156、領域1158、領域1160の6つに分けている。この例は、位置によって領域を分けた例を示している。もちろんのことながら、2つ~5つの領域、7つ以上の領域に分けてもよい。そして、領域に応じて、頭部画像と全身画像を用いる場合の重みを調整するようにしてもよい。
また、図11(c)の例に示すように、矩形に分けてもよい。この例では、領域1170~領域1185の16個に分けている。もちろんのことながら、2つ~15個の領域、17個以上の領域に分けてもよい。矩形でなくてもよい。そして、領域に応じて、頭部画像と全身画像を用いる場合の重みを調整するようにしてもよい。この場合も、図11(a)に示したように、中心1110に近い領域(領域1175等)では全身画像の重みを大きく(頭部画像よりも全身画像を重視)し、中心1100から遠い領域(領域1170等)では頭部画像の重みを大きく(全身画像よりも頭部画像を重視)してもよい。
図11に示す領域の形状は例示であって、これら以外の形状の領域(例えば、三角形、六角形等)であってもよい。
図12は、全方位カメラ画像1200内の移動軌跡1220の例を示す説明図である。
前述の例では、ある時点のフレーム画像を対象としているが、時系列のフレーム画像で得られるパラメータを用いるようにしてもよい。つまり、このパラメータは、ある時点で撮影された頭部画像又は全身画像の位置と、その後(予め定められた時間後)に撮影された頭部画像又は全身画像(人画像1210)の位置を用いて算出されるものである。パラメータとして、例えば、速度、加速度、移動軌跡1220、移動ベクトル1230、移動距離、又は、これらの組み合わせ等を用いるようにしてもよい。具体的には、位置情報(位置情報512、位置情報532)内に、このパラメータを含めて学習するようにしてもよい。このパラメータを追加することで精度向上を図ることができる。また、中心からの距離、位置に応じて、これらのパラメータを用いる重みを調整するようにしてもよい。例えば、パラメータの重みを中心からの距離に応じて大きくするようにしてもよい。また、予め定められた位置では、パラメータの重みを大きくするようにしてもよい。
図13は、顔の向き1315と体の向き1325が異なる例を示す説明図である。
学習データの頭部画像と全身画像の方向として、別々のラベル(方向)を持っていてもよい。つまり、人の顔の向き、人の向きを別々に推定するように学習してもよい。図13は、頭部画像矩形1310の顔の向き1315と、全身画像矩形1320の体の向き1325は異なっている例を示している。もちろんのことながら、頭部画像と全身画像の方向を同じ方向としてもよい。また、中心からの距離、位置に応じて、人の顔の向き、人の向きのいずれを推定するかを調整するようにしてもよい。例えば、中心からの距離が近いほど人の向きを重視してもよく、中心からの距離が遠いほど人の顔の向きを重視してもよい。また、予め定められた位置に応じて、人の顔の向き、人の向きのいずれを推定するかを決定しておいてもよい。
また、店舗210のような商品棚が配置されたような場所では、位置依存の傾向(棚の近くでは棚の方向を見る、通路は進行方向を向きやすいなど)を学習するようにしてもよい。つまり、位置情報として、商品棚の位置、サイズ等を含めるようにしてもよい。また、商品棚以外に、商品、ポスター、マネキン、対象となっている人以外の人(例えば、店員等)、又は、これらの組み合わせを含めるようにしてもよい。
なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図14に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバーとなり得るコンピュータ等である。つまり、具体例として、処理部(演算部)としてCPU1401を用い、記憶装置としてRAM1402、ROM1403、HD1404を用いている。HD1404として、例えばハードディスク、SSD(Solid State Drive)を用いてもよい。画像受付モジュール105、第1画像抽出モジュール110、第2画像抽出モジュール115、第1位置情報抽出モジュール120、第2位置情報抽出モジュール125、学習モジュール130等のプログラムを実行するCPU1401と、そのプログラムやデータを記憶するRAM1402と、本コンピュータを起動するためのプログラム等が格納されているROM1403と、画像、教師データ、機械学習後のモデル(学習後のデータ)等を記憶する補助記憶装置(フラッシュ・メモリ等であってもよい)であるHD1404と、キーボード、マウス、タッチスクリーン、マイク、カメラ(視線検知カメラ等を含む)等に対する利用者の操作(動作、音声、視線等を含む)に基づいてデータを受け付ける受付装置1406と、CRT、液晶ディスプレイ、スピーカー等の出力装置1405と、ネットワークインタフェースカード等の通信ネットワークと接続するための通信回線インタフェース1407、そして、それらをつないでデータのやりとりをするためのバス1408により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図14に示すハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図14に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続している形態でもよく、さらに図14に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータ、サーバーとなり得るコンピュータの他、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD-R、DVD-RW、DVD-RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD-ROM)、CDレコーダブル(CD-R)、CDリライタブル(CD-RW)等、ブルーレイ・ディスク(Blu-ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分若しくは全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
100…情報処理装置
105…画像受付モジュール
110…第1画像抽出モジュール
115…第2画像抽出モジュール
120…第1位置情報抽出モジュール
125…第2位置情報抽出モジュール
130…学習モジュール
150…全方位カメラ
210…店舗
280…人
290…通信回線
802…撮影モジュール(全方位カメラ)
806…頭部領域検出モジュール
812…画像特徴抽出モジュール
816…特徴統合モジュール
826…全身領域検出モジュール
832…画像特徴抽出モジュール
836…特徴統合モジュール
840…特徴統合モジュール
844…顔向きクラス判別モジュール

Claims (14)

  1. 全方位カメラによって撮影された画像から抽出した人の頭部を撮影した第1画像と、前記画像内における該人の位置を示す位置情報とを受け付ける受付手段と、
    前記位置情報から前記第1画像の歪み度合いを算出する算出手段と、
    算出した前記歪み度合いと前記第1画像と前記人の顔の向きを示す情報とを用いて、前記人の顔の向きを推定するための学習を行う学習手段
    を有する情報処理装置。
  2. 前記位置情報として、前記画像内における前記人の位置を示す位置情報、該画像の中心から該人までの距離、又は、これらの組み合わせである、
    請求項1に記載の情報処理装置。
  3. 前記位置情報として、さらに、前記人のサイズ、該人を囲む矩形の縦と横の長さの比、又は、これらの組み合わせである、
    請求項2に記載の情報処理装置。
  4. 前記受付手段は、さらに、前記人以外のものの前記画像内の位置を示す第3位置情報を受け付け、
    前記学習手段は、さらに、前記第3位置情報を用いて、前記人の顔の向きを推定するための学習を行う、
    請求項3に記載の情報処理装置。
  5. 前記人以外のものとして、商品棚、商品、ポスター、マネキン、前記人以外の人、又は、これらの組み合わせである、
    請求項4に記載の情報処理装置。
  6. 前記学習手段は、前記第1画像サイズが、閾値よりも小さい又は以下である場合は、該第1画像用いない、
    請求項1に記載の情報処理装置。
  7. 前記学習手段は、前記閾値を、前記画像の中心からの距離に応じて変更する、
    請求項6に記載の情報処理装置。
  8. 前記画像は、時系列の画像であり、
    前記受付手段は、さらに、対象としている第1画像りも前に撮影された第1画像の比較によって抽出した前記人の動きを示す動作情報を受け付け、
    前記学習手段は、さらに、前記動作情報を用いて、前記人の顔の向きを推定するための学習を行う、
    請求項1に記載の情報処理装置。
  9. 前記動作情報として、前記人の速度、加速度、移動ベクトル、移動軌跡、移動距離、又は、これらの組み合わせを用いる、
    請求項8に記載の情報処理装置。
  10. コンピュータを、
    全方位カメラによって撮影された画像から抽出した人の頭部を撮影した第1画像と、前記画像内における該人の位置を示す位置情報とを受け付ける受付手段と、
    前記位置情報から前記第1画像の歪み度合いを算出する算出手段と、
    算出した前記歪み度合いと前記第1画像と前記人の顔の向きを示す情報とを用いて、前記人の顔の向きを推定するための学習を行う学習手段
    として機能させるための情報処理プログラム。
  11. 前記受付手段は、さらに、前記全方位カメラによって撮影された画像から抽出した人の頭部以外の部分を少なくとも撮影した第2画像と該人の位置を示す位置情報を受け付け、
    前記学習手段は、さらに、前記第2画像と前記位置情報を用いて、前記人の顔の向きを推定するための学習を行い、
    前記学習手段は、前記第1画像又は前記第2画像のサイズが、閾値よりも小さい又は以下である場合は、該第1画像又は該第2画像を用いない、
    請求項1に記載の情報処理装置。
  12. 前記学習手段は、前記閾値を、前記画像の中心からの距離に応じて変更する、
    請求項11に記載の情報処理装置。
  13. 前記受付手段は、さらに、前記全方位カメラによって撮影された画像から抽出した人の頭部以外の部分を少なくとも撮影した第2画像と該人の位置を示す位置情報を受け付け、
    前記学習手段は、さらに、前記第2画像と前記位置情報を用いて、前記人の顔の向きを推定するための学習を行い、
    前記画像は、時系列の画像であり、
    前記受付手段は、さらに、対象としている第1画像又は第2画像よりも前に撮影された第1画像又は第2画像との比較によって抽出した前記人の動きを示す動作情報を受け付け、
    前記学習手段は、さらに、前記動作情報を用いて、前記人の顔の向きを推定するための学習を行う、
    請求項1に記載の情報処理装置。
  14. 前記動作情報として、前記人の速度、加速度、移動ベクトル、移動軌跡、移動距離、又は、これらの組み合わせを用いる、
    請求項13に記載の情報処理装置。
JP2018109232A 2018-06-07 2018-06-07 情報処理装置及び情報処理プログラム Active JP7230345B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018109232A JP7230345B2 (ja) 2018-06-07 2018-06-07 情報処理装置及び情報処理プログラム
US16/161,067 US10964046B2 (en) 2018-06-07 2018-10-16 Information processing apparatus and non-transitory computer readable medium storing information processing program for estimating face orientation by using an omni-directional camera

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018109232A JP7230345B2 (ja) 2018-06-07 2018-06-07 情報処理装置及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2019212148A JP2019212148A (ja) 2019-12-12
JP7230345B2 true JP7230345B2 (ja) 2023-03-01

Family

ID=68763957

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018109232A Active JP7230345B2 (ja) 2018-06-07 2018-06-07 情報処理装置及び情報処理プログラム

Country Status (2)

Country Link
US (1) US10964046B2 (ja)
JP (1) JP7230345B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7255173B2 (ja) * 2018-12-26 2023-04-11 オムロン株式会社 人検出装置および人検出方法
JP7005546B2 (ja) * 2019-03-15 2022-01-21 株式会社東芝 画像認識装置、画像認識方法および画像認識プログラム
KR20230054182A (ko) * 2021-10-15 2023-04-24 주식회사 알체라 인공신경망을 이용한 사람 재식별 방법 및 이를 수행하기 위한 컴퓨팅 장치
CN113934376B (zh) * 2021-10-22 2025-03-25 珠海全志科技股份有限公司 外部设备挂载的方法、装置及计算机可读存储介质
JP7365729B1 (ja) 2022-10-06 2023-10-20 株式会社アジラ 姿勢推定システム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016171526A (ja) 2015-03-13 2016-09-23 株式会社東芝 画像センサ、人検出方法、制御システム、制御方法及びコンピュータプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000331190A (ja) 1999-05-20 2000-11-30 Atr Media Integration & Communications Res Lab 仮想変身装置
JP4092059B2 (ja) 2000-03-03 2008-05-28 日本放送協会 画像認識装置
US8599266B2 (en) * 2002-07-01 2013-12-03 The Regents Of The University Of California Digital processing of video images
JP4501937B2 (ja) * 2004-11-12 2010-07-14 オムロン株式会社 顔特徴点検出装置、特徴点検出装置
US7945938B2 (en) * 2005-05-11 2011-05-17 Canon Kabushiki Kaisha Network camera system and control method therefore
CA2508455A1 (en) * 2005-05-27 2006-11-27 Manuel Bolduc Simulated brick product
JP2009086749A (ja) * 2007-09-27 2009-04-23 Canon Inc パターン識別手法、識別用パラメータ学習方法、及び装置
JP4569670B2 (ja) * 2008-06-11 2010-10-27 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
JP5247356B2 (ja) * 2008-10-29 2013-07-24 キヤノン株式会社 情報処理装置およびその制御方法
JP5483863B2 (ja) * 2008-11-12 2014-05-07 キヤノン株式会社 情報処理装置およびその制御方法
JP2012227830A (ja) 2011-04-21 2012-11-15 Canon Inc 情報処理装置、その処理方法、プログラム及び撮像装置
JP5992276B2 (ja) * 2012-09-20 2016-09-14 株式会社東芝 人物認識装置、及び方法
JP2014153817A (ja) * 2013-02-06 2014-08-25 Toshiba Corp 通行制御装置、その方法、及び、そのプログラム
JP6448223B2 (ja) * 2014-06-12 2019-01-09 キヤノン株式会社 画像認識システム、画像認識装置、画像認識方法、およびコンピュータプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016171526A (ja) 2015-03-13 2016-09-23 株式会社東芝 画像センサ、人検出方法、制御システム、制御方法及びコンピュータプログラム

Also Published As

Publication number Publication date
US20190378290A1 (en) 2019-12-12
JP2019212148A (ja) 2019-12-12
US10964046B2 (en) 2021-03-30

Similar Documents

Publication Publication Date Title
KR102596897B1 (ko) 모션벡터 및 특징벡터 기반 위조 얼굴 검출 방법 및 장치
JP7230345B2 (ja) 情報処理装置及び情報処理プログラム
JP5227629B2 (ja) オブジェクト検出方法、オブジェクト検出装置、およびオブジェクト検出プログラム
CN101799867B (zh) 对真实世界视频和图像中的人的改善检测
JP4692773B2 (ja) 物体の姿勢推定及び照合システム、物体の姿勢推定及び照合方法、並びにそのためのプログラム
JP6573193B2 (ja) 判定装置、判定方法、および判定プログラム
CN111199165B (zh) 图像处理方法及装置
JP2011198349A (ja) 情報処理方法及びその装置
TWI438702B (zh) 影像環境邊界之動態設定方法及人員活動內容之即時判定方法
MX2013002904A (es) Aparato de proceso de imagenes de personas y metodo para procesar imagenes de personas.
JP5001930B2 (ja) 動作認識装置及び方法
CN112017212A (zh) 人脸关键点跟踪模型的训练、跟踪方法及系统
JP2022526468A (ja) 二次元顔画像の2つ以上の入力に基づいて三次元顔モデルを適応的に構築するためのシステムおよび方法
JP5027030B2 (ja) オブジェクト検出方法、オブジェクト検出装置、およびオブジェクト検出プログラム
JP2002366958A (ja) 画像認識方法および画像認識装置
CN116758628B (zh) 一种基于多模态融合的人体动作识别方法及装置
JP2018120402A (ja) イベント検出装置、イベント検出方法、プログラム
US11907425B2 (en) Image processing device, image processing method, and image processing program
CN120318864B (zh) 一种基于ai的消费者关注点估计方法及设备
JP2009251892A (ja) オブジェクト検出方法、オブジェクト検出装置、およびオブジェクト検出プログラム
CN112926364A (zh) 头部姿态的识别方法及系统、行车记录仪和智能座舱
WO2020217425A1 (ja) 教師データ生成装置
KR20230053262A (ko) 2d 현실공간 이미지를 기반의 3d 객체 인식 및 변환 방법과 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
CN117315781B (zh) 一种手部跟踪方法、数据处理设备及头戴式设备
JP6362947B2 (ja) 映像分割装置、方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210524

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221028

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230130

R150 Certificate of patent or registration of utility model

Ref document number: 7230345

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150