An application to identify amphibians

TECHNOLOGIES Java, Kotlin, OpenCV, PostgreSQL, Spring boot 2, Spring Data, Vaadin 10
DURATION 5 months
TEAM 2 analyst, 4 developers, 1 QA specialist, 1 project manager

The project is aimed at scientists who do researches on amphibians. The main objective of these researches is to learn different changes in the animal population, changes in sex percentage, etc.

The methods of tracking amphibians that are used nowadays affect animals’ health badly and are also rather expensive for scientists.

The application performs an individual recognition of animals in the wild with individual patterns. It is a modern approach using computer vision and machine learning which allows fast and reliable recognition of individuals within existing population databases.


Need to create a machine learning algorithm to identify amphibians using the photos of them made by the scientists via a mobile phone camera.


Our developers did a great job to figure out the logic of the algorithm.

Besides, the algorithm is the core component of the system, but we had to think about the common work logic as well. So, our analyst and UI/UX specialist were working together to build an interface which would be understandable for the scientists during their researches.


The end solution provides the scientists with a tool for their research work. The scientists are able to take a photo of the animal and store it and its description in the database. And thanks to the algorithm the user is able to learn the number of captures for each animal in the database. This information is used to determine the number of individuals in the population.

Areas of expertise

Machine learning // Computer vision // Image processing // Google Maps // Custom UI widgets // User settings persistence // Camera API

Additional Technologies

Dagger (Dependency Injection) // GoogleMaps // Retrofit // ktor

A solution to detect a brachial plexus on an ultrasound image
A solution to detect a brachial plexus on an ultrasound image
An algorithm to count falling drops
An algorithm to count falling drops

Warning: sort() expects parameter 1 to be array, object given in /var/www/ on line 27

Fatal error: Uncaught Error: Cannot use object of type stdClass as array in /var/www/ Stack trace: #0 /var/www/ Ressio_Plugin_Lazyload->createSrcset(Object(Ressio_HtmlOptimizer_Stream_NodeWrapper)) #1 /var/www/ Ressio_Plugin_Lazyload->onHtmlIterateTagIMG(Object(Ressio_Event), Object(Ressio_HtmlOptimizer_Stream), Object(Ressio_HtmlOptimizer_Stream_NodeWrapper)) #2 /var/www/ Ressio_Dispatcher->triggerEvent('HtmlIterateTagI...', Array) #3 /var/www/ Ressio_HtmlOptimizer_Stream->htmlIterate('<!DOCTYPE html>...') #4 /var/www/ in /var/www/ on line 276