All Projects → broadinstitute → Keras Rcnn

broadinstitute / Keras Rcnn

Licence: other
Keras package for region-based convolutional neural networks (RCNNs)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Keras Rcnn

Livianet
This repository contains the code of LiviaNET, a 3D fully convolutional neural network that was employed in our work: "3D fully convolutional networks for subcortical segmentation in MRI: A large-scale study"
Stars: ✭ 143 (-72.81%)
Mutual labels:  image-segmentation, theano
Eccv2020 Code
ECCV 2020 论文开源项目合集,同时欢迎各位大佬提交issue,分享ECCV 2020开源项目
Stars: ✭ 827 (+57.22%)
Mutual labels:  object-detection, image-segmentation
Hyperdensenet
This repository contains the code of HyperDenseNet, a hyper-densely connected CNN to segment medical images in multi-modal image scenarios.
Stars: ✭ 124 (-76.43%)
Mutual labels:  image-segmentation, theano
Pytorch Toolbelt
PyTorch extensions for fast R&D prototyping and Kaggle farming
Stars: ✭ 942 (+79.09%)
Mutual labels:  object-detection, image-segmentation
Pyimsegm
Image segmentation - general superpixel segmentation & center detection & region growing
Stars: ✭ 213 (-59.51%)
Mutual labels:  object-detection, image-segmentation
Neural Pipeline
Neural networks training pipeline based on PyTorch
Stars: ✭ 315 (-40.11%)
Mutual labels:  object-detection, image-segmentation
Cvpr2021 Paper Code Interpretation
cvpr2021/cvpr2020/cvpr2019/cvpr2018/cvpr2017 论文/代码/解读/直播合集,极市团队整理
Stars: ✭ 8,075 (+1435.17%)
Mutual labels:  object-detection, image-segmentation
Albumentations
Fast image augmentation library and an easy-to-use wrapper around other libraries. Documentation: https://albumentations.ai/docs/ Paper about the library: https://www.mdpi.com/2078-2489/11/2/125
Stars: ✭ 9,353 (+1678.14%)
Mutual labels:  object-detection, image-segmentation
Deepdetect
Deep Learning API and Server in C++14 support for Caffe, Caffe2, PyTorch,TensorRT, Dlib, NCNN, Tensorflow, XGBoost and TSNE
Stars: ✭ 2,306 (+338.4%)
Mutual labels:  object-detection, image-segmentation
Catalyst
Accelerated deep learning R&D
Stars: ✭ 2,804 (+433.08%)
Mutual labels:  object-detection, image-segmentation
Cvpr2021 Papers With Code
CVPR 2021 论文和开源项目合集
Stars: ✭ 7,138 (+1257.03%)
Mutual labels:  object-detection, image-segmentation
Nmt Keras
Neural Machine Translation with Keras
Stars: ✭ 501 (-4.75%)
Mutual labels:  theano
Deepalignmentnetwork
A deep neural network for face alignment
Stars: ✭ 480 (-8.75%)
Mutual labels:  theano
Practical rl
A course in reinforcement learning in the wild
Stars: ✭ 4,741 (+801.33%)
Mutual labels:  theano
Awesome Tiny Object Detection
🕶 A curated list of Tiny Object Detection papers and related resources.
Stars: ✭ 471 (-10.46%)
Mutual labels:  object-detection
Random Erasing
Random Erasing Data Augmentation. Experiments on CIFAR10, CIFAR100 and Fashion-MNIST
Stars: ✭ 511 (-2.85%)
Mutual labels:  object-detection
Yet Another Efficientdet Pytorch
The pytorch re-implement of the official efficientdet with SOTA performance in real time and pretrained weights.
Stars: ✭ 4,945 (+840.11%)
Mutual labels:  object-detection
Pytorch Unet
Simple PyTorch implementations of U-Net/FullyConvNet (FCN) for image segmentation
Stars: ✭ 470 (-10.65%)
Mutual labels:  image-segmentation
Kmeans Anchor Boxes
k-means clustering with the Intersection over Union (IoU) metric as described in the YOLO9000 paper
Stars: ✭ 469 (-10.84%)
Mutual labels:  object-detection
Tfjs Yolo Tiny
In-Browser Object Detection using Tiny YOLO on Tensorflow.js
Stars: ✭ 465 (-11.6%)
Mutual labels:  object-detection

