{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import cv2 as cv\n", "import numpy as np\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "import sys\n", "from glob import glob\n", "from os.path import join\n", "from pathlib import Path\n", "sys.path.append('/work/megapixels_dev/megapixels')\n", "from app.models.bbox import BBox\n", "#from app.utils import im_utils" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "dir_ims = '/data_store_ssd/apps/megapixels/datasets/umd_faces/faces/'" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "366192\n" ] } ], "source": [ "fp_ims = glob(join(dir_ims, '*.png'))\n", "print(len(fp_ims))" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "from random import randint" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "import face_alignment\n", "from skimage import io\n", "\n", "fa = face_alignment.FaceAlignment(face_alignment.LandmarksType._3D, flip_input=False, device='cuda')" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 7.7000000e+01 1.4900000e+02 -1.1224205e+02]\n", " [ 8.2000000e+01 1.9300000e+02 -1.2135642e+02]\n", " [ 9.8000000e+01 2.3000000e+02 -1.2948232e+02]\n", " [ 1.0400000e+02 2.6300000e+02 -1.3206934e+02]\n", " [ 1.2000000e+02 3.0600000e+02 -1.2124072e+02]\n", " [ 1.4200000e+02 3.4400000e+02 -9.2954704e+01]\n", " [ 1.6300000e+02 3.7100000e+02 -5.4981693e+01]\n", " [ 1.9600000e+02 3.9300000e+02 -1.7925461e+01]\n", " [ 2.4400000e+02 4.0300000e+02 2.7864736e-01]\n", " [ 2.9300000e+02 3.8700000e+02 -1.3769936e+01]\n", " [ 3.2600000e+02 3.6000000e+02 -4.6755795e+01]\n", " [ 3.4700000e+02 3.3300000e+02 -8.0964935e+01]\n", " [ 3.6900000e+02 3.0100000e+02 -1.0593121e+02]\n", " [ 3.7400000e+02 2.5700000e+02 -1.1472308e+02]\n", " [ 3.8000000e+02 2.2000000e+02 -1.1149809e+02]\n", " [ 3.9000000e+02 1.8200000e+02 -1.0361591e+02]\n", " [ 3.9000000e+02 1.3900000e+02 -9.4220436e+01]\n", " [ 1.0400000e+02 1.3300000e+02 4.3474506e+01]\n", " [ 1.2000000e+02 1.2200000e+02 7.1498917e+01]\n", " [ 1.4200000e+02 1.2200000e+02 8.9102051e+01]\n", " [ 1.6300000e+02 1.2800000e+02 9.8589928e+01]\n", " [ 1.8000000e+02 1.3300000e+02 1.0129678e+02]\n", " [ 2.6100000e+02 1.2800000e+02 1.0623423e+02]\n", " [ 2.8200000e+02 1.1700000e+02 1.0553984e+02]\n", " [ 3.0400000e+02 1.1100000e+02 9.8668877e+01]\n", " [ 3.3100000e+02 1.1100000e+02 8.4234200e+01]\n", " [ 3.5300000e+02 1.1700000e+02 5.7826008e+01]\n", " [ 2.2300000e+02 1.7600000e+02 8.9960014e+01]\n", " [ 2.2300000e+02 2.0900000e+02 9.7667168e+01]\n", " [ 2.2300000e+02 2.3600000e+02 1.1006288e+02]\n", " [ 2.2800000e+02 2.5700000e+02 1.0699586e+02]\n", " [ 2.0700000e+02 2.6800000e+02 6.2377831e+01]\n", " [ 2.1700000e+02 2.7400000e+02 6.8581779e+01]\n", " [ 2.3400000e+02 2.7400000e+02 7.1986130e+01]\n", " [ 2.4400000e+02 2.6800000e+02 7.0020035e+01]\n", " [ 2.6100000e+02 2.6300000e+02 6.4959923e+01]\n", " [ 1.3100000e+02 1.6600000e+02 5.2735260e+01]\n", " [ 1.4700000e+02 1.6000000e+02 7.1834030e+01]\n", " [ 1.6300000e+02 1.6000000e+02 7.3827728e+01]\n", " [ 1.8500000e+02 1.7100000e+02 6.5663589e+01]\n", " [ 1.6900000e+02 1.7600000e+02 6.9234627e+01]\n", " [ 1.4700000e+02 1.7600000e+02 6.4162338e+01]\n", " [ 2.6600000e+02 1.6600000e+02 7.1274078e+01]\n", " [ 2.8800000e+02 1.5500000e+02 8.1187317e+01]\n", " [ 3.0400000e+02 1.5500000e+02 8.1272804e+01]\n", " [ 3.2000000e+02 1.5500000e+02 6.3240097e+01]\n", " [ 3.0400000e+02 1.7100000e+02 7.2885315e+01]\n", " [ 2.8200000e+02 1.7100000e+02 7.6228050e+01]\n", " [ 1.8000000e+02 3.1200000e+02 2.4142036e+01]\n", " [ 1.9600000e+02 3.0600000e+02 5.0310665e+01]\n", " [ 2.2300000e+02 3.0100000e+02 6.6943947e+01]\n", " [ 2.3400000e+02 3.0100000e+02 6.8957146e+01]\n", " [ 2.4400000e+02 3.0100000e+02 6.8649460e+01]\n", " [ 2.7700000e+02 3.0100000e+02 5.3547874e+01]\n", " [ 2.9800000e+02 3.0100000e+02 2.7884233e+01]\n", " [ 2.7700000e+02 3.2200000e+02 4.4683220e+01]\n", " [ 2.5500000e+02 3.3900000e+02 5.2615326e+01]\n", " [ 2.3900000e+02 3.4400000e+02 5.3733994e+01]\n", " [ 2.1700000e+02 3.3900000e+02 5.0684834e+01]\n", " [ 2.0100000e+02 3.2800000e+02 4.1441620e+01]\n", " [ 1.8500000e+02 3.1200000e+02 2.4862476e+01]\n", " [ 2.1700000e+02 3.1700000e+02 5.4459751e+01]\n", " [ 2.3400000e+02 3.1200000e+02 5.9157970e+01]\n", " [ 2.5500000e+02 3.1200000e+02 5.6092865e+01]\n", " [ 2.9300000e+02 3.0100000e+02 2.7973539e+01]\n", " [ 2.5500000e+02 3.1700000e+02 5.4150818e+01]\n", " [ 2.3400000e+02 3.2200000e+02 5.5666077e+01]\n", " [ 2.1700000e+02 3.2200000e+02 5.2463966e+01]]\n" ] } ], "source": [ "fp_im = np.random.choice(fp_ims)\n", "im = io.imread(fp_im)\n", "preds = fa.get_landmarks(im)\n", "print(preds[0])" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "import json" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "68\n" ] } ], "source": [ "print(len(preds[0]))\n" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "with open('test.json', 'w') as fp:\n", " json.dump(preds[0].tolist(), fp)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python [conda env:megapixels]", "language": "python", "name": "conda-env-megapixels-py" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.7" } }, "nbformat": 4, "nbformat_minor": 2 }