# -*- coding:utf-8 -*- import random import mxnet as mx import numpy as np from sklearn import preprocessing import base64 import cv2 import time from easydict import EasyDict as edict import os import sys from scipy import misc from mtcnn_detector import MtcnnDetector import numpy as np caffe_root = '../../caffe-ssd/python' # 设置当前的工作环境在caffe下 sys.path.insert(0, caffe_root) import caffe sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'src', 'common')) #放入preprocess路径 import face_preprocess caffe.set_device(0) caffe.set_mode_gpu() model_def = '../models/sfd/deploy.prototxt' model_weights = '../models/sfd/SFD.caffemodel' net = caffe.Net(model_def, model_weights, caffe.TEST) #把上面添加的两个变量都作为参数构造一个Net #********************************SFD*********************************************************************** def sfd_detection(frame, threshold, mode): # start = time.time() image = frame height = image.shape[0] width = image.shape[1] # 适用于长宽不对等的场景,进行长宽等比例变化 if mode == 'reg': im_shrink = 80.0 / max(image.shape[0], image.shape[1]) # print(im_shrink) # waitkey() elif mode == 'global': im_shrink = 320.0 / max(image.shape[0], image.shape[1]) elif mode == 'cached': im_shrink = 160.0 / max(image.shape[0], image.shape[1]) image = cv2.resize(image, None, None, fx=im_shrink, fy=im_shrink, interpolation=cv2.INTER_LINEAR) #调整输入样本大小以便输入神经网络呦 (3维) 320*320*3 # cv2.imshow('iamge',image) # cv2.waitKey(0) # print image.shape[0] # print image.shape[1] net.blobs['data'].reshape(1, 3, image.shape[0], image.shape[1]) #由于matplotlib加载的image像素(0-1)之间,图片:RGB 而caffe需要像素(0-255),图片:BGR ,因此要转换 transformer = caffe.io.Transformer({'data': net.blobs['data'].data.shape}) #channel通道提前 transformer.set_transpose('data', (2, 0, 1)) transformer.set_mean('data', np.array([104, 117, 123])) #像素放大,通道RGB->BGR transformer.set_raw_scale('data', 255) transformer.set_channel_swap('data', (2, 1, 0)) #处理加载的图片 transformed_image = transformer.preprocess('data', image) net.blobs['data'].data[...] = transformed_image #前向传
利用caffe和mxnet 打开摄像头,进行人脸检测
最新推荐文章于 2023-05-02 11:18:41 发布