Skip to content

A deep neural network for particle size and shape analysis.

License

Notifications You must be signed in to change notification settings

maxfrei750/DeepParticleNet

Repository files navigation

❗ ATTENTION ❗

This code is no longer maintained and has been superseeded by the paddle toolbox.


Paper (Powder Technology) Paper (arXiv) License Docker Cloud Automated build

DeepParticleNet

This repository is a toolbox for the easy, deep learning-based primary particle size analysis of agglomerated, aggregated, partially sintered or simply occluded particles. It accompanies the following publication:

Image-Based Size Determination of Agglomerated and Partially Sintered Particles via Convolutional Neural Networks

The utilized convolutional neural network was inspired by the Mask R-CNN architecture, developed by He et al. and is based on an implementation of Abdulla, realized with Keras and TensorFlow, controlled by Python.

Table of Contents

Examples

Detection

Example Detection

PSD Measurement

Example PSD Measurement

Citation

If you use this repository for a publication, then please cite it using the following bibtex-entry:

@article{Frei.2019,
    author = {Frei, Max and Kruis, Frank Einar},
    year = {2019},
    title = {Image-Based Size Analysis of Agglomerated and Partially Sintered Particles via Convolutional Neural Networks},
    url = {https://doi.org/10.1016/j.powtec.2019.10.020}
}

Setup

CPU only (Linux & Windows)

Click to expand ...
  1. Install docker.
  2. Open a command line.
  3. Clone this repository: git clone --recurse-submodules https://github.com/maxfrei750/DeepParticleNet.git
  4. Change into the folder of the repository: cd DeepParticleNet
  5. Spin up the docker container (adjust paths according to your folder structure):
docker run -i --name deepparticlenet -p 8888:8888 -p 6006:6006 -v /path/to/code:/tf -v /path/to/datasets:/tf/datasets -v /path/to/logs:/tf/logs maxfrei750/deepparticlenet:cpu

Optional: Start Tensorboard

  1. Open a command line.
  2. Start Tensorboard: docker exec -i deepparticlenet tensorboard --logdir=/tf/logs
  3. Access localhost:6006 in your browser.

GPU support (Linux)

Click to expand ...
  1. Install docker.
  2. Install nvidia-docker.
  3. Open a command line.
  4. Clone this repository: git clone --recurse-submodules https://github.com/maxfrei750/DeepParticleNet.git
  5. Change into the folder of the repository: cd DeepParticleNet
  6. Spin up the docker container (adjust paths according to your folder structure):
nvidia-docker run -i --shm-size=1g --ulimit memlock=-1 --name deepparticlenet -p 8888:8888 -p 6006:6006 -v /path/to/code:/tf -v /path/to/datasets:/tf/datasets -v /path/to/logs:/tf/logs maxfrei750/deepparticlenet:gpu

Optional: Start Tensorboard

  1. Open a command line.
  2. Start Tensorboard: docker exec -i deepparticlenet tensorboard --logdir=/tf/logs
  3. Access localhost:6006 in your browser.

GPU support (Windows)

Click to expand ...

Nvidia-docker does not support Windows. Therefore, if you are running Windows and need GPU support, then you need to setup a python environment (e.g. conda).

  1. Install conda.
  2. Open a command line.
  3. Clone this repository: git clone --recurse-submodules https://github.com/maxfrei750/DeepParticleNet.git
  4. Change into the folder of the repository: cd DeepParticleNet
  5. Create a new conda environment: conda env create --file dpn-gpu-environment.yml
  6. Activate the new conda environment: activate dpn-gpu-env
  7. Start jupyter lab: jupyter lab

Optional: Start Tensorboard

  1. Open a command line.
  2. Activate the conda environment: activate dpn-gpu-env
  3. Start Tensorboard: tensorboard --logdir=/path/to/logs
  4. Access localhost:6006 in your browser.

Getting started

  1. Copy the jupyter token from your command line.
  2. Enter the jupyter server by accessing localhost:8888/lab in your browser and pasting the jupyter token that you just copied.

About

A deep neural network for particle size and shape analysis.

Resources

License

Stars

Watchers

Forks

Packages

No packages published