百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

基于改进Criminisi算法的自动驾驶仿真道路场景图像修复

moboyou 2025-05-22 12:21 31 浏览

利用真实图像生成虚拟驾驶场景视图时,首先要从图像中移除车辆、行人等前景目标,以便获得不包含移动目标的背景图像。针对原始Criminisi算法存在的图像破损区域在修复后会出现模糊效应、边界不够平滑的弊端, 提出了一种在处理掩膜图像环节使用开运算,并优化原始优先权函数的改进算法。运用MATLAB仿真平台进行实验分析,结果表明改进后算法修复时间平均缩短了16.5 s,峰值信噪比平均高出原算法1.65 dB。该算法还原了图像中更多的道路信息,弥补了Criminisi算法的不足。

1

引言


在自动驾驶领域,基于场景的仿真测试在算法研发、系统测试和安全验证等环节中必不可少。道路场景是自动驾驶仿真系统中驾驶场景的核心要素,传统的道路场景使用游戏引擎或计算机图形学模型来创建,不仅成本高、耗时多,而且所得场景图像缺乏真实世界图像的丰富性和真实性,不能满足自动驾驶测试的需要。数据驱动自动驾驶仿真道路场 景以移除了行人、车辆等前景目标的真实图像为基础,通过图像修复复原完整的背景图像,创建类似真实世界的模拟场景,可避免传统方法的不足,成为道路场景构建技术的发展方向。


目前,图像复原修复技术主要分为两种,分别是基于结构的修复和基于纹理的修复。基于结构的修复方法是由BERTALMIO等人提出的,利用图像分解模型将图像分解为 结构部分和纹理部分,先用偏微分方程(Partial Differenitial Equation, PDE)方法修复结构部分,再用纹理合成技术对纹理部分进行填充。基于此方法的还有CHAN等人提出的整体 变分(TV)模型和曲率扩散(CDD)模型。基于纹理的修复技术是以图像块为单位,用已知的图像信息合成图像缺损部分的信息,进而达到修复的目的,

它与第一种方法最明显的区别在于它修复大面积缺损的图像时效果更好。这类方法的代表是CRIMINISI等人在2004 年提出的新的修复算法。该算法首次引入了优先权的概念,利用数据项与置信项的乘积来决定处理的先后次序,而后利用最佳匹配搜索来填补空白区域,考虑了目标对象的结构与纹理。应用于自动驾驶仿真的背景图像通常需要移除行人、车辆等大面积复杂图像区域, 使用基于结构的算法修复时模糊效应严重,而使用Criminisi 算法修复相较前者效果有所改观,但图像缺损部分的边界修复后不够平滑。


本文根据自动驾驶仿真系统道路场景构建需要,提出一种改进的Criminisi算法移除并修复真实背景图像中的行人、车辆等目标,取得了较好的效果,为自动驾驶仿真中的静态场景构建提供了良好的基础。


2

Criminisi算法


2.1 Criminisi算法原理




其主要思想分为三步:在图像的已知区域中计算最大优先级目标快;在样本块中搜寻与待修复区域具有最佳匹配度的匹配块;将匹配块的信息复制到待修复区域中。


2.1.1 计算最大优先级目标块


若图像中含有具有较强的边缘性特征且已知信息的部分, 则这些部分(样本块)会被优先修复。p 点的优先权定义为:




如上所述,C(p) 能够使含有较多已知信息的目标块得到优先的修复,而 D(p) 能够使含有较多结构信息的目标块优先被修复。C(p) 和 D(p) 两项的结合,才能使图像的纹理与结构修复达到平衡,取得理想的效果。


2.1.2 搜寻最佳匹配样本块


由第一步计算出了具有最大优先权的目标块,接下来搜索与此目标块最佳的匹配块。匹配块与目标块之间的匹配准则是匹配块中的纹理信息要尽量与目标块中的纹理信息相一致,匹配公式如下(例如图1中为最佳匹配块):



2.1.3 复制信息和更新置信项



重复上述修复步骤,直至将所有待修复区域修复完。修复流程如图2所示。



2.2 算法存在的问题


在修复大区域破损图像时,Criminisi算法应用广泛。但CHENG等人指出,随着填充迭代过程的进行,置信值C(p)会迅速下降到零,这就使得计算出的优先值并不可靠,从而影响了修复顺序,进而影响最终修复的效果。此外,在修复图像时,Criminisi算法需要对图像中的待处理部分进行掩膜操作,可是人为创建的掩膜图像边界不够平滑,目标物间粘连严重,导致待修复区域边缘在修复后会出现模糊效应。数据驱动自动驾驶仿真道路场景以真实图像为基础,边界的模糊会使得仿真系统采集的道路场景数据不够真实,进而影响系统对真实道路的自动化还原。


