博客前言


掌握更多的技术,意味着更多的机会,有更多选择的机会。 人和人之间本质的差距就是“选择权“的差距。
农民自家种蔬菜、养猪吃,很干净很有机;千万富翁可能还要吃着普通的猪肉和蔬菜;他们之间的差距在于:千万富翁可以随便选择,可以随时过农民的生活;而农民却没有选择过千万富翁生活的权利。
多学技术,就意味着有更多选择的机会,发展的机会,就会造成工作和生活的差距。



随着近几年来大学生就业压力越来越大 ,为了 更好的就业,不少同学 选择 参加各种各样的培训。
决心做软件的很多人 会选择 java, 也有人会选择Python、大数据、人工智能、前端H5开发、PHP、C/C++等。
???
那么究竟应该选择什么方向呢?什么方向才更适合自己呢?
我的意见是:不要太过相信各种培训机构或是软文的说法(包括我),当你要走向社会的时候,就不要再把自己当成学生,不要把自己的将来交给别人,学会用自己的眼睛去观察,去了解这个世界。

每个培训机构都会宣传自己的好处,并不能说明大的趋势。一些新闻文章很有可能是枪手写的,不必太过 较真 。有国外背景的教师和课程,未必 真正
适合你。

那么怎么才能确定自己将来的方向呢?如何才能从纷繁庞杂、亦真亦假的数据中挖出一条适合自己的路呢?

这里给大家讲一个通过招聘网站观察的方法,可以到各种招聘网站上查 相关数据 询信息。

例如: http://www.zhaopin.com 智联招聘 http://www.lagou.com 拉勾网
http://www.jobui.com ,综合了各大招聘网站的数据


不错,前面两段话是引用某位老师的话,也是我决定修改这边汇总博客的原因,同时想要梳理我的知识体系,并向合格的优秀算法工程师目标靠拢。给自己加油!!!

学习资源

书籍或网站

数字图像处理基础

Linux基础学习篇

​链接​​ 提取码:r5pd

python编程语言

​链接​​,提取码:kxnb

pytorch实践

​链接​​ 提取码:nex4

opencv教程

​链接​​ 提取码:pef6

C++视频课程

​链接​​ 提取码:jh7q

1467篇CVPR 2020论文

​链接​​ 提取码:28w0

机器学习笔记

​链接​​ 提取码:m2n0

人工智能项目实战代码

​链接​​ 提取码:folh

个人觉得,想要成为一名合格的算法工程师,基础知识和基本技能掌握的熟练程度对普通人来讲非常重要,当然背景和贡献起着‘敲门砖’和溢价价值作用。

一、基础技能与基本知识的掌握

1.1 工具(强大且经过验证的Python / C / C ++系统编程技能)

  1. 招聘要求中,通常会要求你精通一门或两门编程语言,你可以选择的大多有C++、C、Python ,或者MATLAB等数学建模软件。
  2. 熟练掌握一到多个深度学习框架,pytorch\tensorfow\caffe\Mxnet\keras\NCNN\ONNX\MACE
  3. 项目经验丰富,基础知识自然扎实。

1.2 基础知识

模块一:数字图像处理基础


图像是客观对象的一种相似性的、生动性的描述或写真,是人类社会活动中最常用的信息载体。


1.1) 图像的分类

  1. 按可见性分:可见图像和不可见图像。
    可见光下人眼视觉图像;不可见的物理图像和数学连续函数或离散函数生成的抽象图像:
  2. 按波段数分:单波段、多波段和超波段(不同波段数字图像)
    单波段数字图像指在某一波段范围内工作的传感器获取的遥感数字图像。如SPOT 卫星提供的10 m 分辨率全色波段遥感图像。每景图像为6000行x6 000列的数组,每个像素采用1字节记录地物亮度值。
    按波段(通道)数量可分为多波段遥感影像和单波段遥感影像。比如常用的landsat5的TM影像就是多通道遥感影像,它有7个波段。在不同的波段,地物会有不同的反射率,可以作为地物分类的一个依据。采用多波段的遥感数据更能真实地还原地物特征。
    Gamma-射线成像,X射线成像,紫外线波段成像,可见光波段成像,红外线波段成像,微波波段成像(雷达成像),射频波段成像(MRI)。
  3. 按空间坐标和亮度的连续性分:模拟数字

1.2) 源图像数据【raw image】


RAW图像就是CMOS或者CCD图像感应器将捕捉到的光源信号转化为数字信号的原始数据。RAW格式的全称是RAW Image Format,在编程中称之为原始。



