Academic Internship at NUS

Arjun Khanijau
5 min readAug 18, 2022

--

National University of Singapore

Introduction

I was selected for the Global Academic Internship Programme on ‘Data Analytics using Deep Learning’ where I worked with a global team of curious learners and tech innovators. This was held at the National University of Singapore(NUS) campus from June 4, 2022, till July 4, 2022. The academic internship covered lectures by NUS professors, hands-on assignments, and a final project.

How did AI-related courses at Bennett University help me during the internship?

Ever since I studied the course ‘Probability and Statistics’ during my 3rd semester, I have been excited to work in the field of machine learning. ‘Artificial Intelligence and Machine Learning’ course taught by Dr. Vipul Mishra in the 5th semester laid the foundation for many machine learning concepts like regression, classification, ANNs, and unsupervised learning models like clustering, autoencoders, and GANs. I even opted for the ‘Deep Learning’ elective course at my university in the 6th semester where I had fun learning new concepts like object detection and image segmentation. All these concepts benefitted me to get a head start during this internship!

The interview process

A webinar was conducted on January 22, 2022, to acquaint students with the application process, eligibility criteria, and life in Singapore. We also had the opportunity to interact with two former alumni of this internship, who are currently pursuing MS from prestigious foreign universities. This webinar was organized by Bennett University, in association with Mr. Rajesh Panda, Founder & CEO, Corporate Gurukul.

I registered for the program and got invited for an interview a few days later. The interview mainly revolved around my motivation for the program and how it would help me in achieving my career goals, that is pursuing an MS degree from a reputed international university. Later, a few basic Python questions were asked and I was asked to give a walkthrough of a recent project I worked on wherein I showcased my machine learning project on ‘Algorithmic Trading Bot’ that my team and I had uploaded on GitHub.

Pre-Requisite Training (PRT) sessions

A total of six PRT sessions were conducted online on Zoom by our TA for the program. This was to get familiarized with the mathematical and computer science background to prepare us for the internship. It included topics like probabilistic models, gradient descent algorithm, loss functions, ANNs, backpropagation and different activation functions. We also studied convolution operations and how stride, padding, and pooling generate feature maps.

It also included hands-on programming sessions where we wrote codes for linear regression, followed by an advanced image classification program on a Kaggle dataset using convolutional layers. We experimented with different deep learning libraries like OpenCV and TensorFlow.

Content covered during the internship

We attended lectures along with hands-on assignments and project sessions on alternate days. The lectures covered topics like supervised learning (logistic regression, SVMs, Naïve Bayes, random forests) and unsupervised learning (clustering, association, variational autoencoders, GANs). Then we moved on to deep learning topics like ANNs, forward and backward propagation, and activation functions.

There was a special emphasis on image processing techniques using convolutional layers. We had an in-depth study of padding, stride, max pooling, and transfer learning.

We also covered techniques to handle overfitting like dropout, L1 and L2 regularization, and early stopping. We implemented several libraries like NumPy, sklearn, TensorFlow, seaborn, etc.

Quiz and Final Project Presentation Scores

Breakup of scores
Assessment parameters

A quiz on Acadly was held after every lecture, along with two final quizzes. The program concluded with a final project presentation. Out of a total of 90 students, I stood first, scoring a total of 90/100 (O GRADE).

Project- Violence Detection from Real-time Surveillance Cameras

In video surveillance, to critically assure public safety, millions of surveillance cameras are deployed within cities, but it is almost impossible to manually monitor all cameras to keep an eye on violent activities. Our model is developed to automate video surveillance systems to track and monitor such activities. We designed a convLSTM and an LRCN model to classify videos based on whether it contains a violent fight or not.

Dataset creation

We found the dataset on GitHub which contained 150 ‘fight’ and 150 ‘non-fight’ videos. We researched a few more datasets such as a ‘movies’ dataset which was larger and might have produced better results, but could not use them due to copyright issues.

Data preprocessing

Step 1: Extracted the frames from the videos

Step 2: Made a dataframe using the extracted frames. The dataframe contains the following:

a) features — list of all the frames

b) labels — they have the class index

c) video file paths — paths

Step 3: Using the formula given below, the model skips certain frames while extracting them from the video as reading every single frame is not necessary-

skip_frames_video = video_frame_count/sequence_length, where sequence_length=20

We also reduced the size of the frames to make the process less computationally expensive.

Results

Out of the convLSTM and LRCN models, the LRCN model was giving higher accuracy-73.3% compared to 64%. We were able to achieve slightly higher accuracy than a research paper published on IEEE, using the same dataset. (https://ieeexplore.ieee.org/abstract/document/8936070)

We achieved an F1 score (harmonic mean of precision and recall) of 0.68, which is quite decent considering the limited size of our dataset.

My specific role

My role was related to hyperparameter optimization for the LRCN model, wherein I experimented with different values of the learning rate, dropout, and regularization techniques and how they impacted the results of our model.

Conclusion

One important take from the entire experience was how teamwork is crucial to produce an efficient output. The internship was rigorous, with early morning lectures and late night team meetings, but I learned a lot and had fun in the process!

--

--