add type aware method and use it

This commit is contained in:
pangkaicheng
2024-03-12 12:11:26 +08:00
parent 077066607d
commit b2be4484a5
3 changed files with 1134 additions and 358 deletions

View File

@@ -1,231 +1,293 @@
import os
import requests
import json
from PIL import Image
import cv2
import numpy as np
import tritonclient.http as httpclient
import torch
from matplotlib import pyplot as plt, image as mpimg
from torchvision import transforms
from foco import extract_main_colors
TRITON_IP_DEFAULT = "0.0.0.0"
class OutfitMatcher(object):
def __init__(self):
self.tritonclient = httpclient.InferenceServerClient(url="10.1.1.240:10010")
@staticmethod
def pad_array(input_value, value=0):
"""pad List of Array into same batch size
Args:
input_value: List of numpy arrary need to be padded
Returns:
Tensor: [batch_dim, max_dim, original_tensor_size]
"""
max_dim = max([len(x) for x in input_value])
mask = np.zeros((len(input_value), max_dim), dtype=np.float32)
# Pad each array
padded_arrays = []
for i, array in enumerate(input_value):
# Compute padding amount along the pad dimension
pad_dim = max_dim - array.shape[0]
consistent_shape = array.shape[1:]
pad_widths = [(0, pad_dim)] + [(0, 0)] * len(consistent_shape)
padded_array = np.pad(array, pad_widths, mode='constant', constant_values=value)
padded_arrays.append(padded_array)
mask[i, array.shape[0]:] = float("-inf")
# Stack the padded arrays and change the dimension
batched_arrays = np.stack(padded_arrays, axis=0)
return batched_arrays, mask
@staticmethod
def imnormalize(img, mean, std, to_rgb=True):
"""Normalize an image with mean and std.
Args:
img (ndarray): Image to be normalized.
mean (ndarray): The mean to be used for normalize.
std (ndarray): The std to be used for normalize.
to_rgb (bool): Whether to convert to rgb.
Returns:
ndarray: The normalized image.
"""
img = img.copy().astype(np.float32)
assert img.dtype != np.uint8
mean = np.float64(mean.reshape(1, -1))
stdinv = 1 / np.float64(std.reshape(1, -1))
if to_rgb:
cv2.cvtColor(img, cv2.COLOR_BGR2RGB, img) # inplace
cv2.subtract(img, mean, img) # inplace
cv2.multiply(img, stdinv, img) # inplace
return img
def visualize(self, outfits, scores, topk=5, best=True, output_path=None):
# 将outfits和scores按照scores的值进行排序
sorted_indices = np.argsort(-scores.flatten() if best else scores.flatten())[:topk] # 使用负号进行降序排序
outfits = [outfits[i] for i in sorted_indices]
scores = scores[sorted_indices]
# 设置子图的行列数
num_rows = len(outfits)
num_cols = max([len(x) for x in outfits]) + 1 # 一个是图片,一个是分数
# 创建一个新的图像,并指定子图的行列数
fig, axes = plt.subplots(num_rows, num_cols, figsize=(8, 15))
title = f"Best {topk} Outfits" if best else f"Worst {topk} Outfits"
fig.suptitle(title, fontsize=16)
# 遍历每套outfit并将其显示在对应的子图中
for i, (outfit, score) in enumerate(zip(outfits, scores)):
# 显示分数
axes[i, 0].text(0.1, 0.5, f"Score: {score[0]:.4f}", fontsize=12)
axes[i, 0].axis("off")
# 显示图片
for j, item in enumerate(outfit):
img = mpimg.imread(item['image_path']) # 读取图片
axes[i, j + 1].imshow(img) # 在对应的子图中显示图片
axes[i, j + 1].axis('off') # 关闭坐标轴
axes[i, j + 1].set_title(item["semantic_category"], fontsize=10)
for j in range(len(outfit), num_cols):
axes[i, j].axis("off")
# 在每一行的底部添加一条横线
axes[i, 0].axhline(y=0, color='black', linewidth=1)
# 隐藏最后一行的横线
axes[-1, 0].axhline(y=0, color='white', linewidth=1)
# 调整布局
plt.subplots_adjust(wspace=0.1, hspace=0.1)
plt.tight_layout()
if output_path:
plt.savefig(output_path)
else:
plt.show()
def imnormalize(img, mean, std, to_rgb=True):
"""Normalize an image with mean and std.
class OutfitMatcherHon(OutfitMatcher):
def __init__(self):
super().__init__()
Args:
img (ndarray): Image to be normalized.
mean (ndarray): The mean to be used for normalize.
std (ndarray): The std to be used for normalize.
to_rgb (bool): Whether to convert to rgb.
@staticmethod
def load_image(img_path):
if 'http' in img_path:
file = requests.get(img_path)
image = cv2.imdecode(np.fromstring(file.content, np.uint8), 1)
image = Image.fromarray(image.astype('uint8'), 'RGB')
else:
image = Image.open(img_path).convert('RGB')
return np.array(image)
Returns:
ndarray: The normalized image.
"""
img = img.copy().astype(np.float32)
assert img.dtype != np.uint8
mean = np.float64(mean.reshape(1, -1))
stdinv = 1 / np.float64(std.reshape(1, -1))
if to_rgb:
cv2.cvtColor(img, cv2.COLOR_BGR2RGB, img) # inplace
cv2.subtract(img, mean, img) # inplace
cv2.multiply(img, stdinv, img) # inplace
return img
@staticmethod
def resize_image(img):
"""
Args:
img: ndarray (height, width, channel)
"""
resized_img = cv2.resize(img, (224, 224), dst=None, interpolation=1)
return resized_img
def preprocess(self, outfits):
outfit_images = []
outfit_colors = []
for outfit in outfits:
images = []
colors = []
for item in outfit:
image = self.load_image(item["image_path"])
image = self.resize_image(image)
normalized_image = self.imnormalize(image,
mean=np.array([208.32996145, 201.28227452, 198.47047691],
dtype=np.float32),
std=np.array([75.48939648, 80.47423057, 82.21144189],
dtype=np.float32))
images.append(normalized_image.transpose(2, 0, 1))
color = extract_main_colors(image)
colors.append(color)
images = np.stack(images, axis=0)
outfit_images.append(images) # List[(items, 3, 224, 224)]
colors = np.stack(colors, axis=0)
outfit_colors.append(colors)
outfit_images, mask = self.pad_array(outfit_images)
outfit_colors, _ = self.pad_array(outfit_colors)
return outfit_images, outfit_colors, mask
def get_result(self, outfits):
# start = time.time()
image, color, mask = self.preprocess(outfits)
# print(start - time.time())
# transformed_img = image.astype(np.float32)
# 输入集
inputs = [
httpclient.InferInput("input__0", image.shape, datatype="FP32"),
httpclient.InferInput("input__1", color.shape, datatype="FP32"),
httpclient.InferInput("input__2", mask.shape, datatype="FP32"),
]
inputs[0].set_data_from_numpy(image.astype(np.float32), binary_data=True)
inputs[1].set_data_from_numpy(color.astype(np.float32), binary_data=True)
inputs[2].set_data_from_numpy(mask.astype(np.float32), binary_data=True)
# 输出集
outputs = [
httpclient.InferRequestedOutput("output__0", binary_data=True),
]
results = self.tritonclient.infer(model_name="outfit_matcher_hon", inputs=inputs, outputs=outputs)
# 推理
# 取结果
inference_output1 = torch.from_numpy(results.as_numpy("output__0"))
return inference_output1 # Shape (N, 1)
def load_image(img_path):
if 'http' in img_path:
file = requests.get(img_path)
image = cv2.imdecode(np.fromstring(file.content, np.uint8), 1)
image = Image.fromarray(image.astype('uint8'), 'RGB')
else:
image = Image.open(img_path).convert('RGB')
return np.array(image)
def resize_image(img):
"""
Args:
img: ndarray (height, width, channel)
"""
resized_img = cv2.resize(img, (224, 224), dst=None, interpolation=1)
return resized_img
def pad_array(input_value):
"""pad List of Array into same batch size
Args:
input_value: List of numpy arrary need to be padded
Returns:
Tensor: [batch_dim, max_dim, original_tensor_size]
"""
max_dim = max([len(x) for x in input_value])
mask = np.zeros((len(input_value), max_dim), dtype=np.float32)
# Pad each array
padded_arrays = []
for i, array in enumerate(input_value):
# Compute padding amount along the pad dimension
pad_dim = max_dim - array.shape[0]
consistent_shape = array.shape[1:]
pad_widths = [(0, pad_dim)] + [(0, 0)] * len(consistent_shape)
padded_array = np.pad(array, pad_widths, mode='constant', constant_values=0)
padded_arrays.append(padded_array)
mask[i, array.shape[0]:] = float("-inf")
# Stack the padded arrays and change the dimension
batched_arrays = np.stack(padded_arrays, axis=0)
return batched_arrays, mask
def extract_color(image, img_path):
# TODO: replace to vector database
relative_path, filename = os.path.split(img_path)
basename = filename.split(".")[0]
color_file = os.path.join(r"D:\PhD_Study\trinity_client\application\outfit_matcher\color",
basename + ".npy")
if os.path.exists(color_file):
color = np.load(color_file)
else:
color = extract_main_colors(image)
np.save(color_file, color)
return color
def preprocess(outfits):
outfit_images = []
outfit_colors = []
for outfit in outfits:
images = []
colors = []
for item in outfit:
image = load_image(item["image_path"])
image = resize_image(image)
normalized_image = imnormalize(image,
mean=np.array([208.32996145, 201.28227452, 198.47047691], dtype=np.float32),
std=np.array([75.48939648, 80.47423057, 82.21144189], dtype=np.float32))
images.append(normalized_image.transpose(2, 0, 1))
color = extract_color(image, item["image_path"])
colors.append(color)
images = np.stack(images, axis=0)
outfit_images.append(images) # List[(items, 3, 224, 224)]
colors = np.stack(colors, axis=0)
outfit_colors.append(colors)
outfit_images, mask = pad_array(outfit_images)
outfit_colors, _ = pad_array(outfit_colors)
return outfit_images, outfit_colors, mask
def evaluate_outfits(outfits):
"""Input outfits structure and output scores.
Args:
outfits: outfits to be evaluated.
Example:
[
[
{
"item_name": "MSE_57987",
"semantic_category": "BOTTOM/PANTS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_57987.jpg",
"mapped_cate": "bottoms"
},
{
"item_name": "MPO_SP7712",
"semantic_category": "TOP/TANK",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7712.jpg",
"mapped_cate": "tops"
},
{
"item_name": "MWSS27195",
"semantic_category": "OUTERWEAR/GILET",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27195.jpg",
"mapped_cate": "outerwear"
}
],
...
]
Returns:
scores: List of float
"""
# start = time.time()
image, color, mask = preprocess(outfits)
# print(start - time.time())
client = httpclient.InferenceServerClient(url="localhost:8000")
# transformed_img = image.astype(np.float32)
# 输入集
inputs = [
httpclient.InferInput("input__0", image.shape, datatype="FP32"),
httpclient.InferInput("input__1", color.shape, datatype="FP32"),
httpclient.InferInput("input__2", mask.shape, datatype="FP32"),
class OutfitMaterTypeAware(OutfitMatcher):
base_fashion_categories = [
'accessories', 'all-body', 'bags', 'bottoms', 'hats', 'jewellery',
'outerwear', 'scarves', 'shoes', 'sunglasses', 'tops'
]
inputs[0].set_data_from_numpy(image.astype(np.float32), binary_data=True)
inputs[1].set_data_from_numpy(color.astype(np.float32), binary_data=True)
inputs[2].set_data_from_numpy(mask.astype(np.float32), binary_data=True)
# 输出集
outputs = [
httpclient.InferRequestedOutput("output__0", binary_data=True),
]
results = client.infer(model_name="outfit_matcher_hon", inputs=inputs, outputs=outputs)
# 推理
# 取结果
scores = torch.from_numpy(results.as_numpy("output__0"))
return scores # Shape (N, 1)
def __init__(self):
super().__init__()
def visualize(outfits, scores, topk=5, best=True, output_path=None):
# 将outfits和scores按照scores的值进行排序
sorted_indices = np.argsort(-scores.flatten() if best else scores.flatten())[:topk] # 使用负号进行降序排序
outfits = [outfits[i] for i in sorted_indices]
scores = scores[sorted_indices]
@staticmethod
def load_image(img_path):
if 'http' in img_path:
file = requests.get(img_path)
image = cv2.imdecode(np.fromstring(file.content, np.uint8), 1)
image = Image.fromarray(image.astype('uint8'), 'RGB')
else:
image = Image.open(img_path).convert('RGB')
return image
# 设置子图的行列数
num_rows = len(outfits)
num_cols = max([len(x) for x in outfits]) + 1 # 一个是图片,一个是分数
@staticmethod
def resize_image(img):
"""
Args:
img: ndarray (height, width, channel)
"""
image_transforms = transforms.Compose([
transforms.Resize(112),
transforms.CenterCrop(112),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406],
std=[0.229, 0.224, 0.225]),
])
resized_img = image_transforms(img).numpy()
return resized_img
# 创建一个新的图像,并指定子图的行列数
fig, axes = plt.subplots(num_rows, num_cols, figsize=(8, 15))
def preprocess(self, outfits):
outfit_images = []
outfit_categories = []
for outfit in outfits:
images = []
categories = []
for item in outfit:
image = self.load_image(item["image_path"])
image = self.resize_image(image)
images.append(image)
title = f"Best {topk} Outfits" if best else f"Worst {topk} Outfits"
fig.suptitle(title, fontsize=16)
category = self.base_fashion_categories.index(item["mapped_cate"])
categories.append(category)
images = np.stack(images, axis=0)
outfit_images.append(images) # List[(items, 3, 224, 224)]
categories = np.array(categories)
outfit_categories.append(categories) # List[(items)]
outfit_images, mask = self.pad_array(outfit_images, value=0)
outfit_categories, _ = self.pad_array(outfit_categories, value=len(self.base_fashion_categories))
return outfit_images, outfit_categories, mask
# 遍历每套outfit并将其显示在对应的子图中
for i, (outfit, score) in enumerate(zip(outfits, scores)):
# 显示分数
axes[i, 0].text(0.1, 0.5, f"Score: {score[0]:.4f}", fontsize=12)
axes[i, 0].axis("off")
# 显示图片
for j, item in enumerate(outfit):
img = mpimg.imread(item['image_path']) # 读取图片
axes[i, j + 1].imshow(img) # 在对应的子图中显示图片
axes[i, j + 1].axis('off') # 关闭坐标轴
axes[i, j + 1].set_title(item["semantic_category"], fontsize=10)
for j in range(len(outfit), num_cols):
axes[i, j].axis("off")
# 在每一行的底部添加一条横线
axes[i, 0].axhline(y=0, color='black', linewidth=1)
# 隐藏最后一行的横线
axes[-1, 0].axhline(y=0, color='white', linewidth=1)
# 调整布局
plt.subplots_adjust(wspace=0.1, hspace=0.1)
plt.tight_layout()
if output_path:
plt.savefig(output_path)
else:
plt.show()
if __name__ == '__main__':
with open("test_input.json", "r") as f:
outfits = json.load(f)
scores = evaluate_outfits(outfits)
print(scores)
def get_result(self, outfits):
"""Input outfits structure and output scores.
Args:
outfits: outfits to be evaluated.
Example:
[
[
{
"item_name": "MSE_57987",
"semantic_category": "BOTTOM/PANTS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_57987.jpg",
"mapped_cate": "bottoms"
},
{
"item_name": "MPO_SP7712",
"semantic_category": "TOP/TANK",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7712.jpg",
"mapped_cate": "tops"
},
{
"item_name": "MWSS27195",
"semantic_category": "OUTERWEAR/GILET",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27195.jpg",
"mapped_cate": "outerwear"
}
],
...
]
Returns:
scores: List of float
"""
image, category, mask = self.preprocess(outfits)
client = httpclient.InferenceServerClient(url="localhost:8000")
# 输入集
inputs = [
httpclient.InferInput("input__0", image.shape, datatype="FP32"),
httpclient.InferInput("input__1", category.shape, datatype="INT16"),
httpclient.InferInput("input__2", mask.shape, datatype="FP32"),
]
inputs[0].set_data_from_numpy(image.astype(np.float32), binary_data=True)
inputs[1].set_data_from_numpy(category.astype(np.int16), binary_data=True)
inputs[2].set_data_from_numpy(mask.astype(np.float32), binary_data=True)
# 输出集
outputs = [
httpclient.InferRequestedOutput("output__0", binary_data=True),
]
results = client.infer(model_name="outfit_matcher_type_aware", inputs=inputs, outputs=outputs)
# 推理
# 取结果
scores = torch.from_numpy(results.as_numpy("output__0"))
return scores # Shape (N, 1)

