Posts

Showing posts from July, 2022

Final Reflection

  It has been two and a half months working as a research intern in the Collaborative Robotics Lab at Purdue University. Words cannot describe how grateful I am for the experience and knowledge gained during the internship. When I first started, I could not possibly imagine that I would be able to go this far in understanding, analyzing, and researching the hard concepts, structures, and algorithms in Artificial Intelligence and Robotics. As I worked mostly with AI, I have a lot to say about the progress that I have made as a researcher in this field. Starting off with the first few weeks in the lab, I can say that I felt overwhelmed and frustrated with all the new information and tools that I needed to comprehend and implement. I was hoping to work in a team of other research interns so that I would be able to collaborate and solve problems with other people. However, I had to work by myself as all the interns were assigned to different projects. At first, it scared me because I w...

Week 10 Post 3

Reflecting on my overall journey, I can say that I am proud of myself for growing into a passionate researcher as I wanted to be when I first started this internship. I can say that every experience that I have had here in the lab so far has shaped me into the professional that I am today. I have never been so confident in my abilities as a responsible employee as well as in my technical and soft skills. I am extremely grateful for choosing this opportunity for my summer 2022 internship. Before I started this program, learning new things and tools seemed scary to me, especially doing it all by myself and without a mentor or a teacher who could guide me, so I was doubtful about this experience. However, now I can say that it all turned out to be false and that I need to trust myself more. For my final days here in the lab, I can say that I dived even deeper and at a faster pace into the research and achieved many goals that I set for myself. I finally resolved the problem with interpola...

Week 10 Post 2

Today was an interesting day that let me explore new things and tools. I thought that in my last week there would not be anything new but, apparently, I was wrong. Since last time I was not able to fix my interpolation problem yet, so I tried to see where in the code I was going wrong and what resources other people suggested on Stackoverflow and other platforms. The problem is with my NumPy arrays and the distortion of the differences in the range of the values. I tried to implement various solutions, and none of them worked. None of the CS classes that I took were teaching machine learning or AI, so the situation became more overwhelming for me because I wanted to finish the classification problem before leaving Purdue. So, I tried to ask people in the lab, and there was another undergraduate intern who wanted to help. I was amazed by the knowledge of that person, and he is only a sophomore in his undergraduate degree. The way he thinks fascinated me because his idea of understanding...

Week 10 Post 1

Today I finally met with Mythra for the first time after five weeks of him being absent from the lab. Since the morning, I have been excited to meet with him and show him the progress that I have made throughout my journey as a researcher. I had everything prepared for the meeting, all the files with code and all the files from my dataset. In fact, Mythra is one of the most intelligent and experienced people in the CS and AI field that I have ever met, so I was a little nervous to show him the things that I have been working on because I know they are not perfect and still need some improvement. The moment Mythra looked at my code, he understood all the problems and ways of fixing those problems. It turns out that my kNN algorithm is not working correctly with my dataset because the data points on my scatterplot were not normalized before I interpolated the data points. Apparently, I have to go back to normalization of my dataset before going into interpolation and interpolate everythi...

Week 9 Post 3

I start realizing that I am coming to the end of my journey at the Collaborative Robotics Lab. It feels sad because I am used to working on something that I am passionate about and being independent in what I am working on. Also, I am sad because I am used to the creative people around me, working on projects that have never been explored before by other people, which daily gave me the inspiration to pursue my passions in AI. It feels like I always belonged to this lab and worked here for years, instead of two months. I do understand though that it is not the end because I might have an opportunity in the future to join this lab as a graduate student or a Ph.D. student. On the good side, I am getting progress on my kNN algorithm. I was able to fix the bugs that occurred last time, and I started getting the clustering that I needed. It seems like it is working; however, I am not sure if that is what I need exactly. The way I see the project, it goes exactly how it is supposed to go, but...

Week 9 Post 2

It has been a good day at work. I accomplished many things, even though not everything went the right way. I am getting better at coding for sure, and that makes me proud because the things that I am coding are not simple programs but are actually AI-based things. My first accomplishment is that I have finally written the code for the KNN algorithm. In fact, I made a function calculating Euclidean distance to be able to find the nearest neighbors of my datapoints and cluster them together. That part went well. As for the rest, I was able to write the code for loading my data for the KNN algorithm, as well as writing the train() function to train my dataset to form clusters based on the k value. After that, I wrote the function called predict(), which predicts the future data points that will be in my dataset. This step is important because it helps generate new data in the dataset, and I need it because my dataset is very small for reinforcement learning since I did only 80 videos of m...

Week 9 Post 1

As of today, I can say that I am proud of my progress. Obviously, I have not finished yet, as I have time in the lab until August 1; however, I was contemplating today during our last meeting with Dr. Voyles, and I came to the realization that I have never been more professional and efficient in my life as during this internship. It all started with Dr. Voyles asking the interns how we were doing with our projects. He was not satisfied with the answers as they were short and straight to the point. He wanted to hear all the details and all the excitement that we had for our projects, so we started over. I used my creative thinking process to summarize the whole experience. As I was following through the long journey in my head, I realized that last year only, it was my dream to work on gesture recognition and AI. I forgot about it completely until I thought about it thoroughly. In my head, I was crying tears of happiness because I had never thought that a dream that I had put into my he...

Week 8 Post 3

