YEO RUI SHENG RAYSON
Introduction
IHPC stands for the Institute of High Performance Computing. It was established in August 1998, as a research institute under the Agency for Science, Technology, and Research (A*STAR). It promotes and spearheads scientific advancements, as well as technological innovations through computational modelling, simulation, and visualisation methodologies and tools. The institute's vision is to provide leadership in high performance computing as a strategic resource for scientific inquiry and industrial development.
Project details - Video Labeling
The project aims to label videos captured by a mounted CCTV with actions done by the people in the CCTV. The value of such a project is to improve the AI working to identify the actions taken by the people captured by CCTV. By correctly identifying the actions done by the people in the CCTV, such as walking, sitting, standing, etc, the AI can more accurately identify future actions done with the data it receives now. The resources put into the project now is myself, in which I have to manually label the videos provided by the company, A*Star as well as to provide tips for improvement to the tool for optimization. At the point I joined the project, the project was not even worked on yet. The tool used to identify the actions was still in the process of debugging. The task I received, as I said before, was to label the videos using the tool that identifies the action. Although it was tedious, the process was actually fairly easy. All I needed to do was to pinpoint when the action takes place, start the labeling tool and end the tool when the action is completed. However, as the total amount of videos was around 1000, the job was truthfully quite boring and tedious.
As explained before, the steps to complete the project were fairly simple. All I needed to do was to pinpoint when the action takes place, start the labeling tool provided by the company and end the tool when the action is completed. Sometimes the videos have multiple people in it, which I have to then simultaneously label both people. I was not given a rationale on such a project, but I believe that the rationale of such a project is to provide data for the AI to recognize such actions, which was why I was given such a large amount of videos to label - the AI needed a lot of data to learn. Through my labeling, the AI would be able to advance in sophistication. As progress of such a project is largely confidential as it involves viewing CCTV footage, only a limited amount of photos of such nature could be shown.
The picture below shows CCTV footage which have people in it which I was supposed to label.
Content skills learnt
Making a Flask Web application
Through the flask mega tutorial I've been provided and had gone through, I've learnt how to create a virtual environment hosted by flask in which I am able to make a web application locally - through localhost. This web application would have the function of registering and login in, as well as changing profile pictures through Gravatar and having a profile description and profile posts.
Debugging the many problems of code.
While this skill may not seem important to many, having a workable block of code is essential to a working program, and without an expert in code helping you or being an expert yourself, coding can be really hard. Thus this skill is good to have. Googling for solutions and learning what to input and what not to input can save your program and prevent many more problems from occurring in future. One could search up the type of error pertaining to the code given and reference to the solutions online. Many useful pages such as GitHub, Stack Overflow, etc will have similar problems such as these and from those examples you will be able to compare and learn the solutions to resolve your code.
Label videos according to actions via Video Labeling Tool
From my project, I've learnt how to label the actions that people are performing in the CCTV footage in the video with the tool I'm given. These would allow me to provide huge amounts of data to the AI which will be learning how to identify these actions from the examples I've given. From my contributions, I will be improving the vision of the AI.
Interesting aspects of learning
You have a surprising amount of freedom while working.
Asides from the deadline, you could be really flexible when working. As long as you finish your workload at the end of the deadline, you could really do anything from in between the time period, for example, staying at home to do work instead, leaving work unfinished at the start and rushing at the end or vice versa, having your lunch at anytime you want. This amount of freedom is surprising compared to our regime at school, where we have to follow strict inflexible timetables.
Coding is hard, period.
If you don't have prior experience in coding and are trying to code a somewhat intermediate code, you will struggle a lot. There is a lot of troubleshooting to be performed and imagination needed by yourself in order to make code. While following a tutorial by the book can get you somewhere, not understanding the code will make any troubleshooting or deviation from the code useless, which ultimately makes the practice redundant as you're basically copying.
A Major Takeaway for Life
Patience is key.
Having patience to do anything will prove fruitful in succeeding in tasks. In a month of learning under A*STAR, the tasks I've been given requires a huge amount of patience and endurance to do, from doing 1000 videos, to sitting in a cramped office for about 6 hours a day, to trying to find solutions to troubleshoot code. With patience, all of this is doable and it prevents oneself from getting tired of working. Thus with this trait, I believe having patience will prove to be a quintessential component in helping me succeed in life.