Joined Johns Hopkins University CCVL Lab as a Research InternDetails:
Joined CCVL Lab at Johns Hopkins University as a research intern focusing on machine learning and computer vision for medical image analysis
AI & Computer Vision
Diffuser Related ProjectDetails:
Aiming to enhance the performance of Diffuser "Planning with Diffusion for Flexible Behavior Synthesis" (Project details and idea cannot be disclosed at the moment) What was learned:
Acquired in-depth theoretical and practical knowledge by engaging directly with the Diffuser's codebase and complementary codes as well that were utilized in an effort to enhance Diffuser's performance
Using diffusion models for RL tasks
Working on offline RL planning
Working with D4RL datasets and Gym environments
Reinforcement Learning
RL World Model Related ProjectDetails:
Improving long-term memory in model-based RL (Project details and idea cannot be disclosed at the moment) What was learned:
Extensive theoretical and practical experience gained from working on S4WM and the idea used to improve its long-term memory performance
Working on world models for model-based RL
Working on Memory Maze environment
A degree of collaboration with other researchers
Reinforcement Learning
Fundamental RL AlgorithmsDetails:
Implementing PPO-clip, SAC and DQN What was learned:
theoretical and practical experience working on RL in code
Working on Atari and DMC environments
Reinforcement Learning
BLAST ImplementationDetails:
Building on top of Danijar's original TF code of DreamerV2 to get to reproduce BLAST's results What was learned:
Experience working with TF
Learning how RL looks like in code, since this was my very first real RL-related project
Learning how to wrap the environments and change them as desired (changed the mini-grid environment)
Reinforcement Learning
Joined MLML as an RL Research InternDetails: After becoming interested in RL for my future career, I joined MLML lab lead by Prof. Sungjin Ahn at KAIST to gain more experience in the field. Prior to joining the lab, I reviewed multiple works related to RL (e.g. GFlowNets, Coarse-to-Fine Q-attention, etc.) and implemented BLAST model in code. In addition, I attend and present in the lab's weekly seminar which has immensely helps in staying up-to-date with the latest RL and AI research in general. What was learned:
Immense practical and theoretical experience through projects and advising
efficient research note taking skills
Collaboration
Stay up-to-date with recent research in RL and AI in general
Reinforcement Learning
RL Study
After becoming extremely interested in RL, I started self-studying about it through:
Fully reading the bible of RL "Reinforcement Learning: An Introduction" by Sutton and Barto.
Watching David Silver's DeepMind x UCL RL lecture series two times
Watching Pieter Abbeel's and Sergey Levine's Deep RL series
Reading relatively recent RL papers (e.g. SPiRL)
Reading RL articles (e.g. OpenAI's Spinning Up)
Signing up for the RL course at KAIST
Reinforcement Learning
MS Thesis WorkDetails:
In my MS graduation project, I am using diffusion models to transform images from six surrounding cameras into a high-definition, bird's-eye view map of the environment around the ego-vehicle. What was learned:
The most important skill I learned thorughout my MS journey, was about how to find a research problem and propose a creative solution for that problem, along with the nceissities to do so by doing a comprehensive literature review of the field
How to present my research ideas
How to formulate a storyline to better explain my the research objective and methodology
Gaining practical and theortical skills by utilizing diffusion models for my main objective
AI & Computer Vision
MS CourseworkDetails:
In my MS all of my courses focused on AI, RL and computer vision, with the exception of the probability and statistics course What was learned:
Sharpened my coding skills through projects in courses such as: Deep RL, Programming for AI, etc.
How to properly review recent AI papers
Classical computer vision algorithms
AI & Computer Vision
Road Lane SegmentationDetails:This was a simple project aimed at segmenting road lanes using deep learning What was learned:
Using off-the-shelf networks rather than reinventing the wheel whenever possible
How to use the CityScapes dataset
AI & Computer Vision
Started MS at KAIST
Started MS in Robotics at KAIST with a focus on AI and computer vision at VDC Lab under Professor Dongsuk Kum
Robotics, AI & CV
UAV Path Planning with Obstacle AvoidanceDetails: The light blue circles represent the position of the UAV at each step, while the red and green polytopes represent the obstacles and free areas respectively. The green polytopes were created to guide the UAV into knowing that these places are free spaces, and to solve the problem in a particular convex optimization technique. What was learned:
The beauty and power of math and classical optimization methods
How to form the problem of path planning and obstacle avoidance into a convex optimization problem and solve it, it was extremely exciting and amusing to me to manipulate of reality and formulate into math equation to achieve my objective
Robotics, AI & CV
UAV Localization ProjectDetails: Proposing a design for a UAV’s landing station that can replace ArUco markers in harsh weather conditions. Then implementing an algorithm that uses this design to localize the UAV in 3D (with different precisions depending on the amount of occlusion on the station) What was learned:
It was a great experience of collaborating with more experienced older students
Learning about classical computer vision algorithms that were new to me
Knowing that in reality the initial ideas may not work, and with experiments they could be refined to fit the task and generalize better
Working with RealSense RGBD camera
Working both on the hardware (the connections and the configuration and the design) and the software (coding the algorithm and the communication)
Robotics, AI & CV
IDAO CompetitionDetails: After securing first place in the MLML competition, I joined a team for the IDAO competition, co-hosted by Yandex and HSE University. This event centered on developing models to maximize net profitability by predicting client responses to credit offers, integrating data analysis and machine learning within tight computational constraints. Details:
Teamwork and collaboration, working in a team of 3
Working with a real-world problem and dataset
Working with a real-world computational and time constraints
Working with a real-world evaluation metric
Robotics, AI & CV
1st Place in Innopolis Machine Learning CompetitionDetails: Participated in the Innopolis 2020 ML challenge, creating a classification model for domain adaptation. Overcame computational limits using transfer learning, knowledge distillation, ensemble learning, and quantization, and tackled domain adaptation with pseudo labeling and auto-encoders, securing first place amongst all students in data science and robotics track whom were more experienced than I am in AI. What was learned:
Developing practical skills in AI for the first time
Exploring and techniques like knowledge distillation, ensemble learning, and quantization for model efficiency, and pseudo labeling and auto-encoders to bridge domain gap
Self-directed learning and research skills, crucial for tackling real-world AI challenges beyond theoretical knowledge.
Resilience and adaptability in a competitive AI field, proving ability to succeed as a beginner among more experienced peers.
Robotics, AI & CV
Coursework at Innopolis University
I have gained an enormous amount of knowledge and experience from the industry-oriented courses I took at Innopolis University, and I am very grateful for the opportunity to have studied there. The courses I took can be found in the courses section of this website. However, I would like to highlight that all of these courses were essential to my field and focused on AI, robotics and computer vision. I delved deeper into the advanced robotics topics and started my journey in AI also at Innopolis University. Many of those courses had essential projects and assignments that helped me gain practical experience in the field.
Robotics, AI & CV
Started MS at Innopolis University
Started MS in Computer Science majoring in Robotics and Computer Vision at Innopolis University. My time at Innopolis University was full of new experiences and challenges, and I am very grateful for the opportunity to have studied there.
Robotics, AI & CV
BS Graduation ProjectDetails: In my undergraduate project, which was in the peak of COVID lockdown, I focused on the Sensing Unit for a smart Continuous Passive Motion (CPM) machine, integrating Microsoft Kinect and surface EMG sensors for diagnosing knee injuries. This involved capturing 3D knee movements and muscle activities to accurately assess patient conditions, contributing to the development of tailored rehabilitation programs. What was learned:
Experience working with RGBD sensors like Kinect and IMU sensors
Experience working with ROS and LabVIEW and integrating both of them with the sensors in our device
Creating a simple app that is easy to use for the purpose of measuring body joints movement in real-time
Gaining teamworking skills
Robotics
Research at SESCDetails: I joined SESC, being advised by Dr. Hossam Hassan, in 2019 with a passion and desire to delve deeper into research and integrate into its community. With that goal in mind, I didn't aim for top-tier publications, but i aimed to gain the basic research skills needed in the future (which is not an easy thing to acquire in my environment and country). During that period I managed to work on three different projects and had a publication in each of them (was supposed to be first author or co-first author in the 2nd and 3rd projects, but back then I was not aware of the importance of the order of authors).
1st project: Experimental modeling of hexapod robot using artificial intelligence, published in AICV 2020
2nd project: Classifying upper limb activities using deep neural networks, published in AICV 2020
3rd project: Neuro-Fuzzy System for 3-DOF Parallel Robot
Manipulator, published in NILES 2019
What was learned:
Basics of writing research papers, as well as using LaTeX
Designing robotics arm structures using SolidWorks and then building them in real life with the required materials and components
Using sensors like IMU with boards for bluetooth communication
First basic encounter and knowledge and the basic usage of off-the-shelf simple tools to train neural networks
Robotics
Participation in ACM ECPCDetails: Attended an ACM ECPC competitive programming orientation at Nile University, inspiring me to form a team and participate immediately due to my competitive nature and newfound passion for programming problem-solving, despite not being a CS student. What was learned:
Proficiency in C++ programming.
Understanding of competitive programming, algorithms, and efficient coding.
Development of teamwork skills.
Robotics
Building 6 DOF Robot ManipulatorDetails: Along with my teammates, we built a 6DOF robotic arm **entirely from scratch**, with most of the parts being 3D printed while the others are made of acrylic. This was during a program organized by Nile University and Erasmus+ (VETEng program) , that aims to group mechatronics engineering students with vocational students in several projects. What was learned:
Accurate design all parts of the robot based on the available components in the market, taking into considerations the payloads, frictions, electronic boards, etc.
Manufacturing and assembling the robot
Controlling the robot
Robotics
Automatic Vacuum CleanerDetails: Collaborated with teammates to create an automatic vacuum cleaner robot, featuring omniwheels for improved maneuverability in indoor environments and ultrasonic sensors for obstacle detection. What was learned:
Design and assembly of all the parts of the mobile robot
The use of ultrasonic sensors
Experience in using omniwheels and controlling them in a way to facilitated my desired objective
Teamworking skills
Robotics
Freelance: Path Following Mobile RobotDetails: This was a project made to help school students learn about robotics. In this project I assembled a mobile robot and and created the algorithm that can help it follow the lanes based on pixel images with the help of deep learning Objective and skills learned:
Exposure to deep learning
Technical experience in assembling the robot
This job (along with other mechanical designing projects) helped me pay the applicaton fees for my MS applications
Robotics
Freelance: Programming PLC for AutomationDetails: Programmed a PLC to automate a production line for pipes in one of the factories in Egypt. Objective and skills learned:
Although I'm not interested in such kind of jobs, I was able to learn and program a PLC device from scratch in only two weeks with the exact specifications that the customer asked for and to integrate it and test it into their factory for real-time automation of pipe production, this was a clear example of my quick learning abilities
Gained industry-related experience
This job helped me pay the applicaton fees for my MS applications
Robotics
FESTODetails: enrolled in 2-years FESTO professional diploma as FACT center in Nile University in parallel while doing my undergraduate studies there, it's focused on developing industry relevant knowledge in the robotics field throught the following courses:
1. Pneumatics
2. Electropneumatics
3. Hydraulics
4. CNC Basics
5. CNC Advanced
6. AC Machines
7. DC Machines
8. PLC Basics
9. PLC Advanced
10. Robotics
Robotics
Coursework at Nile University
My coursework at Nile University was focused on the basics of mechatronics engineering, with courses such as: Robotics, power electronics, control systems, programming, etc. with many of the courses being project-based or research-based, such as video encryption project in linear algebra course, and the automatic vacuum cleaner project in the control course, creating game 2048 app from scratch in the python programming course, etc. These courses were essential to my field and helped me gain the basic knowledge needed in the field. In addition, most of these courses were presented in Undergraduate Research Forum (UGRF), held at Nile University every semester, where students present their projects and research to the public and to a panel of judges, which helped tune my research skills.
Robotics
Moved to Nile University
Transferred to Nile Univeristy to continue my BS in mechatronics engineering degree after being granted a 100% scholarship from Bank of Egypt Achievements:
Graduated ranking 2nd/~110 engineering students, with a CGPA of 3.98/4.0
Recipient of the Dean’s Honor award
Robotics
Started BS in Engineering at Misr University for Science and Technology (MUST)
Started my BS in Engineering at MUST and spent one year there. Achievements:
Ranked 1st/~250 engineering students at the end of the year before transferring to Nile University.
I was head of the scientific committee of Building Family, a community aimed at helping students in my batch with their studies.