FDDB-FAQ
翻譯:趙明明
人臉檢測(cè)數(shù)據(jù)集基準(zhǔn)
常見(jiàn)問(wèn)題
Q1. How do you compute the detection score that is to be included in the face detection output file?
The score included in the output file of a face detection system should be obtained by the system itself. The evaluation code included in the benchmark varies the threshold on this score to obtain different points on the desired ROC curve.?
問(wèn)題1. 人臉檢測(cè)輸出文件中的檢測(cè)得分是怎樣計(jì)算的?
這個(gè)得分應(yīng)該是你的檢測(cè)系統(tǒng)自己給出來(lái).我們的評(píng)價(jià)代碼根據(jù)這些得分來(lái)設(shè)置閾值從而得到ROC曲線.?
Q2. What range should the detection score be?
The range of scores can lie anywhere on the real line (-infinity to infinity)[-inf,inf], In other words, the scores are used to order the detections, and their absolute values do not matter.?
問(wèn)題2. 檢測(cè)得分的取值范圍是多少?
得分的取值范圍不受限制熬粗,也就是說(shuō)得分范圍在[-inf,inf]妒挎。得分主要是用來(lái)排序用的踩萎,所以它們的取值不重要.?
Q3. If only one detected region (output of face detector) is intersected with many labeled regions in the ground truth. What is the detection score in this case?
For a given image, we first find the best one-one matching between the detections and annotations (Section 6.1). For each of the resulting matching pairs, we compute two different scores based on the overlap ratio (Equation 2).The details of our evaluation is included in Section 6 of the?FDDB technical report.?
問(wèn)題3. 如果我只檢測(cè)一個(gè)區(qū)域,這個(gè)區(qū)域?qū)?yīng)了多個(gè)標(biāo)注的區(qū)域秫舌,這中情況的得分該怎樣計(jì)算?
我們首先選擇最好的一一配對(duì)的檢測(cè)和標(biāo)注(Section 6.1). 對(duì)于每對(duì)結(jié)果子巾,計(jì)算兩種分?jǐn)?shù)(Equation 2). 具體信息在第6節(jié)的?FDDB technical report.?
Q4. I see a few images in which not all faces are annotated (even if they are very well visible).
Some of the faces present in the images in this collection are not included in the benchmark for a variety of reasons. For instance, all of the face regions with height or width less than 20 pixels are NOT included in the benchmark. The details of the criteria used for accepting face annotations are included in Section 5 of the?FDDB technical report.?
問(wèn)題4.我看到一些圖片中的有些人臉沒(méi)有倍標(biāo)記出來(lái),有些甚至是比較明顯荞膘,而且很好認(rèn)的.
圖片中的有些人臉沒(méi)有被標(biāo)記出來(lái),原因各種各樣.比如下硕,寬度或者高度少于20像素的人臉就不會(huì)被標(biāo)記出來(lái)丁逝。關(guān)于標(biāo)注方面的更多細(xì)節(jié)描述在第5節(jié)中的?FDDB technical report.?
Q5. How do I report a single ROC from the ROCs of 10 folds?
Running the evaluation code for each fold will produce 10 ROC curves, one for each fold. However, the standard way for generating ROCs adopted by users on FDDB is to generate the ROC curve over all the images in the 10 folds at once.?
[Thanks to Adrian Barbu and Frank Wu for helping to clarify this.]?
問(wèn)題5.我怎么從10個(gè)文件夾的ROC中找出一個(gè)發(fā)布出來(lái)?
為每個(gè)文件夾運(yùn)行評(píng)價(jià)代碼梭姓,將產(chǎn)生10個(gè)ROC曲線霜幼,每個(gè)文件夾一個(gè). 然而,標(biāo)準(zhǔn)方法是一次性的將所有10個(gè)文件夾的ROC求出來(lái).?
[謝謝 Adrian Barbu 和 Frank Wu 在這個(gè)問(wèn)題上的幫助.]?
Q6. Where can I get the ROC (text) files for plotting the performance curves shown on the results page?
The ROC files (both for the discrete and continuous scores) are available on the results page in the "Methods" section on the?Results?page.?
問(wèn)題6. 在結(jié)果頁(yè)面中顯示的原始數(shù)據(jù)文件誉尖,我該從那里獲取到罪既?
在結(jié)果頁(yè)面中,ROC文件(包含離散和連續(xù)分?jǐn)?shù))可以在 "Methods" 節(jié)下載到.?
Q7. How do you compute the detection score for OpenCV Viola-Jones detector?
In the OpenCV implementation, stage_sum is computed and compared against the i stage_threshold for each stage to accept/reject a candidate window. We define the detection score for a candidate window as?
K*stage_when_rejected + stage_sum_for_stage_when_rejected.?
If a window is accepted by the cascade, we just?
K*last_stage + stage_sum_for_last_stage.?
Choosing K as a large value e.g., 1000, we ensure that windows rejected at stage i have higher score than those rejected at stage i-1.?
問(wèn)題7. 你怎么計(jì)算某些檢測(cè)器的分?jǐn)?shù)铡恕?比如像opencv 的那種Viola-Jones 的檢測(cè)器琢感?
In the OpenCV implementation在opencv的實(shí)現(xiàn)中, stage_sum 如果高于 此階段的閾值,當(dāng)前窗口就會(huì)被接受為一個(gè)候選窗. 所以我們定義候選窗的分?jǐn)?shù)為:
? ? ? ? ? ? ? K*stage_when_rejected + stage_sum_for_stage_when_rejected.?
如果窗口被接受了探熔,則分?jǐn)?shù)為:
? ? ? ? ? ? ? K*last_stage + stage_sum_for_last_stage.?
設(shè)置K為一個(gè)比較大的值驹针,比如這里設(shè)置為 1000, 可以保證在后一階段被拒絕的窗口得分比前一階段高.?
Q8. I use 0/1 confidence scores for the face detections. The evaluation code only gave me two points on the ROC curve. Did I do something wrong?
The ROC curve is computed by varying the threshold over the confidence score. When you have {0,1} confidence score, there are only two points on the ROC curve. If you want a more detailed ROC curve, you would have to provide this confidence score as a real valued score.?
問(wèn)題8. 我用0,1作為人臉檢測(cè)的置信度分?jǐn)?shù)祭刚。評(píng)價(jià)代碼只給了我兩個(gè)ROC點(diǎn)牌捷。我錯(cuò)了么?我該怎么辦涡驮?
TheROC的計(jì)算需要這個(gè)分手有很多的取值暗甥。當(dāng)你只有0,1時(shí)捉捅,ROC上就只有兩個(gè)點(diǎn)了撤防,如果你像有更多的點(diǎn),你的分?jǐn)?shù)取值就要更加真實(shí)棒口,取值要多樣化寄月。?
Q9. The 'evaluation.tgz' program doesn't work with my version of OpenCV. How to generate ROC curves from my detections?
The later versions of OpenCV might be causing some linking errors, especially if pkgconfig is not properly configured on your system. The following modification to the Makefile has been reported to work:
Manually provide the inputs to include files and libraries.
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_contrib -lopencv_legacy
Change the order in the evaluate.?
evaluate: $(OBJS)
? ? $(CC) $(OBJS) -o $@ $(LIBS)
[Thanks to Lourdes Ramírez Cerna for pointing this out.]
問(wèn)題9. 你們提供的代碼 'evaluation.tgz' 跟我的OPENCV在一起不能用. 怎么給我的檢測(cè)工作建立ROC呢?
最新版本的opencv可能會(huì)產(chǎn)生一些鏈接錯(cuò)誤, 尤其當(dāng)pkgconfig在你的系統(tǒng)上沒(méi)有被配置的時(shí)候. 依照下面來(lái)修改Makefile就會(huì)解決問(wèn)題了:
手工提供輸入來(lái)包含相關(guān)文件和庫(kù)文件.
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_contrib -lopencv_legacy
在evaluate中改變順序.?
evaluate: $(OBJS)
? ? $(CC) $(OBJS) -o $@ $(LIBS)
[感謝 Lourdes Ramírez Cerna 幫忙解決此問(wèn)題.]
Q10. Building the evaluation package for OpenCV 3.2 causes errors.
Removing lopencv_contrib and lopencv_legacy from the Makefile LIBS variable, and adding lopencv_imgcodecs causes this to be resolved.?
[Thanks to Yoel Shapiro for pointing this out.]
問(wèn)題10. 在OpenCV 3.2上編譯evaluation包時(shí),產(chǎn)生了錯(cuò)誤.
從Makefile 的LIBS變量中移除 lopencv_contrib and lopencv_legacy无牵,然后添加lopencv_imgcodecs 就會(huì)解決問(wèn)題.?
[感謝 Yoel Shapiro 幫忙解決此問(wèn)題.]