Additive Manufacturing Defect Detection using Neural Networks. James Ferguson May 16, 2016

Similar documents
Additive Manufacturing Defect Detection using Neural Networks

CEA LIST s participation to the Scalable Concept Image Annotation task of ImageCLEF 2015

Lung Tumor Segmentation via Fully Convolutional Neural Networks

Recognize Complex Events from Static Images by Fusing Deep Channels Supplementary Materials

Semantic Segmentation

Traffic Sign Localization and Classification Methods: An Overview

Microscopy Cell Counting with Fully Convolutional Regression Networks

Practice Exam Sample Solutions

Keras: Handwritten Digit Recognition using MNIST Dataset

Deep Learning with Tensorflow AlexNet

International Journal of Computer Engineering and Applications, Volume XII, Special Issue, September 18,

Layer-wise Relevance Propagation for Deep Neural Network Architectures

Keras: Handwritten Digit Recognition using MNIST Dataset

Convolutional Neural Network Layer Reordering for Acceleration

Real Time Monitoring of CCTV Camera Images Using Object Detectors and Scene Classification for Retail and Surveillance Applications

Detection of Video Anomalies Using Convolutional Autoencoders and One-Class Support Vector Machines

Multi-Glance Attention Models For Image Classification

Real-time Object Detection CS 229 Course Project

Ryerson University CP8208. Soft Computing and Machine Intelligence. Naive Road-Detection using CNNS. Authors: Sarah Asiri - Domenic Curro

Depth Estimation from a Single Image Using a Deep Neural Network Milestone Report

Neural Network Neurons

Deep Neural Networks:

Classification of objects from Video Data (Group 30)

Transformed Representations for Convolutional Neural Networks in Diabetic Retinopathy Screening

Volumetric and Multi-View CNNs for Object Classification on 3D Data Supplementary Material

Machine Learning 13. week

Traffic Signs Recognition using HP and HOG Descriptors Combined to MLP and SVM Classifiers

arxiv: v1 [cs.cv] 31 Mar 2016

Deep Convolutional Neural Networks. Nov. 20th, 2015 Bruce Draper

A FRAMEWORK OF EXTRACTING MULTI-SCALE FEATURES USING MULTIPLE CONVOLUTIONAL NEURAL NETWORKS. Kuan-Chuan Peng and Tsuhan Chen

Deep Learning Based Real-time Object Recognition System with Image Web Crawler

Getting started with Caffe. Jon Barker, Solutions Architect

Computer Vision Lecture 16

Image Classification using Fast Learning Convolutional Neural Networks

Hand Gesture Recognition for Contactless Device Control in Operating Rooms

TRANSPARENT OBJECT DETECTION USING REGIONS WITH CONVOLUTIONAL NEURAL NETWORK

Large-scale gesture recognition based on Multimodal data with C3D and TSN

Video Gesture Recognition with RGB-D-S Data Based on 3D Convolutional Networks

Transfer Learning. Style Transfer in Deep Learning

2015 The MathWorks, Inc. 1

Improved vertex finding in the MINERvA passive target region with convolutional neural networks and Deep Adversarial Neural Network

CS 2750: Machine Learning. Neural Networks. Prof. Adriana Kovashka University of Pittsburgh April 13, 2016

Distributed Training of Deep Neural Networks: Theoretical and Practical Limits of Parallel Scalability

Demystifying Deep Learning

arxiv: v1 [cs.cv] 7 Feb 2013

Caffe tutorial. Seong Joon Oh

Accelerating Convolutional Neural Nets. Yunming Zhang

Real-time Hand Tracking under Occlusion from an Egocentric RGB-D Sensor Supplemental Document

Weighted Convolutional Neural Network. Ensemble.

Structured Prediction using Convolutional Neural Networks

Encoder-Decoder Networks for Semantic Segmentation. Sachin Mehta

Convolutional Networks in Scene Labelling

COMP9444 Neural Networks and Deep Learning 7. Image Processing. COMP9444 c Alan Blair, 2017

Deep Learning. Volker Tresp Summer 2015

Lecture 2 Notes. Outline. Neural Networks. The Big Idea. Architecture. Instructors: Parth Shah, Riju Pahwa

Convolutional Neural Networks. Computer Vision Jia-Bin Huang, Virginia Tech

Supplementary material for Analyzing Filters Toward Efficient ConvNet

Deep Learning and Its Applications

CIS581: Computer Vision and Computational Photography Project 4, Part B: Convolutional Neural Networks (CNNs) Due: Dec.11, 2017 at 11:59 pm

POINT CLOUD DEEP LEARNING

