Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -85,28 +85,29 @@ def segment_clothing(img, clothes=["Hat", "Upper-clothes", "Skirt", "Pants", "Dr
|
|
85 |
img_with_alpha.putalpha(final_mask)
|
86 |
|
87 |
return img_with_alpha.convert("RGB"), final_mask, detected_categories # Return detected categories
|
88 |
-
|
89 |
-
def find_similar_images(query_embedding, collection, top_k=5):
|
90 |
-
# ๋ชจ๋ ์๋ฒ ๋ฉ์ ๊ฐ์ ธ์ด
|
91 |
-
all_embeddings = collection.get(include=['embeddings'])['embeddings']
|
92 |
-
database_embeddings = np.array(all_embeddings)
|
93 |
|
94 |
-
|
95 |
-
|
96 |
-
|
|
|
|
|
|
|
|
|
97 |
|
98 |
-
#
|
99 |
-
|
100 |
-
|
101 |
-
top_metadatas = [all_data[idx] for idx in top_indices]
|
102 |
|
103 |
-
|
104 |
-
|
105 |
-
|
|
|
106 |
'info': metadata,
|
107 |
-
'similarity':
|
108 |
})
|
109 |
-
|
|
|
|
|
110 |
|
111 |
|
112 |
|
|
|
85 |
img_with_alpha.putalpha(final_mask)
|
86 |
|
87 |
return img_with_alpha.convert("RGB"), final_mask, detected_categories # Return detected categories
|
|
|
|
|
|
|
|
|
|
|
88 |
|
89 |
+
def find_similar_images(query_embedding, collection, top_k=5):
|
90 |
+
# ChromaDB์ query ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฌํ ํญ๋ชฉ ๊ฒ์
|
91 |
+
results = collection.query(
|
92 |
+
query_embeddings=[query_embedding],
|
93 |
+
n_results=top_k,
|
94 |
+
include=['metadatas', 'distances'] # ๋ฉํ๋ฐ์ดํฐ์ ์ ์ฌ๋ ๊ฐ์ ํจ๊ป ๋ฐํ
|
95 |
+
)
|
96 |
|
97 |
+
# ๊ฒฐ๊ณผ์์ ๋ฉํ๋ฐ์ดํฐ์ ์ ์ฌ๋๋ฅผ ์ถ์ถ
|
98 |
+
top_metadatas = results['metadatas'][0] # ๊ฐ ๋ฉํ๋ฐ์ดํฐ
|
99 |
+
top_distances = results['distances'][0] # ๊ฐ ์ ์ฌ๋ (๊ฑฐ๋ฆฌ๊ฐ ๊ฐ๊น์ธ์๋ก ์ ์ฌํจ)
|
|
|
100 |
|
101 |
+
# ๊ฒฐ๊ณผ๋ฅผ ๊ตฌ์กฐํ
|
102 |
+
structured_results = []
|
103 |
+
for metadata, distance in zip(top_metadatas, top_distances):
|
104 |
+
structured_results.append({
|
105 |
'info': metadata,
|
106 |
+
'similarity': 1 - distance # ๊ฑฐ๋ฆฌ๋ฅผ ์ ์ฌ๋๋ก ๋ณํ (1์ ๊ฐ๊น์ธ์๋ก ์ ์ฌ)
|
107 |
})
|
108 |
+
|
109 |
+
return structured_results
|
110 |
+
|
111 |
|
112 |
|
113 |
|