概要: 体の部分の角度に応じて、いくつかの画像を分類しようとしています。
人体は(長方形として)10個のパーツで構成されていると仮定し、各パーツの中心を見つけ、胴体を参照して各パーツの角度を計算します。そして、私には3つのアクションカテゴリがあります:Handwave-Walking-Running。私の目標は、どのテスト画像がどのアクションカテゴリに分類されるかを見つけることです。
事実: TrainSet:1057x10機能セット、1057は画像の数を表します。TestSet:821x10
アクションカテゴリの分類のパーセンテージを示す各行の出力を3x1行列にします。row1:Handwave row2:Walking row3:Running
コード:
actionCat='H';
[train_data_hw train_label_hw] = tugrul_traindata(TrainData,actionCat);
[test_data_hw test_label_hw] = tugrul_testdata(TestData,actionCat);
actionCat='W';
[train_data_w train_label_w] = tugrul_traindata(TrainData,actionCat);
[test_data_w test_label_w] = tugrul_testdata(TestData,actionCat);
actionCat='R';
[train_data_r train_label_r] = tugrul_traindata(TrainData,actionCat);
[test_data_r test_label_r] = tugrul_testdata(TestData,actionCat);
Train=[train_data_hw;train_data_w;train_data_r];
Test=[test_data_hw;test_data_w;test_data_r];
Target=eye(3,1);
net=newff(minmax(Train),[10 3],{'logsig' 'logsig'},'trainscg');
net.trainParam.perf='sse';
net.trainParam.epochs=50;
net.trainParam.goal=1e-5;
net=train(net,Train);
trainSize=size(Train,1);
testSize=size(Test,1);
if(trainSize > testSize)
pend=-1*ones(trainSize-testSize,size(Test,2));
Test=[Test;pend];
end
x=sim(net,Test);
質問: Matlab newffメソッドを使用していますが、出力は常に3x1ではなくNx10行列です。入力セットは3つのクラスとしてグループ化する必要がありますが、10のクラスにグループ化されています。
ありがとう