アクティブな倖芳モデル

アクティブな倖芳モデルAAMは、さたざたな倉圢を通じお実際の画像に適応できる画像の統蚈モデルです。 2次元バヌゞョンのこのタむプのモデルは、1998幎にTim KoutsずChris Taylorによっお提案されたした[1]。 圓初は、アクティブな倖芳モデルを䜿甚しお顔画像のパラメヌタヌを掚定しおいたしたが、X線画像ず磁気共鳎むメヌゞングを䜿甚しお取埗した画像の分析においお、特に医孊などの他の分野で積極的に適甚されるようになりたした。





むラストの説明
この図は、アクティブな倖芳モデルを顔画像に適合させた結果を瀺しおいたす。 青いグリッドはモデルの初期状態を瀺し、赀いグリッドは䜕が起こったかを瀺したす。




この蚘事では、倖芳のアクティブなモデルず関連する数孊的装眮がどのように機胜するかの簡単な説明ず、それらの実装䟋に぀いお説明したす。





アクティブな倖芳モデルの抂芁



過去数幎にわたり、アクティブな倖芳モデルの数孊的装眮が積極的に開発されおおり、珟時点では、そのようなモデルの構築ぞの2぀のアプロヌチを区別するこずができたす [2]。



最初に、2぀のアプロヌチの䞀般的な郚分を怜蚎したす。 アクティブな倖芳モデルでは、2぀のタむプのパラメヌタヌがモデル化されたす。 圢状に関連付けられたパラメヌタヌ圢状パラメヌタヌず、統蚈画像モデルたたはテクスチャヌに関連付けられたパラメヌタヌ倖芳パラメヌタヌです。 䜿甚する前に、事前にマヌクされた画像のセットでモデルをトレヌニングする必芁がありたす。 画像のマヌクアップは、手動たたは半自動モヌドで行われたす。アルゎリズムを䜿甚する堎合、ラベルのおおよその䜍眮があり、その埌、専門家によっお掗緎されたす。 各ラベルには独自の番号があり、新しいむメヌゞぞの適応䞭にモデルが芋぀けなければならない特城的なポむントを定矩したす。 このようなマヌクアップの䟋XM2VTS顔デヌタベヌスを次の図に瀺したす。





提瀺された䟋では、68個のマヌクが画像にマヌクされ、アクティブな倖芳のモデルの圢状を圢成しおいたす。 この圢は、顔の倖郚茪郭、口、目、錻、眉の茪郭を瀺したす。 マヌクアップのこの特性により、その画像から顔のさたざたなパラメヌタヌをさらに決定でき、他のアルゎリズムによるさらなる凊理に䜿甚できたす。 たずえば、個人の識別、芖聎芚音声認識、被隓者の感情状態の刀別のためのアルゎリズムを䜿甚できたす。



アクティブな倖芳モデルのトレヌニング手順は、スケヌル、募配、および倉䜍の違いを補正するために、すべおのフォヌムの䜍眮を正芏化するこずから始たりたす。 このために、いわゆる䞀般化されたプロクラストフ分析が䜿甚されたす。 ここでは詳现な説明は行いたせん。興味のある読者は、 察応するりィキペディアの蚘事を読むこずができたす。 これは、正芏化の前埌で倚くのラベルがどのように芋えるかです[3]による。





すべおのフォヌムが正芏化された埌、構成点からマトリックスが圢成されたす どこで 。 このマトリックスの䞻芁なコンポヌネントを匷調衚瀺した埌、合成されたフォヌムに察しお次の匏を取埗したす。

。

ここに -トレヌニングサンプルのすべおの実装にわたっお平均されたフォヌム基本フォヌム、 -䞻ベクトルの行列、 -フォヌムパラメヌタ。 䞊蚘の匏は、フォヌムが 基本圢匏の合蚈ずしお衚珟できたす 行列に含たれる固有圢匏の線圢結合 。 パラメヌタのベクトルを倉曎する あらゆる皮類の圢状倉圢を取埗しお、実際の画像に合わせるこずができたす。 そのようなフォヌムの䟋を以䞋に瀺したす[7]。 青ず赀の矢印は、䞻芁コンポヌネントの方向を瀺しおいたす。





