mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-07-29 23:29:01 +03:00
Face model loading improvements (#17390)
* Don't assume landmark file is downloaded * Rewrite build model task to be asynchronous so it doesn't block the pipeline * Handle case where face recognition does not respond * Cleanup * Make daemon thread
This commit is contained in:
@@ -198,6 +198,16 @@ async def register_face(request: Request, name: str, file: UploadFile):
|
||||
|
||||
context: EmbeddingsContext = request.app.embeddings
|
||||
result = context.register_face(name, await file.read())
|
||||
|
||||
if not isinstance(result, dict):
|
||||
return JSONResponse(
|
||||
status_code=500,
|
||||
content={
|
||||
"success": False,
|
||||
"message": "Could not process request. Try restarting Frigate.",
|
||||
},
|
||||
)
|
||||
|
||||
return JSONResponse(
|
||||
status_code=200 if result.get("success", True) else 400,
|
||||
content=result,
|
||||
@@ -214,6 +224,16 @@ async def recognize_face(request: Request, file: UploadFile):
|
||||
|
||||
context: EmbeddingsContext = request.app.embeddings
|
||||
result = context.recognize_face(await file.read())
|
||||
|
||||
if not isinstance(result, dict):
|
||||
return JSONResponse(
|
||||
status_code=500,
|
||||
content={
|
||||
"success": False,
|
||||
"message": "Could not process request. Try restarting Frigate.",
|
||||
},
|
||||
)
|
||||
|
||||
return JSONResponse(
|
||||
status_code=200 if result.get("success", True) else 400,
|
||||
content=result,
|
||||
|
||||
Reference in New Issue
Block a user