CupidAI / app.py
suinY00N's picture
Update app.py
6ac5477 verified
raw
history blame
No virus
2.02 kB
import gradio as gr
from deepface import DeepFace
import pandas as pd
import os
# 결과를 저장할 리스트
results = []
def save_results(img1_path, img2_path, similarity):
# 결과를 글로벌 리스트에 추가
results.append([img1_path, img2_path, similarity])
# 결과를 pandas DataFrame으로 변환
df = pd.DataFrame(results, columns=['Image 1', 'Image 2', 'Similarity'])
# DataFrame을 CSV 파일로 저장
df.to_csv('similarity_results.csv', index=False)
def face_similarity(img1, img2):
result = DeepFace.verify(img1, img2)
similarity = result["distance"] # 낮을수록 더 유사
verified = result["verified"]
# 이미지 파일 저장
img1_path = f"img1_{len(results)}.jpg"
img2_path = f"img2_{len(results)}.jpg"
img1.save(img1_path)
img2.save(img2_path)
# 결과 저장
save_results(img1_path, img2_path, similarity)
return f"유사도: {similarity}, 인증 결과: {verified}"
iface = gr.Interface(fn=face_similarity,
inputs=[gr.inputs.Image(shape=(224, 224)), gr.inputs.Image(shape=(224, 224))],
outputs="text",
title="얼굴 유사도 측정",
description="두 얼굴 이미지를 업로드해서 유사도를 측정합니다.")
iface.launch()
# import gradio as gr
# from deepface import DeepFace
# def face_similarity(img1, img2):
# result = DeepFace.verify(img1, img2)
# similarity = result["distance"] # 낮을수록 더 유사
# verified = result["verified"]
# return f"유사도: {similarity}, 인증 결과: {verified}"
# iface = gr.Interface(fn=face_similarity,
# inputs=[gr.inputs.Image(shape=(224, 224)), gr.inputs.Image(shape=(224, 224))],
# outputs="text",
# title="얼굴 유사도 측정",
# description="두 얼굴 이미지를 업로드해서 유사도를 측정합니다.")
# iface.launch()