Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
Update similarity.py
Browse files- similarity.py +31 -18
similarity.py
CHANGED
@@ -163,27 +163,40 @@ def load_image_url(source, assetCode, contentType=None, ffmpeg_path='ffmpeg', fr
|
|
163 |
def check_similarity(images: List[RequestModel]):
|
164 |
logging.info(f"Checking similarity for main source with resource id {images[0].originId}")
|
165 |
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
181 |
similarity_score = 0
|
182 |
similarity_orb_score = 0
|
183 |
similarity_mobilenet_score = 0
|
184 |
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
|
189 |
return results
|
|
|
163 |
def check_similarity(images: List[RequestModel]):
|
164 |
logging.info(f"Checking similarity for main source with resource id {images[0].originId}")
|
165 |
|
166 |
+
try:
|
167 |
+
original_image = load_image_url(images[0].source, images[0].assetCode, images[0].contentType)
|
168 |
+
original_image_shape = original_image.shape
|
169 |
+
|
170 |
+
results = []
|
171 |
+
|
172 |
+
for i in range(1, len(images)):
|
173 |
+
try:
|
174 |
+
image = load_image_url(images[i].source, images[i].assetCode, images[i].contentType)
|
175 |
+
image = cv2.resize(image, original_image_shape[::-1])
|
176 |
+
|
177 |
+
similarity_score = ssim_sim(original_image, image)
|
178 |
+
similarity_orb_score = orb_sim(original_image, image, images[0].assetCode, images[i].assetCode)
|
179 |
+
similarity_mobilenet_score = mobilenet_sim(original_image, image, images[0].assetCode, images[i].assetCode)
|
180 |
+
except Exception as e:
|
181 |
+
logging.error(f"Error loading image for resource id {images[i].originId} : {e}")
|
182 |
+
similarity_score = 0
|
183 |
+
similarity_orb_score = 0
|
184 |
+
similarity_mobilenet_score = 0
|
185 |
+
|
186 |
+
response = ResponseModel(originId=images[i].originId, source=images[i].source, sequence=images[i].sequence,
|
187 |
+
assetCode=images[i].assetCode, similarity=similarity_score, similarityOrb=similarity_orb_score, similarityMobileNet=similarity_mobilenet_score)
|
188 |
+
results.append(response)
|
189 |
+
|
190 |
+
except Exception as e:
|
191 |
+
logging.error(f"Error checking similarity for main source with resource id {images[i].originId} : {e}")
|
192 |
+
|
193 |
+
for i in range(1, len(images)):
|
194 |
similarity_score = 0
|
195 |
similarity_orb_score = 0
|
196 |
similarity_mobilenet_score = 0
|
197 |
|
198 |
+
response = ResponseModel(originId=images[i].originId, source=images[i].source, sequence=images[i].sequence,
|
199 |
+
assetCode=images[i].assetCode, similarity=similarity_score, similarityOrb=similarity_orb_score, similarityMobileNet=similarity_mobilenet_score)
|
200 |
+
results.append(response)
|
201 |
|
202 |
return results
|