CN115359394A - 一种基于多模态融合的识别方法及其应用 - Google Patents

一种基于多模态融合的识别方法及其应用 Download PDF

Info

Publication number
CN115359394A
CN115359394A CN202210983994.8A CN202210983994A CN115359394A CN 115359394 A CN115359394 A CN 115359394A CN 202210983994 A CN202210983994 A CN 202210983994A CN 115359394 A CN115359394 A CN 115359394A
Authority
CN
China
Prior art keywords
dish
picture
model
certain
video
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.)
Pending
Application number
CN202210983994.8A
Other languages
English (en)
Inventor
吴刚
黎煜祺
薛其韵
张耿荣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Pugongying Technology Co ltd
Original Assignee
Hangzhou Pugongying Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Pugongying Technology Co ltd filed Critical Hangzhou Pugongying Technology Co ltd
Priority to CN202210983994.8A priority Critical patent/CN115359394A/zh
Publication of CN115359394A publication Critical patent/CN115359394A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/68Food, e.g. fruit or vegetables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于多模态融合的识别方法及其应用,对摄像头中的视频进行实时分帧,分帧后按照一定的概率抽取其中的某帧为静态图片,然后对图片进行两方面的模型学习&训练:对图片进行语义分割的模型处理;对图片进行“文本化”模型处理,像“看图说话”的效果;对经由上面第一点与第二点得到的模型进行模型融合处理,最后识别出视频下有哪些菜品(物品)。在模型融合(多模态融合)阶段,增加了强化学习的算法,增加了模型:《A》泛化能力(泛化:指模型的通用能力,普适性);《B》提高拟合的速度。

Description

