Giter Site home page Giter Site logo

s3fd.pytorch's People

Contributors

yxlijun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

s3fd.pytorch's Issues

Testing time is 0.5 seconds per frame using GeForce RTX 3080

Hi, thank you very much for your open source code.
However, I run the 'demo.py' and find the running on one frame using RTX 3080 is about 0.5 seconds. The original paper claimed this method is real-time.

Could you please give me some advice on this?

Downloading checkpoints

I am finding it real hard to download checkpoint files from the website you uploaded in as I do not understand Chinese.
Is there any other way you can share them? Much appreciated. Thanks.

加载vgg16预训练模型权重报错

作者你好,我在运行train.py时程序在加载vgg16预训练模型权重时报错
@9DIG XB%IR@J6MMDP0YE8E
我已经从pytorch官方的github地址下载了vgg16的预训练模型,将其放置在指定的weights文件下
TIM截图20190403154012
现在不知道如何下手,希望您能指导一下,谢谢您了

how to evaluate meanAP of wider face?

Hi,
Thanks for providing the code and pretrained model. However, when I ran the wider_test.py, the meanAP was not shown. And I only found eval_hand.py and eval_head.py in tools/.

Would you please offer the evaluation file of wider face so that we can compare the results with the paper?

Question about data processing and loss

Hi,
Thanks for sharing the code!
Here are my questions:

  1. It seems you use data anchor sampling in your augmentation. Did you test your model without it?
  2. What are your calssification loss value and localization loss value in the end of training?

Did you try to replace VGG16 using Res50?

您好,您有尝试将VGG16替换为Res50吗?我之前复现了SFD(F)部分,,test时没有用多尺度,hard子集可以达到79.3%.但替换Res50后,准确率反而下降到了73.6%.想请教一下您这是啥原因.Res50直接用的trochvision里的预训练模型.
另外您的QQ需要真实姓名验证才能加.

Head detection model error!

I have managed to run your face model. But there is a failure of your head model.
default
would you like to help me out?

运行demo.py时报错

tim 20190226212558
已经下载了readme提供的人脸模型,放置在根目录下的weights目录下
tim 20190226212859
作者可以帮我看下哪里出错了么,谢谢了

How to solve these problems in MATLAB when I plot the curves ?

I ran wider_test.py and got a folder —— s3fd_val in eval_tools.
Then I ran wider_eval.m in MATLAB, but some errors were reported.


错误使用 legend (line 273)
未知的属性 'show'

出错 plot_pr (line 22)
legend1 = legend(lendge_name,'show');

出错 wider_plot (line 33)
plot_pr(propose, recall, name_list, seting_class, set_list{i},dateset_class);

出错 wider_eval (line 35)
wider_plot(setting_name_list,dir_int,seting_class,dateset_class);


License?

What is the license for this code? Could you please clarify so that we decide whether or not to use this code?

egohands

Hi, is it compatible with your code, do you have any advice on this? Thanks!

a bug in nms

def nms(boxes, scores, overlap=0.5, top_k=200):
keep = scores.new(scores.size(0)).zero_().long()
if boxes.numel() == 0:
return keep
x1 = boxes[:, 0]
y1 = boxes[:, 1]
x2 = boxes[:, 2]
y2 = boxes[:, 3]
area = torch.mul(x2 - x1, y2 - y1)
v, idx = scores.sort(0) # sort in ascending order
# I = I[v >= 0.01]
idx = idx[-top_k:] # indices of the top-k largest vals
xx1 = boxes.new()
yy1 = boxes.new()
xx2 = boxes.new()
yy2 = boxes.new()
w = boxes.new()
h = boxes.new()

# keep = torch.Tensor()
count = 0
while idx.numel() > 0:
    i = idx[-1]  # index of current largest val
    # keep.append(i)
    keep[count] = i
    count += 1
    if idx.size(0) == 1:
        break
    idx = idx[:-1]  # remove kept element from view
    # load bboxes of next highest vals
    torch.index_select(x1, 0, idx, out=xx1)
    torch.index_select(y1, 0, idx, out=yy1)
    torch.index_select(x2, 0, idx, out=xx2)
    torch.index_select(y2, 0, idx, out=yy2)
    # store element-wise max with next highest score
    xx1 = torch.clamp(xx1, min=x1[i])
    yy1 = torch.clamp(yy1, min=y1[i])
    xx2 = torch.clamp(xx2, max=x2[i])
    yy2 = torch.clamp(yy2, max=y2[i])
    w.resize_as_(xx2)
    h.resize_as_(yy2)
    w = xx2 - xx1
    h = yy2 - yy1
    # check sizes of xx1 and xx2.. after each iteration
    w = torch.clamp(w, min=0.0)
    h = torch.clamp(h, min=0.0)
    inter = w * h
    # IoU = i / (area(a) + area(b) - i)
    rem_areas = torch.index_select(area, 0, idx)  # load remaining areas)
    union = (rem_areas - inter) + area[i]
    IoU = inter / union  # store result in iou
    # keep only elements with an IoU <= overlap
    idx = idx[IoU.le(overlap)]
**_return keep, count_**

the two return are not same ,it may take error:
layers/functions/detection.py", line 67, in forward
ValueError: not enough values to unpack (expected 2, got 0)

weights

Is there a pretrained weight file ?

multibox loss

Thanks for your code
in the paper

  • the cls loss is normalized by the number of positive and negative anchors
  • the reg term is normalized by the number of positive anchors.
    so may be
    image
    it should be changed
M = num_pos.data.sum().float() + num_neg.data.sum().float()
loss_c /= N

also in the paper L =\lambda * L_{cls} + L_{reg}
in the code

loss_l, loss_c = criterion(out, targets)
loss = loss_l + loss_c

may be the two place should be modified

Questions about facemodel

Hi, I have downloaded your ''face model'' which is provided in README, and successfully run it on my machine. But now I still have some questions because it seems works well on faces but not work well on heads.
Here is my question: Is the "face model" trained with both head dataset "SCUT-HEAD" and face dataset "widerface", or just only trained with face dataset "widerface"?

The smallest faces in Wider face

您好,向您请教一个额外的问题.
wider face那篇论文中说忽视10像素以下的人脸,但实际标注的人脸有很多低于10像素的,甚至有2个像素的.HR那篇论文中也说人脸像素大于10.
请问是wider face数据集是以前没有标注低于10像素的么?还是说训练时忽视掉低于10像素的人脸?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.