Görkem Algan, PhD, Developer in Ankara, Turkey
Görkem is available for hire
Hire Görkem

Görkem Algan, PhD

Verified Expert  in Engineering

Artificial Intelligence (AI) Developer

Location
Ankara, Turkey
Toptal Member Since
January 4, 2022

Görkem is a Computer Vision expert and engineer who worked with ASELSAN, Turkey's biggest defense industry company, for seven years. Görkem created a 360° surveillance system for ships and developed a face body photo editor mobile app for iOS and Android. He excels in developing Computer Vision pipelines such as detection, tracking, classification, and image optimization. His Ph.D. focused on Computer Vision and machine learning.

Portfolio

ASELSAN
C++, Python, Computer Vision, Machine Learning, Artificial Intelligence (AI)...
ASELSAN
C++, Embedded Systems, C#, Python, Embedded Linux, Qt, Visual Studio, Linux...
ASELSAN
C, C++, Python, C#, Windows, Linux, TortoiseSVN, Visual Studio, Algorithms...

Experience

Availability

Part-time

Preferred Environment

Windows, Linux, Visual Studio Code (VS Code), Visual Studio, Python, C++, Flutter

The most amazing...

...tool I developed was for my Ph.D. thesis; a learning-based algorithm for early diagnosis of ROP disease, which is a major factor of blindness in babies.

Work Experience

Senior Computer Vision Engineer

2019 - 2022
ASELSAN
  • Focused on Computer Vision systems for thermal imaging. Created a 360° surveillance system for ships with a full computer vision pipeline for the surveillance system.
  • Optimized images for human perception. Raw thermal images from sensors are processed with non-uniform corrections, to make infrared band images human-understandable. Afterward, employed various histogram manipulations to utilize the scene image.
  • Detected and tracked potential target movement on the scene with algorithms developed by our team.
  • Classified the detected objects to predefined classes.
  • Developed Computer Vision algorithms on the desktop environment, then optimized and tuned them to work on the embedded platform.
Technologies: C++, Python, Computer Vision, Machine Learning, Artificial Intelligence (AI), Software, OpenCV, Deep Learning, TensorFlow, PyTorch, Algorithms, Embedded Systems, Object Detection, Visual Studio, Linux, Windows, MATLAB, ARM, Testing, TortoiseSVN, Embedded C++, Agile, Design, Matplotlib, NumPy, SciPy, Pandas, Keras, Scikit-learn, PiLLoW, Visual Studio Code (VS Code), PyCharm, Conda, Anaconda, Source Code Review, Code Review, Team Management, Image Processing, Project Planning

Senior Software Developer

2018 - 2019
ASELSAN
  • Designed the embedded software for thermal vision systems. Developed complete embedded software of the whole pipeline running on various embedded environments such as Xilinx, Altera, and Arm.
  • Led a team of eight engineers. Our team was responsible for the embedded software of 10+ ongoing projects.
  • Designed and deployed the proposed software and managed continuous testing of the evolving software.
  • Designed graphical user interfaces on the desktop for communicating with embedded software.
Technologies: C++, Embedded Systems, C#, Python, Embedded Linux, Qt, Visual Studio, Linux, Windows, OpenGL, C, MATLAB, ARM, Graphical User Interface (GUI), Testing, Software, Embedded Software, Algorithms, TortoiseSVN, Embedded C++, Agile, Design, Source Code Review, Code Review, Team Management, Project Planning

Software Developer

2015 - 2018
ASELSAN
  • Developed embedded software in c++ for thermal vision systems. Our software ran on embedded platforms. The software was designed in a modular way so that changing hardware components would require a minimal change of software.
  • Designed the GUI with C# for communicating with embedded software.
  • Wrote desktop simulations of the embedded software so that the software design phase could be accomplished on the desktop without the need for hardware. The designed software was deployed to the embedded platform.
Technologies: C, C++, Python, C#, Windows, Linux, TortoiseSVN, Visual Studio, Algorithms, Testing, Software, Embedded C++, Embedded Linux, Embedded Systems, Embedded Software, Agile, Qt, OpenGL, ARM, Graphical User Interface (GUI), Design

Intern

2014 - 2014
Philips Research
  • Wrote my master's thesis at Philips Research Laboratory in cooperation with TU/e with the title "Development of a Dynamic Flying Digital Display Based on Autonomous Swarm of UAVs."
  • Explored the development of a system based on a swarm of multirotor platforms to create a 3-dimensional digital display in the air for my master's thesis.
  • Devised a multirotor platform equipped with the necessary hardware and software extensions to create a visible node in the air. Its motion is controlled by a central processor unit to generate the desired visual content.
Technologies: C++, Software, Embedded Software, Algorithms, Visual Studio, Windows, ARM, Graphical User Interface (GUI), Testing, Embedded C++, Agile, Design

