21世紀COE「情報科学技術戦略コア」
融合プロジェクト合同ワークショップ
大域ディペンダブル情報基盤システムシンポジウム
佐藤 洋一 ● 「画像情報からの人物行動理解に向けて」

(司会)

 それでは続きましての講演は佐藤先生によります「画像情報からの人物行動理解に向けて」ですので、佐藤先生、よろしくお願いします。

(佐藤)

 ただ今ご紹介にあずかりました、情報学環と生産技術研究所を兼務しております佐藤洋一でございます。今日は、この機会にお時間をいただきまして「画像情報からの人物行動理解に向けて」という題目で、少しお話しさせていただきたいと思います。大域ディペンダブルのシンポジウムということですが、実は私自身がやっておりますことはやや実世界に近いことをしております。

 専門はコンピュータービジョンということで、画像情報の取り扱いというのを行っていますが、そこで実際に実世界の方のシステムプロジェクトにも少し関係しているということもあったりしますが、今日は大域ディペンダブルということで、お話しさせていただきたいと思います。

 私自身、興味を持って研究しておりますのは、いかにして実世界の事象をどうやって理解するか、そのためにどういった技術が有効かということについて考えています。実世界の事象と考えたときに、基本的には何でもありだと思いますが、例えば、いつ、どこで、何が、人で誰がでもいいですが、何をしているか、究極はそういうところのすべてが検査情報システム側に逐一取り込むことができるということだと思います。これは当然一筋縄でいくことではございませんで、いろいろな技術の積み重ねというのがどうしても必要になってきます。

 ちまたでいわれていますが、さまざまな多種多様なセンサー等をうまく統合して、そこからなにがしかの理解に持っていくという、これがどうしても避けられないだろうということが言えると思います。最近ではタグみたいなものですが、それの有効性みたいなものも、しきりに強調されますし、あとは今日お話しします画像情報というのも、これに対して有効ではないかというふうに考えております。

 いろいろなセンサーがある中で、例えば画像がどういった面でいいのかを、ここであらためて考えてみますと、画像センサーは、ほかのセンサーに比べまして、広範囲を同時に観測可能であるということが言えると思います。これは当然ですが、画像というのは2次元のセンサーですので、ある視野角内の範囲の情報を一度に取得が可能であるということが分かります。あとは多目的に利用可能ということも言えると思います。

 これは基本的には画像というのが、言ってみれば人間の視覚機能というのを、ある意味で代替するというのを期待されているものですので、入ってきた画像情報に対して、その後の処理の部分を変えることによって、さまざまな情報を抽出する可能性が少なくともあるということが言えると思います。

 あとは当然、当たり前かもしれませんが、そもそも監視カメラというのはたくさん付いていますが、これは今現在ですと大部分は最終的には人間が見て、何らかの理解をするということに使われていますので、人間が見ても理解しやすい、直感的であるというような情報が得られるという特徴があると思います。

 これは画像の1つの強みだと思いますが、環境に埋め込む、あくまでもパッシブな受動的なセンシングであるということが言えると思います。これは何をやっているかといいますと、見ようとする対象物に対して何らかの細工をするのではなくて、あくまでもセンシング側だけでカメラというものを設置すれば、環境をそのまま変えることなく情報をセンシングできるという強みがあると思います。

 もう1つは低コストということを挙げていますが、これも少し前までですが、少しというのはいろいろあるんですが、例えば5年、10年前ですと、画像センサーを設置して、そこの情報をリアルタイムに処理するということは、必ずしもそんなに容易ではありませんで、通信の太さ、先般の例もありますし、あとは処理側の能力の面もありまして、それほど容易ではなかったという状況はありましたが、この数年、本当にこの辺のコストが急に下がりまして、これはすなわちセンサー自体が低価格になったこともありますし、あとは計算機側の処理能力の向上というのがありますので、こういった画像センサーを使った処理システムというのが、かなり低コストで実現することが可能になってきているという背景があります。こういったことから私としては、これは人間の行動の計測と理解に有効なのではないかというふうに考えて研究を進めています。

 それでは人間の行動というのを考えたときに、何があるかというのを少し考えてみますと、これは実は結構いろいろあると考えています。すなわち行動と一口に言いましても、これは本当に定義の仕方によっていかようにもなり得るわけでして、そこで画像処理に特化して考えてみますと、それだけでもかなりいろいろなバラエティーがあるというのが言えると思います。

 例えば、まず最初に一番低いレベルから言いますと、どうしても人間の行動を理解しようと思った場合には、当然、人物の検出というのが必要で、まず画像内のどこに人間がいるのかということを知ることが必要になってきます。あとはリアルタイムで何か処理をしようと思ったときには、当然、人物というのは移動しますので、その人物を画像で追いかけるという処理も必要になってくると思います。

 それだけでもかなりのことが分かってきますが、もう少し詳しく見ようと思いますと、当然、人間というのは細かい身体動作というのを伴って活動していますので、例えばよく言われますが、身振り、手振りみたいなジェスチャーです。そういった、よりもう少し細かいレベルでの計測というものも必要になってくると思います。

 あとは細かいレベルでの計測という意味で重要だと考えていますのは、人間の場合、どこを見ているかとか、表情をどう◇表出◇しているか、広い意味での身体の動作ですが、そういったものも人間の行動を理解するには非常に有力な手掛かりになると考えています。

 最終的に、それをさらにもう少しこちらの方にハイレベルまで持っていこうと思いますと、1つの持っていき方としては、人がどこにいて、どういうふうに動いているかが分かって、かつ、どういった身振り、手振りで動作をしているかというのが分かったときに、それはそもそもどういう意味を持つのかとか、意味レベルでの解釈に持っていくというのが1つの方向かと考えます。

 これは、こういった絵をざっくり描いていますが、基本的には身体動作を計測したレベルからもう一歩進めて理解の方に持っていきたいというのが私の願いであります。私のところでもこういった考えに基づいて、低レベルなところからこの意味理解についていくつかの試みをやっているんですが、今日はその中で追跡と身体動作のところについて少し簡単にご紹介をしたいと思います。

 もう1つは、画像でという話はしましたが、これを画像でなければこれは全部できないのかと考えた場合、そんなことはまったくありませんで、正直なところ検出と追跡の部分に関しては、実はバッジを付けるというか、タグを付けるみたいなアプローチも十分考え得るわけです。その場合は、環境にある程度細工が必要ですが、それは十分に可能であるというふうに考えています。

 その場合に、そちらの方のアプローチのよさとしては、まずID情報というのは非常に簡単に取れますので、まず誰がというのが非常に分かりやすいということになります。それは画像に関していうと、その画像からやろうとすると、例えば顔の認識ですとか、あとはほかの◇……◇といわれるような身体、生体にユニークな特徴を判断して認識するということが必要になってきますので、画像でも可能ですが、ほかのモダリティー、タグみたいなものを使っても逆にそれはできると考えています。

 追跡に関して、これも例えば産総研とか、ほかの研究グループでもたくさんやられていますが、非常に賢いタグみたいなものを開発しますと、今度はポジションセンサーとしての利用が可能になる。それもかなりいい性能のものが出てきていますので、長期的にはそういった追跡というのも十分可能になってくると考えています。

 ただし、その場合に画像の方のよさみたいなものを考えますと、環境に細工をしなくてもいいということもありますし、あともう1つは、人のポジションというのは比較的そういったポジショニングセンサーは取りやすいですが、人がどちらを向いているとか、どちらを見ているというような情報というのは、なかなか向きの情報に関しては、今あるセンサーですと、そう簡単には出ないのではないかと考えています。

 ついでに画像と、ほかのセンサーとの比較を考えた場合に、この辺の身体動作の理解に関しては、これは画像の方が圧倒的に有利ではないかというふうに私は考えます。なぜかといいますと、考えてみれば当たり前ですが、身体動作を計測しようと思った場合には、いわゆるモーションキャプチャーみたいなものが必要になってくるわけです。

 それをある限られた環境でモーションキャプチャーをするのであれば、マーカーを付けるなり、特殊なスーツを着て何かをするというのは、それは精度を上げる意味でも非常に有効ですが、自然に行動している環境で人間の身体動作を取ろうと思った場合に、それは許されないわけです。この身体動作の計測という面に関しては、画像が圧倒的な利点、有効性を持っているのではないかと考えています。

 同じことですが、表情に関してもまったく同じで、表情をほかのセンサーで測ろうと思った場合には、非常に不自然なことが要求されますので、この辺は画像が頑張るべきところかだと考えています。その具体例としてまず最初にお話ししたいのは、人物の追跡ということについて少しご紹介をさせていただきます。

 これは先ほど申しましたように、ポジションを取るというのは、ほかのことでも可能ですが、ここでは特に3次元的なポジションと、向きというのも同時に取りたいということを考えています。それもなるべくいろいろな環境で、それをできるようになりたいと考えています。

 少し考えてみますと、そうは言っても画像の中で人の頭の位置を出すぐらいは、結構、簡単ではないかという気もしたりしますが、それに対する答えというのはイエスとノーの両方という感じになります。簡単ではないかという問いに対してイエスというところは、環境が非常に制限されていれば、例えば真っ白な壁の前に立っているようなことを考えれば、これは非常に簡単な処理をするだけで、安定に頭部の位置というのが分かるわけです。

 例えばカメラをここに設置していて、スクリーンの前に立っていて、人物の領域は簡単に切れますから、かつ、カメラの向きまで仮定すれば、一番上のところが頭だろうと考えれば、それはそこそこ正しい結果を返すわけです。ただし、必ずしも実際にカメラを設置してみると、そういうたちのいいと言ったらあれですが、やさしい状況だけではないというか、そういうことの方が逆に少ないわけです。

 これは実際に我々の研究室の中での映像ですが、これも比較的きれいな研究室ではないかと自負していますが、それでもかなり物はありますし、決定的に厳しいのは照明がかなりユニホームじゃないことがあります。これはすなわち室内ですので、比較的近いところに照明があるために、人が少し移動するだけで証明条件が大きく変動しますから、そういうのは画像の見えにまともに利いてきてしまうという難しさがあります。そういった環境で、なるべく頑健に人物の3次元位置を推定し、かつ、向きも求めていきたいということを考えているわけです。

 では、それをどうすればうまくいくかということですが、それは基本的にはなるべく多くの情報を総動員して推定を行うということに尽きると思います。すなわち具体例を挙げていますが、詳細はこの先でお話ししますが、これは1台のカメラだけでやろうと思うと、なかなか難しいということがありますので、環境に何台かカメラが設置されていれば、そのカメラでうまく情報を統合して使ってあげましょうということを考えます。

 かつ、おのおののカメラから入ってくる情報も、1つのモダリティーの確保、例えば色とかエッジ情報みたいなものだけに頼るのではなくて、いろいろな種類の情報を取り出しまして、それをうまく統合したりということを考えます。こうすることによって、例えば照明が大きく変動して、ある1つのモダリティーが不安定だった場合でも、ほかのところでそれをカバーするようなことで頑健さを上げることが可能です。

 もう1つ我々のところで特徴としてやっていますのは、人だけを見るのではなくて、環境の方について知っていることも積極的に利用しようということを考えています。その考えに基づいて、ここでやっていますのは、まず部屋の形というのが大まかにでも分かれば、ここからかなりいろいろなことが分かりますので、それをフィードバックして人の追跡に生かそうということを考えています。

 こういう枠組みでトラッキングをしていきますが、これは基本的な部分に立ち戻って、いくつかお話しさせていただきますと、ここで行いますのは、観測情報に基づいた状態の推定を行っているということだと考えることができると思います。これは何を言っているかといいますと、画像から得られた情報が与えられたという条件の下で、今、推定したい頭部の位置と、顔の向きというものの状態、推定量を最適な推定によって求めていきたいということになります。

 これは統計でいうような条件付き確率の話になりますので、観測情報を与えられた条件の下で、こういう状態量がどうなるかという確率分布さえ定義できれば、そこから推定できるということになります。これを逐次的に求めていきますので、逐次ベイズフィルター、ベイズ推定を逐次的に実行していくという枠組みに基づいて行っていくということになります。

 そのために、まずいくつかのものを定義しますが、まず最初は1つ前の時刻で、ある状態が与えられたときに、その条件の下で、今の時刻でどうなっているかというような確率を考えるということになります。これは1つ前の時刻、1フレーム前のときに人物があるところに行ったときに、その人物が次のフレームでどこに行くかという運動を予測しているということになります。これに関して何らかの仮定を置いてトラッキングをするということを行います。

 これはどのモデルを使うかというのは、いろいろありますが、例えば単純な等速直線運動みたいなモデルを使うとか、もう少し複雑にしたようなモデルを使うというのはありますが、基本的にはこういう運動に関するモデルというのを定義しております。

 もう1つは観測モデルというのを考えまして、これは時刻tにおいて、ある状態があったと。例えばこのときに、今、人はここにいるであろうという条件の下で、画像から得られた観測量がどういう分布を持つかということを表すようなモデルになります。これもあらかじめ定義したことによって、後に使う逐次ベイズ推定に利用していくということになります。

 この辺は基本的な式になりますので割愛しますが、基本的に言いたいのは、1個前の時刻において、観測量が得られている条件の下で、今、人がどうなっているかという状態量の分布を与えられていると、それをベイズルールで展開していくと、今度は、今もう1回新しい時刻のフレームが観測されたときに、実際にそのときの状態はどうなっているかというのが検出できるというわけです。

 これはよくやられますのは、この辺は省略しますが、この部分をキーにして、実際には、先ほどの観測モデルの部分と、あとは運動モデルから予測される部分、この2つの組み合わせで更新していけますということになります。

 それを行うためのやり方はいくつかありますが、我々のところで利用していますのは、パーティクルフィルターといわれるフィルターを実際に使っています。これは最近、画像の分野とかロボティックスの分野で、よく使われるようになってきている逐次ベイズ推定のやり方の1つですが、基本的な考え方としては、先ほどの観測が得られた下での今の状態に関する確率密度分布というのを、例えばこういう形で実際に存在した場合に、これを解析的な形で持つのではなくて離散的なサンプル、重み付きサンプルの集合として近似しましょうというものが基本的な発想でございます。この確率密度分布の高いところに関しては、より密にサンプルが存在しまして、かつ、その重みというのがより大きな重みというのを持っているという形になります。

 これを使って、先ほどの逐次ベイズ推定を行うというのが、アルゴリズム的に非常に簡略化することが可能になりまして、実際には運動モデルによって、今の1個前の時刻のサンプルの集合というのを利用しまして、それに対して、今現在の時刻で得られた観測量に基づいて、それぞれのサンプルというのがどれぐらいもっともらしいかというのを評価するということをします。そうしますと、最終的には今の観測を織り込んだ形で、今現在の時刻の状態が推定できるという形になります。

 このパーティクルフィルターを使って実際に統合しますが、ここで統合するときに使っている情報としましては、まずいくつかありまして、1つは色の情報というのをここでは利用しています。これは、そんなに悪い仮定ではないと思いますが、人物の頭部です。この人の頭部のこの領域における色の分布というのをあらかじめ準備しておきます。

 そのときにやりますのは、向きが変わりますから、向きに応じて色の分布がどう変わるかというのを、ある程度は事前に準備しておくということをします。その分布に基づいて、この人がある場所に、ある向きでいるということを仮定したときに、この画像の色というのはどれぐらい一致しているかというのを厳密に評価することが可能になります。

 あとは色の情報を使った場合には、照明の変動というのがどうしても影響が残りますので、ここではもう1つ、距離画像というものを使っています。これは何を言っているかといいますと、センサーの方から得られる情報として、実際には各点までの距離みたいなものは、大まかですが入っていくようなセンサーを用意していまして、この場合ですと手前にあるものほど明るくて、奥にあるものほど暗いというような画像になっています。これは距離画像といいまして、それに対して今、ある位置に頭部が存在しているということを仮定しますと、今のこの距離画像の観測がどれぐらいそれに合っているかということを、定量的に評価できることになります。

 それを統合していく段階では、これも基本的に本当に単純に◇積◇を取っていけばいいんですが、あるi番目のカメラに関して、まずカラーに基づいて計算された尤度と、距離画像に基づいて計算された尤度、両方をまず統合しまして、それをさらにもう1台の目で、各カメラから、別の方から見ているカメラからの情報も全部統合して、最終的な観測量にするということをします。

 さらに今度は、環境の方の知っている部分を使うということに対しまして、部屋の形状というのをあらかじめ一度、実際この場合にはレーザーでスキャンをしていますが、スキャンをして取り込んでおいて、今度はこれに基づいて人間の頭部の存在確率というのを定義しています。これは大ざっぱにですが、棚の上とかに、今、人物が存在するのはおかしいとか、壁に極端に近いとか、壁に入ってしまうのはおかしいということは容易に分かりますので、そういったものも全部織り込んであげるということをします。

 それですべてのものを統合して最終的な推定を行うということをしますと、照明の変動とか背景の複雑さというのに対して、かなり安定に人物の頭部の3次元位置と向きというのを求めることが実現されます。これは少し前の映像ですので、実際よりは少し遅いですが、これは実際にもう少し速いフレームレートで動くことも可能です。

 これを実際どれぐらい精度が、こういうので出るのかというのを試してみました。そのときは、これは一応ground truthというのを、これはあらかじめ画像から手作業で拾ってきていますが、3次元位置の◇正解点◇をまず取っておいて、それとあとは現在◇……◇によって、その追跡された正位置との線を比較しますと、こういった室内の環境下において、数センチというオーダーのポジショニング性能が得られるということが確認できました。画像からだけでも、かなり高精度なポジショニングができるというのが示せていると思います。

 こういった手法を使って、そうは言っても研究室の中だけではないかということを思われる方がいらっしゃるかと思いますが、それを今現在やっています1つのプロジェクトとしては、こういった技術がある程度できてきたので、これを実際に使ってみようということを考えています。

 何に使おうとしているかというところですが、これは実際の店舗内における人物の行動というのをリアルタイムで計測していきたいということを考えています。コンビニエンスストアの中における設置した監視カメラです。これによって人物の位置と、あとは当然、人物の行動を知りたいわけですから、どちらの方を、何を見ているかというのもある程度知りたいわけで、人の向きというのも同時に推定していきたいということを考えています。

 これは実際にご覧いただければ分かりますが、コンビニエンスストアですから、背景的には、ある意味で最悪な状況でありまして、非常に複雑なものがたくさんある。そこに人が常に歩いているというような環境です。少し見にくいですが、そこで人物の頭部の向きと位置というのを、なるべく頑健に推定していくということを、今、試みています。

 これは余談ですが、これを見てぴんとこられた方は結構いらっしゃるのではないかという気がしますが、すぐそこのローソンでして、実際に実験は終わってしまったのでもういいですが、気付かれた方もいるかもしれないですが、小さな張り紙があったんです。12月に2週間ほど映像を全部記録していた時期がありまして、それは実験目的なのでプライバシー等の問題はないはずですが、実際に16台のカメラをフルタイムで稼働して記録したということをしています。今は、そこから実際にこういった環境でも頑健に追跡できるような手法の開発につなげていきたいということで取り組んでいるわけです。

 もう1つは、今度は顔認識の技術の統合というのも、今、掘り下げているというふうな感じになっています。以上が人物の追跡に関する部分について簡単にお話しさせていただきました。残りの時間が少し押してしまっていますが、もう1つだけ、もう少し細かい身体動作の計測に関して、我々でやっていることを少しお話ししたいと思います。

 これは人の顔の向きというのを、なるべく正確に知りたいということを考えて開発を進めている例になります。向きですから3次元的に人物の頭部がどこにあって、どちらを見ているというのをなるべく精度をよくしたい。先ほどの例ですと、数センチのオーダーで見えていて、向きに関しては結構ランダムにしか取れていないんですが、ここでは距離によりますが、例えば運転席みたいなのを考えれば、センサーから対象までが1メーターぐらいの状況において、1ミリとか数ミリの位置決めと、あとは数度というような、ポジショニングからの向きの精度、そういったものをリアルタイムに取れるような手法を開発したいと流れで実験しています。

 そういったことをやろうと思ったときに、大きく分けて2つのやり方があります。1つは、ここにざっくり書いていますが、これは極端な書き方かもしれないですが、無理に分けると、1つは2次元的な見えをそのまま使うやり方があります。これは何を言っているかというと、画像センサーは基本的に2次元の情報を取ってくるものですから、簡単に言うといろいろな向きの映像というのをあらかじめ学習しておけば、それに対して今の映像がどれに近いかということをうまく判断できれば、向きというのがそこそこ分かってくるわけです。

 ただしそれは基本的には、言うのは簡単ですが、実際にやろうと思うと人物のバリエーションですとか、照明の変動、そもそもそういった離散的な頭部姿勢をたくさん撮っておくというのは、そんなに簡単ではないということがありまして、ここではなかなか精度が出ないということを言うことができます。

 それに対しまして、2次元の画像だけでやるのではなくて、人物の顔のこういった形状に関する3次元のモデルというのをうまく積極的に使っていこうというようなアプローチを考えます。こちらの方が比較的精度を上げて、かつ頑健なシステムには向いていると言えます。

 そこで我々のところでも、そういった手法をいくつか開発していますが、これは以前の失敗例を見せていますが、人物の頭部の形状というのを3次元形状を仮定してトラッキングした場合に、何が問題になるかというと、実は人間はしゃべったりとか表情を変えると、かなり変形するわけです。変形というのを無視してモデルというのを持っていると、それが姿勢の推定にすべて悪影響を与えてしまうというような根本的な問題が存在します。

 そのために取り得るアプローチとしては、顔の3次元形状をモデル化するというだけではなくて、今度は3次元形状がどう変形するかということに関してもちゃんと考えるということが有効になります。ただし、その場合に今度問題になるのは、例えばある人物が来て、その人の顔の追跡をした場合に、その人がどういう顔の形をしていて、かつ、どういうふうな変形の仕方をするかというのを事前に準備しておくというのは、これは非常にコストが高すぎて現実的ではないというわけです。実際には、そういった学習をしようと思いますと、これまであった手法ですとかなりの時間をかけて、そういったモデルを準備する必要があったというのが制限になっていました。

 そのために我々のところではそういったことをしないで、まずは取りあえずトラッキングをスタートしてしまって、その人の顔を追跡しつつ、その人の顔の様子を見ながら、どういう顔は、どういう変形の仕方をするのかというのをリアルタイムで獲得していこうというようなことを試みました。これによってユーザーというのを仮定せずに誰でも、どの人が来ても、その人に対して顔の追跡が可能になるというようなことが実現しています。

 そのやり方ですが、今、もう言いましたが、事前準備なしにそういった変形の仕方というのを獲得していこうと。それをまたフィードバックして追跡に生かしてあげますと、かなり顔が変形するような状況においても、ちゃんと顔の姿勢が推定できるということがございます。

 時間もありますので処理の簡単に概念だけ言いますと、基本的には画像をまず最初は剛体を仮定してしまって、トラッキングをスタートするということをします。それによってトラッキングも精度は悪いですが、まずはトラッキングをしてみるという。トラッキングをすると今度分かってくるのは、変形した部分がすべて実際の画像とのずれになって観察されるわけです。

 例えば口元がずれた場合には、剛体のモデルと口元の変形した位置というのが当然ずれてきますから、このずれに着目して変形モデルというのを獲得していくということをします。実際に本当はここにあったというのをもう一度リアルタイム見つけ直して、そういった実際の顔の形というのを蓄積していくという方式です。それに基づいて、この変形の仕方というのを表現するようなモデルというのを準備して、それをフィードバックして、今度はこのループを閉じてあげるというようなことを行っています。

 詳細の方は割愛させていただきまして、基本的には画像特徴を使った誤差関数というのを定義しまして、誤差関数の最小化という枠組みで、この場所を見つけていくということをしています。それは普通にやるとかなり不安定になってしまうところを安定化するような工夫というのを入れていって、リアルタイムで動くようなことをします。

 最終的に出る形としては、こういう平均形状と、あとは変形の仕方のモードみたいなものを見せます。基本的に簡単に言いますと、ニュートラルな顔の形状に対して、最も大きな変形の方向、それと今度は、この部分以外の中で次に大きな変形の成分というのを表すようなもの。さらに残ったもので、次に大きな変形を表すようなものという形で直後◇基点◇の形で準備していって、それでこの顔の形状のバリエーションというのを出します。

 それによって、前半、簡単にお話ししたパーティクルフィルターを使って、そういった変形を表すようなパラメーターと、あとは位置、姿勢を表すようなパラメーターを同時に推定していくということをします。そうしますと、この例ですと大きく極端に変形させた場合ですが、こういう場合でも姿勢の方が影響を受けずにうまく求められるということが分かります。

 これは実際には、そういった変形を考慮する場合としない場合に、どれぐらい影響が低減されるかというのを少し定量的に評価した例ですが、これは見にくくて恐縮ですが、これは角度、yaw角に関して言いますと、顔を振りながらここで大きく振ってまた1回止めて、ここで表情を変えていますが、変形モデルを考慮しないと、顔の表情を変えただけですが全部姿勢の推定誤差になって20度とか大きな誤差を生じているわけですが、それに対して変形モデルを考えると、その辺の影響をほとんど受けることがなくなるというのを示していると思います。

 比較のビデオを少しご紹介したいと思います。これは今、実際にシステムが動いている例ですが、30フレーム、ビデオフレームレートで動くようなシステムになっていまして、これは以前やった剛体の方を仮定したもので、こういう形で変形に対してかなり不安定になるのが見てとれます。

 それに対して、これはリアルタイムで変形の方も学習してフィードバックすることにしますと、こういう形で変形をかなり大きくした場合でも、安定に顔の姿勢が推定できているというのが分かると思います。今、こういった技術の1つの応用先として考えたりしているのが、例えば運転動作のドライバーの顔の動きというのを、こういうのでうまく撮ることによって、どちらを見ながら運転しているというのを計測して、それを生かすというようなことも少し予定しているというわけです。

