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)
-
In past, I wrote an articel about YUV 444, 422, 411 introduction and yuv rgb converting example code. refer to this page -> http://feel...
-
The latent SVM tells the learning method used in this paper -> "Discriminatively trained deformable part models". The authors s...
-
My Environment : MS VS 2008 & MFC(Dialog Based) Joy Stick : Logitech Extreme 3D pro (XBox Type) Cteated Date : 2012. 03 [source code]...
-
refer to code: .. import torch # create a tensor x = torch . randn ( 3 , 4 ) # set print options to display full tensor torch . set_print...
-
Created Date : 2011.10 Language : C/C++ Tool : Microsoft Visual C++ 2008 Library & Utilized : OpenCV 2.3 Reference : SIFT referenc...
-
KEY KeyCode ASCII KEY KeyCode ASCII 0 48 48 Numpad 0 96 48 1 49 49 Numpad 1 97 49 2 50 50 Num...
-
Example 1: Basic Variadic Template # include <iostream> // 1. Simple function that accepts any number of arguments template ...
-
Video stabilization example source code. The principle is like that... Firstly, to obtain 2 adjacent images extract good feature to t...
-
This is dithering example, it make image like a stippling effect. I referenced to blew website. wiki page: https://en.wikipedia.org/wik...
-
make well divided linear coordinate And make pair coordinate Please see code for detail explanation. import numpy as np import cv2 ...