About Me
My name is Ehsan. I hold an M.S. in Artificial intelligence from the Sharif University of Technology. After graduation, I was working as a researcher in the Machine Learning Lab at the Sharif University of Technology. My research interest is Machine Learning, especially Deep Learning. My master thesis was about the generative models and usage of adversarial training for sequence generation. Recently, I have focused on Computer Vision with an application in Gigapixel Histopathology images. I also have some experience with multidisciplinary research, including the use of GANs in cosmology for Cosmic String simulations and segmentation and classification tasks for 3D images of CT scan and MRI.
I am fascinated by automation and the practical use of AI in real life. The application of theory for practical solutions is the most exciting part of the research for me. I enjoy dealing with challenges and solving problems, and I have participated in different competitions in the computer world, as you can see below.
Education
M.S. in Artificial Intelligence and Robotics
Sharif University of Technology, Tehran, Iran
2016 - 2019
Courses Taken: Deep Learning, Probabilistic Graphical Models, Machine Learning, Stochastic Processes, Digital image processing, Digital Signal Processing, Signal Processing, Social and Economics Networks
My thesis explored the GANs usage in discrete sequence generation, especially text generation. (More )
B.S. in Software Engineering
Kharazmi University, Tehran, Iran
2011 - 2016
Kharazmi University formerly known as Tarbiat Moallem University
Courses Taken: Video Processing (Graduate Course), Probability and Statistics, Artificial Intelligence, Multimedia (introduction to Image Processing)
Experience
Research Assistant
Machine Learning Lab, Sharif University of Technology
2019 - 2021
My research area is Computer Vision, particularly in Gigapixel Histopathology images and cancer detection. I was in the middle of doing my research when the world faced COVID-19 pandemic and Iran suffered from a widespread of this virus as well. (More )
Research Assistant
Machine Learning Lab, Sharif University of Technology / Physics Department, Shahid Beheshti University
Mar - Sep 2018
Cosmic string simulation using Generative Adversarial Networks
Teaching Assistant
Sharif University of Technology
Spring 2019:
Fall 2018:
Spring 2018:
Fall 2017:
- Modern Information Retrieval
- Probability and Statistics
The learning phase of the internship was about the parallelization techniques in computers. My focus was on CPU parallelization and learning of related libraries and techniques in C++. (More )
Publications
MoNuSAC2020: A Multi-organ Nuclei Segmentation and Classification Challenge
Verma, Ruchika, et al. (2021, IEEE Transactions on Medical Imaging)
Detecting various types of cells in and around the tumor matrix holds a special significance in characterizing the tumor micro-environment for cancer prognostication and research. Automating the tasks of detecting, segmenting, and classifying nuclei can free up the pathologists’ time for higher value tasks and reduce errors due to fatigue and subjectivity. (More )
DGSAN: Discrete Generative Self-Adversarial Network
Montahaei, E., Alihosseini, D., & Baghshah, M. S. (2021, Neurocomputing 448)
Although GAN-based methods have received many achievements in the last few years, they have not been entirely successful in generating discrete data. The most crucial challenge of these methods is the difficulty of passing the gradient from the discriminator to the generator when the generator outputs are discrete. (More )
Jointly measuring Diversity and Quality in text generation models
Montahaei, E., Alihosseini, D., & Baghshah, M. S. (2019, In Proceedings of the Workshop on Methods for Optimizing and Evaluating Neural Language Generation)
Text generation is an important Natural Language Processing task with various applications. Although several metrics have already been introduced to evaluate the text generation methods, each of them has its own shortcomings. The most widely used metrics such as BLEU only consider the quality of generated sentences and neglect their diversity. (More )
Adversarial classifier for imbalanced problems
Montahaei, E., Ghorbani, M., Baghshah, M. S., & Rabiee, H. R. (2018)
Adversarial approach has been widely used for data generation in the last few years. However, this approach has not been extensively utilized for classifier training. In this paper, we propose an adversarial framework for classifier training that can also handle imbalanced data. (More )
Efficient continuous skyline computation on multi-core processors based on Manhattan distance
Montahaei, E., Ghafouri, M., Rahmani, S., Ghasemi, H., Bakhtiar, F. S., Zamanshoar, R., … & Gorgin, S. (2015, In 2015 ACM/IEEE International Conference on Formal Methods and Models for Codesign. IEEE.)
The continuous Skyline query has recently become the subject of several research projects due to its wide spectrum of applications such as multi-criteria decision making, graph analysis network, wireless sensor network, and data exploration. (More )
Awards and Achievements
Academic
Sharif University of Technology
2019
Offered to attend the Sharif University of Technology’s Ph.D. program in Artificial Intelligence with Award
National Scientific Olympiad for University Students
Aug 2016
Ranked 4th in the 21st National Scientific Olympiad for the University Students in Computer Engineering
National Entrance Exam
Aug 2016
Admission to the Sharif University of Technology for graduate studies
Ranked 9th in Artificial Intelligence (17th in Computer Engineering) among 21’534 participants in National Entrance Exam
Kharazmi University
Dec 2015
Honored by Director of Engineering Department of Kharazmi University for outstanding research achievements
Young Scholars’ Club
Jan 2010
- Semi-finalist at 28th National Mathematics Olympiad
- Semi-finalist at 20th National Computer Olympiad
- Semi-finalist at 6th National Astronomy Olympiad
Machine Learning Contests
Ranked 5th in the MoNuSAC 2020 (Ranked 3rd in Post-Challenge Leaderboard)
I was one of the three members of the Sharif HooshPardaz Team. We were invited to present our method in the MoNuSAC 2020 Workshop.
Ranked 3rd in the HEROHE ECDP 2020
I participated individually with the Piaz as the team name. My method was the best method based on the AUC metric.
Sharif University of Technology
Mar 2019
Ranked 3rd among more than 300 teams in the Sharif Data Days 2019
I was one of the two members of the KIVI Team. The on-site part which was time-limited, contained some sections, such as developing a classifier for multi-modal data, including text and image.
Ranked 1st team in the first Iranian BCI Competition (iBCIC)
I was one of the two members of the OCD Team. The paper in this link contains descriptions of our method and details of the competition.
Programming Contests
Ranked 2nd team in MEMOCODE Co-Design Contest’15
We were invited to present our method in the 2015 ACM/IEEE International Conference on Formal Methods and Models for Codesign.
ICPC, West Asia Region
Dec 2015
Dec 2014
Our team was selected to participate in the West Asia Region of ACM/ICPC at the Sharif University site for two years, And we ranked 10th and 12th:
Computer Security Contests
Sharif University of Technology
Feb 2018
Dec 2016
Feb 2016
I was a CTF player as a team member. I was usually working on Cryptography challenges and sometimes on Forensics and Web challenges.
- Ranked 4th among 682 teams (1st among Iranian teams) in the eighth international online security contest
- Ranked 1st among 700 teams in the seventh international online security contest
- Ranked 1st among Iranian teams in the sixth international online security contest
Sharif University of Technology
Feb 2015
Nov 2013
The contest was about finding crime in a simulated world which was provided in Virtual machines. I won the first prize for two years.
- Ranked 1st in Computer Forensics section of the fifth security contest
- Ranked 1st in Computer Forensics section of the fourth security contest
Projects
Investigation on VQA dataset. TensorFlow is utilized to implement a solution based on CNN and LSTM architectures plus some ideas such as Attention and Positional features.
Finding of the missed values in the adjacency matrix of a big undirected weighted graph using probabilistic graphical models. The adjacency matrix’s values were modeled with Poisson distribution and Gamma prior. Three approaches were investigated for solving the problem, including the EM algorithm, Variational Inference, and Gibbs sampling method. I have experienced calculation and parallel implementation of these methods.
Brain EEG Signal
Different ML models are tested on the EEG signal to recognize some actions from the brain. Features are extracted from the frequency spectrogram, and it turns out Random Forest is the best model. The implementation utilizes Scikit-Learn.
Vision-based 360-degree Robot
Design and construction of a mobile robot with the ability to move to specific points on a board.
I used a machine vision (OpenCV library) for navigation, Bluetooth technology for communication, and OpenMP library to enhance the routing algorithms’ performance. The programming language used in this project was C++.
As you can see in the video, there is a fixed camera above the robot. The camera is connected to a computer and the position and angle of the robot are detected based on the robot’s marker pattern. The computer wirelessly sends commands which describe the PWM rate and working time for each of four motors. The robot uses an AVR microcontroller for the execution of these commands.
The web system is developed based on the Flask framework for the easy labeling of DICOM images with Privacy protection. The system is used for connecting to an AI system. Also, the system is prepared for use in an Active Learning scenario.
A web-based video player to leverage movies for practicing language skills. There is a demo for Persian speakers in this link. The player gets a movie with two language subtitles, then it plays video dialog by dialog with an automatic pause and shows two subtitles simultaneously. It has some combinations of different modes for practicing different skills. The listening part is based on hiding the subtitles and normal play of the video. The speaking part is based on showing just subtitle that is related to native language and muting the video. JavaScript is the language that I used for the interface and python for the backend.
Design and implementation of a high-performance and distributed solution to the Dynamic Skyline Problem. The most important part of the implementation is using data structures such as the RedBlack tree. The implementation utilizes C++ and OpenMP library.