Digit Cleaner Idea
Contents
Digit Cleaner Idea#
%load_ext autoreload
%autoreload 2
Imports#
import pandas as pd
import numpy as np
import cv2
import os
import matplotlib.pyplot as plt
import itertools
from IPython.display import display, Image
from aiking.data.external import * #We need to import this after fastai modules
from ipywidgets.widgets import interact
import warnings
import os
import dask.bag as db
from fastprogress.fastprogress import master_bar, progress_bar
from matplotlib import cm
from fastcore.xtras import *
import PIL
import skimage
import imutils
from imutils import contours
import itertools
from dask.diagnostics import ProgressBar
path = untar_data("kaggle_competitions::ultra-mnist"); path
(path/"sample").ls()
(#560) [Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample/zzoraczqoe.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample/rwrnaoifjc.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample/aadalkvtqc.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample/qtmqrprqyd.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample/wpkrnfycyr.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample/ohzlpnyrpp.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample/fnffkeomht.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample/hzkaomeimm.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample/owxpzanmht.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample/tapvaidyxs.jpeg')...]
Image((path/"sample").ls()[0])
img_loc = (path/"sample").ls()[0]
img = cv2.imread(str(img_loc.resolve()), cv2.IMREAD_GRAYSCALE)
plt.imshow(cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY,11,2), cmap='gray')
<matplotlib.image.AxesImage at 0xf9480874be0>
plt.imshow(skimage.measure.label(img_thresh(img), background=0),cmap='gray')
Heelo
img_loc = (path/"sample").ls()[0]
img = cv2.imread(str(img_loc.resolve()), cv2.IMREAD_GRAYSCALE)
blur = cv2.GaussianBlur(img,(5,5),0)
ret3,th3 = cv2.threshold(blur,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
plt.imshow(th3, cmap='gray')
<matplotlib.image.AxesImage at 0xf9480e99fd0>
def image_cleaner(img, threshold=0.5):
img = img/255
for i,j in itertools.product(range(4), range(4)):
x1 = 1000*i
x2 = 1000*(i+1)
y1 = 1000*j
y2 = 1000*(j+1)
if np.mean(img[x1:x2, y1:y2]) > threshold:
img[x1:x2, y1:y2] = np.abs(img[x1:x2, y1:y2] -1)
return img
def image_cleaner2(img, threshold=0.5):
img = img/255
for i,j in itertools.product(range(4), range(4)):
x1 = 1000*i
x2 = 1000*(i+1)
y1 = 1000*j
y2 = 1000*(j+1)
max_xy = 4000
border = img[x1:x2,min(y1,max_xy -1)].sum() + img[x1:x2, y2-1].sum() + img[min(x1, max_xy-1), y1:y2].sum() + img[x2-1, y1:y2].sum()
if border >=2000: img[x1:x2, y1:y2] = np.abs(img[x1:x2, y1:y2] -1)
return img
images = (path/"sample").ls()
df_train = pd.read_csv(path/"sample.csv")
@interact(idx=(0, len(images)))
def display_img(idx):
img_loc = images[idx]
img_name = os.path.splitext(img_loc.name)[0]
print(df_train[df_train['id'] == img_name]['digit_sum'].values)
img1 = cv2.imread(str(img_loc.resolve()), cv2.IMREAD_GRAYSCALE)
img2 = img1/255
Hori = np.concatenate((img1/255, img2), axis=1)
plt.imshow(Hori, cmap='gray')
# return cv2.imread(img_loc)
# return display(Image(img_loc, width=200, height=200), Image(img_loc, width=200, height=200))
Cleaning Background#
pb_train = (path/"sample_black")
pb_test = (path/"sample_black")
pb_train.mkdir(exist_ok=True)
pb_test.mkdir(exist_ok=True)
pb_train = (path/"sample_black")
pb_test = (path/"sample_black")
pb_train.mkdir(exist_ok=True)
pb_test.mkdir(exist_ok=True)
def create_clean_ds2(folder="train"):
pb_folder = path/f"{folder}_black"
def convert_image(img):
if not (pb_folder/img.name).exists():
data = image_cleaner2(cv2.imread(str(img.resolve()), cv2.IMREAD_GRAYSCALE))
data = cv2.normalize(data, None, alpha = 0, beta = 255, norm_type = cv2.NORM_MINMAX, dtype = cv2.CV_32F).astype(np.uint8)
cv2.imwrite(str(pb_folder/img.name), data)
return True
res = db.from_sequence((path/folder).ls()).map(convert_image)
with ProgressBar():
res.compute()
# create_clean_ds2(folder="sample")
[########################################] | 100% Completed | 1min 19.1s
(path/"sample_black").ls()
(#560) [Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black/ozzioujjff.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black/acworymlmx.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black/nfvxbldmyo.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black/pmnkjbsjqh.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black/ssjpzbxbga.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black/mcaakomsax.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black/zxjkvwzvmd.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black/ehvjfkpjjw.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black/lyavphllie.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black/mmyqlgtbrp.jpeg')...]
Image((path/"sample_black").ls()[0])
path.ls()
(#16) [Path('/Landmark2/pdo/aiking/data/ultra-mnist/test_black'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/train_sample.csv'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample.csv'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/train.csv'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/train'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/train_train.csv'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/test'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/train_black2'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/valid_train.csv')...]
Read Image sans background and make adjustment#
Gausian Blur
Threshold - erod & dilate (converts into 0 and 1)
Converts into labels (connected or non zero pixel)
mask image -> filters labels for which pixel count is less than zero and add filtered image ( all labels get 255)
img_loc = (path/"sample_black").ls()[0]; img_loc
Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black/ozzioujjff.jpeg')
img = cv2.imread(str(img_loc), 0)
img
array([[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
...,
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0]], dtype=uint8)
pd.concat([pd.read_csv(path/"train_sample.csv"), pd.read_csv(path/"valid_sample.csv")]).to_csv(path/"sample.csv", index=False)
df = pd.read_csv(path/"sample.csv")
pd.read_csv(path/"sample.csv")['digit_sum'].value_counts().sort_index()
0 20
1 20
2 20
3 20
4 20
5 20
6 20
7 20
8 20
9 20
10 20
11 20
12 20
13 20
14 20
15 20
16 20
17 20
18 20
19 20
20 20
21 20
22 20
23 20
24 20
25 20
26 20
27 20
Name: digit_sum, dtype: int64
df= pd.read_csv(path/"sample.csv")
# df[df['id'] == "jcjbrllwhj"]
df[df['id'] == img_loc.name.split(sep=".")[0]]['digit_sum'].values[0]
12
img_loc.name.split(sep=".")[0]
'ozzioujjff'
blurred = cv2.GaussianBlur(img, (11,11),0)
plt.imshow(blurred, cmap='gray')
<matplotlib.image.AxesImage at 0xf3edfdfbd30>
thresh = cv2.threshold(blurred, 10, 255, cv2.THRESH_BINARY)[1]
plt.imshow(thresh, cmap='gray')
<matplotlib.image.AxesImage at 0xf3edfd66820>
def img_thresh(input_img):
blurred = cv2.GaussianBlur(input_img, (11,11),0)
thresh = cv2.threshold(blurred, 10, 255, cv2.THRESH_BINARY)[1]
return thresh
plt.imshow(img_thresh(img), cmap='gray')
<matplotlib.image.AxesImage at 0xf3edfcde3a0>
images = (path/"sample").ls()
images.sort()
images2 = (path/"sample_black").ls()
images2.sort()
df_train = pd.read_csv(path/"sample.csv")
@interact(idx=(0, len(images)))
def display_img(idx):
img_loc = images[idx]
img_loc2 = images2[idx]
img_name = os.path.splitext(img_loc.name)[0]
print(df_train[df_train['id'] == img_name]['digit_sum'].values)
img1 = cv2.imread(str(img_loc.resolve()), cv2.IMREAD_GRAYSCALE)
img2 = cv2.imread(str(img_loc2.resolve()), cv2.IMREAD_GRAYSCALE)
img3 = img_thresh(img2)
img4 = img_thresh(img1)
Hori = np.concatenate((img1, img2, img3, img4), axis=1)
plt.imshow(Hori, cmap='gray')
skimage.measure.label?
Signature:
skimage.measure.label(
label_image,
background=None,
return_num=False,
connectivity=None,
)
Docstring:
Label connected regions of an integer array.
Two pixels are connected when they are neighbors and have the same value.
In 2D, they can be neighbors either in a 1- or 2-connected sense.
The value refers to the maximum number of orthogonal hops to consider a
pixel/voxel a neighbor::
1-connectivity 2-connectivity diagonal connection close-up
[ ] [ ] [ ] [ ] [ ]
| \ | / | <- hop 2
[ ]--[x]--[ ] [ ]--[x]--[ ] [x]--[ ]
| / | \ hop 1
[ ] [ ] [ ] [ ]
Parameters
----------
label_image : ndarray of dtype int
Image to label.
background : int, optional
Consider all pixels with this value as background pixels, and label
them as 0. By default, 0-valued pixels are considered as background
pixels.
return_num : bool, optional
Whether to return the number of assigned labels.
connectivity : int, optional
Maximum number of orthogonal hops to consider a pixel/voxel
as a neighbor.
Accepted values are ranging from 1 to input.ndim. If ``None``, a full
connectivity of ``input.ndim`` is used.
Returns
-------
labels : ndarray of dtype int
Labeled array, where all connected regions are assigned the
same integer value.
num : int, optional
Number of labels, which equals the maximum label index and is only
returned if return_num is `True`.
See Also
--------
regionprops
regionprops_table
References
----------
.. [1] Christophe Fiorio and Jens Gustedt, "Two linear time Union-Find
strategies for image processing", Theoretical Computer Science
154 (1996), pp. 165-181.
.. [2] Kensheng Wu, Ekow Otoo and Arie Shoshani, "Optimizing connected
component labeling algorithms", Paper LBNL-56864, 2005,
Lawrence Berkeley National Laboratory (University of California),
http://repositories.cdlib.org/lbnl/LBNL-56864
Examples
--------
>>> import numpy as np
>>> x = np.eye(3).astype(int)
>>> print(x)
[[1 0 0]
[0 1 0]
[0 0 1]]
>>> print(label(x, connectivity=1))
[[1 0 0]
[0 2 0]
[0 0 3]]
>>> print(label(x, connectivity=2))
[[1 0 0]
[0 1 0]
[0 0 1]]
>>> print(label(x, background=-1))
[[1 2 2]
[2 1 2]
[2 2 1]]
>>> x = np.array([[1, 0, 0],
... [1, 1, 5],
... [0, 0, 0]])
>>> print(label(x))
[[1 0 0]
[1 1 2]
[0 0 0]]
File: /opt/anaconda/envs/aiking/lib/python3.9/site-packages/skimage/measure/_label.py
Type: function
plt.imshow(skimage.measure.label(img_thresh(img), background=0),cmap='gray')
<matplotlib.image.AxesImage at 0xf3ede7c24f0>
plt.imshow(img[ 2075:2500, 600:1300])
<matplotlib.image.AxesImage at 0xf3edec5b400>
np.unique(skimage.measure.label(img_thresh(img[ 2075:2500, 600:1300])).flatten())
array([0, 1])
np.unique(skimage.measure.label(img_thresh(img), background=0).flatten(), return_index=True)
(array([0, 1, 2, 3, 4, 5, 6, 7, 8]),
array([ 0, 1743489, 2894014, 5133973, 8256805, 8883269,
8891560, 10280735, 14241163]))
labels = skimage.measure.label(img_thresh(img), background=0)
mask = np.zeros(img.shape, dtype='uint8')
@interact(x = (1,8))
def plt_ln(x=1):
lbl_mask = np.zeros(img.shape, dtype="uint8")
lbl_mask[labels == x] = 255
plt.imshow(lbl_mask)
def mask_img(img, pxl_thresh=100):
labels = skimage.measure.label(img, background=0)
mask = np.zeros(img.shape, dtype='uint8')
for lbl in np.unique(labels):
if lbl==0: continue
lbl_mask = np.zeros(img.shape, dtype='uint8')
lbl_mask[labels==lbl] = 255
if cv2.countNonZero(lbl_mask) > pxl_thresh: mask = cv2.add(mask, lbl_mask)
return mask
plt.imshow(mask_img(img_thresh(img)), cmap='gray')
<matplotlib.image.AxesImage at 0xf3ebc5967c0>
np.unique(mask_img(img_thresh(img)))
array([ 0, 255], dtype=uint8)
Find contours and draw boxes#
plt.imshow(img, cmap='gray')
np.unique(img)
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255], dtype=uint8)
cv2.findContours?
Docstring:
findContours(image, mode, method[, contours[, hierarchy[, offset]]]) -> contours, hierarchy
. @brief Finds contours in a binary image.
.
. The function retrieves contours from the binary image using the algorithm @cite Suzuki85 . The contours
. are a useful tool for shape analysis and object detection and recognition. See squares.cpp in the
. OpenCV sample directory.
. @note Since opencv 3.2 source image is not modified by this function.
.
. @param image Source, an 8-bit single-channel image. Non-zero pixels are treated as 1's. Zero
. pixels remain 0's, so the image is treated as binary . You can use #compare, #inRange, #threshold ,
. #adaptiveThreshold, #Canny, and others to create a binary image out of a grayscale or color one.
. If mode equals to #RETR_CCOMP or #RETR_FLOODFILL, the input can also be a 32-bit integer image of labels (CV_32SC1).
. @param contours Detected contours. Each contour is stored as a vector of points (e.g.
. std::vector<std::vector<cv::Point> >).
. @param hierarchy Optional output vector (e.g. std::vector<cv::Vec4i>), containing information about the image topology. It has
. as many elements as the number of contours. For each i-th contour contours[i], the elements
. hierarchy[i][0] , hierarchy[i][1] , hierarchy[i][2] , and hierarchy[i][3] are set to 0-based indices
. in contours of the next and previous contours at the same hierarchical level, the first child
. contour and the parent contour, respectively. If for the contour i there are no next, previous,
. parent, or nested contours, the corresponding elements of hierarchy[i] will be negative.
. @note In Python, hierarchy is nested inside a top level array. Use hierarchy[0][i] to access hierarchical elements of i-th contour.
. @param mode Contour retrieval mode, see #RetrievalModes
. @param method Contour approximation method, see #ContourApproximationModes
. @param offset Optional offset by which every contour point is shifted. This is useful if the
. contours are extracted from the image ROI and then they should be analyzed in the whole image
. context.
Type: builtin_function_or_method
def find_contours(img_in, mask, draw=True, debug=False):
cnts = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
cnts = imutils.grab_contours(cnts)
cnts = contours.sort_contours(cnts)[0]
bbox_list = []
if debug:print(f"Found {len(cnts)} countours/numbers")
img_rgb = cv2.cvtColor(img_in.astype('float32'), cv2.COLOR_GRAY2RGB)
for (i,c) in enumerate(cnts):
(x,y,w,h) = cv2.boundingRect(c)
bbox_list.append([x,y,w,h])
if debug: print(bbox_list)
if draw:
red = (255, 0, 0)
thickness = 5
cv2.rectangle(img_rgb, (x,y), (x+w, y+h), red, thickness)
return bbox_list, img_rgb
img_in = img.copy()
mask = mask_img(img_thresh(img_in))
bbox_list, img_rgb = find_contours(img_in, mask)
plt.imshow(img_rgb)
Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers).
<matplotlib.image.AxesImage at 0xf3ebc24ca90>
Crop#
display(PIL.Image.fromarray(img_rgb.astype(np.uint8)).resize((480,480)))
bbox_list
[[586, 2064, 726, 510],
[1121, 3560, 86, 86],
[1924, 723, 694, 866],
[2736, 2220, 950, 1186],
[3486, 435, 13, 16]]
x, y, w, h = bbox_list[2]
x, y, w, h
(1924, 723, 694, 866)
@interact(i=(0,4))
def img_bbox(i=1):
offset = 5
y, x, h, w = bbox_list[i]
bbox_img = img[x+offset:x+w-offset, y+offset:y+h-offset]
plt.imshow(bbox_img, cmap='gray')
for bbox in bbox_list:
bbox_img = img[bbox[1]:bbox[1]+bbox[3], bbox[0]:bbox[0]+bbox[2]]
print(bbox)
h, w = bbox_img.shape
print(h,w)
if bbox[3] > bbox[2]:
scale = bbox[3]
offset_w = int((scale - w) / 2)
offset_h = 0
else:
scale = bbox[2]
offset_h = int((scale - h) / 2)
offset_w = 0
print("----")
print(scale, offset_h, offset_w)
[586, 2064, 726, 510]
510 726
----
726 108 0
[1121, 3560, 86, 86]
86 86
----
86 0 0
[1924, 723, 694, 866]
866 694
----
866 0 86
[2736, 2220, 950, 1186]
1186 950
----
1186 0 118
[3486, 435, 13, 16]
16 13
----
16 0 1
list('abcdefghijklmnopqrstuvwxyz')
['a',
'b',
'c',
'd',
'e',
'f',
'g',
'h',
'i',
'j',
'k',
'l',
'm',
'n',
'o',
'p',
'q',
'r',
's',
't',
'u',
'v',
'w',
'x',
'y',
'z']
def img_bbox(bbox, img, offset=5):
y, x, h, w = bbox
bbox_img = img[x+offset:x+w-offset, y+offset:y+h-offset]
return bbox_img
# (path/"sample_black_cropped").mkdir()
cropped = path/"sample_black_cropped"
cropped.mkdir(exist_ok=True)
img_loc = (path/"sample_black").ls()[0]; img_loc
def create_bbox_images(img_loc, cropped):
img = cv2.imread(str(img_loc.resolve()), cv2.IMREAD_GRAYSCALE); img
img_in = img.copy()
mask = mask_img(img_thresh(img_in))
bbox_list, img_rgb = find_contours(img_in, mask)
abcd = list('abcdefghijklmnopqrstuvwxyz')[:len(bbox_list)]
folder = cropped/img_loc.stem
folder.mkdir(exist_ok=True, parents=True)
new_names = [folder/f"{n}.jpeg" for n in abcd]
for bbox, new_name in zip(bbox_list, new_names):
b_img = img_bbox(bbox, img_in)
# if b_img.any():
# # print(b_img)
cv2.imwrite(str(new_name), b_img)
return True
create_bbox_images(img_loc, cropped = path/"sample_black_cropped")
True
folder.ls()
(#5) [Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped/ozzioujjff/a.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped/ozzioujjff/e.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped/ozzioujjff/d.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped/ozzioujjff/b.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped/ozzioujjff/c.jpeg')]
def create_bbox_ds(path, inp_folder="sample_black", out_folder="sample_black_cropped"):
def create_part_images(img_loc):
return create_bbox_images(img_loc, cropped = path/out_folder)
res = db.from_sequence((path/inp_folder).ls()).map(create_part_images)
with ProgressBar():
res.compute()
# !rm -rf {path/"sample_black_cropped"}
(path/"sample_black_cropped").ls()
(#0) []
create_bbox_ds(path)
[########################################] | 100% Completed | 3min 52.6s
out_folder="sample_black_cropped"
df = pd.DataFrame([(len(p.ls()), p.name) for p in (path/out_folder).ls()], columns=['count','name'])
df['count'].min(), df['count'].max()
(2, 8)
Image(path/"sample_black"/"hfyjjdeumw.jpeg")
create_bbox_images(path/"sample_black"/"hfyjjdeumw.jpeg", cropped)
True
(cropped/"hfyjjdeumw").ls()
(#4) [Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped/hfyjjdeumw/b.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped/hfyjjdeumw/c.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped/hfyjjdeumw/a.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped/hfyjjdeumw/d.jpeg')]
img_loc=path/"sample_black"/"hfyjjdeumw.jpeg"
img = cv2.imread(str(img_loc.resolve()), cv2.IMREAD_GRAYSCALE); img
img_in = img.copy()
mask = mask_img(img_thresh(img_in))
bbox_list, img_rgb = find_contours(img_in, mask)
for bbox, new_name in zip(bbox_list, new_names):
b_img = img_bbox(bbox, img_in)
print(b_img.any())
plt.imshow(img_rgb)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
/tmp/ipykernel_12339/2160189799.py in <module>
6
7 for bbox, new_name in zip(bbox_list, new_names):
----> 8 b_img = img_bbox(bbox, img_in)
9 print(b_img.any())
10 plt.imshow(img_rgb)
TypeError: img_bbox() takes from 0 to 1 positional arguments but 2 were given
len(bbox_list)
4
@interact(i=(0,3))
def img_bbox(i=1):
offset = 5
IMG_SIZE=28
y, x, h, w = bbox_list[i]
bbox_img = img[x+offset:x+w-offset, y+offset:y+h-offset]
b_img = cv2.resize(bbox_img, (IMG_SIZE, IMG_SIZE), interpolation = cv2.INTER_AREA)
plt.imshow(b_img, cmap='gray')
Resize#
in_fldr = path/"sample_black_cropped"
in_fldr.ls()
(#560) [Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped/llryflauvv'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped/xrnwyjzamp'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped/tpyloecpbx'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped/jroekdxwjw'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped/wbelpslmbg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped/yupjnsjsqy'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped/lafvkcfhcl'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped/vfonzjfjwj'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped/wmimfdlyif'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped/bfdzwlwrqz')...]
out_fldr = path/"sample_black_cropped_resized"
out_fldr.mkdir(exist_ok=True)
out_fldr.ls()
(#560) [Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/hegedhdtzz'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/tzcypygtyo'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/nghngkxuvz'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/elzufgggux'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/wgsfwpthji'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/fezzxwqxdj'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/smqaakeyiw'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/jdqosrkjgs'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/eofiyhqyty'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/mdggejfmfw')...]
def resize_img(img_loc, img_sz):
img = cv2.imread(str(img_loc.resolve()), cv2.IMREAD_GRAYSCALE)
b_img = cv2.resize(img, (img_sz, img_sz), interpolation = cv2.INTER_AREA)
return b_img
def resize_fldr(p, img_sz=28):
img_fldr = (out_fldr/p.stem)
img_fldr.mkdir(exist_ok=True, parents=True)
new_fnames = [cv2.imwrite(str(img_fldr/o.name), resize_img(o, img_sz)) for o in p.glob("*.jpeg")]
return new_fnames
resize_fldr((path/in_fldr).ls()[0])
# [resize_fldr(p) for p in (path/in_fldr).ls()]
[True, True, True, True]
o =(path/in_fldr).ls()[0].name
(path/out_fldr/o).ls()
# cv2.imwrite?
(#4) [Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/hegedhdtzz/d.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/hegedhdtzz/a.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/hegedhdtzz/c.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/hegedhdtzz/b.jpeg')]
def create_resize_ds(path, inp_folder="sample_black_cropped", out_folder="sample_black_cropped_resized"):
in_fldr = path/inp_folder
out_fldr = path/out_folder
def resize_fldr(p, img_sz=28):
img_fldr = (out_fldr/p.stem)
img_fldr.mkdir(exist_ok=True, parents=True)
new_fnames = [cv2.imwrite(str(img_fldr/o.name), resize_img(o, img_sz)) for o in p.glob("*.jpeg")]
return new_fnames
res = db.from_sequence(in_fldr.ls()).map(resize_fldr)
with ProgressBar():
res.compute()
!rm -rf {path/"sample_black_cropped_resized"}
create_resize_ds(path)
[########################################] | 100% Completed | 5.2s
out_folder="sample_black_cropped_resized"
df = pd.DataFrame([(len(p.ls()), p.name) for p in (path/out_folder).ls()], columns=['count','name'])
df['count'].min(), df['count'].max()
(2, 8)
Resize Integrated#
in_fldr = path/"sample_black_cropped_resized"
fnames = in_fldr.ls()[0].ls(); fnames
(#5) [Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/abjhddkxns/c.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/abjhddkxns/b.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/abjhddkxns/d.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/abjhddkxns/e.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/abjhddkxns/a.jpeg')]
len(fnames)
5
for i in range(9-len(fnames)):fnames.append(None)
fnames = fnames.shuffle()
fnames.shuffle()
(#9) [None,None,Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/abjhddkxns/c.jpeg'),None,Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/abjhddkxns/b.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/abjhddkxns/a.jpeg'),None,Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/abjhddkxns/e.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/abjhddkxns/d.jpeg')]
fnames_2d = [[1,2,3],[4,5,6],[7,8,9]]; fnames_2d
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for i in range(9-len(fnames)):fnames.append(None)
fnames = fnames.shuffle()
fnames_2d = [[fnames[0], fnames[1], fnames[2]], [fnames[3], fnames[4], fnames[5]], [fnames[6], fnames[7], fnames[8]]]
fnames_2d
[[None,
Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/abjhddkxns/c.jpeg'),
Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/abjhddkxns/d.jpeg')],
[Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/abjhddkxns/a.jpeg'),
None,
Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/abjhddkxns/e.jpeg')],
[Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized/abjhddkxns/b.jpeg'),
None,
None]]
def concat_img(img_list, orient='horizontal'):
zero_img = np.zeros((30, 30), dtype = "uint8")
def get_img_mat(img_loc):
if img_loc is not None:
img = cv2.imread(str(img_loc.resolve()), cv2.IMREAD_GRAYSCALE)
return cv2.copyMakeBorder(img,1,1,1,1,cv2.BORDER_CONSTANT,value=0)
else:
return zero_img.copy()
if orient == "horizontal":
return cv2.hconcat([get_img_mat(img_loc) for img_loc in img_list])
else:
return cv2.vconcat([get_img_mat(img_loc) for img_loc in img_list])
plt.imshow(cv2.vconcat([concat_img(row) for row in fnames_2d]),cmap='gray')
<matplotlib.image.AxesImage at 0xf3eb9e74b80>
def create_integrated_image(fnames, shuffle=True):
# fnames = img_fldr.ls(); fnames
for i in range(9-len(fnames)):fnames.append(None)
if shuffle:fnames = fnames.shuffle()
def get_name(fname):
if fname:return fname.stem
else:return "o"
name_root = "".join([get_name(fname) for fname in fnames])
fnames_2d = [[fnames[0], fnames[1], fnames[2]], [fnames[3], fnames[4], fnames[5]], [fnames[6], fnames[7], fnames[8]]]
intg_img = cv2.vconcat([concat_img(row) for row in fnames_2d])
return intg_img, name_root
def save_integrated_images(path,
inp_folder="sample_black_cropped_resized",
out_folder="sample_black_cropped_resized_integrated",
count = 9):
in_fldr = path/"sample_black_cropped_resized"
out_fldr = path/"sample_black_cropped_resized_integrated"
out_fldr.mkdir(exist_ok=True, parents=True)
# print(in_fldr)
for rsz_fldr in in_fldr.ls():
img_fldr = out_fldr/rsz_fldr.stem
img_fldr.mkdir(exist_ok=True, parents=True)
print(rsz_fldr.stem, img_fldr)
for i in range(count):
intg_img, name_root = create_integrated_image(rsz_fldr.ls())
cv2.imwrite(str(img_fldr/f"{rsz_fldr.stem}_{name_root}.jpeg"), intg_img)
# intg_img, name_root = create_integrated_image(in_fldr.ls()[2].ls())
# plt.imshow(intg_img, cmap='gray')
# name_root
(path/"sample_black_cropped_resized_integrated").ls()[0].ls()
# !rm -rf {path/"sample_black_cropped_resized_integrated"}
(#9) [Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/mptgfndbad/mptgfndbad_doocaoebo.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/mptgfndbad/mptgfndbad_ocboeoaod.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/mptgfndbad/mptgfndbad_cdaoooebo.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/mptgfndbad/mptgfndbad_bacoooeod.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/mptgfndbad/mptgfndbad_oocabodoe.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/mptgfndbad/mptgfndbad_aodbcoeoo.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/mptgfndbad/mptgfndbad_obeocaood.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/mptgfndbad/mptgfndbad_bodaoocoe.jpeg'),Path('/Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/mptgfndbad/mptgfndbad_cboeoooda.jpeg')]
# create_integrated_image(in_fldr.ls()[2].ls()).shape
save_integrated_images(path)
abjhddkxns /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/abjhddkxns
zmfrlmbvlt /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/zmfrlmbvlt
nkfylqqiii /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/nkfylqqiii
exfmknrvrr /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/exfmknrvrr
nmlwjxfpig /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/nmlwjxfpig
qjqcaorcmg /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qjqcaorcmg
gfjdvwvlvw /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/gfjdvwvlvw
rwmoakdqkh /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/rwmoakdqkh
jdqvnemdge /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/jdqvnemdge
kjyuldglrs /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/kjyuldglrs
ghvrisqecy /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ghvrisqecy
rpdgaeurkx /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/rpdgaeurkx
nzplrttbqa /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/nzplrttbqa
hvfqbvsdgq /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/hvfqbvsdgq
qkgxmpddfn /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qkgxmpddfn
zhqkayhtwg /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/zhqkayhtwg
spisoujtmr /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/spisoujtmr
flzcuiokal /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/flzcuiokal
ibwnvsohet /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ibwnvsohet
tnmkmbaqky /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/tnmkmbaqky
ayauzouvwg /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ayauzouvwg
beohhiehwm /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/beohhiehwm
bqdyvtnyid /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/bqdyvtnyid
jiydsxifhf /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/jiydsxifhf
lfeghzcfsg /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/lfeghzcfsg
rbzrgtrzbd /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/rbzrgtrzbd
wuffpfleuy /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/wuffpfleuy
foxhhzuxcj /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/foxhhzuxcj
vwxlrpgxcv /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/vwxlrpgxcv
lmdwjyvgaz /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/lmdwjyvgaz
vadlogbfwc /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/vadlogbfwc
uyqdmchqcd /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/uyqdmchqcd
dkjyfdevie /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/dkjyfdevie
squpcmlxcx /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/squpcmlxcx
dosbnawght /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/dosbnawght
ltawrwqubh /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ltawrwqubh
mnhgpytrdo /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/mnhgpytrdo
bzcyqoervs /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/bzcyqoervs
azuthanjmr /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/azuthanjmr
ssjpzbxbga /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ssjpzbxbga
ebrkillkse /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ebrkillkse
ljboxkjwvm /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ljboxkjwvm
bqamnqgnxq /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/bqamnqgnxq
zjberebamw /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/zjberebamw
cdpwwaubqo /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/cdpwwaubqo
oykfhlxbnr /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/oykfhlxbnr
ktseigclor /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ktseigclor
pkplseezri /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/pkplseezri
rgrqkwvgjg /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/rgrqkwvgjg
iqjinhuhsc /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/iqjinhuhsc
pqxnofarjb /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/pqxnofarjb
gtjpnwrhdv /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/gtjpnwrhdv
hjjdbxnubl /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/hjjdbxnubl
bjsoybworq /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/bjsoybworq
vxofivsxya /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/vxofivsxya
uqktsrpjrl /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/uqktsrpjrl
cqfmfdtzft /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/cqfmfdtzft
hfyjjdeumw /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/hfyjjdeumw
hkfrapbjye /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/hkfrapbjye
ibsjggixav /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ibsjggixav
qozibhfszu /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qozibhfszu
oyydszhqmn /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/oyydszhqmn
vaydtquozu /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/vaydtquozu
nfvxbldmyo /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/nfvxbldmyo
miufhofcuu /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/miufhofcuu
remvzqmyjz /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/remvzqmyjz
qnmsjaxiur /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qnmsjaxiur
ulqvbljawm /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ulqvbljawm
acqxepkdru /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/acqxepkdru
eosmlyurxy /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/eosmlyurxy
nhglyxvavm /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/nhglyxvavm
fxymcmswqo /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/fxymcmswqo
rvtpxhmhgb /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/rvtpxhmhgb
wrvchaedmy /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/wrvchaedmy
isbunydqvj /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/isbunydqvj
pmelujoylq /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/pmelujoylq
rjaztmytcg /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/rjaztmytcg
ddnwmjnjkh /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ddnwmjnjkh
uasxrdjxab /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/uasxrdjxab
zwfecbyrjc /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/zwfecbyrjc
xyktzdlnuu /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/xyktzdlnuu
dhmnqathly /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/dhmnqathly
jlimyupxsr /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/jlimyupxsr
ekpgtcsmqg /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ekpgtcsmqg
hwejorafxu /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/hwejorafxu
heppxymbzr /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/heppxymbzr
dznyqkcizv /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/dznyqkcizv
hiczbetctw /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/hiczbetctw
gemfzvrlsa /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/gemfzvrlsa
ojjwxbydup /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ojjwxbydup
ehvjfkpjjw /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ehvjfkpjjw
kmnfrxnlio /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/kmnfrxnlio
neyhbazrzs /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/neyhbazrzs
sltoymkjzo /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/sltoymkjzo
yftzgnhbke /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/yftzgnhbke
dzlqudiykz /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/dzlqudiykz
oxpvyibyml /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/oxpvyibyml
ntdahhukhj /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ntdahhukhj
fhzskpfwdt /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/fhzskpfwdt
abbymdmgzq /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/abbymdmgzq
bquqboxeyx /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/bquqboxeyx
xiwbpoahpi /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/xiwbpoahpi
wcwqeggoky /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/wcwqeggoky
euibkfzzid /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/euibkfzzid
fsnaafcqor /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/fsnaafcqor
cfxmuahete /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/cfxmuahete
bkeucybgcx /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/bkeucybgcx
uuunxwxtxv /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/uuunxwxtxv
oxudyfqkfu /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/oxudyfqkfu
pjepeqyseb /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/pjepeqyseb
bmkrssbflh /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/bmkrssbflh
jtccmihpfw /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/jtccmihpfw
gkgqxrodxe /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/gkgqxrodxe
nphunajnco /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/nphunajnco
dhxwgmgutm /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/dhxwgmgutm
efstasnumi /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/efstasnumi
xbgfseogty /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/xbgfseogty
ytlwuwflrt /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ytlwuwflrt
jfsumbgtsg /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/jfsumbgtsg
uznkagrqln /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/uznkagrqln
tvkpbnawop /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/tvkpbnawop
gkuhpigoxr /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/gkuhpigoxr
mptgfndbad /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/mptgfndbad
obauwuwprk /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/obauwuwprk
ktdjpqgjao /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ktdjpqgjao
irbhntfmhz /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/irbhntfmhz
bdeujujzif /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/bdeujujzif
czgiipkoxq /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/czgiipkoxq
kedbaocteg /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/kedbaocteg
vjaaybovqj /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/vjaaybovqj
karlhndhbf /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/karlhndhbf
ajjizshrtb /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ajjizshrtb
leiyqrvdyd /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/leiyqrvdyd
gsehidkwdz /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/gsehidkwdz
jkyscspzim /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/jkyscspzim
yimzughwbs /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/yimzughwbs
aytcpcgaqy /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/aytcpcgaqy
gkmvjmregd /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/gkmvjmregd
wlzhziyrev /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/wlzhziyrev
crdbfqulcn /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/crdbfqulcn
wnmnyskbnw /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/wnmnyskbnw
hwmmjcyrtz /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/hwmmjcyrtz
qrsdeisngh /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qrsdeisngh
qyyfbtijxs /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qyyfbtijxs
lzjxowenmr /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/lzjxowenmr
qvpydldffw /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qvpydldffw
zetkjlzmqr /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/zetkjlzmqr
lofghnbmij /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/lofghnbmij
cgajqcgvmm /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/cgajqcgvmm
oiubwldhim /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/oiubwldhim
rhffwdxpsq /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/rhffwdxpsq
cpztzmwkpf /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/cpztzmwkpf
zpdqopyglv /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/zpdqopyglv
ypfnocoejf /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ypfnocoejf
slzznnmhjz /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/slzznnmhjz
mvzmksslhw /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/mvzmksslhw
gynczztnif /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/gynczztnif
qwugpdakxb /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qwugpdakxb
yiyjqsroio /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/yiyjqsroio
romkdppvlv /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/romkdppvlv
kvimswfmqf /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/kvimswfmqf
kaqzhfcail /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/kaqzhfcail
eehesujeer /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/eehesujeer
caucxzlmuc /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/caucxzlmuc
yduhyypsjp /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/yduhyypsjp
xfijopjrme /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/xfijopjrme
ttnverhkrm /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ttnverhkrm
hkhgngedbt /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/hkhgngedbt
qiuyvyuqxx /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qiuyvyuqxx
zupkutqswn /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/zupkutqswn
xwzayqqrud /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/xwzayqqrud
vzvhcuwvwp /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/vzvhcuwvwp
ojnpgixyvc /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ojnpgixyvc
ndgspcozss /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ndgspcozss
itcbfeogkn /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/itcbfeogkn
bqdpshwxad /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/bqdpshwxad
cadfrlpsyu /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/cadfrlpsyu
cyoclwmnht /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/cyoclwmnht
qwowmfkqhv /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qwowmfkqhv
zhmvqhspeb /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/zhmvqhspeb
cakpgtexig /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/cakpgtexig
arjxmexnsn /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/arjxmexnsn
rcjiakzmtn /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/rcjiakzmtn
fnazecceis /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/fnazecceis
dlbfohrvfr /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/dlbfohrvfr
hglaysiesv /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/hglaysiesv
rddrhokabn /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/rddrhokabn
eoyzxdkzru /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/eoyzxdkzru
wltebojiyd /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/wltebojiyd
ufvpfaxbbl /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ufvpfaxbbl
hhjljuxssa /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/hhjljuxssa
lbpjlqpaph /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/lbpjlqpaph
kdsnhbscrq /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/kdsnhbscrq
qcrtdcqaby /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qcrtdcqaby
kxgzuymqwb /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/kxgzuymqwb
zkvlujnxoz /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/zkvlujnxoz
iuznpbcggs /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/iuznpbcggs
zqzktykpmm /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/zqzktykpmm
bwmdxkepnf /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/bwmdxkepnf
ranrntxpgc /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ranrntxpgc
rsmfovljmh /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/rsmfovljmh
kzpngmylnv /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/kzpngmylnv
frqmintina /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/frqmintina
mxmkfkixam /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/mxmkfkixam
ihclsevzrf /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ihclsevzrf
cmshilacak /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/cmshilacak
ermmakxkma /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ermmakxkma
csjhprgydm /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/csjhprgydm
bfqrcoxwji /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/bfqrcoxwji
hvwmbdzory /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/hvwmbdzory
doedopupbj /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/doedopupbj
diqnbgjakw /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/diqnbgjakw
wkvyuxxahn /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/wkvyuxxahn
hehxkettly /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/hehxkettly
edwdxwrhst /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/edwdxwrhst
pczoeuzqsc /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/pczoeuzqsc
xxhlpyerts /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/xxhlpyerts
gxjcaeffsm /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/gxjcaeffsm
nxwwqmodsd /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/nxwwqmodsd
zuvdwkpabd /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/zuvdwkpabd
dedfyqxfmp /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/dedfyqxfmp
vdnsgevquz /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/vdnsgevquz
psptaiinqw /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/psptaiinqw
qrbfcezbfu /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qrbfcezbfu
drxftnlnks /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/drxftnlnks
sgrhqufvxt /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/sgrhqufvxt
btzlknyhep /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/btzlknyhep
yrbxjfdqnx /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/yrbxjfdqnx
qkbmnxxfwf /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qkbmnxxfwf
igrasbmlqc /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/igrasbmlqc
bkuxewbzyd /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/bkuxewbzyd
tbvbjajanv /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/tbvbjajanv
xcydtqrawc /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/xcydtqrawc
duzegjyami /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/duzegjyami
kfutmimfnt /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/kfutmimfnt
srpyzykwlf /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/srpyzykwlf
eosdowunse /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/eosdowunse
evoznzvpnm /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/evoznzvpnm
aduuusmhil /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/aduuusmhil
qzbhhormwo /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qzbhhormwo
kpvebpwrcr /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/kpvebpwrcr
aovdyjzphj /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/aovdyjzphj
nwujqzpdlt /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/nwujqzpdlt
ionkqahriu /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ionkqahriu
gnuovjgixb /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/gnuovjgixb
mmyqlgtbrp /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/mmyqlgtbrp
hzydffnoft /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/hzydffnoft
gxraqykrwp /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/gxraqykrwp
lwtqkwxsrl /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/lwtqkwxsrl
rshrzkcvdk /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/rshrzkcvdk
tjajhrbwhy /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/tjajhrbwhy
rhipwqbvdl /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/rhipwqbvdl
kskwaiecjx /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/kskwaiecjx
lbprsccetc /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/lbprsccetc
tjkrpwjemf /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/tjkrpwjemf
unubzoybys /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/unubzoybys
mfgzgkksvl /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/mfgzgkksvl
pzayanidxm /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/pzayanidxm
gtdtsfuniw /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/gtdtsfuniw
fsxgkietzc /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/fsxgkietzc
xkbcbzdzqo /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/xkbcbzdzqo
mrpqadqsbp /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/mrpqadqsbp
qrlxkqpfwc /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qrlxkqpfwc
bzmvqrpnka /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/bzmvqrpnka
crhwubeseo /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/crhwubeseo
vgdkkslesr /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/vgdkkslesr
noremmzkip /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/noremmzkip
ropwtovzgr /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ropwtovzgr
fcelsgyhug /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/fcelsgyhug
dqbnrqbbba /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/dqbnrqbbba
doodjvjeid /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/doodjvjeid
tccnppvmpt /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/tccnppvmpt
lvgmfbwlbt /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/lvgmfbwlbt
nkuyczeuvq /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/nkuyczeuvq
mcaakomsax /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/mcaakomsax
aalwjaqqgi /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/aalwjaqqgi
hgqhowlarx /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/hgqhowlarx
mscmzomgau /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/mscmzomgau
npusxhzgxi /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/npusxhzgxi
iipfupgfcs /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/iipfupgfcs
wfvwthaoiz /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/wfvwthaoiz
lhnuvzgqln /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/lhnuvzgqln
ulkbdhnrhc /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ulkbdhnrhc
gbrwrezjys /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/gbrwrezjys
gjbfuixwml /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/gjbfuixwml
nbtdpmjvaz /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/nbtdpmjvaz
kqduiuenrn /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/kqduiuenrn
yhyritrqyt /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/yhyritrqyt
njerirxowj /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/njerirxowj
fultunwotm /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/fultunwotm
paapthpxig /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/paapthpxig
xvsjuasffs /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/xvsjuasffs
nsvivokucr /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/nsvivokucr
rklcrswcxa /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/rklcrswcxa
vadxynnagi /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/vadxynnagi
pftliktvch /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/pftliktvch
qhfsyajsgw /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qhfsyajsgw
yaxzvcvhqk /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/yaxzvcvhqk
ymwtaevzrs /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ymwtaevzrs
hlvdnwbino /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/hlvdnwbino
dslvxgmuvu /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/dslvxgmuvu
yjzsezwgcl /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/yjzsezwgcl
cchnsiwuwx /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/cchnsiwuwx
hzgzmztvhr /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/hzgzmztvhr
tnwpshlgye /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/tnwpshlgye
mvbtxuiawt /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/mvbtxuiawt
ozudlkadbw /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ozudlkadbw
yvhzfppehs /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/yvhzfppehs
bbdamclrue /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/bbdamclrue
rstjkwlrbs /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/rstjkwlrbs
hivrqlsfgb /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/hivrqlsfgb
yblsjpwdsw /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/yblsjpwdsw
qwrjqdvyjh /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qwrjqdvyjh
ampindflja /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ampindflja
eiebjpcwjd /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/eiebjpcwjd
rudvkajpsn /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/rudvkajpsn
xqvrwdiror /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/xqvrwdiror
kkopjdprtg /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/kkopjdprtg
vagworcjmi /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/vagworcjmi
qsxhfbrgns /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qsxhfbrgns
hpuasokfbf /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/hpuasokfbf
uixafakliq /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/uixafakliq
jgwcdessmd /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/jgwcdessmd
hyyekyitnd /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/hyyekyitnd
xrpefafxmu /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/xrpefafxmu
fpeibyvhdn /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/fpeibyvhdn
ndsoqfbcnv /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ndsoqfbcnv
xmqfsijqhx /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/xmqfsijqhx
dgtqtxytcj /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/dgtqtxytcj
qmqzwoqhru /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qmqzwoqhru
igjuhsnhvw /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/igjuhsnhvw
phxfqoebbx /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/phxfqoebbx
iauoudthbl /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/iauoudthbl
mjyibwwytq /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/mjyibwwytq
kmjazimiqq /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/kmjazimiqq
wjqluhuwqn /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/wjqluhuwqn
tqyftnmlpc /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/tqyftnmlpc
ablxaraptb /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ablxaraptb
fatlbaappz /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/fatlbaappz
oyjzcgdoqt /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/oyjzcgdoqt
gqubepikcs /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/gqubepikcs
qccbvubmpo /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qccbvubmpo
lietfpnuwy /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/lietfpnuwy
thvzyhswab /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/thvzyhswab
hbiuelnltd /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/hbiuelnltd
oghzcqvnos /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/oghzcqvnos
jyttczurxx /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/jyttczurxx
gpetococzd /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/gpetococzd
fsmlbbcqey /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/fsmlbbcqey
dxkthbepck /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/dxkthbepck
mvazagiqeq /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/mvazagiqeq
smqmsecdix /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/smqmsecdix
zmgqpaelqh /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/zmgqpaelqh
hsbkgjgibz /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/hsbkgjgibz
ouurfiuneo /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ouurfiuneo
eowvhigjnk /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/eowvhigjnk
ajtacwszgj /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ajtacwszgj
nonctqkdaz /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/nonctqkdaz
bancizykuu /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/bancizykuu
orihkgszbc /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/orihkgszbc
eroygrlesk /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/eroygrlesk
inzvdhlcfo /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/inzvdhlcfo
efnfneqwif /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/efnfneqwif
ubfzxfnxyk /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ubfzxfnxyk
rmnqmjwcqf /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/rmnqmjwcqf
jlvyasxzui /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/jlvyasxzui
ulsnfstvql /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ulsnfstvql
komhrqocpl /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/komhrqocpl
nmqxhzzzof /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/nmqxhzzzof
ydjcatgrly /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ydjcatgrly
htwhquzrev /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/htwhquzrev
wcclervfcv /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/wcclervfcv
axipkflvxz /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/axipkflvxz
wdgolmybeb /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/wdgolmybeb
bktimvvroa /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/bktimvvroa
oyfyiyania /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/oyfyiyania
jgpvxfxwtt /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/jgpvxfxwtt
ozhfevpcna /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ozhfevpcna
bfwvcycfze /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/bfwvcycfze
hpiskjatbk /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/hpiskjatbk
idtqkcazrq /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/idtqkcazrq
cjfrftugbv /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/cjfrftugbv
iggqbwlygw /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/iggqbwlygw
hutchrcupy /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/hutchrcupy
lurbqmihmi /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/lurbqmihmi
ubwsfjzuyh /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ubwsfjzuyh
zbalfnqqda /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/zbalfnqqda
glqglhqtvm /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/glqglhqtvm
wliovzjcpv /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/wliovzjcpv
xzxufrguen /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/xzxufrguen
auvbyzfnli /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/auvbyzfnli
iqevtbwczy /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/iqevtbwczy
xmzfcnjldm /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/xmzfcnjldm
fcwebxrszv /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/fcwebxrszv
ctbxceeqnh /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ctbxceeqnh
nahoohbuvk /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/nahoohbuvk
eqpkebdpyp /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/eqpkebdpyp
gtwimuhhum /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/gtwimuhhum
bttpuvftmg /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/bttpuvftmg
pdmtylcyao /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/pdmtylcyao
cokamqgrbg /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/cokamqgrbg
ekklcvkcjv /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ekklcvkcjv
hnybulfnsz /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/hnybulfnsz
cgvxhfwwyg /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/cgvxhfwwyg
pqlsjslzjx /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/pqlsjslzjx
hiivuccidh /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/hiivuccidh
ltduuikrac /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ltduuikrac
zgwnvxhywv /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/zgwnvxhywv
ozzioujjff /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ozzioujjff
zuapyypknl /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/zuapyypknl
tdwrfthykf /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/tdwrfthykf
kbwghmorls /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/kbwghmorls
blalvuxpqc /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/blalvuxpqc
tvqvvpnnpf /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/tvqvvpnnpf
tiywdtykbk /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/tiywdtykbk
wknlalwejm /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/wknlalwejm
acworymlmx /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/acworymlmx
fhtqluftri /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/fhtqluftri
havhbubzvq /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/havhbubzvq
twahevwlst /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/twahevwlst
mdggejfmfw /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/mdggejfmfw
eofiyhqyty /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/eofiyhqyty
elzufgggux /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/elzufgggux
wgsfwpthji /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/wgsfwpthji
hegedhdtzz /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/hegedhdtzz
tzcypygtyo /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/tzcypygtyo
nghngkxuvz /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/nghngkxuvz
smqaakeyiw /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/smqaakeyiw
jdqosrkjgs /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/jdqosrkjgs
fezzxwqxdj /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/fezzxwqxdj
xtokeehzuw /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/xtokeehzuw
mziydugcab /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/mziydugcab
zvwujrfyes /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/zvwujrfyes
qufwgzshzk /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qufwgzshzk
dmbfnkgzwg /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/dmbfnkgzwg
vjqoqhygxt /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/vjqoqhygxt
fdfsmfrcjq /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/fdfsmfrcjq
qandmjdwkv /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qandmjdwkv
stgrqdfhhx /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/stgrqdfhhx
prwctlgino /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/prwctlgino
fsbwusckre /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/fsbwusckre
girfutedyg /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/girfutedyg
wmbyozkoag /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/wmbyozkoag
xzsidzvfjr /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/xzsidzvfjr
phryokdofk /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/phryokdofk
fygczqbizo /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/fygczqbizo
rqupbwebuw /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/rqupbwebuw
iwajkimqsc /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/iwajkimqsc
jnxohynsfp /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/jnxohynsfp
mhtuojvfce /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/mhtuojvfce
qkymtuxaht /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qkymtuxaht
wtyqieukzb /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/wtyqieukzb
gnigjsprxr /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/gnigjsprxr
aaqfvwndck /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/aaqfvwndck
nzebotbdak /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/nzebotbdak
ypeahzycnq /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ypeahzycnq
rsdukntwvt /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/rsdukntwvt
vvvwcjgdvi /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/vvvwcjgdvi
dykncvzwmt /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/dykncvzwmt
afyqjdrvkk /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/afyqjdrvkk
xdbkbtgfkk /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/xdbkbtgfkk
ajldmlqerr /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ajldmlqerr
cxdbyutcuf /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/cxdbyutcuf
btqrnlyvyd /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/btqrnlyvyd
ehujwpmgjt /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ehujwpmgjt
wazrmepklm /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/wazrmepklm
afljkeleeq /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/afljkeleeq
zajwqxlewc /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/zajwqxlewc
xsqkfdpfqz /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/xsqkfdpfqz
qpimvgfscz /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qpimvgfscz
qrsdvvfpvj /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qrsdvvfpvj
wqfuppgpuy /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/wqfuppgpuy
zptchokxoe /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/zptchokxoe
wdzeqhunph /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/wdzeqhunph
skmjqvsjcs /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/skmjqvsjcs
maurxcxgbu /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/maurxcxgbu
nsylmafwum /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/nsylmafwum
ujblunuskh /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ujblunuskh
yshavfcrax /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/yshavfcrax
gakfyiajuh /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/gakfyiajuh
ijzwrlyddo /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ijzwrlyddo
ctghesbwkb /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ctghesbwkb
sbhghcveld /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/sbhghcveld
mqpkczecri /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/mqpkczecri
bptjzlmznm /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/bptjzlmznm
axcyfgmygb /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/axcyfgmygb
efbtlpqenl /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/efbtlpqenl
jxnkeeyluw /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/jxnkeeyluw
qoulhqfyvi /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qoulhqfyvi
ktdokbmnzu /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ktdokbmnzu
sgnnnmzdit /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/sgnnnmzdit
ofmcxlyfwq /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ofmcxlyfwq
grcqzswhld /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/grcqzswhld
cholwyrogr /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/cholwyrogr
faqfcpfsnx /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/faqfcpfsnx
wqxepzxjes /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/wqxepzxjes
auxbzwwznd /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/auxbzwwznd
ovwnsqzuhf /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ovwnsqzuhf
tkkaylzfzo /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/tkkaylzfzo
uauonvrovr /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/uauonvrovr
luznurtulf /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/luznurtulf
zfvouqoazh /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/zfvouqoazh
wrukfascnm /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/wrukfascnm
rkllofernp /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/rkllofernp
lvpuvzjwhi /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/lvpuvzjwhi
khthwvkbtn /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/khthwvkbtn
ttehbdntxx /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ttehbdntxx
jilrbcamdm /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/jilrbcamdm
plpyfgciyf /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/plpyfgciyf
snbkrtezsr /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/snbkrtezsr
yusiicenos /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/yusiicenos
yohkyakstr /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/yohkyakstr
kjyzskfyfe /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/kjyzskfyfe
urtvhspjps /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/urtvhspjps
mmoxvdjbrg /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/mmoxvdjbrg
jeyglgkicg /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/jeyglgkicg
znmvhkappu /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/znmvhkappu
auatttebyj /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/auatttebyj
aiyxomaicf /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/aiyxomaicf
srsocddscf /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/srsocddscf
pmnkjbsjqh /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/pmnkjbsjqh
uxrycwbpqd /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/uxrycwbpqd
yupjnsjsqy /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/yupjnsjsqy
jroekdxwjw /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/jroekdxwjw
wbelpslmbg /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/wbelpslmbg
tpyloecpbx /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/tpyloecpbx
xrnwyjzamp /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/xrnwyjzamp
llryflauvv /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/llryflauvv
agrfrpnppc /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/agrfrpnppc
ogdwxoxbuw /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ogdwxoxbuw
bfdzwlwrqz /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/bfdzwlwrqz
wmimfdlyif /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/wmimfdlyif
lafvkcfhcl /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/lafvkcfhcl
vfonzjfjwj /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/vfonzjfjwj
lhojstakgs /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/lhojstakgs
zxjkvwzvmd /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/zxjkvwzvmd
antvxaehoa /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/antvxaehoa
lyavphllie /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/lyavphllie
qtosgqlezo /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/qtosgqlezo
botatouncn /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/botatouncn
ntpikwusod /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ntpikwusod
lktzsnrtwo /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/lktzsnrtwo
fupqpayhjb /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/fupqpayhjb
vhwrqwkrxu /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/vhwrqwkrxu
uxbbotrtzg /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/uxbbotrtzg
ufxoxfvpbl /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ufxoxfvpbl
berktdxgie /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/berktdxgie
xtaledhowl /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/xtaledhowl
pjdppgudym /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/pjdppgudym
iicqfagwvy /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/iicqfagwvy
veygrtzxad /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/veygrtzxad
vbczxxgrof /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/vbczxxgrof
jjdlwcella /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/jjdlwcella
vefidkyevf /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/vefidkyevf
ptdsvwuuag /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ptdsvwuuag
ujtdlathpv /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ujtdlathpv
ovdxjsrsxp /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ovdxjsrsxp
ebxomsptgo /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/ebxomsptgo
fjpugsvqsn /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/fjpugsvqsn
kzchsshqny /Landmark2/pdo/aiking/data/ultra-mnist/sample_black_cropped_resized_integrated/kzchsshqny
path
Path('/Landmark2/pdo/aiking/data/ultra-mnist')
out_fldr = path/"sample_black_cropped_resized_integrated"
pd.DataFrame([(p, p.name, p.parent.stem) for p in out_fldr.glob("*/*.jpeg")],
columns=['path','fname','id']).to_csv(path/"sample_intg.csv", index=False)