3

改进的Criminisi算法


3.1 开运算处理


针对前述Criminisi算法的不足,在处理掩膜图像环节使用开运算,对Criminisi算法进行改进,提高待修复区域边界的清晰性和边界像素点优先权计算的精度。在数学形态学中,开运算被定义为先腐蚀后膨胀。


(1)腐蚀



(2)膨胀




开运算是先腐蚀再膨胀的运算,其算法仿真如图3所示,其中图3(a)是原始掩膜图像,图3(b)是开运算处理后得到的效果图。



经过对比可以看出,零碎的小白点物体被消除了,较大物体的边界变得平滑,同时物体面积没有明显改变。在原Criminisi算法处理掩膜图像的基础上加入开运算,能去除小 颗粒噪声以及断开目标物之间粘连,使得待修复的空白部分在修复后边缘平滑,模糊效应减轻。


3.2 优先权函数的改进


由公式(2)可知,当C(p)为0时,即使数据项D(p)的值很高,优先权P(p)的值也必然等于零,从而该目标块得不到优先修复。针对这一问题,对优先权P(p)的计算公式提出如下修改:



式中,α和β都为常数。由式(8)可以看出,即使置信项为0,只要数据项足够大,优先值的计算结果依然会比较高,那么目标区域就能被优先修复,这在一定程度上改善了原算法修复顺序混乱的问题。


本实验在AMD(R) Ryzen7-5800H CPU @2.30 GHz、16.0 GB内存,安装64 位Windows 10设备的笔记本电脑环境下实现,使用的算法平台为MATLAB 2017b。本次算法所使用的图像为实拍的真实世界道路图像。实验内容为运用改进的Criminisi算法来修复图像,与原算法修复的图像进行对比,并运用峰值信噪比(PSNR)体现出改进前后的修复效果差别。以下为两组移除图像中行人、车辆目标的修复效果对比图,如图4和图5所示。




由图4对比来看,掩膜图像经过开运算的处理,去噪效果明显且边缘更加平滑。此图片运用原Criminisi算法修复效果已经很好,与改进后的算法修复效果对比来看差别并不明显,引入PSNR来评价,如表1所示。



由表1评价结果来看,改进后的算法修复图片失真更小,效果更好,并且由于修复顺序混乱问题的改进,图像修复的时间减少了,提高了修复效率。


从图5车辆区域的填充不难看出,Criminisi算法在修复位于图像边缘的大尺度缺损的图像时,并不能轻易寻找到最佳匹配样本块,修复难度大,效果并不理想。原算法在修复车辆部分的缺损时,运用树木、路面及斑马线的颜色进行填充,有明显的修复痕迹,模糊效应严重,树和斑马线甚至出现了重影。在运用改进的算法修复原图片时,修复效果有明显改善,斑马线重影消失了,树木部分虽然仍然存在模糊效应,但比改进前的效果已有大幅提升。同样引入PSNR进行评价,如表2所示。



这组实验的修复效果差别明显,由表2客观评价结果可得出结论,改进后算法修复的图片失真更小,修复速度更快,使得道路图像更加真实,还原了更多的道路信息。仿真系统用它作为背景参考图像将更有利于实现对真实道路的自动化还原。


5

结论


仿真系统是自动驾驶技术开发和验证的基础,本文以真实图像为基础,研究移除前景目标后的背景图像修复方法,为仿真系统提供背景参考图像。Criminisi算法因其在修复大尺度破损图像时的优越性而适用于仿真系统的静态场景构建。本文针对它现存的缺陷进行改进,提出在处理掩膜图像的环节使用开运算,优化了待修复区域被人为扩大及边缘粗糙的问题;然后通过对优先权函数P(p)的修改,改善了修复顺序错乱的问题。实验证明,改进的算法不仅修复效率有所提高,同时去噪效果明显且使得破损区域的边界在修复后更加平滑,这将有利于仿真系统从图像中提取更为真实的道路场景信息。

相关推荐

Excel技巧:SHEETSNA函数一键提取所有工作表名称批量生产目录

