tag:blogger.com,1999:blog-6061887630060661987.post9222381986927434724..comments2024-03-13T13:54:35.259-04:00Comments on dlib C++ Library: Dlib 19.1 ReleasedDavis Kinghttp://www.blogger.com/profile/16577392965630448489noreply@blogger.comBlogger24125tag:blogger.com,1999:blog-6061887630060661987.post-68741555908324192022018-08-20T20:55:37.199-04:002018-08-20T20:55:37.199-04:00You can use one of the visit functions, like this ...You can use one of the visit functions, like this one to do this: http://dlib.net/dlib/dnn/core_abstract.h.html#visit_layer_parametersDavis Kinghttps://www.blogger.com/profile/16577392965630448489noreply@blogger.comtag:blogger.com,1999:blog-6061887630060661987.post-15088216545001135322016-12-22T10:48:02.552-05:002016-12-22T10:48:02.552-05:00thank your answer!thank your answer!Anonymoushttps://www.blogger.com/profile/12923330658838894644noreply@blogger.comtag:blogger.com,1999:blog-6061887630060661987.post-11714799994111913122016-12-22T08:18:49.702-05:002016-12-22T08:18:49.702-05:00There are many ways to reduce jitter, all depend o...There are many ways to reduce jitter, all depend on the specifics of your situation. The simplest is to buy a better camera. If you want algorithm ideas I would look at CVPR papers about this subject.Davis Kinghttps://www.blogger.com/profile/16577392965630448489noreply@blogger.comtag:blogger.com,1999:blog-6061887630060661987.post-17137774891678108482016-12-22T07:53:49.353-05:002016-12-22T07:53:49.353-05:00Davis, the landmark points are not stable and has ...Davis, the landmark points are not stable and has jitter effect in realtime video or recorded video clips. i think there are several reasons, one is video frame noise caused by hardware and environment, another is the lack of prediction current frame shape from previous shape. if the current frame shape is regressed from previous shape, then landmark point will be more stable than regress every frame as an image independently. maybe there need another regressor for shape tracking between consecutive frames different the one for still image. do you agree it? if it is needed, training data is generate from still image or should use real video sequence, such as 300VW dataset. Or are there any advice for overcoming the jitter effect in realvideo?<br />thanks a lot!<br />Anonymoushttps://www.blogger.com/profile/12923330658838894644noreply@blogger.comtag:blogger.com,1999:blog-6061887630060661987.post-80168024633413362722016-12-21T22:41:37.617-05:002016-12-21T22:41:37.617-05:00thanks a lot!thanks a lot!Anonymoushttps://www.blogger.com/profile/12923330658838894644noreply@blogger.comtag:blogger.com,1999:blog-6061887630060661987.post-86341461403230375112016-12-21T22:00:12.287-05:002016-12-21T22:00:12.287-05:00The HOG detector was trained with this dataset: ht...The HOG detector was trained with this dataset: http://dlib.net/files/data/dlib_face_detector_training_data.tar.gzDavis Kinghttps://www.blogger.com/profile/16577392965630448489noreply@blogger.comtag:blogger.com,1999:blog-6061887630060661987.post-86159112715168743892016-12-21T21:50:24.775-05:002016-12-21T21:50:24.775-05:00Davis, thank your dlib work. i have got a surprise...Davis, thank your dlib work. i have got a surprised result after test your face dector and landmark.i want to know what datasets you used for face detector model trainning? thanks. in your blogs,i see iBug 300W dataset is used for landmark regressor trainning, but dataset used for detector training is not mentioned.Anonymoushttps://www.blogger.com/profile/12923330658838894644noreply@blogger.comtag:blogger.com,1999:blog-6061887630060661987.post-27266956776347368762016-10-13T17:27:15.832-04:002016-10-13T17:27:15.832-04:00Thanks, I'm glad you like it.
Yes, I've...Thanks, I'm glad you like it. <br /><br />Yes, I've read that paper. It's very nice. Not sure if you have seen this but there is now a CNN detector in dlib: http://blog.dlib.net/2016/10/easily-create-high-quality-object.htmlDavis Kinghttps://www.blogger.com/profile/16577392965630448489noreply@blogger.comtag:blogger.com,1999:blog-6061887630060661987.post-44039551304471074642016-10-13T15:07:10.231-04:002016-10-13T15:07:10.231-04:00Davis, This is *awesome*. This feature looks amaz...Davis, This is *awesome*. This feature looks amazing. I've seen a lot of research/projects on doing this type of thing with CNN, but the code is a mess. Dlib is really an amazing library -- the comments are phenomenal and the documentation makes it so easy to use. Thanks for putting this together!<br /><br />Have you looked at this research: http://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Li_A_Convolutional_Neural_2015_CVPR_paper.pdf<br /><br />It's basically CNN sliding window detector, but they train different fidelity models (low-res for first pass, and higher-res for subsequent passes). The CPU performance is actually *better* than HOG/VJ/LBP and the GPU performance as well as accuracy is light-years ahead.Matthttps://www.blogger.com/profile/08609773541696271514noreply@blogger.comtag:blogger.com,1999:blog-6061887630060661987.post-71076321250412890742016-10-13T15:06:51.540-04:002016-10-13T15:06:51.540-04:00Davis, This is *awesome*. This feature looks amaz...Davis, This is *awesome*. This feature looks amazing. I've seen a lot of research/projects on doing this type of thing with CNN, but the code is a mess. Dlib is really an amazing library -- the comments are phenomenal and the documentation makes it so easy to use. Thanks for putting this together!<br /><br />Have you looked at this research: http://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Li_A_Convolutional_Neural_2015_CVPR_paper.pdf<br /><br />It's basically CNN sliding window detector, but they train different fidelity models (low-res for first pass, and higher-res for subsequent passes). The CPU performance is actually *better* than HOG/VJ/LBP and the GPU performance as well as accuracy is light-years ahead.Matthttps://www.blogger.com/profile/08609773541696271514noreply@blogger.comtag:blogger.com,1999:blog-6061887630060661987.post-58959790395040106642016-10-13T15:06:37.764-04:002016-10-13T15:06:37.764-04:00Davis, This is *awesome*. This feature looks amaz...Davis, This is *awesome*. This feature looks amazing. I've seen a lot of research/projects on doing this type of thing with CNN, but the code is a mess. Dlib is really an amazing library -- the comments are phenomenal and the documentation makes it so easy to use. Thanks for putting this together!<br /><br />Have you looked at this research: http://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Li_A_Convolutional_Neural_2015_CVPR_paper.pdf<br /><br />It's basically CNN sliding window detector, but they train different fidelity models (low-res for first pass, and higher-res for subsequent passes). The CPU performance is actually *better* than HOG/VJ/LBP and the GPU performance as well as accuracy is light-years ahead.Matthttps://www.blogger.com/profile/08609773541696271514noreply@blogger.comtag:blogger.com,1999:blog-6061887630060661987.post-82161313098496566172016-10-13T15:06:24.793-04:002016-10-13T15:06:24.793-04:00Davis, This is *awesome*. This feature looks amaz...Davis, This is *awesome*. This feature looks amazing. I've seen a lot of research/projects on doing this type of thing with CNN, but the code is a mess. Dlib is really an amazing library -- the comments are phenomenal and the documentation makes it so easy to use. Thanks for putting this together!<br /><br />Have you looked at this research: http://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Li_A_Convolutional_Neural_2015_CVPR_paper.pdf<br /><br />It's basically CNN sliding window detector, but they train different fidelity models (low-res for first pass, and higher-res for subsequent passes). The CPU performance is actually *better* than HOG/VJ/LBP and the GPU performance as well as accuracy is light-years ahead.Matthttps://www.blogger.com/profile/08609773541696271514noreply@blogger.comtag:blogger.com,1999:blog-6061887630060661987.post-30475960087393614522016-09-23T00:36:58.264-04:002016-09-23T00:36:58.264-04:00I have performed extensive numerical experiments i...I have performed extensive numerical experiments in the past which show that the formula I suggested is better by comparing with analytical derivatives. The reason is that the arguments you pass to the function are xp = fl(x0+eps) and xm = fl(x0-eps) which are rarely representable as floating point numbers. If |x0| is not extremely small xp-xm will be exact according to Sterbenz lemma, but very unlikely to be equal to 2*eps. Such a technique is used in reputable optimization libraries.<br /><br />The reason I did extensive tests is that I spent huge amount of efforts in developing algorithms to accurately compute special functions (better than those in the boost library). In the absence of reference function values (some of them are not in boost), I had to rely on numerical derivatives to check how good my implementations are. HChuhttps://www.blogger.com/profile/11452963343636243745noreply@blogger.comtag:blogger.com,1999:blog-6061887630060661987.post-15428216020148302782016-09-22T21:40:25.211-04:002016-09-22T21:40:25.211-04:00Yeah, that's probably a good idea. Do you wan...Yeah, that's probably a good idea. Do you want to test it out, see what kind of numerical effect it has, and submit a pull request on github? :)Davis Kinghttps://www.blogger.com/profile/16577392965630448489noreply@blogger.comtag:blogger.com,1999:blog-6061887630060661987.post-13896558564834948912016-09-22T21:04:29.203-04:002016-09-22T21:04:29.203-04:00Thank you very much. matrix works.
I have a comme...Thank you very much. matrix works.<br /><br />I have a comment regarding central difference. It's better to replace<br /> der(i) = (delta_plus - delta_minus)/(2*eps);<br />by<br /> der(i) = (delta_plus - delta_minus)/((old_val+eps)-(old_val-eps)); HChuhttps://www.blogger.com/profile/11452963343636243745noreply@blogger.comtag:blogger.com,1999:blog-6061887630060661987.post-89096237869274067792016-09-22T19:03:36.858-04:002016-09-22T19:03:36.858-04:00http://dlib.net/faq.html#HowdoIsetthesizeofamatrix...http://dlib.net/faq.html#HowdoIsetthesizeofamatrixatruntimeDavis Kinghttps://www.blogger.com/profile/16577392965630448489noreply@blogger.comtag:blogger.com,1999:blog-6061887630060661987.post-60728971968269893762016-09-22T18:46:14.851-04:002016-09-22T18:46:14.851-04:00Thanks for the excellent work. I tried SVM regress...Thanks for the excellent work. I tried SVM regression, it's really easy to use compared to LibSVM. <br /><br />In real production code, we would like to have the dimension of the problem dynamically determined which is not easy when it's a template parameter. I tried to use std::valarray or boost::ublas::vector, but neither would work. Is it possible to do so in the current release?<br />HChuhttps://www.blogger.com/profile/11452963343636243745noreply@blogger.comtag:blogger.com,1999:blog-6061887630060661987.post-29879439699993787552016-09-14T20:58:53.353-04:002016-09-14T20:58:53.353-04:00After modifying an error in preparing the bounding...After modifying an error in preparing the bounding box I get the error rate 0.054 or 0.055, still a gap here. Thanks for your information. DAXIAhttps://www.blogger.com/profile/18169391419071080396noreply@blogger.comtag:blogger.com,1999:blog-6061887630060661987.post-34357672299776004182016-09-14T18:03:07.092-04:002016-09-14T18:03:07.092-04:00That's what I remember getting as well. I was...That's what I remember getting as well. I was never able to reproduce the 0.049 from the paper.Davis Kinghttps://www.blogger.com/profile/16577392965630448489noreply@blogger.comtag:blogger.com,1999:blog-6061887630060661987.post-36283624194979458212016-09-14T17:25:09.426-04:002016-09-14T17:25:09.426-04:00A question about shape_predictor training
I h...A question about shape_predictor training<br /> I have used all the parameters according to the paper "one millisecond ..." to train a shape predictor using HELEN dataset. The result seems reasonable, I get a 0.015 training error and a 0.061 test error. However, there is still a gap compared with the paper, which reported a test error of 0.049. I have tried several parameter combination but there is always a performance gap. I was wondering if your test result for 68 points shape prediction got comparable performance with the paper. And which do you think would be the most likely to be neglected parameters for an experiment?DAXIAhttps://www.blogger.com/profile/18169391419071080396noreply@blogger.comtag:blogger.com,1999:blog-6061887630060661987.post-20513946480139512132016-09-09T18:18:38.908-04:002016-09-09T18:18:38.908-04:00You need a C++11 compiler. std::thread::hardware_...You need a C++11 compiler. std::thread::hardware_concurrency() is part of C++11. I suppose you could replace it with the number of cores on your machine though. But you are much better off using a proper C++11 compiler.Davis Kinghttps://www.blogger.com/profile/16577392965630448489noreply@blogger.comtag:blogger.com,1999:blog-6061887630060661987.post-83387176778576492422016-09-09T13:36:12.779-04:002016-09-09T13:36:12.779-04:00I'm having trouble with compiling dnn_introduc...I'm having trouble with compiling dnn_introduction_ex.cpp<br /><br />since dnn libraries require c++11, I'm trying to build it with MinGW.<br /><br />it seems that mingw's std::thread::hardware_concurrency() is not implemented.<br /><br />can you give me advice to replace it?<br /><br />Currently I replaced it with number 0.<br /><br />TripleKimchihttps://www.blogger.com/profile/02719952599771100037noreply@blogger.comtag:blogger.com,1999:blog-6061887630060661987.post-30269014549122349942016-08-30T08:48:33.142-04:002016-08-30T08:48:33.142-04:00The svm_ex talks about how to do exactly that.The svm_ex talks about how to do exactly that.Davis Kinghttps://www.blogger.com/profile/16577392965630448489noreply@blogger.comtag:blogger.com,1999:blog-6061887630060661987.post-84563153896936897092016-08-30T07:54:57.951-04:002016-08-30T07:54:57.951-04:00Hi,
Thanks for nice and easy to use library. I wa...Hi,<br /><br />Thanks for nice and easy to use library. I was wondering how can I store the trained svm model and later used that fro prediction. I am particularly following the "svm_ex" example.<br /><br />ThanksRaselhttps://www.blogger.com/profile/14066412617438689936noreply@blogger.com