[发明专利]一种提高海上场景仿真图片真实度的方法有效
申请号: | 202011484532.9 | 申请日: | 2020-12-15 |
公开(公告)号: | CN112561782B | 公开(公告)日: | 2023-01-03 |
发明(设计)人: | 苏丽;崔浩浩 | 申请(专利权)人: | 哈尔滨工程大学 |
主分类号: | G06T3/00 | 分类号: | G06T3/00;G06V10/26;G06V10/764;G06V10/82;G06N3/04;G06N3/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 150001 黑龙江省哈尔滨市南岗区*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 提高 海上 场景 仿真 图片 真实 方法 | ||
1.一种提高海上场景仿真图片真实度的方法,其特征在于,包括以下步骤:
步骤1:准备数据集,具体为:
准备三个数据集,包括:(1)海上场景仿真图片数据集Train_CG及其标签,要求标签将图片分割为天空,海面,前景目标三部分;(2)真实海面场景照片数据集Train_real及其标签,要求标签将照片分为前景、背景两部分;(3)没有目标的海面照片数据集Train_sea;
步骤2:从Train_sea中随机选取一张样本图片,利用区域增长算法对其进行分割;
步骤3:根据Train_CG的语义标签与Train_sea的分割结果对其进行海天线检测,具体为:从Train_CG与Train_sea中各随机选出一张图片,并对两者分割图中海面部分与天空部分的接触点进行多次采样,得到一组采样点样本,并去除其中的噪声点,之后将样本坐标送入一维线性分类器中进行训练,得到拟合的直线,该直线即检测得到的海天线;
步骤4:根据检测得到的海天线将挑选的两张图片进行对齐,具体为:
首先根据两张图片中检测得到的海天线的斜率,将Train_sea中挑选的海面图片进行相应的旋转,使其斜率保持一致,之后将两张图片的海天线位置对齐,并调整海面图片的大小,将超出仿真图的部分裁剪掉,得到两张海天线位于同一位置,且大小相同的仿真图CG与海面照片Sea;
步骤5:将步骤4得到的仿真图CG与海面照片Sea进行背景部分泊松融合,具体为:
根据仿真图的标签图片,得到仿真图的掩码图,其前景部分为0,背景部分为255,将仿真图CG作为母图,海面照片作为子图,仿真图的掩码图作为掩码,进行泊松融合,得到具有真实海面纹理的仿真图片;
步骤6:将步骤5得到的结果图片经过Reinhard色彩迁移算法改变其色彩风格,具体为:
将步骤5中的结果图与海面照片Sea分别转换为Lab颜色通道,分别计算三个通道的均值与方差,将源图像中每个通道均进行以下所示公式计算,并将计算结果重新转为RGB颜色空间即可得到色彩转换后的图片:
其中,p为源图像,m1为源图像的均值,m2为目标图像的均值,d1为源图像的方差,d2为目标图像的方差;
步骤7:循环步骤2-6,将仿真图片数据集Train_CG中所有的图片背景均进行泊松融合与色彩迁移,得到新的数据集Train_cg;
步骤8:将数据集Train_cg与Train_real分别经过深度学习算法CycleGAN进行训练,进行前景部分的风格迁移,具体为:
CycleGAN共具有两个生成器GAB、GBA和两个判别器DA、DB四个网络,每次循环分为前向过程与反向过程,前向过程对GAB与DA进行训练,反向过程对GBA与DB进行训练,其中前向过程可以分为判别器训练与生成器训练两个阶段,在判别器训练阶段,固定生成器GAB参数,从数据集Train_cg中提取图片a,并由其标签得到掩码图,其中前景部分置为1,背景部分置为0,通过点乘其掩码图,提取出前景,将背景部分置黑,将点乘结果送入生成器GAB中,生成假的真实照片风格的图片fake_b,把fake_b与Train_real中取出的照片b分别送入判别器DB中对判别器进行训练,输入为fake_b时判别器输出与0计算交叉熵,输入为b时判别器输出与1计算交叉熵,将两个交叉熵结果相加,得到判别器损失指导判别器DB的训练;在生成器训练阶段,固定判别器DB的参数,将fake_b送入DB中进行判别,并将判别结果点乘图片a的掩码后与1计算交叉熵损失,得到LGAN(GAB,DB,A,B),将fake_b与a分别点乘提取出两者的背景,计算L1损失||GAB(a)b-ab||1,将fake_b经过生成器GBA得到rec_a,并对rec_a的前景与a的前景求L1损失||GBA(GAB(a)f)-af||1,将a进过生成器GBA后得到idt_b与a求L1损失||GBA(a)-a||1,对以上四个损失添加权重后作为GAB的损失,反向过程训练方式与正向过程相同,两个生成器采用联合训练,利用总的损失函数共同指导两个生成器的训练,正反过程总损失函数具体为:
L(GAB,GBA,DA,DB)=LGAN(GAB,DB,A,B)+LGAN(GBA,DA,B,A)+αLcyc(GAB,GBA)+βLidt(GAB,GBA)+γLback(GAB,GBA,A,B)
其中:
LGAN(GAB,DB,A,B)=E[logDB(bf)]+E[log(1-DB(GAB(a)f))]
LGAN(GBA,DA,B,A)=E[logDA(af)]+E[log(1-DA(GBA(b)f))]
Lcyc(GAB,GBA)=E[||GBA(GAB(a)f)-af||1]+E[||GAB(GBA(b)f)-bf||1]
Lidt(GAB,GBA,A,B)=E[||GBA(a)-a||1]+E[||GAB(b)-b||1]
Lback(GAB,GBA,A,B)=E[||GAB(a)b-ab||1]+E[||GBA(b)b-bb||1]
A表示仿真图片数据集,B表示真实照片数据集;a表示仿真图片数据集中的图片,b表示真实图片数据集中的图片;GAB为由仿真图生成真实照片风格图片的生成器,GBA为其反向过程由真实照片生成仿真图片风格的生成器,DA为判别是否为真实图的判别器,DB为判别是否为仿真图的判别器;下角标为f表示与掩码点乘提取出前景,下角标为b表示与掩码点乘提取出背景;E代表期望,α取值500,β取值250,γ取值1;
步骤9:将数据集Train_CG和Train_real分别送入语义分割网络deeplab v3+中进行训练,保存训练后的参数;
步骤10:将语义分割结果代替标签,使用任意的仿真图经过步骤2-6,之后经过CycleGAN中训练好的生成器GAB来得到真实风格的图片。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工程大学,未经哈尔滨工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011484532.9/1.html,转载请声明来源钻瓜专利网。