您的位置:首页 > 编程语言 > Python开发

深度学习(PYTORCH)-2.python调用dlib提取人脸68个特征点

2018-03-02 16:26 1321 查看

在看官方教程时,无意中发现别人写的一个脚本,非常简洁。

官方教程地址:http://pytorch.org/tutorials/beginner/data_loading_tutorial.html#sphx-glr-beginner-data-loading-tutorial-py

使用的是dlib自带的特征点检测库,初期用来测试还是不错的

 

1 from __future__ import print_function, division
2 import os
3 import torch
4 import pandas as pd
5 from skimage import io, transform
6 import numpy as np
7 import matplotlib.pyplot as plt
8 from torch.utils.data import Dataset, DataLoader
9 from torchvision import transforms, utils
10
11 # Ignore warnings
12 import warnings
13 warnings.filterwarnings("ignore")
14
15 plt.ion()   # interactive mode
16
17 landmarks_frame = pd.read_csv('faces/face_landmarks.csv')
18
19 n = 5
20 img_name = landmarks_frame.iloc[n, 0]
21 landmarks = landmarks_frame.iloc[n, 1:].as_matrix()
22 landmarks = landmarks.astype('float').reshape(-1, 2)
23
24 print('Image name: {}'.format(img_name))
25 print('Landmarks shape: {}'.format(landmarks.shape))
26 print('First 4 Landmarks: {}'.format(landmarks[:4]))
27
28 def show_landmarks(image, landmarks):
29     """Show image with landmarks"""
30     plt.imshow(image)
31     plt.scatter(landmarks[:, 0], landmarks[:, 1], s=10, marker='.', c='r')
32     plt.pause(0.001)  # pause a bit so that plots are updated
33
34 plt.figure()
35 show_landmarks(io.imread(os.path.join('faces/', img_name)),
36                landmarks)
37 plt.show()
View Code

 效果图:

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