Keras-RCNN

.. image:: https://travis-ci.org/broadinstitute/keras-rcnn.svg?branch=master :target: https://travis-ci.org/broadinstitute/keras-rcnn

.. image:: https://codecov.io/gh/broadinstitute/keras-rcnn/branch/master/graph/badge.svg :target: https://codecov.io/gh/broadinstitute/keras-rcnn

keras-rcnn is the Keras package for region-based convolutional neural networks.

Requirements

Python 3

keras-resnet==0.2.0

numpy==1.16.2

tensorflow==1.13.1

Keras==2.2.4

scikit-image==0.15.0

Getting Started

Let’s read and inspect some data:

.. code:: python

training_dictionary, test_dictionary = keras_rcnn.datasets.shape.load_data()

categories = {"circle": 1, "rectangle": 2, "triangle": 3}

generator = keras_rcnn.preprocessing.ObjectDetectionGenerator()

generator = generator.flow_from_dictionary(
    dictionary=training_dictionary,
    categories=categories,
    target_size=(224, 224)
)

validation_data = keras_rcnn.preprocessing.ObjectDetectionGenerator()

validation_data = validation_data.flow_from_dictionary(
    dictionary=test_dictionary,
    categories=categories,
    target_size=(224, 224)
)

target, _ = generator.next()

target_bounding_boxes, target_categories, target_images, target_masks, target_metadata = target

target_bounding_boxes = numpy.squeeze(target_bounding_boxes)

target_images = numpy.squeeze(target_images)

target_categories = numpy.argmax(target_categories, -1)

target_categories = numpy.squeeze(target_categories)

keras_rcnn.utils.show_bounding_boxes(target_images, target_bounding_boxes, target_categories)

Let’s create an RCNN instance:

.. code:: python

model = keras_rcnn.models.RCNN((224, 224, 3), ["circle", "rectangle", "triangle"])

and pass our preferred optimizer to the compile method:

.. code:: python

optimizer = keras.optimizers.Adam(0.0001)

model.compile(optimizer)

Finally, let’s use the fit_generator method to train our network:

.. code:: python

model.fit_generator(    
    epochs=10,
    generator=generator,
    validation_data=validation_data
)

External Data

The data is made up of a list of dictionaries corresponding to images.

  • For each image, add a dictionary with keys 'image', 'objects'
    • 'image' is a dictionary, which contains keys 'checksum', 'pathname', and 'shape'
      • 'checksum' is the md5 checksum of the image
      • 'pathname' is the pathname of the image, put in full pathname
      • 'shape' is a dictionary with keys 'r', 'c', and 'channels'
        • 'c': number of columns
        • 'r': number of rows
        • 'channels': number of channels
    • 'objects' is a list of dictionaries, where each dictionary has keys 'bounding_box', 'category'
      • 'bounding_box' is a dictionary with keys 'minimum' and 'maximum'
        • 'minimum': dictionary with keys 'r' and 'c'
          • 'r': smallest bounding box row
          • 'c': smallest bounding box column
        • 'maximum': dictionary with keys 'r' and 'c'
          • 'r': largest bounding box row
          • 'c': largest bounding box column
      • 'category' is a string denoting the class name

Suppose this data is save in a file called training.json. To load data,

.. code:: python

import json

with open('training.json') as f:
    d = json.load(f)

Slack

We’ve been meeting in the #keras-rcnn channel on the keras.io Slack server.

You can join the server by inviting yourself from the following website:

https://keras-slack-autojoin.herokuapp.com/

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].