The purpose of this document is to enumerate the APIs which are exposed by Akraino Blue print project to the external projects Akraino/Non Akraino for interaction/integration.
This document should be used in conjunction with the architecture document to understand APIs at a modular level and their interactions.
This document should function as a glossary of APIs with its functionality, interfaces, inputs, and expected outcomes as the following example:
API1: Kubernetes native APIs
API2: KubeEdge APIs (Kubernetes API extensions)
API3: ML inference framework APIs
API4: ML inference offloading APIs
ML Offloading APIs provide synchronization of ML inference service with UE side. It serves application developers and enables machine learning apps to offload computation intensive jobs from UE device to close by edge nodes. ML offloading services satisfy the ML computing resource requirement, meanwhile its responses faster than cloud ML services.
The ML offloading APIs offer ML inference services (tensorflow serving frameworks) from KubeEdge sites, which contains a model pool. Pre-trained Machine Learning models can be deployed to the pool from cloud environment. In the future, the pool can open different categories of models to cover a wide variety of use cases in ML domain. if an app developers don't have a in-house trained model, they can also chose from the existing models, and it enables traditional app developers to quickly adopt the KubeEdge ML offloading solution without concerns of model management by themselves.
The KubeEdge ML offloading service has a Facial recognition demo api. The demo mobile application passes a face image via https request, and the edge ML offloading service identifies the expression and return corresponding facial expression code. Mobile app developers don't need to worry about the device resource limitation, or latency issues from the public cloud.
Here is an example of Facial expression API
Facial Expression Recognition
This operation takes an input image and success response will be in JSON format with 6 of human facial expression alone with different scores.
HTTP Method: POST
Request URL: https://{endpoint}/ficialExpression
Parameters
Image type: PNG image
Image dimensions: greater than 48X48
Response
JSON:
[ "appID":"1234567", "faceNumber":1,
"emotion": {
"anger": 0.0,
"contempt": 0.0,
"fear": 0.0,
"happiness": 0.196,
"sadness": 0.0,
"surprise": 0.803
}
]