| layout | page | |
|---|---|---|
| title | Journey | |
| title1 | Journey | |
| subtitle | My Academic and Project Journey | |
| date | 2024-01-10 | |
| categories |
|
Johns Hopkins University
Diffuser Project
S4WM Project
RL Algorithms
BLAST Implementation
2023MLML Internship
RL Study
MS Thesis Work
2022MS Coursework
Lane Segmentation Project
2021Start at KAIST
UAV Path Planning
UAV Localization Project
IDAO Competition
Innopolis ML Competition
Innopolis Coursework
2020Start at Innopolis University
BS Graduation Project
2019Research at SESC
ACM ECPC Participation
6 DOF Robot Project
Automatic Vacuum Cleaner
Path Following Robot
PLC Automation Project
FESTO Diploma
Nile University Coursework
2016Start at Nile University
-
Joined Johns Hopkins University CCVL Lab as a Research Intern
Details:
Joined CCVL Lab at Johns Hopkins University as a research intern focusing on machine learning and computer vision for medical image analysis
-
Diffuser Related Project
Details:
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
-
RL World Model Related Project
Details:
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
-
Fundamental RL Algorithms
Details:
Implementing PPO-clip, SAC and DQN
What was learned:- theoretical and practical experience working on RL in code
- Working on Atari and DMC environments
-
BLAST Implementation
Details:
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)
-
2023
Joined MLML as an RL Research Intern
Details: 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
-
2022
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
-
MS Thesis Work
Details:
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
-
MS Coursework
Details:
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
-
Road Lane Segmentation
Details: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
-
2021
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
-
UAV Path Planning with Obstacle Avoidance
Details: 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
-
UAV Localization Project
Details: 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)
-
IDAO Competition
Details: 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
-
1st Place in Innopolis Machine Learning Competition
Details: 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.
-
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.
-
2020
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.
-
BS Graduation Project
Details: 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
-
2019
Research at SESC
Details: 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
- 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
-
Participation in ACM ECPC
Details: 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.
-
Building 6 DOF Robot Manipulator
Details: 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
-
Automatic Vacuum Cleaner
Details: 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
-
Freelance: Path Following Mobile Robot
Details: 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
-
Freelance: Programming PLC for Automation
Details: 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
-
FESTO
Details: 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 -
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.
-
2016
Moved to Nile University
Started my bachelors at Nile Univeristy 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
-
<script src="js/imagesloaded.pkgd.min.js"></script>
<script src="js/charming.min.js"></script>
<script src="js/demo1.js"></script>
<script src="js/click.js"></script>
<script src="js/selector.js"></script>