JP3639520B2 - Moving image learning method and recording medium recording this program - Google Patents

Moving image learning method and recording medium recording this program Download PDF

Info

Publication number
JP3639520B2
JP3639520B2 JP2000338629A JP2000338629A JP3639520B2 JP 3639520 B2 JP3639520 B2 JP 3639520B2 JP 2000338629 A JP2000338629 A JP 2000338629A JP 2000338629 A JP2000338629 A JP 2000338629A JP 3639520 B2 JP3639520 B2 JP 3639520B2
Authority
JP
Japan
Prior art keywords
moving image
distance
image
learning method
learning
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.)
Expired - Fee Related
Application number
JP2000338629A
Other languages
Japanese (ja)
Other versions
JP2002150297A (en
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2000338629A priority Critical patent/JP3639520B2/en
Publication of JP2002150297A publication Critical patent/JP2002150297A/en
Application granted granted Critical
Publication of JP3639520B2 publication Critical patent/JP3639520B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Analysis (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、人物顔動画像などの動画認織のための学習技術にかかわり、特に実環境条件の下で、カテゴリ(人の名前)に対する事前情報が与えられていない長時間にわたる連続映像データを用いて自己組織化的に画像を学習する方法に関するものである。
【0002】
【従来の技術】
顔画像認識を例に説明する。顔画像認識は、学習段階で作成された顔画像モデルと、未知の入力顔画像とのパターン照合(距離値または類似度の計算)により、実現される。
【0003】
従来の顔認識法における学習では、制限された環境条件で撮影され、かつ人手によって人名などのカテゴリを付けられた少数の顔画像から学習を進めるという方法がとられていた。
【0004】
しかし、このアプローチでは、人手によるデータの準備作業が必要であるので、多量の顔データを学習に利用することが困難である。
【0005】
このアプローチを用いて実環境で顔認識を行う場合には、限られた数の顔画像しか学習に利用できないために、実環境で発生する様々な変動(例えば、照明条件の変動、カメラ(視点)に対する顔の角度と距離の変動、顔表情や眼鏡、ヘアスタイルなどによる顔の形の変動)に単純に対処するだけの十分の学習データを蓄積することは困難である。
【0006】
従来は、それに対処するために場当たり的に、前処理を工夫したり、特徴の工夫がなされていたが、十分な精度は得られていない。つまり、従来の顔認識は、複雑な変化に富んだ実環境に対応するための柔軟性が備わっていなかった。
【0007】
一方、人間が行う顔認識の場合では、学習システムがいつでも動作していて、新しいデータが入力されると、システムの内部状態を更新し、いつでも新しいカテゴリを事前情報なしに追加できる。
【0008】
【発明が解決しようとする課題】
前記のように、顔画像モデルと、未知の入力顔画像とのパターン照合による認識方法では、人手によるデータの準備作業が必要とし、多量の顔データを学習に利用することが困難であった。また、十分な学習データを蓄積すること及び十分な精度を得るのが困難であった。
【0009】
本発明では、人間によって事前に用意された情報を用いることなく、実環境でコンピューターが自律的に長時間の連続データを自分のタスクの目的に応じて自己組織化的に学習し、学習途中で新しいカテゴリを自然に追加できる方法を提案するものである。つまり、本発明の目的は、長時間環境映像データに含まれる多様な変動を人間の介在なしに教師なしで追加学習する方法を提案することである。
【0010】
また、本発明の目的は、すべての過程(データ収集、格納、顔領域抽出、学習、認識)が自動的に行われ、人手による作業は必要としない学習方法を提案することである。
【0011】
【課題を解決するための手段】
本発明は、上記の目的を達成するために、長時間環境映像データを用いて、その中に現れる移動物体を自動的に抽出すると共に、複数の抽出された移動物体をその情報を利用して自動的に関連付けることにより、人為的にカテゴリを与えることなく自動的に移動物体のカテゴリ分けを行うようにしたものである。また、カテゴリ分けの際に、対象情報がどのカテゴリに含まれるかを映像データに対して補足的に人手で一部だけカテゴリ付けできるようにするものであり、以下の学習方法および記録媒体を特徴とする。
【0012】
(学習方法の発明)
連続的に撮影した環境映像データから、映像内で移動する対象物体を教師なしで自動的に学習する動画像学習方法において、
事前に対象物体のカテゴリ情報が与えられていないデータを撮影する段階と、
前記対象物体の動画像を時空間的に切り出し動画像配列を作成する段階と、
全ての組み合わせの前記動画像配列間で動画像配列の中に含まれる画像間の距離をもとに動画像配列間の距離を計算する段階と、
前記動画像配列間の距離を用いて初期サブクラスタを形成する段階と、
consistent/inconsistentエッジを用いて全てのサブクラスタを結合する段階と、
前記結合された各カテゴリー毎の動画像辞書を作成する段階と、
から構成されることを特徴とする。
【0013】
また、前記切り出した動画像の一部に関してカテゴリ分けの事前情報を与える段階を備えたことを特徴とする。
【0014】
また、前記consistent/inconsistentエッジを用いて全てのサグクラスタを結合する段階で、カテゴリ情報を与える段階と、与えられたカテゴリ情報を基に前記consistent/inconsistentエッジを変更する段階とを備えたことを特徴とする。
【0015】
(記録媒体の発明)
連続的に撮影した環境映像データから、映像内で移動する対象物体を教師なしで自動的に学習する動画像学習方法を、コンピュータに実行させるためのプログラムを、該コンピュータが読み取り可能な記録媒体に記録した記録媒体であって、
事前に対象物体のカテゴリ情報が与えられていないデータを撮影する過程と、前記対象物体の動画像を時空間的に切り出し動画像配列を作成する過程と、全ての組み合わせの前記動画像配列間で動画像配列の中に含まれる画像間の距離をもとに動画像配列間の距離を計算する過程と、前記動画像配列間の距離を用いて初期サブクラスタを形成する過程と、consistent/inconsistentエッジを用いて全てのサブクラスタを結合する過程と、前記結合された各カテゴリー毎の動画像辞書を作成する過程とをプログラムで記録したことを特徴とする。
【0016】
【発明の実施の形態】
図1は、本発明の実施形態を示すブロック構成図である。本実施形態では3つのユニット、顔領域抽出装置(ユニット1)、学習装置(ユニット2)、認識装置(ユニット3)から構成される。
【0017】
顔領域抽出装置1は、長時間連続の環境映像データに出現する人物の顔領域を自動的に抽出し、その大きさを正規化し、画像に人物が出現してから消失するまでの一連の顔画像系列(これを動画像配列と呼ぶ)を作成し、ファイルに格納し、後段の学習/認識装置2、3に入力情報を提供する。
【0018】
学習装置2は、後述の学習アルゴリズムを用いて、事前のカテゴリ情報を含まない多数の動画像配列をカテゴリごとに組織化する。その結果に従って、システムの内部状態も適切に更新される。ここで、内部状態とは、動画像配列間のどれとどれが同じカテゴリーに属するかを示す表現のことを言う。
【0019】
認識装置3は、システムの最新の動画像辞書(登録された動画像配列)と認識すべき入力データ(入力動画像から顔領域抽出装置により切り出された動画像配列)との照合に基づいて顔認識を行い、認識結果を出力する。
【0020】
はじめに、学習や認識のための準備段階としての顔領域抽出装置の一例について、図2のフローチャートを用いて説明する。
【0021】
ステップ201では、固定したカメラから連続的に環境映像データが入力されるが、隣り合った2枚の画像を引算し、閾値をとってバイナリ差分画像を作成する。
【0022】
ステップ202では、作成された差分画像から、観察されている環境は変化があったかどうかを判断する。人物の登場に相当する変化がない場合、変化があるまでステップ201とステップ202を繰り返すが、変化があった場合にはステップ203へ進む。
【0023】
ステップ203では、前ステップで作ったバイナリ差分画像からサブサンプリングを繰り返しながら多解像度画像ピラミッドを作成する。サブサンプリングは、元の画像の各2×2ピクセル領域を(領域内の「1」の数に基づいて)「1」または「0」値のピクセルに置き換える。なお、多解像度画像を用いることによって、顔領域の座標をもっと安定で正確に計算することができる。すなわち、低い解像度の画像がノイズの影響を受けにくいので比較的安定に顔領域を決めることができるが、正確ではない。逆に、高い解像度の画像から顔領域を正確に決めることができるがノイズの影響を受けやすい。以下で説明する顔領域抽出アルゴリズムは各解像度の画像でパラレルに行われ、それぞれの計算結果か後で述べるように、ステップ207で統合される。
【0024】
次のステップ204では、照明条件の変動、衣服のテキスチャーなどの原因によるノイズの影響で人物領域内にできている「0」値の「穴」を埋めるために全画像に、次のようなフィルターを掛ける。
【0025】
画像全体に3×3ピクセルの窓を1ピクセルステップで移動させながら、窓の中に少なくとも2つの異なった行と2つの異なった列には同時に値「1」のピクセルが存在すれば、窓の中心にあるピクセルを「1」に置き換える。この操作を左右、右左、上下、下上方向で何回か(あるいは変化がなくなるまで)行う。
【0026】
次のステップ205では、前段階で作成された画像の重心とxヒストグラム(画像の各列に含まれる「1」の数を表す関数)を計算して、重心からxヒストグラムの全エネルギーの例えば90%が含まれる領域を人物領域として切り出す。つまり、人物の面積が、背景に動く他の物体、陰、ノイズなどの面積よりずっと大きいと仮定している。
【0027】
ステップ206では、ステップ205で抽出された人物領域上に、改めてxヒストグラムとyヒストグラムを計算し、それらの内容の解析を行うことによって顔座標を決定する。
【0028】
ステップ207では、各解像度で計算された顔領域の座標の中央値(median)が求められ、最終的な顔領域の座標を得る。
【0029】
ステップ208では、上記のように抽出された顔画像を一定のサイズに正規化する。実際の入力データから得られた最終的な動画像の一例を図4に示す。
【0030】
その後、ステップ210では、カメラから次の画像が読み取り、背景画像とのバイナリ差分画像を作成する。
【0031】
ステップ211では、ステップ210で作成した差分画像から人物がカメラの視野からいなくなったかどうかを検出する。この検出により、人物がまだいる場合にはステップ203に戻り、収得した画像を処理する。
【0032】
ステップ212では、人物がカメラの視野からいなくなった場合、その時点までの一連の顔画像の系列を動画像配列として、動画像ファイルに記憶(格納)する。
【0033】
次に、本発明の重要な要素である学習装置2の動作を、図3のフローチャートを用いて以下に説明する。
【0034】
先ず、最初のステップ301では、前段階で(movieファイルとして)得られた動画像配列(顔画像が連なったもので、1つの連続した動画像に対応)をコンピューターのメモリに読み込む。前記のとおり、それぞれの動画像配列に関するカテゴリ情報は事前に与えられていない。例えば、X個の異なった人物に対するN個の動画像配列(N≧X)が与えられるが、どの配列がどの人物に対応するかという情報は予め与えられない。
【0035】
ステップ302では、蓄積された2つの動画像配列間の距離を計算するために、一方の動画像配列のi番目の顔画像と、もう一方の動画像配列に含まれるj番目の顔画像との間で距離値が計算され、行列Dijに納める。そのとき、2枚の顔画像間の距離の計算の仕方としては、さまざまのものが考えられるが、ここではその1例として動画像をピクセル毎に引き算し、絶対値をとり、結果がある閾値より大きければ「1」と見なし、小さければ「0」とする。このように得られたバイナリ画像の中に含まれる「1」の総数を両顔画像の間の距離値として定義される。
【0036】
ステップ303では、行列Dijを用いて各動画像配列と他の全ての配列との間の最短距離を選んで最短距離行列Mに納める。例えば、行列Mの中のMijは配列iと配列jとの間の最短距離を意味している。両動画像配列には多数の顔画像が入っているが、その中の一番近い顔の対を代表として選び、それらの間の距離がMijとなる。
【0037】
ステップ304では、行列Mの値に基づいて多数の初期サブクラスターグラフを形成する。各配列が一点のノードとして表示され、各ノードをそれに一番近いノードだけと(エッジで)結合され、このようにして出来上がった各々のグラフを初期サブクラスターグラフと名付ける。二つのノードをつなぐエッジを2種類定義し、片方はconsistentエッジと呼んで同じカテゴリのノード(動画像配列)をつなぐのに用いて、もう一方はinconsistentエッジと呼んで異なるカテゴリのノードをつなぐのに用いる。但し、ステップ304で形成される初期サブクラスターグラフの中のエッジは全てcosistentエッジである。
【0038】
次のステップ305では、初期サブクラスターをノードの数によってソートし、小さいサブクラスター(含まれるノードの数が少ない)から開始して、他のサブクラスターの内一番近いサブクラスターとエッジでつなげられる。そのときののエッジの種類は後述するルールによって決められる。二つのサブクラスターが結合されると同時に併合され、新しいサブクラスターが生成される。この過程は再帰的に、全てのサブクラスターが一つだけの大きいクラスターに併合されるまで繰り返される。二つのサブクラスターを最短距離エッジ(例えばノードAとノードBの間のエッジ)でつなぐときに、エッジの種類は次のようなルール(consistency基準)で決定される。ノードAとノードBとの間の長さLのエッジがcosistentであるために同時に満たすべき二つの条件を次に示す。
【0039】
条件1「ノードAとconsistentエッジで直接につながっているノードの内、ノードAから最も遠いノード(FN)との間の距離L1がCxLより小さいこと。ただし、ここでCは定数である。」
条件2「ノードBとconsistentエッジで直接につながっているノードの内、ノードBから最も遠いノード(FN)との間の距離L2がCxLより小さいこと。ただし、ここでCは定数である。」
図5は、ノードA、ノードBとそれぞれのFNノードの関係を示した一例である。条件1と条件2を同時に満たさないノードはinconsistentエッジによって結合される。
【0040】
最後のステップ306では、上記の過程によって形成されたグラフをトラバースしながらcosistentエッジでつながっているノードによって表示されている動画像配列を同じ顔カテゴリとして出力する。ここで、incosistentエッジの役割は、異なったカテゴリに属するサブクラスターを分離することである。図6は、実際の入力データを使用したとき、上記の過程で形成されたグラフの一例を示したものである。図6では、各ノードが一つの動画像配列に相当し、文字は配列に映されている実際の人物名の頭文字であり、番号は配列番号である。実線で表示されているエッジがconsistentエッジであり、点線はinconsistentエッジを表し、数字はエッジの長さ(2つのノードの間の最短距離)を表している。
【0041】
このグラフはシステムの現在の内部状態を表し、認識過程ではその内部状態を一時的に固定したままで入力に相当するノードをステップ305で説明したcosistency基準に基づいて、consistent/inconsistentエッジで内部状態グラフと結合し、そのエッジがcosistentエッジの場合、入力のカテゴリがエッジの他方にあるノードと同じカテゴリであると見なす。一方、incosistentエッジの場合、新しい(まだ登録されていない)カテゴリに属することとなる。
【0042】
追加学習は下記のアルゴリズムによって行われる。但し、システムの現在の内部状態がN個のノードから構成されたグラフによって表現されると仮定し、以下では、図7に示す内部状態で入力されるN+1個目のノードに対して追加学習を行うこととする。
【0043】
ステップ1:新しく入力されたノードに対して、行列Mで新しい(N+1)個目の列を計算し追加する。
【0044】
ステップ2:新しいノードの最も近いノードkを見つけて、前述のconsistency基準に基づいていて両ノードをcosistent/inconsistentエッジでつなぐ。inconsistentエッジの場合、ステップ4に進む。
【0045】
ステップ3:ノードkと同じクラスターに属する全てのノードlに対して、ノードlと新しいノードとの間の距離D1、そしてノードlとそれから最も近いノードnとの間の距離D2を計算する。もし、D1<D2であれば、ノードlと新しいノードをconsistentエッジでつなぐ。その後、ノードlと直接cosistentエッジでつながっているすべてのノードmに対して(ノードnも含めて)、lとmとの間の距離D(l,m)とmと新しいノードとの間の距離D(N+1,m)を計算し、D(l,m)<D(N+1,m)であれば、mとlとの間のエッジを削除し、mと新しいノードとの間に新しいエッジ(もしそんなエッジがまだ存在しなければ)を入れる。
【0046】
ステップ4:新しいノードが属するクラスターCk(図8参照)と、inconsistentエッジEikによってつながっているクラスターCi(そういうクラスターが存在すれば)のすべてのノードPiに対して、新しいノードとの間の距離D(Pi,N+1)を計算し、D(Pi,N+1)<Eikであれば、Eikを削除し、Piと新しいノードとの間に新しいエッジEikを挿入する(そのエッジの種類をcosistency基準に基づいて決める)。その後、inconsistentエッジEijでつながっているクラスターCiとCjが存在したら(但し、CiがCkとつながってもいいが、CjはCkとはつながっていない場合に限る)、クラスターCjに属するすべてのノードPjに対して、新しいノードとの間の距離D(Pj,N+1)を計算し、D(Pi,N+1)<Eijが満たされば、Eijを削除し、Pjと新しいノードの間に新しいエッジEjkを入れる(そのエッジの種類をconsistency基準に基づいて決める)。しかし、CiがCkにつながっていなければ、この操作をCiまたはCjが他のクラスターから切断されない場合に限って行う。
【0047】
上述の追加学習法は、最初の段階である程度データが集まってから学習を行い、その後、追加学習を行う仕組みになっているが、最初から逐次的に学習を行うこと(所謂オンライン学習)も考えられる。オンラインバージョンの場合、最初は2つのノードだけが与えられ、それらがいくら離れていてもconsistentエッジでつなぎ、その後、新しく入力されるノードが上記の追加学習法に基づいてグラフに挿入される。ある程度データが集まってから定期的に全てのノードに対してconsistencyチェックを行い、consistency基準を満たさないノードの間のエッジをinconsistentエッジに置き換える。
【0048】
提案する学習法の特徴としては、追加学習の場合システムの内部状態を最初から再学習する必要がなく、新しい部分だけに関連ある結合が更新・追加され、関連のない部分がそのままに残る。これによって、生物などが行うような自然な追加学習が実現できるだけではなく、莫大な計算量の節約も可能である。特に、実環境では、システムの内部状態が長時間のデータに基づいて形成されるので、本方法の利用が有利である。
【0049】
なお、上記の実施形態における学習装置2は、例えば図6の状態で新たな対象情報が入力されたときに、そのカテゴリ分けには全てのノードとの比較を行うことで対象情報のグラフでの位置を自動計算によって決定する場合を示すが、入力される対象情報があらかじめどのカテゴリに含まれるかの情報を人手で一部与えることにより、学習をより正確にすることができる。例えば、与えられた対象情報がFで表されているカテゴリである場合には、自動的なカテゴリ分けをすることなく、直接に図6におけるF1〜F6のノードとの間の距離を計算し、正確なグラフ位置を決定することができる。
【0050】
また、consistent/inconsistentエッジを用いてサブクラスタを結合するにおいて、自動学習によるカテゴリ情報または人手で与えるカテゴリ情報を基にconsistent/inconsistentエッジを変更するステップを追加することにより、生成されたカテゴリを示すグラフが間違って繋がれた場合にその修正が可能となる。
【0051】
また、以上までの説明では顔画像を対象とする場合を示すが、本発明はそれ以外の対象物体についても同様な処理が可能である。
【0052】
また、図2及び図3に示した方法又は図1に示した装置の一部又は全部をコンピュータプログラムで記載してそれを実行できるようにし、それをコンピュータが読み取り可能な記録媒体、例えば、フロッピーディスク(登録商標)や、MO、ROM、メモリカード、CD、DVD、リムーバブルディスクなどに記録して提供し、配布することが可能である。
【0053】
【発明の効果】
以上説明したように、本発明によれば以下の効果が得られる。
【0054】
(1)実環境条件下で、人間によって事前に用意された情報を用いずに、コンピューターが自律的に長時間の連続データを自分のタスクの目的に応じて自己組織化的に学習し、認識することが可能になる。
【0055】
(2)入力データから連続的に抽出される動画像の顔画像1枚1枚をテンプレートとして使用することによって、照明条件、サイズや視点角度の変動の影響が受けにくくなるので、学習/認識過程の効率を向上させることができる。
【0056】
(3)学習途中で新しいカテゴリのデータが与えられた場合、システムを最初から再学習する必要がなく、柔軟性のある自然な追加学習や認識が可能になる。
【0057】
(4)本発明の学習方法を利用することにより、クラス内のサンプルデータが連続的に分布し、クラス間の距離がクラス内の距離より大きい場合でも認識が可能である。
【0058】
(5)データ収集、格納、顔領域抽出、学習、認識の全ての過程が自動的に行われるため、人手による作業を大幅に節約できる。
【0059】
(6)本発明の学習法の特徴としては、各顔カテゴリのサンプル数が極端に異なっても問題にはならない。つまり、本発明方法はサンプルの分布の形には依存しないという利点がある。
【0060】
(7)本発明の学習方法を用いて物体認識で使用されるさまざまな特徴の評価を行うことができる。
【図面の簡単な説明】
【図1】本発明の構成例を示すフロック図。
【図2】本発明の顔領域抽出法を説明するためのフローチャート。
【図3】本発明の学習方法を説明するためのフローチャート。
【図4】カメラから入力される画像配列から抽出された顔画像配列の例
【図5】cosistency基準を説明するための補助図。
【図6】本発明の学習法によって形成されたシステムの内部状態の一例。
【図7】本発明における追加学習法(ステップ1〜3)を説明するための補助図。
【図8】本発明における追加学習法(ステップ4)を説明するための補助図。
【符号の説明】
1…顔領域抽出装置(ユニット1)
2…学習装置(ユニット2)
3…認識装置(ユニット3)
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a learning technique for moving image recognition such as a human face moving image, and in particular, under real environment conditions, continuous video data over a long period of time without prior information on a category (person name) is provided. The present invention relates to a method for learning images in a self-organizing manner.
[0002]
[Prior art]
A face image recognition will be described as an example. Face image recognition is realized by pattern matching (calculation of distance value or similarity) between a face image model created in the learning stage and an unknown input face image.
[0003]
In the learning in the conventional face recognition method, a method is adopted in which learning is advanced from a small number of face images that are photographed under limited environmental conditions and are manually assigned a category such as a person's name.
[0004]
However, since this approach requires manual data preparation, it is difficult to use a large amount of face data for learning.
[0005]
When face recognition is performed in this environment using this approach, since only a limited number of face images can be used for learning, various variations that occur in the actual environment (for example, variations in lighting conditions, camera (viewpoint) It is difficult to accumulate sufficient learning data to simply cope with fluctuations in the angle and distance of the face with respect to), fluctuations in face shape due to facial expressions, glasses, hairstyles, and the like.
[0006]
Conventionally, in order to cope with this, pre-processing has been devised and features have been devised, but sufficient accuracy has not been obtained. In other words, the conventional face recognition has not been provided with the flexibility to cope with a real environment rich in complicated changes.
[0007]
On the other hand, in the case of human face recognition, when the learning system is operating at any time and new data is input, the internal state of the system can be updated and a new category can be added at any time without prior information.
[0008]
[Problems to be solved by the invention]
As described above, the recognition method based on pattern matching between a face image model and an unknown input face image requires manual data preparation work, and it is difficult to use a large amount of face data for learning. In addition, it is difficult to accumulate sufficient learning data and to obtain sufficient accuracy.
[0009]
In the present invention, without using information prepared in advance by humans, a computer autonomously learns long-term continuous data in a real environment in a self-organizing manner according to the purpose of its own task. We propose a way to add new categories naturally. In other words, an object of the present invention is to propose a method for additionally learning various variations included in long-term environmental video data without human intervention without a teacher.
[0010]
Another object of the present invention is to propose a learning method in which all the processes (data collection, storage, face area extraction, learning, recognition) are automatically performed and no manual work is required.
[0011]
[Means for Solving the Problems]
In order to achieve the above-mentioned object, the present invention automatically extracts moving objects appearing in the environment video data for a long time and uses the information of a plurality of extracted moving objects. By automatically associating, moving objects are automatically classified into categories without artificially assigning categories. In addition, when categorizing, it is possible to manually categorize only a part of video data in which the target information is included, and features the following learning method and recording medium. And
[0012]
(Invention of learning method)
In a moving image learning method that automatically learns a target object that moves in an image from a continuously captured environment image data without a teacher,
Shooting data for which the target object category information is not given in advance,
Cutting out a moving image of the target object in time and space to create a moving image array;
Calculating a distance between moving image sequences based on a distance between images included in the moving image sequence among all combinations of the moving image sequences;
Forming an initial sub-cluster using a distance between the video sequences;
combining all sub-clusters using consistent / inconsistent edges;
Creating a moving image dictionary for each of the combined categories;
It is comprised from these.
[0013]
Further, the method includes a step of providing prior information for categorization with respect to a part of the clipped moving image.
[0014]
In addition, in the step of combining all sag clusters using the consistent / inconsistent edge, the method includes a step of providing category information and a step of changing the consistent / inconsistent edge based on the given category information. And
[0015]
(Invention of recording medium)
A program for causing a computer to execute a moving image learning method for automatically learning an object moving in an image from a continuously captured environment image data without a teacher on a computer-readable recording medium A recorded recording medium,
Between the process of photographing data for which category information of the target object is not given in advance, the process of cutting out the moving image of the target object in time and space, and creating the moving image array, and between the moving image arrays of all combinations A process of calculating a distance between moving image arrays based on a distance between images included in the moving image array, a process of forming an initial sub-cluster using the distance between the moving image arrays, and consistent / inconsistent The process of combining all sub-clusters using edges and the process of creating a moving image dictionary for each of the combined categories are recorded by a program.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a block diagram showing an embodiment of the present invention. In the present embodiment, it is composed of three units, a face area extraction device (unit 1), a learning device (unit 2), and a recognition device (unit 3).
[0017]
The face area extraction apparatus 1 automatically extracts a face area of a person who appears in long-term continuous environmental video data, normalizes the size thereof, and a series of faces from when a person appears in the image until disappearance An image series (this is called a moving image array) is created, stored in a file, and input information is provided to the learning / recognition apparatuses 2 and 3 in the subsequent stage.
[0018]
The learning device 2 uses a learning algorithm described later to organize a large number of moving image arrays that do not include prior category information for each category. According to the result, the internal state of the system is also appropriately updated. Here, the internal state refers to an expression indicating which and which belong to the same category among moving image arrays.
[0019]
The recognizing device 3 recognizes a face based on a comparison between the latest moving image dictionary (registered moving image array) of the system and input data to be recognized (moving image array cut out from the input moving image by the face area extracting device). Recognize and output the recognition result.
[0020]
First, an example of a face area extracting apparatus as a preparation stage for learning and recognition will be described with reference to the flowchart of FIG.
[0021]
In step 201, environmental video data is continuously input from a fixed camera, but two adjacent images are subtracted and a threshold value is taken to create a binary difference image.
[0022]
In step 202, it is determined from the created difference image whether the observed environment has changed. If there is no change corresponding to the appearance of a person, steps 201 and 202 are repeated until there is a change, but if there is a change, the process proceeds to step 203.
[0023]
In step 203, a multi-resolution image pyramid is created while repeating subsampling from the binary difference image created in the previous step. Subsampling replaces each 2 × 2 pixel region of the original image with a “1” or “0” value pixel (based on the number of “1” s in the region). By using a multi-resolution image, the coordinates of the face area can be calculated more stably and accurately. That is, since a low-resolution image is hardly affected by noise, the face area can be determined relatively stably, but it is not accurate. Conversely, the face area can be accurately determined from a high-resolution image, but it is susceptible to noise. The face area extraction algorithm described below is performed in parallel on each resolution image and is integrated in step 207 as will be described later.
[0024]
In the next step 204, the following filter is applied to all images in order to fill “holes” of “0” value formed in the person area due to the influence of noise due to fluctuations in lighting conditions, clothing texture, and the like. Multiply.
[0025]
If a window of 3x3 pixels is moved through the image in one pixel step, and there are pixels of value "1" in at least two different rows and two different columns in the window at the same time, Replace the pixel at the center with “1”. This operation is performed several times (or until there is no change) in the left / right, right / left, up / down, and down / up directions.
[0026]
In the next step 205, the center of gravity of the image created in the previous stage and the x histogram (a function representing the number of “1” s included in each column of the image) are calculated, and 90% of the total energy of the x histogram is calculated from the center of gravity. An area including% is cut out as a person area. In other words, it is assumed that the area of the person is much larger than the area of other objects moving in the background, shadows, noise, and the like.
[0027]
In step 206, an x histogram and a y histogram are newly calculated on the person region extracted in step 205, and the contents are analyzed to determine the face coordinates.
[0028]
In step 207, the median of the face area coordinates calculated at each resolution is obtained to obtain the final face area coordinates.
[0029]
In step 208, the face image extracted as described above is normalized to a certain size. An example of a final moving image obtained from actual input data is shown in FIG.
[0030]
Thereafter, in step 210, the next image is read from the camera, and a binary difference image with the background image is created.
[0031]
In step 211, it is detected from the difference image created in step 210 whether or not the person is out of the field of view of the camera. If there is still a person due to this detection, the process returns to step 203 to process the acquired image.
[0032]
In step 212, when the person is no longer in the field of view of the camera, a series of face images up to that point is stored (stored) in the moving image file as a moving image array.
[0033]
Next, operation | movement of the learning apparatus 2 which is an important element of this invention is demonstrated below using the flowchart of FIG.
[0034]
First, in the first step 301, the moving image array (as a movie file) obtained in the previous stage (a series of face images and corresponding to one continuous moving image) is read into the memory of the computer. As described above, the category information regarding each moving image array is not given in advance. For example, N moving image arrays (N ≧ X) for X different persons are given, but information on which array corresponds to which person is not given in advance.
[0035]
In step 302, in order to calculate the distance between the two stored moving image arrays, the i-th facial image of one moving image array and the j-th facial image included in the other moving image array are calculated. Distance values are calculated between them and stored in the matrix D ij . At that time, there are various methods for calculating the distance between the two face images. Here, as an example, a moving image is subtracted for each pixel, an absolute value is obtained, and a threshold value is obtained. If it is larger, “1” is assumed, and if it is smaller, “0” is assumed. The total number of “1” included in the binary image thus obtained is defined as a distance value between both face images.
[0036]
In step 303, the shortest distance between each moving image array and all other arrays is selected using the matrix Dij and stored in the shortest distance matrix M. For example, M ij in the matrix M means the shortest distance between the array i and the array j. A large number of face images are included in both moving image arrays, and the closest face pair among them is selected as a representative, and the distance between them is M ij .
[0037]
In step 304, a number of initial subcluster graphs are formed based on the values of the matrix M. Each array is displayed as a single node, and each node is combined with only the closest node (by an edge), and each graph thus created is named an initial subcluster graph. Two types of edges that connect two nodes are defined, one is called a consistent edge and used to connect nodes of the same category (moving image array), and the other is called an inconsistent edge and connected to nodes of different categories. Used for. However, all edges in the initial subcluster graph formed in step 304 are cosistive edges.
[0038]
In the next step 305, the initial subclusters are sorted by the number of nodes, starting with a small subcluster (small number of nodes included) and linking with the closest subcluster of the other subclusters at the edge. . The type of edge at that time is determined by a rule described later. Two subclusters are merged and merged simultaneously to create a new subcluster. This process is recursively repeated until all sub-clusters are merged into only one large cluster. When two subclusters are connected by the shortest distance edge (for example, the edge between node A and node B), the type of edge is determined by the following rule (consistency criterion). Since the edge of length L between node A and node B is consistent, two conditions that must be satisfied simultaneously are shown below.
[0039]
Condition 1 “The distance L1 between the node A and the node (FN) farthest from the node A among the nodes directly connected to the node A by the consistent edge is smaller than CxL, where C is a constant.”
Condition 2 “The distance L2 between the node (FN) farthest from the node B among the nodes directly connected to the node B at the consistent edge is smaller than CxL, where C is a constant.”
FIG. 5 is an example showing the relationship between the node A and the node B and the respective FN nodes. Nodes that do not satisfy condition 1 and condition 2 at the same time are connected by an inconsistent edge.
[0040]
In the last step 306, while traversing the graph formed by the above process, the moving image sequence displayed by the nodes connected by the consistent edge is output as the same face category. Here, the role of the inconsistent edge is to separate sub-clusters belonging to different categories. FIG. 6 shows an example of a graph formed in the above process when actual input data is used. In FIG. 6, each node corresponds to one moving image array, characters are initial letters of actual person names shown in the array, and numbers are array numbers. An edge displayed by a solid line is a consistent edge, a dotted line represents an inconsistent edge, and a number represents the length of the edge (the shortest distance between two nodes).
[0041]
This graph shows the current internal state of the system. In the recognition process, the internal state is temporarily fixed, and the node corresponding to the input is determined based on the consistency criterion described in step 305 and the internal state at the consistent / inconsistent edge. If it is combined with the graph and its edge is a cosient edge, then it is assumed that the category of the input is the same category as the node on the other side of the edge. On the other hand, an incoincid edge belongs to a new category (not yet registered).
[0042]
Additional learning is performed by the following algorithm. However, assuming that the current internal state of the system is expressed by a graph composed of N nodes, in the following, additional learning is performed on the N + 1th node input in the internal state shown in FIG. I will do it.
[0043]
Step 1: A new (N + 1) th column is calculated and added in the matrix M for the newly input node.
[0044]
Step 2: Find the closest node k of the new node and connect both nodes with a consistent / inconsistent edge based on the above consistency criteria. If it is an inconsistent edge, go to step 4.
[0045]
Step 3: For all nodes l belonging to the same cluster as node k, calculate the distance D 1 between node l and the new node, and the distance D 2 between node l and the nearest node n. . If D1 <D2, node 1 and the new node are connected by a consistent edge. Then, for all nodes m that are directly connected to node l by the cosistive edge (including node n), the distance D (l, m) between l and m and the distance between m and the new node Calculate the distance D (N + 1, m), and if D (l, m) <D (N + 1, m), delete the edge between m and l and a new edge between m and the new node (If there is no such edge yet).
[0046]
Step 4: For all nodes P i in the cluster C k (see FIG. 8) to which the new node belongs and the cluster C i connected by the inconsistent edge E ik (if such a cluster exists), the new node distance D (P i, N + 1 ) between the calculated, if D (P i, N + 1 ) <E ik, delete the E ik, to insert a new edge E ik between the new node and P i (The edge type is determined based on the consistency criterion). Then, inconsistent Once the cluster C i and C j which is connected at the edge E ij is present (However, although C i are good to connect with C k, C j is only if you have not connected the C k), cluster For all the nodes P j belonging to C j , the distance D (P j , N + 1) to the new node is calculated, and if D (P i , N + 1) <E ij is satisfied, E ij is deleted Then, a new edge E jk is inserted between P j and the new node (the edge type is determined based on the consistency criterion). However, if C i is not connected to C k , this operation is performed only when C i or C j is not disconnected from other clusters.
[0047]
The above-described additional learning method has a mechanism in which data is collected to some extent at the initial stage, and then additional learning is performed. However, sequential learning from the beginning (so-called online learning) is also considered. It is done. In the online version, initially only two nodes are given, no matter how far apart they are connected by a consistent edge, and then a newly entered node is inserted into the graph based on the above additional learning method. After a certain amount of data is collected, consistency check is periodically performed on all nodes, and edges between nodes that do not satisfy the consistency criterion are replaced with inconsistent edges.
[0048]
As a feature of the proposed learning method, in the case of additional learning, it is not necessary to re-learn the internal state of the system from the beginning, and a connection related to only a new part is updated and added, and an unrelated part remains as it is. As a result, not only natural additional learning that a living creature or the like performs can be realized, but also a huge amount of calculation can be saved. In particular, in an actual environment, since the internal state of the system is formed based on long-time data, it is advantageous to use this method.
[0049]
In addition, the learning apparatus 2 in the above embodiment, for example, when new target information is input in the state of FIG. 6, categorizing the target information in a graph of the target information by comparing with all nodes. shows the case of determining by automatically calculating the position, whether the information object information input is included in any category in advance by giving some manually, can be learned more accurate. For example, when the given target information is a category represented by F, the distance between the nodes F1 to F6 in FIG. 6 is directly calculated without automatic categorization, The exact graph position can be determined.
[0050]
In addition, when sub-clusters are combined using a consistent / inconsistent edge, a step of changing the consistent / inconsistent edge based on category information by automatic learning or category information given manually is shown to indicate the generated category. If the graph is connected by mistake, it can be corrected.
[0051]
Further, the above description shows a case where a face image is a target, but the present invention can perform the same processing for other target objects.
[0052]
Also, a part or all of the method shown in FIG. 2 and FIG. 3 or the apparatus shown in FIG. 1 is written in a computer program so that the computer program can be executed. It can be recorded and provided on a disk (registered trademark), MO, ROM, memory card, CD, DVD, removable disk, and distributed.
[0053]
【The invention's effect】
As described above, according to the present invention, the following effects can be obtained.
[0054]
(1) Under real-world conditions, the computer autonomously learns and recognizes long-term continuous data according to the purpose of its task without using information prepared in advance by humans. It becomes possible to do.
[0055]
(2) Since each face image of a moving image extracted continuously from input data is used as a template, it is less susceptible to variations in illumination conditions, size, and viewpoint angle, so the learning / recognition process Efficiency can be improved.
[0056]
(3) When new category data is given in the middle of learning, it is not necessary to re-learn the system from the beginning, and flexible additional natural learning and recognition are possible.
[0057]
(4) By using the learning method of the present invention, it is possible to recognize even when sample data in a class is continuously distributed and the distance between classes is larger than the distance in the class.
[0058]
(5) Since all the processes of data collection, storage, face area extraction, learning, and recognition are automatically performed, it is possible to save a lot of manual work.
[0059]
(6) As a feature of the learning method of the present invention, there is no problem even if the number of samples of each face category is extremely different. In other words, the method of the present invention has the advantage that it does not depend on the shape of the sample distribution.
[0060]
(7) Various features used in object recognition can be evaluated using the learning method of the present invention.
[Brief description of the drawings]
FIG. 1 is a flock diagram illustrating a configuration example of the present invention.
FIG. 2 is a flowchart for explaining a face area extraction method according to the present invention;
FIG. 3 is a flowchart for explaining the learning method of the present invention.
FIG. 4 is an example of a face image array extracted from an image array input from a camera. FIG. 5 is an auxiliary diagram for explaining consistency standards.
FIG. 6 shows an example of an internal state of a system formed by the learning method of the present invention.
FIG. 7 is an auxiliary diagram for explaining an additional learning method (steps 1 to 3) in the present invention.
FIG. 8 is an auxiliary diagram for explaining an additional learning method (step 4) in the present invention.
[Explanation of symbols]
1. Face area extraction device (unit 1)
2 ... Learning device (unit 2)
3. Recognition device (unit 3)

Claims (4)

連続的に撮影した環境映像データから、映像内で移動する対象物体を教師なしで自動的に学習する動画像学習方法において、
事前に対象物体のカテゴリ情報が与えられていないデータを撮影する段階と、
前記対象物体の動画像を時空間的に切り出し動画像配列を作成する段階と、
全ての組み合わせの前記動画像配列間で動画像配列の中に含まれる画像間の距離をもとに動画像配列間の距離を計算する段階と、
前記動画像配列間の距離を用いて初期サブクラスタを形成する段階と、
consistent/inconsistentエッジを用いて全てのサブクラスタを結合する段階と、
前記結合された各カテゴリー毎の動画像辞書を作成する段階と、
から構成されることを特徴とする動画像学習方法。
In a moving image learning method that automatically learns a target object that moves in an image from a continuously captured environment image data without a teacher,
Shooting data for which the target object category information is not given in advance,
Cutting out a moving image of the target object in time and space to create a moving image array;
Calculating a distance between moving image sequences based on a distance between images included in the moving image sequence among all combinations of the moving image sequences;
Forming an initial sub-cluster using a distance between the video sequences;
combining all sub-clusters using consistent / inconsistent edges;
Creating a moving image dictionary for each of the combined categories;
A moving image learning method comprising:
前記切り出した動画像の一部に関してカテゴリ分けの事前情報を与える段階を備えたことを特徴とする請求項1記載の動画像学習方法。  The moving image learning method according to claim 1, further comprising a step of giving prior information for categorization with respect to a part of the cut out moving image. 前記consistent/inconsistentエッジを用いて全てのサグクラスタを結合する段階で、カテゴリ情報を与える段階と、与えられたカテゴリ情報を基に前記consistent/inconsistentエッジを変更する段階とを備えたことを特徴とする請求項1または2記載の動画像学習方法。  The step of combining all sag clusters using the consistent / inconsistent edge comprises providing category information and changing the consistent / inconsistent edge based on the given category information. The moving image learning method according to claim 1 or 2. 連続的に撮影した環境映像データから、映像内で移動する対象物体を教師なしで自動的に学習する動画像学習方法を、コンピュータに実行させるためのプログラムを、該コンピュータが読み取り可能な記録媒体に記録した記録媒体であって、
事前に対象物体のカテゴリ情報が与えられていないデータを撮影する過程と、前記対象物体の動画像を時空間的に切り出し動画像配列を作成する過程と、全ての組み合わせの前記動画像配列間で動画像配列の中に含まれる画像間の距離をもとに動画像配列間の距離を計算する過程と、前記動画像配列間の距離を用いて初期サブクラスタを形成する過程と、consistent/inconsistentエッジを用いて全てのサブクラスタを結合する過程と、前記結合された各カテゴリー毎の動画像辞書を作成する過程と、
をプログラムで記録したことを特徴とする記録媒体。
A program for causing a computer to execute a moving image learning method for automatically learning an object moving in an image from a continuously captured environment image data without a teacher on a computer-readable recording medium A recorded recording medium,
Between the process of photographing data for which category information of the target object is not given in advance, the process of cutting out the moving image of the target object in time and space, and creating the moving image array, and between the moving image arrays of all combinations A process of calculating a distance between moving image arrays based on a distance between images included in the moving image array, a process of forming an initial sub-cluster using the distance between the moving image arrays, and consistent / inconsistent Combining all sub-clusters using edges, creating a moving image dictionary for each of the combined categories,
A recording medium characterized by recording the program by a program.
JP2000338629A 2000-11-07 2000-11-07 Moving image learning method and recording medium recording this program Expired - Fee Related JP3639520B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000338629A JP3639520B2 (en) 2000-11-07 2000-11-07 Moving image learning method and recording medium recording this program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000338629A JP3639520B2 (en) 2000-11-07 2000-11-07 Moving image learning method and recording medium recording this program

Publications (2)

Publication Number Publication Date
JP2002150297A JP2002150297A (en) 2002-05-24
JP3639520B2 true JP3639520B2 (en) 2005-04-20

Family

ID=18813810

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000338629A Expired - Fee Related JP3639520B2 (en) 2000-11-07 2000-11-07 Moving image learning method and recording medium recording this program

Country Status (1)

Country Link
JP (1) JP3639520B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006068223A1 (en) * 2004-12-24 2006-06-29 National University Corporation Yokohama National University Image processor
JP5241687B2 (en) * 2009-10-30 2013-07-17 三菱電機株式会社 Object detection apparatus and object detection program

Also Published As

Publication number Publication date
JP2002150297A (en) 2002-05-24

Similar Documents

Publication Publication Date Title
WO2022000426A1 (en) Method and system for segmenting moving target on basis of twin deep neural network
CN109697434B (en) Behavior recognition method and device and storage medium
CN108830855B (en) Full convolution network semantic segmentation method based on multi-scale low-level feature fusion
CN110263659B (en) Finger vein recognition method and system based on triplet loss and lightweight network
CN111814661B (en) Human body behavior recognition method based on residual error-circulating neural network
CN109145717B (en) Face recognition method for online learning
CN112437926B (en) Fast robust friction ridge patch detail extraction using feedforward convolutional neural network
Markou et al. A neural network-based novelty detector for image sequence analysis
CN110555481A (en) Portrait style identification method and device and computer readable storage medium
CN109766873B (en) Pedestrian re-identification method based on hybrid deformable convolution
CN106408037A (en) Image recognition method and apparatus
CN109063626B (en) Dynamic face recognition method and device
Chandran et al. Missing child identification system using deep learning and multiclass SVM
Wan et al. Generative adversarial multi-task learning for face sketch synthesis and recognition
JP6639743B1 (en) Search system, search method, and program
CN113297956B (en) Gesture recognition method and system based on vision
JP6764992B2 (en) Search system, search method, and program
CN113989556A (en) Small sample medical image classification method and system
CN115497124A (en) Identity recognition method and device and storage medium
CN112883827B (en) Method and device for identifying specified target in image, electronic equipment and storage medium
CN110688512A (en) Pedestrian image search algorithm based on PTGAN region gap and depth neural network
CN109508660A (en) A kind of AU detection method based on video
CN113807237A (en) Training of in vivo detection model, in vivo detection method, computer device, and medium
JP6637221B1 (en) Search system, search method, and program
JP3639520B2 (en) Moving image learning method and recording medium recording this program

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041217

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: 20050111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050114

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080121

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090121

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090121

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100121

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110121

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110121

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120121

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130121

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees