MTCNN/TensorFlow 기반 얼굴 검사 실현

얼굴 검사 방법 은 많은 데,예 를 들 어 opencv 가 가지 고 있 는 얼굴 Haar 특징 분류 기와 dlib 얼굴 검사 방법 등 이 있다.opencv 의 얼굴 검사 방법 은 약간 간단 하고 빠르다.문 제 는 얼굴 검사 효과 가 좋 지 않다 는 점 이다.정면/수직/빛 이 좋 은 사람의 얼굴 은 이 방법 으로 검출 할 수 있 으 나 측면/비 뚤 어 짐/빛 이 좋 지 않 은 사람의 얼굴 은 검출 할 수 없다.따라서 이 방법 은 현장 응용 에 적합 하지 않다.dlib 의 얼굴 검 측 방법 은 opencv 보다 효과 가 좋 지만 검 측 강도 도 현장 응용 기준 에 이 르 기 어렵다.
MTCNN 은 딥 러 닝 한 안면 검사 방법 을 바탕 으로 자연환경 에서 빛,각도,안면 표정 변화 에 노 스틱 성 을 더 해 안면 검사 효과 가 좋다.동시에 메모리 소모 가 크 지 않 아 실시 간 얼굴 검 사 를 실현 할 수 있다.
코드 는 다음 과 같 습 니 다:

from scipy import misc 
import tensorflow as tf 
import detect_face 
import cv2 
import matplotlib.pyplot as plt 
%pylab inline 
 
minsize = 20 # minimum size of face 
threshold = [ 0.6, 0.7, 0.7 ] # three steps's threshold 
factor = 0.709 # scale factor 
gpu_memory_fraction=1.0 
 
 
print('Creating networks and loading parameters') 
 
with tf.Graph().as_default(): 
    gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=gpu_memory_fraction) 
    sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options, log_device_placement=False)) 
    with sess.as_default(): 
      pnet, rnet, onet = detect_face.create_mtcnn(sess, None) 
 
image_path = '/home/cqh/faceData/multi_face/multi_face3.jpg'       
 
img = misc.imread(image_path)       
bounding_boxes, _ = detect_face.detect_face(img, minsize, pnet, rnet, onet, threshold, factor) 
nrof_faces = bounding_boxes.shape[0]#     
print('       :{}'.format(nrof_faces)) 
 
print(bounding_boxes) 
 
crop_faces=[] 
for face_position in bounding_boxes: 
  face_position=face_position.astype(int) 
  print(face_position[0:4]) 
  cv2.rectangle(img, (face_position[0], face_position[1]), (face_position[2], face_position[3]), (0, 255, 0), 2) 
  crop=img[face_position[1]:face_position[3], 
       face_position[0]:face_position[2],] 
   
  crop = cv2.resize(crop, (96, 96), interpolation=cv2.INTER_CUBIC ) 
  print(crop.shape) 
  crop_faces.append(crop) 
  plt.imshow(crop) 
  plt.show() 
   
plt.imshow(img) 
plt.show() 
실험 효 과 는 다음 과 같다.

  


다음 효과 그림 추가:


 MTCNN 에 관 해 서 는 더 많은 자료 가 가능 합 니 다링크 클릭
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기