FACE TECHNOLOGY DIVISION
The best way to start a career is to learn from some of the best and brightest minds within your field of interest. So, come spend an unforgettable summer with us and gain priceless first-hand experience by working on interesting computer vision and machine learning projects.
If you are a Master’s student or you’ll become one this fall, this internship was designed for you. Gain hands-on experience with the possibility of permanent employment after your graduation, and an outstanding reference for your resume.
The internship will be held in our Zagreb office for 6 weeks (between the end of August and the beginning of October). It is a full-time, financially compensated position that lets you experience what it feels like to be a part of a growing, successful company.
Choose one of the available topics and collaborate with our experienced engineers. New ideas and curiosity are always welcome – we want you to grow professionally, but also appreciate the fresh perspectives you bring to the table.
Choose your internship project
At Visage Technologies, we have two separate divisions, and you can check out what they are below. You will also find a list of projects available within each of them, so you can choose the one that fits your interests the best.
Our Face Technology Division develops cutting-edge face and beauty AR technology. We are proud owners of visage|SDK and makeup|SDK, powerful and 100% proprietary software development kits. These SDKs provide top-notch face tracking, analysis, and recognition, and enable unique AR makeup experiences.
There are two available projects you can choose from for your internship within this division:
Synthetic data offers many useful features when it comes to training machine learning models. However, a drawback is the possibility of generating unrealistic samples, which can hinder the model’s ability to transfer learned knowledge to real-world scenarios. The goal of this internship is to address this issue by applying a process that degrades the quality of an existing render of a person (synthetic image) and then using a generative model to restore the image. As a results, we hope to obtain a realistic image of a person, while still being able to reuse the original annotations such as face keypoints and bounding boxes.
Prerequisites: Python, Basic knowledge of deep learning
Photorealistic human face rendering will be investigated to generate synthetic face data. Data generation should be implemented using Unity with parametrization of head position, eye gaze, and facial expression. A final goal is to check if synthetic face data could be used in workflow for testing face tracking software. Known parameters and annotations in the face data would be compared to those predicted by the visage|SDK.
Prerequisites: Unity basics, C#
Our Automotive Division collaborates exclusively with Qualcomm, developing algorithms for ADAS (Advanced Driver Assistance System). The system detects and tracks objects such as other vehicles and pedestrians, with applications such as automatic braking, lane-keeping assistance, adaptive cruise control, etc.
There are three available projects you can choose from for your internship within this division:
As we want our CNN network to perform well on diverse number of scenarios, we need data. As collection and annotation is hard and expensive, many scenarios are not covered by it. To get around this we could generate very specific scenarios to train our CNNs. One way to generate these specific scenarios would be using SESAME network, which can translate semantic maps, which carry pixel-wise information, to realistic looking images. The purpose of this internship is to implement such a network and examine how realistic are the car driving scenarios generated using this network.
Prerequisites: Deep Learning basics, Neural Networks, Python
The goal of this task is to compare sigma point methods like unscented Kalman filter (UKF) and cubature Kalman filter (CKF). The idea is to compare different methods in visual tracking use case as it would be interesting to see pros and cons of choosing sigma points differently. After understanding difference between UKF and CKF, implementation of square root variants to get numerical stability will be examined. To sum up, this task would first include implementation of UKF and then modifying it to CKF. Afterwards, implementing their square root variants and running comparison simulations. Finally, if time permits, implementation of other sigma points can be examined.
Prerequisites: Python (C/C++ is also acceptable), basic knowledge of tracking and Kalman Filter
Adverse weather conditions degrade image quality which causes our convolutional neural network to produce erroneous information that is relayed to other car subsystems. In order to properly evaluate the existing prediction quality model in these atypical scenarios, we need to have a way to get more soiling data than we already have. One approach that is considered in the modern automotive industry is to generate synthetic camera soiling scenarios out of existing footage.
Diffusion models are a relatively new approach to image generation whose performance appears to be comparable to the already established GAN model family, while possessing qualitative properties which make training and evaluation easier. Notable examples include OpenAI’s Dall-E 2, Stability AI’s Stable Diffusion, and Google’s Imagen.
The purpose of this internship is to get familiar with the diffusion model family, data preprocessing, data augmentation and model design. The main goal is to utilize a diffusion model for generating new soiled images using publicly available data. During this period, candidates will learn how to train diffusion models, evaluate them quantitatively and qualitatively and compare them with existing generative approaches in the literature.
Prerequisites: Python, Tensorflow, Deep Learning Basics, Neural Networks
“During my internship, I was able to meet many great people. Every week there was a cake or something sweet in living room, you could play 8 ball pool and workout whenever you wanted. Despite all of that, everyone was working really hard. The working atmosphere is excellent! That month and a half really flew by quickly. I had a great time and learned a lot. 9 months since the internship started, I’m still part of Visage Technologies team as a student developer and I’ll soon become a full time employee. If you’re interested in autonomous driving or computer vision, I would definitely recommend this company and its internship program.”
“Last year, I worked on the topic “Learning from Image – CNN & MonoDepth” in which the ultimate goal was to develop a deep convolutional model (CNN) for depth estimation. Solving this problem was very interesting and I learned a lot. The atmosphere in office was great – working and motivating, but with fikas (coffee and cookies breaks) and billiard game breaks.”
“I would recommend the student internship at Visage Technologies to anyone interested in Research and Development as the focus of the internship is work on a research topic with a constant support of an experienced mentor. Additionally, I want to point out that the atmosphere is truly fantastic; everyone is very kind and helpful thus integrating you well in the work environment of the company.”
At Visage Technologies, we develop smart solutions powered by computer vision and machine learning, and we’ve been among the fastest-growing technology companies since 2017. Our team keeps growing as well, so we’re often on the lookout for new colleagues.
Our vision is to enable the unimaginable with computer vision technology created in a harmonic workplace. That’s why we put a lot of care into building the best teams. People who never stop learning, value their colleagues, and enjoy making an impact in the industry are always welcome here!