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 enable machine learning apps to offload computation intensive jobs from UE device to close by edge nodes. ML offloading services satisfy the requirement the ML computing resource requirement, meanwhile its responses faster than cloud ML services.
ML offloading APIs offer ML inference services (support different ML frameworks) from KubeEdge sites through ML APIs, which contains a set of commonly used model pool. Machine Learning models in the pool have detail features published and performance has been tested. It has different categories to cover a wide variety of use cases in ML domain. The ML API enables traditional app developers to leverage the fast response time of edge computing and lower entry barriers of machine learning knowledge. Just use those ML offloading API in app, and stable new ML features can be delivered to user devices from the nearest edge node. The KubeEdge ML offloading service has a Facial recognition demo api. Developer’s application can input face image to it via https request, and the edge ML offloading service identify the expression and return corresponding facial code. It is a sample component of KubeEdge to address users' data security or latency concerns. With high scalability of model acceleration on demand. Mobile app developers don't need to worry about the device resource limitation and latency issues to the public cloud.
The ML offloading APIs is a set of intelligence services on edge cloud which offers various of AI services, and it can be triggered by mobile applications. For example, it can be used to determine if an image contains faces or translate text into different languages. Those APIs are available only if developers deploy it through KubeEdge. The ML offloading APIs can support different ML categories, including Vision, ASR, dialog engine and more in the future, ans serves as REST web service.
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
}
]