Overview
This model detects nuclei in a microscopy image and specifies the pixels in the image that are assigned to each nucleus. The model is developed based on the architecture of Mask R-CNN using Feature Pyramid network (FPN) and a ResNet50 backbone. Given an image (of size 64 x 64, 128 x 128 or 256 x 256), this model outputs the segmentation masks and probabilities for each detected nucleus. The mask is compressed using Run-length encoding (RLE).
The model is based on the TF implementation of Mask R-CNN. The model is trained on the Broad Bioimage Benchmark Collection (Accession number BBBC038, Version 1) dataset of annotated biological images.
Model Metadata
Domain | Application | Industry | Framework | Training Data | Input Data Format |
---|---|---|---|---|---|
Vision | Object Detection | Health Care | Keras | 2018 Data Science Bowl | Image (PNG/JPG/TIFF) |
References
- He, K., Gkioxari, G., Dollár, P. and Girshick, R., 2017, October. Mask R-CNN. In Computer Vision (ICCV), 2017 IEEE International Conference on (pp. 2980-2988). IEEE.
- Ljosa, V., Sokolnicki, K.L. and Carpenter, A.E., 2012. Annotated high-throughput microscopy image sets for validation. Nature methods, 9(7), pp.637-637.
- Broad Bioimage Benchmark Collection [Ljosa et al., Nature Methods, 2012].
- Mask R-CNN Github Repository
Licenses
Component | License | Link |
---|---|---|
Model GitHub Repository | Apache 2.0 | LICENSE |
Model Weights | Apache 2.0 | LICENSE |
Model Code (3rd party) | MIT | LICENSE |
Test assets | Various | Samples README |
Options available for deploying this model
This model can be deployed using the following mechanisms:
Deploy from Dockerhub:
docker run -it -p 5000:5000 codait/max-nucleus-segmenter
Deploy on Red Hat OpenShift:
Follow the instructions for the OpenShift web console or the OpenShift Container Platform CLI in this tutorial and specify
codait/max-nucleus-segmenter
as the image name.Deploy on Kubernetes:
kubectl apply -f https://raw.githubusercontent.com/IBM/MAX-Nucleus-Segmenter/master/max-nucleus-segmenter.yaml
A more elaborate tutorial on how to deploy this MAX model to production on IBM Cloud can be found here.
Locally: follow the instructions in the model README on GitHub
Example Usage
You can test or use this model
Test the model using cURL
Once deployed, you can test the model from the command line. For example:
$ curl -F "image=@samples/example.png" -XPOST http://localhost:5000/model/predict
You should see a JSON response like that below:
{
"status": "ok",
"predictions": [
{
"mask": [
3507,
1,
3571,
5,
3635,
6,
3700,
5,
3766,
4,
3831,
2
],
"probability": 0.9837305545806885
}
...
]
}
Test the model in a serverless app
You can utilize this model in a serverless application by following the instructions in the Leverage deep learning in IBM Cloud Functions tutorial.
Resources and Contributions
If you are interested in contributing to the Model Asset Exchange project or have any queries, please follow the instructions here.