(  )  車の照明条件◇……◇。
(佐藤)

 実際にそれは車内でテストをしたりすると、ある程度、照明の変動を吸収するようなことをしているので、結構、光が大きく入って半分こうなっているような場合でも◇大丈夫です◇。まだ完全ではないというところがあります。

 ただ、おっしゃられる通り、例えば極端な照明ですと、夜間だともうまったく働かなくなるので、そういう場合にはたぶんアクティブな状態◇……◇ということで、後半の部分に関しては、こういったもう少し細かい身体動作を計測するということで、頭部3次元姿勢をリアルタイムで計測するためのお話を紹介させていただきました。ご清聴どうもありがとうございました。(拍手)

(司会)

 それでは質問◇……◇。

(  )

 最初の前半のトラッキング◇……◇学習フェーズ◇……◇。

(佐藤)

 前半にもトラッキングで学習フェーズがあるかというお話ですが、あれは実はなくて、唯一あるのは環境の形状、センサーを設置している場所とか、それが変わると◇……◇という形になってくるんですが、人物に関しては、あれは一般の人向けで、人全体に関する顔の色の◇……◇というのを使っているので、個人対応というのは行っていないので◇……◇

(  )

 色とかは◇……◇。

(佐藤)  それはあらかじめ先に、そういう意味で事前学習ですが、1回準備しておいて、そうすると、それは誰でも◇……◇という意味で人に対する事前学習◇……◇。それは実際には画像をいくつか撮っておいて、そこから◇……◇。
(司会)

 ほかにいかがでしょうか。