A performance comparison of Deep Learning frameworks on KNL

Deconvolutions in Convolutional Neural Networks

Finding Tiny Faces Supplementary Materials

arxiv: v1 [cs.cv] 6 Jul 2016

Deep Learning for Computer Vision II

Self-supervised Multi-level Face Model Learning for Monocular Reconstruction at over 250 Hz Supplemental Material

Automatic detection of books based on Faster R-CNN

Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

Types of Edges. Why Edge Detection? Types of Edges. Edge Detection. Gradient. Edge Detection

Application of Convolutional Neural Network for Image Classification on Pascal VOC Challenge 2012 dataset

Study of Residual Networks for Image Recognition

Real-Time Document Image Classification using Deep CNN and Extreme Learning Machines

Deep Learning in Visual Recognition. Thanks Da Zhang for the slides

Deep Learning. Volker Tresp Summer 2014

Rotation Invariance Neural Network

U-Net On Biomedical Images

Perceptron: This is convolution!

IDENTIFYING PHOTOREALISTIC COMPUTER GRAPHICS USING CONVOLUTIONAL NEURAL NETWORKS

Demystifying Deep Learning

Efficient Segmentation-Aided Text Detection For Intelligent Robots

End-to-End Photo-Sketch Generation via Fully Convolutional Representation Learning

CMU Lecture 18: Deep learning and Vision: Convolutional neural networks. Teacher: Gianni A. Di Caro

NVIDIA FOR DEEP LEARNING. Bill Veenhuis

HENet: A Highly Efficient Convolutional Neural. Networks Optimized for Accuracy, Speed and Storage

SVM Segment Video Machine. Jiaming Song Yankai Zhang

RGBD Occlusion Detection via Deep Convolutional Neural Networks

Tiny ImageNet Visual Recognition Challenge

Building Damage Assessment Using Deep Learning and Ground-Level Image Data

Supervised Learning in Neural Networks (Part 2)

Zebrafish tracking using convolutional neural networks

Simplifying ConvNets for Fast Learning

Visualizing Deep Network Training Trajectories with PCA

Graph Based Convolutional Neural Network

Object Detection Lecture Introduction to deep learning (CNN) Idar Dyrdal

Supplementary Material: Unconstrained Salient Object Detection via Proposal Subset Optimization

arxiv: v3 [cs.cv] 3 May 2015

Deep Learning Benchmarks Mumtaz Vauhkonen, Quaizar Vohra, Saurabh Madaan Collaboration with Adam Coates, Stanford Unviersity

Deep Learning Workshop. Nov. 20, 2015 Andrew Fishberg, Rowan Zellers

Final Report: Smart Trash Net: Waste Localization and Classification

Using Capsule Networks. for Image and Speech Recognition Problems. Yan Xiong

Transcription:

Additive Manufacturing Defect Detection using Neural Networks James Ferguson May 16, 2016

Outline Introduction Background Edge Detection Methods Results Porosity Detection Methods Results Conclusion / Future Work

Introduction Defect detection is important for quality control and certification of 3D printed objects 2 parts to this project Edge Detection/Analysis Porosity Detection

Background Printer: Arcam Q10 3D CAD model

Background Input Data: Two 2100 x 2100 images Slice Near-IR image captured each layer

Background Defects and features Porosity Geometric accuracy

Background Caffe: A deep learning framework. Easy to use Highly optimized Open source Can use CPU or GPU Maintained by Berkeley Vision and Learning Center (BVLC) http://github.com/bvlc/caffe

Background Caffe: A deep learning framework Only Linux and OS X platforms are supported officially. First task was to port to Windows platform for compatibility Unofficial documentation for porting an older version to Windows on BVLCs github Straight forward process to update to a current version to use CUDA 7.0

Edge Analysis Important for two reasons Geometric Accuracy Porosity Detection Four step process 3 preprocessing steps Detection step Preprocessing Steps 1. Extract Contours 2. Compute local normal 3. Extract Intensity Profile Detec/on Step 4a. Downhill Simplex 4b. Neural Network

Edge Detection Extract Contours Primary handled by OpenCV library. Output A list of points along every contour A hierarchy of the contours

Edge Detection Compute Local Normal For every point calculate a line between the points 3 positions to each side. Compute a line perpendicular from this line that passes through the main point Output The angle between the normal vector and the X axis

Edge Detection Extract Intensity Profile Get the pixel values along the normal Profile length is a fixed length of 15 pixels. Output A list of the profile values A profile, [0.65, 0.62, 0.62, 0.66, 0.73, 0.79, 0.81, 0.78, 0.73, 0.63, 0.52, 0.51, 0.51, 0.51, 0.51]

