# import gradio as gr | |
# from deepface import DeepFace | |
# import pandas as pd | |
# from PIL import Image | |
# import numpy as np | |
# # 결과를 저장할 리스트 | |
# 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" | |
# # Convert img1 and img2 to PIL.Image objects and save them | |
# img1_pil = Image.fromarray(img1.astype(np.uint8)) | |
# img2_pil = Image.fromarray(img2.astype(np.uint8)) | |
# img1_pil.save(img1_path) | |
# img2_pil.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() | |