一种基于多模态融合的识别方法及其应用
技术领域
本发明涉及一种基于多模态融合的识别方法及其应用。
背景技术
目前的实际生活、生产场景中,基于机器视觉的场景物体识别技术已经非常的成熟和完备:识别的准确率和速度已经非常的快但是,在一些特定的场景中,例如在实时菜品(非单个sku)识别当中(如app摄像头下),某道菜,打比方如“尖椒牛柳”,其菜品(单个sku)的状态可能有不同的状态(如:牛柳存在条状,粒状,或其他状态等)、颜色(如尖椒可能是青色,红色等),基于业已成熟的单纯的视觉识别方案,可能有时候会存在识别准确率和识别效率的问题。
工业界中已有单独的非常成熟的视频识别/图片识别/NLP(自然语言处理)技术方案。
1、视频场景:
通常是训练(标注)一些视频下的视频标签,如训练基于PASCAL VOC 2012等下的一些类别标签,进而利用不同尺寸的卷积/循环神经网络提取视频特征。
2、图片场景:
通常通过语义分割或CNN/RNN等神经网络提取图片特征,再经不同的模型训练,从而得到一系列图片属于哪个类别的概率。而经由不同的网络,我们可以选择一些如:MaskR-CNN(开源),CRF(开源):
Mask R-CNN做法:对图片进行RPN候选框的选取,算出RPN中的物体具体属于某个类别的概率。
3、NLP场景:
在NLP场景下-细分领域任务多,本处仅从基于“看图说话(Image Caption)”这项技术涉及到的摘要:从一些长整句中,通过如Attention/BiLSTM等网络结构得出句子的摘要;《备:“看图说话”,指给出一张图,自动给出关于图片的描述》;
基于在这三种单独场景下(视频/图片/NLP)对物体的识别,若是对简单静态的场景的识别:其识别的准确率和效率还是很高的。一旦对一些复杂《如,光线不足,蒸汽等》视频场景下的菜品(物品)进行识别的时候,可能会存在误报的可能,即识别为错误的类别。
产生这样的结果的原因可能会包括:
《1》单个模型(泛指单模态:即模态为单独的视频/图片/文本/语音等模型)的表征能力不足,其单个模型无法对物体进行全部信息的建模;
《2》训练模型的服务器可以接受的数据/参数的精度问题;
《3》服务器的芯片类型:不同类型的芯片处理数据的指令集不一致。
我们的申请是基于视频下的动态的识别,我们融合了视频->图片->文本这三个阶段的深度学习模型,在最终阶段:这三个模态会在一个向量空间里面生成一个融合的概率的模型,识别率也比传统的高出很多。
发明内容
根据现有技术中存在的问题,本发明提供了一种基于多模态融合的识别方法及其应用,采用了混合视频,图片,文本等这三个模态的模型进行融合建模,采用模型的参数/数据分别存放在不同的服务器(参数服务器和数据服务器),从而得出视频中的多个类别的物体的概率排序。
为实现上述目的,本发明的技术方案为:一种基于多模态融合的识别方法,包括:
数据服务器:用于存储数据,包括训练、测试、验证数据,
参数服务器:用于存储视频/图片/文本(NLP)模型下各自模型的参数;
数据服务器和参数服务器均是主、从结构的配置,基于Master、Slave;
还包括以下步骤:
一、特征提取&训练分类器,分别针对视频、图片、文本提取其特征向量:
视频子模型:
101、对实时视频采用光流密度估算算法,辅以结合移动物体跟踪的算法,初步定位视频中物体的位置,得出其轮廓的坐标:
102、对上步得到的视频内坐标范围内的视频的像素等维度特征进行框选&提取,用最大连通通量算法对无关的背景进行移除;
103、利用OpenCV对第102步的动态视频特征进行分帧处理为不同的基于时间序列的图片;
104、对其按照某个概率分布抽取其中的某一张图片,待下步使用;
图片子模型:
201、输入由上步视频特征提取得到的图片,对图片进行灰度化,去模糊操作;
202、设计一系列的卷积神经网络对图片进行提取特征,采用FPN提取,;
203、利用得到的特征匹配开源的数据集里的标签,得出其是某个类别的概率;
文本(NLP)子模型:
301、对于从201步得到的图片进行“看图说话”的训练,生成相对于图片内容的文本描述;首先是这张图片进行数据增强处理,增加其特征的表达准确度;
302、对经由301得到的某张图的一系列图根据开源数据集进行转换的训练生成若干张的图片描述的文本介绍;
303、得到文字描述后,用BiLSTM对文字进行上下文组合排序;
304、而后再接入一层判别其类别的CRF层;
305、得出文字描述的最终排序;
二、多模态融合,将前述分阶段视频、图片、文本得到的子模型进行映射,通过视频到图片,图片到文本的两重映射器将其映射到一个空间维度内,算出多个其属于某个类别的概率,并加入强化学习开源算法:
《A》对映射到某个空间的概率进行排序,引入强化学习中的基于value_base的策略学习算法,对其进行新的一轮的排序;
《B》不断的去寻找新的策略空间;
经由此步,强化学习输出了一个最大可能性的概率排序;
三、得出类别:在最后一层,接入一层神经网络的输出层,输出类别。
优选的,所述各自模型的参数包括模型初始状态、训练轮数、梯度、激活函数、优化函数;
优选的,所述步骤104按照正态分布抽取。
优选的,所述步骤101具体为:在摄像头镜头的成像原理下:
《1》物体在二维平面的投影面积的关系:物体到镜头的距离与物体到投影截面的距离成正比;S:面积,Dict:距离;分别对各项指标取对数,此处均取以10为底的对数:
Log(Dist(物->镜头)):Log(Dist(物->投影界面))=Log(S(实际物体面积)):Log(S(投影截面面积))
《2》在某个单位时间内,某点光源到物体表面形成的投影面积:物体的实际面积大小;
Log(Dist(光源->物)):Log(Dist(物->投影截面))=Log(S(实际物体面积)):Log(S(投影截面面积))
《3》由第《2》&《3》推出:
Log(Dist(物->镜头)):Log(Dist(光源->物))=Log(S(实际物体面积)):Log(S(投影截面面积))
此处,得出物体的某个时间点的大致坐标;下步是获取连续时间范围内的坐标,基于MCMC:在一定的时间范围里,会存有N个可能的状态序列,我们对其序列进行概率性的预测;
根据上述公式,我们得出:设某个时间点为t,其初始的状态是state(t),我们根据MCMC预测其下点坐标概率:
P(state(t+1)|state(t))=(state(t)+state(t+1))/state(t)*state(t+1)最后,计算其最大似然估计:
L=1/2*lnL(theta|Pt,Pt+1)
THETAmle=argmax*^L(theta|Pt,Pt+1)到此,得到确切的点的坐标THETAmle。
优选的,所述步骤203后,对得到的一系列特征进行加密与数值转换:
<a>得到的特征后,我们用例如RSA/SHA1这样的开源算法对特征进行加密,服务器保存公钥,相对应的私钥由各方存储;
<b>在进入下一轮的迭代训练的时候,首先先多公钥和私钥的MD5的checkchuck进行校检,符合则进到下一轮;
<c>当训练到一定的轮数或者准确率达到预定的阈值的时候,则停止训练,此时,把训练后得到的加密的类别进行转数值的操作,当前的训练模型的参数的字节占内存空间的4位,我们用科学计算工具scipy和numpy强制对字节进行转换:压缩;图片转成了一系列大小不一的矩阵表征。
优选的,所述步骤302采用的方法:
预测文字:使用一个CNN去做目标识别,并且根据bounding box生成可能出现的文字;
生成句子:通过一个统计语言模型,生成很多个可能的句子集合;
重新排序已经生成的句子:通过学习一个Deep Multimodal Similarity Model去重新排序所有可能的句子集合,取最高分数的句子作为系统输出。
优选的,所述步骤二中,经过多模态融合模型之后,得到物体的类别的概率,作为输入进入后续深度强化学习步骤的算法设计,具体为:
《1》我们设计的算法中有视频、图片、文本模态的信息之后:我们得到了某一连续时刻下当前状态的物体的概率,我们将得到的概率作为深度强化学习算法侧的输入,作为智能体周围所形成的环境;
《2》强化学习需要每时每刻都维护一张基于内存的动态的表;
《3》创建一个基于SNN(脉冲神经网络的)的神经网络来学习,省去在前述强化学习当中需要维护一张临时中间表的所占用的计算量;
《4》构建基于电流的LIF(Leaky Integrate-and-Fire)脉冲神经网络元模型,我们通过设计一种高通滤波器来获取某个时间节点下通过某段脉冲神经网络的信号量,当其信号量满足预设的阈值的时候,再通过脉冲神经网络在在各神经元之间传递脉冲信号;
《5》由《4》得到了一个基于传递脉冲信号的突触电流的响应模型,我们基于常用的电流模型,融入了MCMC(马尔可夫蒙特卡洛)时间序列模型,对某个时间序列内的衰减模型进行加权求和,从而得到一个瞬间脉冲信号;
《6》基于《5》,对某个时间序列里得到的脉冲序列作为模拟数值编码为脉冲序列按照一定的比例输入到深度强化学习(简称:RL)中,此处用DQN来作RL的模型,从而得到当前某个状态下和环境交互得到的最优的某个物体的概率的输出;并不断重复上述的《3》->《6》。
进一步的,一种基于多模态融合的识别方法在菜品识别中的应用,包括以下步骤:
得到了即时视频下的类别名称,由此再进一步的对其具体构成成分进行识别;
即把图像中颜色色系相同值的区域找出来,由此可以得出一系列大小各不相同的最大连通区域(Max Connection Zone),把这一个因素作为估算单独的每个菜所占整体图像中面积中的其中一个因素之一;
《b2》基于上一步找到的最大连通区域后,我们再通过OpenCV框选出图像中菜品中各个单独的菜的轮廓,随后按照一定的顺序对进行轮廓区域的标注,由此得出了各轮廓区域的坐标,得到一个坐标系集合:再计算这些坐标系集合所构成的区域的总面积(设其总面积为:S_total),由此再计算出每个子轮廓区域所占整体总面积(S_total)的百分;同时把这一步得到的各个菜的轮廓坐标也作为估算单个菜占总体菜品面积的因素之一;
《b3》接《b2》步,对每个标注好的轮廓内的像素的颜色HSV分量,即色相、饱和度和明亮度的分布进行获取,以此取得该轮廓框内菜的颜色信息;把这些颜色分量信息也作为计算单独每个菜占总体菜品的面积的因素;
到此我们再把步骤《b1》得到的最大连通区域+《b2》得到的轮廓区域+《b3》得到的轮廓框内的颜色信息,进行叠加求交集:再用得到的这个信息和开源的训练数据集下的菜系/水果/配料等进行匹配,从而得到更为精确的该菜品下单独每个菜的实际名称;
得到每个菜品下单独的菜的名称后,结合营养元素表,算出每个菜品下营养元素,由此推出这道菜品具体的营养构成。
进一步的,还包括由上述步骤得到了某张图像这道具体菜品的名称,菜品下单独每个荤菜/素材/水果/配料等的名称,然后我们在构建的知识图谱中进行搜索匹配,具体的方法是:
根据用户在app中的操作习惯作为用户侧的模型,再辅以上述识别出的菜品的名称:用这个菜品的特征作为菜的训练模型;最后则对用户侧的模型和这道菜品的特征构建的模型进行融合后得出一个分数;再匹配推荐出一个经过排序的由不同的菜品名称构成的列表供用户选择,这个菜品推荐的列表中的菜品同样包含有通过上述由视频分帧而得到的菜品的营养元素一样或者接近;
进一步的,在获取推荐的菜品后,程序会进入下一步:把该菜的菜谱,包括烹饪信息:烹饪时间,烹饪工具,烹饪方式,再辅以烹饪流程的图片或者视频,推送到用户侧。
我们算法的出发点是:对摄像头中的视频进行实时分帧,分帧后按照一定的概率抽取其中的某帧为静态图片,然后对图片进行两方面的模型学习&训练:
1.对图片进行语义分割的模型处理;
2.对图片进行“文本化”模型处理,像“看图说话”的效果;
对经由上面第一点与第二点得到的模型进行模型融合处理,最后识别出视频下有哪些菜品(物品)。
其中:
1:语义分割阶段用现成的已经标注好PASCAL VOC 2012/COCO 2020图片信息作为菜品信息标注的基础蓝本,这些开源的图片信息包括:坐标,类别,颜色等信息,我们根据这些标注的原则来对我们的菜品信息进行标注。
语义分割定义:是图像分类的子任务,具体指将图像中的每个像素链接到类标签的过程。对应给定的图片,我们把语义分割视为像素级别的图像分类,和图片中是否有文字没有关系。
本文中我们将采用CRF(条件随机场)来对图片进行语义分割(用开源的):
<a>在对图片中物体的类别进行预测前,我们先将图片中的临近的像素信息视为有关联的,每一个像素可能都是与有限的状态集相关联的;
<b>在语义分割中,target类别标签就是可能的状态集;
<c>将一个状态分配给某一个像素称为unary cost,考虑对像素间的关系建模:我们将一对label(u,v)分配给一个对应的像素(x,y),称为成对成本(pairwise cost),图像中unary cost和pairwise cost的相加加权求和后作为CRF的损失函数,末尾求解最小化就可以得出较好的图像的分割。
2:分帧实现为:对摄像头中的视频进行实时分帧,分帧后按照一定的概率抽取其中的某帧为静态图片;
《a1》利用opencv实时地把实现每秒按照30帧/秒(可以按照训练的准确率调节)这样的图片序列:在这1秒内,视频是简单的叠加(人的肉眼无法辨识到:因为速度块),我们将这1秒内的(已经1秒分30帧)30帧抽出其中的:例如第1/6/11/16/21/26/帧的图片序列;
《a2》用opencv根据图片的HSV分量(色相(Hue)、饱和度(Saturation)和明亮度(Value))的分布情况,来选择符合下一轮判断的图片;
《a3》承接上步后,同样利用opencv框选出抽取出的帧的边界坐标位置:
如选取的图片为空,则会直接抛弃不参与下一阶段的判断;如选择的图片非空,则会继续参与下轮的判断;
《a4》按照最优的原则,选择其中的2张:
《a5》对这2张做图片转矩阵表示(numpy实现):
对2张图片的坐标点求和,之后生成新图片:新图片是2张图片的坐标点(位移坐标点的均值)。
3:‘看图说话’《Image Captioning》任务的定义是对一幅图片生成相对于图片内容的文本描述。一个AI系统不仅需要对图片进行识别,也需要理解和解释看到的图片内容,并且能够像人一样描述出图片中的对象之间的关系。‘看图说话’其基本思想是利用卷积神经网络《CNN》来做图像的特征提取,利用LSTM(长短期记忆网络,能够处理长短不一的序列式数据,比如语言句子。给定一个输入,网络能够给出一个序列输出。)来生成图片的描述。
图像到文字的问题可以看做是一种机器翻译,在现在的机器翻译模型中,以LSTM为基础的seq2seq模型,该模型的基本思想是,对于一个数据pair(A,B)。因为A和B表达的是同一个意思,所以存在某种隐含状态h,使得A和B都对应到h。于是seq2seq模型就先对A进行编码,得到一个数据表示,再基于这个数据表示去解码,生成目标语言的文字。
本发明的有益效果:
一、相对于以往其他行业用单模态(仅以视频或图片或文本)进行物体的识别,我们用了多模态模型,视频+图片(由前述补充的视频分帧得到的图片)+文本模型进行融合的识别,增加了数据识别的准确度;
二、模型训练中加入了参数服务器,数据服务器,训练的速度加快了;
三、训练中,在模型融合(多模态融合)阶段,增加了强化学习的算法,增加了模型:《A》泛化能力(泛化:指模型的通用能力,普适性);《B》提高拟合的速度。
附图说明
图1为本发明的多模态融合流程图。
图2为本发明的用户模型结合菜品模型而得出的流程图。
图3为本发明的系统原理图。
具体实施方式
如图1、2、3所示,
一种基于多模态融合的识别方法及其应用:
包括:
数据服务器:用于存储数据(包括训练/测试/验证数据),注意:存储文本和存储图像&视频的服务器类型不一样;
参数服务器:用于存储视频/图片/文本(NLP)等模型下各自模型的参数,包括模型初始状态、训练轮数、梯度、激活函数、优化函数等;
数据服务器和参数服务器均是主/从结构的配置(基于Master/Slave);
还包括以下步骤:
一、特征提取&训练分类器,分别针对视频、图片、文本提取其特征向量:
//视频子模型:
101、对实时视频采用光流密度估算算法,辅以结合移动物体跟踪的算法,初步定位视频中物体的位置,得出其轮廓的坐标:
102、对上步得到的视频内坐标范围内的视频的像素等维度特征进行框选&提取,用最大连通通量算法对无关的背景进行移除;
103、利用OpenCV对第102步的动态视频特征进行分帧处理为不同的基于时间序列的图片(到此步,已经初步得到视频下的某张图的物体,无关的背景已经去除)
104、对其按照某个概率分布如正态分布抽取其中的某一张图片,待下步使用;
//图片子模型:
201、输入由上步视频特征提取得到的图片,对图片进行灰度化,去模糊等操作;
202、设计一系列的卷积神经网络对图片进行提取特征,采用FPN(业界开源的模型,叫“金字塔模型”)提取,此结构的好处是:可以对图片中不同大小的物体进行同时提取(同步卷积处理);
203、利用得到的特征匹配开源的数据集里的标签,得出其是某个类别的概率;
204、对得到的一系列特征(或叫某个类别的概率)进行加密与数值转换(节省存储空间,加快搜素):
<a>得到的特征后,我们用例如RSA/SHA1这样的开源算法对特征进行加密,服务器保存公钥,相对应的私钥由各方存储;
<b>在进入下一轮的迭代训练的时候,首先先多公钥和私钥的MD5的checkchuck进行校检,符合则进到下一轮;
<c>当训练到一定的轮数或者准确率达到预定的阈值的时候,则停止训练,此时,把训练后得到的加密的类别进行转数值的操作,当前的训练模型的参数(特征)的字节占内存空间的4位,我们用科学计算工具scipy和numpy强制对字节进行转换:压缩。
到达此步,图片已经转成了一系列大小不一的矩阵表征,创新点在于:
《1》在矩阵转换前,加入了某套加密的方法,例如加入了基于“凯撒”密码的加密集,对矩阵进行搅乱,作用是:即使数据泄露,也难以解码,增加数据安全性;
《2》加密后的矩阵,进行数值转化:例如把某特征归一化为某个范围内的数值表示,如:X_10_EOF_hk为茄子。
//文本(NLP)子模型:
301、对于从201步得到的图片进行“看图说话”《NLP中的任务是:Image Caption》的训练,首先,是这张图片进行数据增强处理:翻转、缩小,扩大等处理,增加其特征的表达准确度;
302、对经由301得到的某张图的一系列图(不同视觉或维度)参考下面的开源数据集进行转换的训练(从图片直接转为文本的编码器的转换),一张图会初步生成大约4-5张的图片描述的文本介绍;
(本段采用的思路:预测文字:使用一个CNN去做目标识别,并且根据bounding box生成可能出现的文字
生成句子:通过一个统计语言模型,生成很多个可能的句子集合
重新排序已经生成的句子:通过学习一个Deep Multimodal Similarity Model(DMSM)去重新排序所有可能的句子集合,取最高分数的句子作为系统输出)。
303、得到文字描述后,用BiLSTM(备注:双向长短期记忆网络,它是循环神经网络的一种)对文字进行上下文(词前后的关联度的)进行组合排序;
304、而后再接入一层判别其类别的CRF层;
305、得出文字描述的最终排序;
二、多模态融合,将前述分阶段(视频/图片/文本)得到的子模型进行映射,方法:
通过视频到图片,图片到文本的两重映射器将其映射到一个空间维度内,算出其属于某个类别的概率(本步会输出多个概率),在此步,加入强化学习算法(开源):
《A》对映射到某个空间的概率进行排序,引入强化学习中的基于value_base的策略学习算法,对其进行新的一轮的排序;
《B》不断的去寻找新的策略空间(排序)
经由此步,强化学习输出了一个最大可能性的概率排序;
进一步的,经过多模态融合模型之后,得到物体的类别的概率,作为输入进入后续深度强化学习步骤的算法设计,具体为:
《1》我们设计的算法中有个多模态的信息之后(视频、图片、文本模态的信息):我们得到了某一连续时刻下当前状态的物体的概率,到此步为止,我们将得到的概率作为深度强化学习算法侧的输入,作为智能体周围所形成的环境;
《2》但是在识别的过程中:强化学习环境里,每秒(甚至细化到毫秒)的状态都是变化的,强化学习需要每时每刻都维护一张基于内存的动态的表:可以是基于值的/基于策略的(基于智能体与环境交互后,从而获得每个时期的reward《回报值》),这张表虽然在某个时间点是可以释放的,如果在某一同一时刻:更多的智能体和更多的用户用这个模型,就很有可能造成服务器侧内存缓存的挂起,可能导致一些模态下子模型的不可用:而这一系列在深度学习环境中的子模型和多模态的融合模型,它们在编码方式上:其本质上是靠传递实数值激活各层神经元来传递信息的,而这样的传递方式基于网络中的神经元是没有任何记忆的,这就是导致了上述提及到的强化学习中需要维护一张动态的表的原因(等待完成某个回合的迭代后才释放)。
《3》承接上面的第《2》点,在某个时刻由多模态模型传递到强化学习的时候,我们的创新点是:
创建一个基于SNN(脉冲神经网络的)的神经网络来学习,SNN是一个随着时间变化的,带有记忆特性的神经网络:这样就可以省去了在前述强化学习当中需要维护一张临时中间表的所占用的计算量;
《4》构建基于电流的LIF(Leaky Integrate-and-Fire)脉冲神经网络元模型(本质上,通过计算机内部的一系列元件的代码等都是由通过的电流组成的),因为其具有携带记忆信息的功能(但是脉冲神经网络是极其稀疏的一种信号),我们通过设计一种高通滤波器来获取某个时间节点下通过某段脉冲神经网络的信号量,当其信号量满足预设的阈值的时候,再通过脉冲神经网络在在各神经元之间传递脉冲信号;
《5》由第《4》步,得到了一个基于传递脉冲信号的突触电流的响应模型,我们基于常用的电流模型(其通常是基于指数衰减的模型),此步,我们创造性地融入了MCMC(马尔可夫蒙特卡洛)时间序列模型,对某个时间序列内的衰减模型进行加权求和,从而得到一个瞬间脉冲信号;
《6》基于第《5》步,对某个时间序列里得到的脉冲序列作为模拟数值编码为脉冲序列(Spike Trains)按照一定的比例输入到深度强化学习(简称:RL)中,此处用DQN来作RL的模型,从而得到当前某个状态下和环境交互得到的最优的某个物体的(经过多模态融合模型步骤之后)概率的输出;不断重复上述的《3》->《6》。
三、得出类别:在最后一层:接入一层神经网络的输出层,输出类别。
一种基于多模态融合的识别方法在菜品识别中的应用
承接上步之后,得到了即时视频下的菜品的类别名称:即具体的菜品的名称,由此再进一步的对这道菜品的具体构成成分进行识别(在上文里已经通过视频分帧技术得到具体的某个时刻里的静态图像):
下面步骤的作用是:计算出当前时刻中图像里呈现出的菜品的各构成的单元的菜的相对面积。
《a》对由前述方法得到的菜品的图像(至此,已经可以识别出具体的菜名),我们再对已经识别出的菜品进行更细维度的识别:即识别该菜品具体由哪些菜(荤/素菜)构成。
《b1》在包含菜品的图像中寻找每个单独菜的最大连通区域。
即把图像中颜色色系相同值的区域找出来:由此可以得出一系列大小各不相同的最大连通区域(Max Connection Zone):把这一个因素作为估算单独的每个菜(有荤菜,素菜,水果配料《可能有水果配料,例如:菜品:菠萝咕噜肉中有水果:菠萝》)所占整体图像中面积中的其中一个因素之一;
《b2》基于上一步找到的最大连通区域后,我们再通过OpenCV框选出图像中菜品中各个单独的菜的轮廓,随后按照一定的顺序对进行轮廓区域的标注(顺序为:从左到右,自上及下),由此得出了各轮廓区域的坐标,得到一个坐标系集合:再计算这些坐标系集合所构成的区域的总面积(设其总面积为:S_total),由此再计算出每个子轮廓区域(分布代表不同的菜)所占整体总面积(S_total)的百分比(也可称比例)。同时把这一步得到的各个菜的轮廓坐标也作为估算单个菜占总体菜品面积的因素之一;
《b3》接《b2》步,对每个标注好的轮廓内的像素的颜色HSV分量(色相(Hue)、饱和度(Saturation)和明亮度(Value))的分布进行获取,以此取得该轮廓框内菜的颜色信息。把这些颜色分量信息也作为计算单独每个菜占总体菜品的面积的因素;
到此:我们再把步骤《b1》得到的最大连通区域+《b2》得到的轮廓区域+《b3》得到的轮廓框内的颜色信息,进行叠加求交集:再用得到的这个信息和开源的训练数据集下的菜系/水果/配料等进行匹配,从而得到更为精确的该菜品下单独每个菜的实际名称:例如得出菜品“菠萝咕噜肉”由下面菜元素构成:黄色的菠萝(20%),棕褐色的猪肉(70%),青色的葱(5%);
由前步得到每个菜品下单独的菜的名称后,结合营养元素表,算出每个菜品下(这里指具体的单独的荤菜,素材,水果等配料)营养元素:按照国标的每100g包含多少毫克/微克来计算,由此推出这道菜品具体的营养构成;
由上述步骤得到了某张图像(这里的图像是经过视频下分帧得到的,在部署算法的服务器上:由视频到图像的分帧一般时间范围在:2-5毫秒左右)这道具体菜品的名称,菜品下单独每个荤菜/素材/水果/配料等的名称,然后我们在构建的知识图谱中进行搜索匹配,具体的方法是:
根据用户在app中的操作习惯(经过数据脱敏加密转换后的浏览,搜索,换菜,拍照上传菜品等行为):这些作为用户侧的模型,再辅以上述识别出的菜品的名称:用这个菜品的特征(例如口味特征甜,颜色特征,营养素特征等)作为菜的训练模型。最后则对用户侧的模型和这道菜品的特征构建的模型进行融合后得出一个分数:再匹配推荐出一个经过排序的由不同的菜品名称构成的列表供用户选择:这个菜品推荐的列表中的菜品(知识图谱中的菜品由营养师精选得到)同样包含有通过上述由视频分帧而得到的菜品的营养元素一样或者接近。
在获取推荐的菜品后,程序会进入下一步:把该菜的菜谱,包括烹饪信息:烹饪时间,烹饪工具,烹饪方式等,再辅以烹饪流程的图片或者视频,推送到用户侧。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换或改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于多模态融合的识别方法,其特征在于,包括:
数据服务器:用于存储数据,包括训练、测试、验证数据,
参数服务器:用于存储视频/图片/文本(NLP)模型下各自模型的参数;
数据服务器和参数服务器均是主、从结构的配置,基于Master、Slave;
还包括以下步骤:
步骤一:特征提取&训练分类器,分别针对视频、图片、文本提取其特征向量:
视频子模型:
101、对实时视频采用光流密度估算算法,辅以结合移动物体跟踪的算法,初步定位视频中物体的位置,得出其轮廓的坐标:
102、对上步得到的视频内坐标范围内的视频的像素等维度特征进行框选&提取,用最大连通通量算法对无关的背景进行移除;
103、利用OpenCV对第102步的动态视频特征进行分帧处理为不同的基于时间序列的图片;
104、对其按照某个概率分布抽取其中的某一张图片,待下步使用;
图片子模型:
201、输入由上步视频特征提取得到的图片,对图片进行灰度化,去模糊操作;
202、设计一系列的卷积神经网络对图片进行提取特征,采用FPN提取,;
203、利用得到的特征匹配开源的数据集里的标签,得出其是某个类别的概率;
文本(NLP)子模型:
301、对于从201步得到的图片进行“看图说话”的训练,生成相对于图片内容的文本描述;首先是这张图片进行数据增强处理,增加其特征的表达准确度;
302、对经由301得到的某张图的一系列图根据开源数据集进行转换的训练生成若干张的图片描述的文本介绍;
303、得到文字描述后,用BiLSTM对文字进行上下文组合排序;
304、而后再接入一层判别其类别的CRF层;
305、得出文字描述的最终排序;
步骤二:多模态融合,将前述分阶段视频、图片、文本得到的子模型进行映射,通过视频到图片,图片到文本的两重映射器将其映射到一个空间维度内,算出多个其属于某个类别的概率,并加入强化学习开源算法:
《A》对映射到某个空间的概率进行排序,引入强化学习中的基于value_base的策略学习算法,对其进行新的一轮的排序;
《B》不断的去寻找新的策略空间;
经由此步,强化学习输出了一个最大可能性的概率排序;
步骤三:得出类别:在最后一层,接入一层神经网络的输出层,输出类别。
2.根据权利要求1所述一种基于多模态融合的识别方法,其特征在于,所述各自模型的参数包括模型初始状态、训练轮数、梯度、激活函数、优化函数。
3.根据权利要求1所述一种基于多模态融合的识别方法,其特征在于,所述步骤104按照正态分布抽取。
4.根据权利要求1所述一种基于多模态融合的识别方法:所述步骤101具体为:在摄像头镜头的成像原理下:
《1》物体在二维平面的投影面积的关系:物体到镜头的距离与物体到投影截面的距离成正比;S:面积,Dict:距离;分别对各项指标取对数,此处均取以10为底的对数:
Log(Dist(物->镜头)):Log(Dist(物->投影界面))=Log(S(实际物体面积)):Log(S(投影截面面积))
《2》在某个单位时间内,某点光源到物体表面形成的投影面积:物体的实际面积大小;
Log(Dist(光源->物)):Log(Dist(物->投影截面))=Log(S(实际物体面积)):Log(S(投影截面面积))
《3》由第《2》&《3》推出:
Log(Dist(物->镜头)):Log(Dist(光源->物))=Log(S(实际物体面积)):Log(S(投影截面面积))
此处,得出物体的某个时间点的大致坐标;下步是获取连续时间范围内的坐标(基于MCMC):在一定的时间范围里,会存有N个可能的状态序列,我们对其序列进行概率性的预测;
根据上述公式,我们得出:设某个时间点为t,其初始的状态是state(t),我们根据MCMC预测其下点坐标概率:
P(state(t+1)|state(t))=(state(t)+state(t+1))/state(t)*state(t+1)最后,计算其最大似然估计:
L=1/2*ln L(theta|Pt,Pt+1)
THETAmle=argmax*^L(theta|Pt,Pt+1)
到此,得到确切的点的坐标THETAmle。
5.根据权利要求1所述一种基于多模态融合的识别方法,其特征在于,所述步骤203后,对得到的一系列特征进行加密与数值转换:
<a>得到的特征后,我们用例如RSA/SHA1这样的开源算法对特征进行加密,服务器保存公钥,相对应的私钥由各方存储;
<b>在进入下一轮的迭代训练的时候,首先先多公钥和私钥的MD5的checkchuck进行校检,符合则进到下一轮;
<c>当训练到一定的轮数或者准确率达到预定的阈值的时候,则停止训练,此时,把训练后得到的加密的类别进行转数值的操作,当前的训练模型的参数的字节占内存空间的4位,我们用科学计算工具scipy和numpy强制对字节进行转换:压缩;图片转成了一系列大小不一的矩阵表征。
6.根据权利要求1所述一种基于多模态融合的识别方法:所述步骤302采用的方法:
预测文字:使用一个CNN去做目标识别,并且根据bounding box生成可能出现的文字;
生成句子:通过一个统计语言模型,生成很多个可能的句子集合;
重新排序已经生成的句子:通过学习一个Deep Multimodal Similarity Model去重新排序所有可能的句子集合,取最高分数的句子作为系统输出。
7.根据权利要求1所述一种基于多模态融合的识别方法,其特征在于,所述步骤二中,经过多模态融合模型之后,得到物体的类别的概率,作为输入进入后续深度强化学习步骤的算法设计,具体为:
《1》我们设计的算法中有视频、图片、文本模态的信息之后:我们得到了某一连续时刻下当前状态的物体的概率,我们将得到的概率作为深度强化学习算法侧的输入,作为智能体周围所形成的环境;
《2》强化学习需要每时每刻都维护一张基于内存的动态的表;
《3》创建一个基于SNN(脉冲神经网络的)的神经网络来学习,省去在前述强化学习当中需要维护一张临时中间表的所占用的计算量;
《4》构建基于电流的LIF(Leaky Integrate-and-Fire)脉冲神经网络元模型,我们通过设计一种高通滤波器来获取某个时间节点下通过某段脉冲神经网络的信号量,当其信号量满足预设的阈值的时候,再通过脉冲神经网络在在各神经元之间传递脉冲信号;
《5》由《4》得到了一个基于传递脉冲信号的突触电流的响应模型,我们基于常用的电流模型,融入了MCMC(马尔可夫蒙特卡洛)时间序列模型,对某个时间序列内的衰减模型进行加权求和,从而得到一个瞬间脉冲信号;
《6》基于《5》,对某个时间序列里得到的脉冲序列作为模拟数值编码为脉冲序列按照一定的比例输入到深度强化学习(简称:RL)中,此处用DQN来作RL的模型,从而得到当前某个状态下和环境交互得到的最优的某个物体的概率的输出;并不断重复上述的《3》->《6》。
8.一种如权利要求1-7任一项所述的基于多模态融合的识别方法在菜品识别中的应用,其特征在于,包括以下步骤:
得到了即时视频下的类别名称,由此再进一步的对其具体构成成分进行识别;
即把图像中颜色色系相同值的区域找出来,由此可以得出一系列大小各不相同的最大连通区域(Max Connection Zone),把这一个因素作为估算单独的每个菜所占整体图像中面积中的其中一个因素之一;
《b2》基于上一步找到的最大连通区域后,我们再通过OpenCV框选出图像中菜品中各个单独的菜的轮廓,随后按照一定的顺序对进行轮廓区域的标注,由此得出了各轮廓区域的坐标,得到一个坐标系集合:再计算这些坐标系集合所构成的区域的总面积(设其总面积为:S_total),由此再计算出每个子轮廓区域所占整体总面积(S_total)的百分;同时把这一步得到的各个菜的轮廓坐标也作为估算单个菜占总体菜品面积的因素之一;
《b3》接《b2》步,对每个标注好的轮廓内的像素的颜色HSV分量,即色相、饱和度和明亮度的分布进行获取,以此取得该轮廓框内菜的颜色信息;把这些颜色分量信息也作为计算单独每个菜占总体菜品的面积的因素;
到此我们再把步骤《b1》得到的最大连通区域+《b2》得到的轮廓区域+《b3》得到的轮廓框内的颜色信息,进行叠加求交集:再用得到的这个信息和开源的训练数据集下的菜系/水果/配料等进行匹配,从而得到更为精确的该菜品下单独每个菜的实际名称;
得到每个菜品下单独的菜的名称后,结合营养元素表,算出每个菜品下营养元素,由此推出这道菜品具体的营养构成。
9.根据权利要求8所述基于多模态融合的识别方法在菜品识别中的应用,其特征在于,还包括由上述步骤得到了某张图像这道具体菜品的名称,菜品下单独每个荤菜/素材/水果/配料等的名称,然后我们在构建的知识图谱中进行搜索匹配,具体的方法是:
根据用户在app中的操作习惯作为用户侧的模型,再辅以上述识别出的菜品的名称:用这个菜品的特征作为菜的训练模型;最后则对用户侧的模型和这道菜品的特征构建的模型进行融合后得出一个分数;再匹配推荐出一个经过排序的由不同的菜品名称构成的列表供用户选择,这个菜品推荐的列表中的菜品同样包含有通过上述由视频分帧而得到的菜品的营养元素一样或者接近。
10.根据权利要求9所述基于多模态融合的识别方法在菜品识别中的应用,其特征在于,在获取推荐的菜品后,程序会进入下一步:把该菜的菜谱,包括烹饪信息:烹饪时间,烹饪工具,烹饪方式,再辅以烹饪流程的图片或者视频,推送到用户侧。
CN202210983994.8A 2022-08-17 2022-08-17 一种基于多模态融合的识别方法及其应用 Pending CN115359394A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210983994.8A CN115359394A (zh) 2022-08-17 2022-08-17 一种基于多模态融合的识别方法及其应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210983994.8A CN115359394A (zh) 2022-08-17 2022-08-17 一种基于多模态融合的识别方法及其应用

