
Predrag Nikolić
Verified Expert in Engineering
Machine Learning Developer
Niš, Serbia
Toptal member since October 1, 2020
Predrag is a software engineer with experience working on a variety of back-end projects. He's previously created software for image and video enhancement. Predrag is driven to solve problems with well-developed skills and provide improvements during the process. He enjoys collaborating with others to complete any given task.
Portfolio
Experience
- C++ - 5 years
- Python - 5 years
- Machine Learning - 4 years
- Computer Vision - 3 years
- Streaming - 2 years
- Image Processing - 2 years
- PyTorch - 1 year
- Qt - 1 year
Availability
Preferred Environment
Anaconda, Visual Studio Code (VS Code), Visual Studio, Jira, Subversion (SVN), Git, Skype, Slack, Ubuntu, Windows
The most amazing...
...project I have developed included features for IkenaISR, a software for image and video enhancement.
Work Experience
MTS Software Engineer
AMD
- Worked on ROCm stack. Optimized AI workflows on Radeon GPUs.
- Enabled ROCm stack on Radeon GPUs for Windows and Linux.
- Improved ROCm performance for AI workloads.
Software Engineer
Beamr
- Developed API for Beamr’s video encoder/decoder SDK.
- Integrated Beamr encoding solutions into FFmpeg as a plugin.
- Built a test environment for FFmpeg workflows using Beamr encoders.
CV Software Engineer
BH2 Innovations Inc
- Researched and implemented data preparation techniques for the ML segmentation model.
- Worked with data annotation teams to define and overview the labeling process. Experimented with semantic segmentation models (BiSeNet and U-Net) on medical-related images.
- Researched and developed computer vision tasks of video enhancement and OCR. Researched computer vision techniques for visual odometry.
- Implemented various features in a PyQt desktop application.
ML Software Engineer
Diffine
- Developed training framework, a template for creating, training, and evaluating image segmentation models. I made the framework using Python and PyTorch.
- Researched and developed MIL (multiple instance learning) model for segmentation and classification of high-resolution microscopic images.
- Developed data processing scripts and deep learning models.
Software Engineer
Fazi & Triple Crown Company
- Developed the back end for gambling games, designed to run on slot machines in casinos—used C++ on top of WinAPI.
- Built the graphics interface for gambling games, using directX 11, designed to run on casino slot machines.
- Implemented a streaming service via WebRTC for gambling games, using a C++ and GStreamer library.
- Developed an application for displaying jackpots in casinos. The application is running on a Raspberry Pi device. I used the Qt framework and C++.
CV Software Engineer
MotionDSP
- Implemented algorithms (prototypes) for image enhancement in MATLAB to test performance and results.
- Implemented features, such as image, video filters, and GIS tools, for image and video enhancement software, using C++.
- Optimized the algorithm for image and video filters, both on CPU and GPU, with SSE/AVX and Intel's TBB on CPU and CUDA on GPU.
- Implemented tools for data preparation, model development, and training, using Python and TensorFlow to solve computer vision problems with machine learning.
- Implemented and integrated an application to run inference on the neural-network model and send results to a third-party application using C++.
Intern
INGSoftware
- Developed an application for the human resources department to track employees' days off. Created the web API using ASP.NET MVC.
- Created database for the same project, using Microsoft SQL Server.
- Built front-end pages using basic web technologies, including HTML, SCC, and JavaScript.
Experience
IkenaISR
https://www.motiondsp.com/software-and-subscription-pricing/isr-video-enhancement-software/I was the back-end developer who handled various features, like image and video filters and GIS tools. I implemented computer vision algorithms and optimization to decrease computation time. Machine learning was also used to create some features. I created tools for data preparation, model creation, and training ML models. I was responsible for the integration of those models into the application.
iDisplay System
https://www.fazi.rs/en/products-i-display-systemAs a full-stack developer, I developed new features and fixed existing bugs. I implemented an application in Qt that runs on Raspberry Pi and displays jackpot and other stuff on led displays in casinos. I was in charge of creating new features and creating an environment and pipeline for application deployment.
Training Framework
Users can instantiate some given model architectures or create models from scratch using config files. I was in charge of developing various features, like components to build models and many more.
Slot Machine Games
Education
Master's Degree in Computer Science
University of Niš - Niš, Serbia
Bachelor's Degree with Honors in Computer Science
University of Niš - Niš, Serbia
Skills
Libraries/APIs
TensorFlow, Pandas, DirectX, OpenCV, WebRTC, Scikit-learn, NumPy, PyTorch, Matplotlib, DirectX 11, OpenGL, Intel TBB, WinAPI, Natural Language Toolkit (NLTK), FFmpeg, SciPy, OpenSlide, PyQt
Tools
Git, Subversion (SVN), Jira, Visual Studio, MATLAB, GitHub, LaTeX, PyInstaller, Pytest, CMake
Languages
C++, Python, C++17, Python 3, C, SQL, C#.NET, CSS, HTML, JavaScript, C#, Janus, Java
Frameworks
.NET, GStreamer, Qt, ASP.NET MVC, Boost, .NET Core
Platforms
NVIDIA CUDA, Windows, Linux, Raspberry Pi, Visual Studio Code (VS Code), Anaconda, Win32, Docker, Azure, Android, Amazon Web Services (AWS), AWS Lambda
Paradigms
Parallel Programming
Storage
Microsoft SQL Server, Google Cloud, Databases, MongoDB
Other
Machine Learning, Deep Learning, Back-end Development, Image Processing, Computer Vision, Data Mining, Streaming, Mathematics, Linear Algebra, Probability Theory, Algorithms, GPU Computing, Computer Graphics, Scripting, Video Processing, Optical Character Recognition (OCR), Image Annotation, Data Transformation, 3D Modeling, Operating Systems, Natural Language Processing (NLP), Recommendation Systems, Video Streaming, Game Programming, Artificial Intelligence (AI), Graphics Processing Unit (GPU), Multithreading, Games, Cryptography, Lint, Generative Pre-trained Transformers (GPT), Poetry, Visual Odometry, Video Compression, Video Encoding, hip, ROCm
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring