face_recognition.proto 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. syntax = "proto3";
  2. package facerecognition;
  3. // The request message containing the image bytes
  4. message FaceRequest {
  5. bytes image = 1;
  6. string model_name = 2; // optional: "VGG-Face", "FaceNet", "OpenFace"
  7. }
  8. // The response message containing recognition results
  9. message FaceResponse {
  10. string name = 1;
  11. float confidence = 2;
  12. bytes image = 3; // matched employee image
  13. }
  14. // Enrollment messages
  15. message EnrollFaceRequest {
  16. bytes image = 1;
  17. string name = 2;
  18. }
  19. message EnrollFaceResponse {
  20. bool success = 1;
  21. string message = 2;
  22. }
  23. // Messages for getting all employees
  24. message Employee {
  25. string name = 1;
  26. bytes image = 2;
  27. }
  28. message EmployeeListRequest {}
  29. message EmployeeListResponse {
  30. repeated Employee employees = 1;
  31. }
  32. // Messages for deleting an employee
  33. message DeleteRequest {
  34. string name = 1;
  35. }
  36. message DeleteEmployeeResponse {
  37. bool success = 1;
  38. string message = 2;
  39. }
  40. // The Face Recognition Service
  41. service FaceRecognitionService {
  42. rpc Recognize(FaceRequest) returns (FaceResponse);
  43. rpc EnrollFace(EnrollFaceRequest) returns (EnrollFaceResponse);
  44. rpc GetAllEmployees(EmployeeListRequest) returns (EmployeeListResponse);
  45. rpc DeleteEmployee(DeleteRequest) returns (DeleteEmployeeResponse);
  46. }