Publications (1)

Publication Number Publication Date
CN115359394A true CN115359394A (zh) 2022-11-18

Family

ID=84033640

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210983994.8A Pending CN115359394A (zh) 2022-08-17 2022-08-17 一种基于多模态融合的识别方法及其应用

Country Status (1)

Country Link
CN (1) CN115359394A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553918A (zh) * 2021-06-30 2021-10-26 电子科技大学 一种基于脉冲主动学习的机打发票字符识别方法
CN116363566A (zh) * 2023-06-02 2023-06-30 华东交通大学 一种基于关系知识图的目标交互关系识别方法
CN117437382A (zh) * 2023-12-19 2024-01-23 成都电科星拓科技有限公司 一种数据中心部件的更新方法及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553918A (zh) * 2021-06-30 2021-10-26 电子科技大学 一种基于脉冲主动学习的机打发票字符识别方法
CN113553918B (zh) * 2021-06-30 2023-09-26 电子科技大学 一种基于脉冲主动学习的机打发票字符识别方法
CN116363566A (zh) * 2023-06-02 2023-06-30 华东交通大学 一种基于关系知识图的目标交互关系识别方法
CN116363566B (zh) * 2023-06-02 2023-10-17 华东交通大学 一种基于关系知识图的目标交互关系识别方法
CN117437382A (zh) * 2023-12-19 2024-01-23 成都电科星拓科技有限公司 一种数据中心部件的更新方法及系统
CN117437382B (zh) * 2023-12-19 2024-03-19 成都电科星拓科技有限公司 一种数据中心部件的更新方法及系统