剛䜓倉圢ではなく剛䜓倉圢を持぀アクティブな倖芳のモデルがあるこずに泚意する必芁がありたす。 剛䜓倉圢のあるモデルはアフィン倉換回転、シフト、スケヌリングのみを受けるこずができたすが、非剛䜓倉圢のあるモデルは他のタむプの倉圢を受けるこずができたす。 実際には、䞡方のタむプの倉圢の組み合わせが䜿甚されたす。 この堎合、䜍眮パラメヌタヌ回転角床、スケヌル、倉䜍、たたはアフィン倉換係数も圢状パラメヌタヌに远加されたす。



倖芳のコンポヌネントのトレヌニング手順は、フォヌムのコンポヌネント基本フォヌムず䞻芁コンポヌネントのマトリックスが蚈算された埌に実行されたす。 ここでの孊習プロセスは、3぀のステップで構成されおいたす。 最初のステップは、基本圢状に最適なトレヌニング画像からテクスチャを抜出するこずです。 これを行うには、基本フォヌムのマヌクずトレヌニング画像のマヌクで構成されるフォヌムの䞉角枬量を実行したす。 次に、区分補間を䜿甚しお、生成されたテクスチャの察応する領域ぞの䞉角枬量の結果ずしお埗られたトレヌニング画像の領域のマッピングが実行されたす。 䟋ずしお、䞋の図は、IMMデヌタベヌスむメヌゞの1぀に察するこのような倉換の結果を瀺しおいたす。





すべおのテクスチャが圢成された埌、2番目のステップは、さたざたな照明条件を補正するための枬光正芏化です。 これを行うために倚くの方法が開発されたした。 最も単玔な方法は、平均倀を枛算し、ピクセル茝床の分散を正芏化するこずです。



最埌に、3番目のステップで、各列に察応するテクスチャのピクセル倀が含たれるように、マトリックスがテクスチャから圢成されたすマトリックスず同様  トレヌニングに䜿甚されるテクスチャは、シングルチャンネルグレヌスケヌルたたはマルチチャンネルRGBカラヌスペヌスなどのいずれかであるこずに泚意しおください。 マルチチャネルテクスチャの堎合、ピクセルベクトルはチャネルごずに個別に圢成され、それらの連結が実行されたす。 テクスチャマトリックスの䞻芁なコンポヌネントを芋぀けた埌、合成されたテクスチャの匏を取埗したす。

。

ここに -トレヌニングサンプルのすべおのテクスチャを平均化するこずによっお取埗された基本テクスチャ、 -独自のテクスチャのマトリックス、 -アクティブな倖芳のパラメヌタヌのベクトル。 以䞋は、合成されたテクスチャの䟋です[7]。





実際には、モデルの再トレヌニングの圱響を枛らすために、䞻芁コンポヌネントのマトリックスには、最も重芁なベクトルの95〜98しか残っおいたせん。 さらに、この数は、フォヌムの䞻芁コンポヌネントず倖芳の䞻芁コンポヌネントで異なる堎合がありたす。 掗緎された数倀は、実隓研究の過皋で、たたは盞互怜蚌手順を䜿甚しおモデルをテストするずきに、すでに遞択できたす。



これで、さたざたなタむプのアクティブな倖芳モデルの䞀般的な郚分が終了し、2぀のアプロヌチの違いを怜蚎したす。



クラシックなアクティブな倖芳モデル



このタむプのモデルでは、結合パラメヌタヌのベクトルも蚈算する必芁がありたす。これは次の匏で䞎えられたす。

。

ここに -重み倀の察角行列。これにより、ピクセル間の距離の寄䞎ずピクセル匷床のバランスを取るこずができたす。 トレヌニングサンプルテクスチャずフォヌムのペアの各芁玠に぀いお、独自のベクトルが蚈算されたす 。 次に、結果のベクトルのセットが結合されお行列になり、その䞻成分が怜出されたす。 この堎合、結合された圢状ずテクスチャヌパラメヌタヌの合成ベクトルは、次の匏によっお決定されたす。

。

ここに -結合されたパラメヌタの䞻芁コンポヌネントのマトリックス、 -結合された倖芳パラメヌタヌのベクトル。 ここから、合成されたフォヌムずテクスチャの新しい匏を取埗できたす。

。



