Gradient Class Activation Map (Grad-CAM) for a particular category indicates the discriminative image regions used by the CNN to identify that category.
The goal of this blog is to:
- understand concept of Grad-CAM
- understand Grad-CAM is generalization of CAM
- understand how to use it using keras-vis
- implement it using Keras's backend functions.
Reference¶
Saliency Map with keras-vis
Image Specific Class Saliency Visualization allows better understanding of why a model makes a classification decision. The goal of this blog is to understand its concept and how to interpret the Saliency Map.
Reference¶
- Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps
- keras-vis
Reference in this blog¶
Support Vector Machine Review of Prof Patrick Winston's lecture
This blog documents my notes on 16. Learning: Support Vector Machines.
I try to fill the gap in the explanations in Prof Patrick Winston's lecture.
Support Vector Machine problem statement¶
Given two class observations (linearly separable for the sake of problem understanding), find the best line that maximizes the margin (or the distances of the two streets) between + and - observations!
Visualization of deep learning classification model using keras-vis
In the next few blog posts, I will review visualization techiniques.
Image Specific Visualization¶
Create condo environment¶
conda create -n explainableAI python=3.5
source activate explainableAI
conda install tensorflow
conda install keras
conda install jupyter
pip install git+https://github.com/raghakot/keras-vis.git --upgrade --no-deps
pip install opencv-python==3.3.0.10
$CONDA_PREFIX/bin/jupyter notebook --no-browser
Download a json file containing ImageNet class names.¶
Use pretrained YOLO network for object detection, SJSU data science night
Detecting objects in an image is an important task for machines:
Self-driving cars need to detect pedestrians and traffic signs on the street; Cool YouTube video for ADAS
Driving assistant technologies should find the eye's gazing direction to ensure that the driver is focused on driving; Driver Drowsiness Warning System (Ex1), Driver Drowsiness Warning System (Ex2)
Use pretrained YOLO network for object detection, SJSU data science night (Setup)
This notebook gives step by step instruction to set up the environment to run the codes Use pretrained YOLO network for object detection, SJSU data science night.
Table of contents
Setup
Please take the following steps in Max OSX (Sorry for Windows users).
Part 7 Object Detection with YOLOv2 using VOC 2012 data - inference on video
This is the seventh and final blog post of Object Detection with YOLO blog series. This blog performs inference using the model in trained in Part 5 Object Detection with Yolo using VOC 2012 data - training. I will use PASCAL VOC2012 data. This blog assumes that the readers have read the previous blog posts - Part 1
Part 6 Object Detection with YOLOv2 using VOC 2012 data - inference on image
This is the sixth blog post of Object Detection with YOLO blog series. This blog performs inference using the model in trained in Part 5 Object Detection with Yolo using VOC 2012 data - training. I will use PASCAL VOC2012 data. This blog assumes that the readers have read the previous blog posts - Part 1
Part 5 Object Detection using YOLOv2 on Pascal VOC2012 - training
This is the fifth blog post of Object Detection with YOLO blog series. This blog finally train the model using the scripts that are developed in the previous blog posts. I will use PASCAL VOC2012 data. This blog assumes that the readers have read the previous blog posts - Part 1
Part 4 Object Detection using YOLOv2 on Pascal VOC2012 - loss
experiencor/keras-yolo2's YOLO V2 loss¶
This is the fourth blog post of Object Detection with YOLO blog series. This blog discusses the YOLO's loss funciton. This will be the most intense blog post in Object Detection with YOLO blog series. as loss function of YOLO is quite complex. So please get excited! For demonstration of the code, I will agian use PASCAL VOC2012 data. This blog assumes that the readers have read the previous blog posts - Part 1