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

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

▶ オムロン株式会社の特許一覧

<>
  • 特許-人体検出装置および人体検出方法 図1
  • 特許-人体検出装置および人体検出方法 図2
  • 特許-人体検出装置および人体検出方法 図3
  • 特許-人体検出装置および人体検出方法 図4
  • 特許-人体検出装置および人体検出方法 図5
  • 特許-人体検出装置および人体検出方法 図6
  • 特許-人体検出装置および人体検出方法 図7
  • 特許-人体検出装置および人体検出方法 図8
  • 特許-人体検出装置および人体検出方法 図9
  • 特許-人体検出装置および人体検出方法 図10
  • 特許-人体検出装置および人体検出方法 図11
  • 特許-人体検出装置および人体検出方法 図12
  • 特許-人体検出装置および人体検出方法 図13
  • 特許-人体検出装置および人体検出方法 図14
  • 特許-人体検出装置および人体検出方法 図15
  • 特許-人体検出装置および人体検出方法 図16
  • 特許-人体検出装置および人体検出方法 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-05
(45)【発行日】2024-01-16
(54)【発明の名称】人体検出装置および人体検出方法
(51)【国際特許分類】
   G06T 7/00 20170101AFI20240109BHJP
【FI】
G06T7/00 660B
【請求項の数】 11
(21)【出願番号】P 2020117925
(22)【出願日】2020-07-08
(65)【公開番号】P2022015222
(43)【公開日】2022-01-21
【審査請求日】2023-02-16
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】田中 清明
【審査官】新井 則和
(56)【参考文献】
【文献】特開2000-105835(JP,A)
【文献】特開2011-060167(JP,A)
【文献】特開2004-007174(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
撮像された画像から人体を検出する人体検出手段と、
前記画像に基づいて、前記人体検出手段により検出された人体が動体であるか否かを判定する動体判定手段と、
前記人体検出手段により検出された人体が、前記画像にフレームインした人体がみせる所定の条件を満たしたか否かを判定する条件判定手段と、
前記所定の条件が満たされたと前記条件判定手段が判定するまで、第1のモードを維持し、前記所定の条件が満たされたと前記条件判定手段が判定したことに応じて、前記第1のモードから第2のモードへの切り替えを行うモード設定手段と、
前記第1のモードにおいては、前記人体検出手段により検出された人体が動体であると前記動体判定手段が判定した場合に、当該人体の情報を出力し、前記第2のモードにおいては、前記人体検出手段により検出された人体が動体であると前記動体判定手段が判定したか否かに拘わらずに、当該人体の情報を出力する情報出力手段と
を有することを特徴とする人体検出装置。
【請求項2】
前記モード設定手段は、前記人体検出手段により検出された人体ごとにモードを設定する
ことを特徴とする請求項1に記載の人体検出装置。
【請求項3】
前記動体判定手段は、前記第2のモードにおいては、前記人体検出手段により検出された人体が動体であるか否かを判定せず、前記第1のモードにおいて、前記人体検出手段により検出された人体が動体であるか否かを判定する
ことを特徴とする請求項1または2に記載の人体検出装置。
【請求項4】
前記モード設定手段は、前記人体検出手段により人体が検出されなくなった場合に、前記第1のモードへのリセットを行う
ことを特徴とする請求項1~3のいずれか1項に記載の人体検出装置。
【請求項5】
前記所定の条件は、人体が所定量よりも大きい動き量で所定時間よりも長く動いたという条件である
ことを特徴とする請求項1~4のいずれか1項に記載の人体検出装置。
【請求項6】
前記所定の条件は、現在までの所定期間における、人体が所定量よりも大きい動き量で動いた総時間が、所定時間よりも長いという条件である
ことを特徴とする請求項1~4のいずれか1項に記載の人体検出装置。
【請求項7】
前記所定の条件は、前記画像における所定範囲の外側から前記所定範囲の内側へ人体が移動したという条件である
ことを特徴とする請求項1~4のいずれか1項に記載の人体検出装置。
【請求項8】
前記所定の条件は、前記画像における所定範囲の内側から前記所定範囲の外側へ人体が移動したという条件である
ことを特徴とする請求項1~4のいずれか1項に記載の人体検出装置。
【請求項9】
前記人体検出手段は、前記画像から人体を検出する際に、検出した人体が人体であることの確からしさである信頼度を算出し、
前記所定の条件は、前記人体検出手段により検出された人体が動体であると前記動体判定手段が判定した際の当該人体の信頼度の累積値が所定値よりも高いという条件である
ことを特徴とする請求項1~4のいずれか1項に記載の人体検出装置。
【請求項10】
撮像された画像から人体を検出する人体検出ステップと、
前記画像に基づいて、前記人体検出ステップで検出された人体が動体であるか否かを判定する動体判定ステップと、
前記人体検出ステップで検出された人体が、前記画像にフレームインした人体がみせる所定の条件を満たしたか否かを判定する条件判定ステップと、
前記所定の条件が満たされたと前記条件判定ステップで判定されるまで、第1のモードを維持し、前記所定の条件が満たされたと前記条件判定ステップで判定されたことに応じて、前記第1のモードから第2のモードへの切り替えを行うモード設定ステップと、
前記第1のモードにおいては、前記人体検出ステップで検出された人体が動体であると前記動体判定ステップで判定された場合に、当該人体の情報を出力し、前記第2のモードにおいては、前記人体検出ステップで検出された人体が動体であると前記動体判定ステップで判定されたか否かに拘わらずに、当該人体の情報を出力する情報出力ステップと
を有することを特徴とする人体検出方法。
【請求項11】
請求項10に記載の人体検出方法の各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像された画像から人体を検出する技術に関する。
【背景技術】
【0002】
撮像された画像から人体を検出する技術として、動体検出や人体検出が知られている。動体検出に関する技術は、例えば、特許文献1に開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2000-105835号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、動体検出では、ロボットアームなどの動きのある物体を全て検出してしまう。また、動体検出では、静止した人体を検出できない。人体検出では、静止した人体を検出できるが、マネキン人形のように人体に類似した物体を人体として誤検出してしまうことがある。このため、動体検出でも人体検出でも、人体を高精度に検出できない。
【0005】
本発明は上記実情に鑑みなされたものであって、人体を高精度に検出できる技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するために本発明は、以下の構成を採用する。
【0007】
本発明の第一側面は、撮像された画像から人体を検出する人体検出手段と、前記画像に基づいて、前記人体検出手段により検出された人体が動体であるか否かを判定する動体判定手段と、前記人体検出手段により検出された人体が、前記画像にフレームインした人体がみせる所定の条件を満たしたか否かを判定する条件判定手段と、前記所定の条件が満たされたと前記条件判定手段が判定するまで、第1のモードを維持し、前記所定の条件が満たされたと前記条件判定手段が判定したことに応じて、前記第1のモードから第2のモードへの切り替えを行うモード設定手段と、前記第1のモードにおいては、前記人体検出手段により検出された人体が動体であると前記動体判定手段が判定した場合に、当該人体の情報を出力し、前記第2のモードにおいては、前記人体検出手段により検出された人体が動体であると前記動体判定手段が判定したか否かに拘わらずに、当該人体の情報を出力する情報出力手段とを有することを特徴とする人体検出装置を提供する。人体の情報は、例えば、当該人体に割り当てられた識別子や、当該人体が検出された位置(または領域)を示す情報、等を含む。
【0008】
上述した構成では、検出された人体が、撮像された画像にフレームインした人体がみせる所定の条件を満たすまでは、検出された人体が動体であると判定された場合に、当該人体の情報が出力される(第1のモード)。つまり、動体検出と人体検出の組み合わせにより人体が検出される(動体検出の結果と人体検出の結果との論理積(AND)が人体の検出結果とされる)。こうすることで、動体である人体を高精度に検出できる。しかし、人体が静止した場合に、当該人体を検出できなくなってしまう。そこで、上述した構成では、検出された人体が所定の条件を満たした後では、検出された人体が動体であると判定されたか否かに拘わらずに、当該人体の情報を出力するとしている(第2のモード)。つまり、人体検出により人体が検出される。こうすることで、人体が静止しても、当該人体を
高精度に検出できる(撮像された画像に人体がフレームインした後であれば、人体検出により当該人体を高精度に検出できる)。
【0009】
前記モード設定手段は、前記人体検出手段により検出された人体ごとにモードを設定するとしてもよい。こうすることで、複数の人体を高精度に検出できる。
【0010】
前記動体判定手段は、前記第2のモードにおいては、前記人体検出手段により検出された人体が動体であるか否かを判定せず、前記第1のモードにおいて、前記人体検出手段により検出された人体が動体であるか否かを判定するとしてもよい。こうすることで、動体検出(人体検出手段により検出された人体が動体であるか否かの判定)の処理負荷を低減できる。
【0011】
撮像された画像から人体がフレームアウトすると、人体検出では、当該人体として、それに類似した他の物体が誤検出されることがある。このため、前記モード設定手段は、前記人体検出手段により人体が検出されなくなった場合に、前記第1のモードへのリセットを行うとしてもよい。こうすることで、動体検出と人体検出の組み合わせにより人体が検出されるようになるため、検出されなくなった人体に類似した他の物体が当該人体として誤検出されることを抑制できる。人体検出手段により人体が検出されなくなった場合は、例えば、人体検出手段により1回でも人体が検出されなかった場合や、人体検出手段により人体が検出されない状態が所定時間よりも長く継続した場合などである。
【0012】
人体は、撮像された画像にフレームインする際に、比較的大きい動き量で、比較的長い時間の動きを示すことが多い。このため、前記所定の条件は、人体が所定量よりも大きい動き量で所定時間よりも長く動いたという条件であるとしてもよい。前記所定の条件は、現在までの所定期間における、人体が所定量よりも大きい動き量で動いた総時間が、所定時間よりも長いという条件であるとしてもよい。後者の条件を所定の条件として用いることにより、人体が動きと静止を繰り返していても、第1のモードから第2のモードへの切り替えを好適に行うことができる。
【0013】
フレームインした人体が主に活動する場所(例えば、人が主に作業を行う場所)は、予め決まっていることが多い。このため、前記所定の条件は、前記画像における所定範囲の外側から前記所定範囲の内側へ人体が移動したという条件であるとしてもよい。こうすることで、初めから所定範囲内に存在する物体(人体でない)については、動体検出と人体検出の組み合わせが適用されるため、当該物体が人体として誤検出されることを抑制できる。所定範囲は、例えば、床や地面を真上から見下ろすように撮像した画像の中央部であり、そのような画像が魚眼画像である場合には、当該画像の中心からの距離が所定距離以下の円状の範囲である。
【0014】
人体がフレームインする際に通る場所(例えば、部屋の出入り口)は、予め決まっていることが多い。このため、前記所定の条件は、前記画像における所定範囲の内側から前記所定範囲の外側へ人体が移動したという条件であるとしてもよい。こうすることで、所定範囲以外の場所からフレームインした物体(人体でない)については、動体検出と人体検出の組み合わせが適用されるため、当該物体が人体として誤検出されることを抑制できる。
【0015】
前記人体検出手段は、前記画像から人体を検出する際に、検出した人体が人体であることの確からしさである信頼度を算出し、前記所定の条件は、前記人体検出手段により検出された人体が動体であると前記動体判定手段が判定した際の信頼度の累積値が所定値よりも高いという条件であるとしてもよい。こうすることで、上記累積値が低い物体については、動体検出と人体検出の組み合わせが適用されるため、人体に類似した他の物体が当該
人体として誤検出されることを抑制できる。また、人体が動きと静止を繰り返していても、第1のモードから第2のモードへの切り替えを好適に行うことができる。
【0016】
本発明の第二側面は、撮像された画像から人体を検出する人体検出ステップと、前記画像に基づいて、前記人体検出ステップで検出された人体が動体であるか否かを判定する動体判定ステップと、前記人体検出ステップで検出された人体が、前記画像にフレームインした人体がみせる所定の条件を満たしたか否かを判定する条件判定ステップと、前記所定の条件が満たされたと前記条件判定ステップで判定されるまで、第1のモードを維持し、前記所定の条件が満たされたと前記条件判定ステップで判定されたことに応じて、前記第1のモードから第2のモードへの切り替えを行うモード設定ステップと、前記第1のモードにおいては、前記人体検出ステップで検出された人体が動体であると前記動体判定ステップで判定された場合に、当該人体の情報を出力し、前記第2のモードにおいては、前記人体検出ステップで検出された人体が動体であると前記動体判定ステップで判定されたか否かに拘わらずに、当該人体の情報を出力する情報出力ステップとを有することを特徴とする人体検出方法を提供する。
【0017】
なお、本発明は、上記構成ないし機能の少なくとも一部を有する人体検出システムとして捉えることができる。また、本発明は、上記処理の少なくとも一部を含む、人体検出方法又は人体検出システムの制御方法や、これらの方法をコンピュータに実行させるためのプログラム、又は、そのようなプログラムを非一時的に記録したコンピュータ読取可能な記録媒体として捉えることもできる。上記構成及び処理の各々は技術的な矛盾が生じない限り互いに組み合わせて本発明を構成することができる。
【発明の効果】
【0018】
本発明によれば、人体を高精度に検出できる。
【図面の簡単な説明】
【0019】
図1図1は、本発明が適用された人体検出装置の構成例を示すブロック図である。
図2図2(A)は、本発明の第1の実施形態に係る人体検出システムの大まかな構成例を示す模式図であり、図2(B)は、当該実施形態に係るPCの構成例を示すブロック図である。
図3図3は、本発明の第1の実施形態に係る差分画像が生成される様子を示す図である。
図4図4は、本発明の第1の実施形態に係るPCの処理フロー例を示すフローチャートである。
図5図5は、本発明の第1の実施形態に係る動作の具体例を示す図である。
図6図6は、本発明の第2の実施形態に係るPCの処理フロー例を示すフローチャートである。
図7図7は、本発明の第2の実施形態に係る動作の具体例を示す図である。
図8図8は、本発明の第3の実施形態に係るPCの構成例を示すブロック図である。
図9図9は、本発明の第3の実施形態に係るPCの処理フロー例を示すフローチャートである。
図10図10は、本発明の第3の実施形態に係る動作の具体例を示す図である。
図11図11は、本発明の第4の実施形態に係るPCの構成例を示すブロック図である。
図12図12は、本発明の第4の実施形態に係る活動範囲の一例を示す図である。
図13図13は、本発明の第4の実施形態に係るPCの処理フロー例を示すフローチャートである。
図14図14は、本発明の第5の実施形態に係る入出範囲の一例を示す図である。
図15図15は、本発明の第5の実施形態に係るPCの処理フロー例を示すフローチャートである。
図16図16は、本発明の第6の実施形態に係るPCの処理フロー例を示すフローチャートである。
図17図17は、本発明の第6の実施形態に係る動作の具体例を示す図である。
【発明を実施するための形態】
【0020】
<適用例>
本発明の適用例について説明する。
【0021】
動体検出では、ロボットアームなどの動きのある物体を全て検出してしまう。また、動体検出では、静止した人体を検出できない。人体検出では、静止した人体を検出できるが、マネキン人形のように人体に類似した物体を人体として誤検出してしまうことがある。このため、動体検出でも人体検出でも、人体を高精度に検出できない。
【0022】
図1は、本発明が適用された人体検出装置100の構成例を示すブロック図である。人体検出装置100は、人体検出部101、動体判定部102、条件判定部103、モード設定部104、及び、情報出力部105を有する。人体検出部101は、撮像された画像から人体を検出する。動体判定部102は、撮像された画像に基づいて、人体検出部101により検出された人体が動体であるか否かを判定する。条件判定部103は、人体検出部101により検出された人体が、撮像された画像にフレームインした人体がみせる所定の条件を満たしたか否かを判定する。モード設定部104は、所定の条件が満たされたと条件判定部103が判定するまで、第1のモードを維持し、所定の条件が満たされたと条件判定部103が判定したことに応じて、第1のモードから第2のモードへの切り替えを行う。情報出力部105は、第1のモードにおいては、人体検出部101により検出された人体が動体であると動体判定部102が判定した場合に、当該人体の情報を出力する。また、情報出力部105は、第2のモードにおいては、人体検出部101により検出された人体が動体であると動体判定部102が判定したか否かに拘わらずに、当該人体の情報を出力する。人体検出部101は本発明の人体検出手段の一例であり、動体判定部102は本発明の動体判定手段の一例であり、条件判定部103は本発明の条件判定手段の一例である。そして、モード設定部104は本発明のモード設定手段の一例であり、情報出力部105は本発明の情報出力手段の一例である。人体の情報は、例えば、当該人体に割り当てられた識別子や、当該人体が検出された位置(または領域)を示す情報、等を含む。
【0023】
上述した構成では、検出された人体が、撮像された画像にフレームインした人体がみせる所定の条件を満たすまでは、検出された人体が動体であると判定された場合に、当該人体の情報が出力される(第1のモード)。つまり、動体検出と人体検出の組み合わせにより人体が検出される(動体検出の結果と人体検出の結果との論理積(AND)が人体の検出結果とされる)。こうすることで、動体である人体を高精度に検出できる。しかし、人体が静止した場合に、当該人体を検出できなくなってしまう。そこで、上述した構成では、検出された人体が所定の条件を満たした後では、検出された人体が動体であると判定されたか否かに拘わらずに、当該人体の情報を出力するとしている(第2のモード)。つまり、人体検出により人体が検出される。こうすることで、人体が静止しても、当該人体を高精度に検出できる(撮像された画像に人体がフレームインした後であれば、人体検出により当該人体を高精度に検出できる)。
【0024】
<第1の実施形態>
本発明の第1の実施形態について説明する。
【0025】
図2(A)は、第1の実施形態に係る人体検出システムの大まかな構成例を示す模式図である。第1の実施形態に係る人体検出システムは、カメラ10と、PC200(パーソナルコンピュータ;人体検出装置)とを有する。カメラ10とPC200は有線または無線で互いに接続されている。カメラ10は、画像を撮像してPC200へ出力する。カメラ10の撮像方向は特に限定されないが、第1の実施形態では床や地面を真上から見下ろすように画像が撮像されるとする。撮像された画像の種類も特に限定されないが、第1の実施形態では魚眼画像が撮像されるとする。PC200は、カメラ10で撮像された画像から人体を検出する。PC200は、検出した人体の情報(人体に割り当てられた識別子や、人体が検出された位置(または領域)を示す情報、等)を表示部に表示したり、記憶媒体に記録したり、他の端末(遠隔地にいる管理者のスマートフォンなど)へ出力したりする。
【0026】
なお、第1の実施形態ではPC10がカメラ10とは別体の装置であるものとするが、PC200はカメラ10に内蔵されてもよい。上述した表示部や記憶媒体は、PC200の一部であってもよいし、そうでなくてもよい。また、PC200の設置場所は特に限定されない。例えば、PC200はカメラ10と同じ部屋に設置されてもよいし、そうでなくてもよい。PC200はクラウド上のコンピュータであってもよいし、そうでなくてもよい。PC200は、管理者に携帯されるスマートフォンなどの端末であってもよい。
【0027】
図2(B)は、PC200の構成例を示すブロック図である。PC200は、入力部210、制御部220、記憶部230、及び、出力部240を有する。
【0028】
第1の実施形態では、カメラ10が動画を撮像するとする。入力部210は、撮像された画像(動画のフレーム)をカメラ10から取得して制御部220へ出力する処理を、順次行う。なお、カメラ10は静止画の撮像を順次行うものであってもよく、その場合は、入力部210は、撮像された静止画をカメラ10から取得して制御部220へ出力する処理を、順次行う。
【0029】
制御部220は、CPU(Central Processing Unit)やRAM(Random Access Memory)、ROM(Read Only Memory)などを含み、各構成要素の制御や、各種情報処理などを行う。第1の実施形態では、制御部220は、撮像された画像から人体を検出し、検出した人体の情報(人体に割り当てられた識別子や、人体が検出された位置(または領域)を示す情報、等)を出力部240へ出力する。
【0030】
記憶部230は、制御部220で実行されるプログラムや、制御部220で使用される各種データなどを記憶する。例えば、記憶部230は、ハードディスクドライブ、ソリッドステートドライブ、等の補助記憶装置である。
【0031】
出力部240は、制御部220により出力された情報(検出された人体の情報)を、表示部に表示したり、記憶媒体に記録したり、他の端末(遠隔地にいる管理者のスマートフォンなど)へ出力したりする。
【0032】
制御部220について、より詳細に説明する。制御部220は、人体検出部221、動体判定部222、条件判定部223、モード設定部224、及び、情報出力部225を有する。
【0033】
人体検出部221は、カメラ10により撮像された画像を入力部210から取得し、取
得した画像から人体を検出する。そして、人体検出部221は、検出した人体の情報を、動体判定部222と情報出力部225へ出力する。人体検出部221は本発明の人体検出手段の一例である。
【0034】
なお、人体検出部221による人体検出にはどのようなアルゴリズムを用いてもよい。例えば、HoGやHaar-likeなどの画像特徴とブースティングを組み合わせた検出器(識別器)を用いて人体を検出してもよい。既存の機械学習により生成された学習済みモデルを用いて人体を検出してもよく、具体的にはディープラーニング(例えば、R-CNN、Fast R-CNN、YOLO、SSDなど)により生成された学習済みモデルを用いて人体を検出してもよい。
【0035】
動体判定部222は、カメラ10により撮像された画像を入力部210から取得し、人体検出部221による検出結果(人体検出の結果)を人体検出部221から取得する。動体判定部222は、取得した画像に基づいて、人体検出部221により検出された人体が動体であるか否かを判定する。そして、動体判定部222は、動体検出(人体検出部221により検出された人体が動体であるか否かの判定)の結果を、条件判定部223と情報出力部225へ出力する。動体判定部222は本発明の動体判定手段の一例である。
【0036】
なお、動体判定部222による動体判定にはどのようなアルゴリズムを用いてもよい。例えば、動体判定部222は、背景差分法により動体を検出してもよいし、フレーム間差分法により動体を検出してもよい。背景差分法は、例えば、撮像された画像のうち、所定の背景画像との画素値の差分(絶対値)が所定の閾値以上の画素を、動き画素として検出する方法である。フレーム間差分法は、例えば、撮像された現在の画像(現在のフレーム)のうち、撮像された過去の画像(過去のフレーム)との画素値の差分が所定の閾値以上の画素を、動き画素として検出する方法である。フレーム間差分法において、例えば、過去のフレームは、現在のフレームの所定数前のフレームであり、所定数は1以上である。所定数(現在のフレームから過去のフレームまでのフレーム数)は、制御部220の処理(人体を検出し、検出した人体の情報を出力する処理)のフレームレートや、カメラ10による撮像のフレームレートなどに応じて決定されてもよい。
【0037】
第1の実施形態では、動体判定部222は、動体検出において、差分画像を生成するとする。差分画像は、背景差分法であれば、撮像された画像と所定の背景画像との差分を表し、フレーム間差分法であれば、撮像された現在の画像と撮像された過去の画像との差分を表す。図3は、フレーム間差分法により差分画像が生成される様子を示す。図3の差分画像では、動き画素が白色の画素となっており、動き画素でない画素(非動き画素)が黒色の画素となっている。そして、動体判定部222は、人体検出部221により検出された人体の動き量を差分画像に基づいて算出し、算出した動き量が所定量よりも大きい人体を動体として判定(検出)するとする。人体の動き量は、例えば、人体の画素数に対する当該人体の領域における動き画素の数の割合である。図3に示すように、動体判定部222は、動き量を算出する際に、動体の領域(動き画素からなる領域)を膨らませる膨張処理や、動き画素で囲まれた領域の画素(非動き画素)を動き画素に変換する変換処理などを行ってもよい。図3では、変換処理は、白色で囲まれた領域(黒色)を白色で塗りつぶす塗りつぶし処理とも言える。
【0038】
条件判定部223は、動体判定部222による判定結果(動体検出の結果)を動体判定部222から取得する。そして、条件判定部223は、人体検出部221により検出された人体(動体判定部222により動体であると判定された人体)がフレームイン条件を満たしたか否かを、取得した判定結果に基づいて判定する。フレームイン条件は、撮像された画像にフレームインした人体がみせる所定の条件である。そして、条件判定部223は、フレームイン条件が満たされたか否かの判定結果を、モード設定部224へ出力する。
条件判定部223は本発明の条件判定手段の一例である。
【0039】
人体は、撮像された画像にフレームインする際に、比較的大きい動き量で、比較的長い時間の動きを示すことが多い。このため、第1の実施形態では、人体が所定量よりも大きい動き量で所定時間よりも長く動いたという条件を、フレームイン条件として用いる。
【0040】
モード設定部224は、PC200のモード(動作モード)を設定する。第1の実施形態では、モード設定部224は、動体判定部222と情報出力部225に対してモードを設定するとする。また、デフォルトでは第1のモードが設定されているとする。モード設定部224は、条件判定部223による判定結果を条件判定部223から取得し、フレームイン条件が満たされたと条件判定部223が判定するまで、第1のモードを維持する。そして、モード設定部224は、フレームイン条件が満たされたと条件判定部223が判定したことに応じて、第1のモードから第2のモードへの切り替えを行う。モード設定部224は本発明のモード設定手段の一例である。
【0041】
第1の実施形態では、人体検出部221は1枚の画像から複数の人体を検出可能であり、モード設定部224は、人体検出部221により検出された人体ごとにモードを設定するとする。こうすることで、複数の人体を高精度に検出できる。なお、人体検出部221が1枚の画像から検出可能な人体の数が1つである場合には、人体とモードの紐づけは行わなくてもよい。
【0042】
情報出力部225は、人体検出部221による検出結果(人体検出の結果)を人体検出部221から取得し、動体判定部222による判定結果(動体検出の結果)を動体判定部222から取得する。そして、情報出力部225は、第1のモードにおいては、人体検出部221により検出された人体が動体であると動体判定部222が判定した場合に、当該人体の情報を、最終的な人体の検出結果として出力部240へ出力する。また、情報出力部225は、第2のモードにおいては、人体検出部221により検出された人体が動体であると動体判定部222が判定したか否かに拘わらずに、当該人体の情報を、最終的な人体の検出結果として出力部240へ出力する。このため、第1のモードは動体有効モードとも言うことができ、第2のモードは動体無効モードとも言うことができる。情報出力部225は本発明の情報出力手段の一例である。
【0043】
第1の実施形態では、動体判定部222は、第2のモードにおいては、人体検出部221により検出された人体が動体であるか否かを判定せず、第1のモードにおいて、人体検出部221により検出された人体が動体であるか否かを判定するとする。このため、第1のモードは動体検出モードとも言うことができ、第2のモードは動体非検出モードとも言うことができる。こうすることで、動体検出(人体検出部221により検出された人体が動体であるか否かの判定)の処理負荷を低減できる。なお、動体判定部222は、第1のモードでも第2のモードでも動体検出を行ってよい。その場合には、モード設定部224は、動体判定部222に対してはモードを設定せず、情報出力部225に対してモードを設定するとしてもよい。
【0044】
図4は、PC200の処理フロー例を示すフローチャートである。PC200は、図4の処理フローを繰り返し実行する。図4の処理フローの繰り返し周期は特に限定されないが、第1の実施形態では、カメラ10による撮像のフレームレート(例えば30fps)で図4の処理フローが繰り返されるとする。
【0045】
まず、入力部210は、撮像された画像(現在のフレーム)をカメラ10から取得する(ステップS401)。次に、動体判定部222は、過去に撮像された画像(過去のフレーム)、または、所定の背景画像を、記憶部230から取得する(ステップS402)。
そして、動体判定部222は、ステップS401で取得された画像と、ステップS402で取得された画像とから、差分画像を生成する(ステップS403)。次に、人体検出部221は、ステップS401で取得された画像から人体を検出する(ステップS404)。そして、ステップS404で検出された人体ごとに、ステップS405~S412の処理が行われる。
【0046】
ステップS405では、人体検出部221は、処理対象の人体(今回検出した人体)を過去に検出したことがあるか否かを判定する(同一人体判定)。人体検出部221は、処理対象の人体を過去に検出したことが無ければ、新たな識別子(ID)を処理対象の人体に割り当て、処理対象の人体を過去に検出したことがあれば、過去に割り当てた識別子と同じ識別子を、処理対象の人体に割り当てる。同一人体判定の方法は特に限定されないが、例えば、処理対象の人体の位置(検出矩形の中心位置など)と前回検出された人体の位置との差が閾値以下である場合に、処理対象の人体が前回検出された人体と同じであると判定できる。処理対象の人体の領域(検出矩形など)と前回検出された人体の領域とのIoU(Intersection over Union)が閾値以下である場合にも、処理対象の人体が前回検出された人体と同じであると判定できる。処理対象の人体を過去に検出したことがあるか否かは、Person Re-Identificationでも判定できる。
【0047】
次に、動体判定部222や情報出力部225は、処理対象の人体について動体有効モード(動体検出モード;第1のモード)が設定されているか否かを判定する(ステップS406)。動体有効モードが設定されていると判定された場合(ステップS406:YES)にはステップS407へ処理が進められる。動体有効モードが設定されていないと判定された場合(ステップS406:NO)、つまり動体無効モード(動体非検出モード;第2のモード)が設定されていると判定された場合には、ステップS412へ処理が進められる。
【0048】
ステップS407では、動体判定部222は、ステップS403で生成した差分画像に基づいて、処理対象の人体の動き量Mを算出する。そして、動体判定部222は、ステップS407で算出した動き量Mが所定量Th_Mよりも大きいか否かを判定する(ステップS408)。動き量Mが所定量Th_Mよりも大きいと判定された場合(ステップS408:YES)には、動体判定部222は、処理対象の人体が動体であると判定する。そして、ステップS409へ処理が進められる。動き量Mが所定量Th_M以下であると判定された場合(ステップS408:NO)には、動体判定部222は、処理対象の人体が動体でないと判定する。そして、未処理の人体(ステップS404で検出されたが、ステップS405~S412の処理が行われていない人体)が残っている場合には、処理対象の人体が未処理の人体に切り替えられて、ステップS405~S412の処理が行われる。未処理の人体が残っていない場合には、図4の処理フローが終了する。
【0049】
ステップS409では、条件判定部223は、処理対象の人体の連続移動フレーム数F1を1インクリメントする。連続移動フレーム数F1は、人体検出部221により検出された人体が動体であると連続して判定されたフレーム数であり、人体が所定量よりも大きい動き量で動き続けた時間に相当する。連続移動フレーム数F1の初期値は0であり、対応する人体が人体検出部221により検出されなかったり、動体でないと判定されりすると、当該連続移動フレーム数F1は0にリセットされる。
【0050】
次に、条件判定部223は、処理対象の人体の連続移動フレーム数F1が所定数Th_F1よりも多いか否かを判定する(ステップS410)。所定数Th_F1は、「人体が所定量よりも大きい動き量で所定時間よりも長く動いた」というフレームイン条件における「所定時間」に相当する。連続移動フレーム数F1が所定数Th_F1よりも多いと判
定された場合(ステップS410:YES)、つまりフレームイン条件が満たされたと判定された場合には、ステップS411へ処理が進められる。連続移動フレーム数F1が所定数Th_F1以下であると判定された場合(ステップS410:NO)、つまりフレームイン条件が満たされなかったと判定された場合には、ステップS412へ処理が進められる。
【0051】
ステップS411では、モード設定部224は、処理対象の人体のモードを動体有効モードから動体無効モードへ切り替える。そして、ステップS412へ処理が進められる。
【0052】
ステップS412では、情報出力部225は、処理対象の人体の情報を出力する。そして、未処理の人体(ステップS404で検出されたが、ステップS405~S412の処理が行われていない人体)が残っている場合には、処理対象の人体が未処理の人体に切り替えられて、ステップS405~S412の処理が行われる。未処理の人体が残っていない場合には、図4の処理フローが終了する。
【0053】
図5は、図4の処理フローによる動作の具体例を示す。具体的には、図5は、フレーム、人体の識別子(ID)、人体検出部221による検出結果、動体判定部222による判定結果、連続移動フレーム数F1、及び、モードの一例を示す。人体検出部221による検出結果について、「〇」は人体が検出されたことを意味し、「×」は人体が検出されなかったことを意味する。動体判定部222による判定結果について、「〇」は人体が動体であると判定されたことを意味し、「×」は人体が動体でないと判定されたことを意味し、「-」は判定が行われなかったことを意味する。連続移動フレーム数F1と比較される所定数Th_F1は特に限定されないが、ここでは4であるとする。つまり、連続移動フレーム数F1が5に達すると、動体有効モードから動体無効モードへの切り替えが行われる。
【0054】
ID1は人体の識別子である。フレーム5で連続移動フレーム数F1が5に達するため、フレーム5とフレーム6の間で動体無効モードへの切り替えが行われる。これにより、ID1の人体が静止しても、当該人体の情報を出力できるようになる。
【0055】
ID2は、人体検出部221により人体として誤検出されたロボットアームの識別子である。人体検出部221がロボットアームを人体として誤検出する頻度は少なく、連続移動フレーム数F1が5に達しないため、動体有効モードが維持される。これにより、動体検出と人体検出の組み合わせが適用され続けるため、ロボットアームの情報が人体の情報として出力されることを抑制できる。
【0056】
ID3は、人体検出部221により人体として誤検出されたマネキン人形の識別子である。人体検出部221がマネキン人形を人体として誤検出したとしても、マネキン人形が動体であると判定される頻度は少なく、連続移動フレーム数F1が5に達しないため、動体有効モードが維持される。これにより、動体検出と人体検出の組み合わせが適用され続けるため、マネキン人形の情報が人体の情報として出力されることを抑制できる。
【0057】
以上述べたように、第1の実施形態では、検出された人体が、フレームイン条件を満たすまでは、検出された人体が動体であると判定された場合に、当該人体の情報が出力される(動体有効モード)。つまり、動体検出と人体検出の組み合わせにより人体が検出される(動体検出の結果と人体検出の結果との論理積(AND)が人体の検出結果とされる)。こうすることで、動体である人体を高精度に検出できる。しかし、人体が静止した場合に、当該人体を検出できなくなってしまう。そこで、第1の実施形態では、検出された人体がフレームイン条件を満たした後では、検出された人体が動体であると判定されたか否かに拘わらずに、当該人体の情報を出力するとしている(動体無効モード)。つまり、人
体検出により人体が検出される。こうすることで、人体が静止しても、当該人体を高精度に検出できる(撮像された画像に人体がフレームインした後であれば、人体検出により当該人体を高精度に検出できる)。
【0058】
<第2の実施形態>
本発明の第2の実施形態について説明する。第2の実施形態に係る人体検出システムの構成は第1の実施形態と同様であり、第2の実施形態に係るPC200(人体検出装置)の構成は第1の実施形態と同様である。第2の実施形態では、フレームイン条件が第1の実施形態と異なる。
【0059】
第1の実施形態で述べたように、人体は、撮像された画像にフレームインする際に、比較的大きい動き量で、比較的長い時間の動きを示すことが多い。このため、第2の実施形態では、現在までの所定期間における、人体が所定量よりも大きい動き量で動いた総時間が、所定時間よりも長いという条件を、フレームイン条件として用いる。こうすることで、人体が動きと静止を繰り返していても、動体有効モードから動体無効モードへの切り替えを好適に行うことができる。
【0060】
図6は、第2の実施形態に係るPC200の処理フロー例を示すフローチャートである。PC200は、図6の処理フローを繰り返し実行する。図6の処理フローの繰り返し周期は特に限定されないが、第2の実施形態では、カメラ10による撮像のフレームレート(例えば30fps)で図6の処理フローが繰り返されるとする。
【0061】
ステップS601~S608の処理は、第1の実施形態のステップS401~S408の処理と同じである。ステップS608で動き量Mが所定量Th_Mよりも大きいと判定された場合(ステップS608:YES)には、動体判定部222は、処理対象の人体が動体であると判定する。そして、ステップS609へ処理が進められる。
【0062】
ステップS609では、条件判定部223は、現在までの所定数のフレームのうち、処理対象の人体が動体であると判定されたフレームの数(移動フレーム数F2)を算出する。所定数のフレームは、「現在までの所定期間における、人体が所定量よりも大きい動き量で動いた総時間が、所定時間よりも長い」というフレームイン条件における「所定期間」に相当する。移動フレーム数F2は、フレームイン条件における「人体が所定量よりも大きい動き量で動いた総時間」に相当する。
【0063】
次に、条件判定部223は、処理対象の人体の移動フレーム数F2が所定数Th_F2よりも多いか否かを判定する(ステップS610)。所定数Th_F2は、「現在までの所定期間における、人体が所定量よりも大きい動き量で動いた総時間が、所定時間よりも長い」というフレームイン条件における「所定時間」に相当する。移動フレーム数F2が所定数Th_F2よりも多いと判定された場合(ステップS610:YES)、つまりフレームイン条件が満たされたと判定された場合には、ステップS611へ処理が進められる。移動フレーム数F2が所定数Th_F2以下であると判定された場合(ステップS610:NO)、つまりフレームイン条件が満たされなかったと判定された場合には、ステップS612へ処理が進められる。
【0064】
ステップS611,S612の処理は、第1の実施形態のステップS411,S412の処理と同じである。
【0065】
図7は、図6の処理フローによる動作の具体例を示す。具体的には、図7は、フレーム、人体の識別子(ID)、人体検出部221による検出結果、動体判定部222による判定結果、移動フレーム数F2、及び、モードの一例を示す。図7には、第1の実施形態の
連続移動フレーム数F1も示されている。移動フレーム数F2を算出するために参照するフレーム(現在までの所定数のフレーム)の数は特に限定さないが、ここでは5であるとする。移動フレーム数F2と比較される所定数Th_F2は特に限定されないが、ここでは2であるとする。つまり、移動フレーム数F2(現在までの5フレームのうち、人体検出部221により検出された人体が動体であると判定されたフレームの数)が3に達すると、動体有効モードから動体無効モードへの切り替えが行われる。その他については、第1の実施形態と同じであるとする。
【0066】
ID1は人体の識別子である。フレーム5で移動フレーム数F2が3に達するため、フレーム5とフレーム6の間で動体無効モードへの切り替えが行われる。これにより、ID1の人体が静止しても、当該人体の情報を出力できるようになる。
【0067】
第1の実施形態では、人体検出部221により検出された人体が動体であると判定され続け、連続移動フレーム数F1が5に達しなければ、動体無効モードへの切り替えは行われない。このため、フレーム5とフレーム6の間で動体無効モードへの切り替えが行われない。一方で、第2の実施形態では、人体検出部221により検出された人体が動体であると断続的に判定されても、動体無効モードへの切り替えを好適に行うことができる。
【0068】
以上述べたように、第2の実施形態でも、フレームイン条件を満たしたことに応じて、動体検出と人体検出の組み合わせから人体検出への切り替えが行われるため、人体を高精度に検出できる。さらに、現在までの所定期間における、人体が所定量よりも大きい動き量で動いた総時間が、所定時間よりも長いという条件を、フレームイン条件としたことにより、人体が動きと静止を繰り返していても、上記切り替えを好適に行うことができる。
【0069】
<第3の実施形態>
本発明の第3の実施形態について説明する。第3の実施形態に係る人体検出システムの構成は第1の実施形態と同様である。第1の実施形態や第2の実施形態では、動体無効モードへの切り替え後は動体無効モードが維持されるが、第3の実施形態では、動体有効モードへのリセットが行われることがある。
【0070】
図8は、第3の実施形態に係るPC200(人体検出装置)の構成例を示すブロック図である。第3の実施形態に係るPC200は、第1の実施形態と同様の構成要素を有する。第3の実施形態では、モード設定部224は、人体検出部221による検出結果(人体検出の結果)を人体検出部221から取得し、取得した検出結果に基づいて動体有効モードへのリセットを行う。その他の処理は、第1の実施形態と同じであるとする。
【0071】
撮像された画像から人体がフレームアウトすると、人体検出では、当該人体として、それに類似した他の物体が誤検出されることがある。このため、第3の実施形態に係るモード設定部224は、人体検出部221により人体が検出されなくなった場合に、動体有効モードへのリセットを行う。こうすることで、動体検出と人体検出の組み合わせにより人体が検出されるようになるため、検出されなくなった人体に類似した他の物体が当該人体として誤検出されることを抑制できる。人体検出部221により人体が検出されなくなった場合は、人体検出部221により1回でも人体が検出されなかった場合であってもよいが、第3の実施形態では、人体検出部221により人体が検出されない状態が所定時間よりも長く継続した場合であるとする。
【0072】
図9は、第3の実施形態に係るPC200の処理フロー例を示すフローチャートである。PC200は、図9の処理フローを繰り返し実行する。図9の処理フローの繰り返し周期は特に限定されないが、第3の実施形態では、カメラ10による撮像のフレームレート(例えば30fps)で図9の処理フローが繰り返されるとする。
【0073】
ステップS901~S912の処理は、第1の実施形態のステップS401~S412の処理と同じである。ステップS904で検出された人体ごとに、ステップS905~S912の処理が行われた後、ステップS904で検出されなかった人体ごとに、ステップS913~915の処理が行われる。ここで、ステップS904で検出されなかった人体とは、過去に検出されて識別子が割り当てられたが今回は検出されなかった人体のことである。
【0074】
ステップS913では、モード設定部224は、処理対象の人体の連続非検出フレーム数F3を1インクリメントする。連続非検出フレーム数F3は、人体検出部221により人体が検出されない状態が連続したフレーム数であり、人体検出部221により人体が検出されない状態の継続時間に相当する。連続非検出フレーム数F3の初期値は0であり、対応する人体が人体検出部221により検出されると、当該連続非検出フレーム数F3は0にリセットされる。
【0075】
次に、モード設定部224は、処理対象の人体の連続非検出フレーム数F3が所定数Th_F3よりも多いか否かを判定する(ステップS914)。所定数Th_F3は、所定時間に相当する。連続非検出フレーム数F3が所定数Th_F3よりも多いと判定された場合(ステップS914:YES)は、人体検出部221により処理対象の人体が検出されない状態が所定時間よりも長く継続した場合に相当する。この場合には、ステップS915へ処理が進められる。連続非検出フレーム数F3が所定数Th_F3以下であると判定された場合(ステップS914:NO)は、人体検出部221により人体が検出されない状態が所定時間よりも長くは継続していない場合に相当する。この場合には、未処理の人体(ステップS904で検出されなかったが、ステップS913~S915の処理が行われていない人体)が残っていれば、処理対象の人体が未処理の人体に切り替えられて、ステップS913~S915の処理が行われる。未処理の人体が残っていない場合には、図9の処理フローが終了する。
【0076】
ステップS915では、モード設定部224は、処理対象の人体のモードを動体有効モードへリセットする。そして、未処理の人体が残っていれば、処理対象の人体が未処理の人体に切り替えられて、ステップS913~S915の処理が行われる。未処理の人体が残っていない場合には、図9の処理フローが終了する。
【0077】
図10は、図9の処理フローによる動作の具体例を示す。具体的には、図10は、フレーム、人体の識別子(ID)、人体検出部221による検出結果、動体判定部222による判定結果、連続移動フレーム数F1、連続非検出フレーム数F3、及び、モードの一例を示す。連続非検出フレーム数F3と比較される所定数Th_F3は特に限定されないが、ここでは2であるとする。つまり、連続非検出フレーム数F3が3に達すると、動体有効モードへのリセットが行われる。その他については、第1の実施形態と同じであるとする。
【0078】
ID1は人体の識別子である。フレーム5で連続移動フレーム数F1が5に達するため、フレーム5とフレーム6の間で動体無効モードへの切り替えが行われる。これにより、ID1の人体が静止しても、当該人体の情報を出力できるようになる。そして、フレーム10で連続非検出フレーム数F3が3に達するため、フレーム10とフレーム11の間で動体無効モードへの切り替えが行われる。これにより、ID1の人物に類似した他の物体の情報が出力されることを抑制できる。
【0079】
以上述べたように、第3の実施形態によれば、人体検出部221により人体が検出されなくなった場合に、動体有効モードへのリセットが行われる。これにより、動体検出と人
体検出の組み合わせにより人体が検出されるようになるため、検出されなくなった人体に類似した他の物体が当該人体として誤検出されることを抑制できる。
【0080】
<第4の実施形態>
本発明の第4の実施形態について説明する。第4の実施形態に係る人体検出システムの構成は第1の実施形態と同様である。第4の実施形態では、フレームイン条件が第1~第3の実施形態と異なる。
【0081】
図11は、第4の実施形態に係るPC200(人体検出装置)の構成例を示すブロック図である。第4の実施形態に係るPC200は、第1の実施形態と同様の構成要素を有する。第4の実施形態では、条件判定部223は、人体検出部221による検出結果(人体検出の結果)を人体検出部221から取得し、動体判定部222による判定結果(動体検出の結果)を動体判定部222から取得する。そして、条件判定部223は、人体検出部221により検出された人体(動体判定部222により動体であると判定された人体)がフレームイン条件を満たしたか否かを、人体検出部221による検出結果に基づいて判定する。その他の処理は、第1の実施形態と同じであるとする。
【0082】
フレームインした人体が主に活動する場所(例えば、人が主に作業を行う場所)は、予め決まっていることが多い。このため、第4の実施形態では、撮像された画像における所定範囲の外側から当該所定範囲の内側へ人体が移動したという条件を、フレームイン条件として用いる。こうすることで、初めから所定範囲内に存在する物体(人体でない)については、動体検出と人体検出の組み合わせが適用されるため、当該物体が人体として誤検出されることを抑制できる。以後、この所定範囲を、活動範囲と記載する。活動範囲は、例えば、床や地面を真上から見下ろすように撮像した画像の中央部である。第4の実施形態では、第1の実施形態と同様に、床や地面を真上から見下ろすように魚眼画像が撮像されるとする。そして、図12に示すように、活動範囲が、魚眼画像の中心からの距離が所定距離以下の円状の範囲であるとする。
【0083】
図13は、第4の実施形態に係るPC200の処理フロー例を示すフローチャートである。PC200は、図13の処理フローを繰り返し実行する。図13の処理フローの繰り返し周期は特に限定されないが、第4の実施形態では、カメラ10による撮像のフレームレート(例えば30fps)で図13の処理フローが繰り返されるとする。
【0084】
ステップS1301~S1308の処理は、第1の実施形態のステップS401~S408の処理と同じである。ステップS1308で動き量Mが所定量Th_Mよりも大きいと判定された場合(ステップS1308:YES)には、動体判定部222は、処理対象の人体が動体であると判定する。そして、ステップS1309へ処理が進められる。
【0085】
ステップS1309では、条件判定部223は、ステップS1301で取得された画像の中心から、処理対象の人体の位置(検出矩形の中心位置など)までの距離Dを算出する。
【0086】
次に、条件判定部223は、検知フラグがONになっているか否かを判定する(ステップS1310)。検知フラグがONになっていると判定された場合(ステップS1310:YES)には、ステップS1313へ処理が進められる。検知フラグがONになっていないと判定された場合(ステップS1310:NO)、つまり検知フラグがOFFになっていると判定された場合には、ステップS1311へ処理が進められる。第4の実施形態では、検知フラグは、処理対象の人体が活動範囲の外側で検出されたか否かを示すフラグであり、処理対象の人体が活動範囲の外側で検出されたことに応じてONとなる。つまり、検知フラグは、活動範囲の外側から活動範囲の内側へ人体が移動したというフレームイ
ン条件の前提条件が満たされたか否かを示すフラグであり、前提条件が満たされたことに応じてONとなる。検知フラグの初期状態はOFFである。
【0087】
ステップS1311では、条件判定部223は、ステップS1309で算出した距離Dが所定距離Th_D以上であるか否かを判定する。所定距離Th_Dは活動範囲の半径であり、距離Dが所定距離Th_D以上であれば、処理対象の人体は活動範囲の外側に位置し、距離Dが所定距離Th_D未満であれば、処理対象の人体は活動範囲の内側に位置する。従って、ステップS1311の判定は、上述した前提条件が満たされたか否かの判定とも言える。距離Dが所定距離Th_D以上であると判定された場合(ステップS1311:YES)、つまり前提条件が満たされたと判定された場合には、ステップS1312へ処理が進められる。距離Dが所定距離Th_D未満であると判定された場合(ステップS1311:NO)、つまり前提条件が満たされなかったと判定された場合には、ステップS1315へ処理が進められる。なお、第4の実施形態では、距離Dが所定距離Th_Dである位置を活動範囲の外側とするが、当該位置を活動範囲の内側としてもよい。
【0088】
ステップS1312では、条件判定部223は、検知フラグをONにする。そして、ステップS1315へ処理が進められる。
【0089】
ステップS1313では、条件判定部223は、ステップS1309で算出した距離Dが所定距離Th_D未満であるか否かを判定する。ここで、上述した前提条件は既に満たされている。従って、ステップS1313の判定は、活動範囲の外側から活動範囲の内側へ人体が移動したというフレームイン条件が満たされたか否かの判定とも言える。距離Dが所定距離Th_D未満であると判定された場合(ステップS1313:YES)、つまりフレームイン条件が満たされたと判定された場合には、ステップS1314へ処理が進められる。距離Dが所定距離Th_D以上であると判定された場合(ステップS1313:NO)、つまりフレームイン条件が満たされなかったと判定された場合には、ステップS1315へ処理が進められる。
【0090】
ステップS1314,S1315の処理は、第1の実施形態のステップS411,S412の処理と同じである。
【0091】
以上述べたように、第4の実施形態でも、フレームイン条件を満たしたことに応じて、動体検出と人体検出の組み合わせから人体検出への切り替えが行われるため、人体を高精度に検出できる。さらに、活動範囲の外側から活動範囲の内側へ人体が移動したという条件を、フレームイン条件としたことにより、初めから活動範囲内に存在する物体(人体でない)が人体として誤検出されることを抑制できる。
【0092】
<第5の実施形態>
本発明の第5の実施形態について説明する。第5の実施形態に係る人体検出システムの構成は第1の実施形態と同様であり、第5の実施形態に係るPC200(人体検出装置)の構成は第4の実施形態と同様である。第5の実施形態では、フレームイン条件が第1~第4の実施形態と異なる。
【0093】
人体がフレームインする際に通る場所(例えば、部屋の出入り口)は、予め決まっていることが多い。このため、第5の実施形態では、撮像された画像における所定範囲の内側から当該所定範囲の外側へ人体が移動したという条件を、フレームイン条件として用いる。こうすることで、所定範囲以外の場所からフレームインした物体(人体でない)については、動体検出と人体検出の組み合わせが適用されるため、当該物体が人体として誤検出されることを抑制できる。以後、この所定範囲を、入出範囲と記載する。入出範囲は、例えば、図14に示すように、撮像された画像に写っている通路の、当該通路が延びた方向
における端部である。
【0094】
図15は、第5の実施形態に係るPC200の処理フロー例を示すフローチャートである。PC200は、図15の処理フローを繰り返し実行する。図15の処理フローの繰り返し周期は特に限定されないが、第5の実施形態では、カメラ10による撮像のフレームレート(例えば30fps)で図15の処理フローが繰り返されるとする。
【0095】
ステップS1501~S1508の処理は、第1の実施形態のステップS401~S408の処理と同じである。ステップS1508で動き量Mが所定量Th_Mよりも大きいと判定された場合(ステップS1508:YES)には、動体判定部222は、処理対象の人体が動体であると判定する。そして、ステップS1509へ処理が進められる。
【0096】
ステップS1509では、条件判定部223は、検知フラグがONになっているか否かを判定する。検知フラグがONになっていると判定された場合(ステップS1509:YES)には、ステップS1512へ処理が進められる。検知フラグがONになっていないと判定された場合(ステップS1509:NO)、つまり検知フラグがOFFになっていると判定された場合には、ステップS1510へ処理が進められる。第5の実施形態では、検知フラグは、処理対象の人体が入出範囲の内側で検出されたか否かを示すフラグであり、処理対象の人体が入出範囲の内側で検出されたことに応じてONとなる。つまり、検知フラグは、入出範囲の内側から入出範囲の外側へ人体が移動したというフレームイン条件の前提条件が満たされたか否かを示すフラグであり、前提条件が満たされたことに応じてONとなる。検知フラグの初期状態はOFFである。
【0097】
ステップS1510では、条件判定部223は、処理対象の人体の位置(検出矩形の中心位置など)が入出範囲の内側にあるか否か、つまり上述した前提条件が満たされたか否かを判定する。処理対象の人体の位置が入出範囲の内側にあると判定された場合(ステップS1510:YES)、つまり前提条件が満たされたと判定された場合には、ステップS1511へ処理が進められる。処理対象の人体の位置が入出範囲の内側に無い(外側にある)と判定された場合(ステップS1510:NO)、つまり前提条件が満たされなかったと判定された場合には、ステップS1514へ処理が進められる。
【0098】
ステップS1511では、条件判定部223は、検知フラグをONにする。そして、ステップS1514へ処理が進められる。
【0099】
ステップS1512では、条件判定部223は、処理対象の人体の位置が入出範囲の外側にあるか否かを判定する。ここで、上述した前提条件は既に満たされている。従って、ステップS1512の判定は、入出範囲の内側から入出範囲の外側へ人体が移動したというフレームイン条件が満たされたか否かの判定とも言える。処理対象の人体の位置が入出範囲の外側にあると判定された場合(ステップS1512:YES)、つまりフレームイン条件が満たされたと判定された場合には、ステップS1513へ処理が進められる。処理対象の人体の位置が入出範囲の外側に無い(内側にある)と判定された場合(ステップS1512:NO)、つまりフレームイン条件が満たされなかったと判定された場合には、ステップS1514へ処理が進められる。
【0100】
ステップS1513,S1514の処理は、第1の実施形態のステップS411,S412の処理と同じである。
【0101】
以上述べたように、第5の実施形態でも、フレームイン条件を満たしたことに応じて、動体検出と人体検出の組み合わせから人体検出への切り替えが行われるため、人体を高精度に検出できる。さらに、入出範囲の内側から入出範囲の外側へ人体が移動したという条
件を、フレームイン条件としたことにより、入出範囲以外の場所からフレームインした物体(人体でない)が人体として誤検出されることを抑制できる。
【0102】
<第6の実施形態>
本発明の第6の実施形態について説明する。第6の実施形態に係る人体検出システムの構成は第1の実施形態と同様であり、第6の実施形態に係るPC200(人体検出装置)の構成は第4の実施形態や第5の実施形態と同様である。第6の実施形態では、フレームイン条件が第1~第5の実施形態と異なる。
【0103】
第6の実施形態では、人体検出部221は、撮像された画像から人体を検出する際に、検出した人体が人体であることの確からしさである信頼度を算出する。信頼度の算出方法は特に限定されないが、例えば、信頼度は、検出された人体の特徴と、人体の特徴として予め定められた特徴との類似度である。算出された信頼度は、人体検出部221から条件判定部223へ通知される。そして、第6の実施形態では、人体検出部221により検出された人体が動体であると動体判定部222が判定した際の信頼度の累積値が所定値よりも高いという条件を、フレームイン条件として用いる。こうすることで、上記累積値が低い物体については、動体検出と人体検出の組み合わせが適用されるため、人体に類似した他の物体が当該人体として誤検出されることを抑制できる。また、人体が動きと静止を繰り返していても、動体有効モードから動体無効モードへの切り替えを好適に行うことができる。
【0104】
図16は、第6の実施形態に係るPC200の処理フロー例を示すフローチャートである。PC200は、図16の処理フローを繰り返し実行する。図16の処理フローの繰り返し周期は特に限定されないが、第6の実施形態では、カメラ10による撮像のフレームレート(例えば30fps)で図16の処理フローが繰り返されるとする。
【0105】
ステップS1601~S1608の処理は、第1の実施形態のステップS401~S408の処理と同じである。ステップS1608で動き量Mが所定量Th_Mよりも大きいと判定された場合(ステップS1608:YES)には、動体判定部222は、処理対象の人体が動体であると判定する。そして、ステップS1609へ処理が進められる。
【0106】
ステップS1609では、条件判定部223は、処理対象の人体の信頼度を当該人体の累積信頼度Rに加算する。累積信頼度Rは、人体検出部221により検出された人体が動体であると動体判定部222が判定した際の信頼度の累積値である。
【0107】
次に、条件判定部223は、処理対象の人体の累積信頼度Rが所定値Th_Rよりも高いか否か、つまりフレームイン条件が満たされたか否かを判定する(ステップS1610)。累積信頼度Rが所定値Th_Rよりも高いと判定された場合(ステップS1610:YES)、つまりフレームイン条件が満たされたと判定された場合には、ステップS1611へ処理が進められる。累積信頼度Rが所定値Th_R以下であると判定された場合(ステップS1610:NO)、つまりフレームイン条件が満たされなかったと判定された場合には、ステップS1612へ処理が進められる。
【0108】
ステップS1611,S1612の処理は、第1の実施形態のステップS411,S412の処理と同じである。
【0109】
図17は、図16の処理フローによる動作の具体例を示す。具体的には、図17は、フレーム、人体の識別子(ID)、人体検出部221による検出結果、動体判定部222による判定結果、累積信頼度R、及び、モードの一例を示す。図17には、第1の実施形態の連続移動フレーム数F1も示されている。累積信頼度Rと比較される所定値Th_Rは
特に限定されないが、ここでは3000であるとする。つまり、累積信頼度が3000を超えると、動体有効モードから動体無効モードへの切り替えが行われる。その他については、第1の実施形態と同じであるとする。
【0110】
ID1は人体の識別子である。フレーム7で累積信頼度Rが3000を超えるため、フレーム7とフレーム8の間で動体無効モードへの切り替えが行われる。これにより、ID1の人体が静止しても、当該人体の情報を出力できるようになる。第1の実施形態では、人体検出部221により検出された人体が動体であると判定され続け、連続移動フレーム数F1が5に達しなければ、動体無効モードへの切り替えは行われない。このため、フレーム7とフレーム8の間で動体無効モードへの切り替えが行われない。一方で、第2の実施形態では、人体検出部221により検出された人体が動体であると断続的に判定されても、動体無効モードへの切り替えを好適に行うことができる。
【0111】
ID2は、人体検出部221により人体として誤検出されたマネキン人形の識別子である。累積信頼度Rは3000を超えないため、動体有効モードが維持される。マネキン人形はフレーム1~6の期間に動かされているため、フレーム5で連続移動フレーム数F1が5に達する。このため、第1の実施形態では、フレーム5とフレーム6の間で動体無効モードへの切り替えが行われ、マネキン人形の情報が人体の情報として出力され続けてしまう。一方で、第2の実施形態では、動体有効モードが維持されるため、マネキン人形の情報が人体の情報として出力されることを抑制できる。具体的には、マネキン人形が静止した後に、当該マネキン人形の情報が人体の情報として出力されなくなる。
【0112】
以上述べたように、第6の実施形態でも、フレームイン条件を満たしたことに応じて、動体検出と人体検出の組み合わせから人体検出への切り替えが行われるため、人体を高精度に検出できる。さらに、第6の実施形態では、人体検出部221により検出された人体が人体であることの確からしさが算出される。そして、人体検出部221により検出された人体が動体であると動体判定部222が判定した際の信頼度の累積値が所定値よりも高いという条件が、フレームイン条件として使用される。これにより、累積信頼度が低い物体については、動体検出と人体検出の組み合わせが適用されるため、人体に類似した他の物体が当該人体として誤検出されることを抑制できる。また、人体が動きと静止を繰り返していても、動体有効モードから動体無効モードへの切り替えを好適に行うことができる。
【0113】
<その他>
上記実施形態は、本発明の構成例を例示的に説明するものに過ぎない。本発明は上記の具体的な形態には限定されることはなく、その技術的思想の範囲内で種々の変形が可能である。例えば、第2の実施形態や、第4の実施形態、第5の実施形態、第6の実施形態のフレームイン条件を用いる構成において、第3の実施形態のリセット(動体有効モードへのリセット)を行うようにしてもよい。
【0114】
<付記1>
撮像された画像から人体を検出する人体検出手段(101,221)と、
前記画像に基づいて、前記人体検出手段により検出された人体が動体であるか否かを判定する動体判定手段(102,222)と、
前記動体判定手段による判定結果に基づいて、前記人体検出手段により検出された人体が、前記画像にフレームインした人体がみせる所定の条件を満たしたか否かを判定する条件判定手段(103,223)と、
前記所定の条件が満たされたと前記条件判定手段が判定するまで、第1のモードを維持し、前記所定の条件が満たされたと前記条件判定手段が判定したことに応じて、前記第1のモードから第2のモードへの切り替えを行うモード設定手段(104,224)と、
前記第1のモードにおいては、前記人体検出手段により検出された人体が動体であると前記動体判定手段が判定した場合に、当該人体の情報を出力し、前記第2のモードにおいては、前記人体検出手段により検出された人体が動体であると前記動体判定手段が判定したか否かに拘わらずに、当該人体の情報を出力する情報出力手段(105,225)と
を有することを特徴とする人体検出装置(100,200)。
【0115】
<付記2>
撮像された画像から人体を検出する人体検出ステップ(S404,S604,S904,S1304,S1504,S1604)と、
前記画像に基づいて、前記人体検出ステップで検出された人体が動体であるか否かを判定する動体判定ステップ(S408,S608,S908,S1308,S1508,S1608)と、
前記動体判定ステップにおける判定結果に基づいて、前記人体検出ステップで検出された人体が、前記画像にフレームインした人体がみせる所定の条件を満たしたか否かを判定する条件判定ステップ(S410,S610,S910,S1313,S1512,S1610)と、
前記所定の条件が満たされたと前記条件判定ステップで判定されるまで、第1のモードを維持し、前記所定の条件が満たされたと前記条件判定ステップで判定されたことに応じて、前記第1のモードから第2のモードへの切り替えを行うモード設定ステップ(S411,S611,S911,S1314,S1513,S1611)と、
前記第1のモードにおいては、前記人体検出ステップで検出された人体が動体であると前記動体判定ステップで判定された場合に、当該人体の情報を出力し、前記第2のモードにおいては、前記人体検出ステップで検出された人体が動体であると前記動体判定ステップで判定されたか否かに拘わらずに、当該人体の情報を出力する情報出力ステップ(S412,S612,S912,S1315,S1514,S1612)と
を有することを特徴とする人体検出方法。
【符号の説明】
【0116】
100:人体検出装置 101:人体検出部 102:動体判定部
103:条件判定部 104:モード設定部 105:情報出力部
10:カメラ 200:PC(人体検出装置)
210:入力部 220:制御部 230:記憶部 240:出力部
221:人体検出部 222:動体判定部 223:条件判定部
224:モード設定部 225:情報出力部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17