Pupa: Face and Body Photo Editor (Mobile App)

https://gorkemalgan.github.io/pupa/
A mobile application where users can perform photo edit operations.

• Inpaint: Removing an object from the scene.
• Makeup: Performing makeup operations such as changing hair color, blush, contour, highlight, eyeliner, eyelashes, and lipstick.
• Sculpt: Manipulating the shape of face parts by moving, stretching, and rotating.
• Body reshape: Reshaping body parts with curvy stretches.
• Background: Manipulating the background while keeping the foreground, such as blurring and replacing it with an image.
• Tuning: Basic image manipulation such as brightness and contrast.
• Filtering: Applying preset filters.

These features require many complicated Computer Vision tasks such as face landmark detection, face segmentation, body pose detection, and image semantic segmentation. It also requires them to run with minimum latency; therefore, they should run on the device instead of the cloud.

I wrote conventional Computer Vision algorithms on OpenCV. Deep networks are run on multiple frameworks (TensorFlow, PyTorch, Dlib) on a mobile CPU. The Gui is written with Flutter. My app is multi-platform, running on both iOS and Android devices. Furthermore, it runs on Windows, Linux, and macOS natively.

Deep Learning in the Presence of Noisy Labels (Ph.D. Thesis)

https://open.metu.edu.tr/handle/11511/89551
In my thesis, my broad focus was on training deep neural networks in the presence of noisy labels. That means the collected data is clean, but their corresponding labels are wrong with an unknown probability. This is a very common case in real-world datasets since labeling each data perfectly requires excessive workload and cost.

Complex domains, such as medical imaging require a high level of expertise to label the data. Even with expertise, it is hard to label accurately due to the high complexity of the data. This also causes noisy label problems.

In my thesis, I proposed a novel meta-learning-based learning algorithm to overcome noisy label problems. My work has beaten all state-of-the-art baselines. Furthermore, we proved its performance on medical data collected from partner hospitals. It is used to diagnose ROP (Retinopathy of Prematurity Plus) disease from medical images.

Meta Soft Label Generation for Noisy Labels (ICPR, 2020)

https://ieeexplore.ieee.org/abstract/document/9412490
The existence of noisy labels in the dataset causes significant performance degradation for deep neural networks (DNNs). To address this problem, we propose a Meta Soft Label Generation algorithm called MSLG, which can jointly generate soft labels using meta-learning techniques and learn DNN parameters in an end-to-end fashion. Our approach adapts the meta-learning paradigm to estimate optimal label distribution by checking gradient directions on both noisy training data and noise-free meta-data. In order to iteratively update soft labels, meta-gradient descent step is performed on estimated labels, which would minimize the loss of noise-free meta samples. In each iteration, the base classifier is trained on estimated meta labels. MSLG is model-agnostic and can be added on top of any existing model at hand with ease. We performed extensive experiments on CIFAR10, Clothing1M and Food101N datasets. Results show that our approach outperforms other state-of-the-art methods by a large margin.

MetaLabelNet: Learning to Generate Soft-Labels from Noisy-Labels (Under review at IEEE TIP)

https://arxiv.org/abs/2103.10869
Real-world datasets commonly have noisy labels, which negatively affects the performance of deep neural networks (DNNs). In order to address this problem, we propose a label noise robust learning algorithm, in which the base classifier is trained on soft-labels that are produced according to a meta-objective. In each iteration, before conventional training, the meta-objective reshapes the loss function by changing soft-labels, so that resulting gradient updates would lead to model parameters with minimum loss on meta-data. Soft-labels are generated from extracted features of data instances, and the mapping function is learned by a single layer perceptron (SLP) network, which is called MetaLabelNet. Following, base classifier is trained by using these generated soft-labels. These iterations are repeated for each batch of training data. Our algorithm uses a small amount of clean data as meta-data, which can be obtained effortlessly for many cases. We perform extensive experiments on benchmark datasets with both synthetic and real-world noises. Results show that our approach outperforms existing baselines.

Development of a Dynamic Flying Digital Display Based on Autonomous Swarmof UAVs (Masters Thesis)

https://pure.tue.nl/ws/files/46998059/784605-1.pdf
I have written my master thesis at Philips Research Lab. in coorperation with TU/e. The goal of this master thesis was the development of a system based on a swarm of multirotor platforms, to create a 3-dimensional digital display in the air. Each multirotor platform, equipped with necessary hardware and software extensions, creates a visible node in the air and its motion is controlled by a central processor unit to generate desired visual content.

Label Noise Types and Their Effects on Deep Learning