(  )

 後半の部分の話ですが、特徴点の数が、結構少なかったように思いましたが、どれくらいの特徴点を使ったかというのと、あとは眼鏡を付けていたりとか、目の方の開度というか開き具合も計測することができるのでしょうか。

(佐藤)

 まず特徴点の数ですが、確かにおっしゃられるように、我々の手法は、結構少なめの特徴点を使っていまして、両目の端点と口の端点と鼻の鼻腔部分と、まゆの頭の部分だけですので、結構少ない特徴点を使っています。実際には特徴点をどれぐらい使うかというのも、1つの選択肢に入ってきますが、一般的には多い特徴点を使えば使うほど遮蔽とかが強くなるというのがありますので、ただ、その処理速度◇……◇今はもう少し特徴点を増やす方向で検討しているというのがあります。

 もう1つのお話ですが、眼鏡に関しては、これは実際に◇……◇お話がありましたが、カメラの前に入ってきたときに、そこで1回初期化、顔の形を1回その場で獲得してスタートしますが、そのときにうまく顔の特徴点が画像内で見つからない場合もあります。それがまだ眼鏡の影響というのが、実は既存の技術で少なからず影響があるので、そこは眼鏡を掛けていると大きく影響してくるところですが、それさえクリアしてしまうと、実際その後の◇……◇追跡処理に関しては、眼鏡の影響はあまりないと思います。

 あとは目の開度に関しては、今、目の両端しか見ていませんので、開度は今の段階では取っていないということですが、それを取るための拡張というのは比較的、基礎技術を使って◇……◇という感じです。

