撰稿:Amusi 修改补充:H同学 会议时间:2018年4月22日(周日)13:00 Note:因为涉及保密条款,故文中大多数成员以简称来命名
魔都AI圣战者联盟(League of AI Mujahideen in Shanghai) 是由上海的AI行业从业者发起的民间组织。目前联盟主要成员为从事AI行业cv或nlp方向的算法工程师或主管、总监,多数为毕业于国内985高校或海外知名高校的硕博。
联盟宗旨:
1,团结所有在上海的AI从业者,举办高质量的人工智能相关的分享会和论坛,促进人工智能相关学术交流和工程实战交流。
2,促进成员交流行业职场机会和其他合作机会。
3,推动中国人工智能科学技术的理论研究、技术、应用和产业的繁荣与发展。
魔都AI圣战者联盟第二次分享会于2018年4月22日(周日)13:00顺利召开。联盟成员参与度很高,体现了大家的积极态度。会议期间,大家认真聆听了M算法总监和R博士给大家带来的专题讲座,并且每个人都分享了自己的经历与研究方向。
下面就对魔都AI圣战者联盟第二次分享会做一次简单的总结。
主讲人:M同学(国内某人工智能科技公司算法总监,法国兰斯大学硕士)
主讲内容:计算机视觉算法综述及其应用场景介绍
1.1 什么是人工智能? 人工智能即AI(ArtificialIntelligence)是一种能够模拟人类智能行为和思维过程的系统。是基于数学、逻辑学、脑科学与神经科学、知识论和认知科学、心理学和控制理论、计算机科学的交叉学科和应用。
1.2 人工智能发展史
1956年,AI诞生:达特茅斯会议
1970年-1980年,低谷期:大规模数据和复杂任务不能完成,计算能力无法突破
1982年,专家系统:神经网络+5代计算机
1990年-2000年,低谷期:DARPA美国国防高级研究计划局(DefenseAdvanced Research Projects Agency)无法实现,政府投入缩减
2006年-至今,深度学习:突破性进展,进入发展热潮
1.3 人工智能、机器学习与深度学习的关系
人工智能>机器学习>深度学习
1.4 深度学习为什么迅速崛起?
主要得益于下述3点:
1. 大数据
2. 高性能硬件
3. 算法突破
1.5 计算机视觉
在计算机视觉领域,研究人员努力指导计算机如何“看”东西。这种“看”可以是理解场景、重构3D对象、识别物体、避开障碍、帮盲人指路等等。
计算机“眼中”的图像是一组张量(Tensor),对于2D图像,即为2维排列的数组;对于3D图像,即为3维排列的数组。大多数图像是具有颜色信息,图像处理时,常常会将其转换成三通道的数据,常见的三通道有RGB和YUV等。图像可以看成由若干个有序密集排列的“点”组成,其中每个“点”称为像素。每个颜色通道中像素值范围在0-255。
深度学习中的神经网络是根据大脑神经元的结构提出的,一般的结果是输入—>权值+偏置—>激活函数(非线性函数)—>输出。
早期神经网络都是全连接网络,上一层的输出与当前层的输入两两相连,这样的缺点是权值数量多,占用较大资源。
卷积神经网络(CNN,convolutionneural network)利用卷积核和滑动窗口(权值共享)的方法有效地减少了权值数量,并且得益于卷积特性,极大地提高低维-高维的特征提取效率。
常见的卷积神经网络由卷积层、激活层和池化层(下采样层)组成。
注:卷积神经网络对计算机视觉的影响力十分巨大!
计算机视觉常见的应用有:图像分类、目标检测、图像分割和目标跟踪等。
1.6 人工智能的应用
主讲人:R同学(国内某P2P金融公司算法专家中科院技物所博士)
主讲内容:计算机视觉算法综述及其应用场景介绍
homepage:http://pjreddie.com/yolo/
paper:https://arxiv.org/abs/1506.02640
目标检测需要干什么?
对于Two-stage的R-CNN系列,需要进行下述处理
l Bounding box的回归(regression)和proposals+回归
l 目标的分类(classification)
对于One-stage的YOLO系列,直接得出所有的bounding box和对应的类别
故从处理步骤来说,R-CNN系列多了一个候选框提取分支(Proposal阶段),因此称为two-stage,而YOLO系列称为one-stage。
l 网格的划分,逻辑上的划分,并没有实际对图像的内容进行划分
l 目标的中心点落在哪个网格中,该网格负责检查该目标
l 每个网格预测B个bounding boxes,以及对应得置信度,训练时取IOU最大的那个作为预测bbox
l 每个网格同时预测C个类别的条件概率
l 每个bounding box的置信度和类别条件概率的乘积为类别置信度
l ImageNet pre-training 224→448
l 坐标归一化,宽高进行归一化,中心对相对于网格归一化
l 为不同类型的loss设置不同的权重
l 每个网格的B个boundingboxes中,选取IOU最大的那个作为该网格的预测bounding box
l 快
l 背景误检率低
l 通用性好
l 定位精度低
l 检测精度低
l 对小物体效果差
官网:http://pjreddie.com/yolo9000/
paper:https://arxiv.org/abs/1612.08242
BN(Batch Normalization)有助于网络收敛。通过在YOLO的所有卷积层上添加BN, 使得在mAP上得到2%以上的改进。BN还有助于对模型进行regularize。通过BN, 我们可以在没有 overfitting的情况下去除模型中的dropout。
对于YOLOv,首先在 ImageNet上,每10 epoch就fine tune分类网络在448 x 448分辨率。然后, fine tune所得到的检测网络。这个高分辨率分类网络给结果增加了近4% mAP。
借鉴了Faster R-CNN的anchor的思想,去除了全连接层,使用anchor box来预测bounding box。
步骤:
l 去除最后的池化,提高feature map的分辨率
l 将输入448x448变成416x416,目的是使得feature map的尺寸为奇数,那么中心点的像素只有一个
l 使用卷积进行下采样,得到13x13的feature map
l 类别预测从空间位置中解耦,由anchor box同时预测类别和坐标
使用先验知识来进行anchor box的选取。在训练数据集上对所有的bounding box进行k-means聚类,最终选取了5个anchor box。
高分辨率的feature map—>4x 低分辨率的feature maps
每迭代几次都会改变网格参数。每10个Batch,网格会随机地选择一个新的图片尺寸,由于使用了下采样参数是32,所以不太的尺寸大小也会选择为32的倍数{320,352,…,608},最小320x320,最大608x608,网格会自动改变尺寸,并继续训练。
去掉最后一层卷积,加3个3x3的卷积层,feature map数量为1000,再接一个1x1的卷积层,得到最后的输出,每个位置5个bbox,4个坐标+1个置信度+20个class,一共125个feature maps。同时将最后一个3x3x512的layer,通过pass through加到最后一个3x3的卷积层,得到高分辨率的特征。
l 融合之后的类别有9418类
l 平衡COCO和ImageNet数据集,通过过采样使得样本比例为1:4
l 使用3个先验anchor代替5个
l 设置IOU最小为0.3
l YOLO9000取得19.7mAP,在未学习过的156个分类数据上进行测试,mAP达到16.0
paper:https://arxiv.org/abs/1804.02767
一个ground truth只匹配一个最好的anchor,其他anchor忽略,坐标和类别不产生loss,置信度产生loss。
使用逻辑分类器(logistic classifier)替代softmax,多标签的预测
在3个不同的尺度上进行bounding box的预测,每个尺度上进行3个anchor box的预测,对大的尺度使用小的anchorbox,对小的尺度使用大anchorbox。
l Anchor box x, y offset prediction
l Linear x, y predictions instead of logistic
l Focal loss
l Dual IOU thresholds and truth assignment
homepage:https://github.com/weiliu89/caffe/tree/ssd
paper:https://arxiv.org/abs/1512.02325
Faster R-CNN速度太慢,YOLO mAP太低(形容的是YOLOv1),SSD又快又准,下面列出一组在Pascal VOC2007数据集上的测试结果
l 59 FPSmAP 74.3% SSD(batch size 8, 46 FPS batchsize 1)
l 7 FPS withmAP 73.2% Faster R-CNN
l 45FPS withmAP 63.4% YOLO
l 使用小卷积核预测类别和bbox
l 对于不同比例的检测器使用不同的filter
l 多尺度预测
l atrousconvolution(空洞卷积)
l featurenormalization and scale
l defaultbox的数量
l Multi-scalefeature maps for detection:使用不同的尺度的feature map进行预测
l Convolutionalpredictors for detection:使用卷积进行预测(针对YOLO)
l Defaultboxes and aspect ratios:每个位置k个default box,每个default box包括4个坐标和c(类别数)个置信度,一共(c+4)k个输出,k个default box使用不同的比例
l 先匹配IOU最大的default box
l 剩下的default box中选取IOU > 0.5的进行匹配
l 一个ground truth可以匹配多个default box,但一个default box只能匹配一个ground truth
Reference
[1] https://www.cnblogs.com/makefile/p/YOLOv3.html
l 不同层的default box使用不同的尺度
l 同一层的default box有不同的比例{1,2,3,1/2,1/3}
对所有的负样本按背景置信度进行排列,选取背景置信度小的作为负样本,正负样本比例1:3
l Usethe entire original input image
l Samplea patch so that the minimum jaccard overlap with the objects is 0.1,0.3, 0.5, 0.7, or 0.9
l Randomlysample a patch
l Dataaugmentation is crucial
l Moredefault box shapes is better
l Atrousis faster
l Multipleoutput layers at different resolutions is better
在Pascal VOC2007上测试的结果
1.H同学(国内某人工智能科技公司算法工程师,浙江大学博士)
2.M同学(国内某人工智能科技公司算法总监,法国兰斯大学硕士)
3.R同学(国内某P2P金融公司算法专家,中科院技物所博士)
4.F同学(国内某纳斯达克上市互联网公司算法主管,中科院硕士)
5.L同学(国内某互联网公司高级算法工程师,同济大学博士)
6.Z同学(国内某汽车集团公司算法工程师,清华大学博士)
7.X同学(国际某汽车零部件公司,自动驾驶工程师,日本早稻田大学硕士)
8.W同学(生成对抗网络南京邮电大学硕士在读)
9.C同学(计算机视觉,上海大学硕士在读)
F同学对联盟的发展规划及愿景进行了展望。魔都AI圣战者联盟定位是非盈利性高端AI平台,平时会线下组织一些学术论坛/沙龙讲座。
魔都AI圣战者联盟第一次分享会暨成立大会顺利召开,也完美落幕。联盟成员参与度很高,体现了大家的积极态度。会议期间,每个人都分享了自己的经历以及今后的发展方向,大家都受益匪浅。
特别感谢M算法总监和R博士分别从工程和学术方向给大家带来的专题讲座。
在此,特别期待魔都AI圣战者联盟第三次会议的举办!