首先介绍一下此函数:SHEETSNAME函数用于获取工作表的名称,有三个可选参数。语法:=SHEETSNAME([参照区域],[结果方向],[工作表范围])(参照区域,可选。给出参照,只返回参照单元格...

Excel HOUR函数:“小时”提取器_excel+hour函数提取器怎么用

一、函数概述HOUR函数是Excel中用于提取时间值小时部分的日期时间函数,返回0(12:00AM)到23(11:00PM)之间的整数。该函数在时间数据分析、考勤统计、日程安排等场景中应用广泛。语...

Filter+Search信息管理不再难|多条件|模糊查找|Excel函数应用

原创版权所有介绍一个信息管理系统,要求可以实现:多条件、模糊查找,手动输入的内容能去空格。先看效果,如下图动画演示这样的一个效果要怎样实现呢?本文所用函数有Filter和Search。先用filter...

FILTER函数介绍及经典用法12:FILTER+切片器的应用

EXCEL函数技巧:FILTER经典用法12。FILTER+切片器制作筛选按钮。FILTER的函数的经典用法12是用FILTER的函数和切片器制作一个筛选按钮。像左边的原始数据,右边想要制作一...

office办公应用网站推荐_office办公软件大全

以下是针对Office办公应用(Word/Excel/PPT等)的免费学习网站推荐,涵盖官方教程、综合平台及垂直领域资源,适合不同学习需求:一、官方权威资源1.微软Office官方培训...

WPS/Excel职场办公最常用的60个函数大全(含卡片),效率翻倍!

办公最常用的60个函数大全:从入门到精通,效率翻倍!在职场中,WPS/Excel几乎是每个人都离不开的工具,而函数则是其灵魂。掌握常用的函数,不仅能大幅提升工作效率,还能让你在数据处理、报表分析、自动...

收藏|查找神器Xlookup全集|一篇就够|Excel函数|图解教程

原创版权所有全程图解,方便阅读,内容比较多,请先收藏!Xlookup是Vlookup的升级函数,解决了Vlookup的所有缺点,可以完全取代Vlookup,学完本文后你将可以应对所有的查找难题,内容...

批量查询快递总耗时?用Excel这个公式,自动计算揽收到签收天数

批量查询快递总耗时?用Excel这个公式,自动计算揽收到签收天数在电商运营、物流对账等工作中,经常需要统计快递“揽收到签收”的耗时——比如判断某快递公司是否符合“3天内送达”的服务承...

Excel函数公式教程(490个实例详解)

Excel函数公式教程(490个实例详解)管理层的财务人员为什么那么厉害?就是因为他们精通excel技能!财务人员在日常工作中,经常会用到Excel财务函数公式,比如财务报表分析、工资核算、库存管理等...

Excel(WPS表格)Tocol函数应用技巧案例解读,建议收藏备用!

工作中,经常需要从多个单元格区域中提取唯一值,如体育赛事报名信息中提取唯一的参赛者信息等,此时如果复制粘贴然后去重,效率就会很低。如果能合理利用Tocol函数,将会极大地提高工作效率。一、功能及语法结...

Excel中的SCAN函数公式,把计算过程理清,你就会了

Excel新版本里面,除了出现非常好用的xlookup,Filter公式之外,还更新一批自定义函数,可以像写代码一样写公式其中SCAN函数公式,也非常强大,它是一个循环函数,今天来了解这个函数公式的计...

Excel(WPS表格)中多列去重就用Tocol+Unique组合函数,简单高效

在数据的分析和处理中,“去重”一直是绕不开的话题,如果单列去重,可以使用Unique函数完成,如果多列去重,如下图:从数据信息中可以看到,每位参赛者参加了多项运动,如果想知道去重后的参赛者有多少人,该...

Excel(WPS表格)函数Groupby,聚合统计,快速提高效率!

在前期的内容中,我们讲了很多的统计函数,如Sum系列、Average系列、Count系列、Rank系列等等……但如果用一个函数实现类似数据透视表的功能,就必须用Groupby函数,按指定字段进行聚合汇...

Excel新版本,IFS函数公式,太强大了!

我们举一个工作实例,现在需要计算业务员的奖励数据,右边是公司的奖励标准:在新版本的函数公式出来之前,我们需要使用IF函数公式来解决1、IF函数公式IF函数公式由三个参数组成,IF(判断条件,对的时候返...

Excel不用函数公式数据透视表,1秒完成多列项目汇总统计

如何将这里的多组数据进行汇总统计?每组数据当中一列是不同菜品,另一列就是该菜品的销售数量。如何进行汇总统计得到所有的菜品销售数量的求和、技术、平均、最大、最小值等数据?不用函数公式和数据透视表,一秒就...