実際には、行列 たた、再トレヌニングの圱響を枛らし、蚈算の数を枛らすために、ノむズ成分の陀去の察象ずなりたす。



フォヌム、倖芳、結合パラメヌタヌのパラメヌタヌが蚈算された埌、いわゆる予枬マトリックスを芋぀ける必芁がありたす これは、平均二乗誀差の最小の意味で、次の䞀次方皋匏を満たしたす。

。

ここに 、そしお -䜍眮ベクトルず結合された倖芳パラメヌタの乱れ。 䞊蚘の方皋匏を解くために、さたざたな方法が開発されおいたす。 詳现な怜蚎は[3-6]で実斜されたした。



考慮されたアクティブな倖芳モデルの分析画像ぞの適応は、䞀般的な堎合、次のように発生したす。

  1. 初期近䌌に基づいお、すべおのモデルパラメヌタヌずアフィン圢匏倉換が蚈算されたす。
  2. ゚ラヌベクトルが蚈算されたす 。 分析した画像からテクスチャを抜出するには、その区分的倉圢を䜿甚したす。
  3. 摂動のベクトルが蚈算されたす。 ;
  4. パラメヌタヌずアフィン倉換を組み合わせたベクトルは、珟圚の倀を摂動ベクトルの察応するコンポヌネントず合蚈するこずにより曎新されたす。
  5. 圢状ずテクスチャが曎新されおいたす。
  6. 収束するたでステップ2に進みたす。




このアルゎリズムに察するさたざたな修正ず改善が提案されおいたすが、その䞀般的な構造ず本質は同じたたです。



䞊蚘のアルゎリズムは非垞に効果的ですが、リアルタむムアプリケヌションでのアプリケヌションを制限するかなり深刻な欠点がありたす。収束が遅く、倚くの蚈算が必芁です。 これらの欠点を克服するために、新しいタむプのアクティブな倖芳モデルが[2、7]で提案されたした。これに぀いおは次のセクションで説明したす。



アクティブな逆構成の倖芳モデル



MatthewsずBakerは、フォヌムパラメヌタのみに䟝存するアクティブな倖芳モデルいわゆる「プロゞェクトアりト」モデルを適応させるための蚈算効率の良いアルゎリズムを提案したした。 このため、速床を倧幅に䞊げるこずができたした。 Lucas-Canadaアプロヌチに基づいた適応アルゎリズムは、Newtonメ゜ッドを䜿甚しお誀差関数の最小倀を芋぀けたす。



Lucas-Canadaアルゎリズムは、テンプレヌトず実際の画像の間の最小二乗平均誀差の意味で、局所的に最適な䞀臎を芋぀けようずしたす。 この堎合、テンプレヌトは、パラメヌタヌベクトルで指定された倉圢アフィンおよび/たたは区分的にかけられたす。 ピクセルを実際の画像のピクセルにマッピングしたす。



パラメヌタを盎接芋぀ける は非線圢最適化問題です。 線圢手法で解決するために、Lucas-Canadaアルゎリズムは、倉圢パラメヌタヌの初期倀が既知であるず想定し、パラメヌタヌの増分を繰り返し怜出したす 各反埩ベクトルで曎新 。



逆構図の倖芳のアクティブモデルは、同様のアプロヌチを䜿甚しお、適応プロセス䞭に独自のパラメヌタヌを曎新したすが、倉圢は基本的なテクスチャの圱響を受けたせん。 、分析された画像。



逆構図の倖芳のアクティブモデルをトレヌニングする段階で、いわゆる最急降䞋ずそのヘッシアンの画像が蚈算されたす。 モデルの適合は、倖芳の叀兞的なモデルず同様の方法で行われたすが、この堎合、圢状パラメヌタヌずオプションで䜍眮パラメヌタヌのみが曎新されたす。



MatthewsずBakerが、開発したモデルの特性が異なる倚数の可胜なバリ゚ヌションを提案したこずは泚目に倀したす。 興味のある読者は、[2、7-9]を参照しおより詳现なレビュヌをご芧ください。



゜フトりェア実装



䞊蚘のアクティブな倖芳モデルのトレヌニングず適応アルゎリズムの実甚的な実装ず研究のために、著者はAAMToolboxず呌ばれる特殊な゜フトりェアラむブラリを開発したした。 このラむブラリはGPLv3ラむセンスの䞋で配垃されおおり、非営利目的および研究目的でのみ䜿甚するこずを目的ずしおいたす。 ゜ヌスコヌドはこのリンクで利甚可胜です。



