10/22/2015
10/01/2015
Deep learning Library to work easily with opencv on window environment.
I was wrapping caffe library to use easy with opencv and window os environment(named MareDeepDLL).
MareDeepDll is referenced on
http://caffe.berkeleyvision.org/installation.html
https://initialneil.wordpress.com/
The dll is made on this environment
Window 10 64bit,
VS 2013 64bit
OpenCV 3.0 64bit
cuda 6.5 64bit
tbb 64bit
..
All dependency is as follows:
This code is example to use the dll
...
Lenet model was used to test the deep learning classification.
Many other models are introduced on github model zoo.
https://github.com/BVLC/caffe/wiki/Model-Zoo
You can apply other case, on code cDeep.SetNet("lenet_test-memory-1.prototxt", "lenet_iter_10000.caffemodel"); , first param means model structure and second param means the result of deep learning.
If you request to Google Plus to me, I will send the dll with the application code(project).
MareDeepDll is referenced on
http://caffe.berkeleyvision.org/installation.html
https://initialneil.wordpress.com/
The dll is made on this environment
Window 10 64bit,
VS 2013 64bit
OpenCV 3.0 64bit
cuda 6.5 64bit
tbb 64bit
..
All dependency is as follows:
This code is example to use the dll
...
#include < iostream> #include < stdio.h> #include < vector> #include < time.h> #include < opencv2\opencv.hpp> #include < opencv2\core.hpp> #include < opencv2\highgui.hpp> #include < opencv2\videoio.hpp> #include < opencv2\imgproc.hpp> #include "DeepDll_B.h" #ifdef _DEBUG #pragma comment(lib, "opencv_core300d.lib") #pragma comment(lib, "opencv_highgui300d.lib") #pragma comment(lib, "opencv_imgcodecs300d.lib") #pragma comment(lib, "opencv_imgproc300d.lib") //line, circle #else #pragma comment(lib, "opencv_core300.lib") #pragma comment(lib, "opencv_highgui300.lib") #pragma comment(lib, "opencv_imgcodecs300.lib") #pragma comment(lib, "opencv_imgproc300.lib") //line, circle //DEEP lib #pragma comment(lib, "MareDeepDLL.lib") #endif using namespace cv; using namespace std; void main() { //DEEP Class MareDeepDll_B cDeep; //load model and structure cDeep.SetNet("lenet_test-memory-1.prototxt", "lenet_iter_10000.caffemodel"); //gpu using on cDeep.GPU_using(); for (int i = 1; i < 14; ++i) { // time check.. unsigned long AAtime = 0, BBtime = 0; AAtime = getTickCount(); //make file name char str[256]; sprintf_s(str, "%d.jpg", i); printf("%s\n", str); //img load and preprocessing Mat img = imread(str); resize(img, img, Size(28, 28)); cvtColor(img, img, CV_BGR2GRAY); //////////// //classify vector< double> rV; //image and class num (caution!! class num is dependented by learning condition.) lenet is classify one number in 10 digits. rV = cDeep.eval(img, 10); ///////////// //result out for (int i = 0; i < rV.size(); i++) { printf("Probability to be Number %d is %.3f\n", i, rV[i]); } // processing time check. BBtime = getTickCount(); printf("%.2lf sec / %.2lf fps\n", (BBtime - AAtime) / getTickFrequency(), 1 / ((BBtime - AAtime) / getTickFrequency())); //draw namedWindow("test", 0); imshow("test", img); waitKey(0); } }...
Lenet model was used to test the deep learning classification.
Many other models are introduced on github model zoo.
https://github.com/BVLC/caffe/wiki/Model-Zoo
You can apply other case, on code cDeep.SetNet("lenet_test-memory-1.prototxt", "lenet_iter_10000.caffemodel"); , first param means model structure and second param means the result of deep learning.
If you request to Google Plus to me, I will send the dll with the application code(project).
Labels:
Deep learning,
Handwritten Digit Recognition,
Total
Subscribe to:
Posts (Atom)
-
This is data acquisition source code of LMS511(SICK co.) Source code is made by MFC(vs 2008). The sensor is communicated by TCP/IP. ...
-
As you can see in the following video, I created a class that stitching n cameras in real time. https://www.youtube.com/user/feelmare/sear...
-
Image size of origin is 320*240. Processing time is 30.96 second took. The result of stitching The resul...
-
Optical Flow sample source code using OpenCV. It programed based on http://feelmare.blogspot.kr/2012/10/make-2-frame-having-time-interv...
-
yolo v5 data coordinate format ex) str_v = "32 0.262 0.7878 0.314 0.385" #read image cvmat = cv2.imread(img_path) #get height, w...
-
Creating a custom CUDA kernel that directly utilizes tensor cores is an advanced topic, as tensor cores are typically accessed through highe...
-
Created Date : 2007.1 Language : C/C++ Tool : Microsoft Visual C++ 6.0 Library & Utilized : OpenCV 1.0 Reference : Learning Ope...
-
OpenCV has AdaBoost algorithm function. And gpu version also is provided. For using detection, we prepare the trained xml file. Although...
-
Video stabilization example source code. The principle is like that... Firstly, to obtain 2 adjacent images extract good feature to t...
-
Created Date : 2006.7 Language : Matlab Tool : Matlab Library & Utilized : - Reference : {Paul Viola & Michael Jone}'s P...