It was a fruitful day today at work. Even though it seems like I did not make much progress in my project, I actually did make progress in my understanding of clustering with KNN and SVM algorithms. At the beginning of the day, I, as always, tried to understand these concepts on my own, but I was still stuck. After that, I tried to change my strategy and have someone explain it to me. Since Mythra is not back yet, I had Deepak, another Ph.D. student, explain it to me. In fact, he actually did a similar project with hand gesture recognition back at the University of New Delhi in India. He showed me the video that he and his teammate made when they finished the project. Basically, they used hand gesture movements to make the robot recognize some patterns (they used hand gestures, raising them up, down, left, and right). Once the robot recognized the pattern, for example, a hand up, it was programmed that way that it had to follow the algorithm in which it would play a song, or in the cas...

Week 8 Post 2

Today was a productive day. As I was struggling to understand the KNN algorithm, I found out that I had another problem, which was in my coding for interpolation. I was glad to see that there was an issue because I wanted to switch my attention from classifier algorithms and do something else because it felt like I had stopped producing any results since I started with classification. The problem with interpolation for my up, down, left, and right hand movements were that I did not implement the code correctly, and it turned out to be extrapolated instead of interpolated. A colleague of mine pointed that out when he looked over my progress. I realized that he was right because, on the plotting image, I could see the dots of interpolation all over the plotted x and y values that were plotted. After that, I played around with some values in the NumPy array that I made for interpolation, and I was able to interpolate the image to 20 frames. That action also smoothed out the plotted points...

Week 8 Post 1

As of today, I found myself stuck in learning classification algorithms. Mostly, it is because I do not have a strong understanding of the math behind those algorithms. Such a realization made me feel frustrated. All day today, I tried to understand the basics of classification methods and apply the algorithm to my interpolation file; however, all my attempts failed. I did not give up and tried to read more research papers and articles about the KNN classification algorithm specifically. But I still have only a vague understanding of the whole concept. In moments like this, I wish I had a mentor who could point at my mistakes and guide me to have a better understanding of the algorithm. However, I only can contact my mentor on this project through email, which does not let us communicate as openly as it was before Mythra went to India. Going through such moments of frustration is not easy, and the only thing that got me through the day was the email from Dr. Voyles about a competition ...

Week 7 Post 3

By the end of the day today, I felt exhausted completely. I feel like even though I like exploring and learning new things, it tires me faster as I have to expand my memory and understanding of the hard concepts more. Today I have been trying to follow the examples for KNN and SVM classification methods, and it was hard for me to grasp the basics. It may also be because it is the end of the week, and I just feel like resting more than working. But it was still fun to try out new things. KNN classification algorithm is a non-parametric, supervised learning classifier which uses proximity to make classifications or predictions about the grouping of an individual data point. This is the definition of the KNN from the IBM website. It was interesting for me to find out that not only is it used as an algorithm for classification but also for regression problems. I do not understand the concept that is given for regression, but for classification, it basically means working off the assumption...

Week 7 Post 2

As I progressed on my project, I started researching classification methods for hand gesture recognition. As of today, I read a lot of research papers and articles about the KNN (k-nearest neighbors) classification algorithm and SVM classifier (Support-vector Machine). To be honest, after reading all the information about these classifiers, I still do not understand much about them or how they work. But I am not giving up, as I still have a lot to learn. I am pretty optimistic about getting more experienced with the classifiers by doing some simple exercises and also by seeking help in StackOverflow. Unfortunately, I do not have an option of a mentor explaining these concepts to me because my supervisor is currently in India. The only way of communication we have at the moment is through emails. So, this situation bothers me a little, but I still have hope of understanding it all by myself. The good news is there is progress that I have made in interpolation. I finally exported the ima...

Week 7 Post 1

Today I have been able to achieve some progress on my project. My progress on the project seems slow and steady, but it does not bother me anymore as much because I know that I am doing my best and am working by myself, which adds more pressure on me. Regardless of that, I was able to contact Mythra, and he said that I did a good job with plotting the x and y values of the centroid onto the scatterplot. I learned how to use Matlab and NumPy, as well as interpolation in Python. It was not easy at all; however, I got it all working, which made me feel proud of myself. The images that I was getting for the extracted text files that contain x and y values look hazy. They contain some noise, which is not very friendly looking to the human eye. I tried to explore some filters to smooth it out. However, the ones that I found and applied made it better but were still noisy. Mythra told me to try plotting with equal axis scaling. I do not know what that means. I can definitely say that I have g...

Week 6 Post 3

Today I devoted my time and energy to helping the other Ph.D. student in the lab with their project. It is a quality assessment of the images, and gladly, I learned some openCV and PyTorch to be able to help them with that project. The project includes autonomous ultrasound scanning using Hybrid Force Control. Additionally, creating a novel ultrasound system that can provide imaging in the absence of a trained radiologist. One of the challenges of this project that I was told about was finding the optimal area to scan and then performing the actual scan. It is because it requires simultaneously maintaining contact with the surface while moving along it to capture high-quality images. I experienced today myself how hard it is to distinguish between bad-quality images and good-quality images. There are several algorithms that I experimented with, but still, getting high-quality images was a challenging task. While it does not seem like something that I usually work on, it is still relate...

Week 6 Post 2

Today I was trying to assess the progress I made while working on hand gesture recognition. I can say that I dived into this project with zero knowledge about the topic. I had to spend days researching the topic and resing the papers, as well as learning convolutional neural networks, libraries, and languages that I have never used and practicing them. I also had to learn how to work by myself only, which was a downside of this internship. I consider it a downside because, in comparison with all the classes that I have taken at Berea College, I don't remember many classes where the assignments did not require pair-programming. I consider pair-programming an important aspect of any computer scientist professional. So, for me, having to work by myself is a pretty hard task to do. Mostly, it is because I have no one to ask when I get stuck, and I cannot see the problem I am working on from another perspective than my own. These are the challenges that I faced while working on the proj...