File size: 2,284 Bytes
e8dfdf0 6ac5477 63e4913 6ac5477 63e4913 6ac5477 63e4913 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
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()
# 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()
|