Nathanael Bloch, Developer in Tel Aviv-Yafo, Israel
Nathanael is available for hire
Hire Nathanael

Nathanael Bloch

Verified Expert  in Engineering

Computer Vision Engineer and Developer

Location
Tel Aviv-Yafo, Israel
Toptal Member Since
August 3, 2023

Nathanael is a computer engineer specializing in computer vision and machine learning. With a solid skillset in mathematics, computer graphics, and 3D, he is also experienced in Python, C, C++, and Java. Nathanael is passionate about solving complex problems and creating well-designed and meticulously organized software solutions.

Portfolio

Datagen Technology
Python, NumPy, PyTorch, OpenCV, Computer Graphics, Data...
Cipia
NumPy, TensorFlow, Keras, OpenCV, Artificial Intelligence (AI)
NVIDIA (formerly Mellanox Technologies)
C++, Networking, Computer Architecture

Experience

Availability

Part-time

Preferred Environment

TensorFlow, Keras, NumPy, OpenCV

The most amazing...

...solution I've developed is a GPU-accelerated 3D augmentation software to generate synthetic face datasets at the speed of light.

Work Experience

Computer Vision Solutions Engineer

2021 - 2023
Datagen Technology
  • Implemented supplementary layers such as SDK v1, infrared relighting model, multi-view 3D reconstruction, environment mapping, 3D camera positioning, camera calibration, and skin tone augmentations to enhance Datagen's product.
  • Offered consultancy on computer vision and synthetic data to the organization, delivering valuable market insights for product development.
  • Created a comprehensive collection of technical resources, including Jupyter notebooks, tutorials, and demos, to streamline the onboarding process.
Technologies: Python, NumPy, PyTorch, OpenCV, Computer Graphics, Data, Artificial Intelligence (AI)

Computer Vision Algorithm Engineer

2019 - 2021
Cipia
  • Designed and built an AI face tracker, one of the fundamental building blocks of the company's product. It enabled the reconstruction of real-time 3D face representation from 2D videos with up to a 200% improvement in accuracy.
  • Outlined a 3D image augmentation system for synthetic face data, addressing data scarcity and non-uniformity by synthesizing diverse head poses, expressions, and illuminations from a single image.
  • Worked on face recognition, achieving a threefold improvement in the false positive rate.
  • Developed a benchmark for head pose accuracy to provide reliable metrics to the customer.
Technologies: NumPy, TensorFlow, Keras, OpenCV, Artificial Intelligence (AI)

Hardware Architecture Engineer

2016 - 2018
NVIDIA (formerly Mellanox Technologies)
  • Built a fully-fledged C++ simulator for the company's network stack.
  • Ran complex simulations of end-to-end network stacks.
  • Analyzed the results of those simulations to define requirements for the next product generation and improve existing features.
Technologies: C++, Networking, Computer Architecture

Face Tracker

I was responsible for designing and constructing an AI face tracker specifically tailored for infrared images based on deep neural networks.

This face tracker became a vital component of the company product I was working for. The face tracker had the capability to transform 2D videos into real-time 3D face representations, providing essential information such as bounding box, landmarks, head pose and position, as well as 3DMM coefficients. Notably, this new model achieved an accuracy improvement of up to 200% compared to the previous version.

Synthetic Data Generator

I proposed, designed, and developed a 3D image augmentation system that revolutionized the generation of synthetic face data. This system addressed the challenges of data scarcity and non-uniformity by synthesizing a wide range of head poses, expressions, and illuminations from a single real picture. Additionally, it had the capability to add 3D masks and glasses to the synthesized images realistically.

To achieve this, I created and implemented various mathematical models for optimization and rendering accelerated by GPU. The system demonstrated exceptional performance, being approximately 100 times faster than existing solutions available in the market.

Face Recognition

I enhanced the performance of an existing face recognition system through several key improvements. I fine-tuned the loss function, the system architecture, and the inference algorithm and increased the dataset size. These enhancements generated a threefold improvement in the false positive rate, making the system more reliable and effective in face recognition tasks.

DGUtils

https://github.com/DatagenTech/dgutils
A Python repository that showcases how to use synthetic data and apply it to several use cases. This includes dataset analysis, small network training, head pose, eye gaze, face landmarks, body key points, camera configuration, and segmentation use cases.

Datagen SDK

https://pypi.org/project/datagen-tech/
I ideated and implemented the first version of Datagen SDK, which provides a layer of abstraction for the data and lets the user seamlessly load an existing synthetic dataset into Python.

All the parsing and loading functions were implemented behind the scenes, and each data point was structured into a simple and easy-to-access Python object.

The SDK was backward compatible with any data version.

Infrared Relighting

This project aimed to take an existing synthetic face image with all its modalities—normals, depth, segmentation, and camera position—and re-render it into a realistically-looking infrared image. This infrared image could be trained to train neural networks and improve their performance in the target domain.

The modeling was based on computer graphics and 3D principles, making the image look close to the target domain and configurable to the customer's needs.

This project was highly relevant to customers working in the infrared domain since infrared data is very hard to obtain.

Multi-view 3D Reconstruction

This project aimed to take synthetic images of the same scene from different camera positions and turn them into a 3D point cloud based on camera intrinsic and extrinsic parameters.

It provided a significant added value to customers by letting them train their neural networks on supervised 3D reconstruction, which was impossible without the 3D ground truth.

Network Simulator

I built a fully-fledged C++ simulator based on OMNet++. It accurately models a complete network stack, from the network interface controller to the switches and software protocols.

The project required a high proficiency in C++ programming and debugging. A thorough understanding of complex protocols such as TCP and RoCE and the hardware at the register level was also needed.

Ultrasound Super-resolution Imaging

This project's goal was to artificially increase the resolution of ultrasound medical devices using super-resolution and image-to-image techniques.

A neural network based on the encoder-decoder architecture remapped the raw data from the ultrasound device into a high-resolution image. It enabled a fourfold increase in the original number of pixels while keeping the original image quality so physicians could use smaller, cheaper ultrasound devices.

Languages

Python, C++

Libraries/APIs

TensorFlow, Keras, NumPy, OpenCV, PyTorch

Other

Machine Learning, Computer Vision, Computer Graphics, Data, Artificial Intelligence (AI), Computer Architecture, Networking, Signal Processing, Finance, Web Marketing, Entrepreneurship, Optimization, Rendering, 3D, Mathematics, Hardware

Paradigms

Management

Industry Expertise

Cybersecurity

2021 - 2023

Master's Degree in Business Administration (MBA)

Technion – Israel Institute of Technology - Haifa, Israel

2014 - 2018

Bachelor's Degree in Computer Engineering

Technion – Israel Institute of Technology - Haifa, Israel

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