File size: 832 Bytes
beacc91
 
 
 
112b1af
beacc91
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4ccd918
beacc91
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
import gradio as gr
import face_recognition
import numpy as np
from PIL import Image

def match_faces(image1, image2):
    # ์ด๋ฏธ์ง€์—์„œ ์–ผ๊ตด ์ธ์‹ ๋ฐ ํŠน์ง• ์ถ”์ถœ
    face_encoding1 = face_recognition.face_encodings(image1)[0]
    face_encoding2 = face_recognition.face_encodings(image2)[0]
    
    # ๋‘ ์–ผ๊ตด ๊ฐ„์˜ ์œ ์‚ฌ๋„ ์ธก์ • (์œ ํด๋ฆฌ๋””์•ˆ ๊ฑฐ๋ฆฌ)
    distance = np.linalg.norm(face_encoding1 - face_encoding2)
    
    # ์œ ์‚ฌ๋„์— ๋”ฐ๋ผ ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜
    if distance < 0.6:
        return "์–ผ๊ตด์ด ๋งค์šฐ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค!"
    else:
        return "์–ผ๊ตด์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค."
    
# Gradio ์ธํ„ฐํŽ˜์ด์Šค ์ƒ์„ฑ
iface = gr.Interface(fn=match_faces,
                     inputs=[gr.inputs.Image(shape=(224, 224)), gr.inputs.Image(shape=(224, 224))],
                     outputs="text")

iface.launch()