View File

@@ -1,160 +1,25 @@
import json
import os
import torch
import torch.nn.functional as F
import tritonclient.http as httpclient
import requests
import cv2
import numpy as np
from PIL import Image
from tqdm import tqdm
from app.service.outfit_matcher.dataset import FashionDataset
from app.service.outfit_matcher.foco import extract_main_colors
from app.service.outfit_matcher.outfit_evaluator import evaluate_outfits, visualize
class OutfitMatcherHon:
def __init__(self, outfits):
self.outfits = outfits
self.tritonclient = httpclient.InferenceServerClient(url="10.1.1.240:10010")
@staticmethod
def imnormalize(img, mean, std, to_rgb=True):
"""Normalize an image with mean and std.
Args:
img (ndarray): Image to be normalized.
mean (ndarray): The mean to be used for normalize.
std (ndarray): The std to be used for normalize.
to_rgb (bool): Whether to convert to rgb.
Returns:
ndarray: The normalized image.
"""
img = img.copy().astype(np.float32)
assert img.dtype != np.uint8
mean = np.float64(mean.reshape(1, -1))
stdinv = 1 / np.float64(std.reshape(1, -1))
if to_rgb:
cv2.cvtColor(img, cv2.COLOR_BGR2RGB, img) # inplace
cv2.subtract(img, mean, img) # inplace
cv2.multiply(img, stdinv, img) # inplace
return img
@staticmethod
def load_image(img_path):
if 'http' in img_path:
file = requests.get(img_path)
image = cv2.imdecode(np.fromstring(file.content, np.uint8), 1)
image = Image.fromarray(image.astype('uint8'), 'RGB')
else:
image = Image.open(img_path).convert('RGB')
return np.array(image)
@staticmethod
def resize_image(img):
"""
Args:
img: ndarray (height, width, channel)
"""
resized_img = cv2.resize(img, (224, 224), dst=None, interpolation=1)
return resized_img
@staticmethod
def pad_array(input_value):
"""pad List of Array into same batch size
Args:
input_value: List of numpy arrary need to be padded
Returns:
Tensor: [batch_dim, max_dim, original_tensor_size]
"""
max_dim = max([len(x) for x in input_value])
mask = np.zeros((len(input_value), max_dim), dtype=np.float32)
# Pad each array
padded_arrays = []
for i, array in enumerate(input_value):
# Compute padding amount along the pad dimension
pad_dim = max_dim - array.shape[0]
consistent_shape = array.shape[1:]
pad_widths = [(0, pad_dim)] + [(0, 0)] * len(consistent_shape)
padded_array = np.pad(array, pad_widths, mode='constant', constant_values=0)
padded_arrays.append(padded_array)
mask[i, array.shape[0]:] = float("-inf")
# Stack the padded arrays and change the dimension
batched_arrays = np.stack(padded_arrays, axis=0)
return batched_arrays, mask
def preprocess(self):
outfit_images = []
outfit_colors = []
for outfit in self.outfits:
images = []
colors = []
for item in outfit:
image = self.load_image(item["image_path"])
image = self.resize_image(image)
normalized_image = self.imnormalize(image,
mean=np.array([208.32996145, 201.28227452, 198.47047691], dtype=np.float32),
std=np.array([75.48939648, 80.47423057, 82.21144189], dtype=np.float32))
images.append(normalized_image.transpose(2, 0, 1))
color = extract_main_colors(image)
colors.append(color)
images = np.stack(images, axis=0)
outfit_images.append(images) # List[(items, 3, 224, 224)]
colors = np.stack(colors, axis=0)
outfit_colors.append(colors)
outfit_images, mask = self.pad_array(outfit_images)
outfit_colors, _ = self.pad_array(outfit_colors)
return outfit_images, outfit_colors, mask
def get_result(self):
# start = time.time()
image, color, mask = self.preprocess()
# print(start - time.time())
# transformed_img = image.astype(np.float32)
# 输入集
inputs = [
httpclient.InferInput("input__0", image.shape, datatype="FP32"),
httpclient.InferInput("input__1", color.shape, datatype="FP32"),
httpclient.InferInput("input__2", mask.shape, datatype="FP32"),
]
inputs[0].set_data_from_numpy(image.astype(np.float32), binary_data=True)
inputs[1].set_data_from_numpy(color.astype(np.float32), binary_data=True)
inputs[2].set_data_from_numpy(mask.astype(np.float32), binary_data=True)
# 输出集
outputs = [
httpclient.InferRequestedOutput("output__0", binary_data=True),
]
results = self.tritonclient.infer(model_name="outfit_matcher_hon", inputs=inputs, outputs=outputs)
# 推理
# 取结果
inference_output1 = torch.from_numpy(results.as_numpy("output__0"))
return inference_output1 # Shape (N, 1)
from app.service.outfit_matcher.outfit_evaluator import OutfitMaterTypeAware
if __name__ == '__main__':
with open("./test_param/recommendation_test.json", "r") as f:
param = json.load(f)
fashion_dataset = FashionDataset(param["database"])
for item in tqdm(param["query"]):
for item in param["query"]:
outfits = fashion_dataset.generate_outfit(item, param["topk"], param["max_outfits"])
service = OutfitMatcherHon(outfits=outfits)
scores = service.get_result()
visualize(outfits, scores, param["topk"], best=True,
output_path=os.path.join(
r"E:\workspace\outfit_matcher\2024 SS Outfit",
f"{item['item_name']}_best_{param['topk']}.png"
))
visualize(outfits, scores, param["topk"], best=False,
output_path=os.path.join(
r"E:\workspace\outfit_matcher\2024 SS Outfit",
f"{item['item_name']}_worst_{param['topk']}.png"
))
a = 1
service = OutfitMaterTypeAware()
scores = service.get_result(outfits)
print(scores)
# service.visualize(outfits, scores, param["topk"], best=True,
# output_path=os.path.join(
# r"E:\workspace\outfit_matcher\2024 SS Outfit",
# f"{item['item_name']}_best_{param['topk']}.png"
# ))
# service.visualize(outfits, scores, param["topk"], best=False,
# output_path=os.path.join(
# r"E:\workspace\outfit_matcher\2024 SS Outfit",
# f"{item['item_name']}_worst_{param['topk']}.png"
# ))

