Caffe (1-1) Implement LeNet on Caffe

This series is not for the beginner who want to learn Deep Learning. I would recommend the beginner start to learn Deep Learning with my tensorflow series. Good luck! ^-^

1. LeNet: a Convolutional Neural Networks for Image Classification

People used to design low-level feature descriptors (e.g. Scale Invariant Feature Transform (SIFT), Histogram of Oriented Gradients (HOG)) in computer vision to detect and qualify the local features in images. Base on these descriptions, we can calculate the similarity between images and make a image classifier.

An example of feature matching with ORB Descriptors[2].

LeNet was designed by Lecun et al[1]. LeNet is a Convolutional Neural Networks which is designed to find the high-level features in the image. With deep learning algorithm, the computer learns to find the high-level features automatically. The high-level features are more representative to describe the image features and more accurate in feature matching.


2. Blobs, Layers, and Nets

Blobs, Layers, and Nets are the core concepts in Caffe. A Blob is a wrapper over the actual data which is similar to the tensor in Tensorflow. The Layer is the essence of a model and the fundamental unit of computation.

The figure shows the process of the data transfer through a convolution layer. The convolution layers takes a Blob (data) as an input and calculate the convolution of the input. The result is saved in output Blob (conv1).

The net is a set of layers connected in a computation graph.

The figure bellow shows the whole computing process in LeNet and we will start to implement the LeNet next time.


Reference

[1] Yann LeCunPatrick HaffnerLéon BottouYoshua Bengio, Object Recognition with Gradient-Based Learning , Springer (1999)

[2] Feature Matching https://docs.opencv.org/3.3.0/dc/dc3/tutorial_py_matcher.html

留言

熱門文章