CN112242002A - 基于深度学习的物体识别和全景漫游方法 - Google Patents
基于深度学习的物体识别和全景漫游方法 Download PDFInfo
- Publication number
- CN112242002A CN112242002A CN202011075418.0A CN202011075418A CN112242002A CN 112242002 A CN112242002 A CN 112242002A CN 202011075418 A CN202011075418 A CN 202011075418A CN 112242002 A CN112242002 A CN 112242002A
- Authority
- CN
- China
- Prior art keywords
- bounding box
- model
- box
- panoramic
- anchor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000013135 deep learning Methods 0.000 title claims abstract description 8
- 230000006870 function Effects 0.000 claims abstract description 21
- 238000001514 detection method Methods 0.000 claims abstract description 13
- 238000005070 sampling Methods 0.000 claims description 13
- 238000004422 calculation algorithm Methods 0.000 claims description 11
- 238000012549 training Methods 0.000 claims description 8
- 239000000463 material Substances 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 7
- 238000009877 rendering Methods 0.000 claims description 7
- 230000004913 activation Effects 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 6
- 230000001629 suppression Effects 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 4
- 238000007477 logistic regression Methods 0.000 claims description 4
- 238000005259 measurement Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000005286 illumination Methods 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- GIYXAJPCNFJEHY-UHFFFAOYSA-N N-methyl-3-phenyl-3-[4-(trifluoromethyl)phenoxy]-1-propanamine hydrochloride (1:1) Chemical compound Cl.C=1C=CC=CC=1C(CCNC)OC1=CC=C(C(F)(F)F)C=C1 GIYXAJPCNFJEHY-UHFFFAOYSA-N 0.000 claims description 2
- 125000004122 cyclic group Chemical group 0.000 claims description 2
- 230000002452 interceptive effect Effects 0.000 claims description 2
- 230000007246 mechanism Effects 0.000 claims description 2
- 238000002360 preparation method Methods 0.000 claims description 2
- 238000012216 screening Methods 0.000 claims description 2
- 230000009466 transformation Effects 0.000 claims description 2
- 230000000007 visual effect Effects 0.000 claims 2
- 238000009795 derivation Methods 0.000 claims 1
- 238000010276 construction Methods 0.000 abstract description 10
- 238000005516 engineering process Methods 0.000 abstract description 9
- 238000013461 design Methods 0.000 abstract description 4
- 238000000926 separation method Methods 0.000 abstract description 2
- 230000000694 effects Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000008846 dynamic interplay Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000010473 stable expression Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/587—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/08—Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/32—Indexing scheme for image data processing or generation, in general involving image mosaicing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20092—Interactive image processing based on input by user
- G06T2207/20104—Interactive definition of region of interest [ROI]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Library & Information Science (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Graphics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Geometry (AREA)
- Remote Sensing (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
一种基于深度学习的物体识别和全景漫游方法,涉及计算机视觉技术和全景漫游领域。本发明考虑解决现有技术中所存在技术方面的问题,尤其是信息采集与全景漫游构建的相互分离问题。采用高效的物体检测模型,同时结合可用于多平台部署插件来构建具有丰富物体信息的全景漫游模型。采用端到端的设计方案,只要输入所拍摄的全景图,就可以直接得到最终模型,省去了采集、标定信息的繁琐步骤。由于目前智能手机自带全景拍摄功能,本发明可以让大众参与全景漫游模型的构建。结合地图和定位,人们可以分享自己所构建的全景模型,打造一个共享的三维地图模型。
Description
技术领域
本发明涉及计算机视觉技术和全景漫游领域。
背景技术
随着近几年深度学习算法的高速发展,计算机视觉得到了非常快速的发展。物体识别是计算机视觉领域中的一项基础研究,它的任务是识别出图像中有什么物体,并报告出这个物体在图像表示的场景中的位置和方向。现如今工业上的人机交互应用,如AR、机器人等,首要的问题是正确地认识所处的环境,而物体识别就是这些应用理解环境的核心关键。
传统的物体识别方法通常是通过提取图像中的一些鲁棒性特征,例如Haar、SIFT、HOG等,使用DPM模型,用滑动窗口的方式来预测具有较高置信度的边界框,最后送入如SVM等类型的分类器中进行分类。这种方法的缺点是它采用单一的模板去定义物体,如果只专注于人脸检测的话,效果是不错的,但是对于多元的物体检测,尤其是背景较为复杂的情况下,精度急剧下降。
深度学习算法让使得物体识别的技术得到了高速发展。传统的方法需要人为地根据场景和目标去设计合适的图像特征。例如对物体的外观进行建模,就需要基于梯度特征来描述轮廓,同时还需要对梯度信息进行筛选、量化,得到相对稳定的表达。而所有的这些工作,都需要有专门的领域知识去设计和调优。然而特征学习正是深度学习所擅长的部分,它把相关场景和目标的特征学习,转变为网络结构的定义和参数的学习,从而免去领域专家去设计特征这一环节。这样就极大简化了为目标设计合适特征的过程,只需要把原始图片和标注提供给网络,定义好网络结构,就可以自动学习出多层次的特征表达和分类器。
目前物体检测分为两个类别,一类是两阶段检测器,将物体识别和物体定位分为两个步骤,分别完成,这一类的典型代表是R-CNN,Fast R-CNN,Faster-RCNN系列。其识别错误率低,漏识别率也较低,但速度较慢,不能满足实时检测场景。另一类为单阶段检测器,典型代表是YOLO系列,SSD等。他们识别速度很快,可以达到实时性要求,虽然早期的单阶段检测器准确度不够,尤其对于小目标的识别效果差,但是随着算法的进步,其准确率也接近了两阶段检测器的水平。而且由于单阶段检测器的耗费的资源低,在一些不那么追求高精度的应用场景下,使用单阶段检测器可以节省许多经费。
同时全景技术在近几年高速发展,尤其全景漫游由于其高度可视化的优点,在各行各业都能看到全景的应用,尤其是在名胜古迹的展示上面,让人足不出户就能感受到身临其境的氛围。像基于Web的三维图形全景漫游技术由于其方便性和可交互性,迅速得到人们的认可。但是早期的三维图形技术,比如Flash等技术有着许多缺点,例如占用资源多、性能低且无法跨平台等问题。随着互联网三维技术的快速发展,诞生了WebGL这一技术。WebGL不依赖任何浏览器插件,它使用JavaScript脚本来绘制图像,利用底层硬件进行加速,并且拥有可以进行全平台部署的接口。因此解决了传统技术存在的占用资源多、性能低且无法跨平台等问题。WebGL有丰富的第三方开源框架,例如three.js、CubicVR等,这些框架对底层的结构进行了很好的封装,通过简单地调用接口就能快速实现三维场景渲染。
“一种多场景漫游生成方法及装置”(专利申请号:201610520963.3)采用Krpano全景展示插件,结合线上3D加装平台来生成全景展示图,使用预设的平台生成家装全景图中的房间数据来精确定位不同场景中进行连接的热点。这个方法结合了平台数据来进行多全景漫游,虽然较手工标定数据有一定优势,但是仍然存在许多不足。比如所用数据取决于平台数据库,一旦在数据库外就得人为标定,延展性明显不足。
“一种基于全景影像的界桩信息管理方法”(专利申请号:201710372837.2)采用PTGui软件以及Krpano全景插件来构建全景图,采用photoshop软件将界桩信息处理为透明然后添加到全景图中,可在界桩全景图中表达界桩的属性信息。这个方法将Krpano插件中的动态热点系统与ps软件得到界桩信息相结合,可以动态展示界桩周围的地物信息,具有一定的应用性。但是其采用的全景构建方式需要PTGui软件来合成平面全景图,这对于非拍摄专业人士来说实用性很差。再者使用Photoshop来标定信息,这种人工的方式效率很低。
再如“一种企业三维数字地图管理系统”(专利申请号:201020554517.2)是将人工收集的地理位置相关的信息放入数据库,与地图相结合,构建三维地图,通过集合数据库中的各种信息,构造出多用途的三维数字地图。这个方法采集各种信息构建全景漫游图,且与地图相结合,可视化程度较高。但是该方案是将信息采集与全景漫游构建相分离,需要耗费大量人力物力来采集数据并标定在全景图上,显然这种方式是的效率较低。
发明内容
发明目的
本发明考虑解决现有技术中所存在技术方面的问题,尤其是信息采集与全景漫游构建的相互分离问题。采用高效的物体检测模型,同时结合可用于多平台部署插件来构建具有丰富物体信息的全景漫游模型。采用端到端的设计方案,只要输入所拍摄的全景图,就可以直接得到最终模型,省去了采集、标定信息的繁琐步骤。由于目前智能手机自带全景拍摄功能,本发明可以让大众参与全景漫游模型的构建。结合地图和定位,人们可以分享自己所构建的全景模型,打造一个共享的三维地图模型。
技术方案
一种基于深度学习的物体识别和全景漫游方法,其特征是,包括如下步骤:
步骤1、应用场景数据采集
采集数据集的过程可以通过人工来采集也直接使用开源的数据集。
步骤2、构建物体识别特征提取网络(图3所示)
利用步骤1中所采集的数据集或者所用开源的数据集来训练物体识别网络。
首先对所采集的数据集都缩放到416*416的大小,然后进行人工的标注,标记图片中所含物体的四个边界框的坐标信息和所属类别,同时记录数据集的总类别数为classes。
然后把数据集输入到DarkNet-53模型中,为了能在各个尺度都有着良好的性能,这里对DarkNet-53进行改造:将网络末尾的全连接层去掉,同时建立三个尺度的输出(如图2所示),最大的尺度是原始图像的32倍下采样,中等尺度是原始图像的16倍下采样,小尺度是原始图像的8倍下采样。三个尺度是不独立的,为了融合高低层网络的特征,将大尺度特征上采样后与中尺度进行张量拼接(concat),接着对中尺度特征进行上采样后与小尺度特征进行张量拼接。将三个尺度的输出最后送入检测层进行识别。
步骤3、构建最终检测层
首先对边界框进行预测。这里使用的边界框预测算法借鉴了Faster R-CNN中锚框机制。锚框的思想就是反向思维,从顶层先假定每个网格负责的锚框是由原图中某些区域变换而来的,通过增加每个网格的锚框数量就可以解决传统算法中多个物体导致识别出错的问题。Faster R-CNN中的锚框的大小与比例是人为选定的,本发明所采用的锚框的大小和比例是根据数据集的边界框数据进行维度聚类得到的。将这些统计上的先验数据加入到模型中,可以让模型在学习的时候,加快模型的收敛速度。所以要先对步骤2中标定过的数据集进行K-mean聚类来得到最接近真实边界框的锚框。K-means聚类方法通常使用的是欧氏距离函数,会出现最终的聚类结果偏离实际的情况。对于边界框,要关注的是其与真实边界框之间的IOU,为了得到更好的聚类结果,本发明采用如式(2.1)所示的距离度量,其中box为锚框,centroid为真实边界框,d为锚框和真实边界框的距离度量,IOU为交并比。
d(box,centroid)=1-IOU(box,centroid) (2.1)
通常的边框回归算法是让边框回归算法直接预测实际边界框的宽和高,而本发明将要预测的宽和高分别与锚框的宽和高绑定,这样的话无论一开始边框回归算法所输出的宽和高是怎样的,只要经过转化后就会与锚框的宽和高相关。使用这种方法经过多次训练后,每个边界框就学习到了如何选择合适形状的边界框。上述所提到的绑定关系就是指:
其中aw和ah分别为锚框的宽和高,tw和th为边框回归直接预测出来的宽与高,bw和bh为经过公式转换后所预测的宽和高。
最后输出边界框的中心位置(bx,by),如公式(2.4)和(2.5)所示:
bx=σ(tx)+cx (2.4)
by=σ(ty)+cy (2.5)
其中cx和cy是网格左上角点相对整张图片的坐标,σ(t)是sigmoid激活函数。边框回归预测的tx和ty是相对网格而言的,是相对坐标,为了得到绝对坐标,使用式(2.4)和(2.5)来转化。sigmoid激活函数是为了把tx和ty映射到(0,1)区间,让模型更快地收敛。
到这为止,得到了边框回归所输出的四个值bx,by,bw,bh。在训练中并不直接是用这四个值直接与真实边界框的对应参数求误差。而是将真实边界框的四个参数用公式(2.2),(2.3),(2.4),(2.5)的逆运算转化为与tx,ty,tw,th相对应的gx,gy,gw,gh,然后再进行误差计算。由于sigmoid激活函数在数学上并不存在反函数,无法直接对tx和ty进行逆运算,所以最后计算其经过sigmoid激活函数后的值。详细步骤如公式(2.6)到(2.9)所示:
其中σ(t)是sigmoid函数,aw和ah分别为锚框的宽和高,cx和cy分别为网格左上角点相对整张图片的坐标,gx,gy,gw,gh为tx,ty,tw,th为逆运算所得到的结果。
边框回归算法会得到一堆候选框,应进行非极大值抑制选择与真实边界框之间有着最大IOU的边框。为了解决实际应用过程中网络进行预测时并不存在真实边界框的问题,本发明使用置信度来表征。置信度一方面可以用来表征当前边界框是否存在对象的概率Pr(Object);而另一个方面可以表征在边界框存在对象的情况下,最终所预测的边界框与真实边界框之间的在这里提到的真实边界框并不是客观存在的,这里表征的是模型对于边界框框出了物体的一种自信程度。这样可以得到公式(2.10),其中表示第i个网格的第j个预测边界框的总体置信度。所以本发明在识别过程中采用来筛选具有最高置信度的边界框,解决了识别过程中无法计算IOU的问题。
边界框定位后进行分类。类别的数量取决于训练数据集的类别数量,每个边界框都要计算所有类别的条件类别概率。传统的分类模型最后使用softmax分类器,使用softmax分类器来进行分类时,各个类别之间是互斥的,无法解决多标签的问题,也就是说无法对数据进行很好的拟合。而本发明最后的分类器采用的是逻辑回归(logisticregression)方法,而不是用softmax分类器。
有了边框信息和类别概率后进行反向传播,本发明采用和方差(sum-squarederror,SSE)来作为损失函数进行反向传播。损失函数如公式(2.11)所示,其中s2为特征图中网格的数量,B为每个网格负责预测的锚框数量,σ(t)是sigmoid函数,aw和ah分别为锚框的宽和高,tx,ty,tw,th为公式(2.6),(2.7),(2.8),(2.9)进行运算所得到的结果,表示第i个网格的第j个预测边界框的置信度水平,不等同于公式(2.10)中同名参数,表示第i个网格的第j个预测边界框c类别的条件概率值,和Gij为控制参数。
在公式(2.11)中可以看到每个锚框都有一对置信度和条件类别概率。是由某个网格的锚框是否负责预测某个对象决定的;如果负责预测某个对象,那么等于1,反之等于0;当某个边界框不负责预测真实边界框,但是又与真实边界框之间的交并比数值大于预先设定的阈值时,为了不让此边界框影响最终的损失值,需设置控制参数Gij等于0,反之设置Gij等于1;若某个网格的某个锚框没有负责预测某个对象,为了让这种锚框不影响最终的损失值,引进参数当某个锚框负责预测某个真实边界框时,等于1,否则等于0。然后将数据集通过整个网络进行更新权重参数,得到收敛后的物体识别模型。
然后将数据集通过整个网络进行更新权重参数,得到收敛后的物体识别模型。
步骤4、构建全景模型
在步骤3得到物体识别模型后,让平面全景图通过物体识别模型就得到了带有物体信息的全景图,然后需要构建全景漫游模型。首先创建一个html文件,添加three.js库依赖,先建立一个场景,然后在场景下放置透视摄像机(PerspectiveCamera),用来观测场景中的各种物体以及光源。然后构建一个渲染器将内容渲染到页面上,紧接着设立一个视角控制器来控制视角的移动。准备工作完成后开始导入通过物体识别程序后的平面全景图,使用此全景图来创建纹理,创建一个球体用来映射,忽略场景中的光照,创建一个MeshBasicMaterial材质,生成网格,并且用MeshBasicMaterial材质来渲染mesh内表面,并且显示在场景中,最后进行循环渲染,设置窗口监听来设置交互系统。这样就可以得到全景漫游模型,使用浏览器进行解析就能观测到模型。
作为应用,进一步使用Tomcat来部署本地服务器供远端浏览器访问。在本地的全景漫游模型是HTML文件,所以本发明在本地搭建servlet服务程序,重写doPost方法,然后打开Tomcat服务器,供远端设备使用浏览器进行动态访问,实现了动态交互的功能。
步骤1中根据不同应用场景,如果是用于建筑业,那么数据集可以专注家具,门窗等;如果是用于三维地图构建,那么数据集可以专注于各种公共物品,交通标识以及各种商家的logo。数据集采集具有很强的弹性,要注重多类型就多采集数据;要专注某些物品,就只需采集相关的数据集就行。
附图说明
图1为本发明总体算法流程图
图2为本发明网络的三种尺度输出
图3为本发明物体识别模型架构(包含步骤2中详细的特征提取网络和步骤3的最终检测层)
图4为本发明预参数模型
具体实施方式
以下结合具体实例和附图对本发明技术方案进一步说明。
步骤1、应用场景数据采集
使用开源的COCO数据集,共有80个类别,也就是classes等于80,覆盖了动物,公共设备,电子设备,家具等各个类别,具有普适性。数据集的图像大小为416*416的RGB图像,无需进行缩放处理。数据集的所有类别信息存放到coco.name文件中,便于步骤2读取使用。
步骤2、构建物体识别特征提取网络(如图3)
如图4所示,网络的总体配置文件存放在yolov3.cfg中,所以首先读取网络的配置文件yolov3.cfg,重新来构建总体的网络结构。载入网络权重yolov3.weights。同时读取coco.name,把所有类别的类名放在一个列表里面。接着设置网络的输入,输入的大小会决定最终的识别精度和速度,本例将输入图片的高度和宽度都设置为416。到目前为止,初始化一些参数的任务就做完了,下面开始进行物体识别的构建。
首先使用OpenCV读取视频流,图片视作是单帧的视频,而摄像头获取的则是源源不断的视频流。一帧一帧地对视频流进行处理,对于每一帧图像的长宽大小与比例进行缩放和裁剪处理使之与预设的网络输入相同。对图像中较长的一边缩放为416,对于较小的一边缩放后长度小于416,采用RGB元组为(128,128,128)的像素点来进行填充,得到网络的标准输入416*416。OpenCV读取图片的色域格式为BGR,将图片的最后一个维度,也就是通道(channel),让通道这维的矩阵从右到左重构矩阵,实现从BGR转化为RGB,满足了Pytorch所需的RGB格式。同时将图片的维度从(H,W,C),也就是(高,宽,通道数)变换为(C,H,W),也就是(通道数,高,宽),然后添加一个批次数量(batch)维度,这样就满足了Pytorch需要的输入形式(B,C,H,W),也就是(批次数量,通道数,高,宽)。最后将图片数值归一化,转化为Pytorch所用的张量格式,整个网络的输入就构建完毕。下一步需要构建网络的输出检测层。
步骤3、构建最终检测层
将步骤2所得的输入送入主体网络进行前向传播,到了检测层的时候,要在特征图上进行预测。对于大尺度其下采样为32倍,所以输出特征图设置为13*13;对于中尺度其下采样为16倍,所以输出特征图设置为26*26;同时对于小尺度,其下采样倍数为8,则将输出设置为52*52.三个尺度输出不一样,引入一个输出变换函数,来重构三个尺度的输出,将三个尺度的输出结合在一起计算。特征图维度为(批次数量,单个网格的锚框数量*边界框属性的数量,特征图单边网格数量,特征图单边网格数量)。需要将原来的维度变换成(批次数量,锚框总数量,边界框属性的数量)这种形式。有三个尺度所以要转换三次,然后把输出的锚框总数量拼接在一起,得到最终输出。
在得到每个边界框的输出之后,进行非极大值抑制。首先将网络的输出中的边界框的坐标属性转换为在原始输入图像中的坐标属性,使用上一段所得到的匹配特征图的锚框进行逆向操作来得到相对于原图的锚框,然后再进行非极大值抑制。在极大值抑制中只需要关注得分最高的那个类别,将边界框中得分低于阈值的边界框去除掉,提取置信度最高的那个类的得分,以及此类别相对应的序号。然后利用OpenCV把具有最大置信度的边界框描绘出来,并且根据具有最大类别概率得分相对应的序号来得到相应的类别。
步骤4、构建全景模型
首先添加three.js依赖库,添加依赖后先建立一个场景,然后在场景内放一个相机,起到类似人眼的作用,用来观测场景中的各种物体以及光源。本发明使用放置透视摄像机(PerspectiveCamera),实现了近大远小的3D效果,然后构建一个渲染器将内容渲染到页面上,接着设立一个视角控制器,来操控视角的移动,接着导入平面全景图,来创建纹理,紧接着创建一个球体用来映射,忽略场景中的光照,创建一个MeshBasicMaterial材质,生成网格,并且用MeshBasicMaterial材质来渲染mesh内表面,并且显示在场景中,然后进行循环渲染,最后设置窗口监听,用于交互。
这样就建立好了一个完整的全景图展示器。
步骤5、使用Tomcat来部署本地服务器。
首先需要下载好Tomcat,使用IDE打开步骤1~4所构建的全景漫游模型,配置Tomcat环境,创建服务器主程序,继承HTTPServlet,重写一系列抽象方法,打开Tomcat,可让远端浏览器通过本地IP来访问到全景漫游模型。
技术效果
本发明的全景漫游模型是基于YOLO v3和three.js构建的。在COCO数据集的实例下,物体识别效果良好,在复杂背景下依旧有很好的性能。全景漫游模型生成时间不到一秒,且占用内存低。而且整个模型基于浏览器,可轻易移植到其他平台,在后续还可以与地图进行结合,构造三维语义地图。
Claims (2)
1.一种基于深度学习的物体识别和全景漫游方法,其特征是,包括步骤
步骤1、应用场景数据可通过人工采集或者使用开源的数据集;
步骤2、构建物体识别特征提取网络,利用步骤1中所采集的数据集或者所用开源的数据集来训练物体识别网络;
首先对所采集的数据集都缩放到416*416的大小,然后进行人工的标注,标记图片中所含物体的四个边界框的坐标信息和所属类别,同时记录数据集的总类别数为classes;然后把数据集输入到DarkNet-53模型中;对DarkNet-53进行改造:将网络末尾的全连接层去掉,同时建立三个尺度的输出,最大的尺度是原始图像的32倍下采样,中等尺度是原始图像的16倍下采样,小尺度是原始图像的8倍下采样;三个尺度是不独立的,为了融合高低层网络的特征,将大尺度特征上采样后与中尺度进行张量拼接(concat),接着对中尺度特征进行上采样后与小尺度特征进行张量拼接;将三个尺度的输出最后送入检测层进行识别;
步骤3、构建最终检测层:
步骤3.1,要先对边界框进行预测;
边界框预测算法借鉴了Faster R-CNN中锚框机制;锚框的大小与比例是人为选定的,采用的锚框的大小和比例是根据数据集的边界框数据进行维度聚类得到的;
对步骤2中标定过的数据集进行K-mean聚类来得到最接近真实边界框的锚框;对于边界框,采用如式(2.1)所示的距离度量,其中box为锚框,centroid为真实边界框,d为锚框和真实边界框的距离度量,IOU为交并比;
d(box,centroid)=1-IOU(box,centroid) (2.1)
将要预测的宽和高分别与锚框的宽和高绑定,经过多次训练后,每个边界框就学习到了如何选择合适形状的边界框;上述所提到的绑定关系为:
其中aw和ah分别为锚框的宽和高,tw和th为边框回归直接预测出来的宽与高,bw和bh为经过公式转换后所预测的宽和高,也就是网络最后输出的宽和高;从公式(2.2)和(2.3)中可以看到,损失函数经过求导后还保留有tw以及th这两个参数;
接下来就是最后输出的边界框的中心位置(bx,by)的计算公式,如公式(2.4)和(2.5)所示:
bx=σ(tx)+cx (2.4)
by=σ(ty)+cy (2.5)
其中cx和cy是网格左上角点相对整张图片的坐标,σ(t)是sigmoid激活函数;边框回归预测的tx和ty是相对网格而言的,是相对坐标,为了得到绝对坐标,使用式(2.4)和(2.5)来转化;sigmoid激活函数是为了把tx和ty映射到(0,1)区间,让模型更快收敛;得到了边框回归所输出的四个值bx,by,bw,bh;
在训练中,将真实边界框的四个参数用公式(2.2),(2.3),(2.4),(2.5)的逆运算转化为与tx,ty,tw,th相对应的gx,gy,gw,gh,然后进行误差计算,最后计算经过sigmoid激活函数后的值;详细步骤如公式(2.6)到(2.9)所示:
其中σ(t)是sigmoid函数,aw和ah分别为锚框的宽和高,cx和cy分别为网格左上角点相对整张图片的坐标,gx,gy,gw,gh为tx,ty,tw,th为逆运算所得到的结果;
步骤3.2,边界框定位后进行分类;
类别的数量取决于训练数据集的类别数量,每个边界框都要计算所有类别的条件类别概率;分类器采用的是逻辑回归(logistic regression)方法;
有了边框信息和类别概率后需要进行反向传播,采用和方差(sum-squared error,SSE)作为损失函数进行反向传播;损失函数如公式(2.10)所示,其中s2为特征图中网格的数量,B为每个网格负责预测的锚框数量,σ(t)是sigmoid函数,aw和ah分别为锚框的宽和高,tx,ty,tw,th为公式(2.6),(2.7),(2.8),(2.9)进行运算所得到的结果,表示第i个网格的第j个预测边界框的置信度水平,不等同于公式(2.10)中同名参数,表示第i个网格的第j个预测边界框c类别的条件概率值,和Gij为控制参数;
在公式(2.10)中看到每个锚框都有一对置信度和条件类别概率;是由某个网格的锚框是否负责预测某个对象决定的;如果负责预测某个对象,那么等于1,反之等于0;当某个边界框不负责预测真实边界框,但是又与真实边界框之间的交并比数值大于预先设定的阈值时,为了不让此边界框影响最终的损失值,需设置控制参数Gij等于0,反之设置Gij等于1;若某个网格的某个锚框没有负责预测某个对象,为了让这种锚框不影响最终的损失值,引进参数当某个锚框负责预测某个真实边界框时,等于1,否则等于0;然后将数据集通过整个网络进行更新权重参数,得到收敛后的物体识别模型;
然后将数据集通过整个网络进行更新权重参数,得到收敛后的物体识别模型;
步骤4、构建全景模型:
首先创建一个html文件,添加three.js库依赖,建立一个场景,
然后在场景下放置透视摄像机(PerspectiveCamera),用来观测场景中的各种物体以及光源;
然后构建一个渲染器将内容渲染到页面上;
接着设立一个视角控制器来控制视角的移动;
上述准备工作完成后,导入经物体识别程序后的平面全景图,使用此全景图来创建纹理,创建一个球体用来映射,忽略场景中的光照,创建一个MeshBasicMaterial材质,生成网格,用MeshBasicMaterial材质来渲染mesh内表面,并显示在场景中,最后进行循环渲染,设置窗口监听来设置交互系统;这样得到全景漫游模型,使用浏览器进行解析就能观测到模型。
2.如权利要求1所述的方法,其特征是,步骤3中,边框回归算法会得到一堆候选框,需要进行非极大值抑制选择与真实边界框之间有着最大IOU的边框;与训练过程不同的是,在使用网络进行预测时,真实边界框是不存在的,也就无法使用IOU,此时需使用置信度来替代IOU进行筛选;
置信度一方面用来表征当前边界框是否存在对象的概率Pr(Object);而另一个方面表征在边界框存在对象的情况下,最终所预测的边界框与真实边界框之间的这里表征的是模型对于边界框框出了物体的一种自信程度;这样得到公式(2.11),其中表示第i个网格的第j个预测边界框的总体置信度;在识别过程中采用来筛选具有最高置信度的边界框,这样就解决了识别过程中无法计算IOU的问题;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011075418.0A CN112242002B (zh) | 2020-10-09 | 2020-10-09 | 基于深度学习的物体识别和全景漫游方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011075418.0A CN112242002B (zh) | 2020-10-09 | 2020-10-09 | 基于深度学习的物体识别和全景漫游方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112242002A true CN112242002A (zh) | 2021-01-19 |
CN112242002B CN112242002B (zh) | 2022-07-08 |
Family
ID=74168470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011075418.0A Active CN112242002B (zh) | 2020-10-09 | 2020-10-09 | 基于深度学习的物体识别和全景漫游方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112242002B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113483771A (zh) * | 2021-06-30 | 2021-10-08 | 北京百度网讯科技有限公司 | 实景地图的生成方法、装置及系统 |
CN114895796A (zh) * | 2022-07-15 | 2022-08-12 | 杭州易绘科技有限公司 | 一种基于全景图的空间交互方法、装置及应用 |
CN116452718A (zh) * | 2023-06-15 | 2023-07-18 | 山东捷瑞数字科技股份有限公司 | 场景漫游的路径规划方法、系统、装置、存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008020461A1 (en) * | 2006-08-17 | 2008-02-21 | Netnoe' S.R.L. | Method for acquiring, processing and presenting images and multimedia navigating system for performing such method |
US20100333037A1 (en) * | 2009-06-29 | 2010-12-30 | International Business Machines Corporation | Dioramic user interface having a user customized experience |
CN105144687A (zh) * | 2013-04-30 | 2015-12-09 | 索尼公司 | 图像处理装置、图像处理方法及程序 |
CN105898337A (zh) * | 2015-11-18 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 全景视频的显示方法和装置 |
CN109357679A (zh) * | 2018-11-16 | 2019-02-19 | 济南浪潮高新科技投资发展有限公司 | 一种基于显著性特征识别的室内定位方法 |
CN110232406A (zh) * | 2019-05-28 | 2019-09-13 | 厦门大学 | 一种基于统计学习的液晶面板cf图片识别方法 |
CN110751206A (zh) * | 2019-10-17 | 2020-02-04 | 北京中盾安全技术开发公司 | 一种多目标智能成像与识别装置及方法 |
US10616483B1 (en) * | 2019-02-27 | 2020-04-07 | Hong Kong Applied Science and Technology Research Institute Company Limited | Apparatus and method of generating electronic three-dimensional walkthrough environment |
CN111399655A (zh) * | 2020-03-27 | 2020-07-10 | 吴京 | 一种基于vr同步的图像处理方法及装置 |
CN111709310A (zh) * | 2020-05-26 | 2020-09-25 | 重庆大学 | 一种基于深度学习的手势跟踪与识别方法 |
-
2020
- 2020-10-09 CN CN202011075418.0A patent/CN112242002B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008020461A1 (en) * | 2006-08-17 | 2008-02-21 | Netnoe' S.R.L. | Method for acquiring, processing and presenting images and multimedia navigating system for performing such method |
US20100333037A1 (en) * | 2009-06-29 | 2010-12-30 | International Business Machines Corporation | Dioramic user interface having a user customized experience |
CN105144687A (zh) * | 2013-04-30 | 2015-12-09 | 索尼公司 | 图像处理装置、图像处理方法及程序 |
CN105898337A (zh) * | 2015-11-18 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 全景视频的显示方法和装置 |
CN109357679A (zh) * | 2018-11-16 | 2019-02-19 | 济南浪潮高新科技投资发展有限公司 | 一种基于显著性特征识别的室内定位方法 |
US10616483B1 (en) * | 2019-02-27 | 2020-04-07 | Hong Kong Applied Science and Technology Research Institute Company Limited | Apparatus and method of generating electronic three-dimensional walkthrough environment |
CN110232406A (zh) * | 2019-05-28 | 2019-09-13 | 厦门大学 | 一种基于统计学习的液晶面板cf图片识别方法 |
CN110751206A (zh) * | 2019-10-17 | 2020-02-04 | 北京中盾安全技术开发公司 | 一种多目标智能成像与识别装置及方法 |
CN111399655A (zh) * | 2020-03-27 | 2020-07-10 | 吴京 | 一种基于vr同步的图像处理方法及装置 |
CN111709310A (zh) * | 2020-05-26 | 2020-09-25 | 重庆大学 | 一种基于深度学习的手势跟踪与识别方法 |
Non-Patent Citations (6)
Title |
---|
DANIEL LIMA GOMES JR.ET AL.: "Semi-automatic methodology for augmented panorama development in industrial outdoor environments", 《ADVANCES IN ENGINEERING SOFTWARE》 * |
DANIEL LIMA GOMES JR.ET AL.: "Semi-automatic methodology for augmented panorama development in industrial outdoor environments", 《ADVANCES IN ENGINEERING SOFTWARE》, vol. 114, 3 August 2017 (2017-08-03) * |
LIQUAN ZHAO ET AL.: "Object Detection Algorithm Based on Improved YOLOv3", 《ELECTRONICS》 * |
LIQUAN ZHAO ET AL.: "Object Detection Algorithm Based on Improved YOLOv3", 《ELECTRONICS》, vol. 9, 24 March 2020 (2020-03-24) * |
孙迎春等: "基于优化YOLOv3算法的交通灯检测", 《光学学报》 * |
孙迎春等: "基于优化YOLOv3算法的交通灯检测", 《光学学报》, vol. 40, no. 12, 30 June 2020 (2020-06-30) * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113483771A (zh) * | 2021-06-30 | 2021-10-08 | 北京百度网讯科技有限公司 | 实景地图的生成方法、装置及系统 |
CN113483771B (zh) * | 2021-06-30 | 2024-01-30 | 北京百度网讯科技有限公司 | 实景地图的生成方法、装置及系统 |
CN114895796A (zh) * | 2022-07-15 | 2022-08-12 | 杭州易绘科技有限公司 | 一种基于全景图的空间交互方法、装置及应用 |
CN114895796B (zh) * | 2022-07-15 | 2022-11-11 | 杭州易绘科技有限公司 | 一种基于全景图的空间交互方法、装置及应用 |
CN116452718A (zh) * | 2023-06-15 | 2023-07-18 | 山东捷瑞数字科技股份有限公司 | 场景漫游的路径规划方法、系统、装置、存储介质 |
CN116452718B (zh) * | 2023-06-15 | 2023-09-12 | 山东捷瑞数字科技股份有限公司 | 场景漫游的路径规划方法、系统、装置、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112242002B (zh) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109508678B (zh) | 人脸检测模型的训练方法、人脸关键点的检测方法和装置 | |
US10592780B2 (en) | Neural network training system | |
CN108961369B (zh) | 生成3d动画的方法和装置 | |
CN112242002B (zh) | 基于深度学习的物体识别和全景漫游方法 | |
CN110379020B (zh) | 一种基于生成对抗网络的激光点云上色方法和装置 | |
CN110728295B (zh) | 半监督式的地貌分类模型训练和地貌图构建方法 | |
CN106096542B (zh) | 基于距离预测信息的图像视频场景识别方法 | |
CN114511778A (zh) | 图像处理方法及装置 | |
JP2016218999A (ja) | ターゲット環境の画像内に表現されたオブジェクトを検出するように分類器をトレーニングする方法およびシステム | |
WO2022052782A1 (zh) | 图像的处理方法及相关设备 | |
WO2021184754A1 (zh) | 视频对比方法、装置、计算机设备和存储介质 | |
CN113781519A (zh) | 目标跟踪方法和目标跟踪装置 | |
CN113378812A (zh) | 一种基于Mask R-CNN和CRNN的数字表盘识别方法 | |
Guo et al. | Using multi-scale and hierarchical deep convolutional features for 3D semantic classification of TLS point clouds | |
JP2021039625A (ja) | 物体数推定装置、物体数推定方法、および物体数推定プログラム | |
CN116740422A (zh) | 基于多模态注意力融合技术的遥感图像分类方法及装置 | |
CN117541668A (zh) | 虚拟角色的生成方法、装置、设备及存储介质 | |
CN114565916A (zh) | 目标检测模型训练方法、目标检测方法以及电子设备 | |
CN117252988A (zh) | 图像数据的处理方法、设备及计算机可读存储介质 | |
CN116977674A (zh) | 图像匹配方法、相关设备、存储介质及程序产品 | |
CN115222896A (zh) | 三维重建方法、装置、电子设备及计算机可读存储介质 | |
JP2021068141A (ja) | 領域分割装置、領域分割方法および領域分割プログラム | |
CN118229889B (zh) | 影视现场预演辅助方法及装置 | |
CN114187506A (zh) | 视点意识的动态路由胶囊网络的遥感图像场景分类方法 | |
CN114627397A (zh) | 行为识别模型构建方法以及行为识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |