Ali Yamini

University of Waterloo, ECE ali.yamini[at]

I'm a MASc student in the Department of Electrical and Computer engineering at the University of Waterloo. I love AI driven technologies and i'm pursuing it with great effort. I also design web applications and try to come up with new ideas to work on. I love reading, hiking, listening to music and doing graphic designs in my spare time.


Human-Swarm Interactions

(University Of Southampton)

Reinforcement Learning

From the start of the project, we were trying to implement a machine learning solution for navigating the swarm of drones toward disaster zone. The necessity of this was due to our intent to decrease the human operator’s help in navigating the drones. We experimented with implementing a deep-q-learning solution using Gym library in python. To improve the experiment’s performance, due to the high number of drones in the environment, we decreased the size of our drone maps (Confidence & Belief) to 40 by 40 in our computations.

User study #1: No Maps

We wanted to conduct a user study if there was no global view on the swarm of drones (Real situation), Having only our confidence map (A matrix that shows visited and not visited cells), belief (A matrix showing important points such as disaster locations) map, and error rate. we gave the user the option to select areas inside the confidence map in order to attract or deflecting the swarm from that exact location. The area selection process evolved as we understood that selecting an area instead of a single point makes controlling the swarm easier.

User study #2: Full Maps

In this user study, we were trying to get user input from the global map (simulation zone) to simulate the case that the operator can control each of the drones in the experiment individually. To achieve this, we changed our simulation so that the operator can adjust the drone location (setting confidence value for target location to zero to attract the drone) by simply dragging and dropping a specific drone to a particular site. The mentioned task proved challenging in our studies since controlling each drone individually is not possible in a swarm with lots of drones.

ML-based Healthcare monitoring system

(IAU Science & Research branch)



Advancement in sensor technologies has resulted in rapid evolution of Internet of Things (IoT) applications for developing behavioral and physiological monitoring systems such as IoT-based student healthcare monitoring system. Nowadays, a growing number of students living alone scattered over wide geographical areas, and tracking their health function status is necessary. In this paper, an IoT-based student healthcare monitoring model is proposed to continuously check student vital signs and detect biological and behavioral changes via smart healthcare technologies. In this model, vital data are collected via IoT devices and data analysis is carried out through the machine learning methods for detecting the probable risks of student’s physiological and behavioral changes. The experimental results reveal that the proposed model meets the efficiency and proper accuracy for detecting the students’ condition. After evaluating the proposed model, the support vector machine has achieved the highest accuracy of 99.1% which is a promising result for our purpose. The results outperformed decision tree, random forest, and multilayer perceptron neural network algorithms as well.

Download PDF

Clustering-based software modularisation

(Guangzhou Vocational and Technical University)



Software module clustering approaches can provide a better understanding of large and complex software systems through decomposing the enterprise resources into classified modules which are smaller, and therefore easier-to-handle. As the dimensions and complexity of enterprise software projects are continuously increasing, handling a large software project is going to be more challenging. The challenge would be more complex if the experienced personnel is considered as well. Therefore, appropriate automatic software modularization clustering methods are required in resource management. This paper provides a Systematic Literature Review (SLR) on the software modularization clustering models. We studied a wide range of papers from 2001 to 2020 to provide our SLR. Also, a technical taxonomy is presented to classify the existing papers on software modularization clustering models and algorithms. The software module clustering methods are categorized into three main classes. Finally, new challenges and forthcoming issues of software modularization clustering models are presented.

Download PDF


A new machine learning-based healthcare monitoring model for student’s condition diagnosis in internet of things environment

Soft Computing, DOI LINK: 10.1007/s00500-020-05003-6

Souri, A., Ghafour, M., Ahmed, A., Safara, F., Yamini, Ali, & Hoseyninezhad, M.

Published - 2020

Clustering-based software modularisation models for resource management in enterprise systems

Enterprise Information Systems, DOI LINK: 10.1080/17517575.2020.1830307

Li, J., & Yamini, Ali.

Published - 2020

Iot for smart environment applications (Book Chapter)

ML/IoT for Smart Environments/Cities, DOI LINK: 10.1007/978-3-031-09729-4_2

Zamanifar, A., & Yamini, Ali.

Published - 2022

Fog computing in iot based healthcare (Book chapter)

Cloud Computing in Medical Imaging, Healthcare Technologies and Services, LINK: taylor&francis

Zamanifar, A., & Yamini, Ali.

Published - 2023


IAU science & research branch

Bachelor of engineering
Computer Engineering - Software Development

GPA: 18.39 (Scale of 20)

September 2017 - September 2021

Allameh Amini High School (National Organization for Development of Exceptional Talents)

Mathmatics & Physics

GPA: 18.68/20

September 2012 - June 2016




Main Page

Background Removal: Detecting and removing background from product images automatically. You can use this service for your e-commerce images!


Scaling: Using this service, you can upscale and improve the details within an image. It's widely used for who can not take photo with professional cameras!


Classification: In this service you can classify an image according to its visual content and you don't need to do labeling on yourself.


Programming Languages & Tools
  • Programming languages: Python, C, C++
  • Front-end: HTML / CSS / Javascript / Bootstap / Sass / React
  • Back-end: Django / Flask / Redis / Celery / DRF / Postgres / MongoDB / Mysql
  • Machine learning: Tensorflow / Pytorch / Numpy / Pandas / Matplotlib / Gym