Dr. Harry Pratt, Developer in Liverpool, United Kingdom
Dr. is available for hire
Hire Dr.

Dr. Harry Pratt

Verified Expert  in Engineering

Computer Vision Developer

Location
Liverpool, United Kingdom
Toptal Member Since
January 22, 2021

Harry has an aptitude—and enjoyment—for applying the latest deep learning and machine learning methods to commercial problems. He's applied this knowledge to research during his Ph.D. in deep learning and throughout his commercial experience in the health care and mobile gaming industries. Harry has hands-on experience in developing and delivering the vast majority of machine learning models from simple logistic regression models to large-scale computer vision models.

Portfolio

Coda Platform
Python, Deep Neural Networks, Image Analysis, Image Classification...
Visulytix
Python, Data Analysis, Deep Learning, Data Science, Image Analysis...
University of Liverpool
Deep Neural Networks, Python, OpenCV, Image Analysis, Computer Vision...

Experience

Availability

Part-time

Preferred Environment

Python 3, Keras, TensorFlow, Linux, PyCharm

The most amazing...

...project I've undertaken achieved national newspaper and TV coverage for image analysis work relating to skin cancer detection.

Work Experience

Machine Learning Engineer

2019 - PRESENT
Coda Platform
  • Increased game revenue by implementing user-level optimization of game configurations for cohorts of users through an ML-based configuration and developing an A/B test system.
  • Detected upcoming concept trends in the App Store which led to a higher success rate in game development.
  • Implemented real-time game categorization and similarity comparison using computer vision and NLP models.
Technologies: Python, Deep Neural Networks, Image Analysis, Image Classification, Generative Pre-trained Transformers (GPT), Natural Language Processing (NLP), GPT, Clustering, Logistic Regression, SQL, Metaflow, Pandas, Linux, PyCharm, Convolutional Neural Networks (CNN), Applied Mathematics, Scikit-learn, TensorFlow, Keras, OpenCV, Statistics, Data Analysis, Deep Learning, Computer Vision, Data Science, Machine Learning, Image Recognition, Object Tracking

Data Scientist

2018 - 2019
Visulytix
  • Optimized the accuracy of disease detection which allowed nuanced visualization of features through the extraction of model parameters. This provided clinical justification for our methods and diagnosis.
  • Improved the prediction in rare disease classification by 20% through training on synthetic data augmented via the use of GANs.
  • Implemented UNet segmentation and R-CNN object detection for biomarker analyses.
Technologies: Python, Data Analysis, Deep Learning, Data Science, Image Analysis, Image Classification, Logistic Regression, Pandas, Linux, PyCharm, Applied Mathematics, Scikit-learn, TensorFlow, Keras, OpenCV, Statistics, Machine Learning, Convolutional Neural Networks (CNN), Deep Neural Networks, Computer Vision, Object Tracking, Image Recognition

Ph.D. Candidate and Researcher

2015 - 2019
University of Liverpool
  • Worked on deep learning techniques to tackle medical imaging problems; specifically diabetic retinopathy.
  • Developed, using mainly OpenCV, a UV image analysis to determine if specific areas of the face are missed during routine sunscreen application and whether the provision of public health information is sufficient to improve coverage.
  • Constructed the architecture for a Fourier Convolution Neural Network (FCNN) for medical image classification (ECML); the advantage offered is that there is a significant speedup in training time without loss of effectiveness.
  • Created a convolutional neural network approach for first locating vessel junctions and then classifying them as either branchings or crossings which helped with the challenges involved in the quantitative analysis of retinal blood vessels.
  • Developed a CNN approach, using digital fundus images, to diagnose and accurately classify the disease severity for diabetic retinopathy.
Technologies: Deep Neural Networks, Python, OpenCV, Image Analysis, Computer Vision, Data Science, TensorFlow, Keras, Scikit-learn, Convolutional Neural Networks (CNN), PyCharm, Linux, Machine Learning, Data Analysis, Statistics, Object Detection, Image Segmentation

UV Image Analysis for Skin Cancer

https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0185297
Using mainly OpenCV, this analysis sought to determine if specific areas of the face are missed during routine sunscreen application and whether the provision of public health information is sufficient to improve coverage.

To investigate this, 57 participants were imaged with a UV sensitive camera before and after sunscreen application: first visit; minimal pre-instruction, second visit; provided with a public health information statement. Images were scored using a custom automated image analysis process designed to identify high UV reflectance areas, i.e., missed during sunscreen application, and analyzed for 5% significance.

Object detection and image segmentation revealed eyelid and periorbital regions to be disproportionately missed during routine sunscreen application. The provision of health information caused a significant improvement in coverage to eyelid areas in general; however, the medial canthal area was still frequently missed.

Development of Novel Fourier CNN for Medical Image Classification (ECML)

In this work and the consequent paper, I developed a Fourier Convolution Neural Network (FCNN) architecture whereby training is conducted entirely within the Fourier domain. The advantage offered is that there is a significant speedup in training time without loss of effectiveness.

