Code Monkey home page Code Monkey logo

cnn-face-point-detection's Introduction

CNN-Face-Point-Detection

This project is about the utilization of CNN to detect human face point. Trained with the dataset LFW and images from Internet.


2015/9/23 增补

这个CNN人脸配准系统是基于C++写的,核心模块都是自个实现的,代码参考的是一个开源的手写体识别CNN程序: http://www.codeproject.com/Articles/16650/Neural-Network-for-Recognition-of-Handwritten-Digi

论文参考的是: http://mmlab.ie.cuhk.edu.hk/archive/CNN_FacePoint.htm ,训练数据在官方主页里也提供了。

在调试多线程模块的时候一直有错,暂时就把多线程实现的部分注释掉了。故实际训练时是串行训练的,速度可想而知。 在博客 http://blog.csdn.net/reporter521/article/details/45567555 里面也说了,纯属抱着学习的心态。 :)

代码中的注释写的也比较完整,适合对CNN底层实现机制感兴趣的小伙伴。


系统实现的模块大致分为:

1、卷积网络各基础部件模块,包括网络层类,神经元类,网络连接类等,各类别定义了各自的成员变量与成员函数, 详见:NeuralNetwork.h/cpp;

2、网络参数配置模块,对网络训练参数初始化配置,比如学习速率,收敛停止条件等,参数设置以配置文件形式进行读取与修改, 详见:Preferences.h/cpp;

3、网络构建模块,包括对九层网络的逐层构建,层间神经元建立连接,权值初始化等,详见:CCreateNetwork.h/cpp;

4、网络前向/后向模块,前向计算进行网络计算,后向传播进行网络训练,在训练过程中经过一定次数时将网络权值自动保存为本地文件, 详见:CCalculateNetwork.h/cpp;

5、系统逻辑模块,实现命令行的交互实现,若选择进行网络预测,询问是否需要载入已训练好的网络权值,若需要,则弹窗手动选择之前保存的已训练好的网络权值;若选择网络训练,则询问是重新开始训练,还是载入已有参数权重接着进行训练,详见:main.cpp。

cnn-face-point-detection's People

Contributors

feixuan090803 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cnn-face-point-detection's Issues

程序有一些问题

调试的过程中CCalculateNetwork.h和CCalculateNetwork.cpp中有好多错误,
例如:
Error 1 error C2065: 'VectorDoubles' : undeclared identifier file:ccalculatenetwork.h
Error 2 error C2512: 'std::vector' : no appropriate default constructor available file: ccalculatenetwork.cpp
Error 3 error C2065: 'index' : undeclared identifier file:ccalculatenetwork.cpp
Error4 error C3861: 'GetTestImageArrayValues': identifier not found file:ccalculatenetwork.cpp
Error 5 error C2065: 'jj' : undeclared identifier file:ccalculatenetwork.cpp
Error6 IntelliSense: identifier "NeuralNetwork" is undefined file:CCalculateNetwork.h
还有一些其他错误,不知道是不是我有一些地方没有设置好,还是其他什么原因,不知道方不方便加您的QQ或者微信什么的,因为本人c++编程能力不是很好,所以面对这么多错误有点不知道该怎么办

CCalculateNetwork.cpp中间主要是GetTrainImageArrayValues、GetTestImageArrayValues、CalculateNeuralNet、m_utxNeuralNet、GenerateDistortionMap、ApplyDistortionMap函数没有定义,是不是我程序没有下载完整

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.