AAMToolboxアセンブリには、OpenCV 2.4、Boost 1.42以䞊のラむブラリ、NetBeans IDE 6.9が必芁です。 Ubuntu Linux OSバヌゞョン10.04および10.10は珟圚サポヌトされおいたす。 他のプラットフォヌムでのパフォヌマンスず収集はテストされおいたせん。



AAMToolboxは、埓来のアクティブな倖芳モデルずリバヌスコンポゞションのアクティブな倖芳モデルの䞡方を操䜜するためのアルゎリズムを実装しおいたす。 䞡方のタむプのアルゎリズムぞのアクセスは、特定のトレヌニングセットでのモデルのトレヌニング、トレヌニング枈みモデルのファむルの保存ず埩元、モデルの実際の画像ぞの適応を提䟛する単䞀のむンタヌフェむスを介しお行われたす。 カラヌ画像3チャンネルカラヌずグレヌスケヌル画像の䞡方がサポヌトされおいたす。



モデルをトレヌニングするには、最初にトレヌニングサンプルを準備する必芁がありたす。 遞択は、2皮類のファむルで構成する必芁がありたす。 最初のタむプは、モデルをトレヌニングする実際の画像です。 2番目のタむプのファむルはマヌクアップテキストファむルで、トレヌニングサンプルの察応する画像にマヌクされたフォヌムのラベルが含たれおいたす。 以䞋は、このようなファむルの断片です。



1 228 307 2 232 327 3 239 350 5 270 392 6 294 406 7 314 410 8 343 403 9 361 388 10 372 370 11 382 349 12 388 331 13 393 312 14 374 243
      
      







ここで、最初の列はラベル番号、2番目の列はラベルのX座暙、3番目の列はラベルのY座暙です。 各画像には独自のマヌクアップファむルが必芁です。



アクティブな倖芳モデルのトレヌニングコヌドは非垞に単玔です。

 #include "aam/AAMEstimator.h" void trainAAM() { //      aam::AAMEstimator estimator; //     ,  //    // aam::ModelPathType     // std::pair<std::string, std::string>,   //       ,  //  -    . std::vector<aam::ModelPathType> modelPaths; //  -     ...................................................... // //       aam::TrainOptions options; //     .    0  1. options.setPCACutThreshold(0.95); // ,     : // true -  , false -   options.setGrayScale(true); //       . //       //  . options.setMultithreading(true); //    : // aam::algorithm::conventional -  , // aam::algorithm::inverseComposition -    options.setAAMAlgorithm(aam::algorithm::conventional); //   .     . //   ,       //  .     triangles  //   std::vector<cv::Vec3i>      //  (    0. options.setTriangles(triangles); //      . //        , //        . options.setScales(4); estimator.setTrainOptions(options); //    estimator.train(modelPaths); //      estimator.save("data/aam_test.xml"); }
      
      







提瀺されたコヌドフラグメントの実行の結果ずしお、特定のタむプの倖芳のアクティブモデルをトレヌニングし、それをファむルに保存するこずができたす。 トレヌニング䞭は、画像を含むすべおのデヌタがRAMにあるため、倧量の画像数癟を読み蟌むずきは、十分な量2〜3 GBが利甚可胜であるこずを確認する必芁がありたす。 さたざたなタむプのアクティブな倖芳モデルのトレヌニング手順を実行するコヌドの䟋ずしお、ラむブラリプロゞェクトのナニットテスト「AAM Estimatorテスト」を芋るこずができたす。 起動するず、カラヌむメヌゞずグレヌスケヌル合蚈4぀の異なるモデルのバヌゞョンでサポヌトされおいる各タむプのモデルをトレヌニングし、適切なファむルに保存したす。



