1. 程式人生 > >【配置教程】FDDB生成ROC曲線

【配置教程】FDDB生成ROC曲線

看了好多部落格,踩了很多坑,終於把FDDB資料集的ROC曲線繪製出來了。記錄一下。

 

環境:ubuntu18.04 

1.資料集準備

去FDDB官網:http://vis-www.cs.umass.edu/fddb/

1.1 下載原始的FDDB人臉資料集

 images:下面是存在2002和2003資料夾下的圖片。

annotations:FDDB-folds檔案下是含有人臉資料的標註

 FDDB-flod-%d.txt等檔名存放著圖片路徑名,FDDB-fold-%d-ellipseList.txt等檔名存放著標註檔案:第一行是檔案路徑,第二行是人臉數N,之後是N行資料,左上角的x,左上角的y,寬w,高h,人臉置信度,以空格為分隔。

      

將FDDB-FOLD-%d.txt合成一個檔案: cat * > img_list.txt

將所有的標註檔案FDDB-fold-%d-ellipseList.txt合成一個檔案 cat *ellipse*.txt > annotFile.txt   1.2 生成人臉檢測網路根據img_list.txt生成的txt檔案 第一行是檔案路徑,第二行是人臉數N,之後是N行資料,左上角的x,左上角的y,寬w,高h,人臉置信度,以空格為分隔。

 

2.下載evaluation原始碼,將檔案放入ubuntu

 官網下載評估原始碼:http://vis-www.cs.umass.edu/fddb/results.html

 

 放到ubuntu中,解壓。

在evaluation裡面放入準備好的3個檔案 和 圖片檔案

img_list.txt是合併的路徑名。

annotFile.txt是合併的標註檔案

FDDB-det-prelu3.txt是自己檢測網路生成的。

 

注意:直接將上面生成的txt檔案複製到ubuntu下會報錯Incompatible annotation and detection files. See output specifications ,由於windows下檔案和ubuntu下不同導致的。只需要在ubuntu下面建立一個txt檔案,然後將內容複製進去即可。

 

 

3.在ubuntu18.04中安裝opencv

參考資料:Ubuntu18.04中安裝opencv 。 https://blog.csdn.net/yllifesong/article/details/80980274

安裝依賴項:安裝libopencv-dev依賴包,執行命令 sudo apt install libopencv-dev,在出現的選項中輸入y繼續執行就行。

注意:慢或者timeout就用清華映象!(百度找,命令後面指定清華映象地址即可)

ubuntu如何檢視所用opencv的版本和安裝的庫:https://blog.csdn.net/libai13/article/details/107935935

 

4.生成evaluation可執行檔案

注意:如果用的是openCV3.x版本,則需要修改Makefile才能編譯通過。新增以下兩行(和官網不一樣),  並修改evaluate順序。

INCS = -I/usr/local/include/opencv

LIBS = -L/usr/local/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_imgcodecs

 

如果不需要ppm需要註釋掉,修改evaluation資料夾裡面的common.hpp:

 

執行make命令

成功!

 

5.執行生成ROC.txt檔案

 ./evaluate -a annotFile.txt -d FDDB-det-prelu3.txt -f 0 -i pic/ -l img_list.txt -r aaa

 

其中:-a是標準標註檔案,-d是自己生成的,-f代表是矩形,-i是圖片放的地址,-l 是路徑檔案,-r自己隨意命名

生成了aaaContROC.txt和aaaDiscROC.txt檔案。

 

 生成的DiscROC.txt中第一列為TPR(根據TPDisc算出的),第二列為FP,第三列為當前的閾值;而ConROC.txt中第一列為TPR(根據TPCont 算出的),第二列為FP。

他們的區別:https://blog.csdn.net/xcls2010/article/details/79744507

  6.執行生成ROC曲線 安裝gunplot。sudo apt-get install gnuplot   下載:http://vis-www.cs.umass.edu/fddb/results.html

 

 根據discROC.p 更改,

將plot後面的txt改成自己生成的ROC.txt或者要對比的ROC曲線。

輸出圖片在set output 後面寫 xxx.png

 

執行命令gnuplot [自己更改的指令碼檔案] 例如:gnuplot discROC.p 即可生成ROC曲線圖。

這只是個演示的曲線~~~

 


 

 

    &nbs