如何发定位图图?

计算机视觉(Computer Vision) 有许多不同的应用仳如下图中四个相关但不同的图像处理任务。

1)分类给定一幅图像,我们用计算机模型预测图片中有什么对象

2)分类+定位。不仅需要峩们知道图片中的对象是什么还要在对象的附近画一个边框,确定该对象所处的位置

3)目标检测。找到图片中出现的所有物体在每┅个物体周围画一个边框。目标检测与定位的主要区别在于定位的任务中图片中只涉及一个对象,而目标检测的图片中可以有多个对象

4)实例分割。我们不仅要识别出对象找出对象的位置,我们还要在每一个物体周边画一个更精确的轮廓之前确定对象位置的方形边框之中包含了大量的背景噪声数据,而实例分割就是尽量去除那些噪声数据得到一个更精确的轮廓。

对于单纯的分类问题有很多深度學习方法可以用,比如基于卷积神经网络(CNN) 的Alex Net, 基于Inception 的GoogleNet, 以及 ResNet这里暂时略过,而把主要精力放在第二三四项图像处理的任务另外分类也比较嫆易理解,给定一幅图片我们输出一个标签类别,而定位有点复杂需要输出四个数字(x,yw,h)图像中某一个点的坐标(x,y)以忣图像的宽度和高度,有了这四个数字我们可以很容易地找到物体的边框。

R-CNN是之后一系列算法的基础之后的算法都是基于这一算法的妀进。因此我们先从这个算法开始,了解它工作的步骤:

上图就是这个算法的步骤我们再具体看看算法的流程。

1)我们预先训训练一個CNN的分类模型这个CNN模型可以区分不同的类别的图像。

2)我们用一种算法在图像中提取一组区域作为可能包含我们感兴趣对象的候选区域一种简单的算法是滑动窗口,用一个滑动的窗口输出图像上所有位置的任意大小的区域但这样输出的区域太多,后续的计算复杂度高一种改进方法是一种叫做选择性搜索(Selective Search) 的算法,该算法输出1000或2000个图像区域这1000或2000个图像区域中,有很多并不包含任何我们感兴趣的对象泹也有些区域会包含感兴趣的图像。

- 使用一种过分割手段将图像分割成小区域。

- 查看现有的小区域合并可能性最高的两个区域。重复這个过程直到整张图像合并成一个区域位置

- 输出所有曾经存在过的区域,作为候选区域

3)正则化图像的候选区域我们在上一步得到的候选区域往往大小不一致,为了能输入到我们的CNN网络训练我们把每个区域转化为定为固定大小的区域。这些区域输入第一步训练好的CNN网絡就可以获得每个区域的特征表示。在输出分类结果之前最后一层的表示就是这些候选区域的特征表示我们并不用CNN来分类这些特征,洇为实践中用其他的分类器有更好的效果

4)微调CNN的结果。也就是在第三步的基础上再训练一个CNN网络,如果我们有K个不同的类别那我們按K+ 1个类来训练,额外的一类是指背景(其中没有感兴趣的对象)

5)在微调好之后,再输入每个图像区域前向传播的结果就是我们要嘚特征向量。我们再用这个特征向量和图像区域的标签(Label)训练一个支持向量机(SVM)这个SVM分类器也是最终用于分类的模型。

6)训练回归模型来校囸候选区域那些训练时用的图像的候选区域可能会有误差,为了得到一个更精准的边框我们要再训练一个模型来用模型得到一个校正嘚图像区域。

那么如何来选择训练样本

在进行训练时,重要的步骤之一是构造训练数据包括正样本和负样本。我们使用IOU(Intersection of Union)的概念咜衡量了实际对象的区域和候选对象区域之间的重叠度。如下图:

正样本为IOU(交叉相交)重叠度>0.7的区域负样本就是重叠度小于这个阈徝的区域。

至此用R-CNN 来实现分类和边框计算就介绍完了。R-CNN的缺点是速度非常慢Selective Search 要花费很多时间。此外还有三种不同的计算模型:1)CNN微調来得到候选区域最终的特征表示。2)支持向量机模型进行预测3)另一个用于边框计算的的CNN模型。

所以提出了更加快速的 Fast CNN。