Using the proposed approach larger images can therefore be processed within viable computation time. The evaluation was conducted using the benchmark Cifar10 and MNIST datasets, and a bespoke fundus retina image dataset.

The results demonstrate significant speedup without adversely affecting accuracy. This work was presented at the ECML conference in 2018.

Detection and Identification of Vessel Junctions in Fundus Photography

The quantitative analysis of retinal blood vessels is important for managing vascular disease and tackling problems such as locating blood clots. Such tasks are hampered by the inability to trace back problems along vessels to the source accurately. This is due to the unresolved challenge of distinguishing automatically between vessel branchings and vessel crossings.

In this work, I presented a new technique for tackling this challenging problem by developing a convolutional neural network approach for first locating vessel junctions and classifying them as either branchings or crossings. We achieved a high accuracy of 94% for junction detection and 88% for classification.

Combined with work in segmentation, this method has the potential to facilitate automated localization of blood clots and other disease symptoms, leading to improved management of eye disease through aiding or replacing a clinician's diagnosis.

Convolutional Neural Networks for Diabetic Retinopathy

https://www.sciencedirect.com/science/article/pii/S1877050916311929
The diagnosis of diabetic retinopathy through color fundus images requires experienced clinicians to identify the presence and significance of many small features which, along with a complex grading system, makes this a difficult and time-consuming task.

In this work, I developed a CNN approach to diagnosis from digital fundus images that can accurately classify the disease severity. The developed model architecture alongside the image preprocessing and data augmentation can identify the intricate features involved in the classification task and their respective grading rules. The model can consequently automate the clinical screening process.

The model is trained using a GPU on a large publicly available dataset and demonstrates impressive results, particularly for a high-level multi-class classification task; it achieves a Kappa score of 0.75.

Mobile App Classification and Similarity Scoring

I created and put into production a CNN model that classified screenshots scraped from the app store in order to classify multiple features of a mobile game; including game mechanics, genre, theme, and more. The resulting classification vector and the extracted game names were compared with all other games using the resulting vector space and NLP.

This clustered all scraped games allowing us to track growing clusters and produce game similarity scores. The real-time calculation was highly optimizing using tensor operations in TensorFlow as there were thousands of new games scraped a day and hundreds of thousands of games to compare to in the resulting database.

Regardless, the calculations of the model and similarity check was able to be performed in milliseconds per game.

User Segmentation for Personalized Game Mechanics

Through data analysis and clustering user cohorts with different lifetime values, behaviors and revenue were identified. This user event data was extracted from an SQL database, processed, and used to produce a machine learning model. The model predicted whether the user would enter a specific cluster in their interaction time to 90% accuracy.

This allowed personalized configurations for the user cohorts which optimized the amount of time they interacted with the game and their potential revenue.

Development of a Machine Learning A/B Test System

The Python libraries metaflow and pandas were used to implement and put into production scripts that extracted data from an SQL database and generated a statistical analysis relating to A/B test metrics. The A/B tests related to ML-based model predictions would trigger the activation event if above a certain threshold. The analysis also produced statistical predictions for hypothetical A/B tests based on past data such as risked revenue, potential revenue uplift, and time required until a significant conclusion would be reached.

U-Net Feature Segmentation for High Resolution Medical Imaging

A U-Net-based CNN model was developed for a cloud-based API. The model produced a probability map of segmented features such as exudate and hemorrhages in retinal imaging which relate to eye disease. The physical area of these features was then quantified in order to determine the prevalence of the feature.

High dice coefficient and IoU metrics were achieved which generalized well across multiple ethnicities, nationalities, and camera types.

Biomarker Detection and Segmentation in Medical Imaging

Both RCNN and YOLO CNNs were trained and put into production for a cloud-based image diagnosis API. The object detection model extracted multiple biomarkers within an image that were then segmented via a U-Net model in order to quantify the size and shape of the biomarker for medical analysis.

Image Augmentation and Classification for Rare Disease Using GANs

Rare diseases offer a unique challenge for deep learning models. Even the best data augmentation methods are often not sufficient enough to allow the classification of CNN models to generalize well to unseen data.

Therefore, this work utilized GANs in order to learn the latent space of rare diseases and produce more synthetic data from the learned latent space. These images were then used to improve the accuracy of the rare disease classification by an additional 20%.

Languages

Python, SQL

Libraries/APIs

Keras, TensorFlow, OpenCV, Pandas, Theano, Scikit-learn

Other

Computer Vision, Deep Learning, Deep Neural Networks, Convolutional Neural Networks (CNN), Machine Learning, Image Analysis, Image Classification, Applied Mathematics, Statistics, Data Analysis, Object Detection, Natural Language Processing (NLP), Clustering, Logistic Regression, Metaflow, Image Segmentation, Generative Adversarial Networks (GANs), Object Tracking, Image Recognition, GPT, Generative Pre-trained Transformers (GPT)

Tools

PyCharm

Paradigms

Data Science

Platforms

Linux

2015 - 2019

Ph.D. in Deep Learning for Medical Imaging

University of Liverpool - Liverpool, England

2011 - 2015

Master's Degree in Mathematics

University of Liverpool - Liverpool, England

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