The world is aging. Growing senior percentage means more smart automative Senior Care shall be put into use.
With Senior-Care AI , normal human body index like heart pulse rate, blood pressure, enviromental data like temperature, humidity shall be integrated to trace the health condition and useful suggesion shall be provided.
Another part in ComputerVision prediction of emotional mode of senior , to give senseful tip for further medical measure to remote health utility or other family members.
2. FunctionsThis solution combine two AI tools, one for large data screen with simple CNN based on solid health and enironment data from sensors from embedded system. Biosensor and environment sensors shall be used.
Other part is CV health mode predication porting from Emotion Prediction to predict whether seniors are in health mode.
This is different from existing solution with Two-mixed Data source, one from real sensor data and other from Image catch from camera. This gives quick alter for seniors , who need close eyes-on even for neglectable signals.
3. Hardware and Software3.1 With this all in one box to replace MPUs
USB camera,
Biosensor evalution board of from MAX30001 by MAXIM,
3.2 Software to be used
- Vitis platform including vitis AI
- Vivado 2020
- Python with Anaconda
- Tensorflow and Tensorflow.Keras
- VS code for C++
4.1 Downloading Vitis AI Development Kit, consists of the following two packages:
- Vitis AI Tools docker xilinx/vitis-ai:latest
- Vitis AI runtime package for edge
4.2 Setting Up the Host and The Board
4.3 Code with the basic of pose_detection
/**
* @brief Entry for running pose detection neural network
*
* @arg file_name[string] - path to file for detection
*
*/
int main(int argc, char** argv) {
// Check args
if (argc != 4) {
cout << "Usage of pose detection demo: ./pose_detection [video_file] "
"[pose_model_file] [ssd_model_file]"
<< endl;
return -1;
}
// Initializations
string file_name = argv[1];
pose_model_path = argv[2];
ssd_model_path = argv[3];
cout << "Detect video: " << file_name << endl;
video.open(file_name);
if (!video.isOpened()) {
cout << "Failed to open video: " << file_name;
return -1;
}
// Run tasks
array<thread, 4> threads = {thread(Read, ref(is_reading)),
thread(runGestureDetect, ref(is_running_1)),
thread(runGestureDetect, ref(is_running_1)),
thread(Display, ref(is_displaying))};
for (int i = 0; i < 4; ++i) {
threads[i].join();
}
// Detach from DPU driver and release resources
video.release();
return 0;
}
5. Procedure for customized model,Setting Up the Custom Board
This shall be updated later.
6. Final
6.1 Hardware
Power the board with USB camera, and connected with putty
6.2 Run the following command
hearlthcare 0 model_dir_for_zcu104/sp_net.elf model_dir_for_zcu104/ssd_pedestrain_pruned_0_97.elf
6.3 The output shows the results
Comments
Please log in or sign up to comment.