Neural Networks and Deep Learning
Deep Learning, Ian Goodfellow and Yoshua Bengio and Aaron Courville
Code samples for my book “Neural Networks and Deep Learning”
CS231n Convolutional Neural Networks for Visual Recognition
Padding and Stride
A Beginner’s Guide To Understanding Convolutional Neural Networks Part 2
skimage
General examples
Hysteresis thresholding
Mean filters
Denoising a picture
Unsharp masking
Canny edge detector
Straight line Hough transform
Circular and Elliptical Hough Transforms
Rescale, resize, and downscale
Piecewise Affine Transformation
Histogram Equalization
RGB to grayscale
Adapting gray-scale filters to RGB images
Thresholding, Otsu’s method
Morphological Filtering
Rank filters
Image Segmentation
A crash course on NumPy for images
API
Module: io
Module: filters
Module: transform
Module: morphology
Module: color
Module: exposure
Tutorial
Bright ridge detection not working as expected with Frangi, Frangi-, Hessian-Filter
IPython (Jupyter) widgets: An image convolution demo
Wiener Filter for image deblur
github.com/scikit-image/skimage-demos/blob/master/clock_deblur.py
Histogram Equalization
scipy
Multidimensional image processing (scipy.ndimage)
API
scipy.ndimage.binary_fill_holes
Python
python-kurs.eu
Generatoren und Iteratoren
Lambda, filter, reduce und map
Listen-Abstraktion (List Comprehension)
ORDIX blog
Python Generator-Funktionen und -Expressions: Ein alter Hut kann auch modern sein
Einstieg in Neuronale Netze mit TensorFlow und Keras
Data Mining in der Praxis (Teil I): Was ist Data Mining?
Data Mining in der Praxis (Teil II): Klassifikation
Data Mining in der Praxis (Teil III) Lineare Regression
Real Python
Python 3’s f-Strings: An Improved String Formatting Syntax (Guide)
name = "Eric" age = 28 ### Option #1: %-formatting print("Hello, %s. You are %d." % (name, age)) ### Option #2: str.format() print("Hello, {}. You are {}.".format(name, age)) ### Option #3: f-Strings print(f"Hello, {name}. You are {age}.")
Homework
Digitize your Receipts using Computer Vision
Deep Dive Into OCR for Receipt Recognition
Simple OCR implementation on Android with Google’s ML Kit
find intersection point of two lines drawn using houghlines opencv
Intersection of two lines defined in (rho/theta ) parameterization
Reading multiple invoices from an image using OCR/computer vision
How can I detect an object from static image and crop it from the image using openCV?
Receipt Scanning – How to scan a receipt and extract data from it
how to find coordinates of intersection of lines after using “houghlines”
Expense Reports in a Snap (or a Tap)
Homogene Koordinaten
Homogene Koordinaten
Ebenengleichung
Koordinatenform
Homogene Koordinaten
Lecture 2: Homogeneous Coordinates, Lines and Conics (PDF)
Computer Vision (SBE404B)
Asem Alaa
EslamAdel
Ayman Anwar
Computer Vision (SBE404B) – Spring 2020
Computer Vision (SBE404B) – Spring 2019
Computer Vision (SBE404B) – Spring 2018
Week 1: Warming up with Python Basics
Week 2: Image Processing 1
Week 3: Images in Frequency Domain
Week 4: Image Filtering and Edge Detection
Week 5: Hough Transform (Line and Circle Detection)
Week 6: Corner Detection
Week 7: Segmentation (Thresholding and Region growing)
Week 8: Segmentation (Clustering Segmentation)
Week 10: Image features, feature descriptors, and feature matching
github.com/sbme-tutorials/cv-week1-demo
github.com/sbme-tutorials/sbe401-week2-demo
github.com/sbme-tutorials/cv_week3_demo
github.com/sbme-tutorials/cv-week4-demo
github.com/sbme-tutorials/cv-week8-demo
Week 1
Deep Learning Alchemy to close the Perception Loop in Vision: Part 1 – Image Alignment with Pytorch
CS231n Convolutional Neural Networks for Visual Recognition – Python Numpy Tutorial
CS228 Python Tutorial (Notebook)
Python Single Line For Loops
The Confusing Double Colon (::) in NumPy
Flags
PyX — Python graphics package
Python:Flags Tutorial
Python:Flags with Lines Tutorial
Python Essentials
Data Structure
4. Data Structures (list, dict, tuples, sets, strings)
5. Data Structures
Python Data Types
Basic Data Types in Python
Python Data Types
Data Types in Python
Format String
Format String Syntax
Format String Syntax
Format Specification Mini-Language
Slice
Loop, Iteration
Loop better: A deeper look at iteration in Python
Python Basics: Iteration, Iterables, Iterators, and Looping
Exercise
W3Resources: NumPy Exercises, Practice, Solution
Machine Learning Plus: 101 NumPy Exercises for Data Analysis (Python)
HackerRank: Numpy Challenges
Week 2
How can I draw lines into numpy arrays?
How to draw thick anti-aliased lines in SciPy?
scikit-image – Module: draw
scikit-image – Shapes
Wikipedia: Line drawing algorithm
Rasterung von Linien
Rasterung
Week 3
Convert NumPy
How to convert a boolean array to an int array
Histogramm
Histograms in Image Processing with skimage-Python
Week 4
Python 3 – Built-in Functions
Python 3 – Built-in Types
scikit-image.org
kite
YouTube
Image Analysis in Python with SciPy and Scikit Image | Scipy 2019 Tutorial | Nunez-Iglesias
Image Analysis in Python with SciPy and scikit-image | SciPy 2018 Tutorial | Stefan van der Walt
20 – Introduction to image processing using scikit-image in Python
ABC
Glossary: ABC
Abstract Base Classes for Containers
Iterable / Iterator
Iter-ables are able to be iterated over. Iter-ators are the agents that perform the iteration.
Iterators are lazy single-use iterables (not precompiled, just-in-time calculation)
- They’re “lazy” because they have the ability to only compute items as you loop over them.
- And they’re “single-use” because once you’ve “consumed” an item from an iterator, it’s gone forever.
- The term “exhausted” is often used for an iterator that has been fully consumed.
The Iterator Protocol: How “For Loops” Work in Python
Importantly, it should be noted that iterators are stateful. Meaning once you’ve consumed an item from an iterator, it’s gone. So after you’ve looped over an iterator once, it’ll be empty if you try to loop over it again.
An iterator is like a stream of items. You can only look at the items in the stream one at a time and you only ever have access to the first element. To look at something in the stream, you need to remove it from the stream and once you take something from the top of the stream, it’s gone from the stream for good.
range
range
is an iterable
, but not an iterator
Sequence Types — list, tuple, range
Ranges
Python’s range() Function Explained
Python: range is not an iterator!
- immutable sequence type
- looping a specific number of times in for loops
- When you’re using an iterator, every loop of the for statement produces the next number on the fly.
The advantage of the range
type over a regular list
or tuple
is that a range
object will always take the same (small) amount of memory, no matter the size of the range
it represents (as it only stores the start
, stop
and step
values, calculating individual items
and subranges
as needed).
zip
Python iterator and zip
Using the Python zip() Function for Parallel Iteration
Packing / Unpacking
4.7.4. Unpacking Argument Lists
Generator
Iterable -> Iterator -> Generator
Python Generators
Generators
Python Generators vs Iterators – Comparison Between Python Iterators and Generators
Difference between Python’s Generators and Iterators
Generator Expressions vs. List Comprehension
# Generator expression (x*2 for x in range(256)) # List comprehension [x*2 for x in range(256)]
line_list = [' line 1\n', 'line 2 \n', ...] # Generator expression -- returns iterator stripped_iter = (line.strip() for line in line_list) # List comprehension -- returns list stripped_list = [line.strip() for line in line_list]
Generator Expressions vs. List Comprehension
Generator expressions and list comprehensions
Python List Comprehensions vs Generator Expressions
Week 10
Converting image from RGB to LUV and back results in different image
K-Means Clustering in OpenCV
Liste der Farbräume
CIELUV-Farbraumsystem
CIELUV