Artificial Intelligence (AI) is an exciting field that experienced enormous growth in recent years with a particular focus on machine learning. Machine learning is a branch of AI focused on identifying patterns in large amount of data through a process called ‘learning’ or ‘training’. Through machine learning, scientists are able to build predictive models and understand key trends in groups of data. A more recent branch of AI called ‘deep learning’ (a sub-branch of machine learning) has received a lot of attention recently in fields such as computer vision and natural language processing which deal with complex forms of data. The term ‘deep’ comes from the fact neural networks often contain many layers which allow them to fit to non-linear patterns. In computer vision, convolutional neural networks (CNN) have become especially prevalent and useful for many types of common computer vision tasks such as image classification, object localization, and segmentation. This is because CNN’s do not rely on one-dimensional hand-engineered features that traditional machine learning models use. Rather, CNN’s learn abstract, multi-dimensional features during training which allows them to significantly outperform other methods in a variety of tasks. As a contract research organization focused on advanced bioimaging, and image analysis, Visikol leverages the most advanced image analysis tools in its services and also is committed to providing the academic community with many of these tools.
3Screen™ CNN is an open-source Python library designed specifically for training and evaluating CNN’s for image classification and semantic segmentation. It is ideal for rapid prototyping and training CNN models that can be deployed to software systems or used by scientists for making predictions on new data. Python is an extremely popular language for data science and has experienced a surge in the number of open-source libraries specifically designed for machine learning. 3Screen™ CNN uses Keras which is a high-level library for neural networks which can be built on top of TensorFlow, CNTK, or Theanos; all very popular, but slightly complicated open-source libraries. 3Screen™ CNN was designed to follow a typical workflow for training a CNN: 1) Load and split the data into a training set and a testing set (a validation set is commonly used as well during training), 2) Perform any preprocessing on the data, 3) Train the CNN, 4) Evaluate the trained CNN on the test set, and 5) Repeat this process with new parameters until the CNN performance is satisfactory. “We find CNN’s to be an incredibly powerful tool in the analysis of H&E and IHC slides and designed 3Screen™ CNN to reduce the barrier of adoption for this tool,” described Visikol Computer Vision Scientist Alex Magsam.
Read the full documentation and how to download, use, and contribute to this library at: https://github.com/alexmagsam/3Screen-CNN