[0058] 为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
[0059] 在以下描述中,为了提供对本发明的透彻理解阐述了大量特定细节。然而,对于本领域普通技术人员显而易见的是:不必采用这些特定细节来实行本发明。在其他实例中,为了避免混淆本发明,未具体描述公知的结构、电路、材料或方法。
[0060] 在整个说明书中,对“一个实施例”、“实施例”、“一个示例”或“示例”的提及意味着:结合该实施例或示例描述的特定特征、结构或特性被包含在本发明至少一个实施例中。因此,在整个说明书的各个地方出现的短语“一个实施例”、“实施例”、“一个示例”或“示例”不一定都指同一实施例或示例。此外,可以以任何适当的组合和、或子组合将特定的特征、结构或特性组合在一个或多个实施例或示例中。此外,本领域普通技术人员应当理解,在此提供的示图都是为了说明的目的,并且示图不一定是按比例绘制的。这里使用的术语“和/或”包括一个或多个相关列出的项目的任何和所有组合。
[0061] 在本发明的描述中,需要理解的是,术语“前”、“后”、“左”、“右”、“上”、“下”、“竖直”、“水平”、“高”、“低”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明保护范围的限制。
[0062] 实施例一:
[0063] 如图1所示,本发明一种基于交叉重建的多视角分类系统及方法,参考图1,图1为本实施例提供的基于交叉重建的多视角分类的方法流程图,具体可以包括:
[0064] S101:设计两个自编码网络结构,并设计交叉重建模块,如图2所示。
[0065] S102:初始化网络,接收两个视角的原始图像数据,并将其分别转换为向量形式,对每个视角的多张图像得到的向量进行拼接得到相应的矩阵形式。
[0066] 本实施例中,接收由采集方式不同的手写数字的两个视角数据即USPS和MNIST数据集,具体的样本实例如图3,形成相应的视角样本矩阵X1和X2,具体的,两个视角数据是成对方式输入的,也就是说两个成对视角数据的类别是一致的,但不是要求同时采样。
[0067] 实际应用中,在对所述待识别的多视角数据图像进行识别之前,首先将所述待识别的多视角图像转换成向量形式。具体的,可以首先获取待识别的多视角图像的像素矩阵,其次,将获取的像素矩阵中的每行像素或者每列像素收尾连接,得到所述待识别的多视角图像的向量形式;最终,对多张图像得到的向量进行拼接得到相应的矩阵。还可以输入由可见光和近红外采集的人脸图像等两视角数据。
[0068] S103:对输入的原始图像数据的矩阵形式,利用不同的编码器分别得到各个视角数据的编码向量;
[0069] 本实施例中:利用图2中的编码器f对USPS中的数据形成的矩阵形式X1进行编码,利用编码器g对MNIST中的数据形成的矩阵形式X2进行编码,分别得到其对应的编码向量。
[0070] 实际应用中:设计两个相同的自编机网络,并添加交叉重建模块。每一个视角对应其中一个自编机网络,利用交叉重建模块来关联不同的视角。分别利用两个类自编码网络的编码器处理视角1和视角2得到各自的编码,用公式(1)和公式(2)表示。
[0071] Y1=f(X1) (1)
[0072] Y2=g(X2) (2)
[0073] 其中,f,g表示对应的编码器,Y1,Y2表示视角1和视角2得到的编码。
[0074] S103:利用每个视角的编码和类自编码网络的解码器进行自我重建以及跨视角重建,分别得到自我重建样本和跨视角重建样本;
[0075] 本实施例中:分别利用两个解码网络对USPS和MNIST的编码进行自我重建和交叉重建,得到自我重建和交叉重建样本。
[0076] 实际应用中:根据设计的类自编机的解码器,利用解码器p接受不同的输入:即接受视角1的编码和接受视角2的编码对视角1进行重建。可以使用公式(3)和(4)表示:
[0077] Y1_1=p(Y1) (3)
[0078] Y2_1=p(Y2) (4)
[0079] 其中,Y1_1表示由视角1的编码重建得到的视角1样本,Y2_1表示由视角2的编码重建得到的视角1样本;
[0080] 同理,利用解码器q接受不同的输入:即接受视角1的编码和接受视角2的编码对视角2进行重建。可以使用公式(5)和(6)表示:
[0081] Y1_2=q(Y1) (5)
[0082] Y2_2=q(Y2) (6)
[0083] 其中,Y1_2表示由视角1的编码重建得到的视角2样本,Y2_2表示由视角2的编码重建得到的视角2样本。
[0084] S104:对原始样本和重建样本进行重建误差约束。
[0085] 本实施例中:利用上述由USPS样本编码重建得到的USPS样本和MNIST样本,以及由MNIST样本编码重建得到的USPS和MNIST样本,使自我重构误差最小来保证每个视角编码的完整性,和交叉重构误差最小来为每个视角的编码引入其他视角的信息,使每个视角得到更为丰富的表达。
[0086] 实际应用中:约束自我重构误差和交叉重构误差最小,自我重构误差最小表明每个视角得到的编码都可以完整的重构自己,确保得到的编码的完整性;交叉重构误差最小表明该视角样本可以由另一个视角来重构,确保得到的每个视角的编码所包含的信息是丰富的。可以使用公式(7)进行表示:
[0087]
[0088] S105:为了得到更一致的表达,对各个视角的编码进行编码一致性约束;
[0089] 本实施例中:对USPS和MNIST得到的编码进行对应相减,即一个USPS样本的编码和其对应同类别的MNIST的样本的编码进行相减。最终得到一个相减后的矩阵,对这个矩阵进行一个L2范数的约束,来使得他们之间的编码越接近越好。
[0090] 实际应用中:由于多视角数据的底层结构是相似的,因此视角i和视角j得到的编码Yi,Yj应该是互相一致的。利用公式(8)进行视角编码之间的一致性约束。
[0091]
[0092] S106:结合上述两个约束,进行网络训练,更新编码网络和解码网络的参数,直到收敛。利用最终训练好的类自编码网络得到更具一致性的多视角数据表达。
[0093] 本实施例中:将编码一致性约束整合到重建误差最小模型中,并对编码一致性约束添加超参数项来控制其对整个模型的影响。然后输入USPS和MNIST样本的矩阵形式,计算得到最终的目标损失函数,利用随机梯度下降法对网络的参数进行更新,不断迭代训练,直到收敛。最终,利用训练好的模型,可以得到USPS和MNIST样本的一致性表达。
[0094] 实际应用中:对上述两个约束进行整合,可以得到最终的目标函数如公式(9)所示:
[0095]
[0096] 其中超参数λ用来控制编码一致性项对整个模型的影响,可通过进行预实验来确定。确定好最终的目标函数后,就可以开始训练模型。输入两个视角样本图像的矩阵形式,计算其相应的编码,以及自我重建和跨视角重建样本,再根据公式(9)计算损失函数值,根据随机梯度下降法,利用Adam优化器进行编码网络和解码网络的参数更新。设置最大的迭代更新次数,直到其收敛则停止训练,至此类自编码网络训练完成。
[0097] S107:利用1‑NN分类器对得到的一致性表达进行分类。
[0098] 本实施例中:将USPS和MNIST的测试样本分别用上述训练完成的编码器进行编码,得到两个视角的编码。随后将其中一个视角的编码作为1‑NN分类器的训练数据,随后选取另一个视角样本的编码,计算这个测试样本与训练数据之间的距离,选取距离最小的那个距离所对应的训练数据样本的类别作为测试样本数据的预测分类。其中距离选择欧式距离。
[0099] 实际应用中:测试阶段使用成对视角的方式,通过某个视角训练得到的分类器预测其他视角数据的标签。其中一个视角的数据用作查询数据集(gallery set),另一个视角的数据用作测试数据集(probe set)。首先利用训练好的网络得到新来的成对视角的测试数据的编码。然后其中一个视角数据的编码及其对应的标签作为分类器的训练数据,另一个视角数据最为测试数据,计算测试数据与各个训练数据之间的距离,选取距离最小对应的训练数据样本的类别,将这个类别作为预测数据的预测分类。其中这个距离一般选取欧式距离或者曼哈顿距离如公式(10)和公式(11)表示。
[0100] 欧式距离:
[0101] 曼哈顿距离:
[0102] 其中k表示维度。
[0103] 实施例二:
[0104] 参考图4,图4为本实施例提供的多视角识别的结构装置图,所述转置包括:
[0105] 接收模块401,用于接收任意两个视角数据的多张图像,并将每一张图像转化成对应的向量形式,多张图对应的多个向量转化成矩阵形式;
[0106] 编码模块402,用于针对两个视角数据图像,计算每个视角每张图像对应的编码向量;
[0107] 重构模块403,用于根据每个视角的原始样本和每个视角图像的编码进行自我重建,以及利用另一个视角图像得到的编码进行交叉重建,得到每个视角的自我重建图和交叉重建图;
[0108] 约束模块404,用于根据每个视角图像的编码向量,得到编码差矩阵的二范数和;
[0109] 计算模块405,根据重构误差和编码差矩阵二范数最小,得到最终得到目标函数,以此来进行迭代训练更新网络参数,得到训练好的网络
[0110] 确定模块406,利用训练好的网络得到测试数据的编码,并利用1‑NN分类器对编码进行分类。
[0111] 具体的,所述编码模块利用公式(1)和(2),分别计算每个视角数据图像对应的编码:
[0112] Y1=f(X1) (1)
[0113] Y2=g(X2) (2)
[0114] 其中,两个视角数据形成相应的矩阵X1和X2,f,g表示对应的编码器,Y1,Y2表示视角1和视角2得到的编码。
[0115] 具体的,所述重构模块利用公式(3),(4),(5)和(6),得到每个视角对应的自我重建图和交叉重建图:
[0116] Y1_1=p(Y1) (3)
[0117] Y2_1=p(Y2) (4)
[0118] Y1_2=q(Y1) (5)
[0119] Y2_2=q(Y2) (6)
[0120] 其中,Y1_1表示由视角1的编码重建得到的视角1样本,Y2_1表示由视角2的编码重建得到的视角1样本;Y1_2表示由视角1的编码重建得到的视角2样本,Y2_2表示由视角2的编码重建得到的视角2样本。
[0121] 具体的,所述约束模块利用公式(7),得到编码差矩阵的二范数和:
[0122]
[0123] 具体的,计算模块利用公式(8),得到训练好的编码器;
[0124]
[0125] 另外,参考图5,图5所示为图4计算模块的结构图,其中405还具体包括:
[0126] 第一计算子模块501,用于根据目标函数计算出损失函数值;
[0127] 更新模块502,利用梯度下降法进行模型的求解,更新模型参数;
[0128] 判断模块503,根据当前的损失函数值,判断是否收敛,若收敛则停止更新模型,若不收敛,则继续进行模型更新;
[0129] 第一确定模块504,当模型已经收敛或是达到停止条件,则可确定最终的模型参数;
[0130] 本发明实施例还提供了一种终端,如图6所示,为了便于说明,仅展示了与本发明实施例相关的部分。该终端可以包括手机、平板、电脑、POS机等任意终端设备,以终端手机为例。
[0131] 图6显示的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图6,手机包括:射频(Radio Frequency,RF)电路、存储器、输入设备、显示设备、传感器、音频电路、无线保真(wirelessfidelity,WIFI)模块、处理器、电源等部件。本领域技术人员可以理解,图6中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0132] 下面结合图6对手机的各个构成部件进行具体的介绍:
[0133] RF电路可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LAN、双工器等。此外,RF电路还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobilecommunication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA),电子邮件、短消息服务(Short
Messaging Service,SMS)等。
[0134] 存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等,本发明中存储数据区可存储两个视角数据的图像,其中,多张图像可以被预先转化成矩阵的形式被存储。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0135] 输入设备可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。本发明中的输入设备可用于接收待分类的两个视角的图像数据。
[0136] 输出设备可用于输出显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。输出设备可括显示面板,可选的,可以采用液晶显示器(Liquid Crystal Display)、有机发光二极管(Organic Light‑Emitting Diode,OLED)等形式来配置输出显示面板。
[0137] 手机还可包括至少一种传感器,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节输出显示面板的亮度,接近传感器可在手机移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
[0138] 音频模块可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出。
[0139] WiFi属于短距离无线传输技术,手机通过WiFi模块可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。
[0140] 处理器是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器内的软件程序和/或模块,以及调用存储在存储器内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器可包括一个或多个处理单元;优选的,处理器可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器中。
[0141] 手机还包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理系统与处理器逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
[0142] 尽管未在图6中示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
[0143] 具体在本实施例中,终端中的处理器会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器中,并由处理器来运行存储在存储器中的应用程序,从而实现各种功能。
[0144] 接收两个视角的原始图像数据,并将这两个视角的图像分别转换为矩阵形式;
[0145] 利用原始图像数据的矩阵形式,分别得到两个视角数据图像的编码;
[0146] 利用这个编码进行自我重建以及交叉重建,分别得到自我重建样本和跨视角重建样本;
[0147] 对原始样本和重建样本进行重建误差约束;
[0148] 再对各个视角的编码进行编码一致性约束;
[0149] 结合上述两个约束,多次训练网络,得到训练好的模型;
[0150] 新来的视角样本通过训练好的模型得到一致性表达,利用1‑NN分类器对其进行分类,得到其所属的类别;
[0151] 进一步的,利用公式(1)和(2),分别计算每个视角图像数据对应的编码:
[0152] Y1=f(X1) (1)
[0153] Y2=g(X2) (2)
[0154] 其中,X1,X2表示视角1和视角2的原始数据,Y1,Y2表示视角1和视角2得到的编码矩阵。
[0155] 进一步的,利用公式(3)和公式(4)通过第一个解码器p进行自我重建和交叉重建[0156] Y1_1=p(Y1) (3)
[0157] Y2_1=p(Y2) (4)
[0158] 其中,Y1_1表示由视角1的编码重建得到的视角1样本,Y2_1表示由视角2的编码重建得到的视角1样本;
[0159] 利用公式(5)和公式(6)通过第二个解码器q进行自我重建和交叉重建
[0160] Y1_2=q(Y1) (5)
[0161] Y2_2=q(Y2) (6)
[0162] 其中,Y1_2表示由视角1的编码重建得到的视角2样本,Y2_2表示由视角2的编码重建得到的视角2样本
[0163] 进一步的,利用上述得到的每个视角的自我重建样本和跨视角重建样本,为了确保每个视角信息的完整性以及建立视角之间的联系,得到公式(7):
[0164]
[0165] 进一步的,利用公式(8)进行视角编码之间的一致性约束。
[0166]
[0167] 进一步的,整合得到最终的目标函数,公式如(9),并不断迭代训练确定最终的网络参数:
[0168]
[0169] 进一步的,新来的视角样本通过训练好的模型得到一致性表达,利用1‑NN分类器对其进行分类,得到其所属的类别。
[0170] 与现有技术相比,本实施例提供的多视角识别的装置综合考虑了单个视角的特征以及多个视角之间的内在关系并进一步对视角之间的编码进行约束,可大大提升多视角分类的准确率。
[0171] 以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。