买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:合肥君正科技有限公司
摘要:本发明提供一种量化ROIAlign算子的方法,所述方法包括以下步骤:S1,输入Featuremap并量化数据,得到低比特的数据;S2,根据输入的ROI计算坐标和权重并量化权重,获取最终输出featuremap的位置索引和相应的权重值,在量化后的数据上进行RoiAlign操作,其中,在计算权重时,由于ROI的坐标是浮点的,相应的权重也为浮点数所以在计算权重时会对权重进行定点化;S3,根据以上步骤获得索引和权重计算出最终的结果并对每个单元多AvgPooling操作获得poolHeight×poolWidth×Channel的输出。本方法中ROIAlign直接对低比特数据进行处理,而不需要转化成全精度在进行处理。
主权项:1.一种量化ROIAlign算子的方法,其特征在于,所述方法包括以下步骤:S1,输入Featuremap并量化数据,得到低比特的数据;S2,根据输入的ROI计算坐标和权重并量化权重,获取最终输出featuremap的位置索引和相应的权重值,在量化后的数据上进行RoiAlign操作,其中,在计算权重时,由于ROI的坐标是浮点的,相应的权重也为浮点数所以在计算权重时会对权重进行定点化;所述计算坐标和权重并量化权重进一步包括:S2.1,设立结构体point,包含xMin,yMin,rWidth,rHeight四个成员,其中xMin为参数x最小值,yMin为参数y最小值,rWidth为参数r宽度,rHeight为参数r高度;此处的结构体Point表示目标检测的目标框,xMin,yMin,rWidth,rHeight分别表示目标框在特征图上的左上角坐标和长宽;S2.2,对poolHeight,poolWidth,binSize,downSample,fixedWidth,width,height取整;其中,PoolHeight表示将Roi固定后特征图的长度;PoolWidth表示将Roi固定后特征图的宽度;binSize表示每个区域的采样点数;downSample表示该层feature是从原图中采样N倍得到的,N为正整数;fixedWidth表示坐标小数部分量化的位宽;S2.3,结构列表:roi将getNumroi赋值给roiNum;将1左移fixedWidth再赋值给fixedScale;S2.4,从0到roiNum依次赋值给tag做以下操作:将roitag赋值给xMin,xMax,yMin,yMax;将rHeightpoolHeight赋值给roiBinH;将rWidthpoolWidth赋值给roiBinW;其中,从0到poolHeight依次赋值给ph做以下操作:其中,用于从0到poolWidth依次赋值给pw做以下操作:其中,用于从0到binSize依次赋值给bh做以下操作:将yMin+ph*binSize+bh+0.5*binSizeroiBinH赋值给y;其中,用于从0到binSize依次赋值给bw做以下操作:将xMin+pw*binSize+bw+0.5*binSizeroiBinW赋值给x;将intx赋值给xLow,将inty赋值给yLow;将xLow+1赋值给xHigh,将yLow+1赋值给yHigh;将y-yLow*fixedScale赋值给ly,将x-xLow*fixedScale赋值给lx;将fixedScale-ly赋值给hy,将fixedScale-lx赋值给hx;将hy*hx赋值给w1,将hy*lx赋值给w2,将ly*hx赋值给w3,将ly*lx赋值给w4;将yLow*width+xLow赋值给pos1,将yLow*width+xHigh赋值给pos2;将yHigh*width+xLow赋值给pos3,将yHigh*width+xHigh赋值给pos4;将tag+ph*poolHeight+pw*channel赋值给index;计算calRoiAlignindex,pos1,pos2,pos3,pos4,w1,w2,w3,w4;S3,根据以上步骤获得索引和权重计算出最终的结果并对每个单元多AvgPooling操作获得poolHeight×poolWidth×Channel的输出;所述的步骤S3中根据位置索引和权重计算最终输出进一步包括:S3.1,featureMap:featureMap是个多维数据,维度为{height,width,channel}S3.2,outfeatureMap:outfeatureMap,维度为{roiNum,poolHeight,poolWidthchannel};S3.3,fixedWidth取整;S3.4,计算functioncalRoiAlignindex,pos1,pos2,pos3,pos4,w1,w2,w3,w4,此函数实现为双线性插值的过程,pos1,pos2,pos3,pos4,为待求像素点的四周像素点的位置w1,w2,w3,w4为计算时四周像素点的权重;S3.5,将featureMap[pos1*channel]赋值给dataPos1;将featureMap[pos2*channel]赋值给dataPos2;将featureMap[pos3*channel]赋值给dataPos3;将featureMap[pos4*channel]赋值给dataPos4;S3.6,从0到channel依次赋值给tag做以下操作:将赋值给tmpValue;dataPos1++,dataPos2++,dataPos3++,dataPos4++;rightShift←fixedWidth+fixedWidth+binSize*binSize2,将fixedWidth+fixedWidth+binSize*binSize2赋值给rightShift;将tmpValue右移rightShift再赋值给outfeatureMap[index+tag]。
全文数据:
权利要求:
百度查询: 合肥君正科技有限公司 一种量化RoiAlign算子的方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。