1.fusionԴ?源码????
2.VINS-Mono:原理深剖+白板从零手推公式+源码逐行精讲!
3.微博Lite无广告清爽APP,分享基于微博H5网页版打包的源码APP,微博去广告客户端
4.整理了16篇多模态融合(Multimodal Fusion)优质论文,分享含2023最新
5.ROS开源项目:(一)中文语音交互系统ROSECHO (二)教学级别无人车Tianracer
6.FusionForge简介
fusionԴ?源码????
常见的虚拟机软件包括VMware Workstation、VMware Fusion、分享asp倒计源码VMware vSphere、源码VMware Player、分享VirtualBox、源码QEMU、分享Parallels Desktop和Microsoft Hyper-V。源码
VMware Workstation,分享作为功能强大的源码桌面虚拟计算机软件,可同时运行不同的分享操作系统,提供开发、源码测试、部署新的应用程序的最佳解决方案,支持虚拟网路、实时快照、拖曳共享文件夹和支持 PXE 等特性。个人用户可选择免费的Workstation Player或付费的Workstation Pro。
VMware Fusion,针对Mac用户提供的虚拟化产品,支持在Mac机器上运行Windows系统,提供UnityView模式以实现各操作系统界面之间的无缝衔接,支持各操作系统之间直接拖曳文件等共享功能,配备有GPU虚拟化功能,适合软件开发或提高游戏画面质感。个人用户可选择免费的基本版或付费的Fusion Pro。
VMware vSphere是业界领先且最可靠的虚拟化平台,将应用程序和操作系统从底层硬件分离,简化了IT操作。它广泛用于企业级环境。
VMware Player是一款免费的虚拟化软件,相比VMware Workstation,精简了许多功能。
VirtualBox是由德国InnoTek软件公司出品的自由及开放源代码的虚拟机软件,现由甲骨文公司进行开发,可在多种操作系统上运行,提供USB设备识别功能、GPU虚拟化功能,并支持同时运行多个虚拟机系统窗口。VirtualBox是免费的,包括企业版。
QEMU是一款开源仿真器,既可作为虚拟机,也是机器模拟器。它通过动态的二进制转换,模拟CPU,并提供一组设备模型,运行多种未修改的客户机OS。QEMU可以与KVM一起使用,以接近真实电脑的速度运行虚拟机。
Parallels Desktop是为苹果电脑提供硬件虚拟化的软件,可在Intel或Apple M系列Mac计算机上无缝运行Windows系统,解决MacOS与Windows软件生态的差距。
Microsoft Hyper-V是微软提出的一种系统管理程序虚拟化技术,能够实现桌面虚拟化。Hyper-V作为Windows Prd和Windows Server(和)的功能组件提供,用户无需额外费用。它支持多种操作系统,包括Windows Server、Windows XP SP3或更高版本、具有3.4或更高内核的Linux和FreeBSD,但对Linux的驱动程序支持不是很好,且没有虚拟GPU支持。
Java虚拟机(JVM)是Java语言的运行环境,是一种可以运行所有Java程序(编译之后的程序,称作字节码)的抽象计算机。JVM有着自己完善的硬件架构,如处理器、堆栈、寄存器等,并具有相应的光盘刻录大师 源码指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM是实现Java语言平台无关性的关键。
VINS-Mono:原理深剖+白板从零手推公式+源码逐行精讲!
自动驾驶领域在年呈现出快速发展的态势,各大创业公司纷纷宣布获得大额融资。1月日,文远知行完成B轮3.1亿美元融资;1月日,滴滴获得3亿美元融资;2月8日,小马智行获得1亿美元C+轮融资;3月日,Momenta完成C轮总计5亿美元的融资;4月日,大疆创新推出智能驾驶业务品牌“大疆车载”,向汽车企业提供自动驾驶解决方案;4月日,小鹏汽车发布搭载激光雷达的智能汽车小鹏P5,成为全球第一款量产的激光雷达智能汽车;4月日,图森未来在美股上市,被称为“全球自动驾驶第一股”;4月日,华为和北汽合作实现上海城区通勤无干预自动驾驶,成为全球唯一城市通勤自动驾驶量产车。
在自动驾驶、无人机、增强现实、机器人导航等技术领域中,定位和建图(SLAM)发挥着至关重要的作用,而视觉惯性里程计(VIO)作为SLAM算法中的一个重要分支,其理论复杂度较高。对VIO的掌握能力将直接影响到SLAM从业者的专业水平。VINS-Mono是由香港科技大学飞行机器人实验室(沈邵劼团队)在年开源的知名单目VIO算法。该算法由第一作者秦通(华为天才少年)提出,并在年获得IEEE Transactions on Robotics期刊的最佳论文奖。VINS-Mono使用单目相机和惯性测量单元(IMU)实现了视觉和惯性联合状态估计,同时能够估计传感器外参、IMU零偏以及传感器时延,是一款经典且优秀的VIO框架。
VINS-Mono在室内、室外大尺度以及高速飞行的无人机场景中均表现出色。在手机AR应用中,该算法优于当前最先进的Google Tango效果。同时,VINS-Mono也是VINS-Fusion算法的基础,应用于汽车SLAM时同样展现出高精度和稳定性。
在自动驾驶、无人机、增强现实、机器人导航等领域的岗位中,掌握VINS-Mono算法成为了关键技能之一。为此,计算机视觉life团队推出了独家课程《VINS-Mono:原理深剖+白板从零手推公式+源码逐行精讲》。该课程通过详细的步骤解读、疑难问题解析、结合作者回复的issue理解,帮助学员深入掌握VINS-Mono背后的原理。课程内容覆盖从基础理论到复杂公式的推导,通过白板从零开始手推公式的方式,使学员能够理解复杂公式的形成过程,从而真正掌握VINS-Mono的原理。课程价格根据购买时间调整,购买越晚价格越高。如有疑问,学员可加入QQ群()咨询,购买成功后会自动显示内部答疑群。
微博Lite无广告清爽APP,基于微博H5网页版打包的APP,微博去广告客户端
微博Lite是一款专注于提供清爽无广告体验的微博客户端,它是由微博H5网页版经过Fusion App定制打包而成。相比于传统微博应用,Lite版去除了启动时的开屏广告和信息流中的广告(已进行过测试),保持了基本功能,且采用了定制布局,将常用功能置于底部,使得操作更为便捷。特别适合轻度用户和低配置设备使用。modbus 源码这么复杂
使用方法简单,只需长按底部按钮刷新网页。它的安全性也有保障,所有操作都基于微博的HTTPS站点进行,且无恶意后台代码。对于喜欢动手的用户,Fusion App允许基于源码进行个性化定制,自行打包。目前的版本v1.0.2已经修复了播放视频闪退的bug,通过注入X5内核实现。
在更新方面,截至年1月日,v1.0.2版本还对界面进行了优化,如隐藏状态栏和顶栏,部分视频链接需要在微博详情中点击。早期的版本如v1.0.1还针对滑动操作做了调整,防止意外浏览其他页面。
下载链接如下:APK大小1. MB,微博Lite_1.0.2_X5内核版本和微博Lite_1.0.1版本均提供,源码大小KB。如果下载出现问题,可以通过raiseProductivity微信订阅号获取备用下载地址。
值得一提的是,微博H5版曾支持PWA(Progressive Web App),但相比于原生应用,其体验有所差距。Twitter和Instagram等国外社交网络的PWA体验接近于APP,而微博PWA在布局和功能上稍显不足。如果你追求更好的用户体验,可能需要考虑直接使用Chrome浏览器添加微博H5网页为桌面应用。
整理了篇多模态融合(Multimodal Fusion)优质论文,含最新
多模态融合是多模态学习领域中的关键问题,旨在综合处理来自不同模态(如语音、图像、文本等)的数据,提取有价值的信息和特征,并将这些信息融合,以增强系统的性能。近年来,这一领域已取得了多项值得关注的研究成果,以下将分享篇精选论文,涵盖多模态融合的理论、算法、应用等多个方面。欲获取论文及项目源码,请关注“学姐带你玩AI”公号(了解详情请参阅主页签名),回复“多模态融合”即可获取。
1.
传感器融合的外部多模态成像传感器标定:综述
本文提供多模态成像传感器标定的研究综述,包括基于运动和特征的标定方法,着重探讨目标基标定、无目标标定以及系统多模态传感器标定的最新进展。
2.
低质量多模态数据的可证明动态融合
该文提出一种动态多模态融合框架,通过理论分析揭示不确定性估计解决方案的鲁棒性,引入质量感知多模态融合框架,提高分类准确性和模型鲁棒性。
3.
用于道路检测的自适应跳过交叉融合
文中提出SkipcrossNets,一种用于自动驾驶任务中LiDAR点云与相机图像融合的网络,通过动态连接各层,增强特征传播与融合,减少模型参数。
4.
面向三维目标检测的多传感器融合与时间一致性Transformer
FusionFormer框架用于3D物体检测,通过引入可变形注意力和残差结构,解决特征转换问题,实现统一的采样策略,提升检测性能。
5.
多模态语义映射用于物体检测和3D定位
本文介绍一种结合RGB-D相机和激光雷达的多模态语义映射框架,准确检测预定义对象,优于单传感器实验,特别适用于近和远距离障碍物。
6.
用于智能车辆RGB-T城市场景理解的动态双边交叉融合网络
DBCNet融合RGB-T图像,采用动态双边交叉融合机制,直接聚合多模态信息,优于深度学习基线方法,软件源码 做辅助提升智能车辆的场景理解能力。
7.
多模态相互关注和迭代交互用于参考图像分割
提出多模态相互关注和迭代交互方法,增强模型对多模态信息的理解,通过连续和深入的交互,避免信息扭曲,显著提升参考图像分割性能。
8.
用于语义分割的多模态融合网络
TransFusion模型直接融合图像与点云,无需点云预处理,相较于基本层FCN模型,显著提升Vaihingen和Potsdam数据集的mIoU值。
9.
用于多模态3D对象检测的激光雷达-相机深度融合
DeepFusion模型集成激光雷达和相机特征,通过引入InverseAug和LearnableAlign技巧,实现通用多模态3D检测,性能优于现有方法。
.
通过深度感知增强的多曝光图像融合
DPE-MEF网络融合不同曝光图像,通过深度感知增强策略和色彩映射校正,显著提升单张图像的曝光质量。
.
基于傅里叶变换和对比学习的鲁棒框架
提出鲁棒多曝光图像融合框架,结合傅里叶变换与对比学习,处理极端和多样化曝光图像,通过像素强度转移和对比正则化损失,实现高质量融合效果。
.
基于multi-moda的雷达和相机特征之间的视差桥接
文中介绍一种在鸟瞰图下融合雷达与相机特征的新方法,用于3D目标检测,通过视图变换和点融合,实现雷达和相机特征的高效融合。
.
半监督医学图像分割的多模态对比互学习与伪标签再学习
Semi-CML框架利用对比互学习与伪标签再学习,提高半监督医学图像分割的性能,通过跨模态信息和预测一致性,弥补性能差距。
.
同质多模态特征融合和交互的三维物体检测
HMFI方法在自动驾驶场景中实现三维物体检测,通过跨模态特征融合与交互,避免信息损失,提升检测准确性和性能。
.
用于端到端自动驾驶的多模态策略融合
TransFuser Transformer模型集成图像与LiDAR表示,通过注意力机制实现策略融合,减少碰撞风险,表现优于基于几何的融合方法。
.
基于Transformer的多曝光图像融合框架
TransMEF框架使用Transformer与自监督多任务学习,通过三个自监督重建任务学习特征,设计结合CNN与Transformer模块的编码器,实现多曝光图像融合。
以上论文涵盖了多模态融合的多个角度,从标定、融合算法、应用场景到性能优化,为多模态研究提供了丰富资源。欲获取详细内容和代码,请参照“学姐带你玩AI”公号指引。
ROS开源项目:(一)中文语音交互系统ROSECHO (二)教学级别无人车Tianracer
开发之路永无止境,往往在最后期限的白板上写着的计划,往往只是一份空想。年初时,我定下了两个目标,计划在年末完成,然而时间在拖延中流逝,直到如今,我才发现,真正的开源精神并非一个人的单打独斗,而是众人协作的火焰。
记得一年前,我四处奔波,从开源社区汲取养分,同时也渴望贡献出自己的力量。然而,回顾过去,我却发现并没有做出任何贡献。这次,我希望能够集结各路伙伴,如果有志于参与开源项目,我们能共同打造一个GitHub上的百星、千星项目。几位资深程序员已经搭建好了基础,搞笑网页源码硬件改进较多,但程序完善程度未达预期。我们期望有更多的年轻朋友加入我们,与我们一起学习软件的版本控制、代码规范和团队协作,共同完成复杂的机器人项目,实现成长与蜕变。
(一)中文语音交互系统ROSECHO
ROSECHO的GitHub源码库已准备好,欢迎先star再深入阅读。此代码遵循BSD开源协议。
详细中文介绍文档
面对智能音箱市场,许多人或许会质疑我们的团队为何要涉足这个领域。然而,故事并非如此简单。在年,我们计划为一个大型展厅打造讲解机器人,采用流行于Android系统的接待引导机器人,其语音交互功能本无问题,但当时的挑战在于,尚未有集成cartographer在数千平米展厅中进行建图导航的方案。因此,我们决定打造一款完全基于ROS的讲解机器人。市场上虽然有众多智能音箱,但缺乏适用于ROS二次开发的产品。在科大讯飞一位大佬的介绍下,我们选择了AIUI方案,虽然开发难度大,但高度定制化,非常适合我们这样的开发团队。于是,我们主要任务转变为开发一款能够在ROS下驱动的智能音箱,ROSECHO便由此诞生。
第一版智能音箱在年4月问世,包含W的大喇叭、6环麦克风,以及ROS主控制器,下方控制了一个云迹科技的水滴底盘。了解过ROS星火计划进阶课程的朋友大概知道,课程中的大作业之一是语音命令移动机器人端茶倒水,而我们的任务相当于完成了一个加强版的大作业。
整个机器人在年7月完成,音箱分散到身体各个部分,环麦位于头顶,喇叭置于身体两侧。其他传感器、执行机构、决策、定位导航均基于ROS,定制了条特定问答,调试的机器人在场馆中行走上下坡不抖动,定位准确,7*小时工作稳定。音箱在大机器人上使用效果出色,主要得益于讯飞的降噪和回声消除技术,使得远场对话和全双工对话得以实现。社区中许多小伙伴也尝试了软核解决方案,但由于环境限制较大。于是,我们决定将音箱从大家伙改为普通智能音箱大小,通电即为智能音箱,USB接入ROS后,只需启动launch,即可接收语音识别结果,发送TTS语料,配置网络、接收唤醒角度等。
这次体验深刻地让我认识到,做大容易做小难。过完春节后,年8月ROS暑期夏令营期间,我们做了N款外壳,测试了M种喇叭,贴了P版外围电路,程序则改动不大。主要是由于时间有限,无法进行更多改进。样品均为手工制作,音质上,7w的喇叭配有一个无源辐射板,对于从森海HD入门的人来说,音质虽有瑕疵,但足以满足日常使用。
之前在想法中发布了一个使用视频,大家可参考运行效果。
ROSECHO基本情况介绍完毕,如何开始呢?
从零开始:推荐给手中已有讯飞AIUI评估板的小伙伴,记住,评估板而非麦克风降噪板(外观相似,简单区分是评估板售价元,降噪板元)。手头的评估板可通过3.5mm接口连接普通电脑音箱,再准备一根USB转转换头连接评估板DB9接口。后面需要根据实际串口修改udev规则,理论上可配合ROSECHO软件使用。硬件工作量较大,还需包含移动机器人所需机械设计、电气改造等。好处是拥有AIUI后台,可以定制云端语料和技能,但这又是另一个领域的能力,也不是三下五除二能完成的。
从ROSECHO开始:直接购买ROSECHO,首发的十台会附赠ROS2GO,只需连接自带电源并用USB线连接电脑,配置无线SSID和密码即可。连接方便,我们维护云端语料,人设为智能机器人管家,大家只需关注如何利用识别后的词句控制机器人和进行应答。云端问答AIUI处理,一些自定义问答可在本地程序中处理,务必联网,因为语音识别本身需要网络。具体软件启动和简单demo请查看GitHub软件库的说明。
然后做什么:要实现智能语音交互功能的移动机器人,需要对ROS中的actionlib非常熟悉。我们提供了简单的demo,可以控制机器人在turtlebot stage仿真环境中根据语音指令在两点之间移动,也可以根据唤醒方位进行旋转。之后还需增加音箱的TF变换。
大机器人中的状态机采用层次状态机(Hierarchical state machines),适用于移动机器人的编程,框架准备开源,方便大家开发自己的智能移动机器人策略。参考下面链接,希望深入了解也可以购买译本,肯定是比ROS By Example中的Smach状态机更适合商用级产品开发。
还计划做一套简单的语音遥控指令集,机器人问答库,在iflyos中构建适合机器人的技能库。何时能完成尚不确定,大家一起加油!
(二)教学级别无人车Tianracer
GitHub源码库已准备就绪,欢迎先star再深入阅读。遵循Hypha Racecar的GPLv3协议。
这是最近更新的详细使用手册。相比ROSECHO,Tianracer的基本功能均已完成,至少可以拿来学习建图导航,了解SLAM。
Tianracer是一个经过长时间准备的开源项目,年从林浩鋕手中接过Hypha Racecar后,希望将项目发扬光大。这两年改进了软件框架、周边硬件、机械结构,并增加了新的建图算法,但仍有大量工作待完成。这两个月在知乎想法和微信朋友圈分享了项目的进展,经历了多次迭代,现在大致分为入门、标准、高配三个版本。三个版本的软件统一,可通过环境变量更改设置。
最近整个项目从Tianbot Racecar更名为TianRacer,经过长时间探索,终于实现了合理的传感器与处理器配置。相比Hypha Racecar,处理器从Odroid XU4更改为NVIDIA在上半年推出的Jetson Nano,车前方增加了广角摄像头,利用Nano的深度学习加速,可以接近实时处理图像数据。相比之前的单线激光,广角摄像头大大扩展了后续可实现的功能。
TianRacer基本使用Python编写,从底层驱动到遥控等,目的是方便大家学习和二次开发。同时集成了cartographer和vins-fusion启动文件,可以尝试新的激光与视觉SLAM,基于Nano的深度学习物体识别等也是可以直接运行的。但目前功能尚未有机整合。
从零开始搭建:TianRacer搭建可能难度较大,不仅需要RC竞速车的老玩家进行机械电子改装,还需要对ROS熟悉并修改软件以进行适配,同时可能需要嵌入式程序员的帮助。对于主要关心搭建的朋友,可以参考小林的Hypha Racecar和JetRacer Tamiya版本的搭建指南。
从TianRacer开始:这批开发版本的无人竞速车附赠搭好环境的ROS2GO,TianRacer本身有开机自启功能,利用ROS2GO加上USB线对车体进行网络配置,就可以远程编程和调试。仔细参考提供的TianRacer看云文档(文档积极更新),大部分车体自带的功能都可以实现,包括但不限于建图、定位、导航、识别等。
然后做什么:利用TianRacer学习无人车的基础框架,还可以通过JupyterLab学习Jetson Nano的深度学习算法。未来计划将交通标识识别、行人和车辆检测、车道线检测等无人车基础功能融合,但不确定Jetson Nano的算力是否足够。目标是在校园内进行低成本的无人车竞速比赛,希望像CMU的Mobot室外巡线比赛一样持续发展,至今已举办届。
这个视频是搬运自YouTube。大家可深入了解非结构环境下的导航。对于不清楚结构化环境与非结构化环境的朋友,CMU和恩智浦的比赛完美诠释了两者之间的区别。
一起来玩耍吧!
在开源社区协作方面,我们也是第一次尝试,对于松散的协同开发经验不足,希望参与或组织过大型开源项目的朋友们加入我们,一起努力。有兴趣的朋友可以留言或私信。
前几日与朋友们闲聊时,想起几年前高翔博士赞助一锅粥(orb-ygz-slam)1万元时,我也只能提供支持。这次真心希望可以贡献出代码,实现实实在在的贡献。
年年底发布了开发者申请价格,但数量有限,早已连送带卖售罄。年又有几十位爱好者填写了问卷,忘记查阅。每年的双十一双十二我们都会有优惠活动,感谢大家的关注。
FusionForge简介
FusionForge是一个专为协同开发设计的全面平台,它集多种功能于一身,旨在提升团队间的沟通与协作效率。首先,它的通讯工具模块包括论坛、邮件列表和新闻服务,为团队成员提供了一个开放的讨论和信息分享空间,促进思想交流和知识共享。
在开发工具方面,FusionForge提供了强大的支持,包括bug跟踪系统,帮助团队有效地追踪和解决项目中的问题;项目管理工具,帮助团队成员协调任务,跟踪进度,确保项目按计划进行;源码控制系统则确保代码版本的管理和同步,便于团队成员协同开发和代码审查。
社区工具是FusionForge的另一个亮点,它支持文件发布,使得团队成员可以方便地共享文件和资源;软件分类功能有助于用户快速找到所需的工具和资源;此外,Web托管服务使得FusionForge成为一个一站式的开发平台,团队的网站和应用程序可以直接托管在平台上,无需额外的部署步骤。
总的来说,FusionForge是一个功能丰富的开发环境,无论是日常的交流,还是项目的具体实施,都能为团队提供稳定、高效的支持,是现代协作开发的理想选择。
图像处理(十一)exposure fusion 图像曝光融合
本意是为了学习HDR,高动态范围成像,但HDR概念对我来说太复杂了,涉及到硬件和软件。我的目标是跳过硬件和tone mapping,只做最简单的多曝光融合,如下列图像
融合成一张
搜索曝光融合,出现的是《exposure fusion》这篇文章,像素级别的融合,再加上多尺度的平滑处理,从现在的眼光来看,是非常简单的,OpenCV也实现了这个算法,在lightroom中也有应用。
尽管原理简单,但实现上有坑,C++写了好几遍过不了,换成Python也错误,看了官方的matlab源码才知道坑。
论文提出了三种计算每个像素融合权重的的方法
对比度
在过曝图像或严重低曝光的区域,图像都基本是或0,因此这些区域是很平滑的,梯度信息几乎为0,这些也是曝光融合中要舍弃的区域——过曝部分缺乏细节,低曝光区域缺乏细节和亮度。因此,论文提出用laplace算子提取图像的梯度信息,梯度信息越小的像素在融合时占据的比重就越小,相反梯度信息越大的像素的比重就越大。对输入的第[公式]张图像[公式]
[公式]
饱和度
同样针对过曝或严重低曝光,二者的饱和度是接近于0的,而那些饱和度高的区域常常是需要保留的区域,因此论文通过三通道的标准差来衡量饱和度大小,以此得到不同的比重
[公式]
亮度
亮度越接近0或者的,很可能就是处在过曝或严重低曝光区域,而亮度在附近的常常可以认为是曝光良好的区域,这些区域的信息在融合过程中要尽量保留,比重尽量大,如下
[公式]
[公式]是方差,论文中取0.2。以上公式是我具体实现时使用的,三通道的比重相乘,为了简单,也可以提取出YCrCb通道,用Y通道算也可以。良好曝光不一定取0.5。
上面是人为提出的一些先验知识,接下来验证下是否有效
可以看出,对于严重低曝光的图像,响应值比较高的就是光源附近的细节,这些细节得以保留,而过曝图像往往在这些地方是没有细节的
同上,以亮度为例,该图在天空区域的曝光是良好的,而且具有一定的细节,得以保留
对于这一类局部过曝的图像,背光区域反而得到了较好的曝光,所以图中气球的细节和亮度响应值比较高,得以保留,而天空和光源部分的灰度值偏离、梯度也较小,因此这些过曝的区域的响应值(比重)很小,在融合时被舍弃。
上面根据对比度、饱和度、曝光三方面可以得到每个像素点在融合时的比重,三者合在一起
[公式]
为了防止多张图像融合,出现过高或者过低的值,要对[公式]进行归一化
[公式]
多张图像[公式],各自对应一张归一化的比重图[公式],融合
[公式]
上面的方法非常简单,但会得到十分粗糙的结果。我在具体实现时,得到的结果会出现很多黑色和纯白色的斑点(灰度值为0),而且存在一些光晕,如下:
经过我追本溯源,发现这是由于多张图像之间的灰度跳变太大导致的——假设现在有图像序列[公式],在点[公式]处,比重值分别是[公式],因此在融合时,[公式]点的灰度值主要取决于[公式];在旁边一个点,[公式]的比重值却是[公式],融合时就主要取决于[公式],而从[公式]的灰度值跳变太大,因此最后看起来有很多噪声。相邻点的比重相差会这么大,个人看法是比重由对比度、饱和度、亮度相乘得到,实际上,很多区域都是接近于0,差不多1e-4的值,三个相乘量级就到了1e-,任意一个指标突然变大变小,权重就一边倒了,基本集中在某一张图像上。理想情况是一系列对比度、饱和度、亮度平滑变化的图像,就不会出现这种问题,但实际也不可能拍这么多精细的图像。
如何解决?一个很直观的想法就是对每张图的权重图做平滑处理,缓解灰度跳变,重新归一化后,再融合,效果如下:
看得出来,有所改善,但还是不够平滑,存在一定程度的光晕,继续加大力度
又好一点了,但天空还是很明显
好像又好一点了!但还是存在一些光晕(后面怎么解决的还不清楚)。
但是每次都对原始分辨率做这么大的计算吗?
这又回到了上次总结的拉普拉斯金字塔融合,构造金字塔解决分辨率过大和滤波核过大的问题,这也是论文提出的方法
使用laplace金字塔,对每张图像分解出laplace金字塔,对应的比重图分解出高斯金字塔,根据比重对laplace金字塔做融合,从低分辨率开始上采样叠加同尺度的融合后laplace细节,即可得到结果,如下:
效果有点惊艳,不仅融合了多张图像中的细节,还保持了良好的曝光,和之前的对比还是很明显的,如过曝这个区域的细节还是很不错的!但为什么和之前直径的高斯模糊相比,解决了光晕,这一点是我暂时无法理解的。
算法十分简单,只要按部就班算出每个点的对比度、饱和度、曝光,结合起来,再加一个laplace金字塔分解,问题貌似就解决了。但我在实际写的时候,得到的结果却是这样的:
饱和度太高了,而且细节也没有得到保留。。。。。。一开始还以为是C++,我索引写错了之类的,重写了几遍都过不了,换成python也是一样的,也是错的,后面还是参考了官方的matlab代码,才发现不同:
即下面两张图的对比
当我把上采样的对象改成了官方的形式,就正常了。
至于为什么会这么差,我想可能是因为一路上采样,丢失的信息太多了,所以采用之前的高斯金字塔的次一级分辨率上采样可以减少信息损失。
代码见我的github
Python 3
鬼影
本篇讨论的多曝光图像融合,默认都是对齐的,但实际上不同时间拍的图像,会因相机抖动和环境的风吹草动,而导致内容有差别,使得最后的融合结果可能出现鬼影,而鬼影(ghost effect)也是HDR融合要解决的主要问题之一。
移动
考虑下面这个例子
可以看到画面中的三个人物都存在较明显的移动,经过上面的exposure fusion像素级融合,就会得到下面的结果
这一类情况下,不保证像素级的对齐,就会出现鬼影。
模糊
和多曝光融合类似的是多焦点融合,不同图像存在不同的局部模糊
保留对比度、饱和度,不计算曝光,得到的融合结果如下:
效果感觉还行,但又不很行 ! 如IMAGE块区域,第一张图有点类似于运动模糊的效果了,在曝光融合这里就近似于"没对齐",因此融合的结果有一些虚影、鬼影 !
虽然存在如上问题,但这个方法还是给后续的一些研究提供了思路,融合不断频段的信息做图像融合,不仅仅是曝光融合,多焦点融合等。
参考资料