Edge Detection Preprocessing steps

Edge Detection Downhill Simplex Find the edge by fitting a sigmoid to the profile Find the index of the sigmoid that crossing a fixed threshold Sigmoid is fit to the profile using the Nelder-Mead method. Nelder-Mead searchs over multiple dimensions of variables with the goal of minimizing a cost function sigmoid=tan h (α (β i)) Cost Function = (sigmoid(i) profile[i]) 2

Edge Detection Downhill Simplex Algorithm works by moving a simplex through the search space until a local minimum is reached. A simplex is a shape with n+1 vertices in n dimensions. For this problem the simplex is a triangle. Each vertex is evaluated and the worst vertex is removed and a new vertex is added.

Edge Detection Downhill Simplex The index which the sigmoid crosses the threshold is the edge. The threshold can be moved to change the Rghtness of the edge

Edge Detection Neural Network New method of edge detection using a neural network. Easily parallelized on GPU s Ease of implementation using Caffe.

Edge Detection Neural Network - Architecture Feed forward fully connected network. 15 inputs, the profile 1 hidden layer with 50 neurons 15 outputs, the index of the edge Weights adjusted using gradient descent backpropagaron.

Edge Detection Neural Network Training The results from the downhill simplex are used as ground truth. Examples are randomly split into 2 sets Training Set 20% of the profiles Testing Set 80% of the profiles Caffe trains over the entire training set then processes the training set to get a total error. Caffe runs until the error does not decrease for 3 consecutive runs Converges after ten epochs or approximately 15 seconds.

Edge Detection - Results

Edge Detection - Results Method Number of profiles Time (seconds) Downhill Simplex (CPU) 21,325 21.6 Neural Network (GPU) 21,325 0.7 CPU: Intel Xeon ES- 1650 GPU: Nvidia Quardo K2200

Porosity Detection Current Method Input Data Region of interest StaRsRcal analysis SegmentaRon results

Porosity Detection Convolutional Neural Network Method For each pixel p in the region of interest a convoluronal neural network is used to classify p as either a pore or non- pore Input Data Region of interest ConvoluRonal Neural Network

Porosity Detection Convolutional Neural Network Method The input to the neural network is a 17x17 window that is centered on p. The output is the probability that p is a pore. Input Data Region of interest ConvoluRonal Neural Network

Porosity Detection Convolutional Neural Network Architecture Strategy and architecture was adopted from Ciresan et al. for classifying cell membranes. ConvoluRonal layer use kernels that move across the input and generates a 2D acrvaron map Max pooling layers reduces the input by only taking the max value within the kernel. Layer Type Maps and Neurons 0 Input 1 x 17 x 17 Kernel Size 1 ConvoluRonal 16 x 17 x 17 4 x 4 2 Max Pool 16 x 9 x 9 2 x 2 3 ConvoluRonal 16 x 6 x 6 4 x 4 4 Max Pool 16 x 3 x 3 2 x 2 5 ConvoluRonal 16 x 2 x 2 2 x 2 6 Fully Connected 100 neurons 1 x 1 7 Output 2 neurons

Porosity Detection Convolutional Neural Network Results Overall the network detected porosity at a comparable level to the current method. Several Issues. To large of area around the pores was detected. False positives near the edges

Porosity Detection Convolutional Neural Network Results

Future Work Edge Detection Increase speed by processing all the profiles at once instead of by layer Hand label the ground truth data for better accuracy Porosity Detection Use the edge detection to create a better mask for improved accuracy near edges. Incorporate log data from the printers for better detection.

Acknowledgements Committee members Dr. Berry, Dr. Steed, Dr. MacLennan Dr. Paquit at ORNL CISML for supporting my assistantship at ORNL through GRAMs

References Y Jia, E Shelhamer, J Donahue, S Karayev, J Long, R Girshick, S Guadarrama, and T Darrell. Caffe: Convolutional architecture for fast feature embedding. arxiv preprint arxiv:1408.5093, 2014 J. A. Nelder and R. Mead, A simplex method for function minimization, Computer Journal 7 (1965), 308 313 Dan Claudiu Ciresan, Alessandro Giusti, Luca Maria Gambardella, and Jurgen Schmidhuber, Deep neural networks segment neuronal membranes in electron microscopy images, in Neural Information Processing Systems, 2012 D. Scherer, A. Muller, and S. Behnke. Evaluation of pooling operations in convolutional architectures for object recognition. In International Conference on Artificial Neural Networks, 2010.

Questions?