peiyunh/tiny

hr_res101('eval') ignore_list do not exist

Closed this issue · 7 comments

i use the command hr_res101('eval');

error is as followed:

'ignore_list' do not exist。

error cnn_widerface_eval (line 191)
easy_gt(i).ign(easy_info.ignore_list{eventId}{img_idx}) = 0;

error hr_res101 (line 118)
cnn_widerface_eval('clusterNum', clusterNum, ...

info is from:

easy_info = load('eval_tools/ground_truth/wider_easy_val.mat');

line 191 is:

 easy_gt(i).ign(easy_info.ignore_list{eventId}{img_idx}) = 0;
med_gt(i).ign(med_info.ignore_list{eventId}{img_idx}) = 0;
hard_gt(i).ign(hard_info.ignore_list{eventId}{img_idx}) = 0;

I need to double-check but it looks like WIDER FACE made some change to its annotation. My best guess is that they change ignore_list to some other name. Can you confirm?

easy_info contains the following content:

blur_label_list,
event_list,
expression_label_list,
face_bbx_list, file_list,
gt_list,
illumination_label_list,
invalid_label_list,
occlusion_label_list,
pose_label_list

there isn't ignore_list.
Would you please tell me what is a ignore_list?
I just modified the code,just replace ignore_list with invalid_label_list :

%easy_gt(i).ign(easy_info.ignore_list{eventId}{img_idx}) = 0;
%med_gt(i).ign(med_info.ignore_list{eventId}{img_idx}) = 0;
%hard_gt(i).ign(hard_info.ignore_list{eventId}{img_idx}) = 0;
easy_gt(i).ign(easy_info.invalid_label_list{eventId}{img_idx}==1) = 0;
med_gt(i).ign(med_info.invalid_label_list{eventId}{img_idx}==1) = 0;
hard_gt(i).ign(hard_info.invalid_label_list{eventId}{img_idx}==1) = 0;

and get the result:

class: face, epoch: 50, subset: val (easy), minOverlap=0.30, AP = 0.006
class: face, epoch: 50, subset: val (easy), minOverlap=0.50, AP = 0.001
class: face, epoch: 50, subset: val (easy), minOverlap=0.70, AP = 0.000
class: face, epoch: 50, subset: val (medium), minOverlap=0.30, AP = 0.006
class: face, epoch: 50, subset: val (medium), minOverlap=0.50, AP = 0.001
class: face, epoch: 50, subset: val (medium), minOverlap=0.70, AP = 0.000
class: face, epoch: 50, subset: val (hard), minOverlap=0.30, AP = 0.006
class: face, epoch: 50, subset: val (hard), minOverlap=0.50, AP = 0.001
class: face, epoch: 50, subset: val (hard), minOverlap=0.70, AP = 0.000

But it is a wrong exe result....right?AP is too small...so....I am totally lost~~

## What i haven't mentioned is:
I finished training and test. epoch 61 ressult:

train: epoch 61: 38/1074: (+ 14) (- 2268) (+ 10) (- 27) 6.2 (6.8) Hz loss_cls: 5.097003 loss_reg: 0.068572
train: epoch 61: 39/1074: (+ 10) (- 51) (+ 7) (- 46) 6.2 (7.1) Hz loss_cls: 5.044677 loss_reg: 0.067684
train: epoch 61: 40/1074: (+ 30) (- 5116) (+ 39) (- 1246) 6.2 (5.7) Hz loss_cls: 5.178687 loss_reg: 0.068649
train: epoch 61: 41/1074: (+ 1) (- 53) (+ 8) (- 45) 6.2 (7.0) Hz loss_cls: 5.062510 loss_reg: 0.067175
train: epoch 61: 42/1074: (+ 9) (- 52) (+ 5) (- 124) 6.2 (6.8) Hz loss_cls: 5.023635 loss_reg: 0.066251
train: epoch 61: 43/1074: (+ 0) (- 13) (+ 7) (- 40) 6.2 (6.3) Hz loss_cls: 4.940843 loss_reg: 0.065185
train: epoch 61: 44/1074: (+ 31) (- 171) (+ 33) (- 747) 6.2 (6.2) Hz loss_cls: 4.980804 loss_reg: 0.065306
train: epoch 61: 45/1074: (+ 23) (- 16) (+ 1) (- 206) 6.3 (6.7) Hz loss_cls: 5.055395 loss_reg: 0.064727
train: epoch 61: 46/1074: (+ 22) (- 231) (+ 15) (- 181) 6.2 (5.5) Hz loss_cls: 5.054513 loss_reg: 0.064708
train: epoch 61: 47/1074: (+ 6) (- 103) (+ 3) (- 27) 6.2 (5.8) Hz loss_cls: 4.991779 loss_reg: 0.063646
train: epoch 61: 48/1074: (+ 25) (- 1708) (+ 5) (- 117) 6.2 (7.0) Hz loss_cls: 4.967525 loss_reg: 0.063172
train: epoch 61: 49/1074: (+ 19) (- 4898) (+ 7) (- 300) 6.3 (7.1) Hz loss_cls: 4.941500 loss_reg: 0.062801
train: epoch 61: 50/1074: (+ 4) (- 12) (+ 25) (- 154) 6.3 (7.2) Hz loss_cls: 4.938070 loss_reg: 0.062405

the result of "test":
Evaluating model from models/widerface-resnet-101-simple-sample256-posfrac0.5-N25-bboxreg-cluster-scaled/net-epoch-45.mat
Testing epoch 45: processed 217/3226, 83.35 img/sec
Lab 1:
Testing epoch 48: processed 1578/3226, 229.59 img/sec
Testing epoch 48: processed 1579/3226, 206.73 img/sec
Lab 2:
Testing epoch 45: processed 218/3226, 62.14 img/sec
Testing epoch 45: processed 219/3226, 48.69 img/sec
Lab 1:
Testing epoch 48: processed 1580/3226, 170.00 img/sec
Lab 2:
Testing epoch 45: processed 220/3226, 42.11 img/sec
Testing epoch 45: processed 221/3226, 36.65 img/sec
Lab 1:
Testing epoch 48: processed 1581/3226, 155.42 img/sec
Testing epoch 48: processed 1582/3226, 132.11 img/sec
Lab 2:
Testing epoch 45: processed 222/3226, 31.70 img/sec
Testing epoch 45: processed 223/3226, 28.35 img/sec
Lab 1:
Testing epoch 48: processed 1583/3226, 124.64 img/sec
Testing epoch 48: processed 1584/3226, 117.40 img/sec
Lab 2:
Testing epoch 45: processed 224/3226, 25.67 img/sec

hey guys,
I met the same problem.
Is there any solution yet?

Thank you.

========
I checked the latest version of Evaluation tools for WIDER Face here.
After loading eval_tools/ground_truth/wider_face_val.mat in MATLAB command line.
the info is listed below:

blur_lable_list  61x1 cell
event_list  61x1 cell
expression_label_list  61x1 cell
face_bbx_list  61x1 cell
file_list  61x1 cell
gt_list  61x1 cell
illuminuation_label_list  61x1 cell
occlution_label_list  61x1 cell
pose_label_list  61x1 cell

From what I remembered, the value 1 in ignore_list in WIDER FACE's earlier release marks the instances we don't want to ignore. So gt_list may be your best bet. Can you let me know if it is resolved on your end?

Replacing ignore_list with gt_list seems to work fine. I'm closing this issue. See 4fbeb62 for details.