【文献】
木下浩二,外1名,“一次元フローを用いた急激な方向変化を有する移動物体の追跡”,画像電子学会誌,画像電子学会,2008年 9月25日,第37巻, 第5号,p.720−728
(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかるに、マッチング法の場合、一の画像中から対象物に相当する部分を検出し、この部分に対応する部分を他の画像から検出(マッチング)しなければならない。このマッチングには、非常に時間がかかるため、オプティカルフローを算出するために長時間を要するという問題がある。
また、撮影された画像の画質が悪い場合には、対応する部分を適切に検出できないので、オプティカルフローを算出することは非常に難しくなる一方、画像を高画質で撮影した場合、一画像のデータ容量が大きくなり、大容量の記憶装置が必要となるという問題も生じる。
【0009】
一方、オプティカルフローを求める際に、時空間勾配法を採用した場合には、以下のごとき問題が生じる。
【0010】
まず、時空間勾配法では、輝度値を用いて見かけ上の動き(画像内での動き)を計算する。時刻tにおける画素(x,y)の輝度値をI(x,y,t)とすると、横の動きu(x,y)と縦の動きv(x,y)との間には、以下の関係が成立する。そして、その関係を満たすu(x,y)とv(x,y)が求まれば、オプティカルフローを求めることができる。なお、I
x(x,y,t)、I
y(x,y,t)、I
t(x,y,t)は、それぞれ輝度値のx方向微分、輝度値のy方向微分、輝度値の時間微分を示しており,ディジタル画像の場合は,各方向の輝度値の差分で求める。
I
x(x,y,t)u(x,y)+I
y(x,y,t)v(x,y)+I
t(x,y,t)=0
【0011】
ここで、上記式において、I
x、I
y、I
tは撮影された画像から求めることができるものの、u(x,y)とv(x,y)の2つは未知である。すると、1つの関係式に対して未知数が2つ存在しているので、u(x,y)およびv(x,y)を把握できず、オプティカルフローを求めることができない。
別に拘束条件を設定すれば、u(x,y)およびv(x,y)の値を得ることはできるものの、u(x,y)およびv(x,y)の値を迅速に算出することは非常に難しい。
【0012】
本発明は上記事情に鑑み、時空間勾配法を利用しつつ、迅速かつある程度の精度で運転者の動きを検出することができる動作検出システムを提供することを目的とする。
【課題を解決するための手段】
【0013】
第1発明の動作検出システムは、運転者の動作を評価するために使用されるシステムであって、前記運転者の画像を撮影する画像撮影手段と、該画像撮影手段によって撮影された画像に基づいて、前記運転者の動作を評価する評価手段と、を備えており、該評価手段は、画像の各部において、直交する2方向における輝度の空間差分値および輝度の時間差分値を算出する差分算出部と、該差分算出部によって算出された前記2方向の輝度の空間差分値と前記輝度の時間差分値とに基づいて、前記運転者の動作を評価する評価部と、を有しており、前記評価部は、
一の方向における見かけ上の動きがないと仮定して得られる前記撮影された画像の各画素の前記直交する2方向の速度に基づいて、前記運転者の動作を推定するものであることを特徴とする。
第2発明の動作検出システムは、第1発明において、前記評価部は、前記2方向の輝度の空間差分値から求められる移動量の大きさに基づいて前記運転者の動作を評価するものであることを特徴とする。
第3発明の動作検出システムは、第1または第2発明において、前記評価手段は、画像において前記運転者の顔が撮影されている検査領域を検出する検出部を備えており、前記評価部は、画像において、前記検出部によって検出された前記検査領域の前記2方向の輝度の空間差分値および前記輝度の時間差分値に基づいて前記運転者の動作を評価することを特徴とする。
【発明の効果】
【0014】
第1発明によれば、直交する2方向における輝度の空間差分値を、一の方向における見かけ上の動きがないと仮定として運転者の動作を推定するので、迅速にかつある程度の精度で運転者の動きを評価することができる。例えば、運転者の大きな動きであれば、十分に検出することができる。しかも、輝度の空間差分値と輝度の時間差分値は、画像が粗くても、運転者の大きな動きを推定できる程度の精度で得ることができる。すると、撮影する画像を高画質にする必要がないので、画像撮影手段や記憶装置として安価なものを使用できるので、システムを安価に構成することができる。
第2発明によれば、運転者が大きな動きをすると、算出される移動量が大きくなるので、運転者の動作のうち、危険な動作を把握することができる。
第3発明によれば、運転者の顔が撮影されている領域を検査領域としているので、外乱の影響を小さくすることができる。そして、顔を大きく動かすような脇見を検出しやすくなるので、運転者の動作のうち、危険な行動を把握しやすくなる。
【発明を実施するための形態】
【0016】
本発明の動作検出システムは、自動車を運転している運転手の動作を検出するシステムであって、運転者が通常の動作に比べて大きな動作をした場合に、その動作を検出することができるようにしたことに特徴を有している。
【0017】
本発明において、「通常の動作に比べて大きな動作」とは、運転者が助手席やダッシュボードにある物品(例えば、携帯電話や地図など)を探したり取ったりするような動作や、大きく後ろを振り返ったりする動作を意味している。つまり、比較的長時間、前方を見ないような状況、いわゆる脇見運転の状態となるような危険な動作を意味している。
もちろん、脇見運転に限らず、シートベルトを装着する様な動作や、ハンドルから手を離すなどの動作の検出も可能であり、かかる動作も本発明が検出すべき動作とすることができる。
【0018】
まず、本実施形態の動作検出システム1の概略構成を説明する。
図1に示すように、本実施形態の発明の動作検出システム1は、画像撮影手段2と、評価手段10とを備えている。
【0019】
(画像撮影手段2)
画像撮影手段2は、自動車の車内を撮影して、運転者の画像を撮影するものである。画像撮影手段2は、自動車の車内のどの位置に設けてもよいが、運転者を正面から撮影できるように配設することが好ましい。例えば、バックミラーの位置に設けたりインジケータの近傍に設けたりすれば、ある程度正面に近い位置から運転者を撮影することができる。
【0020】
また、画像撮影手段2は、車内をある程度の期間連続して撮影でき、連続撮影した複数の画像データを得ることができる機能を有するものであればよい。例えば、CCDカメラやCMOSカメラ等を採用することができる。とくに、画像を、0.1〜1秒間隔、好ましくは0.1秒間隔で撮影できるものが好ましい。
【0021】
なお、画像撮影手段2は、一旦画像を保存しておく記憶機能を有しているが、撮影した画像をすぐに評価手段10に送信するようにしてもよい。
【0022】
(評価手段10)
評価手段10は、この画像撮影手段2によって撮影された画像に基づいて運転者の動作を評価するものである。
図1に示すように、評価手段10は、記憶部11と、差分算出部12と、評価部13と、を備えている。
【0023】
(記憶部11の説明)
記憶部11は、画像撮影手段2が撮影した画像を記憶しておく機能を有している。この記憶部11は、本実施形態の動作検出システム1が搭載されている車両が連続して運転される期間に撮影された全ての画像データを保存しておくことができる機能を有している。
例えば、本実施形態の動作検出システムを、タクシーやバスやトラック等に搭載する場合であれば、約5時間分の画像データを記憶しておくことができるものが好ましい。
【0024】
ここで、運転する期間に撮影された全ての画像データを保存する場合、通常、記憶部11は大きな記憶容量が必要となる。しかし、本実施形態の動作検出システム1では、画像がある程度粗くても、目的とする運転者の動作を検出することができる。つまり、1つの画像データ容量を小さくできるので、記憶部11として、記憶容量がそれほど大きくないものでも使用できる。例えば、8G程度の記憶容量しか有しないSDカードなどに、約5時間分の全データを収容することができるようにすることができる。
【0025】
もちろん、記憶部11は、順次古いデータが消去されるようにしてもよく、その場合にはさらに記憶容量を少なくできる。この場合でも、事故などを検出した際にその前後の画像データが保存されるようにしておけば、画像データを事故の原因究明などに役立てることができる。
【0026】
(差分算出部12の説明)
差分算出部12は、画像データに基づいて、評価部13において運転者の動作を評価する基礎となるデータを作成する機能を有している。
具体的には、差分算出部12は、撮影された画像について、輝度データを利用して画像各部の輝度の時間差分値および輝度の空間差分値を算出する機能を有している。
【0027】
まず、輝度の時間差分値は、時間差分値を求める画像(対象画像)と、この対象画像とは異なるタイミングで撮影された画像(比較画像)とを利用して算出される。つまり、両画像において、撮影対象の同じ位置を撮影している領域の輝度値の差を時間差分値として算出する。
例えば、
図2(A)に示すように、時刻tにおいて撮影された画像の画素A(x、y)の輝度の時間差分値I
t(x,y,t)は、時刻t−1において撮影された画像を利用して、以下の式で求められる。なお、I(x,y,t)は、時刻tにおいて撮影された画像の画素A(x、y)の輝度、I(x,y,t−1)は時刻t−1において撮影された画像の画素A(x、y)の輝度を、それぞれ示している。
I
t(x,y,t)=I(x,y,t)−I(x,y,t−1)
【0028】
つぎに、輝度の空間差分値は、対象画像中の異なる領域の輝度値の差を利用して算出される。つまり、対象画像中において撮影対象の異なる位置を撮影している領域間の輝度値の差から、輝度の空間差分値が算出される。具体的には、対象画像において、互いに直交する2方向の空間差分値がそれぞれ別々に算出される。なお、対象画像は、輝度の時間差分値を求める画像と同じ画像である。
例えば、
図2(B)、(C)に示すように、画像が、x方向およびy方向にそれぞれ複数の画素を有するとする。すると、対象画像の画素A(x、y)について、x方向の空間差分値I
x(x,y,t)と、y方向の空間差分値I
y(x,y,t)は、以下の式で求められる。
なお、I(x,y,t)は、
図2(B)、(C)における画素A(x、y)の輝度を示している。また、I(x−1,y,t)は、
図2(B)における画素B(x−1、y)の輝度を示しており、I(x,y−1,t)は、
図2(C)における画素C(x、y−1)の輝度を示している。
I
x(x,y,t)=I(x,y,t)−I(x−1,y,t)
I
y(x,y,t)=I(x,y,t)−I(x,y−1,t)
【0029】
なお、差分算出部12は、一旦記憶部11に記憶されたデータを読みだして差分値の算出に使用してもよいし、画像撮影手段2から直接送信される画像データを使用してもよい。そして、得られた差分値も、評価部13(または検出部14)に直接送信してもよいし、記憶部11に送信して画像データと関連付けて記憶するようにしてもよい。
【0030】
(評価部13の説明)
評価部13は、時空間勾配法を利用して、対象画像中に撮影されている運転者の動作を評価する機能を有している。この評価部13では、上述した差分算出部12において算出された時間差分値I
t(x,y,t)と、x方向の空間差分値I
x(x,y,t)およびy方向の空間差分値I
y(x,y,t)に基づいて、対象画像中に撮影されている運転者の動作を評価する。
【0031】
ここで、時空間勾配法において、画像の輝度値を用いて、撮影対象(本願であれば運転者が相当する)の見かけ上の動き(撮影された画像内での動き)を計算する場合、時刻tにおける画素(x,y)の輝度値をI(x,y,t)とすると、直交する2方向の動き、つまり、横の動きu(x,y)と縦の動きv(x,y)との間には、以下の関係が成立する。
I
x(x,y,t)u(x,y)+I
y(x,y,t)v(x,y)+I
t(x,y,t)=0
この式では、I
x(x,y,t)、I
y(x,y,t)およびI
t(x,y,t)は画像から求めることができるが、u(x,y)とv(x,y)の2つは未知である。つまり、1つの式に2つの未知数があるので、u(x,y)およびv(x,y)は得ることができない。言い換えれば、撮影対象(本願であれば運転者が相当する)の見かけ上の動きを把握することはできない。
【0032】
しかし、評価部13では、u(x,y)、v(x,y)を算出するために、一の方向における輝度の空間差分値を求める際に、他の方向における見かけ上の動きがないと仮定している。つまり、
図2(B)、(C)に示すように、x方向およびy方向について、マスクされていない部分の画素のみを用いて輝度の空間差分値を求めることになるので、以下の式が成立する。
I
x(x,y,t)u(x,y)+I
t(x,y,t)=0
I
y(x,y,t)v(x,y)+I
t(x,y,t)=0
上記2式では、いずれも1つの式に一つの未知数であるので、u(x,y)およびv(x,y)を算出することができる。つまり、I
x(x,y,t)、I
y(x,y,t)およびI
t(x,y,t)が算出できれば、u(x,y)およびv(x,y)を算出することができる。つまり、画素(x,y)に撮影されている撮影対象の各方向の移動速度を算出することができ、撮影対象の動きを把握することができるのである。
【0033】
したがって、画像中の運転者が撮影されている領域について、差分算出部12が輝度の時間差分値I
tとx方向、y方向の輝度の空間差分値I
x、I
yを算出すれば、評価部13は、上記方法によって、運転者の動作を推定することができる。
【0034】
ここで、一の方向における見かけ上の動きがないと仮定として運転者の動作を推定した場合、算出されるu(x,y)やv(x,y)の精度は低下することが想定される。しかし、上記方法で算出されるu(x,y)やv(x,y)であっても、十分に通常運転から運転者の大きな動きを区別する程度の精度は得られる。
【0035】
しかも、輝度の空間差分値と輝度の時間差分値は、画像が若干粗くても(画像の画質が若干悪くても)、運転者の大きな動きを推定できる程度の精度で算出することができる。すると、撮影する画像を高画質にする必要がないので、画像撮影手段2や評価手段10の記憶装置11として安価なものを使用できるから、システムを安価に構成することができる。
【0036】
(運転者の動作の評価方法)
評価部13は、x方向およびy方向の移動速度に基づいて、各画素(x,y)の移動量Lは以下の式により求めることができる。
L=(u(x,y)
2+v(x,y)
2)
1/2
【0037】
各画素(x,y)について移動量Lが算出されると、この移動量Lに基づいて、運転者の動作を判断して、その動作が危険動作であるか否か等を評価することもできる。
例えば、ある画像について、全ての画素(x,y)の移動量Lの平均値(平均移動量L1)に基づいて運転者の動作を判断する場合には、平均移動量L1が所定の閾値を超えた場合に、運転者が危険動作をしたと評価することができる。この閾値は、運転者が通常の運転動作をしている場合の平均移動量L1を基準として定めることができる。
【0038】
また、各画像について、各画素のu(x,y)、v(x,y)の散布図を作成して、その分布の状況によって運転者が危険動作をしているか否かを判断することもできる。
例えば、
図3(A)に示すように、横軸をu(x,y)(画像の水平方向)、縦軸をv(x,y)(画像の垂直方向)とした場合において、各画像のu(x,y)平均値とv(x,y)の平均値の交点に点を打って散布図を作成すれば、その点の分布状況から、運転者の動きの傾向を判断することができる。しかも、散布図では、横軸と縦軸の交点(原点)から点までの距離が各画像の平均移動量L1となる。したがって、散布図を使用すれば、運転者の動きの大きさと、その動作の傾向を同時に判断することができる。例えば、
図3(B)に示すように平均移動量L1が時間変動した場合に、その動きの方向も含めて、運転者の動作を確認することができる。そして、
図3(A)に示すように、動きの大きさ危険度に応じて、同心円状の危険レベルラインを示しておけば、危険な動きをしたか否かを判別することができる。
【0039】
また、平均移動量L1を算出せずに、全ての画素(x,y)の移動量Lのうち、所定の閾値を超える画素数が一定以上ある場合に、運転者が危険動作をしたと評価することもできる。
【0040】
さらに、散布図は、各画像について作成してもよい。この場合、各画像を撮影したタイミングの運転者の動作を、平均移動量L1よりもより詳細に把握することが可能となる。
例えば、画像の各画素におけるu(x,y)値、v(x,y)値で散布図を作成すれば、その点の分布状況から、画像を撮影したときにおける運転者の動きが、危険動作か否かをより詳細に検証することができる。散布図では、横軸と縦軸の交点(原点)から点までの距離が各画素の移動量Lとなる。つまり、原点近傍に点が存在する場合には、運転者は、危険動作に相当するような大きな動きはしていないと判断できる。一方、原点から離れた点が多数存在し、かつ、原点から見て特定の方向に固まっている場合には、運転者が大きな動きをしたと判断することができる。そして、原点から離れた点が、全画素に対してわずかである場合には、その点は誤差の可能性があると判断することもできる。したがって、散布図を使用すれば、各画像を撮影したタイミングにおける運転者の動きをより正確に評価することができる可能性がある。
【0041】
上述したように、各画像の各画素のu(x,y)値とv(x,y)値に基づく散布図を作成した場合には、車両の振動に起因する人の縦揺れなどが生じた場合には、その縦揺れなどの影響もu(x,y)値やv(x,y)値に反映されてしまう。つまり、運転者の動きに起因しない輝度の変化(誤差要因)もu(x,y)値やv(x,y)値に反映されることになる。しかし、異なる時間に撮影された複数の画像の各画素におけるu(x,y)値、v(x,y)値を、一つのグラフ上に表示させて散布図を作成すれば、上記のごとき誤差要因を排除して運転者の動きを評価することができる。
例えば、車両の振動などの影響は、u(x,y)値やv(x,y)値に周期的な変動となって現れる。つまり、振動などの影響を除去すると同じ画素においてu(x,y)値やv(x,y)値が一定となる場合であれば(つまり運転者が大きな動きをしていない場合には)、正しいu(x,y)値やv(x,y)値を中心として、u(x,y)値やv(x,y)値は時間変動する。つまり、画像を撮影するタイミングに対応して、u(x,y)値やv(x,y)値が周期的に変動する。このため、異なる時間に撮影された複数の画像の各画素におけるu(x,y)値、v(x,y)値を、一つのグラフ上に表示させて散布図を作成すれば、正しいu(x,y)値やv(x,y)値の点を中心として点が分布する。すると、点の分布状況から車両の振動などの影響の有無を判断できるので、車両の振動などの影響による誤った評価をすることを防止できる。したがって、運転者の動きをより正確に評価することができる可能性がある。とくに、トラックなどのように、運転者が受ける振動が大きい車両などにおける運転者の動きの評価には、この方法が適している。
【0042】
なお、評価部13は、一旦記憶部11に記憶された画像データや差分値のデータを読みだして移動量Lなどを算出してもよいし、差分算出部12から直接送信されるデータを利用して移動量Lなどを算出してもよい。そして、移動量Lなどは、記憶部11に送信して画像データと関連付けて記憶されるようにすることが好ましい。
【0043】
(検査領域の限定について)
撮影された画像には、動作を把握すべき対象である運転者以外の周囲の物体も撮影されている。周囲の物体が車外の風景であれば、車両の移動に伴って周囲の物体も移動するので、この周囲の物体を撮影した画素でもu(x,y)値およびv(x,y)値が算出されてしまう。例えば、画像では、運転者の腕なども撮影されるが、この部分は通常の運転動作(ハンドル操作など)でも大きな移動が生じる部分であるため、運転者の動作を判断する際に、誤差を生じさせる要因となる。
【0044】
また、画像撮影手段2は車体に固定されているので、車体や車両中の動いていないものは、画像撮影手段2と相対的に移動しないはずである。このため、これらを撮影した部分は、u(x,y)値およびv(x,y)値は通常0となるはずである。しかし、車体の振動等によって画像撮影手段2が揺れたりすれば、上記のものでも、画像撮影手段2に対して相対的に移動してしまい、その部分を撮影した画素でも移動量が算出されてしまう。このような要因でu(x,y)値やv(x,y)値が大きな値を示す場合も、運転者の動作を判断する際の誤差要因となる。
【0045】
そこで、運転者の危険運転に最も関係が深いと考えられる、運転者の顔の動きだけを抽出すれば、上記誤差要因を除くことができ、より正確に運転者の動作を判断することができる。とくに、顔を大きく動かすような脇見を検出しやすくなるので、危険な行動を把握しやすくなる。
【0046】
したがって、差分算出部12では、
図4に示すように、顔と想定される領域(検査領域)の画素だけについて、輝度の時間差分値および輝度の空間差分値を算出するようにすることが、好ましい。この場合、顔と想定される領域を判断する方法はとくに限定されない。
【0047】
例えば、運転終了後に解析を行う場合であれば、基準となる画像(例えば、車両の運転を開始したときの画像等)において、顔が写っていると想定される領域を人が画像上で検査領域として指定し、全ての画像について、基準となる画像と同じ位置に検査領域を設定してこの検査領域内についてだけ解析を行えばよい。
また、運転席に座ったときに運転者の顔が位置する領域を予め確認しておき、その領域を検査領域として設定しておき、この検査領域だけを解析するようにしてもよい。この場合、上述した記憶部11にその領域のデータだけを保存するようにしてもよい。すると、記憶部11の記憶容量をより少なくすることができる。
【0048】
もちろん、評価手段10に検査部14を設けておき、この検査部14が、撮影開始直後の画像を使用して、パターンマッチング等の公知の手法により運転者の顔の領域を検出して、その周辺に検査領域を自動で設定するようにしてもよい。この場合、一旦検査領域を設定すると、その検査領域に基づいて撮影や処理を実行すればよいだけある。つまり、各画像ごとにパターンマッチング等をしなくてよいので、処理時間が長時間化や、記憶装置の大容量化などの問題が生じることを防ぐことができる。
【0049】
なお、事前に指定した検査領域だけを解析する場合、上述したように、差分算出部12は、画像中の検査領域内の画素だけについて輝度の時間差分や空間の時間差分を算出するようにすることができる。
一方、差分算出部12が画像の全画素について輝度の時間差分や空間の時間差分を算出する場合には、評価部13において、検査領域の値だけを使用して運転者の動作を評価するようにすることも可能である。
【0050】
(その他の実施形態)
上記例では、画像撮影手段2および評価手段10がいずれも車載されている場合を説明した。しかし、画像撮影手段2が評価手段10の記憶部11と同等程度の記憶容量を有する場合には、車内には画像撮影手段2だけを設けて評価手段10は車載しないようにしてもよい。例えば、トラックやタクシーなどにおいて、運転者の運転状況を確認する目的で使用する場合には、車内には画像撮影手段2だけを設けてもよい。この場合、帰社した後、画像撮影手段2からデータを取得し、そのデータを評価手段10によって解析するようにすればよい。
もちろん、画像撮影手段2が十分な記憶容量を有しない場合には、画像撮影手段2とは別に記憶装置を設けておけばよい。例えば、評価手段10の記憶部11だけを車載するようにすることも可能である。
【実施例】
【0051】
本発明の動作検出システムによって、運転者の動作を検出できることを確認した。
実験では、車両のフロントガラス上部に配置されたカメラ(NPシステム開発製、型番:NDR200P)によって車両内を0.1秒間隔で撮影した。撮影された画像を用いて、画像の各画素について直交する2方向の動き(速度)を算出した。そして、直交する2方向をそれぞれ2軸として散布図を作成した。
【0052】
上記カメラは,縦480pixel×横640pixelの画像を撮影することができるものであり、運転者の顔を検出した結果から上半身領域を特定して、その領域内で解析している。
【0053】
結果を
図5および
図6に示す。
図5は、実際に撮影された画像であって、
図5(A)が通常運転時の連続画像であり、
図5(B)が運転者が大きく動いた状態の連続画像である。
図6(A)に示すように、通常運転時では、各画素の動きはある程度まとまっており、しかも、その大きさ(原点からの距離)がそれほど大きくないことが確認できる。
一方、
図6(B)に示すように、運転者が大きく動いた場合、通常運転よりも原点からの離れた位置まで点が分布しており、大きい動きを検出できていることが確認できる。
【0054】
また、検査領域を顔の周辺に設定して、この検査領域の画素だけの散布図を作成した結果を
図7および
図8に示す。
図7は、実際に撮影された画像あって、
図7(A)が通常運転時の連続画像であり、
図7(B)が運転者が大きく動いた状態の連続画像である。
図8(A)に示すように、顔の周辺だけを検査領域とした場合、通常運転時では、各画素の動きは、ほぼ原点近傍に集中していることが確認できる。
一方、
図8(B)に示すように、顔の周辺だけを検査領域とした場合でも、運転者が大きく動いた場合には、通常運転よりも原点からの離れた位置まで点が分布していることが確認できる。
そして、顔の周辺だけを検査領域とした場合の方が、通常運転時と運転者が大きく動いた場合との差がはっきりと現れることが確認された。
【0055】
以上の結果より、本発明の動作検出システムによって、運転者が大きな動きをした場合、その動きを通常運転時の動きと識別して把握することが可能であることが確認された。
そして、本発明の動作検出システムの場合、ある程度画像が粗い場合でも、動きの識別が可能であることも確認された。