Update app.py
Browse files
app.py
CHANGED
@@ -1,58 +1,39 @@
|
|
1 |
-
import gradio as gr
|
2 |
-
from deepface import DeepFace
|
3 |
-
import pandas as pd
|
4 |
-
from PIL import Image
|
5 |
-
import numpy as np
|
6 |
-
|
7 |
-
# 결과를 저장할 리스트
|
8 |
-
results = []
|
9 |
-
|
10 |
-
def save_results(img1_path, img2_path, similarity):
|
11 |
-
# 결과를 글로벌 리스트에 추가
|
12 |
-
results.append([img1_path, img2_path, similarity])
|
13 |
-
# 결과를 pandas DataFrame으로 변환
|
14 |
-
df = pd.DataFrame(results, columns=['Image 1', 'Image 2', 'Similarity'])
|
15 |
-
# DataFrame을 CSV 파일로 저장
|
16 |
-
df.to_csv('similarity_results.csv', index=False)
|
17 |
-
|
18 |
-
def face_similarity(img1, img2):
|
19 |
-
result = DeepFace.verify(img1, img2)
|
20 |
-
similarity = result["distance"] # 낮을수록 더 유사
|
21 |
-
verified = result["verified"]
|
22 |
-
|
23 |
-
# 이미지 파일 저장
|
24 |
-
img1_path = f"img1_{len(results)}.jpg"
|
25 |
-
img2_path = f"img2_{len(results)}.jpg"
|
26 |
-
|
27 |
-
# Convert img1 and img2 to PIL.Image objects and save them
|
28 |
-
img1_pil = Image.fromarray(img1.astype(np.uint8))
|
29 |
-
img2_pil = Image.fromarray(img2.astype(np.uint8))
|
30 |
-
|
31 |
-
img1_pil.save(img1_path)
|
32 |
-
img2_pil.save(img2_path)
|
33 |
-
|
34 |
-
# 결과 저장
|
35 |
-
save_results(img1_path, img2_path, similarity)
|
36 |
-
|
37 |
-
return f"유사도: {similarity}, 인증 결과: {verified}"
|
38 |
-
|
39 |
-
iface = gr.Interface(fn=face_similarity,
|
40 |
-
inputs=[gr.inputs.Image(shape=(224, 224)), gr.inputs.Image(shape=(224, 224))],
|
41 |
-
outputs="text",
|
42 |
-
title="얼굴 유사도 측정",
|
43 |
-
description="두 얼굴 이미지를 업로드해서 유사도를 측정합니다.")
|
44 |
-
|
45 |
-
iface.launch()
|
46 |
-
|
47 |
-
|
48 |
# import gradio as gr
|
49 |
# from deepface import DeepFace
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
|
51 |
# def face_similarity(img1, img2):
|
52 |
# result = DeepFace.verify(img1, img2)
|
53 |
# similarity = result["distance"] # 낮을수록 더 유사
|
54 |
# verified = result["verified"]
|
55 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
# return f"유사도: {similarity}, 인증 결과: {verified}"
|
57 |
|
58 |
# iface = gr.Interface(fn=face_similarity,
|
@@ -62,3 +43,22 @@ iface.launch()
|
|
62 |
# description="두 얼굴 이미지를 업로드해서 유사도를 측정합니다.")
|
63 |
|
64 |
# iface.launch()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
# import gradio as gr
|
2 |
# from deepface import DeepFace
|
3 |
+
# import pandas as pd
|
4 |
+
# from PIL import Image
|
5 |
+
# import numpy as np
|
6 |
+
|
7 |
+
# # 결과를 저장할 리스트
|
8 |
+
# results = []
|
9 |
+
|
10 |
+
# def save_results(img1_path, img2_path, similarity):
|
11 |
+
# # 결과를 글로벌 리스트에 추가
|
12 |
+
# results.append([img1_path, img2_path, similarity])
|
13 |
+
# # 결과를 pandas DataFrame으로 변환
|
14 |
+
# df = pd.DataFrame(results, columns=['Image 1', 'Image 2', 'Similarity'])
|
15 |
+
# # DataFrame을 CSV 파일로 저장
|
16 |
+
# df.to_csv('similarity_results.csv', index=False)
|
17 |
|
18 |
# def face_similarity(img1, img2):
|
19 |
# result = DeepFace.verify(img1, img2)
|
20 |
# similarity = result["distance"] # 낮을수록 더 유사
|
21 |
# verified = result["verified"]
|
22 |
|
23 |
+
# # 이미지 파일 저장
|
24 |
+
# img1_path = f"img1_{len(results)}.jpg"
|
25 |
+
# img2_path = f"img2_{len(results)}.jpg"
|
26 |
+
|
27 |
+
# # Convert img1 and img2 to PIL.Image objects and save them
|
28 |
+
# img1_pil = Image.fromarray(img1.astype(np.uint8))
|
29 |
+
# img2_pil = Image.fromarray(img2.astype(np.uint8))
|
30 |
+
|
31 |
+
# img1_pil.save(img1_path)
|
32 |
+
# img2_pil.save(img2_path)
|
33 |
+
|
34 |
+
# # 결과 저장
|
35 |
+
# save_results(img1_path, img2_path, similarity)
|
36 |
+
|
37 |
# return f"유사도: {similarity}, 인증 결과: {verified}"
|
38 |
|
39 |
# iface = gr.Interface(fn=face_similarity,
|
|
|
43 |
# description="두 얼굴 이미지를 업로드해서 유사도를 측정합니다.")
|
44 |
|
45 |
# iface.launch()
|
46 |
+
|
47 |
+
|
48 |
+
import gradio as gr
|
49 |
+
from deepface import DeepFace
|
50 |
+
|
51 |
+
def face_similarity(img1, img2):
|
52 |
+
result = DeepFace.verify(img1, img2)
|
53 |
+
similarity = result["distance"] # 낮을수록 더 유사
|
54 |
+
verified = result["verified"]
|
55 |
+
|
56 |
+
return f"유사도: {similarity}, 인증 결과: {verified}"
|
57 |
+
|
58 |
+
iface = gr.Interface(fn=face_similarity,
|
59 |
+
inputs=[gr.inputs.Image(shape=(224, 224)), gr.inputs.Image(shape=(224, 224))],
|
60 |
+
outputs="text",
|
61 |
+
title="얼굴 유사도 측정",
|
62 |
+
description="두 얼굴 이미지를 업로드해서 유사도를 측정합니다.")
|
63 |
+
|
64 |
+
iface.launch()
|