MotoJapan's Tech-Memo

技術めも

【行動認識 #4】Subjectを考慮してCNN層数別で性能差を確認

これの続き
【行動認識 #3】機械学習/深層学習で人間行動認識 ~CNNしてみる~ - MotoJapan's Tech-Memo

前回はtrainデータでSubject未考慮で精度を検証した。(trainデータ内)
その精度は、93.43%

今回はtrain/testのそれぞれを使って評価
加えて、Convolution+MaxPoolingのペア層の数を変えて評価

前回との差

学習データ Subject CNN層数
前回 trainデータを7:3で分割して評価 (5136件:2194件) 14名 分割時に未考慮 (Conv + Pooling) x 2
今回 trainデータ(7344件) / testデータ(2944件) 20名 予めSubject単位で分割(14名/6名) (Conv + Pooling) x 1~3

結果

200[epoch]回した結果を載せる

model accuracy loss epoch throughput
(Conv + Pooling) x 1 90.86% 0.8690 165 1070 [fps]
(Conv + Pooling) x 2 92.76% 0.9687 184 314 [fps]
(Conv + Pooling) x 3 92.23% 0.9871 95 130 [fps]

f:id:motojapan:20170811004015p:plain

精度としては、0.67%程悪化したが、想像より精度劣化は無い印象

まとめ

  • 6 Subjects-vs-restで評価したがCNN2層で92.76%は出る
  • CNN3層だと収束が早いOverfitもしやすい
  • CNN層を減らすほど、スループット非線形(指数的?)に改善していく
  • 動きの再現性が低い可能性がある
    • 前回との差分を見ると極端な精度劣化かがないことから同じSubject内の同じ行動であっても毎回同じような動きではない可能性がある