View File

@@ -0,0 +1,849 @@
{
"topk": 5,
"max_outfits": 100,
"query": [
{
"item_name": "MSE_58107",
"semantic_category": "TOP/SHIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58107.jpg"
},
{
"item_name": "MKTS27047",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27047.jpg"
},
{
"item_name": "MKTS27028",
"semantic_category": "OUTERWEAR/JACKET",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27028.jpg"
},
{
"item_name": "MSE_58057",
"semantic_category": "OUTERWEAR/BLAZER",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58057.jpg"
},
{
"item_name": "MSE_58495",
"semantic_category": "TOP/SHIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58495.jpg"
}
],
"database":
[
{
"item_name": "MKTS27017",
"semantic_category": "OUTERWEAR/WINDBREAKER",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27017.jpg"
},
{
"item_name": "MKTS27047",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27047.jpg"
},
{
"item_name": "MKTS27000",
"semantic_category": "BOTTOM/PANTS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27000.jpg"
},
{
"item_name": "MKTS27001",
"semantic_category": "BOTTOM/SHORTS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27001.jpg"
},
{
"item_name": "MZOS27178",
"semantic_category": "KNIT/CARDIGAN",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MZOS27178.jpg"
},
{
"item_name": "MZOS27179",
"semantic_category": "KNIT/KNIT TOP",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MZOS27179.jpg"
},
{
"item_name": "MWSS27184",
"semantic_category": "TOP/TEE",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27184.jpg"
},
{
"item_name": "MWSS27191",
"semantic_category": "OUTERWEAR/TWIN SET",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27191.jpg"
},
{
"item_name": "MWSS27193",
"semantic_category": "OUTERWEAR/JACKET",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27193.jpg"
},
{
"item_name": "MWSS27195",
"semantic_category": "OUTERWEAR/GILET",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27195.jpg"
},
{
"item_name": "MWSS27200",
"semantic_category": "KNIT/VEST",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27200.jpg"
},
{
"item_name": "MWSS27209",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27209.jpg"
},
{
"item_name": "MWSS27210",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27210.jpg"
},
{
"item_name": "MWSS27211",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27211.jpg"
},
{
"item_name": "MWSS27212",
"semantic_category": "TOP/BLOUSE",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27212.jpg"
},
{
"item_name": "MKTS27008",
"semantic_category": "OUTERWEAR/BLAZER",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27008.jpg"
},
{
"item_name": "MKTS27009",
"semantic_category": "BOTTOM/PANTS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27009.jpg"
},
{
"item_name": "MKTS27010",
"semantic_category": "OUTERWEAR/BLAZER",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27010.jpg"
},
{
"item_name": "MKTS27012",
"semantic_category": "OUTERWEAR/JACKET",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27012.jpg"
},
{
"item_name": "MKTS27013",
"semantic_category": "BOTTOM/SHORTS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27013.jpg"
},
{
"item_name": "MKTS27014",
"semantic_category": "ONE PIECE/TWIN SET",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27014.jpg"
},
{
"item_name": "MKTS27015",
"semantic_category": "OUTERWEAR/GILET",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27015.jpg"
},
{
"item_name": "MKTS27016",
"semantic_category": "BOTTOM/SHORTS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27016.jpg"
},
{
"item_name": "MKTS27027",
"semantic_category": "BOTTOM/PANTS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27027.jpg"
},
{
"item_name": "MKTS27028",
"semantic_category": "OUTERWEAR/JACKET",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27028.jpg"
},
{
"item_name": "MKTS27029",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27029.jpg"
},
{
"item_name": "MKTS27030",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27030.jpg"
},
{
"item_name": "MKTS27031",
"semantic_category": "BOTTOM/SKIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27031.jpg"
},
{
"item_name": "MKTS27034",
"semantic_category": "TOP/SHIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27034.jpg"
},
{
"item_name": "MKTS27035",
"semantic_category": "ONE PIECE/TWIN SET",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27035.jpg"
},
{
"item_name": "MKTS27038",
"semantic_category": "TOP/TOP",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27038.jpg"
},
{
"item_name": "MKTS27039",
"semantic_category": "TOP/TOP",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27039.jpg"
},
{
"item_name": "MKTS27040",
"semantic_category": "TOP/TOP",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27040.jpg"
},
{
"item_name": "MKTS27045",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27045.jpg"
},
{
"item_name": "MKTS27046",
"semantic_category": "TOP/SHIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27046.jpg"
},
{
"item_name": "MKTS27050",
"semantic_category": "TOP/TOP",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27050.jpg"
},
{
"item_name": "MKTS27059",
"semantic_category": "TOP/TEE",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27059.jpg"
},
{
"item_name": "MKTS27061",
"semantic_category": "TOP/TOP",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27061.jpg"
},
{
"item_name": "MKTS27062",
"semantic_category": "TOP/BLOUSE",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27062.jpg"
},
{
"item_name": "MKTS27066",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27066.jpg"
},
{
"item_name": "MKTS27067",
"semantic_category": "TOP/TEE",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27067.jpg"
},
{
"item_name": "MKTS27068",
"semantic_category": "ONE PIECE/TWIN SET",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27068.jpg"
},
{
"item_name": "MKTS27002",
"semantic_category": "TOP/BLOUSE",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27002.jpg"
},
{
"item_name": "MKTS27003",
"semantic_category": "OUTERWEAR/GILET",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27003.jpg"
},
{
"item_name": "MKTS27004",
"semantic_category": "BOTTOM/PANTS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27004.jpg"
},
{
"item_name": "MKTS27011",
"semantic_category": "TOP/VEST",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27011.jpg"
},
{
"item_name": "MKTS27018",
"semantic_category": "TOP/SHIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27018.jpg"
},
{
"item_name": "MKTS27019",
"semantic_category": "OUTERWEAR/BLAZER",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27019.jpg"
},
{
"item_name": "MKTS27058",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27058.jpg"
},
{
"item_name": "MLSS27101",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27101.jpg"
},
{
"item_name": "MLSS27102",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27102.jpg"
},
{
"item_name": "MLSS27103",
"semantic_category": "OUTERWEAR/GILET",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27103.jpg"
},
{
"item_name": "MLSS27104",
"semantic_category": "BOTTOM/SHORTS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27104.jpg"
},
{
"item_name": "MLSS27107",
"semantic_category": "JEANS/JEANS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27107.jpg"
},
{
"item_name": "MLSS27109",
"semantic_category": "JEANS/JEANS JACKET",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27109.jpg"
},
{
"item_name": "MLSS27110",
"semantic_category": "JEANS/JEANS JACKET",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27110.jpg"
},
{
"item_name": "MLSS27111",
"semantic_category": "JEANS/JEANS PANTS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27111.jpg"
},
{
"item_name": "MLSS27112",
"semantic_category": "JEANS/JEANS PANTS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27112.jpg"
},
{
"item_name": "MLSS27113",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27113.jpg"
},
{
"item_name": "MLSS27119",
"semantic_category": "JEANS/JEANS SKIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27119.jpg"
},
{
"item_name": "MLSS27122",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27122.jpg"
},
{
"item_name": "MLSS27123",
"semantic_category": "TOP/TOP",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27123.jpg"
},
{
"item_name": "MLSS27128",
"semantic_category": "JEANS/JEANS JACKET",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27128.jpg"
},
{
"item_name": "MLSS27129",
"semantic_category": "JEANS/JEANS SHORTS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27129.jpg"
},
{
"item_name": "MLSS27132",
"semantic_category": "TOP/TOP",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27132.jpg"
},
{
"item_name": "MLSS27133",
"semantic_category": "BOTTOM/SKIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27133.jpg"
},
{
"item_name": "MLSS27136",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27136.jpg"
},
{
"item_name": "MLSS27137",
"semantic_category": "TOP/SHIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27137.jpg"
},
{
"item_name": "MLSS27140",
"semantic_category": "OUTERWEAR/JACKET",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27140.jpg"
},
{
"item_name": "MLSS27141",
"semantic_category": "TOP/SHIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27141.jpg"
},
{
"item_name": "MLSS27142",
"semantic_category": "TOP/SHIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27142.jpg"
},
{
"item_name": "MLSS27145",
"semantic_category": "OUTERWEAR/WINDBREAKER",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27145.jpg"
},
{
"item_name": "MLSS27146",
"semantic_category": "TOP/TOP",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27146.jpg"
},
{
"item_name": "MLSS27147",
"semantic_category": "BOTTOM/SKIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27147.jpg"
},
{
"item_name": "MLSS27148",
"semantic_category": "TOP/TOP",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27148.jpg"
},
{
"item_name": "MLSS27149",
"semantic_category": "BOTTOM/PANTS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27149.jpg"
},
{
"item_name": "MLSS27150",
"semantic_category": "OUTERWEAR/JACKET",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27150.jpg"
},
{
"item_name": "MLSS27152",
"semantic_category": "TOP/TEE",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27152.jpg"
},
{
"item_name": "MLSS27154",
"semantic_category": "TOP/TEE",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27154.jpg"
},
{
"item_name": "MLSS27156",
"semantic_category": "TOP/VEST",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27156.jpg"
},
{
"item_name": "MLSS27157",
"semantic_category": "OUTERWEAR/WINDBREAKER",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27157.jpg"
},
{
"item_name": "MLSS27159",
"semantic_category": "BOTTOM/PANTS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27159.jpg"
},
{
"item_name": "MLSS27160",
"semantic_category": "BOTTOM/PANTS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27160.jpg"
},
{
"item_name": "MLSS27161",
"semantic_category": "KNIT/CARDIGAN",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27161.jpg"
},
{
"item_name": "MLSS27162",
"semantic_category": "TOP/SHIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27162.jpg"
},
{
"item_name": "MLSS27167",
"semantic_category": "OUTERWEAR/JACKET",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27167.jpg"
},
{
"item_name": "MLSS27173",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27173.jpg"
},
{
"item_name": "MLSS27174",
"semantic_category": "TOP/TOP",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27174.jpg"
},
{
"item_name": "MLSS27175",
"semantic_category": "BOTTOM/PANTS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27175.jpg"
},
{
"item_name": "MLSS27176",
"semantic_category": "BOTTOM/SKIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27176.jpg"
},
{
"item_name": "MKTS27073",
"semantic_category": "BOTTOM/SKIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27073.jpg"
},
{
"item_name": "MLSS27226",
"semantic_category": "BOTTOM/SKIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27226.jpg"
},
{
"item_name": "MPO_SP7685",
"semantic_category": "TOP/BLOUSE",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7685.jpg"
},
{
"item_name": "MPO_SP7686",
"semantic_category": "TOP/SHIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7686.jpg"
},
{
"item_name": "MPO_SP7687",
"semantic_category": "TOP/SHIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7687.jpg"
},
{
"item_name": "MPO_SP7692",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7692.jpg"
},
{
"item_name": "MPO_SP7693",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7693.jpg"
},
{
"item_name": "MPO_SP7694",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7694.jpg"
},
{
"item_name": "MPO_SP7696",
"semantic_category": "BOTTOM/PANTS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7696.jpg"
},
{
"item_name": "MPO_SP7697",
"semantic_category": "JEANS/JEANS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7697.jpg"
},
{
"item_name": "MPO_SP7704",
"semantic_category": "OUTERWEAR/BLAZER",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7704.jpg"
},
{
"item_name": "MPO_SP7705",
"semantic_category": "OUTERWEAR/JACKET",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7705.jpg"
},
{
"item_name": "MPO_SP7706",
"semantic_category": "JEANS/JEANS JACKET",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7706.jpg"
},
{
"item_name": "MPO_SP7711",
"semantic_category": "TOP/VEST",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7711.jpg"
},
{
"item_name": "MPO_SP7712",
"semantic_category": "TOP/TANK",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7712.jpg"
},
{
"item_name": "MPO_SP7717",
"semantic_category": "TOP/TEE",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7717.jpg"
},
{
"item_name": "MPO_SP7722",
"semantic_category": "TOP/TOP",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7722.jpg"
},
{
"item_name": "MPO_SP7723",
"semantic_category": "TOP/BLOUSE",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7723.jpg"
},
{
"item_name": "MPO_SP7726",
"semantic_category": "TOP/SHIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7726.jpg"
},
{
"item_name": "MPO_SP7729",
"semantic_category": "TOP/SHIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7729.jpg"
},
{
"item_name": "MPO_SP7731",
"semantic_category": "TOP/BLOUSE",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7731.jpg"
},
{
"item_name": "MPO_SP7732",
"semantic_category": "TOP/SHIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7732.jpg"
},
{
"item_name": "MPO_SP7735",
"semantic_category": "TOP/SHIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7735.jpg"
},
{
"item_name": "MSE_58197",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58197.jpg"
},
{
"item_name": "MSE_58198",
"semantic_category": "TOP/BLOUSE",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58198.jpg"
},
{
"item_name": "MSE_58199",
"semantic_category": "BOTTOM/PANTS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58199.jpg"
},
{
"item_name": "MSE_58112",
"semantic_category": "TOP/SHIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58112.jpg"
},
{
"item_name": "MSE_58114",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58114.jpg"
},
{
"item_name": "MSE_58241",
"semantic_category": "TOP/BLOUSE",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58241.jpg"
},
{
"item_name": "MSE_57987",
"semantic_category": "BOTTOM/PANTS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_57987.jpg"
},
{
"item_name": "MSE_57988",
"semantic_category": "OUTERWEAR/BLAZER",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_57988.jpg"
},
{
"item_name": "MSE_58203",
"semantic_category": "OUTERWEAR/BLAZER",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58203.jpg"
},
{
"item_name": "MSE_58106",
"semantic_category": "BOTTOM/PANTS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58106.jpg"
},
{
"item_name": "MSE_58107",
"semantic_category": "TOP/SHIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58107.jpg"
},
{
"item_name": "MSE_58132",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58132.jpg"
},
{
"item_name": "MSE_58133",
"semantic_category": "TOP/SHIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58133.jpg"
},
{
"item_name": "MSE_58057",
"semantic_category": "OUTERWEAR/BLAZER",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58057.jpg"
},
{
"item_name": "MSE_58058",
"semantic_category": "BOTTOM/PANTS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58058.jpg"
},
{
"item_name": "MSE_58222",
"semantic_category": "BOTTOM/SKIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58222.jpg"
},
{
"item_name": "MSE_58317",
"semantic_category": "TOP/BLOUSE",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58317.jpg"
},
{
"item_name": "MSE_58045",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58045.jpg"
},
{
"item_name": "MSE_58275",
"semantic_category": "JEANS/JEANS DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58275.jpg"
},
{
"item_name": "MSE_58276",
"semantic_category": "JEANS/JEANS JACKET",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58276.jpg"
},
{
"item_name": "MSE_58277",
"semantic_category": "JEANS/JEANS SKIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58277.jpg"
},
{
"item_name": "MSE_58183",
"semantic_category": "TOP/BLOUSE",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58183.jpg"
},
{
"item_name": "MSE_58184",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58184.jpg"
},
{
"item_name": "MSE_58185",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58185.jpg"
},
{
"item_name": "MSE_58188",
"semantic_category": "BOTTOM/SKIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58188.jpg"
},
{
"item_name": "MSE_54385",
"semantic_category": "BOTTOM/PANTS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_54385.jpg"
},
{
"item_name": "MSE_56720",
"semantic_category": "OUTERWEAR/BLAZER",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_56720.jpg"
},
{
"item_name": "MSE_58174",
"semantic_category": "TOP/TEE",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58174.jpg"
},
{
"item_name": "MSE_58044",
"semantic_category": "OUTERWEAR/JACKET",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58044.jpg"
},
{
"item_name": "MSE_58361",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58361.jpg"
},
{
"item_name": "MSE_58495",
"semantic_category": "TOP/SHIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58495.jpg"
},
{
"item_name": "MSE_58536",
"semantic_category": "ACCESSORY/BAG",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58536.jpg"
},
{
"item_name": "MSE_58653",
"semantic_category": "TOP/SHIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58653.jpg"
},
{
"item_name": "MSE_58287",
"semantic_category": "BOTTOM/SHORTS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58287.jpg"
},
{
"item_name": "MSE_58289",
"semantic_category": "OUTERWEAR/BLAZER",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58289.jpg"
},
{
"item_name": "MSE_58323",
"semantic_category": "TOP/BLOUSE",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58323.jpg"
},
{
"item_name": "MSE_58421",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58421.jpg"
},
{
"item_name": "MSE_58451",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58451.jpg"
},
{
"item_name": "MSE_58473",
"semantic_category": "KNIT/KNIT TOP",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58473.jpg"
},
{
"item_name": "MSE_58498",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58498.jpg"
},
{
"item_name": "MSE_58499",
"semantic_category": "TOP/SHIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58499.jpg"
},
{
"item_name": "MSE_58510",
"semantic_category": "TOP/SHIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58510.jpg"
},
{
"item_name": "MSE_58516",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58516.jpg"
},
{
"item_name": "MSE_58518",
"semantic_category": "BOTTOM/SKIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58518.jpg"
},
{
"item_name": "MSE_58530",
"semantic_category": "ONE PIECE/DRESS",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58530.jpg"
},
{
"item_name": "MSE_58540",
"semantic_category": "TOP/SHIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58540.jpg"
},
{
"item_name": "MSE_58547",
"semantic_category": "TOP/TEE",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58547.jpg"
},
{
"item_name": "MSE_58618",
"semantic_category": "TOP/BLOUSE",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58618.jpg"
},
{
"item_name": "MSE_58655",
"semantic_category": "TOP/SHIRT",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58655.jpg"
},
{
"item_name": "MSE_58658",
"semantic_category": "TOP/TEE",
"image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58658.jpg"
}
]
}