ms-celeb-1m: Add data extraction script for #170
This commit is contained in:
parent
43e2b61d49
commit
24f616b0bb
|
@ -0,0 +1,54 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
#
|
||||||
|
# Copyright 2016 Carnegie Mellon University
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# This script downloads the VGG Face Dataset from
|
||||||
|
# http://www.robots.ox.ac.uk/~vgg/data/vgg_face/
|
||||||
|
# and aligns the images with OpenFace.
|
||||||
|
#
|
||||||
|
# Brandon Amos
|
||||||
|
# 2016-07-29
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import base64
|
||||||
|
import csv
|
||||||
|
import os
|
||||||
|
import magic # Detect image type from buffer contents (disabled, all are jpg)
|
||||||
|
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument('croppedTSV', type=str)
|
||||||
|
parser.add_argument('--outputDir', type=str, default='raw')
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
with open(args.croppedTSV, 'r') as tsvF:
|
||||||
|
reader = csv.reader(tsvF, delimiter='\t')
|
||||||
|
i = 0
|
||||||
|
for row in reader:
|
||||||
|
MID, faceID, data = row[0], row[4], base64.b64decode(row[-1])
|
||||||
|
|
||||||
|
saveDir = os.path.join(args.outputDir, faceID)
|
||||||
|
savePath = os.path.join(saveDir, MID+'.jpg')
|
||||||
|
|
||||||
|
assert(magic.from_buffer(data) == 'JPEG image data, JFIF standard 1.01')
|
||||||
|
|
||||||
|
os.makedirs(saveDir, exist_ok=True)
|
||||||
|
with open(savePath, 'wb') as f:
|
||||||
|
f.write(data)
|
||||||
|
|
||||||
|
i += 1
|
||||||
|
|
||||||
|
if i % 1000 == 0:
|
||||||
|
print("Extracted {} images.".format(i))
|
Loading…
Reference in New Issue