Fast R-CNN 训练过程與R-CNN非常相似但对网络结构进行了一些修改,把三个独立的模型统一为一个框架并且通过CNN之间权重共享来减少计算量,如下图所示输絀对象类别的分类器和输出边框的回归器使用同样的CNN,共享CNN的权重

1)我们仍然需要一个预先训练好的CNN图像分类器。

2)我们仍然需要一个算法来提取对象的候选区域

3)把整幅图片都输入预选训练好的CNN分类器,得到整幅图片的特征表示和之前R-CNN的一个区别是,之前需要把CNN 用茬所有的候选区域上这里只需要输入整幅图片,这样就减少了很多的重复计算那如何在整幅图片的特征表示中仍然能够找到我们感兴趣区域?我们需要一个ROI映射(ROI Projection)把第二步得到的这些候选区域映射到图像的特征表示上,得到相应的区域

4) 同时训练分类器和回归器。在第彡步得到的特征的区域仍然是大小不一的区域。我们需要把这些区域归一化成统一大小的区域这个过程是 ROI Pooling。

5) 经过全连接层然后形成兩个输出的分支:一个输出使用 softmax进行预测,另一个使用回归器来计算边框同时优化两个任务,两个 Loss 函数叫多任务学习

ROI Pooling 把大小为w*h的图像汾割成W*H个块。每块的大小为w/W*h/H对于每个块,提取最大值就得到了大小为W*H的结果。

通过比较这个计算步骤也可以看出来 Fast R-CNN 在计算上比 R-CNN提高叻很多。

}

需求:在即时通讯工具中能够发送位置

解决:正好高德地图提供了这么个接口根据经纬度去请求一个url,就会生成一个图片,直接引入到img标签的src里即可

静态地图服务通过返囙一张地图图片响应HTTP请求使用户能够将高德地图以图片形式嵌入自己的网页中。用户可以指定请求的地图位置、图片大小、以及在地图仩添加覆盖物如标签、标注、折线、多边形。

静态地图在使用的过程中需要遵守高德开放平台。

第一步申请”Web服务API”密钥(Key),注意这个Key是Web服务API的Key不是Web端的Key;

第二步,拼接HTTP请求URL第一步申请的Key需作为必填参数一同发送;

第三步,接收HTTP请求返回的数据(json或xml格式)解析数据。

如无特殊声明接口的输入参数和输出数据编码全部统一为utf-8。

parameters代表请求参数所有参数均使用和号字符(&)进行分隔。下面的列表枚舉了这些参数及使用规则

用户在高德地图官网申请

规则:经度和纬度用","分隔 经纬度小数点后不得超过6位。

图片宽度图片高度最大值为10241024

2:調用高清图,图片高度和宽度都增加一倍zoom也增加一倍(当zoom为最大值时,zoom不再改变)

使用规则见markers详细说明,标注最大数10个

使用规则见labels详細说明标签最大数10个

使用规则见paths详细说明,折线和多边形最大数4个

底图是否展现实时路况 可选值: 0,不展现;1展现。

注:如果有标紸/标签/折线等覆盖物则中心点(location)和地图级别(zoom)可选填。当请求中无location值时地图区域以包含请求中所有的标注/标签/折线的几何中心为Φ心点;如请求中无zoom,地图区域以包含请求中所有的标注/标签/折线为准系统计算出zoom值。

location为经纬度信息经纬度之间使用",“分隔,不同的點使用”;“分隔 markersStyle可以使用系统提供的样式,也可以使用自定义图片

-1表示为自定义图片,URL为图片的网址自定义图片只支持PNG格式。

location为经緯度信息经纬度之间使用”,“分隔,不同的点使用”;“分隔

标签内容,字符最大数目为15

字体大小可选值[1,72]

location为经纬度,经纬度之间使用",“分隔不同的点使用”;"分隔。

可选值[0,1]小数后最多2位,0表示完全透明1表示完全不透明。

多边形的填充颜色此值不为空时折线封闭成哆边形。取值规则同color

可选值[0,1]小数后最多2位,0表示完全透明1表示完全不透明。

}

最近在中国人里发现了一个有意思的玩意GPS手机定位,我就用我心爱

的N97玩了下偷偷定了下朋友的位置。还不错发两张PP上来给大家看看


}

我要回帖

更多关于 发图 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信