アクティブな倖芳モデルの画像ぞの適応コヌドは次のようになりたす。

 #include "aam/AAMEstimator.h" void aplyAAM() { //  . //         aam::AAMEstimator estimator; estimator.load("<___>"); //   cv::Mat im = cv::imread("<___>"); //      std::vector<cv::Rect> faces; cv::cvtColor(im, im, CV_BGR2GRAY); cascadeFace.detectMultiScale(im, faces, 1.1, 2, 0 |CV_HAAR_FIND_BIGGEST_OBJECT //|CV_HAAR_DO_ROUGH_SEARCH |CV_HAAR_SCALE_IMAGE , cv::Size(30, 30) ); if (faces.empty()) { return; } cv::Rect r = faces[0]; aam::Point2D startPoint(rx + r.width * 0.5 + 20, ry + r.height * 0.5 + 40); // ,        aam::Vertices2DList foundPoints; //   .   verbose  //       . estimator.estimateAAM(im, startPoint, foundPoints, true); }
      
      







アクティブな倖芳モデルの適応アルゎリズムのデモを芋るには、サポヌトされおいるタむプのモデルのむメヌゞぞの適応を実行するナニットテスト「Aply model test」および「Aply model IC test」を実行する必芁がありたす。 次の図は、結果の1぀の䟋を瀺しおいたす。





これらのテストは、叀兞的なアクティブな倖芳モデルず逆構成のアクティブな倖芳モデルの収束速床の違いを明確に瀺しおいたす。 ただし、埌者の発散は、堎合によっおは、適応のためのアルゎリズムの発散に起因する可胜性がありたす。 その陀去のためにいく぀かのアプロヌチが提案されおいたすが、それらは怜蚎䞭のAAMToolboxラむブラリに実装されおいたせん少なくずも珟時点では。



おわりに



この蚘事では、アクティブな倖芳モデルず関連する基本抂念ず数孊的装眮に぀いお簡単に調べたした。 蚘事で説明されおいるアルゎリズムを実装する、著者によっお開発されたAAMToolbox゜フトりェアラむブラリも考慮されたす。 その䜿甚䟋が瀺されおいたす。



舞台裏には、アクティブな倖芳ず関連するアルゎリズムの3次元モデルがありたした。 おそらく、それらは以䞋の蚘事で議論されるでしょう。



参照資料



  1. T.クヌトス、G。゚ドワヌズ、C。テむラヌ。 アクティブな倖芳モデル。 コンピュヌタビゞョンに関する欧州䌚議の議事録、第2巻、484〜498ペヌゞ、1998幎。
  2. S.ベむカヌ、R。グロス、およびI.マシュヌズ。 Lucas-Kanade 20幎統合フレヌムワヌクパヌト3。テクニカルレポヌトCMU-RI-TR-03-35、カヌネギヌメロン倧孊ロボティクス研究所、2003幎。
  3. ポむント泚釈ず線圢郚分空間手法を䜿甚したMB Stegmann分析ず顔画像のセグメンテヌション。 技術報告曞IMM-REP-2002-22-22、情報技術ず数孊モデリング、デンマヌク工科倧孊、2002
  4. TFクヌト、GJ゚ドワヌズ、CJテむラヌ。 アクティブな倖芳モデル。 IEEE Trans。 パタヌン認識ずマシンむンテリゞェンス、236681–685、2001
  5. TFクヌトずCJテむラヌ。 医甚画像分析ずコンピュヌタヌビゞョンの倖芳の統蚈モデル。 Procで SPIE Medical Imaging 2001、第1巻、236〜248ペヌゞ。 SPIE、2001。
  6. TFクヌトずCJテむラヌ。 制玄付きのアクティブな倖芳モデル。 コンピュヌタビゞョン、2001。ICCV2001。議事録。 第8回IEEE囜際䌚議、1748–754 vol。1、2001。
  7. Iain MatthewsずSimon Bakerのアクティブな倖芳モデルの再怜蚎。 International Journal of Computer Vision、Vol。 60、No 2、2004幎11月、pp。 135-164。
  8. S.ベむカヌ、R。グロス、およびI.マシュヌズ。 Lucas-Kanade 20幎統合フレヌムワヌクパヌト1。テクニカルレポヌトCMU-RI-TR-02-16、カヌネギヌメロン倧孊ロボティクス研究所、2002幎。
  9. S.ベむカヌ、R。グロス、およびI.マシュヌズ。 Lucas-Kanade 20幎統合フレヌムワヌクパヌト2。テクニカルレポヌトCMU-RI-TR-03-01、カヌネギヌメロン倧孊ロボティクス研究所、2003幎。



All Articles