yolov4についてしばらく触れてないので、以下誤りあるかもしれません。ご容赦ください。
yolov4では、detector mapコマンドがあります。
mapについて詳しくは割愛しますが、このコマンドを実行すると各クラス毎のTP, FPが出力されます。
FNについては、クラス毎の総正解データ数 - クラス毎のTPを計算すると求められると思います(クラス毎の総正解データ数=クラス毎のTP + FNより)。クラス毎の総正解データ数は出力されなかった気がしますので、別途数える必要があります。
TN以外の3つについては、上記にて算出可能かと思います。ただ、コマンドのオプションとして、iou_threshとconf_thresh(conf_threshについては、ただのthreshと入力したかもしれません。)を引数に取れたと思います。
iou_threshはiouの閾値です。例えばiou_thresh = 0.5 とすると、iouが0.5未満の予測boxについてはFalse(つまり予測を不正解とする=FP)、以上であればTrue(つまり予測を正解とする=TP)となります。つまり、iou_threshによってTP, FPの数が変わるので、注意が必要です。
conf_threshはconfidenceの閾値です。例えば、conf_thresh = 0.8 とすると、confidenceが0.8以上のみを予測し、それ未満はそもそも予測しなくなります(ちなみにconf_thresh=0にするとものすごい数の予測boxが出てきます)。この値はすなわち、各クラス毎の総予測データ数に影響を及ぼすので、結果的にTP、 FPの数が変わってきます。こちらも注意する必要があります。
余談ですが、物体検出の精度評価として多く用いられているのがmapです。もしmapもしくはクラス毎のap、さらにprecisionやrecall値、F1値を求めたいのであれば detector mapコマンドで一発ですので、試す価値有りかと思います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。