您好,欢迎访问三七文档
Action-DecisionNetworksforVisualTrackingwithDeepReinforcementLearning1中心思想:通过动作决策网络控制的迭代性动作来实现目标的跟踪。2Contents一、网络初始化二、数据库生成三、网络训练3Contents一、网络初始化二、数据库生成三、网络训练4一、网络初始化•1、SimpleNN和DagNNSimpleNN和DagNN就是MatconvNet中的两个封装器,将一些matlab函数联合在一起构建CNN模型。SimpleNN结构简单,适合具有线性拓扑结构的网络;DagNN则适合更为复杂一些拓扑结构。本文初始采用的VGG-M网络,采用的就是SimpleNN,我们的初始化工作主要就是将其转化为DagNN。56一、网络初始化SimpleNN7fromSimpleNN(simplenn_net)1、将simplenn_net中每一层的输入/输出变量集合在一起,成为vars属性(与layers并列的)。2、将其中卷积层和全连接层的权重和偏置全部集合在一起,成为params属性。8DagNN910至此,网络的三个conv层和4个全连接层全部初始化完毕。(7个权重和7个阈值,皆为随机生成)11Contents一、网络初始化二、数据库生成三、网络训练12二、数据库生成131、视频内容获取:路径、图片、ground-truth。注:vot,ground-truth,8个坐标(x1,y1,x2,y2,x3,y3,x4,y4)(min(x),min(y),max(x)-min(x),max(y)-min(y))二、数据库生成2、样本生成(高斯采样)正样本:对每一帧groundtruth,加上位置(±14)和尺度(0.8-1.2)偏移,高斯采样生成750个样本,计算这750个样本和对应帧的groundtruth的重叠率,将重叠率大于0.5的挑选出来,在这些挑选出来的样本中随机抽样149个作为正样本。负样本:对每一帧groundtruth,加上位置(±284)和尺度(0.8-1.2)偏移,高斯采样生成750个样本,计算这750个样本和对应帧groundtruth的重叠率,将重叠率小于0.5的挑选出来,在这些挑选出来的样本中随机抽样50个作为负样本。143、动作标签(1)什么是动作标签?15label112030405060708090100110运动增量(∆𝑥0,∆𝑦0)序号xywh1−∆𝑥0002-2∆𝑥0003+∆𝑥0004+2∆𝑥00050−∆𝑦0060−2∆𝑦0070+∆𝑦0080+2∆𝑦00900001000-∆𝑥-∆𝑦1100+∆𝑥+∆𝑦(2)动作标签的生成16运动增量(∆𝑥0,∆𝑦0)序号xywh1−∆𝑥0002-2∆𝑥0003+∆𝑥0004+2∆𝑥00050−∆𝑦0060−2∆𝑦0070+∆𝑦0080+2∆𝑦00900001000-∆𝑥-∆𝑦1100+∆𝑥+∆𝑦运动增量+当前样本=新样本序号xywh1𝑥1−∆𝑥𝑦1𝑤1ℎ12𝑥1-2∆𝑥𝑦1𝑤1ℎ13𝑥1+∆𝑥𝑦1𝑤1ℎ14𝑥1+2∆𝑥𝑦1𝑤1ℎ15𝑥1𝑦1−∆𝑦𝑤1ℎ16𝑥1𝑦1−2∆𝑦𝑤1ℎ17𝑥1𝑦1+∆𝑦𝑤1ℎ18𝑥1𝑦1+2∆𝑦𝑤1ℎ19𝑥1𝑦1𝑤1ℎ110𝑥1𝑦1𝑤1-∆𝑥ℎ1-∆𝑦11𝑥1𝑦1𝑤1+∆𝑥ℎ1+∆𝑦序号overlap1𝑟12𝑟23𝑟34𝑟45𝑟56𝑟67𝑟78𝑟89𝑟910𝑟1011𝑟1117𝑟max(2)动作标签的生成label10203040506170809010011018(2)得分标签的生成每一帧,149个正样本,每一个正样本对应一个得分标签250个负样本,每一个负样本对应一个得分标签1Contents一、网络初始化二、数据库生成三、网络训练192021三、网络训练1、预处理(1)设定执行顺序:动作网络:123456789101112131415161719得分网络:123456789101112131415161820(2)设定每个视频选取帧数(5帧),处理批次128。22232、各层功能(1)conv层、pool层参数[kernel_size,stride,pad](2)relu层output=max(input,0)24𝑜𝑢𝑡𝑝𝑢𝑡=𝑖𝑛𝑝𝑢𝑡−kernel+2𝑝𝑎𝑑𝑠𝑡𝑟𝑖𝑑𝑒+1(3)norm层又称为局部相应归一化,即LRN[k,n,,]25𝑏𝑥,𝑦𝑖=𝑎𝑥,𝑦𝑖𝑘+𝛼𝑎𝑥,𝑦𝑗2min(𝑁−1,𝑖+𝑛2𝑗=max(0,𝑖−𝑛2𝛽𝑏𝑥,𝑦𝑖𝑎𝑥,𝑦𝑖i:第i个通道,(x,y):对应通道中的位置N:总的通道数n:选择的相邻通道数𝑎𝑥,𝑦𝑖:特征值𝛼𝛽26(4)drop层[rate=0.5]mask=scale*(rand(size(input))=rate)output=mask.*input例如,设定scale=2,(5)loss层a:均方误差损失函数27反向传播过程中,用到S形函数的导数,前端和后端过于平缓,致使我们在更新W和b时,收敛很慢。a:实际输出y:理想输出C:损失函数28(5)loss层b:(二分类)交叉熵损失函数a:实际输出y:理想输出C:损失函数x:输入样本,共n个c:(softmax)交叉熵损失函数例如,第一个视频196帧,随机取5帧,在对应帧中提取199个样本,并且将该对应帧的149个标签转换一个代表行数的标量,最后,利用每一帧的正负样本进行两部分训练:(1)动作网络训练,将149(128,21)个正样本分两批次进行训练。293、有监督学习训练00000100000𝐽(𝜃𝑗=−1𝑦𝑖=𝑗log𝑒𝜃𝑗𝑇𝑥𝑖𝑒𝜃𝑙𝑇𝑥𝑖𝑘𝑙=1计算损失并存储,反向传播,计算各参数导数,更新动量、权重和阈值,然后处理剩余21个正样本,累加两次损失;30因为我们批次处理样本,所以用以下损失函数公式:31(2)得分网络训练,将199个样本打乱,分两批次处理,同样的前向传播,反向传播,计算各参数导数,更新动量、权重和阈值,不过第18层输出的是2维向量,相对于动作网络11分类,这是2分类,在前边两次损失的基础上再次累加这两批次的损失。32(3)对选定的剩余4帧,进行同样的训练,这5帧的20个损失全部累加在一起,除以128,作为本视频(196)的训练损失。
本文标题:Action-Decision Networks for Visual Tracking with
链接地址:https://www.777doc.com/doc-3435321 .html