人間が手を振っているのか、走っているのか、歩いているのかを判断するアプリケーションがあります。アイデアは、アクション、たとえばハンドウェーブをそのポーズにセグメント化したということです。まあ言ってみれば
例;
for human1:pose7-pose3-pose7-..... represents handwave
for human3:pose1-pose7-pose1-..... represents handwave
for human7:pose1-pose1-pose7-..... represents handwave
for human20:pose3-pose7-pose7-..... represents handwave
for human1 pose11-pose33-pose77-..... represents walking
for human2 pose31-pose33-pose77-..... represents walking
for human3 pose11-pose77-pose77-..... represents walking
for human20 pose11-pose33-pose11-..... represents walking
そして、MatlabでSVMとNeural Netをトレーニングするために上記のベクトルを使用しました..
今、私はそれを使ってテスト画像をテストします。ここでも、テスト画像のポーズをセグメント化しました。
MATLAB のテスト セットとトレーニング セットのベクトル サイズ。SVM とニューラル ネットでは、同じベクトル サイズが必要です。それを機能させるには;
0 を追加するとpose0
(-これは無効なポーズであると仮定します)、サイズを等しくするために、非常に優れたパフォーマンスが得られます。
最初に最初のポーズをコピーし、サイズが等しくなるまで最後に追加すると、パフォーマンスが低下します。
例えば;
train set: pose1-pose2-pose4-pose7-pose2-pose4-pose7
(1st method)test set: pose3-pose1-pose4-0-0-0-0 or
(2nd method)test set: pose3-pose1-pose4-pose3-pose1-pose4-pose3
追加された値はポーズの実際の値であるため、2番目の方法でより良い分類が期待できます。しかしpose0
、本当のポーズではありません。
あなたはなにか考えはありますか ?よろしく