PAST PROJECTS

SELF DRIVING CAR SIMULATION

During my AI course, my final group project focused on developing a simulated self-driving car using Udacity and Python. This project allowed us to explore two distinct approaches: one utilizing OpenCV and the other employing a neural network. In this challenging endeavor, we aimed to replicate real-world autonomous driving scenarios within a simulated environment. Through our diligent efforts and collaborative teamwork, we crafted a comprehensive solution that showcased the potential of AI in the field of autonomous vehicles.

APPROACH

PHASE 1

Firstly, we embarked on the OpenCV approach, leveraging the power of computer vision techniques to analyze and interpret the simulated car's surroundings. By implementing image processing algorithms, object detection, and feature extraction, we aimed to simulate the car's perception capabilities and enable it to make informed decisions based on the visual information.

PHASE 2

In the second approach, we delved into the realm of neural networks. Utilizing deep learning techniques, we developed a neural network model capable of learning from the car's simulated driving experiences. By training the network on a vast dataset of labeled images, we sought to equip the self-driving car with the ability to make predictions and navigate through the simulated environment autonomously.

OBSTACLES

There remained a few challenges and obstacles in our path however. Obtaining high-quality training data proved crucial, and we employed innovative techniques to preprocess the data accurately. Another hurdle was accurately detecting and calculating road boundaries, which we addressed through the use of Hough Lines and fine-tuning parameters. Training the model posed difficulties due to shadow interference, requiring us to employ data augmentation and preprocessing methods to enhance the model's robustness. Despite these obstacles, our dedication, adaptability, and problem-solving skills enabled us to overcome these challenges and deliver a successful self-driving car simulation.

PERSONAL ROLE

In the project, my primary focus revolved around the OpenCV aspect, with a key emphasis on optimizing our video pre-processing techniques. I strived to ensure that our non-AI version of the self-driving car functioned effectively, exploring methods such as Hough transformation and predictive algorithms based on previously detected data. Additionally, I played a crucial role in linking our control scheme to the output of OpenCV, facilitating smooth integration and seamless functionality of the overall system. My contributions encompassed both technical expertise in computer vision and a deep understanding of the interplay between data processing and control mechanisms, ensuring the success and functionality of our self-driving car simulation.

RESULTS AND ACHIEVEMENTS

In conclusion, our self-driving car simulation project was a journey filled with challenges and valuable learning experiences. Throughout the process, we successfully tackled numerous issues and expanded our knowledge in various domains, including neural networks, OpenCV image processing, flask integration, and data cleaning. By working through the intricacies of neural networks, we gained a deeper understanding of their capabilities and limitations, allowing us to optimize our model's performance. The application of OpenCV image processing techniques enabled us to extract valuable insights from visual data, enhancing the car's perception and decision-making abilities. Beyond technical skills, the experience of working as a team in this self-driving car simulation project honed our interpersonal skills, such as conflict resolution, adaptability, and time management. Overall, this project served as a stepping stone for acquiring practical knowledge and skills in key areas such as neural networks, image processing, web integration, and data management.

RESULTS AND ACHIEVEMENTS

Project Paper