2A2S: AI-Augmented Surveillance System
A system to augment off the shelf webcam/CCTV surveillance with motion detection, object detection models, and email alert system.
Final year project for BSc in Computer Science at University of London (AI & Machine Learning).
Features include:
- GUI
- Motion detection
- Object detection
- Web application dashboard
- Email alert
- Logs system with timestamp
PDF Question-Answer AI Application
An NLP 'chatbot' able to comprehend user query and answer based on information in a given PDF file.
Making good use of Haystack v1.25's ready-to-use ExtractiveQAPipeline to retrieve relevant excerpts and passing it to the reader for further comprehension. The answers are then scored and presented to the user.
This project does not make use of OpenAI's API nor any other APIs.
How it works:
- Extracts corpus (text) data from a PDF
- Using TextIndexingPipeline, convert corpus into haystack document object and store them in a DocumentStore
- Initialise BM25Retriever and FARMReader
- Connect retriever and reader using ExtractiveQAPipeline
- Run the pipeline and predict the answer to a given query
Personal website - This very page
My goal in making this website is to make a platform that showcases my professional profile, qualifications,
skills, awards, and activities. It is relatively simple, built using HTML 5, CSS 3, and JavaScript.
The page is designed to be user-friendly and easy to navigate. The homepage greets visitors with a simple and elegant
design, featuring a brief introduction, and navigation bar that links to various sections of the website. Visitors can easily access
any information simply by scrolling thanks to the single page layout. Hosted on GitHub Pages, making it easily accessible to anyone who
wants to learn more about my professional profile and achievements.
The design is based on a HTML5UP template which has been quite heavily personalised.
Computer Vision: Object detection with OpenCV
Real time object detection model using OpenCV (cv2) with Haar cascade method. Works with virtually any object,
only requires sufficient images to train the model on. Training data is gathered using a python script, can be used using any camera.
Model training is done through Ahmadi's cascade GUI Trainer (see link below).
Py_Bot_Paallo - Discord bot in Python
A public Discord bot based on Pyton built using Discord.py library.
It is a chat bot that is capable of responding to various user messages.
The code that runs the bot is hosted on Repl.it making it available anywhere and viewable by anyone.
Uptimerobot is used to continuously ping the repl instance to prevent it from shutting down, making the bot constantly online
Commands include:
- $help - returns a list of its features along with the command
- $status - check whether it will respond to messages or not
- $activate OR $deactivate - swithces the responding status ON/OFF
- $odd or even - determines wheter a number is odd or even
- $roll - roll a game die (1-6)
- $calc stand dev - takes a set of numbers and calculates the standard deviation
Additionally, Py_Bot_Paallo greets all server members in private chat when they come online.
OtoDecks - C++ Audio mixing app
OtoDecks is an audio manipulation software, best suited for DJ-ing purposes. It consists of a couple of
audio players complete with features such as play/pause, load track, and playback controls. It also comes
with a built-in playlist; users may add and remove files from said playlist and the playlist is saved to a CSV
file making it persistent. Users can simply quit the app, and when they come back the playlist will be
loaded automatically.
Framework: JUCE
Juce is a free-to-use open-source framework for cross platform application compatible with Windows, macOS, Linux, Android, and iOS.
OtoDecks itself is focused on Windows, compatibility with other operating system is thus not guaranteed.
OtoDecks is made as part of the final assignment of 'Object-Oriented Programming'. Grade achieved: A.
My Python projects
This page includes Python projects that may qualify as 'miscellaneous' due to their size/scope.
The majority are single file projects with a specific task. The theme ranges from beginner Python projects,
to Natural Language Processing (NLP) tasks.
Projects include:
- Text generation: Markov model + transition table
- Sentiment analysis: TextBlob
-> Go to 'Python projects' page ->