https://arxiv.org/abs/2003.10471
Gathering cleanly annotated dataset is not always feasible due to practical challenges. As a result, label noise is a common problem in datasets, and numerous methods to train deep neural networks in the presence of noisy labels are proposed in the literature. These methods commonly use benchmark datasets with synthetic label noise on the training set. However, there are multiple types of label noise, and each of them has its own characteristic impact on learning. Since each work generates a different kind of label noise, it is problematic to test and compare those algorithms in the literature fairly. In this work, we provide a detailed analysis of the effects of different kinds of label noise on learning. Moreover, we propose a generic framework to generate feature-dependent label noise, which we show to be the most challenging case for learning. Our proposed method aims to emphasize similarities among data instances by sparsely distributing them in the feature domain. By this approach, samples that are more likely to be mislabeled are detected from their SoftMax probabilities, and their labels are flipped to the corresponding class. The proposed method can be applied to any clean dataset to synthesize noisy labels.

Image Classification with Deep Learning in the Presence of Noisy Labels: A survey (Elsevier KBS)

https://www.sciencedirect.com/science/article/abs/pii/S0950705121000344
Gathering a correctly annotated dataset is not always feasible due to several factors. Because of these practical challenges, label noise is a common problem in real-world datasets. Numerous methods to train deep neural networks with label noise are proposed in the literature. Although deep neural networks are relatively robust to label noise, their tendency to overfit data makes them vulnerable to memorizing even random noise. Therefore, it is crucial to consider the existence of label noise and develop counter algorithms to fade away its adverse effects to train deep neural networks efficiently. Even though an extensive survey of machine learning techniques under label noise exists, the literature lacks a comprehensive survey of methodologies centered explicitly around deep learning in the presence of noisy labels. This paper aims to present these algorithms while categorizing them into one of the two subgroups: noise model-based and noise model-free methods.

Deep Learning from Small Amount of Medical Data with Noisy Labels: A Meta-learning Approach

https://arxiv.org/abs/2010.06939
Computer Vision systems recently made a big leap thanks to deep neural networks. However, these systems require correctly labeled large datasets to be trained properly, which is very difficult to obtain for medical applications. Two main reasons for label noise in medical applications are the high complexity of the data and the conflicting opinions of experts. Moreover, medical imaging datasets are commonly tiny, making each data very important in learning. As a result, if not appropriately handled, label noise significantly degrades the performance. Therefore, a label-noise-robust learning algorithm that makes use of the meta-learning paradigm is proposed in this article. The proposed solution is tested on the retinopathy of prematurity (ROP) dataset with a very high label noise of 68%. Results show that the proposed algorithm significantly improves the classification algorithm's performance in the presence of noisy labels.

Object Eraser App

https://gorkemalgan.github.io/objecteraser/
This is a magic eraser app where users can mark the region they want to be erased, and it will be removed from the picture. The app uses deep learning to fill in the erased region. All algorithms are run on mobile devices, which makes the app faster and less costly.

Languages

C++, Python, Embedded C++, Dart, C#, C

Frameworks

Flutter, Qt

Libraries/APIs

PyTorch, TensorFlow, OpenCV, SciPy, NumPy, Matplotlib, Pandas, Keras, Scikit-learn, PiLLoW, OpenGL

Tools

Visual Studio, TortoiseSVN, Git, LaTeX, MATLAB, PyCharm, GitHub

Platforms

Visual Studio Code (VS Code), Anaconda, Embedded Linux, Linux, Windows, Firebase

Other

Software, Embedded Software, Computer Vision, Machine Learning, Artificial Intelligence (AI), Deep Learning, Algorithms, Embedded Systems, Object Detection, Design, Conda, Source Code Review, Code Review, Team Management, Image Processing, Project Planning, Facial Recognition, ARM, Graphical User Interface (GUI), Unmanned Aerial Vehicles (UAV), Hardware, Mobile Apps

Paradigms

Testing, Agile

2015 - 2021

Ph.D. in Electrical and Electronics Engineering

Middle East Technical University - Ankara, Turkey

2012 - 2014

Master's Degree in Computer Science

Eindhoven University of Technology - Eindhoven, Netherlands

2012 - 2014

Master's Degree in Computer Science

KTH Royal Institute of Technology - Stockholm, Sweden

2007 - 2012

Bachelor's Degree in Electrical and Electronics Engineering

Middle East Technical University - Ankara, Turkey

JUNE 2018 - PRESENT

Improving Deep Neural Networks: Hyperparameter Tuning, Regularization, and Optimization

DeepLearning.AI

JUNE 2018 - PRESENT

Convolutional Neural Networks

DeepLearning.AI

JUNE 2018 - PRESENT

Neural Networks and Deep Learning

DeepLearning.AI

JUNE 2018 - PRESENT

Structuring Machine Learning Projects

DeepLearning.AI

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring