Software Project

Cloud Computing

I took the responsibility of UI design, Web design, and programming.

Our platform web

Build an end-to-end Automatic Surveillance AIoT System On a Cloud-edge Integrated Platform

  • Build an AIoT system that could deploy AI models automatically and continuously from cloud to edge.
  • After cloud node continuously receives new data and retrains model to deploy, which forms a Cloud-edge ML Pipeline.
  • By Kubernetes cloud orchestration and Docker virtual environment, edge devices could scale without system restrictions.

Data Collection

The source of data is the pictures taken by the edge devices, and the pictures are automatically uploaded to the edge by the system architecture designed in this project. These images can be used as training data for training a model.

Training Model

The source of training data is the images collected from the edge device. Validation set - In the context of this project, the model is trained not only once. Therefore, when we have trained the model K times, we need to use validation data to select the best performing model before evaluating its performance using testing data. The evaluation metrics for this project are accuracy, f1-score, val_acc, and val_loss. After a certain number of images are collected in the cloud, we can start training the model. This project uses the training set to train the top layer of the Xception model, sets 3 epochs, and uses the validation set and evaluation metrics to leave the best-performing model.

Deployment

This AIoT platform can be deployed automatically, because it uses container technology, it is not limited to a single operating environment, and it is convenient not to belong to various peripheral devices, in addition to scheduling to select the services you need to schedule container has a high degree of flexibility.

Framework of platform.

Our paltform of machine learning pipeline concepts.

Cloud node ( server cluster )

Train xception model deployment, which can provide cat and dog identification, then use docker container to wrap it into a pod belonging to TF serving and deploy it to Kubernetes, and then use KubeEdge controller to deploy the pod on the cloud to the edge.

Edge node ( server )

Get the pods deployed from the cloud through KubeEdge controller, provide the service of cat and dog identification to the edge device, and collect the photos from pi, use the accuracy rate of identification to measure whether the data is valid, and send the valid data back to the cloud to provide more data sets for the model.

Edge device ( raspberry pi 4)

The photos are sent to the edge node via mqtt, and then pi uses the TF serving API to send a recognition request to the training model on the edge node to obtain recognition results from the recognition model on the Edge node.

Our poster.


Project Demo Video



Speech at COSCUP 2021 (Students’ Information Technology Conference)

Share how to use open source software in cloud computing and use my experience to promote Cloud Native knowledge.



Speech at SITCON 2021 (Conference for Open Source Coders, Users, and Promoters)

Cloud Native topic and shared the experience of developing a cloud-edge integrated platform.