RAW文件是一种记录了数码相机传感器的原始信息,同时记录了由相机拍摄所产生的一些元数据(Metadata,如ISO的设置、快门速度、光圈值、白平衡等)的文件。



计算方式
传统CCD每个像素只能感光一种颜色,根据感光的强度不同转换成不同的数字,8bit就是一个点感光从最暗到最亮分为256个层次,10bit就是1024个层次,以此类推。
假设300万像素每个像素包含10bit的数字信息,那么它的未压缩的RAW文件大小:
3,000,000 * 10bit = 30,000,000 bit = 3,750,000byte ≈ 3662.1K ≈ 3.58M
一般相机对raw文件进行压缩,采取类似zip的无损压缩算法。


1.3) 数字图像的概念

从物理和数学的角度看,图像是记录物体辐射能量的空间分布,这个分布是空间坐标、时间坐标和波长的函数:

I = f(x,y,z,λ,t),x,y,z是空间坐标,λ是波长,t是时间,I是像素点的强度。它表示活动的、彩色的/三维的视频图像。

通常,一幅图像可以被看成是空间各坐标点彩色强度的集合。对于静止图像,则与时间t无关;对于单色图像,则波长λ为常量;对于平面图,则于坐标z无关。

如表示一幅静止的平面单色图:**I=f(x,y)**或(r,g,b)=f(x,y)。

更多更具体描述参见博客。

1.4) 图像处理

  1. 图像缩放
    1.1 图像缩放实现 1.2 关于双线性插值和最近邻插值

  2. 图像亮度对比度–gama校正

  3. 直方图均衡化

  4. 图形文件存储格式
    4.1. PNG格式 :是将点阵图进行不失真(可逆)压缩,并具有互换相容性的文件格式。支持色盘、灰阶、全彩等模式,还可以支持透明度的处理 ;
    4.2. CDR格式:是CorelDraw软件专用的一种图形文件存储格式;
    4.3. AI格式:是Illustrator软件专用的一种图形文件存储格式;
    4.4. DXF格式:是AutoCAD软件的图形文件格式,该格式以ASCII方式存储图形;
    4.5. EPS格式:是一种通用格式,可用于矢量图形、像素图像以及文本的编码;
    4.6. BMP格式:是Windows中的标准图像文件格式;
    4.7. TIFF格式:是常用的位图格式,具有任何大小的尺寸和分辨率;
    4.8. PSD格式:是Photoshop中使用的一种标准图像文件格式,可保留图层信息、通道蒙版信息等。
    4.9. JPEG格式:是一种高效的压缩格式,可对图像进行大幅度的压缩,最大限度地节约网络资源,提高传输速度,因此用于网络传输的图像,一般存储为该格式;
    4.10. GIF格式:在各种图像处理软件中通用,是经过压缩的文件格式,因此一般占用空间较小,适合于网络传输,一般常用于存储动画效果图片;
    14.1. PDF格式:又称可移植(或可携带)文件格式,具有跨平台的特性;
    在计算机中常用的存储格式有:BMP、TIFF、EPS、JPEG、GIF、PSD、PDF等格式。

1.3 经验知识

模块二:IDE和环境

pycharm、vs2015、数据库mysql

模块三:编程语言和库学习笔记

python语言基础:

  1. python基础知识点测评

  2. 试题网址

  3. 常用排序算法:
    3.1. 冒泡排序 BubbleSort 3.2. 快速排序Quicksort 3.3. 选择排序–Selection sorting method

  4. python文件打包生成可执行文件exe

  5. argparse–命令行参数解析器详细使用方法

  6. python assert用法

  7. python raise用法

  8. python中常用正则表达式

  9. pytorch生成随机数

  10. 关于代码中经常见到的" _ future _"的常见方法的意义讲解

模块四:人工智能算法实践经验

  1. 基础卷积神经网络详解
  2. BPN算法实践
  3. 经典算法--人工智能-迁移学习算法
  4. 人脸表情分析识别算法
  5. 物体关键点标注算法
  6. 虚拟试穿上衣算法
  7. 虚拟试穿 without parsing
  8. BodyPoseModel姿态检测模型深度解读

模块五:数据结构相关算法

  1. 四则运算–后缀表达式
  2. 平衡二叉树 AVL
  3. 多路查找树 B-Tree
  4. 哈夫曼树和哈夫曼编码

1.4 加分项

  1. 模型剪枝压缩
  2. Dockers/k8s算法模型部署
  3. 3D视觉方面有相关研究:如传统立体几何视觉算法,3D目标检测

参考文献

[1] ​​图像​

[2] ​​Raw image​

[3] 不同波段数字图像

[4] ​​数字图像处理​