My Internship Journey in Computer Vision at Crayon
Introduction
Crayon’s Global Internship Program (CGIP) combines a generic full-time internship of at least 26 weeks — 6 months (minimum 32 hrs/week), with an extensive amount of practical training in the defined field.
During the internship, CGIP participants will improve their practical skillset and know-how, and learn how to adapt it to internal and external requirements. CGIP participants will also optimise their professional skills in an international environment and gain valuable experience in a global business. CGIP will allow the participants to meet and collaborate with like-minded individuals within the global internship community.
Lucija´s Experience
I cannot describe how lucky I was to stumble onto this opportunity. Having recently relocated to Vienna and facing the challenge of finding employment, I held little hope. However, in a matter of a few days, I stumbled upon an internship ad and decided to apply. I was prepared to take any job available but this internship had everything I was searching for. Not only did it offer a position as a data scientist, but it was with the Computer Vision team, a role I had always dreamt of. Little did I know that this chance encounter would lead to the review I’m writing today.
Being part of the Computer Vision team, I worked on various projects in that department. The focal point of my internship was my auto-annotation project on which I worked alone. I also had a project for building and improving an existing model Faster-RCNN to get a better understanding of its architecture. Further, I assisted with developing an important and interesting internal project. Finally, I had the privilege of working on a presales project for a customer, a project that has since became an official Crayon project. Even after my internship, I continued to work on it as an employee.
Overall, my internship at Crayon was an exceptional learning journey that empowered me to acquire new skills, gain practical experience, and experience substantial growth, both in the technical and personal level.
Description of Duties
My internship at Crayon was a dynamic journey filled with exciting projects. The central focus of my internship was the auto-annotation project, which I took on independently. Without getting too technical, the objective was to reduce the time taken for correctly labeling images. Before you dive into the exciting part of training your models, you need data. And getting that data ready usually involves the tedious task of labeling images. Usually that means that you either must find a perfectly labeled set of images, which is rare, or you have to label them yourself, which is almost as time consuming as it is tedious and repetitive.
With my project, you can just send unlabelled data and labels and the job does itself. Taking charge of such a project by myself as an intern was a bit of a challenge, but I enjoyed it every step of the way. I experienced periods of high productivity and, of course, moments of stagnation that made me feel kind of hopeless. But with the help of my colleagues, getting more knowledge and constantly persisting, I succeeded in the end.
I also had a project about Faster-RCNN, a deep dive into model architecture and how to improve it, which broadened my technical understanding and intuition. In parallel, I joined an internal framework development initiative, which proved to be both, enjoyable and a valuable source of engineering and cloud-related experience.
One of the most interesting projects, thanks to its real-life use, was a particular customer pre-sales project. I had the opportunity to create a demo for this project, and it seems to have made a positive impression because the customer decided to continue collaborating with us. I couldn’t be happier about that outcome.
Skills Learned and Challenges
Throughout my internship at Crayon, I had the opportunity to develop and enhance a wide array of technical and soft skills. On the technical front, I delved into the world of PyTorch, mastering its entire stack for model development and training. Also, I gained valuable experience in training models on the cloud and developing and deploying pipelines. Looking back now, it taught me how this whole thing works and how important it is to know why you do something a certain way and where does the code you write actually go.
Creating quick demos became a prominent skill too, allowing me to present ideas and problems effectively. There is no worded code explanation which can work as well as actually seeing how the code works and being able to interact with it. Also, demos are friendly for everyone, no need for a deeper code understanding.
Furthermore, approaching problems evolved from merely coding the solution for the problem to seeing the bigger picture where your solution fits in. It made me consider various factors like scalability, optimization, and the need for batch processing or parallelization. Collaborating with colleagues on code taught me the importance of code reviews, ensuring high-quality contributions before production deployment. Nobody is perfect and everyone makes mistakes, and two pairs of eyes are better than one.
On the soft skills front, I learned when to tackle challenges independently and when to seek help. The internship taught me the importance of discipline, especially during challenging periods, when motivation may disappear. Finally, I learned the art of effective communication. I discovered how to articulate my needs and seek clarification when needed.
These skills did not only prepare me for my future career, but they also improved my everyday life, making my experience at Crayon a rewarding and growth-focused adventure.
Conclusion
My internship experience has been a pivotal chapter in my professional journey. It has allowed me to apply the theoretical knowledge gained in the classroom to real-world situations, providing me with invaluable practical insights and skills that will undoubtedly shape my future career. I’ve had the privilege of working with a supportive and knowledgeable team, who have guided and mentored me along the way.
I am immensely grateful for the opportunities and experiences this internship has offered me, and I look forward to carrying these lessons forward as I continue to grow in my chosen field
Acknowledgements
There is no single person which I met which didn’t give their all to help me when I asked and believe me, I asked a lot of them. The whole office culture here is extremely welcoming and warm.
However, I would like to give special credit to my whole Computer Vision team for supporting me. I would like to thank our team lead Saeed for showing me what great leadership looks like, where first you must genuinely connect with people and care about them in order to lead them.
And finally, the biggest thanks goes to my internship buddy Julian. His support and the sincere respect he extended to me made an enormous difference. Regardless of how many and how stupid my questions seemed, he showed nothing but patience and genuine will to help me learn. I know that without him I wouldn’t be nearly as successful and grow as much.