Mohammad Javad Shafiee

mjshafiee at

Co-founder & VP Research
DarwinAI, Canada

Adjunct Professor
University of Waterloo

Google Scholar


Mohammad Javad Shafiee, is currently the Cofounder and VP Research at DarwinAI and an Anjunct Professor at the Department of Systems Design Engineering at University of Waterloo. He received the B.Sc. and M.Sc. degrees in Computer Science and Artificial Intelligence, in 2008 and 2011 respectively; and the Ph.D. degree in systems design engineering with the focus on Machine Learning and Deep Learning from the University of Waterloo, Canada in 2017. His main research focus is on statistical learning and graphical models with random fields and deep learning approaches. His research interests include Computer Vision, Machine Learning and Biomedical Image Processing.

Currently, his research team has been developing a new framework for designing automatic or semi-automatic deep learning models to improve modeling accuracy and performance in addition to speeding up the design process for different use cases.

I moved full-time to DarwinAI.
The new homepage is now live...!
Our TinyDefectNet won the best paper award in CVIS 2021 Conference.
DarwinAI has won the global Tech in Motion Events award for Best Startup in North America.

Research Highlights

  Operational Edge AI

Efficient, optimized and specialized machine learning models play an important role in real-world applications especially in the new edge AI era. Real-world applications and especially in the edge AI field are mostly restricted by hardware characteristics including computational power, available memory, and energy consumption; these constraints make the use cases of deep neural networks limited for several industries since it is very laborious to have a robust model and at the same time fulfill all operational requirements. This research focuses on developing advanced and novel frameworks to design graph-based machine learning models such as deep neural networks and graphical models with efficient computation, utilized in different industries such as autonomous driving cars, surveillance, and consumer electronics. In this research project we aim to bridge the gap between human and AI and augment the capability of human users by AI functionality to better design effective and efficient machine learning models.

  Video Analytics

The analysis and extraction of meaningful information from video data is a vital application of machine learning, particularly given the explosion of video being produced, uploaded, transmitted, and stored worldwide. Machine learning and, more recently, deep learning methods have shown outstanding success in identifying objects in still images, whether as face recognition, texture classification, or even the recognition of every-day objects in cluttered environments. However these methods typically do not generalize well to video, where our proposed research focuses on two challenges:

  • Object locations, shape, and interactions are much more complex over time than within a single image. We wish to infer which objects are of greatest significance, and how multiple objects in a scene interact with one another over time -- for example whether a hat is on a person's head (interacting), or on a shelf in the background (non-interacting).
  • The overwhelming majority of video data is not annotated in any way, so our goal is to push the state-of-the-art in machine learning given semi-supervised data (few annotations) or fully un-supervised data (no annotations).

  Roboustness and Generalization of Deep Learning Models

The phenomenon of adversarial examples poses a threat to the deployment of the deep neural networks (DNNs) in safety and security sensitive domains. A great progress has been made in this area and different approaches have offered some levels of certified robustness against adversarial examples. However, there are still two main problems remaining for having robust deep neural network models; first, the level of the robustness is not very effective yet, and the second problem is that the current robust training algorithms are computationally very expensive with very high training times. This specially makes them impractical for the real-world problems with large sizes of training data.