This code is distributed under the BSD 2-Clause license.
rock-100 / facekit Goto Github PK
View Code? Open in Web Editor NEW[CVPR 2018] Real-Time Rotation-Invariant Face Detection with Progressive Calibration Networks
License: Other
[CVPR 2018] Real-Time Rotation-Invariant Face Detection with Progressive Calibration Networks
License: Other
This code is distributed under the BSD 2-Clause license.
hi, jack-cv, I see that in compile.sh there is a CPU_ONLY tag, how to run it on GPU?
Hi, @jack-cv. It is really a nice work to detect the large pose face. Can you explain how to get the rotate angular label of face to supervise the trainning. As I know, WIDER FACE don't have the facial landmark. Do you use one of the facial landmark detect algorithms to get the facial landmark and then calculate the facial angular or just label all the faces manually?
Besides, what do you mean that "we rotate the initial training images uniformly in the range of..." in section 2.3 and 2.4 of the paper? As a beginner, I am confused of the statement.
下载了源码以后怎么在Ubuntu编译仿真呢?谢谢
Hi,
Jack, I try to re-implement your PCN model, but I found that training phase1, the up-down face orientation prediction accuracy is very low(about 90% in training set). I think that is not well enough for the training of the second phase. Do I miss sth? Please comment, thank you.
Best,
Edward
How to use it if not opencv2?
Is the Iou about the ground true and predicted box?
PCN.h:12:27: fatal error: caffe/caffe.hpp: No such file or directory
Have you tried using Resnet or other deeper net to promote the PCN accuracy?
请问有python调用的代码吗?
I want to train my own datasets? How can i do it?
Dear Jack-CV
This a really good job. Do you plan to release the training code? @jack-cv
你好检测效果很好,有个地方没看明白,就是代码中网络图片的输入大小和论文图片中6中的所示的图片大小是不一样的,代码中网络的输入数据大小是变化的。
Comparing with s3fd, setting pcn with minsize face = 16, the speed is much slower, so your algorithm only performs real-time with a bigger face size?
您好,请问Segmentation fault (core dumped)这个报错怎么解决呢是opencv版本问题还是其他什么问题,求指教
rt
运行sh run.sh picture/video/fddb报错
./picture/video/picture: error while loading shared libraries: libPCN.so: cannot open shared object file: No such file or directory
我的opencv为3.4 是不是不兼容??
Have you tried using other architecture in PCN?
OS: Ubuntu 16.04
Protobuf version: 2.6.1
OpenCV version: 2.4.13
gcc & g++ version: 5.4.0
When I compoling picture.cpp, I got a error as below
compile picture /tmp/ccewgFHU.o: In function
main':
picture.cpp:(.text.startup+0x77): undefined reference to PCN::PCN(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)' libPCN.so: undefined reference to
google::base::CheckOpMessageBuilder::NewString()'
libPCN.so: undefined reference to caffe::Net<float>::Net(std::string const&, caffe::Phase, int, std::vector<std::string, std::allocator<std::string> > const*)' libPCN.so: undefined reference to
caffe::Net::CopyTrainedLayersFrom(std::string)'
collect2: error: ld returned 1 exit status
done
`
I searched some information by google, soameone said this was because the version of gcc&g++ was too high. Then I changed gcc&g++ version to 4.8. However, another error occured.
compile picture /tmp/ccdYSnpl.o: In function
main':
picture.cpp:(.text.startup+0x140): undefined reference to cv::imread(std::string const&, int)' picture.cpp:(.text.startup+0x6b1): undefined reference to
cv::imshow(std::string const&, cv::_InputArray const&)'
libPCN.so: undefined reference to google::base::CheckOpMessageBuilder::NewString()' libPCN.so: undefined reference to
caffe::Net::Net(std::string const&, caffe::Phase, int, std::vector<std::string, std::allocatorstd::string > const*)'
libPCN.so: undefined reference to caffe::Net<float>::CopyTrainedLayersFrom(std::string)' collect2: error: ld returned 1 exit status done
Really have no sense to deal with this. Could you please help me?
It seems enough that one neuron determine whether it is face.
Is there any code for training with different datasets?
Hi, @jack-cv , your work are very interesting, but I want to know the regress loss of rotation in pcn3. Is it the smooth l1 or Least square estimation? Thank you.
thanks a lot!!!!
Hello! i am trying to port the implementation to other frameworks, and i was wondering if its possible to split the PCN.caffemodel into three parts, like the .prototxt to have PCN-1.caffemodel, PCN-2.caffemodel, PCN-3.caffemodel ?
thanks!
Hi,@jack-cv! Can you explain how you define the concept of RIP(rotation-in-plane) for different conditions such as side face and front face (e.g. how do you know whether a face's angular is exactly 51 degree)? Any formular?
请问PCN.dat model文件的存储类型和格式是怎样的? @jack-cv
Can you help me whats picture/video/fddb? how should I compile?
Is it the path for fddb.cpp?
Hi, Jack
I have a question,when change detector.SetMinFaceSize(48) to detector.SetMinFaceSize(20), the result changes. When test with 30, there is no face detected. test with the same input,the output is different with rotate of the angle, I am confused and want to know your opinion, the test input is as follows:
when the minFaceSize is 21 or 48, the output is as follows:
when the minFaceSize is 20, the output is as follow:
when the minFaceSize is 30, the output is as follow:
It turns out that the output angle has been flipped up and down or just lost the face, could you please give me a hint what causes that? Should I change the ImagePyramidScaleFactor?
Best,
Edward
你好。有没有考虑过开源GPU版本呢?
question1: I use the network in the paper, to train the PCN-2, but the accuracy is only about 80% in the training datset, cannot get 96% , any ideas?
question2: I parse your caffemodel, and see the input is three data, i.e. data1, data2, data3, could you tell me what the three data mean and how to generate them?
Best,
Edward
As shown in paper, the bounding box regresion contains 3 factors. a b and w that represents the conordinate of top-left point and its width. but the S use t and t*
ta tb tw is given by the paper,but what 's the t* ? is there any explaination?
看rotate这里面写到,似乎框是正立的?
那这个正立的框是怎么得到的呢?是取斜着框的x和y的最大最小得到的吗?
另一个问题:你在训练时如何控制各个角度人脸的比例呢?每个角度都生成相同比例的人脸吗?
Hi jack-CV
I run the code picture.cpp at my computer Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz.
Is that ok? @jack-cv
which cuda version, cudnn version and lots of dependency version are you using? Can you give us some instructions to test your demo? Thank you very much.
In command,
sh compile.sh picture/video/fddb
whats "picture/video/fddb" does it points to fddb.cpp?
Also, in fddb.cpp I can see hardcoded paths.
I am using Ubuntu 16.04 with caffe and opencv 3.0
You said you use sliding window and image pyramid to get face candidates?
why do you use fully convolution like MT-CNN?
thanks
With the similar architecture of MTCNN, you did not even mention it in your paper? Where is the highlight of this work? Just re-train the 3 nets in MTCNN and sightly modify the test code, we can get the same results and higher fps than your paper.
您好,请问支持旋转角度输出吗? 比如人脸左右的旋转,上下的旋转角度
Hi,@jack-cv. As is shown in the picture, when rotating a face, the bounding box will be rotated accordingly. Thus would lead some undefined pixes around a face(e.g. black pixes in the above image). How do you handle this problem? In other words, how do you ajust bounding box label according to the rotate angle?
Hi.
I'm trying to load the network in pycaffe. For this I need the "caffe.proto". Can you release the file? or can you release the source code for the libPCN.so?
Thanks
@jack-cv what do face.x, face.y, face.width mean in PCN.h? I cannot understand your coordinates calculation, could you please give me a hint?
Best,
Edward
@jack-cv Would you please kindly tell me how to run PCN with mini-batch not single image?
I tried to work on docker image from official caffe(bvlc/caffe:gpu) but it didnt work because of glog(maybe) and caffe version. I finally made it works on an image of nvidia/cuda:ubuntu14.04 with caffe 1.0.0 built by myself.
Could you upload binary file(libPCN.so) that can works on current official caffe docker image?
I tried this development environment more than 10 times and it did not work.
If you do not mind, I wonder if you can tell me the way to get a docker image or another version (tensor flow, keras, etc).
Thank you again for your hard work, it is greatly appreciated.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.