Spaces:
Sleeping
Sleeping
Initial commit
Browse files- README.md +2 -2
- app.py +20 -0
- face_data.py +11 -0
- requirements.txt +3 -0
- start.py +3 -0
README.md
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
---
|
2 |
-
title: Attendance
|
3 |
emoji: π
|
4 |
colorFrom: yellow
|
5 |
colorTo: yellow
|
6 |
sdk: gradio
|
7 |
sdk_version: 4.20.1
|
8 |
-
app_file:
|
9 |
pinned: false
|
10 |
---
|
11 |
|
|
|
1 |
---
|
2 |
+
title: Attendance API
|
3 |
emoji: π
|
4 |
colorFrom: yellow
|
5 |
colorTo: yellow
|
6 |
sdk: gradio
|
7 |
sdk_version: 4.20.1
|
8 |
+
app_file: start.py
|
9 |
pinned: false
|
10 |
---
|
11 |
|
app.py
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from fastapi import FastAPI
|
2 |
+
from face_data import FaceData
|
3 |
+
from fastapi.encoders import jsonable_encoder
|
4 |
+
from fastapi.responses import JSONResponse
|
5 |
+
from deepface import DeepFace
|
6 |
+
|
7 |
+
app = FastAPI()
|
8 |
+
|
9 |
+
def verify_face(face_data: FaceData):
|
10 |
+
result = False
|
11 |
+
try:
|
12 |
+
verify_result = DeepFace.verify(face_data.image_url, face_data.target_image)
|
13 |
+
result = result['verified']
|
14 |
+
except:
|
15 |
+
result = False
|
16 |
+
return JSONResponse(content=jsonable_encoder(result))
|
17 |
+
|
18 |
+
@app.post("/")
|
19 |
+
def process(face_data: FaceData):
|
20 |
+
return verify_face(face_data)
|
face_data.py
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from pydantic import BaseModel
|
2 |
+
|
3 |
+
class FaceData(BaseModel):
|
4 |
+
image: str
|
5 |
+
target_image: str
|
6 |
+
|
7 |
+
def to_dict(self):
|
8 |
+
return {
|
9 |
+
'image': self.image,
|
10 |
+
'target_image': self.target_image,
|
11 |
+
}
|
requirements.txt
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
fastapi
|
2 |
+
uvicorn[standard]
|
3 |
+
deepface
|
start.py
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
import subprocess
|
2 |
+
|
3 |
+
subprocess.run("uvicorn app:app --host 0.0.0.0 --port 7860", shell=True)
|