๐ Stanford CS231n ๊ฐ์๋ฅผ ๋ฃ๊ณ ๊ธฐ๋ก์ฉ๋๋ก ์ ๋ฆฌํ๋ ๊ฒ์๊ธ์
๋๋ค.
Field of CV
- an interdisciplinary field
- ex)physics - to understand image formation
- ex)biology - to understand how animal brains actually see and understand things
history of vision
- Back to 543 million years ago, there were only few species of animals
- zoologists found out that the number of animal species exploded (= evolution's big bang)
-> what caused this?
- most convincing theory
- about 540 million years ago, first animals developed eyes
- and the onset of the vision started this exposive speciation phase => animals can suddenly see => life becomes more proactive (escaping from the predators, attack... etc
- started evolutionary arms race, and to survive they had to evolve quickly
- visual = biggest sensory system that enables us to communicate, entertain ... etc.
=> vision is important to animals (especially intelligent animals)
camera obscura
- ์ด๊ธฐ ์นด๋ฉ๋ผ obscura = ์ด๊ธฐ ๋๋ฌผ๋ค์๊ฒ์ ๋ฐ์ ํ๋ ๋๊ณผ ๊ต์ฅํ ๋น์ทํจ
hubel and wiesel, 1959
- "what was the visual processing mechanism like in primates, in mammals?" ๋ผ๋ ์ง๋ฌธ์์ ์์
- study cat brain (more less similar to humans)
- ์๊ฐ ํผ์ง์ด ์๋ ๋ท์ชฝ์ ์ ๊ทน
- many types of cells in ์๊ฐ ํผ์ง
- but simple cells respond to oriented edges when they move in certain directions
=> visual processing starts with simple structure of the visual world, oriented edges, and the information moves along, the brain builds up the complexity of the visual information until it can recognize the complex visual world
block world
- larry roberts - first PhD thesis of computer vision.
- the famous MIT summer project "The Summer Vision Project" - goal is to work out the bulk of the visual system
- field of cv - not yet solved vision but one of the most important and fastest growing ai field
david marr
- MIT vision scientist
- several processes to arrive at a final holistic full 3d representation of the visual world
- primal sketch
- mostly the edges, bars, ends, virtual lines, curves, boundaries...
- early processing has a lot to do with simple structures like edges
- 2 1/2-D sketch
- piece together the surfaces, depth information, layers, discontinuities, ...
- 3D model
- put everything together
- hierarchically organized
=> idealized thought process of what vision is, and this way of thinking dominated cv for several decades..
recognition via parts
-
"how can we move beyond the simple block world and represent real world"
-
"generalized cylinder", "pictorial structure"
- every object is composed of simple geometric primitives (ex. ์ฌ๋์ ํํ๋ฅผ ์ค๋ฆฐ๋ ์ฌ๋ฌ ๊ฐ๋ก ํํ)
=> representation is a way to reduce the complex structure of a object into a collection of simpler shapes and their geometric configuration
david lowe
- how to reconstruct or recognize the visual world from simple world structures
Image Segmentaion
- "if object recognition is too hard, first do object segmentation"
- taking an image and group the pixels into meaningful areas
- extract out all the pixels that belong to the pixels from its background = image segmentation

Face Detection
- AdaBoost algorithm -> real-time face detection
- rapid transfer from basic science research to real world application
Feature-based Object Recognition (SIFT feature)
- late 90s ~ 2000
- SIFT feature
- to match and the entire object (ex. stop sign) to another stop sign
- there could be changes due to camera angles, lighting, viewpoint....
- but observe that there are some features that tend to remain diagnositc and invariant to changes
=> object recognition began with identifying these critical features on the object and then match the features to a similar object
spatial pyramid matching
- feature in the images that gives us clues about which type of scene it is
- features from different parts of the image -> put together in feature descriptor and SVM algorithm on top of that
early 2000s
- in terms of recognition, object recognition is an important problem to solve
- began to have a benchmark data set, to measure the progress of object recognition
- data set = PASCAL visual object challenge
- dataset composed of 20 object classes
-> 2006~2012 - performance of detecting objects in the 20 objects -> increased! => a lot of pregress made
Overfit problems
- most of the ML algorithms are very likely to overfit in the training process
- and part of the problem is that visual data is very complex
-> models tend to have high dimension of input, have a lot of parameters...
-> but not enough training data
=> overfitting happens very fast
ImageNet project (Stanford)
-
to recognize whole objects + overcome the overfitting problem
-
biggest dataset produced in the field of AI at that time
-
began to push forward the algorithm dev of object recog into another face
-
benchmark the progress.. - team rolled out an international challenge called ImageNet Large-Scale Visual Recognition Challenge
-
more test set to test the image classification rec results for the cv algorithms
-
if algorithm can ouput 5 labels and the top 5 includes correct object -> = success
-
error rate is steadily decreasing, but 2012, error rate is so low that it's on par with what humans can do (human = 1 standford phd student)
-
2012 -> error rate was dropped almost 10 percent to 16 percent => significant drop, and the winning algorithm of that year = convolution nerual network model
-
์ด ์์
์ ๋ชฉํ = to have a deep dive into what convolution nerual network model is(=deep learning)
CS231n overview
- primary focus - image classification problem
- your algorihtm looks at an image -> picks among a fixed set of categories and classify that image
- other problems like object detection, image captioning...
- object detection - not classifying an entire iamge, but draw a box and say that there is a dog here, cat here ,,, etc
- image captioning - given an image and produce a natural language sentence describing the image
CNN

- 2011 - multiple layers (features -> local invariances -> feed their resulting descriptor to linear svm) - still hierarchical (= still detecting edges)
- 2012 - 7 layer cnn = alexnet = supervision
- trend = neurals became deeper
- 2015 - googlenet, 19 layers
- 2015.- residual network - 152 layers

Why CNN became popular recently
- CNN was not invented in 2012
-
computation
- faster computers every year (thx to Moore's law)
- number of transistors on chips increased
- advent of GPUS (super parallelizable, perfect tool for computationally intensive cnn models)
-
data
- these algorithms were hungry for data (a lot of labeled images and labeled pixels), but not enough data available
- it was before the Internet was widely used
- difficult to collect large datasets
- these algorithms existed for quite a long time..
Human visual system
- People do a lot of things using their visual system
- So we continue to develop our algorithms to do even better
- ex) semantic segmentation - understand every pixel in the image (what is it doing, what does it mean.. )
- ex) 3d understanding - reconstructing the entire world
- there are tons of other tasks left to be solved

- ์ด ์ฌ์ง์ 1์ด ๋ณด์ฌ์ฃผ๊ณ ๊ทธ ์ฌ๋์๊ฒ ์ฌ์ง์ ๋ํด ์ค๋ช
ํ๋ผ๊ณ ํ๋ค๋ฉด -> ์ค๋ฅธ์ชฝ๊ณผ ๊ฐ์ด ์ด ์ํฉ ์ ์ฒด์ ๋ํด ์ ์ถ๋ฅผ ํ๊ณ , ์ด๋์ธ์ง, ๋ฌด์์ ํ๊ณ ์๋ ๊ฒ ๊ฐ์์ง ๋ฑ์ ๋ํด ํ ๋จ๋ฝ์ ์ค๋ช
ํ๋ค. => ์ธ๊ฐ์ ์ด๋ฏธ์ง๋ฅผ ๋ณด๊ณ ์ ์ฒด์ ์ธ ๋งฅ๋ฝ ํ์
์ด ๊ฐ๋ฅํจ
![์
๋ก๋์ค..]()
-
์ด ์ฌ์ง์ ๋ณด๊ณ ์ธ๊ฐ๋ค์ด ์์ ์ ์๋ ์ด์ ?
-
์ฌ๋๋ค์ด ๋ณธ์ธ์ ๋ชธ๋ฌด๊ฒ์ ๋ํด์ ์ฝ๊ฐ์ consciousํจ์ ๊ฐ์ง๋ค๋ ๊ฒ, scale์ ๋ฐ์ ์ฌ๋ฆฌ๋ฉด ๋ ๋ฌด๊ฑฐ์์ง๋ค๋ ๊ฒ์ ์ด๋ฏธ ์๊ณ ์์ -> ๋ค์ ์๋ ์ฌ๋์ด ๋ฐ์ ์ฌ๋ ค์ ๋ฌด๊ฒ๊ฐ ๋ ๋๊ฐ๊ฒ ํ๊ณ ์์ -> ์ฌ์ค ๊ทธ ์ฌ๋์ ๋ฒ๋ฝ ์ค๋ฐ๋ง๋ก ๋น์ ๋ํต๋ น์ด๊ณ , ์ฐ๋ฆฌ๊ฐ ์๋ ๋ฐ๋ก ๋ํต๋ น์ ๋ณดํต respectable ํ๊ฒ, making jokes ํ์ง ์๋ ์ฌ๋๋ค์ -> ์ด ๋ชจ๋ ์ ๋ณด๋ฅผ ์๊ณ ์์ผ๋ฏ๋ก ์ฐ๋ฆฌ๋ ์ด ์ฌ์ง์ ๋ณด๊ณ ์์ ์ ์์
-
์ด๋ฏธ์ง์ ๋ด์ฉ์ด ์์ฒญ ๋ง์ -> cv ์๊ณ ๋ฆฌ์ฆ์ ์์ง ์ด ์ด๋ฏธ์ง์ ๋ํด ์ง์ ํ ์ดํด๋ฅผ ํ๊ธฐ์ ๋ง์ ์ฌ์ ์ด ๋จ์๋ค.