![456539ad9d1741cde24e48070414943a.gif](https://img-blog.csdnimg.cn/img_convert/456539ad9d1741cde24e48070414943a.gif)
欢
迎
光
临
~
![b48236f5b3b086f2d6142447f74822a9.png](https://img-blog.csdnimg.cn/img_convert/b48236f5b3b086f2d6142447f74822a9.png)
1
引言
今天我们谈谈AI经典问题之一—— 计算机视觉 。深度学习在计算机视觉上的运用主要是卷积神经网络,必须强调的是卷积神经网络的应用并不仅仅局限于图像,在音频、视频方面也有不少的应用,甚至NLP中也有使用卷积神经网络的例子,所以说对AI从业者来说学习这些还是很有好处的。在这篇文章中,我们以Mask-RCNN[1]的发展历史为线索探讨计算机视觉问题中的图像分割问题以及物体检测,并最后简单讲解一些我在医学图像领域使用Mask-RCNN的例子。 a.实例分割 (Instance Segmentation) 在图像领域,有比较多的分割类型,比如使用阈值来对图像的明暗,色差进行分割,但在人工智能与图像分割结合的部分人们主要探讨的是实例分割以及语义分割(semantic segmentation)。实例分割和语义分割都是对图像“像素点是什么”的问题的判断,区别点在于实例分割需要分开判断每一个实例而语义分割则只需要判断像素点属于什么类别。一个简单的例子来自于下图[2],其中中间的分割结果为语义分割:![34085145590e1239b1008930881e62e9.png](https://img-blog.csdnimg.cn/img_convert/34085145590e1239b1008930881e62e9.png)
![a0f9fc9afc2d155926d9a4f6ea6bdd53.png](https://img-blog.csdnimg.cn/img_convert/a0f9fc9afc2d155926d9a4f6ea6bdd53.png)
2
RCNN系列概括
这里我们顺着 RCNN 系列物体检测深度学习模型的发展顺序介绍他们的发展路程以及模型性能提升的核心点。 a.Regional-CNN RCNN[4]是这个系列的开山之作。RCNN的整体思路很简单,即为将图片切分成小块,将每一个小块输入到图像识别的模型中。模型如下图[3]。![93ac6eeda5973ca46bec5b3f7a257350.png](https://img-blog.csdnimg.cn/img_convert/93ac6eeda5973ca46bec5b3f7a257350.png)
![53992af2565a1b4a2e3a6d293f6aec7a.png](https://img-blog.csdnimg.cn/img_convert/53992af2565a1b4a2e3a6d293f6aec7a.png)
![fd7280432de3cce14a091e8154b7e71f.png](https://img-blog.csdnimg.cn/img_convert/fd7280432de3cce14a091e8154b7e71f.png)
![3a3e32dbb3541dd6b2131ff2f8a5d624.png](https://img-blog.csdnimg.cn/img_convert/3a3e32dbb3541dd6b2131ff2f8a5d624.png)
故在Fast-RCNN算法中,使用类似于SPPnet的卷积提取Feature Maps,从对原图的候选区域的裁剪变为在Feature Maps上裁剪。裁剪方式从RCNN的在原图上Warping变为在Feature Maps上的RoI Pooling。RoI Pooling可以理解为SPP的特例,因为只有一个Pyramid Level。对SPPnet的训练方式进行改进,变得简单,完全端到端(end-to-end)学习,避免了multi-stage训练方法。将SVM改用 Softmax 引入类间竞争(“introduces competition betweenclasses”)但获得了少量精度提升。总体来说,Fast RCNN在速度和精度上均得到了提升,其结构如下[3]:
![f94c043adc95a9a35621efc22285e97c.png](https://img-blog.csdnimg.cn/img_convert/f94c043adc95a9a35621efc22285e97c.png)
![a096b9980ead35a3d8eb641762ea0ef2.png](https://img-blog.csdnimg.cn/img_convert/a096b9980ead35a3d8eb641762ea0ef2.png)
3
Mask-RCNN实战小结
在了解过RCNN的发展进程和一些技术要点后, 我们来谈谈对这个模型的实践。 a.模型运用小结 目前一般来说,在解决Object Detection的问题时很少有人还会去实践Faster RCNN以前的模型,因为Faster RCNN一般来说在速度和精度上来说都更优,如果是追求比较高的FPS的话,很多时候是选择类似于YOLO或者SSD的模型,但精度一般不如Faster RCNN。而在图像分割中,我们大多数的做法是使用U-net、SegNet或者是FCN的方法来解决语义分割问题,而实例分割在Mask-RCNN之前可能比较多的人会选择FCIS(Fully ConvolutionalInstance Segmentation)。因为Mask-RCNN集成了Object Detection和Instance Segmentation,略加修改还能完成Keypoint Detection的任务,功能十分强大,引起了人们很大的关注。所以我们这里以它为例,讲解一个在医学图像上的分割的案例。 b.Mask-RCNN实战项目介绍 这是我在学校期间参加的一个比赛项目,项目的问题是在医学图像中准确提取膀胱边界以及对肿瘤块的识别。数据集由中国计算机大赛人工智能挑战赛提供。下图是数据集的案例,左图为原始医学图像,右图是人类医学图像专家所做的标注:![60127724fd5ff78c4650bf205ba39304.png](https://img-blog.csdnimg.cn/img_convert/60127724fd5ff78c4650bf205ba39304.png)
![ee9f307270d08c36761baea77e0ce43a.png](https://img-blog.csdnimg.cn/img_convert/ee9f307270d08c36761baea77e0ce43a.png)
![2fd2a99775fb641f247fd3894fb92e63.png](https://img-blog.csdnimg.cn/img_convert/2fd2a99775fb641f247fd3894fb92e63.png)
(a) RPN Bounding Box Loss (Anchor Box) : Smooth L1 Loss
(b) RPN Classification Loss (前景和背景的判断) :Cross-Entropy Loss
(c) Classification Loss (Bounding Box的类别) :Cross-Entropy Loss
(d) Bounding Box Regression Loss : Smooth L1 Loss
(e) Mask Loss (原文使用Binary Cross Entropy) : Dice Coefficient Loss
(2) Feature Maps 提取Backbone : resnet101,使用FPN (3) Mask提取部分模仿FCN,4次卷积+batch normalization计算后一次反卷积之后再一次1*1卷积将Mask输出成H*W*K,K指分类类别 d.模型结果 除了模型外的工作,我们还对图像数据进行了预处理,以及利用数字图像处理的一些方法进行结果提升,但这些工作由于篇幅原因省略。我讲我们模型输出结果制作了动图,具体如下,其中左边为我们挑选肿瘤面积较大的样本,右图为膀胱壁较清晰的样本,红色为膀胱壁而青色为膀胱肿瘤。![87a0cbdc00fc4c508bbd76e2239bf413.png](https://img-blog.csdnimg.cn/img_convert/87a0cbdc00fc4c508bbd76e2239bf413.png)
![1383b26c26e8070fa71f21c645263690.png](https://img-blog.csdnimg.cn/img_convert/1383b26c26e8070fa71f21c645263690.png)
4
小结
这里我们比较概括地讲解了 RCNN 系列方法以及提及了图像分割的一些概念,但仅仅了解知识对于真正实现这些算法是远远不够的,如果想要了解更多建议阅读原论文并思考我之前提出的几个阅读建议点,同时也阅读 Mask-RCNN (它集成了前面几种模型的关键技术点)的开源代码。 如果仅仅是希望借助计算机视觉来更深入地理解深度学习,我更建议再学习一下YOLO和SSD,通过这些模型基本上可以感受到卷积神经网络的强大威力以及使用它的正确思路。 引用: [1]He, Gkioxari, Dollár, Girshick. Mask R-CNN. In ICCV 2017 [2]lanyuxuan100 https://blog.csdn.net/lanyuxuan100/article/details/70800246 [3]Yang. CSC2541 intro to object detection [4]Girshick, Donahue, Darrell, Malik. Rich Feature Hierarchies for Accurate ObjectDetection and Semantic Segmentation. In CVPR 2014 [4]Felzenszwalb, Huttenlocher. Efficient Graph-Based Image Segmentation IJCV 2004 [5]Uijlings, van de Sande, Gevers, Smeulders. Selective Search for ObjectRecognition. In IJCV 2013 [6] He, Zhang, Ren, Sun. SpatialPyramid Pooling in Deep Convolutional Network for Visual Recognition. In ECCV2014 [7]Girshick. Fast R-CNN. In ICCV 2015 [8]Ren et al. Faster R-CNN: Region Proposal Networks for Real-Time ObjectDetection. In NIPS 2015 [9]Lin et al. Feature Pyramid Networks for Object Detection. In CVPR 2017![b48236f5b3b086f2d6142447f74822a9.png](https://img-blog.csdnimg.cn/img_convert/b48236f5b3b086f2d6142447f74822a9.png)
网络人工智能园地,力求打造网络领域第一的人工智能交流平台,促进华为iMaster NAIE理念在业界(尤其通信行业)形成影响力!
![b48236f5b3b086f2d6142447f74822a9.png](https://img-blog.csdnimg.cn/img_convert/b48236f5b3b086f2d6142447f74822a9.png)