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)
-
Logistic Classifier The logistic classifier is similar to equation of the plane. W is weight vector, X is input vector and y is output...
-
//Singular value decomposition : Mat w, u, v; SVDecomp(data, w, u, v); // A = U W V^T //The flags cause U and V to be returned transpose...
-
In past, I wrote an articel about YUV 444, 422, 411 introduction and yuv rgb converting example code. refer to this page -> http://feel...
-
dp parameter is about resolution of voting space. dp is larger, voting resolution is small compare to image size. so dp is larger, circle...
-
Optical Flow sample source code using OpenCV. It programed based on http://feelmare.blogspot.kr/2012/10/make-2-frame-having-time-interv...
-
line, circle, rectangle, ellipse, polyline, fillConvexPoly, putText, drawContours example source code!!. ... //http://study....
-
What is TorchOps.cpp.inc ? TorchOps.cpp.inc : This file contains implementations of the operations for the torch-mlir dialect. It is ty...
-
recent EEG datasets and papers from the last 5 years: OpenNeuro EEG Datasets (2020-Present) DS003190: High-density EEG during motor tasks (...
-
I can know all coordinate from A point to B point using "LineIterator" function in OpenCV. So this source code is applied by this...
-
TensorFlow install using virtualenv on ubuntu environment. The method is same with pip install. http://study.marearts.com/2016/04/tensorf...