Because recently want to try a cow break the target detection algorithm SSD. As a matter of fact, I have made thousands of data (actually only hundreds of, using data expansion algorithms such as mirroring, noise, cutting, rotation, etc. to expand to thousands of, actually still is not enough). So on the Internet to find the relevant introduction, their own processing of data into the VOC data set format, in the conversion to XML format and so on. Here are a few blogs to see how to do this. Specifically window or Linux, please take your own seat.
Linux:http://blog.sina.com.cn/s/blog_4a1853330102x7yd.html
window:http://blog.csdn.net/buaalei/article/details/55094879
After the data conversion is good, the next job is to build an SSD training environment under window, there are many mines, I am also repeatedly trying to modify a few days later to succeed.
1 First look at your computer configuration whether there is a GPU, if there is no GPU that is very good to do, first download SSD model, Link: https://github.com/conner99/caffe, (of course, the person is to download Window-caffe, Then add SSD-related files to it, but obviously superfluous. So let's stand on the shoulders of giants.
2 Download Good SSD Caffe environment, followed by the installation of Cudnn,cuda,python and other configuration, here refer to a lot of literature I will no longer redundant, of course, if you are CPU environment, then do not need to configure CUDNN environment.
3 After installing the SSD environment, because the SSD training also requires a third-party library, here is also available, Link: http://pan.baidu.com/s/1esap3rw Password: Nuja, the process is as follows:
(1) Create a new 3rdparty folder under Caffe-master\src\caffe, add hungarian.cpp
(2) Create a new 3rdparty folder under Caffe-master\include\caffe, add hungarian.hpp
4 Next this must be changed, do not change the words will recur similar to: Error MSB3721: Command "" C:\Program files\nvidia GPU Computing toolkit\cuda\v7.5\bin\nvcc.exe ".... and other errors. I have been in the pit for a few days, hair dropped a land, hey. The workaround here is to comment out all occurrences of the Regex and RV statements in the Detection_output_layer.cu,detection_output_layer.cpp two files, and then Detection_output_ LAYER.HPP statement # include <boost/regex.hpp> comment out. Also, under the Libcaffe project, under the Bbox_util.cu file, comment out thrust related content as follows: //#include "thrust/functional.h " //#include " Thrust/sort.h "
.....
Thrust::sort_by_key (&confidence[0],&confidence[0]+num_remain,&idx[0],
Thrurst::greater<dtype> ()); * *
5 After the above execution, congratulations you can basically generate Libcaffe, caffe.exe files, first compile Libcaffe, and then Caffe (usually release under).
6 after the simple, write a bat command, set up the corresponding Solver.prototxt file can start training.
Above as long as follow this process, do not lazy, basically no big problem, and I always feel that others say not necessarily right, holding the south wall does not go back to the spirit of configuration, the result is a large few days wasted, I hope you are cautious, but, said the reality of their own implementation of the process, from data collection, the expansion of information, Conversion format, to configure the SSD environment, then to start training, harvest, perhaps this is the benefit of their own hands. Here is the process I am training, GPU speed leverage.
Expect to get good results, but also wish you good luck. What is the problem welcome message exchange, haha. Finally, some good related blogs are attached:
http://blog.csdn.net/gxb0505/article/details/73702451
http://blog.csdn.net/maweifei/article/details/76685755
Https://github.com/weiliu89/caffe
Target detection algorithm SSD trains its own datasets in a window environment with GPU configuration