windows10搭載のゲーミングノートでリアルタイム物体検出がどこまでできるか試してみた話(SSDで物体検出)その2

2020年8月27日

今日は、前回記事の続きを書きます。

前回記事では、ゲーミングノートでSSDによる物体検出がどこまでできるか試した話を書きました。

前回の結論は、物体検出の推論時の計算負荷が大きく、ゲーミングノートのCPUとGPUにはかなりのスペックが必要であると書きました。

確かに一部は正しいのですが、一部は間違っていました。

今回は、何が間違っていたのかを書きたいと思います。

学習条件および結果の比較

今回は、子供のおもちゃ(だだんだんとイーブイ)を学習させてみました。

「だだんだん」というのは、ばいきんまんが作ったロボットでアンパンマンのキャラクタです。

「イーブイ」はポケモンのキャラクターです。

また、比較のために「ネコと車」の学習条件と結果も示します。

ネコと車の詳細については、前回記事を参考にしてください。

なお、今回の「だだんだんとイーブイ」の学習時もImageNetで学習済みのvgg16ベースのSSDモデル(.pthファイル)を用いて転移学習を行っています。

項目「だだんだんとイーブイ」
学習条件と結果
「ネコと車」
学習条件と結果
画像枚数93枚150枚
学習回数3000回3000回
学習完了までの時間約35分約30分

このlossのグラフから以下が分かります。

  • 「だだんだんとイーブイ」の学習時は loss が比較的早い段階で収束している。
  • 「ネコと車」の学習時は loss が中々収束せずばらつきも大きい。
  • 3000回学習後の最終的なlossの値が大きく異なる。

最終的な loss の値を以下に示します。

学習対象lossの値
「だだんだんとイーブイ」0.8 ~ 1.0
「ネコと車」1.5 ~ 2.0

「だだんだんとイーブイ」の学習後の loss は、「ネコと車」に比べ、約二分の一になっています。

続いて、この loss の値が物体検出にどう影響するか示します。

物体検出結果

検出結果を以下に示します。

だだんだんとイーブイを検出
駐車している車を検出

上記 2枚の画像の丸で囲んだ部分(FPSの部分)を見てください。

FPS(フレームレート)の数字が全く違うことが分かります。

検出物体FPS
だだんだん、イーブイ21
5

つまり、学習時に loss が小さいモデルを作成すれば、物体検出時のFPSを劇的に上げることができるということです。

確かにゲーミングノートのCPUやGPUの性能を上げることも大事ですが、それよりも学習時に loss の小さなモデルを如何に作成できるかが大事だということです。

前回の実験では気づきませんでしたが、今回の追加実験でそれが分かりました。

逆に言うと、loss の小さなモデルを作ることができれば、推論時のノートパソコンの性能は今回準備したゲーミングノートレベルで十分だと思います。

今回準備したゲーミングノートは、Dell G7 15プラチナ(CPU:Intel Core i7-8750H, 2.2GHz、GPU:NVIDIA GeForce GTX1060 with Max-Q Design)です。(詳細は前回記事を参照ください)

現在では、ミドルクラスのゲーミングノートになるかと思います。

値段も10万円前後から購入可能だと思います。

最近はさらに高性能なゲーミングノート(RTX2060、RTX2070 搭載モデル)が発売されていますので、それらのスペックならさらに高FPSを狙うことも可能だと思います。

ゲーミングノートでリアルタイム物体検出(30FPS以上)も夢ではないと思います。

まとめ

  • 学習時に loss の小さなモデルを作ることができれば、フレームレートを劇的に上げることができる
  • loss の小さなモデルを使って物体検出すれば、一般的なゲーミングノートでも十分リアルタイム検出が可能