Coder Social home page Coder Social logo

ml's Introduction

Convolutional Neural Networks for Anomaly Detection in Scanning Transmission Electron Microscopy

Enea Prifti, James P. Buban, Arashdeep Thind, Robert F Klie

University of Illinois Chicago, Department of Physics, 845 W Taylor Street, Chicago, IL 60607

The codes in this repository are used in the paper mentioned above to detect anomalies in the pattern of a crystal lattice using a Convolutional Variational Autoencoder (CVAE) trained to reproduce that pattern.

These codes are written in Google Colab using Python 3.8.15. Each code is provided in two versions .py and .ipynb. The requirements to run the codes are listed in requirements.txt.

CVAE_training - Code for training the CVAE and saving the trained model. It requires a bulk sample, which is then divided into smaller sections to obtain a training set (to train the CVAE) and a testing set (to test the behavior of the CVAE on bulk samples for future comparisons to distinguish bulk or anomalies). Parameters like SIZE, SIGMA, epochs, and latent_dim can be modified by the user. By default, they are set to the optimal values that we found after various tests.

CVAE_testing - Code we used to obtain the plots shown in the paper. It reads sets of various anomalies we created manually to show the efficiency of this method in finding point defects.

analysis_example - Provides a sample code for the reader to apply our method. After running CVAE_training.py with your bulk image, use analysis_exaple.py to look for anomalies in other image/images of the same crystal. It will provide a list of booleans labeling
if an anomaly was found in a section of the image/images inputted

ml's People

Contributors

enea77 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.