Lecture 1
涉及到的领域
计算机视觉涉及到我们生活中很多的领域,其中包括生物学、物理学、数学、机器学….
history
原始的进化 (物种的出现就有了视觉的出现)
最早的照相机出现(根据哺乳动物的视觉神经创作的)
David Marr理论:建造3D模型的具体步骤
物体辨别
图像分类
在2012年图像分类迈出了重要的一步
卷积神经网络变成了重要的工具
Lecture 2
安装python and Numpy
图像分类
在做图像分类的时候要做两个函数
训练函数,将图像和标签当做输入值,返回模型
def train(images, labels): # Machine learning return model
预测函数,将模型和测试图像当做输入,返回标签
def predict (model, test_images): # Use model to predict labels return test_labels
比较两幅图像
将两股图片的像素矩阵相减,最后得到的矩阵的所有数之和为两个图像的差值
d(I1,I2)=∑p∣Ip1−Ip2∣
import numpy as np
class NearestNeighbor:
def __init__(self):
pass
def train(self, X, y):
self.Xtr = X
self.ytr = y
def predict(self, X):
num_test = X.shape[0]
Ypred = np.zeros(num_test, dtype= self.ytr.dtype)
for i in xrange(num_test): # python3版本中改为range
distances = np.sum(np.abs(self.Xtr - X[i,:]),axis = 1)
# axis=0表示列 axis=1表示行
min_index = np.argmin(distances)#等同于min求最小值
Ypred[i] = self.ytr[min_index]
return Ypred
train函数为训练函数,先将数据进行训练,得到训练值
predict预测,给定X作为输入数据(X为矩阵)
先让y跟X的row数相同,确保对应输出数量相同
将X每一行数据按照上述公式求和,取最小值,参照测试组数据,得出相对应的y值,即输出值。