VOCとCOCOデータで学習し評価するこれまで主にPyTorch版のSSDを中心に目的に応じたチューニングや改良のお話をしてきました。一通りお話をして物体検知のお話は完結したつもりでいたのですが、COCOを使った評価についてお話していないことに気がつきました。GitHubに例示したコードも乱雑になってしまっています。VOCとCOCOのデータできちんと学習と評価のできるコードをまとめて公開することにします。VOC2007のtestデータで評価するという方法が標準的です。2007のtrainvalデータは5011、testデータは4952、2012のtrainvalデータは11540ありますので、この方法での学習データの総数は16551、評価データの総数は4952、クラス数は20となります。以下は1epochだけ学習して評価してみた出力です。0.4084epochを重ねると精度もあがっていきます。APで0.80を超えると良い値と考えて良いでしょう。2014のデータセットにはtrainデータが82783、valデータが40504含まれています。40504-5000=118287を学習データとして使う、trainval35kという方法が良く使われます。以下が1epochだけ学習して評価してみた出力です。AP@IoU=[0.50:0.95]で30を超えると良い値と考えて良いと思います。COCOデータセットには対象オブジェクトの存在しない画像が存在し、これをうまく扱わないとエラーになるようです。今回公開するデータはこれらの修正を行っており、うまく動くはずです。VOCとCOCOで学習済みのウェイトも公開しています。AP@IoU=[0.50:0.95]で37.0がでるはずです。詳しくはGitHubを参照ください。