Computer Vision and Machine Learning for Autonomous Vehicles

Total Page:16

File Type:pdf, Size:1020Kb

Computer Vision and Machine Learning for Autonomous Vehicles Computer Vision and Machine Learning for Autonomous Vehicles by Zhilu Chen A Dissertation Submitted to the Faculty of the WORCESTER POLYTECHNIC INSTITUTE in partial fulfillment of the requirements for the Degree of Doctor of Philosophy in Electrical and Computer Engineering August 2017 APPROVED: Prof. Xinming Huang, Major Advisor Prof. Lifeng Lai Prof. Haibo He Abstract Autonomous vehicle is an engineering technology that can improve transporta- tion safety, alleviate traffic congestion and reduce carbon emissions. Research on autonomous vehicles can be categorized by functionality, for example, object detec- tion or recognition, path planning, navigation, lane keeping, speed control and driver status monitoring. The research topics can also be categorized by the equipment or techniques used, for example, image processing, computer vision, machine learning, and localization. This dissertation primarily reports on computer vision and machine learning algorithms and their implementations for autonomous vehicles. The vision- based system can effectively detect and accurately recognize multiple objects on the road, such as traffic signs, traffic lights, and pedestrians. In addition, an autonomous lane keeping system has been proposed using end-to-end learning. In this disserta- tion, a road simulator is built using data collection and augmentation, which can be used for training and evaluating autonomous driving algorithms. The Graphic Processing Unit (GPU) based traffic sign detection and recogni- tion system can detect and recognize 48 traffic signs. The implementation has three stages: pre-processing, feature extraction, and classification. A highly optimized and parallelized version of Histogram of Oriented Gradients (HOG) and Support Vector Machine (SVM) is used. The system can process 27.9 frames per second with the active pixels of a 1,628 Ö 1,236 resolution, and with the minimal loss of accuracy. In an evaluation using the BelgiumTS dataset, the experimental results indicate that the detection rate is about 91.69% with false positives per window of 3:39×10−5, and the recognition rate is about 93.77%. We report on two traffic light detection and recognition systems. The first sys- i tem detects and recognizes red circular lights only, using image processing and SVM. Its performance is better than that of traditional detectors and it achieves the best performance with 96.97% precision and 99.43% recall. The second system is more complicated. It detects and classifies different types of traffic lights, including green and red lights in both circular and arrow forms. In addition, it employs image process- ing techniques, such as color extraction and blob detection to locate the candidates. Subsequently, a pre-trained PCA network is used as a multi-class classifier for obtain- ing frame-by-frame results. Furthermore, an online multi-object tracking technique is applied to overcome occasional misses and a forecasting method is used to filter out false positives. Several additional optimization techniques are employed to improve the detector performance and to handle the traffic light transitions. A multi-spectral data collection system is implemented for pedestrian detection, which includes a thermal camera and a pair of stereo color cameras. The three cameras are first aligned using trifocal tensor, and the aligned data are processed by using computer vision and machine learning techniques. Convolutional channel features (CCF) and the traditional HOG+SVM approach are evaluated over the data captured from the three cameras. Through the use of trifocal tensor and CCF, training becomes more efficient. The proposed system achieves only a 9% log-average miss rate on our dataset. Autonomous lane keeping system employs an end-to-end learning approach for obtaining the proper steering angle for maintaining a car in a lane. The convolutional neural network (CNN) model uses raw image frames as input, and it outputs the steering angles corresponding to the input frames. Unlike the traditional approach, which manually decomposes the problem into several parts, such as lane detection, path planning, and steering control, the model learns to extract useful features on ii its own and learns to steer from human behavior. More importantly, we find that having a simulator for data augmentation and evaluation is important. We then build the simulator using image projection, vehicle dynamics, and vehicle trajectory tracking. The test results reveal that the model trained with augmented data using the simulator has better performance and achieves about a 98% autonomous driving time on our dataset. Furthermore, a vehicle data collection system is developed for building our own datasets from recorded videos. These datasets are used in the above studies and have been released to the public for autonomous vehicle research. The experimental datasets are available at http://computing.wpi.edu/Dataset.html. iii Acknowledgements I would like to express my gratitude to my advisor, Professor Xinming Huang, for the opportunity to do research at WPI and his guidance in my research. Thanks for Professor Haibo He, Lifeng Lai and many other professors for their help. I've learned a lot from them. Thanks to my families and my friends for giving me the courage and confidence. iv Contents Abstract i Acknowledgements iv Contents ix List of Tables x List of Figures xv List of Abbreviations xvii 1 Introduction 1 1.1 Motivations . 1 1.2 Summary of Contributions . 3 1.3 Outline . 8 2 Background 10 2.1 Datasets . 11 2.2 Object detection and recognition . 13 2.2.1 Traffic sign . 13 v 2.2.2 Traffic light . 14 2.2.3 Pedestrian . 15 2.3 Lane keeping . 19 3 A GPU-Based Real-Time Traffic Sign Detection and Recognition System 21 3.1 Introduction . 22 3.2 Traffic Sign Detection and Recognition System . 23 3.2.1 System Overview . 23 3.2.2 Pre-processing . 24 3.2.3 Traffic Sign Detection . 26 3.2.4 Traffic Sign Recognition . 29 3.3 Parallelism on GPU . 29 3.4 Experimental Results . 31 3.5 Conclusions . 35 4 Automatic Detection of Traffic Lights Using Support Vector Ma- chine 36 4.1 Introduction . 37 4.2 Proposed Method for Traffic Light Detection . 38 4.2.1 Locating candidates based on color extraction . 38 4.2.2 Traffic light detection using template matching . 38 4.2.3 An improved method using SVM . 40 4.3 Data Collection and Performance Evaluation . 43 4.4 Conclusions . 46 vi 5 Accurate and Reliable Detection of Traffic Lights Using Multi-Class Learning and Multi-Object Tracking 48 5.1 Introduction . 49 5.2 Data Collection and Experimental Setup . 51 5.2.1 Training data . 52 5.2.2 Test data . 58 5.3 Proposed Method of Traffic Light Detection and Recognition . 58 5.3.1 Locating candidates based on color extraction . 60 5.3.2 Classification . 65 5.3.2.1 PCANet . 65 5.3.2.2 Recognizing green traffic lights using PCANet . 66 5.3.2.3 Recognizing red traffic lights using PCANet . 69 5.3.3 Stabilizing the detection and recognition output . 69 5.3.3.1 The problem of frame-by-frame detection . 69 5.3.3.2 Tracking and data association . 71 5.3.3.3 Forecasting . 72 5.3.3.4 Minimizing delays . 74 5.4 Performance Evaluation . 76 5.4.1 Detection and recognition . 76 5.4.2 False positives evaluation . 78 5.5 Discussion . 79 5.5.1 Comparison with related work . 79 5.5.2 Limitation and plausibility . 80 5.6 Conclusions . 83 vii 6 Pedestrian Detection for Autonomous Vehicle Using Multi-spectral Cameras 84 6.1 Introduction . 85 6.2 Data Collection and Experimental Setup . 87 6.2.1 Data Collection Equipment . 87 6.2.2 Data Collection and Experimental Setup . 90 6.3 Proposed Method . 90 6.3.1 Overview . 90 6.3.2 Trifocal tensor . 91 6.3.3 Sliding windows vs. region of interest . 93 6.3.4 Detection . 97 6.3.5 Information fusion . 99 6.3.6 Additional constraints . 100 6.3.6.1 Disparity-size . 100 6.3.6.2 Road horizon . 100 6.4 Performance Evaluation . 102 6.5 Discussion . 105 6.6 Conclusions . 108 7 End-to-End Learning for Lane Keeping of Self-Driving Cars 109 7.1 Introduction . 110 7.2 Implementation Details . 111 7.2.1 Data pre-processing . 111 7.2.2 CNN implementation details . 113 7.3 Evaluation . 116 viii 7.4 Discussion . 119 7.4.1 Evaluation . 119 7.4.2 Data augmentation . 122 7.5 Conclusions . 123 8 Building an Autonomous Lane Keeping Simulator Using Real-World Data and End-to-End Learning 124 8.1 Introduction . 125 8.2 Building a Simulator . 128 8.2.1 Overview . 128 8.2.2 Image projection . 130 8.2.3 Vehicle dynamics and vehicle trajectory tracking . 134 8.2.4 CNN implementation . 142 8.3 Experiment . 143 8.3.1 Data collection . 143 8.3.2 Data augmentation . 147 8.3.3 Evaluation using simulator . 147 8.4 Discussion . 151 8.5 Conclusions . 153 9 Conclusions 154 Bibliography 157 ix List of Tables 3.1 HOG parameters in our system . 28 4.1 Evaluation result based on Rin=Rout for different p values . 45 4.2 Evaluation result: precision and recall . 46 5.1 Number of training samples of Green ROI-n and Red ROI-n . 58 5.2 Information of 23 test sequences . 59 5.3 Test result of 17 sequences that contain traffic lights . 78 5.4 Number of false positives in traffic-light-free sequences . 79 5.5 Results of several recent works on traffic lights detection . 81 8.1 Evaluation result using the simulator, with and without augmented data.149 x List of Figures 2.1 Performance results from the Caltech Pedestrian Detection Benchmark. 17 3.1 Three stages in our proposed system. 24 3.2 48 classes of traffic signs can be detected and recognized in our system.
Recommended publications
  • Synthesizing Images of Humans in Unseen Poses
    Synthesizing Images of Humans in Unseen Poses Guha Balakrishnan Amy Zhao Adrian V. Dalca Fredo Durand MIT MIT MIT and MGH MIT [email protected] [email protected] [email protected] [email protected] John Guttag MIT [email protected] Abstract We address the computational problem of novel human pose synthesis. Given an image of a person and a desired pose, we produce a depiction of that person in that pose, re- taining the appearance of both the person and background. We present a modular generative neural network that syn- Source Image Target Pose Synthesized Image thesizes unseen poses using training pairs of images and poses taken from human action videos. Our network sepa- Figure 1. Our method takes an input image along with a desired target pose, and automatically synthesizes a new image depicting rates a scene into different body part and background lay- the person in that pose. We retain the person’s appearance as well ers, moves body parts to new locations and refines their as filling in appropriate background textures. appearances, and composites the new foreground with a hole-filled background. These subtasks, implemented with separate modules, are trained jointly using only a single part details consistent with the new pose. Differences in target image as a supervised label. We use an adversarial poses can cause complex changes in the image space, in- discriminator to force our network to synthesize realistic volving several moving parts and self-occlusions. Subtle details conditioned on pose. We demonstrate image syn- details such as shading and edges should perceptually agree thesis results on three action classes: golf, yoga/workouts with the body’s configuration.
    [Show full text]
  • Memristor-Based Approximated Computation
    Memristor-based Approximated Computation Boxun Li1, Yi Shan1, Miao Hu2, Yu Wang1, Yiran Chen2, Huazhong Yang1 1Dept. of E.E., TNList, Tsinghua University, Beijing, China 2Dept. of E.C.E., University of Pittsburgh, Pittsburgh, USA 1 Email: [email protected] Abstract—The cessation of Moore’s Law has limited further architectures, which not only provide a promising hardware improvements in power efficiency. In recent years, the physical solution to neuromorphic system but also help drastically close realization of the memristor has demonstrated a promising the gap of power efficiency between computing systems and solution to ultra-integrated hardware realization of neural net- works, which can be leveraged for better performance and the brain. The memristor is one of those promising devices. power efficiency gains. In this work, we introduce a power The memristor is able to support a large number of signal efficient framework for approximated computations by taking connections within a small footprint by taking the advantage advantage of the memristor-based multilayer neural networks. of the ultra-integration density [7]. And most importantly, A programmable memristor approximated computation unit the nonvolatile feature that the state of the memristor could (Memristor ACU) is introduced first to accelerate approximated computation and a memristor-based approximated computation be tuned by the current passing through itself makes the framework with scalability is proposed on top of the Memristor memristor a potential, perhaps even the best, device to realize ACU. We also introduce a parameter configuration algorithm of neuromorphic computing systems with picojoule level energy the Memristor ACU and a feedback state tuning circuit to pro- consumption [8], [9].
    [Show full text]
  • A Survey of Autonomous Driving: Common Practices and Emerging Technologies
    Accepted March 22, 2020 Digital Object Identifier 10.1109/ACCESS.2020.2983149 A Survey of Autonomous Driving: Common Practices and Emerging Technologies EKIM YURTSEVER1, (Member, IEEE), JACOB LAMBERT 1, ALEXANDER CARBALLO 1, (Member, IEEE), AND KAZUYA TAKEDA 1, 2, (Senior Member, IEEE) 1Nagoya University, Furo-cho, Nagoya, 464-8603, Japan 2Tier4 Inc. Nagoya, Japan Corresponding author: Ekim Yurtsever (e-mail: [email protected]). ABSTRACT Automated driving systems (ADSs) promise a safe, comfortable and efficient driving experience. However, fatalities involving vehicles equipped with ADSs are on the rise. The full potential of ADSs cannot be realized unless the robustness of state-of-the-art is improved further. This paper discusses unsolved problems and surveys the technical aspect of automated driving. Studies regarding present challenges, high- level system architectures, emerging methodologies and core functions including localization, mapping, perception, planning, and human machine interfaces, were thoroughly reviewed. Furthermore, many state- of-the-art algorithms were implemented and compared on our own platform in a real-world driving setting. The paper concludes with an overview of available datasets and tools for ADS development. INDEX TERMS Autonomous Vehicles, Control, Robotics, Automation, Intelligent Vehicles, Intelligent Transportation Systems I. INTRODUCTION necessary here. CCORDING to a recent technical report by the Eureka Project PROMETHEUS [11] was carried out in A National Highway Traffic Safety Administration Europe between 1987-1995, and it was one of the earliest (NHTSA), 94% of road accidents are caused by human major automated driving studies. The project led to the errors [1]. Against this backdrop, Automated Driving Sys- development of VITA II by Daimler-Benz, which succeeded tems (ADSs) are being developed with the promise of in automatically driving on highways [12].
    [Show full text]
  • CSE 152: Computer Vision Manmohan Chandraker
    CSE 152: Computer Vision Manmohan Chandraker Lecture 15: Optimization in CNNs Recap Engineered against learned features Label Convolutional filters are trained in a Dense supervised manner by back-propagating classification error Dense Dense Convolution + pool Label Convolution + pool Classifier Convolution + pool Pooling Convolution + pool Feature extraction Convolution + pool Image Image Jia-Bin Huang and Derek Hoiem, UIUC Two-layer perceptron network Slide credit: Pieter Abeel and Dan Klein Neural networks Non-linearity Activation functions Multi-layer neural network From fully connected to convolutional networks next layer image Convolutional layer Slide: Lazebnik Spatial filtering is convolution Convolutional Neural Networks [Slides credit: Efstratios Gavves] 2D spatial filters Filters over the whole image Weight sharing Insight: Images have similar features at various spatial locations! Key operations in a CNN Feature maps Spatial pooling Non-linearity Convolution (Learned) . Input Image Input Feature Map Source: R. Fergus, Y. LeCun Slide: Lazebnik Convolution as a feature extractor Key operations in a CNN Feature maps Rectified Linear Unit (ReLU) Spatial pooling Non-linearity Convolution (Learned) Input Image Source: R. Fergus, Y. LeCun Slide: Lazebnik Key operations in a CNN Feature maps Spatial pooling Max Non-linearity Convolution (Learned) Input Image Source: R. Fergus, Y. LeCun Slide: Lazebnik Pooling operations • Aggregate multiple values into a single value • Invariance to small transformations • Keep only most important information for next layer • Reduces the size of the next layer • Fewer parameters, faster computations • Observe larger receptive field in next layer • Hierarchically extract more abstract features Key operations in a CNN Feature maps Spatial pooling Non-linearity Convolution (Learned) . Input Image Input Feature Map Source: R.
    [Show full text]
  • 1 Convolution
    CS1114 Section 6: Convolution February 27th, 2013 1 Convolution Convolution is an important operation in signal and image processing. Convolution op- erates on two signals (in 1D) or two images (in 2D): you can think of one as the \input" signal (or image), and the other (called the kernel) as a “filter” on the input image, pro- ducing an output image (so convolution takes two images as input and produces a third as output). Convolution is an incredibly important concept in many areas of math and engineering (including computer vision, as we'll see later). Definition. Let's start with 1D convolution (a 1D \image," is also known as a signal, and can be represented by a regular 1D vector in Matlab). Let's call our input vector f and our kernel g, and say that f has length n, and g has length m. The convolution f ∗ g of f and g is defined as: m X (f ∗ g)(i) = g(j) · f(i − j + m=2) j=1 One way to think of this operation is that we're sliding the kernel over the input image. For each position of the kernel, we multiply the overlapping values of the kernel and image together, and add up the results. This sum of products will be the value of the output image at the point in the input image where the kernel is centered. Let's look at a simple example. Suppose our input 1D image is: f = 10 50 60 10 20 40 30 and our kernel is: g = 1=3 1=3 1=3 Let's call the output image h.
    [Show full text]
  • Self-Driving Cars: Evaluation of Deep Learning Techniques for Object Detection in Different Driving Conditions Ramesh Simhambhatla SMU, [email protected]
    SMU Data Science Review Volume 2 | Number 1 Article 23 2019 Self-Driving Cars: Evaluation of Deep Learning Techniques for Object Detection in Different Driving Conditions Ramesh Simhambhatla SMU, [email protected] Kevin Okiah SMU, [email protected] Shravan Kuchkula SMU, [email protected] Robert Slater Southern Methodist University, [email protected] Follow this and additional works at: https://scholar.smu.edu/datasciencereview Part of the Artificial Intelligence and Robotics Commons, Other Computer Engineering Commons, and the Statistical Models Commons Recommended Citation Simhambhatla, Ramesh; Okiah, Kevin; Kuchkula, Shravan; and Slater, Robert (2019) "Self-Driving Cars: Evaluation of Deep Learning Techniques for Object Detection in Different Driving Conditions," SMU Data Science Review: Vol. 2 : No. 1 , Article 23. Available at: https://scholar.smu.edu/datasciencereview/vol2/iss1/23 This Article is brought to you for free and open access by SMU Scholar. It has been accepted for inclusion in SMU Data Science Review by an authorized administrator of SMU Scholar. For more information, please visit http://digitalrepository.smu.edu. Simhambhatla et al.: Self-Driving Cars: Evaluation of Deep Learning Techniques for Object Detection in Different Driving Conditions Self-Driving Cars: Evaluation of Deep Learning Techniques for Object Detection in Different Driving Conditions Kevin Okiah1, Shravan Kuchkula1, Ramesh Simhambhatla1, Robert Slater1 1 Master of Science in Data Science, Southern Methodist University, Dallas, TX 75275 USA {KOkiah, SKuchkula, RSimhambhatla, RSlater}@smu.edu Abstract. Deep Learning has revolutionized Computer Vision, and it is the core technology behind capabilities of a self-driving car. Convolutional Neural Networks (CNNs) are at the heart of this deep learning revolution for improving the task of object detection.
    [Show full text]
  • Do Better Imagenet Models Transfer Better?
    Do Better ImageNet Models Transfer Better? Simon Kornblith,∗ Jonathon Shlens, and Quoc V. Le Google Brain {skornblith,shlens,qvl}@google.com Logistic Regression Fine-Tuned Abstract 1.6 2.3 Inception-ResNet v2 Inception v4 1.5 2.2 Transfer learning is a cornerstone of computer vision, yet little work has been done to evaluate the relationship 1.4 MobileNet v1 2.1 MobileNet v1 NASNet Large NASNet Large between architecture and transfer. An implicit hypothesis 1.3 2.0 ResNet-50 ResNet-50 in modern computer vision research is that models that per- 1.2 1.9 form better on ImageNet necessarily perform better on other vision tasks. However, this hypothesis has never been sys- 1.1 1.8 Transfer Accuracy (Log Odds) tematically tested. Here, we compare the performance of 16 72 74 76 78 80 72 74 76 78 80 classification networks on 12 image classification datasets. ImageNet Top-1 Accuracy (%) ImageNet Top-1 Accuracy (%) We find that, when networks are used as fixed feature ex- Figure 1. Transfer learning performance is highly correlated with tractors or fine-tuned, there is a strong correlation between ImageNet top-1 accuracy for fixed ImageNet features (left) and ImageNet accuracy and transfer accuracy (r = 0.99 and fine-tuning from ImageNet initialization (right). The 16 points in 0.96, respectively). In the former setting, we find that this re- each plot represent transfer accuracy for 16 distinct CNN architec- tures, averaged across 12 datasets after logit transformation (see lationship is very sensitive to the way in which networks are Section 3).
    [Show full text]
  • Deep Learning for Computer Vision
    Deep Learning for Computer Vision MIT 6.S191 Ava Soleimany January 29, 2019 6.S191 Introduction to Deep Learning 1/29/19 introtodeeplearning.com What Computers “See” Images are Numbers 6.S191 Introduction to Deep Learning [1] 1/29/19 introtodeeplearning.com Images are Numbers 6.S191 Introduction to Deep Learning [1] 1/29/19 introtodeeplearning.com Images are Numbers What the computer sees An image is just a matrix of numbers [0,255]! i.e., 1080x1080x3 for an RGB image 6.S191 Introduction to Deep Learning [1] 1/29/19 introtodeeplearning.com Tasks in Computer Vision Lincoln 0.8 Washington 0.1 classification Jefferson 0.05 Obama 0.05 Input Image Pixel Representation - Regression: output variable takes continuous value - Classification: output variable takes class label. Can produce probability of belonging to a particular class 6.S191 Introduction to Deep Learning 1/29/19 introtodeeplearning.com High Level Feature Detection Let’s identify key features in each image category Nose, Wheels, Door, Eyes, License Plate, Windows, Mouth Headlights Steps 6.S191 Introduction to Deep Learning 1/29/19 introtodeeplearning.com Manual Feature Extraction Detect features Domain knowledge Define features to classify Problems? 6.S191 Introduction to Deep Learning 1/29/19 introtodeeplearning.com Manual Feature Extraction Detect features Domain knowledge Define features to classify 6.S191 Introduction to Deep Learning [2] 1/29/19 introtodeeplearning.com Manual Feature Extraction Detect features Domain knowledge Define features to classify 6.S191 Introduction
    [Show full text]
  • Controllable Person Image Synthesis with Attribute-Decomposed GAN
    Controllable Person Image Synthesis with Attribute-Decomposed GAN Yifang Men1, Yiming Mao2, Yuning Jiang2, Wei-Ying Ma2, Zhouhui Lian1∗ 1Wangxuan Institute of Computer Technology, Peking University, China 2Bytedance AI Lab Abstract Generated images with editable style codes This paper introduces the Attribute-Decomposed GAN, a novel generative model for controllable person image syn- thesis, which can produce realistic person images with de- sired human attributes (e.g., pose, head, upper clothes and pants) provided in various source inputs. The core idea of the proposed model is to embed human attributes into the Controllable Person Image Synthesis latent space as independent codes and thus achieve flexible Pose Code and continuous control of attributes via mixing and inter- Style Code polation operations in explicit style representations. Specif- Component Attributes ically, a new architecture consisting of two encoding path- Pose Attribute (keypoints) base head upper clothes pants ways with style block connections is proposed to decompose the original hard mapping into multiple more accessible subtasks. In source pathway, we further extract component layouts with an off-the-shelf human parser and feed them into a shared global texture encoder for decomposed latent codes. This strategy allows for the synthesis of more realis- Pose source Target pose Source 1 Source 2 Source 3 Source 4 tic output images and automatic separation of un-annotated Figure 1: Controllable person image synthesis with desired attributes. Experimental results demonstrate the proposed human attributes provided by multiple source images. Hu- method’s superiority over the state of the art in pose trans- man attributes including pose and component attributes are fer and its effectiveness in the brand-new task of component embedded into the latent space as the pose code and decom- attribute transfer.
    [Show full text]
  • Vision Based Self-Driving
    Direct Perception for Autonomous Driving Chenyi Chen DeepDriving • http://deepdriving.cs.princeton.edu/ Direct Perception estimate control Direct Perception (in Driving…) • Ordinary car detection: Find a car! It’s localized in the image by a red bounding box. • Direct perception: The car is in the right lane; 16 meters ahead • Which one is more helpful for driving task? Machine Learning What’s machine learning? • Example problem: face recognition Prof. K Prof. F Prof. P Prof. V Chenyi • Training data: a collection of images and labels (names) Who is this guy? • Evaluation criterion: correct labeling of new images What’s machine learning? • Example problem: scene classification road road sea mountain city • a few labeled training images What’s the label of this image? • goal to label yet unseen image Supervised Learning • System input: X • System model: fθ(), with parameter θ • System output: Ŷ= fθ(X), • Ground truth label: Y • Loss function: L(θ) • Learning rate: γ Why machine learning? • The world is very complicated • We don’t know the exact model/mechanism between input and output • Find an approximate (usually simplified) model between input and output through learning Deep Learning: A sub-field of machine learning Why deep learning? How do we detect a stop sign? It’s all about feature! Some Salient Features It’s a STOP sign!! Why deep learning? How does computer vision algorithm work? It’s all about feature! Pedestrian found!!! Why deep learning? • We believe driving is also related with certain features • Those features determine what action to take next • Salient features can be automatically detected and processed by deep learning algorithm Deep Convolutional Neural Network Deep Convolutional Neural Network (CNN) Convolutional layers Fully connected layers …… Deep feature, 4096D, float (4 bytes) Parallel computing Output, 14D, float (4 bytes) Input image, 280*210*3, int8 (1 byte) Figure courtesy and modified of Alex Krizhevsky, Ilya Sutskever, Geoffrey E.
    [Show full text]
  • Designing Neuromorphic Computing Systems with Memristor Devices
    Designing Neuromorphic Computing Systems with Memristor Devices by Amr Mahmoud Hassan Mahmoud B.Sc. in Electrical Engineering, Cairo University, 2011 M.Sc. in Engineering Physics, Cairo University, 2015 Submitted to the Graduate Faculty of the Swanson School of Engineering in partial fulfillment of the requirements for the degree of Doctor of Philosophy University of Pittsburgh 2019 UNIVERSITY OF PITTSBURGH SWANSON SCHOOL OF ENGINEERING This dissertation was presented by Amr Mahmoud Hassan Mahmoud It was defended on May 29th, 2019 and approved by Yiran Chen, Ph.D., Associate Professor Department of Electrical and Computer Engineering Amro El-Jaroudi, Ph.D., Associate Professor Department of Electrical and Computer Engineering Samuel J. Dickerson, Ph.D., Assistant Professor Department of Electrical and Computer Engineering Natasa Miskov-Zivanov, Ph.D., Assistant Professor Department of Electrical and Computer Engineering Bo Zeng, Ph.D., Assistant Professor Department of Industrial Engineering Dissertation Director: Yiran Chen, Ph.D., Associate Professor ii Copyright © by Amr Mahmoud Hassan Mahmoud 2019 iii Designing Neuromorphic Computing Systems with Memristor Devices Amr Mahmoud Hassan Mahmoud, PhD University of Pittsburgh, 2019 Deep Neural Networks (DNNs) have demonstrated fascinating performance in many real- world applications and achieved near human-level accuracy in computer vision, natural video prediction, and many different applications. However, DNNs consume a lot of processing power, especially if realized on General Purpose GPUs or CPUs, which make them unsuitable for low-power applications. On the other hand, neuromorphic computing systems are heavily investigated as a poten- tial substitute for traditional von Neumann systems in high-speed low-power applications. One way to implement neuromorphic systems is to use memristor crossbar arrays because of their small size, low power consumption, synaptic like behavior, and scalability.
    [Show full text]
  • CS4501: Introduction to Computer Vision Neural Networks (Nns) Artificial Neural Networks (Anns) Multi-Layer Perceptrons (Mlps Previous
    CS4501: Introduction to Computer Vision Neural Networks (NNs) Artificial Neural Networks (ANNs) Multi-layer Perceptrons (MLPs Previous • Softmax Classifier • Inference vs Training • Gradient Descent (GD) • Stochastic Gradient Descent (SGD) • mini-batch Stochastic Gradient Descent (SGD) • Max-Margin Classifier • Regression vs Classification • Issues with Generalization / Overfitting • Regularization / momentum Today’s Class Neural Networks • The Perceptron Model • The Multi-layer Perceptron (MLP) • Forward-pass in an MLP (Inference) • Backward-pass in an MLP (Backpropagation) Perceptron Model Frank Rosenblatt (1957) - Cornell University Activation function ": .: - .; "; 1, if ) .*"* + 0 > 0 ! " = $ *+, . ) 0, otherwise < " < .= "= More: https://en.wikipedia.org/wiki/Perceptron Perceptron Model Frank Rosenblatt (1957) - Cornell University ": !? .: - .; "; 1, if ) .*"* + 0 > 0 ! " = $ *+, . ) 0, otherwise < " < .= "= More: https://en.wikipedia.org/wiki/Perceptron Perceptron Model Frank Rosenblatt (1957) - Cornell University Activation function ": .: - .; "; 1, if ) .*"* + 0 > 0 ! " = $ *+, . ) 0, otherwise < " < .= "= More: https://en.wikipedia.org/wiki/Perceptron Activation Functions Step(x) Sigmoid(x) Tanh(x) ReLU(x) = max(0, x) Two-layer Multi-layer Perceptron (MLP) ”hidden" layer & Loss / Criterion ! '" " & ! '# # & )(" )" ' !$ $ & ! '% % & Linear Softmax $" = [$"& $"' $"( $")] !" = [1 0 0] !+" = [,- ,. ,/] 0- = 1-&$"& + 1-'$"' + 1-($"( + 1-)$") + 3- 0. = 1.&$"& + 1.'$"' + 1.($"( + 1.)$") + 3. 0/ = 1/&$"& + 1/'$"' + 1/($"( + 1/)$") +
    [Show full text]