Code Monkey home page Code Monkey logo

facex's People

Contributors

delphifirst 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

facex's Issues

space for improvement

hi yang,

many thanks for your codes, it is clean and works well.

but i tested on the new released casia-webface dataset, facex fails to generate meaningful landmarks on a large portion of images, mainly due to the failure of face detection. please see the figure below for an exmaple.

screenshot from 2015-04-28 22 28 38

i wonder if there is any improvement space by using larger dataset or better algorithm tuning? and can the provided model reproduce the accuracy reported by xudong's paper? besides, there are also several cnn-based works, do you have any comment?

many thanks,
mu

kmeans question

Hi:
as you said that the face rect is used by Mapshape function. That is ok if some landmarks are out of the face rect. But it is error when i use some samples that have some landmarks being out of the sample's face rect. where is the error is in the function cv::kmenas.

why?
thanks

Train routines to train new model with different face detectors

Hi, first of all thanx for sharing your project!

I was wondering if u can also share classes used for training? because with out them its impossible to train different models using different dataset or different face-detector for example.

looking forward to hear from you!

MapShape question

hi, how to understand the function MapShape.
why use the function?
thanks

why need a face rect?

hi, why need a face rect in the train processing?
if a sample 's landmarks are out of the face rect, what it will happen?
thanks

Solution for training code not working in Mac Os

Hi, I was able to run the code of alignment and training successfully on Mac Os.
The only issue regarding the training code (in my case at least) was in the MapShape function in utils_train.cpp file.
Just change the function MapShape to the following and the training will work (I had to cast the x and y values to int)

vectorcv::Point2d MapShape(cv::Rect original_face_rect,
const vectorcv::Point2d original_landmarks, cv::Rect new_face_rect)
{
vectorcv::Point2d result;
for (const cv::Point2d &landmark: original_landmarks)
{
result.push_back(landmark);
result.back() -= cv::Point2d(original_face_rect.x, original_face_rect.y);
result.back().x = result.back().x * (int)
((float)(new_face_rect.width) / original_face_rect.width);
result.back().y = result.back().y * (int)
((float)(new_face_rect.height) / original_face_rect.height);
result.back() += cv::Point2d(new_face_rect.x, new_face_rect.y);
}
return result;
}

Memory usage

Memory usage after loading the library = ~600MB. The training data (uncompressed) in XML format is roughly 90MB. I'm wondering if memory usage could be reduced.

speed question

hi , the paper said that it run at 1 ms for detecting 29 landmarks. but i test the 29 landmarks using your code need 15ms.
why?
can you give me some ideas for speed up?
thanks

Procrustes analysis question

Hi,
thank you for your sharing code.
i have a question about procrustes transform. The function
Transform Procrustes(const vectorcv::Point2d &x, const vectorcv::Point2d &y)
i do not understand the solution why equal to A.inv() * b ?why the Matirx A is so ?
thanks!

CompressFerns question

hi, as i know , the face alignment paper did not apply the compression.
i have three questions about the compressferns function:
one, how to understand the expression rand_index[i] >> training_parameters.k
and i cout the expression rand_index[i] >> training_parameters.k , it is alway equal to zero. why?
three, how to understand the expression rand_index[i] & ((1 << training_parameters.F) - 1)
thanks

optimization proposal

hello, nice work !

the detection spends almost all of its time in Regresseor::Apply() here

replacing the for loop and the multiple matrix operations with less, and larger ones reduced execution time by a good half.

cv::Mat result_mat;                    // no initialization
Mat c(coeffs),c2;                      // c2 will have same shape as base_
c = c.reshape(1,1);                    // we need a row vec
repeat(c, base_.rows, 1, c2);          // the 1st row of coeffs all the way down
Mat m2;
multiply(base_, c2, m2);               // giant per element mul
reduce(m2, result_mat, 1, REDUCE_SUM); // sum up the cols into result_mat

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.