CN109683871A - 基于图像目标检测方法的代码自动生成装置及方法 - Google Patents
基于图像目标检测方法的代码自动生成装置及方法 Download PDFInfo
- Publication number
- CN109683871A CN109683871A CN201811295660.1A CN201811295660A CN109683871A CN 109683871 A CN109683871 A CN 109683871A CN 201811295660 A CN201811295660 A CN 201811295660A CN 109683871 A CN109683871 A CN 109683871A
- Authority
- CN
- China
- Prior art keywords
- candidate region
- code
- control element
- object detection
- characteristic pattern
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000000605 extraction Methods 0.000 claims abstract description 9
- 230000033228 biological regulation Effects 0.000 claims abstract description 8
- 238000004364 calculation method Methods 0.000 claims description 7
- 239000000284 extract Substances 0.000 claims description 5
- 230000000694 effects Effects 0.000 abstract description 11
- 238000011160 research Methods 0.000 abstract description 6
- 238000013527 convolutional neural network Methods 0.000 description 20
- 238000013528 artificial neural network Methods 0.000 description 10
- 238000013135 deep learning Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 230000000306 recurrent effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241001192924 Parna Species 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000002408 directed self-assembly Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/37—Compiler construction; Parser generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于图像目标检测的代码自动生成装置及方法,所述装置包括:控件元素目标检测模块,用于对输入的前端图像进行特征提取,生成候选区域,并进行目标分类,对位置进行边框回归精修获得最终的精确位置;基于规则的DSL代码生成模块,用于根据所述控件元素目标检测模块输出的控件元素的位置信息,对控件元素进行水平方向和垂直方向上的排序,并通过制定规则来生成DSL代码;编译器模块,用于将所述基于规则的DSL代码生成模块生成的DSL代码编译成真正的前端代码,通过本发明,不仅能够有更加准确的生成效果,而且也为描述性编程自动化领域提供了新的研究思路。
Description
技术领域
本发明涉及一种代码自动生成装置及方法,特别是涉及一种基于图像目标检测方法的代码自动生成装置及方法。
背景技术
能够让计算机自动编程一直是人们在攻克的难题。随着机器学习的蓬勃发展,在自动编程领域现已有不少尝试。使用机器学习技术自动生成程序代码是一个相对较新的研究领域,并且人类可读格式的程序合成(program synthesis)仅在最近才得到解决。虽然计算机自动编程已经是一个很活跃的研究领域了,但是通过输入视觉图像来让计算机自动生成对应的代码却几乎是一个没有过多探索的新研究领域。
编程分为功能性编程(根据需求编写相关逻辑代码)和描述性编程(根据原型图像编写相关前端代码)。描述性编程自动化领域,旨在解决前端代码自动生成的问题。开发人员在开发软件的过程中,需要将设计师设计的图形用户界面(Graphical User Interface,GUI)的设计图用代码实现,这在网站开发和移动应用程序开发过程中是很典型的任务。但是,实现GUI代码非常耗时,使得很多开发人员不能有更多的时间用于实现他们正在开发的软件的实际功能和逻辑方面。而且,用于实现这种GUI的编程语言是特定于每个运行时的系统的,相同的界面在不同的系统上需要用不同的语言重复编程,当开发软件想要同时在多个平台上运行时,就会导致繁琐和重复的工作。因此,如果能够提出一种准确率高的,基于前端图像界面设计图自动生成前端代码的方法,对于开发者们来说是具有重要意义的。
基于深度学习模型解决自动编程的问题目前尚处于起步阶段,Tony Beltramelli等人提出了pix2code模型,即,一种基于卷积神经网络(CNN)以及循环神经网络(RNN)的编码-解码模型(encoder-decorder),其通过CNN将输入的前端编码图像编码成图像特征向量,再通过RNN将图像特征向量解码成对应的领域特定语言(Domain Specific Languages,DSLs)代码,这种方法具有端到端可微分的优点,因此可以使用梯度下降的方法进行优化。
图1为现有技术中pix2code模型的结构示意图。如图1所示,pix2code模型的输入是原型图像,输出为该原型图像的前端代码。其由两部分组成:编码部分以及解码部分。
其中,编码部分由两个部分组成:一个卷积神经网络及一个循环神经网络。卷积神经网络负责将原型图像编码成图像向量;循环神经网络负责接收原型图像对应的前端代码当前符号(token)之前的token序列作为输入,输出对应的隐藏状态(hidden state)序列。然后将图像向量复制48份(以达到hidden state序列长度),与hidden state进行拼接,作为pix2code解码部分的输入。
解码部分由另一个循环神经网络组成。在接收编码部分的输出作为输入后,该循环神经网络便生成原型图像对应的前端代码的下一个token。在训练时,比较该token与实际token的差异便能得到梯度优化整个模型的参数;在预测时,将该token作为编码部分的递归神经网络的输入的一部分,便能不断地循环生成下一个token,最终生成原型图像对应的完整前端代码。
pix2code模型是描述性编程自动化的开山之作,其也取得了不错的代码生成效果,其代码生成准确率达到77%。
然而,由于pix2code编码部分的处理是直接将图像向量复制多份与hidden state进行拼接,然后输入给解码部分进行前端代码生成。这相当于让模型在生成前端代码的每一个token时,都是根据整个原型图像进行生成。而实际上,前端代码的每一段,都只是描述原型图像的某一小模块。反之,人类在描述性编程时,都是根据原型图像的某一小模块,进行对应的前端代码段的编写。因此,pix2code模型在图像向量的利用上是十分缺乏效率的。
除此之外,由于代码本身具有精确性特征,其不容得丝毫语法错误;且在描述性编程中原型图像与前端代码是一对一的关系,故代码自动生成任务对代码的准确率要求是十分高的,即代码不容得丝毫语法错误,而pix2code模型的解码部分是由循环神经网络组成。目前循环神经网络的生成效果是远未达到代码生成任务对生成效果的要求,因此pix2code模型的代码生成准确率不足以让人满意。
发明内容
为克服上述现有技术存在的不足,本发明之目的在于提供一种基于图像目标检测方法的代码自动生成装置及方法,以实现更加准确的生成效果,且为描述性编程自动化领域提供了新的研究思路。
为达上述及其它目的,本发明提出一种基于图像目标检测的代码自动生成装置,包括:
控件元素目标检测模块,用于对输入的前端图像进行特征提取,生成候选区域,并进行目标分类,对位置进行边框回归精修获得最终的精确位置;
基于规则的DSL代码生成模块,用于根据所述控件元素目标检测模块输出的控件元素的位置信息,对控件元素进行水平方向和垂直方向上的排序,并通过制定规则来生成DSL代码;
编译器模块,用于将所述基于规则的DSL代码生成模块生成的DSL代码编译成真正的前端代码。
优选地,所述控件元素目标检测模块基于Faster RCNN模型实现。
优选地,所述控件元素目标检测模块包括:
卷积层,用于对输入图像提取图片的特征图;
候选区域生成网络,用于根据所述卷积层的输出生成候选区域,并修正所述候选区域获得精确的候选区域;
对候选区域在特征图上的池化层,用于接收所述卷积层输出的特征图和所述候选区域生成网络输出的精确的候选区域,综合该些信息后提取候选区域在特征图上的特征;
分类器,用于利用候选区域在特征图上的特征计算所述精确的候选区域的类别,并再次修正以获得候选区域最终的精确位置。
优选地,所述Faster RCNN模型使用一组基础的卷积层和池化层提取图片的特征图。
优选地,所述候选区域生成网络通过归一化指数函数判断候选区域属于前景目标部分还是背景部分,再利用边框回归方法修正候选区域获得精确的候选区域。
优选地,所述分类器利用候选区域在特征图上的特征计算精确的候选区域的类别后,再次进行边框回归方法来获得候选区域最终的精确位置。
为达到上述目的,本发明还提供一种基于图像目标检测的代码自动生成方法,包括如下步骤:
步骤S1,对输入的前端图像进行特征提取,生成候选区域,并进行目标分类,对位置进行边框回归精修获得最终的精确位置;
步骤S2,根据步骤S1获得的控件元素的位置信息,对控件元素进行水平方向和垂直方向上的排序,并通过制定规则来生成DSL代码;
步骤S3,用于将生成的DSL代码编译成真正的前端代码。
优选地,步骤S1基于Faster RCNN模型实现。
优选地,步骤S1进一步包括:
步骤S100,利用卷积层对输入图像提取图片的特征图;
步骤S101,利用候选区域生成网络根据所述卷积层的输出生成候选区域,并修正所述候选区域获得精确的候选区域;
步骤S102,利用池化层接收所述卷积层输出的特征图和所述候选区域生成网络输出的精确的候选区域,综合该些信息后提取候选区域在特征图上的特征;
步骤S103,利用分类器根据所述候选区域在特征图上的特征计算所述精确的候选区域的类别,并再次修正以获得候选区域最终的精确位置。
优选地,于步骤S101中,所述候选区域生成网络通过归一化指数函数判断候选区域属于前景目标部分还是背景部分,再利用边框回归方法修正候选区域获得精确的候选区域。
与现有技术相比,本发明一种基于图像目标检测的代码自动生成装置及方法通过在前端图像上检测出控件元素的类别和位置,再通过规则来生成代码,并利用编译器模块将生成的DSL代码编译成真正的前端代码,从而取得更优的代码生成效果,本发明不仅能够有更加准确的生成效果,而且也为描述性编程自动化领域提供了新的研究思路。
附图说明
图1为现有技术中pix2code模型的结构示意图;
图2为本发明装置的结构示意图;
图3为本发明具体实施例中控件元素目标检测模块的结构示意图;
图4为本发明具体实施例中基于规则的DSL代码生成模块的原理示意图;
图5为本发明具体实施例中DSL代码编译成html代码样例;
图6为本发明一种基于图像目标检测的代码自动生成方法的步骤流程图。
具体实施方式
以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
在介绍本发明之前,先对本发明所涉及的缩略语和关键术语定义如下:
深度学习:深度学习(Deep Learning)是由Hinton等人于2006年提出,是机器学习(Machine Learning)的一个新领域。深度学习被引入机器学习使其更接近最初目标----人工智能。深度学习是学习样本数据的内在规律和表示层次。这些学习过程中获得的信息对图像、文字等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别图像、文字等数据。
卷积神经网络:卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网络由一个或多个卷积层和顶端的全连通层(对应经典的神经网络)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网络能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网络在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网络,卷积神经网络需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构目标检测:目标检测是与计算机视觉和图像处理有关的计算机技术,其涉及在数字图像和视频中检测特定类(例如人,建筑物或汽车)的语义对象的实例。有经过深入研究的目标检测领域包括人脸检测和行人检测。目标检测在计算机视觉的许多领域都有应用,包括图像检索和视频监控。传统的目标检测方法首先在给定的图像上选择一些候选区域(regionproposal),然后对这些区域提取特征,最后使用训练的分类器进行分类。2014年RossB.Girshick等人提出基于深度学习的目标检测算法,使用候选区域(region proposal)和卷积神经网络(Convolutional Neural Network,CNN)代替传统目标检测使用的滑动窗口以及手工设计特征,设计了Region CNN(R-CNN)框架,使得目标检测取得巨大突破,并开启了基于深度学习目标检测的热潮。
自动编程:在计算机科学中,自动编程(Automatic programming)确定了一种计算机编程类型,其中应用了某些机制来生成计算机程序从而允许人类程序员在更高的抽象级别编写代码。关于自动编程的精确定义几乎没有达成一致,主要是因为它的含义随着时间的推移而发生了变化。David Parnas在已发表的研究中描述了“自动编程”的历史,他指出,在20世纪40年代,它描述了冲压纸带手动过程的自动化。后来它提到了Fortran和ALGOL等高级编程语言的翻译。实际上,被认为是编译器的最早的程序之一就被称为自动编码(Autocode)。Parnas得出结论:“自动编程一直是高级语言编程的委婉说法,而不是程序员可用的语言。”
本发明提出了一种基于图像目标检测的代码自动生成装置及方法,本发明基于深度学习在图像目标检测上的理论与应用,一方面,目标检测的方法应用在类似的图片生成描述(Image Caption)领域已经是最先进(state-of-the-art)的方法,类似工作通过槽填充的方法(slot-filling)来检测出图片中出现的目标类别,然后将目标填充在已有的语言模板上来生成对应的语言描述,因此将目标检测的方法应用在根据图片生成代码的问题上不失为一种正确的方向;另一方面,通过目标检测方法,可以准确的识别出前端图像上的控件元素的类别和检测出位置,根据这些控件元素的类别和位置,可以通过一些规则来生成对应的前端代码,这很大部分依赖于目标检测的结果,而图像目标检测领域已经有很成熟的技术了,从而该方法生成代码的准确率也得到了保证。
图2为本发明一种基于图像目标检测的代码自动生成装置的结构示意图。如图2所示,本发明一种基于图像目标检测的代码自动生成装置,包括:
控件元素目标检测模块201,用于对输入的前端图像进行特征提取,生成候选区域,并进行目标分类,对位置进行边框回归精修获得最终的精确位置。
在本发明具体实施例中,控件元素目标检测模块201基于Faster RCNN模型实现,如图3所示,其具体包括:
卷积层(Conv layers)2011,用于对输入图像提取图片的特征图(feature maps),提取的特征图(feature maps)共享用于后续候选区域生成网络(RPN)层和全连接层。具体地,作为一种CNN网络目标检测方法,Faster RCNN使用一组基础的卷积层和池化层(conv+relu+pooling)提取图片的特征图(feature maps)。
候选区域生成网络(Region Proposal Networks,RPN)2012,用于根据卷积层2011的输出生成候选区域(region proposals)。在本发明具体实施例中,RPN网络是全卷积神经网络,该层通过归一化指数函数(softmax)判断候选区域(anchors)属于前景目标部分还是背景部分,再利用边框回归方法(bounding box regression)修正候选区域(anchors)获得精确的候选区域(proposals)。
对候选区域在特征图上的池化层(Roi Pooling)2013,用于接收卷积层2011输出的特征图(feature maps)和候选区域生成网络2012输出的精确的proposals,综合该些信息后提取候选区域在特征图上的特征(proposal feature maps),以送入后续全连接层判定目标类别。
分类器2014,用于利用候选区域在特征图上的特征(proposal feature maps)计算精确的候选区域(proposals)的类别,同时再次进行边框回归方法(bounding boxregression)来获得候选框最终的精确位置。
基于规则的DSL(Domain Specific language,领域特定语言)代码生成模块202,用于根据控件元素目标检测模块201输出的控件元素的位置信息,对控件元素进行水平方向和垂直方向上的排序,通过制定规则来生成DSL代码。
如图4所示,在本发明具体实施例中,基于规则的DSL代码生成模块202的输入是控件元素目标检测模块201输出的图像中控件元素的类别和位置信息,输出是对应的DSL代码,基于规则的DSL代码生成模块202根据输入的控件元素的位置信息,对控件元素进行水平方向和垂直方向上的排序,通过制定规则来生成DSL代码,如出现在同一行的控件元素包含在该行的代码符号row中,从而准确的生成对应的DSL代码。
编译器模块203,用于将基于规则的DSL代码生成模块202生成的DSL代码编译成真正的前端代码。编译器模块203的编译过程是一个静态的过程,其可参考现有技术pix2code模型的编译器部分,输入是DSL代码,输出是特定平台对应的前端语言代码。DSL代码和不同的前端语言之间有人为制定的严格的对应关系,如图5所示,是一个部分DSL代码编译成html代码的例子。由于本发明编译器部分采用的是与pix2code模型的编译器部分相同的技术,在此不予赘述。
图6为本发明一种基于图像目标检测的代码自动生成方法的步骤流程图。如图6所示,本发明一种基于图像目标检测的代码自动生成方法,包括如下步骤:
步骤S1,对输入的前端图像进行特征提取,生成候选区域,并进行目标分类,对位置进行边框回归精修获得最终的精确位置。
在本发明具体实施例中,步骤S1基于Faster RCNN模型实现,其具体步骤如下:
步骤S100,利用卷积层(Conv layers)对输入图像提取图片的特征图(featuremaps),提取的特征图(feature maps)共享用于后续候选区域生成网络(RPN)层和全连接层。具体地,作为一种CNN网络目标检测方法,Faster RCNN模型使用一组基础的卷积层和池化层(conv+relu+pooling)以提取图片的特征图(feature maps)。
步骤S101,利用候选区域生成网络(Region Proposal Networks,RPN)根据卷积层的输出生成候选区域(region proposals)。在本发明具体实施例中,RPN网络是全卷积神经网络,该层通过归一化指数函数(softmax)判断候选区域(anchors)属于前景目标部分还是背景部分,再利用边框回归方法(bounding box regression)修正候选区域(anchors)获得精确的候选区域(proposals)。
步骤S102,利用池化层接收卷积层输出的特征图(feature maps)和候选区域生成网络输出的精确的候选区域(proposals),综合该些信息后提取候选区域在特征图上的特征(proposal feature maps),以送入后续全连接层判定目标类别。
步骤S103,利用分类器根据候选区域在特征图上的特征(proposal featuremaps)计算精确的候选区域(proposals)的类别,同时再次进行边框回归方法(boundingbox regression)来获得候选框最终的精确位置。
步骤S2,根据步骤S1获得的控件元素的位置信息,对控件元素进行水平方向和垂直方向上的排序,通过制定规则来生成DSL代码。如出现在同一行的控件元素包含在该行的代码符号row中,从而准确的生成对应的DSL代码。
步骤S3,利用编译器模块将生成的DSL代码编译成真正的前端代码。在本发明具体实施例中,编译器模块的编译过程是一个静态的过程,其可参考现有技术pix2code模型的编译器部分,输入是DSL代码,输出是特定平台对应的前端语言代码。DSL代码和不同的前端语言之间有人为制定的严格的对应关系。
综上所述,本发明一种基于图像目标检测的代码自动生成装置及方法通过在前端图像上检测出控件元素的类别和位置,再通过规则来生成代码,并利用编译器模块将生成的DSL代码编译成真正的前端代码,从而取得更优的代码生成效果,本发明不仅能够有更加准确的生成效果,而且也为描述性编程自动化领域提供了新的研究思路。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。
Claims (10)
1.一种基于图像目标检测的代码自动生成装置,包括:
控件元素目标检测模块,用于对输入的前端图像进行特征提取,生成候选区域,并进行目标分类,对位置进行边框回归精修获得最终的精确位置;
基于规则的DSL代码生成模块,用于根据所述控件元素目标检测模块输出的控件元素的位置信息,对控件元素进行水平方向和垂直方向上的排序,并通过制定规则来生成DSL代码;
编译器模块,用于将所述基于规则的DSL代码生成模块生成的DSL代码编译成真正的前端代码。
2.如权利要求1所述的一种基于图像目标检测的代码自动生成装置,其特征在于:所述控件元素目标检测模块基于Faster RCNN模型实现。
3.如权利要求2所述的一种基于图像目标检测的代码自动生成装置,其特征在于,所述控件元素目标检测模块包括:
卷积层,用于对输入图像提取图片的特征图;
候选区域生成网络,用于根据所述卷积层的输出生成候选区域,并修正所述候选区域获得精确的候选区域;
对候选区域在特征图上的池化层,用于接收所述卷积层输出的特征图和所述候选区域生成网络输出的精确的候选区域,综合该些信息后提取候选区域在特征图上的特征;
分类器,用于利用候选区域在特征图上的特征计算所述精确的候选区域的类别,并再次修正以获得候选区域最终的精确位置。
4.如权利要求3所述的一种基于图像目标检测的代码自动生成装置,其特征在于:所述Faster RCNN模型使用一组基础的卷积层和池化层提取图片的特征图。
5.如权利要求3所述的一种基于图像目标检测的代码自动生成装置,其特征在于:所述候选区域生成网络通过归一化指数函数判断候选区域属于前景目标部分还是背景部分,再利用边框回归方法修正候选区域获得精确的候选区域。
6.如权利要求3所述的一种基于图像目标检测的代码自动生成装置,其特征在于:所述分类器利用候选区域在特征图上的特征计算精确的候选区域的类别后,再次进行边框回归方法来获得候选区域最终的精确位置。
7.一种基于图像目标检测的代码自动生成方法,包括如下步骤:
步骤S1,对输入的前端图像进行特征提取,生成候选区域,并进行目标分类,对位置进行边框回归精修获得最终的精确位置;
步骤S2,根据步骤S1获得的控件元素的位置信息,对控件元素进行水平方向和垂直方向上的排序,并通过制定规则来生成DSL代码;
步骤S3,用于将生成的DSL代码编译成真正的前端代码。
8.如权利要求7所述的一种基于图像目标检测的代码自动生成方法,其特征在于:步骤S1基于Faster RCNN模型实现。
9.如权利要求8所述的一种基于图像目标检测的代码自动生成方法,其特征在于,步骤S1进一步包括:
步骤S100,利用卷积层对输入图像提取图片的特征图;
步骤S101,利用候选区域生成网络根据所述卷积层的输出生成候选区域,并修正所述候选区域获得精确的候选区域;
步骤S102,利用池化层接收所述卷积层输出的特征图和所述候选区域生成网络输出的精确的候选区域,综合该些信息后提取候选区域在特征图上的特征;
步骤S103,利用分类器根据所述候选区域在特征图上的特征计算所述精确的候选区域的类别,并再次修正以获得候选区域最终的精确位置。
10.如权利要求9所述的一种基于图像目标检测的代码自动生成方法,其特征在于:于步骤S101中,所述候选区域生成网络通过归一化指数函数判断候选区域属于前景目标部分还是背景部分,再利用边框回归方法修正候选区域获得精确的候选区域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811295660.1A CN109683871B (zh) | 2018-11-01 | 2018-11-01 | 基于图像目标检测的代码自动生成装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811295660.1A CN109683871B (zh) | 2018-11-01 | 2018-11-01 | 基于图像目标检测的代码自动生成装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109683871A true CN109683871A (zh) | 2019-04-26 |
CN109683871B CN109683871B (zh) | 2022-04-12 |
Family
ID=66184567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811295660.1A Active CN109683871B (zh) | 2018-11-01 | 2018-11-01 | 基于图像目标检测的代码自动生成装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109683871B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110232713A (zh) * | 2019-06-13 | 2019-09-13 | 腾讯数码(天津)有限公司 | 一种图像目标定位修正方法及相关设备 |
CN110502236A (zh) * | 2019-08-07 | 2019-11-26 | 山东师范大学 | 基于多尺度特征解码的前端代码生成方法、系统及设备 |
CN110968299A (zh) * | 2019-11-20 | 2020-04-07 | 北京工业大学 | 一种基于手绘网页图像的前端工程化代码生成方法 |
CN111190600A (zh) * | 2019-12-31 | 2020-05-22 | 中国银行股份有限公司 | 基于gru注意力模型的前端代码自动生成的方法及系统 |
WO2020259036A1 (zh) * | 2019-06-26 | 2020-12-30 | 扬州大学 | 基于生成对抗和卷积神经网络的UI生成Web代码的方法 |
CN113779482A (zh) * | 2021-11-12 | 2021-12-10 | 云账户技术(天津)有限公司 | 一种生成前端代码的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120166978A1 (en) * | 2010-12-24 | 2012-06-28 | Gurpreet Singh | Metadata generation systems and methods |
CN107679250A (zh) * | 2017-11-01 | 2018-02-09 | 浙江工业大学 | 一种基于深度自编码卷积神经网络的多任务分层图像检索方法 |
CN108255489A (zh) * | 2018-01-12 | 2018-07-06 | 北京三快在线科技有限公司 | 前端界面代码生成方法、装置、电子设备及存储介质 |
-
2018
- 2018-11-01 CN CN201811295660.1A patent/CN109683871B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120166978A1 (en) * | 2010-12-24 | 2012-06-28 | Gurpreet Singh | Metadata generation systems and methods |
CN107679250A (zh) * | 2017-11-01 | 2018-02-09 | 浙江工业大学 | 一种基于深度自编码卷积神经网络的多任务分层图像检索方法 |
CN108255489A (zh) * | 2018-01-12 | 2018-07-06 | 北京三快在线科技有限公司 | 前端界面代码生成方法、装置、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
RUYI ZHANG: "MERGING RECOVERY FEATURE NETWORK TO FASTER RCNN FOR LOW-RESOLUTION", 《IEEE》 * |
李东子: "结合Faster R-CNN模型的遥感影像建筑物检测", 《测绘科学技术学报》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110232713A (zh) * | 2019-06-13 | 2019-09-13 | 腾讯数码(天津)有限公司 | 一种图像目标定位修正方法及相关设备 |
CN110232713B (zh) * | 2019-06-13 | 2022-09-20 | 腾讯数码(天津)有限公司 | 一种图像目标定位修正方法及相关设备 |
WO2020259036A1 (zh) * | 2019-06-26 | 2020-12-30 | 扬州大学 | 基于生成对抗和卷积神经网络的UI生成Web代码的方法 |
US11579850B2 (en) | 2019-06-26 | 2023-02-14 | Yangzhou University | Method for generating web code for UI based on a generative adversarial network and a convolutional neural network |
CN110502236A (zh) * | 2019-08-07 | 2019-11-26 | 山东师范大学 | 基于多尺度特征解码的前端代码生成方法、系统及设备 |
CN110502236B (zh) * | 2019-08-07 | 2022-10-25 | 山东师范大学 | 基于多尺度特征解码的前端代码生成方法、系统及设备 |
CN110968299A (zh) * | 2019-11-20 | 2020-04-07 | 北京工业大学 | 一种基于手绘网页图像的前端工程化代码生成方法 |
CN111190600A (zh) * | 2019-12-31 | 2020-05-22 | 中国银行股份有限公司 | 基于gru注意力模型的前端代码自动生成的方法及系统 |
CN111190600B (zh) * | 2019-12-31 | 2023-09-19 | 中国银行股份有限公司 | 基于gru注意力模型的前端代码自动生成的方法及系统 |
CN113779482A (zh) * | 2021-11-12 | 2021-12-10 | 云账户技术(天津)有限公司 | 一种生成前端代码的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109683871B (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109683871A (zh) | 基于图像目标检测方法的代码自动生成装置及方法 | |
Liu et al. | Implicit discourse relation classification via multi-task neural networks | |
Wei et al. | Learning to segment with image-level annotations | |
Yuan et al. | Gated CNN: Integrating multi-scale feature layers for object detection | |
CN109344391A (zh) | 基于神经网络的多特征融合中文新闻文本摘要生成方法 | |
CN111160350B (zh) | 人像分割方法、模型训练方法、装置、介质及电子设备 | |
CN109165275B (zh) | 基于深度学习的智能变电站操作票信息智能搜索匹配方法 | |
CN109255359B (zh) | 一种基于复杂网络分析方法的视觉问答问题解决方法 | |
CN105205448A (zh) | 基于深度学习的文字识别模型训练方法和识别方法 | |
CN107133569A (zh) | 基于泛化多标记学习的监控视频多粒度标注方法 | |
KR102011788B1 (ko) | 계층적 시각 특징을 이용한 시각 질의 응답 장치 및 방법 | |
CN107247952B (zh) | 基于深层监督的循环卷积神经网络的视觉显著性检测方法 | |
CN110956158A (zh) | 一种基于教师学生学习框架的遮挡行人再标识方法 | |
Asri et al. | A real time Malaysian sign language detection algorithm based on YOLOv3 | |
Yang et al. | Research on subway pedestrian detection algorithms based on SSD model | |
CN113904844A (zh) | 基于跨模态教师-学生网络的智能合约漏洞检测方法 | |
CN116796810A (zh) | 一种基于知识蒸馏的深度神经网络模型压缩方法及装置 | |
CN115292568B (zh) | 一种基于联合模型的民生新闻事件抽取方法 | |
CN115328782A (zh) | 基于图表示学习和知识蒸馏的半监督软件缺陷预测方法 | |
CN102938153B (zh) | 基于约束谱聚类和马尔科夫随机场的视频图像分割方法 | |
Zhang et al. | Few-shot object detection with self-adaptive global similarity and two-way foreground stimulator in remote sensing images | |
Zhao et al. | RFE-LinkNet: LinkNet with Receptive Field Enhancement for Road Extraction from High Spatial Resolution Imagery | |
Ling et al. | A facial expression recognition system for smart learning based on YOLO and vision transformer | |
Hilal et al. | Red Deer Optimization with Artificial Intelligence Enabled Image Captioning System for Visually Impaired People. | |
CN116258504B (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 |