Similar Documents

Publication Publication Date Title
CN110135375B (zh) 基于全局信息整合的多人姿态估计方法
Kae et al. Augmenting CRFs with Boltzmann machine shape priors for image labeling
CN115359394A (zh) 一种基于多模态融合的识别方法及其应用
CN108460812B (zh) 一种基于深度学习的表情包生成系统及方法
CN110942009B (zh) 基于时空混合卷积网络的跌倒检测方法与系统
CN115205949B (zh) 图像生成方法以及相关设备
CN112738556B (zh) 视频处理方法及装置
CN110446063A (zh) 视频封面的生成方法、装置及电子设备
CN110033018A (zh) 图形相似度判断方法、装置及计算机可读存储介质
CN112183198A (zh) 肢体骨架和头手部件轮廓融合的手势识别方法
CN109871736A (zh) 自然语言描述信息的生成方法及装置
CN113963032A (zh) 一种融合目标重识别的孪生网络结构目标跟踪方法
CN112668492A (zh) 一种自监督学习与骨骼信息的行为识别方法
CN117149944B (zh) 一种基于宽时间范畴的多模态情境情感识别方法及系统
Ding et al. Skeleton-based square grid for human action recognition with 3D convolutional neural network
CN115223020B (zh) 图像处理方法、装置、设备、存储介质及计算机程序产品
CN112668638A (zh) 一种图像美学质量评估和语义识别联合分类方法及系统
CN111046213B (zh) 一种基于图像识别的知识库构建方法
CN115131849A (zh) 图像生成方法以及相关设备
CN112906520A (zh) 一种基于姿态编码的动作识别方法及装置
CN114494543A (zh) 动作生成方法及相关装置、电子设备和存储介质
CN109299777B (zh) 一种基于人工智能的数据处理方法及其系统
CN111339786B (zh) 语音处理方法、装置、电子设备及存储介质
CN114817627A (zh) 基于多面视频表示学习的文本到视频的跨模态检索方法
CN113362088A (zh) 一种基于crnn的电信行业智能客服图像识别的方法及其系统

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
CB03 Change of inventor or designer information

Inventor after: Wu Gang

Inventor after: Li Canfeng

Inventor after: Xue Qiyun

Inventor after: Zhang Gengrong

Inventor before: Wu Gang

Inventor before: Li Yuqi

Inventor before: Xue Qiyun

Inventor before: Zhang Gengrong

CB03 Change of inventor or designer information