您的位置:首页 > Web前端

基于 vs2013 + caffe 的 人脸图像 vgg 特征提取

2017-04-19 22:36 627 查看
安装vs2013



安装CUDA+cuDNN

网上关于caffe配置GPU的很多,这里再次略过。后面按照cpu的说。

下载caffe按照cpu编译

微软版caffe下载地址: https://github.com/Microsoft/caffe

编译思路:先将libcaffe设为启动项进行编译。编译过程中会报错。原因是math_functions.cpp文件编码问题,只需将math_functions.cpp保存即可。

关于这一步骤可以参考博客

【win7 64位+caffe+cuda7.5配置】:http://blog.csdn.net/xzzppp/article/details/51510785

【caffe安装教程之WIN7无GPU绝对能安装成功的简单版教程】

http://blog.csdn.net/ecnu18918079120/article/details/63685889

配置库表

参考博客【如何在Visual Studio中像使用OpenCV一样使用Caffe】:

http://blog.csdn.net/mr_curry/article/details/52443126

【include】:



【lib】



注意:将【….\Build\x64\Release】设置为环境变量。生成的dll文件直接可以调用。

5.特征提取

【Caffe C++API 提取任意一张图片的特征系列二—-MemoryData】:

http://blog.csdn.net/sunshine_in_moon/article/details/50126307

【使用Caffe的MemoryData层与VGG网络模型提取Mat的特征】:

http://blog.csdn.net/mr_curry/article/details/52456548#cpp

思路是利用库表在新的工程下对人脸图像进行特征提取。从以下网址下载vgg网络和参数。

http://www.robots.ox.ac.uk/~vgg/software/vgg_face/

按照博客中的提示编译后

错误一:

error C2039: 'AddMatVector' : is not a member of 'caffe::MemoryDataLayer<float>'

error C2783: 'void Caffe_Predefine(void)' : could not deduce template argument for 'Dtype'


【解决办法】:

\src\caffe\layers\memory_data_layer.cpp

\include\caffe\layers\memory_data_layer.hpp

以上两个文档去掉所有的判断USE_OPENCV的代码,然后重新编译。举例如下:

virtual void AddMatVector(const vector<cv::Mat>& mat_vector,
const vector<int>& labels);
//#ifdef USE_OPENCV

//#endif  // USE_OPENCV


错误二:



利用ChenJoya的网络模型vgg_extract_feature_memorydata.prototxt和网址下载vgg网络参数VGG_FACE.caffemodel。图中提示报错是网络模型编码错误



重新保存编码格式,搞定!

搞了4天的特征提取终于欧克了!!!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