山东亿网文交艺术品管理的孟建州告诉您怎样进行代码学习
目标检测(Object Detection)是计算机视觉领域的基本任务之一,学术界已有将近二十年的研究历史。近些年随着深度学习技术的火热发展,目标检测算法也从基于手工特征的传统算法转向了基于深度神经网络的检测技术。从最初2013年提出的R-CNN、OverFeat,到后面的Fast/Faster R-CNN,SSD,YOLO系列,再到2018年最近的Pelee。短短不到五年时间,基于深度学习的目标检测技术,在网络结构上,从two stage到one stage,从bottom-up only到Top-Down,从single scale network到feature pyramid network,从面向PC端到面向手机端,都涌现出许多好的算法技术,这些算法在开放目标检测数据集上的检测效果和性能都很出色。
一、 背景
物体检测的任务是找出图像或视频中的感兴趣物体,同时检测出它们的位置和大小,是机器视觉领域的核心问题之一。
物体检测过程中有很多不确定因素,如图像中物体数量不确定,物体有不同的外观、形状、姿态,加之物体成像时会有光照、遮挡等因素的干扰,导致检测算法有一定的难度。进入深度学习时代以来,物体检测发展主要集中在两个方向:two stage算法如R-CNN系列和one
stage算法如YOLO、SSD等。两者的主要区别在于two stage算法需要先生成proposal(一个有可能包含待检物体的预选框),然后进行细粒度的物体检测。而one stage算法会直接在网络中提取特征来预测物体分类和位置。
二,
在这里我们提醒一下tensorflow常量和变量的区别:常量定义后值和维度不可变,变量定义后值可变而维度不可变。Tensorflow可以使用assign(variable,new_value)来更改变量的值,但是真正作用在garph中,必须要调用gpu或者cpu运行这个更新过程
三、 网络设计
在位置框回归阶段仿照分类的思路,将特征通道数组合为4 x k x k 的形式,其中每个小块的位置都对应了相应的通道对其进行位置回归的特征提取。最后将不同小块位置的四个回归值融合之后即可得到位置回归的响应,进行后续的位置回归工作。
四。
张量可以简单理解为不同维度的数组。其中零阶张量的表示形式是标量(Scaler),也就是普通的一个数;而一阶张量的表示形式是向量(vector),也就是一维数组,二阶张量的表示形式也就是一个二维数组,多阶张量的表示形式就是一个多维数组,详情我们可以看下面这个图
三. 网络训练
3.1 position-sensitive score map高响应值区域`
在训练的过程中,当RoIs包涵物体属于某类别时,损失函数即会使得该RoIs不同区域块所对应的响应通道相应位置的特征响应尽可能的大,下图展示了这一过程,可以明显的看出不同位置的特征图都只对目标相应位置的区域有明显的响应,其特征提取能力是对位置敏感的。
<?php
header("Content-Type: text/json;charset=utf-8");
$url=$_GET["url"];
$UserAgent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; .NET CLR 3.5.21022; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_ENCODING, '');
curl_setopt($curl, CURLOPT_USERAGENT, $UserAgent);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
$data = curl_exec($curl);
curl_close($curl);
preg_match('/<p class="desc">(?<desc>[^<>]*)<\/p>/i', $data, $name);
preg_match('/playAddr: "(?<url>[^"]+)"/i', $data, $url);
if (empty($url['url'])) {
echo '没有地址参数';
}else{
$array = ['name' => $name['desc'],'url' => $url['url'],];
$json = json_encode($array,JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);
echo $json;
}
?>
山东亿网文交艺术品管理的孟建州告诉您怎样进行代码学习,在学习的过程中不可冒进,一步一个脚印,脚踏实地。
上一篇: ArrayList扩容机制分析
下一篇: 《统计学习理论的本质》 笔记录【1】