室内低光语义分割框架 LISU: Low-light indoor scene understanding 论文阅读

本文主要是介绍室内低光语义分割框架 LISU: Low-light indoor scene understanding 论文阅读,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文标题:LISU: Low-light indoor scene understanding with joint learning of reflectance restoration

代码:GitHub - noahzn/LISU: Low-light Indoor Scene Understanding

期刊:ISPRS Journal of Photogrammetry and Remote Sensing, 2022

链接:https://www.researchgate.net/publication/356854492_LISU_Low-light_indoor_scene_understanding_with_joint_learning_of_reflectance_restoration

摘要:

使用CNN的语义分割已经取得了很不错的成绩,但是当训练数据较少时,网络无法在光照变化下取得令人满意的分割结果。在本论文,作者研究了在室内低光环境中的语义分割,并且提出了一个真实的和一个渲染的低光数据集用于评估结果。作者提出了一个用于低光分割的多任务网络 LISU,网络由两条分支组成,一条分支是语义分割分支,另一条分支是反射图修复分支。两条分支的深度特征级联起来以提升语义分割的结果。实验结果显示:语义信息可以帮助修复反射图,而修复的反射图更进一步帮助语义分割分支取得更好的效果。同时作者还尝试使用渲染数据进行模型预训练,并再次将最终的mIoU提升了7.2%。 本研究由欧盟INGENIOUS项目资助,作者代码和数据集已开源。

方法:

提出的LISU网络是一个级联网络,由LISU-decomp和LISU-joint组成。作者首先将一副图像通过LISU-decomp进行本征分解得到反射图和光照图。

I = R(I)⋅S(I).

直接在反射图上进行分割可以提升分割性能,因为反射图上没有光照的影响,像素颜色表达的是物体本身的颜色。根据Retinex理论,同一场景在不同光照下,反射图是不变的,只有光照图是不一样的,因此在理想情况下,一个物体在不同光照下的反射图上都是不变的,作者根据这一点决定在低光图像的反射图上进行语义分割。

作者首先利用自监督学习先训练了一个图像分解网络:输入一张图像,网络输出图像的反射图和光照图。随后将低光图像的光照图和低光图像的反射图一起输入进LISU-joint进行反射图修复和语义分割的联合学习。

为什么要联合学习反射图修复呢?因为低光图像分解得到的反射图质量特别差 (degraded reflectance map),损失了很多信息,因此作者希望修复反射图来得到更好的反射图特征。

网络结构:

作者使用的网络是一个基于U-Net的多任务网络,网络共用一个encoder,但是两个不同的任务有两个不同的decoder学习。同时,两个解码器的特征被联结到一起进行特征的融合。

这个多任务网络的损失函数由反射图恢复损失以及交叉熵损失组成: 

其中,反射图修复损失定义为:

数据集:

作者提出了一个新的数据集叫LLRGBD,包含LLRGBD-real:一个小型真实数据集,以及LLRGBD-synthetic,一个大型的渲染数据集。数据集中的每个场景都有低光和正常光照的成对图像。

 

实验:

作者进行了多组实验,证明了提出方法在低光室内数据集上分割的有效性。

失败例子:

同时,作者提到了在低光情况下拍摄照片时,会有一些反光材质比如玻璃引起白色过曝斑点。这些斑点会影响分解网络生成正确的反射图从而影响最终分割结果。

总结:

这篇文章开创性地研究了低光室内语义分割的课题,这个课题好像还挺少有人研究的。但是也有一定的意义,比如低光的室内导航,不知道这个方法能不能迁移到夜晚室外路面的分割呢?

这篇关于室内低光语义分割框架 LISU: Low-light indoor scene understanding 论文阅读的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/304107

相关文章

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid

C++字符串提取和分割的多种方法

《C++字符串提取和分割的多种方法》在C++编程中,字符串处理是一个常见的任务,尤其是在需要从字符串中提取特定数据时,本文将详细探讨如何使用C++标准库中的工具来提取和分割字符串,并分析不同方法的适用... 目录1. 字符串提取的基本方法1.1 使用 std::istringstream 和 >> 操作符示

最新Spring Security实战教程之Spring Security安全框架指南

《最新SpringSecurity实战教程之SpringSecurity安全框架指南》SpringSecurity是Spring生态系统中的核心组件,提供认证、授权和防护机制,以保护应用免受各种安... 目录前言什么是Spring Security?同类框架对比Spring Security典型应用场景传统

Python结合Flask框架构建一个简易的远程控制系统

《Python结合Flask框架构建一个简易的远程控制系统》这篇文章主要为大家详细介绍了如何使用Python与Flask框架构建一个简易的远程控制系统,能够远程执行操作命令(如关机、重启、锁屏等),还... 目录1.概述2.功能使用系统命令执行实时屏幕监控3. BUG修复过程1. Authorization

SpringBoot集成图片验证码框架easy-captcha的详细过程

《SpringBoot集成图片验证码框架easy-captcha的详细过程》本文介绍了如何将Easy-Captcha框架集成到SpringBoot项目中,实现图片验证码功能,Easy-Captcha是... 目录SpringBoot集成图片验证码框架easy-captcha一、引言二、依赖三、代码1. Ea

Gin框架中的GET和POST表单处理的实现

《Gin框架中的GET和POST表单处理的实现》Gin框架提供了简单而强大的机制来处理GET和POST表单提交的数据,通过c.Query、c.PostForm、c.Bind和c.Request.For... 目录一、GET表单处理二、POST表单处理1. 使用c.PostForm获取表单字段:2. 绑定到结

修改若依框架Token的过期时间问题

《修改若依框架Token的过期时间问题》本文介绍了如何修改若依框架中Token的过期时间,通过修改`application.yml`文件中的配置来实现,默认单位为分钟,希望此经验对大家有所帮助,也欢迎... 目录修改若依框架Token的过期时间修改Token的过期时间关闭Token的过期时js间总结修改若依

使用Python实现批量分割PDF文件

《使用Python实现批量分割PDF文件》这篇文章主要为大家详细介绍了如何使用Python进行批量分割PDF文件功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、架构设计二、代码实现三、批量分割PDF文件四、总结本文将介绍如何使用python进js行批量分割PDF文件的方法