As technology advances, image data is becoming a common element of research experiments. Studies in everything from self-driving vehicles to plant biology utilize images in some capacity. However, every image analysis problem is different and processing this kind of data and retrieving specific information can be extremely time consuming. Even if a researcher already possesses knowledge in image understanding, it can be time consuming to write and validate a customized solution. Thus, if this process can be automated, a significant amount of researcher time can be recovered. The goal of this project will be to generate and develop an easy-to-use tool that can achieve this automation for image segmentation problems.
In order to achieve this goal, this project will utilize the power of genetic algorithms. Genetic algorithms apply concepts of evolutionary biology to computational problems. This allows them to have several strengths over other methods including, but not limited to, being simple to implement, having flexible implementation that can adapt easily to different workflows, and having final solutions that are easily interpreted by humans. One way to think of genetic algorithms is as machine learning for machine learning. When presented with an example image, the genetic algorithm will not only find the best image segmentation algorithm to use, but will also find the optimal parameters for that specific algorithm.
Dependencies can be installed individually or by creating a conda environment using the command below:
With makefile:
make init
Manually:
conda env create --prefix ./envs --file environment.yml
Watch an introductory video to what SEE is, and how to use it here.