VGG脸部描述符在python与caffe
发布时间:2020-12-16 23:43:13 所属栏目:Python 来源:网络整理
导读:我想在 python中实现 VGG Face Descriptor.但我一直收到一个错误: TypeError: can only concatenate list (not “numpy.ndarray”) to list 我的代码: import numpy as npimport cv2 import caffeimg = cv2.imread("ak.png")img = cv2.cvtColor(img,cv2.CO
我想在
python中实现
VGG Face Descriptor.但我一直收到一个错误:
我的代码: import numpy as np import cv2 import caffe img = cv2.imread("ak.png") img = cv2.cvtColor(img,cv2.COLOR_RGB2BGR) net = caffe.Net("VGG_FACE_deploy.prototxt","VGG_FACE.caffemodel",caffe.TEST) print net.forward(img) 你能帮助我吗 ? 更新1 这个工作代码是matlab中的示例 % Copyright (c) 2015,Omkar M. Parkhi % All rights reserved. img = imread('ak.png'); img = single(img); Img = [129.1863,104.7624,93.5940] ; img = cat(3,img(:,:,1)-averageImage(1),... img(:,2)-averageImage(2),3)-averageImage(3)); img = img(:,[3,2,1]); % convert from RGB to BGR img = permute(img,[2,1,3]); % permute width and height model = 'VGG_FACE_16_deploy.prototxt'; weights = 'VGG_FACE.caffemodel'; caffe.set_mode_cpu(); net = caffe.Net(model,weights,'test'); % create net and load weights res = net.forward({img}); prob = res{1}; caffe_ft = net.blobs('fc7').get_data(); 解决方法
要使用python接口,您需要先将输入图像转换为网络
img = caffe.io.load_image( "ak.png" ) img = img[:,::-1]*255.0 # convert RGB->BGR avg = np.array([93.5940,129.1863]) # BGR mean values img = img - avg # subtract mean (numpy takes care of dimensions :) 现在img是H-by-W-by-3 numpy数组. img = img.transpose((2,1)) img = img[None,:] # add singleton dimension 现在你可以运行前进传球了 out = net.forward_all( data = img ) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Python三级目录展示的实现方法
- python-requests – Python请求:[SSL:CERTIFICATE_VERIFY
- 使用inferred_freq设置pandas.tseries.index.DatetimeIndex
- django-rest-framework – Django REST POST和GET不同的节流
- django – 整理复杂的URL调度程序
- 用python脚本监控并发量
- 如何在Django中覆盖延迟删除的get()/ all()/ filter()函数?
- Python中查看文件名和文件路径
- python爬虫基本知识
- python – numpy.array到PNG文件并返回