Graduate PhD Student
University of Maryland
Research Interest: Video Analysis (recognition, retrieval), image segmentation, texture classification, patch matching.
Technical Skills: Python, C/C++, JAVA, OpenCV, MATLAB, mex files, Cython, and CUDA
TensorFlow, Keras, OpenCV, SimpleITK, CAFFE
Education: Computer Science PHD/MS GPA: 4.0/4.0 - University of Maryland
Masters of Business Administration (Marketing Major) GPA 3.83/4.0 - Arab Academy for Science Technology
Computer Science BS GPA 3.81/4.0 - Alexandria University- Faculty of Engineering
||Segmentation of Renal Structures for Image-Guided Surgery, MICCAI 2018 Junning Li, Pechin Lo, Ahmed Taha, Hang Wu, Tao Zhao
|Kid-Net: Convolution Networks for Kidney Vessels Segmentation from CT-Volumes, MICCAI 2018Ahmed Taha, Pechin Lo, Junning Li, Tao Zhao
|Two Stream Self-Supervised Learning for Action Recognition Ahmed Taha, Moustafa Meshry, Xitong Yang, Yi-Ting Chen, Larry DavisCVPRW 2018 (DeepVision)- Extended Abstract Github Code
|Texture Synthesis with Recurrent Variational Auto-Encoder, ARXIV 2017Rohan Chandra, Sachin Grover, Kyungjun Lee, Moustafa Meshry, Ahmed TahaGithub Code
|Seeded Laplacian: An Interactive Image Segmentation Approach using Eigenfunctions, ICIP 2015Ahmed Taha, Marwan TorkiGithub Code
|Multi-Modality Feature Transform: An Interactive Image Segmentation Approach, BMVC 2015Moustafa Meshry, Ahmed Taha, Marwan TorkiCode
- Patch Matching [Adobe Research Intern Expo Poster][Sample Video, Video 2]: During my Adobe summer internship, I worked on a new selection/segmentation tool based on patch matching. The intuition is much similar to "Pseudo-polar based estimation of large translations rotations and scalings in images" but instead of comparing images, we compare patches. The selection results are remarkable, yet it suffered large computational time. Thus, it is not ready for industry use yet. While at Adobe, I intensively learned about Coherency Sensitive Hashing, The Generalized PatchMatch Correspondence Algorithm and of course Fourier transform. After the internship, I did additional evaluation against PatchMatchGraph: Building a Graph of Dense Patch Correspondences for Label Transfer. That's why I became expert with Darwin Framework.
- Texture Classification: I worked on a new texture classification approach classifying textures suffering a dark shadow. The results achieved was not good enough for a top conference. Yet, I reviewed the literature in great details. I implemented both local binary pattern (LBP) and various filter banks like Leung-Malik, Schmid, and maximum response. I got familiar with compressed sensing for texture classification. I ran my evaluation experiments using the following texture datasets: CUReT, UIUC and DTD.
- Image Segmentation: Developed an approached for solving interactive image segmentation problem. The approach supports different user annotation forms like scribble, complete and incomplete trimaps, tight contour and bounding box. Qualitative and quantitative results are compared against Grabcut, Geodesic Star Convexity and MILCut.
Teaching Experience: (click to see course description)
- CMSC216 (Introduction to Computer Systems - Using C)
Machine representation of data including integers and floating point. Modern computer architectural features and their interaction with software (registers, caches). Interaction between user programs and the OS: system class, process, and thread management. Optimizing software to improve runtime performance using both compilers and hand turning.
- CMSC132 (Object-Oriented Programming II - Using JAVA)
Introduction to use of computers to solve problems using software engineering principles. Design, build, test, and debug medium -size software systems and learn to use relevant tools. Use object-oriented methods to create effective and efficient problem solutions. Use and implement application programming interfaces (APIs).
- CMSC420 (Data Structures - Using JAVA)
Description, properties, and storage allocation of data structures including lists and trees. Algorithms for manipulating structures. Applications from areas such as data processing, information retrieval, symbol manipulation, and operating systems.
- CMSC426 (Computer Vision - Using PYTHON)
An introduction to basic concepts and techniques in computervision. This includes low-level operations such as image filtering and edge detection, 3D reconstruction of scenes using stereo and structure from motion, and object detection, recognition and classification.
I spent some time after earning my Bsc developing mobile apps for iOS. I co-founded Inova, a software development company. If you want to know more about such period. plz visit my personal site.