Skip to content

anjiang2016/CVFundamentals

Repository files navigation

CVFundamentals

 CV核心基础WEEK2 :认识计算机视觉
 Pipeline:
 1.    图像处理与计算机视觉
 2.    计算机视觉的输入与输出
 3.    如何解决计算机视觉的几个问题
 4.    计算机视觉第一步:图像描述子

 作业:
  
  编写计算机视觉的第0版程序。
  步骤
  1 生成10张图片,对应0,1,2,3,4,5,6,7,8,9.
  2 对这10张图片提取特征x。
  3 用一个判别器f(x)来决策输出结果y。
    这个判别器达到作用:
    当x是 “0”图片对应的特征时,y=f(x)=0
    当x是 “1”图片对应的特征时,y=f(x)=1
    当x是 “2”图片对应的特征时,y=f(x)=2
    当x是 “3”图片对应的特征时,y=f(x)=3
    当x是 “4”图片对应的特征时,y=f(x)=4
    当x是 “5”图片对应的特征时,y=f(x)=5
    当x是 “6”图片对应的特征时,y=f(x)=6
    当x是 “7”图片对应的特征时,y=f(x)=7
    当x是 “8”图片对应的特征时,y=f(x)=8
    当x是 “9”图片对应的特征时,y=f(x)=9
 4 参考代码:week2/recognize_computer_vision.py
CV核心基础WEEK3 :经典机器学习(一)
Pipeline:
1    监督学习与非监督学习
2    第一个可训练的监督学习模型:线性回归模型的3类解法
3    使用线性模型,解决字符分类问题
4    逻辑回归模型


作业:
编写计算机视觉的第1版程序:用线性回归模型,解决数字图片分类问题,
要求:用pytorch 的auto_grad功能。

步骤:
  1 生成10张图片,对应0,1,2,3,4,5,6,7,8,9.
  2 对这10张图片提取特征x。
  3 用一个线性判别器f(x)来决策输出结果y。
  4 判别器的训练要使用梯度下降法,写代码的时候要用到pytorch 的auto_grad功能。
 达到作用:
    当x是 “0”图片对应的特征时,y=f(x)=0
    ...
    当x是 “9”图片对应的特征时,y=f(x)=9
可参考代码:
  /week3/recognize_computer_vision_linear_model.py,线性模型解决图片识别问题课程代码
  /week3/how_to_use_auto_grad.py,测试pytorch auto_grad使用方法
  /week3/data_display.ipynb 数据显示
  /week3/week2作业答案课堂讲解.ipynb
  /week3/auto_grad使用时的注意事项.ipynb
  /week3/auto_grad形式的梯度下降.ipynb
  /week3/running_jupyter.pdf,jupyter运行命令
  jupyter常用效率快捷键:https://zhuanlan.zhihu.com/p/143919082
CV核心基础WEEK4 :经典机器学习(二)
Pipeline:
1    线性模型的局限性,以及改进方法 
2    用二分类来进行多分类:感知机
3    用逻辑回归进行多分类
4    神经网络:反向传播网络
5    【遗留】 欠拟合,过拟合与正则化
6    【遗留】 支持向量机SVM推导


作业:
已经刷爆hct66 dataset,这周就开始mnist数据集的挑战;
编写计算机视觉的的第2版程序:用3层反向传播网络来训练mnist中的100张图片。
要求:
   1 使用pytorch的auto_grad功能来编写
   2 要求随着epoch的增加,给出训练的准确度acc,和测试的准确度acc
步骤:
  1 下载并调用mnist数据集:https://github.com/anjiang2016/CVFundamentals/blob/master/week4/mnist/readme.md
  2 对mnist中的数据提取特征x。投影法可以用,但是效果不好,可以尝试用opencv 提取hog/lbp等特征
  3 用反向传播网络来决策输出结果y。
  4 反向传播网络的训练要使用梯度下降法,写代码的时候要用到pytorch 的auto_grad功能。
 期望达到精度:
    训练精度:60%
    测试精度:60%
可参考代码:
  /week4/assignment_week03_answer.py: week3作业参考答案
  /week4/recognize_computer_vision_nonlinear_model.py:用非线性模型来识别数字
  /week4/use_2class_on_multiclass.py:在htc66数据集上使用二分类进行多分类
  /week4/use_2class_on_multiclass_sigmoid.py:在htc66数据集上使用逻辑回归二分类进行多分类:w
  /week4/mnist/readme.md:mnist数据下载,读取,显示代码
  /week4/mnist_use_2class_on_multicalss.py:在mnist上使用二分类进行多分类
  /week4/mnist_bp.py:精度不好得一版bp代码
  /week4/homework_dataset: hct1000数据集【选用】

About

computer vision fundamentals

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published