(司会)

 ありがとうございました。ほかにいかがでしょうか。

(  )  素朴な素人質問ですが、わりとオブジェクトのトラッキングみたいな話というのは、基本的なタスクではないかと思いますが、例えば上條先生のやつとかも、車で◇……◇そういうのというのは対象とかが違うと、かなりこのレベルから作り直さなければいけないようなものなのか、それとも現状でもう少し汎用的なというか、ライブラリーみたいな感じで個々に作り直さなければいけないような、作り直さなくていいようなふうに、今はなっていないのかなというその辺を。
(佐藤)

 実は汎用のトラッカーができるかというと、答えとしてはかなり難しくて、汎用性というのを持たせる意味で、上條先生がやられている研究というのは非常に興味深い点がありまして、それは対象というのはあまり仮定しないです。あくまでも画素の類似度だけを見てスクリプトしていくということなので、かなり汎用性は高いと思いますが、一方、今回お話ししたような話は、比較的対象を仮定しています。人物というのを仮定しているので、両方のメリット、デメリットがあると思います。

 汎用性を高くすると研究できないケースが増えてくる。例えば非常に混雑すると、非常に込んだ中で人物をうまくトラックしようと思うと、その画素のレベルでの類似度ベースでトラックしようとすると破綻してしまう。

 そういうときに、例えば曲がりなりにも対象物、顔なら顔というものを明らかにする関数モデルというのを分かっているとすると、それを積極的に使って、非常に混雑した環境でもトラックできる可能性があるというので、少しトレードオフの関係があって、残念ながら汎用のトラッキングアルゴリズムというのはいまだに存在していなくて、状況として選んで使う必要があるという状況かなという。

 ある意味、悲しい面もありますが、それの1つの例としては、実は画像のセグメンテーションというのは、昔から研究されている話でして、画像が本当に人間を分けていくような領域に全部セグメントして自動でやりたいというのがありますが、それがいまだにこれが汎用だみたいなものがなくて、いまだに研究を進めているということなので、それをさらに進めてフレーム間に持っていこうということをやっている状態です。

(司会)  あとはよろしいでしょうか。ありがとうございました。(拍手)

Page Top



(C) Copyright 2006 Information Science and Technology Strategic Core All Rights Reserved.
トップへ戻る