1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
| {
| "cells": [
| {
| "cell_type": "code",
| "execution_count": 10,
| "metadata": {
| "collapsed": false
| },
| "outputs": [],
| "source": [
| "%matplotlib inline\n",
| "import numpy as np\n",
| "import torch\n",
| "from torch.utils.serialization import load_lua\n",
| "import os\n",
| "import scipy.io as sio\n",
| "import cv2\n",
| "import math\n",
| "from matplotlib import pyplot as plt\n",
| "import imp\n",
| "\n",
| "utils = imp.load_source('utils', '../code/utils.py')"
| ]
| },
| {
| "cell_type": "code",
| "execution_count": 11,
| "metadata": {
| "collapsed": false
| },
| "outputs": [],
| "source": [
| "TRAIN_DATA_DIR = '/Data/nruiz9/data/facial_landmarks/AFLW/aflw_cropped/'"
| ]
| },
| {
| "cell_type": "code",
| "execution_count": 12,
| "metadata": {
| "collapsed": false
| },
| "outputs": [
| {
| "ename": "IOError",
| "evalue": "[Errno 2] No such file or directory: '/Data/nruiz9/data/facial_landmarks/AFLW/aflw_cropped_loose/2/image06292.txt'",
| "output_type": "error",
| "traceback": [
| "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
| "\u001b[0;31mIOError\u001b[0m Traceback (most recent call last)",
| "\u001b[0;32m<ipython-input-12-38d7950fddc1>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mimg\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcv2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mimread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mimg_path\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 6\u001b[0;31m \u001b[0mannot_file\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mimg_name\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;34m'.txt'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 7\u001b[0m \u001b[0mannot\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mannot_file\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreadline\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstrip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'\\n'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msplit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m' '\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0myaw\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfloat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mannot\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0;36m180\u001b[0m \u001b[0;34m/\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpi\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
| "\u001b[0;31mIOError\u001b[0m: [Errno 2] No such file or directory: '/Data/nruiz9/data/facial_landmarks/AFLW/aflw_cropped_loose/2/image06292.txt'"
| ]
| }
| ],
| "source": [
| "img_name = '/Data/nruiz9/data/facial_landmarks/AFLW/aflw_cropped_loose/2/image06292'\n",
| "img_path = os.path.join(img_name + '.jpg')\n",
| "\n",
| "img = cv2.imread(img_path)\n",
| "\n",
| "annot_file = open(img_name + '.txt')\n",
| "annot = annot_file.readline().strip('\\n').split(' ')\n",
| "yaw = float(annot[1]) * 180 / np.pi\n",
| "pitch = float(annot[2]) * 180 / np.pi\n",
| "roll = float(annot[3]) * 180 / np.pi\n",
| "# if yaw < 0:\n",
| "# roll *= -1\n",
| " \n",
| "roll = -roll\n",
| "\n",
| "utils.plot_pose_cube(img, yaw, pitch, roll)\n",
| "\n",
| "img = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)\n",
| "\n",
| "plt.imshow(img)\n",
| "plt.show()\n",
| "print 'yaw, pitch, roll: ', yaw, pitch, roll"
| ]
| },
| {
| "cell_type": "code",
| "execution_count": null,
| "metadata": {
| "collapsed": false
| },
| "outputs": [],
| "source": []
| },
| {
| "cell_type": "raw",
| "metadata": {
| "collapsed": true
| },
| "source": []
| }
| ],
| "metadata": {
| "anaconda-cloud": {},
| "kernelspec": {
| "display_name": "Python [default]",
| "language": "python",
| "name": "python2"
| },
| "language_info": {
| "codemirror_mode": {
| "name": "ipython",
| "version": 2
| },
| "file_extension": ".py",
| "mimetype": "text/x-python",
| "name": "python",
| "nbconvert_exporter": "python",
| "pygments_lexer": "ipython2",
| "version": "2.7.12"
| }
| },
| "nbformat": 4,
| "nbformat_minor": 1
| }
|
|