深度图补全综述:经典图像快速深度补全CPU-OpenCV

基于深度图的图像修复------传统方法 图像修补一--------单幅图像修补 图像中常有缺失或者损坏的部分,即空白区域或者有误的区域。图像修补就是根据这些区域周围的信息完成对空白区域进行填充,以实现图像恢复。 方法: 示例方法一: 向空白点周围的八个方向寻找参考点,取距离二次方的倒数为加权系数。 示例方法二: 选取空白... 阅读详情
AI摘要

论文展示了如何使用经典图像处理算法在CPU上实现快速深度补全,达到90Hz的运行速度,并在KITTI深度补全基准测试中取得第一。算法包括深度反演、自定义膨胀核、空洞闭运算等多个步骤,无需额外的彩色图像引导,仅依赖LIDAR数据。实验结果显示该方法在性能上超越了CNN方法。

代码地址:https://github.com/kujason/ip_basic

题目:《In Defense of Classical Image Processing: Fast Depth Completion on the CPU》

KITTI depth completion benchmark:http://www.cvlibs.net/datasets/kitti/eval_depth.php?benchmark=depth_completion

随着数据驱动的深度神经网络作为一个通用函数估计的实现,大部分研究员在计算机视觉问题上,已逐渐脱离研究人工设计经典图像处理算法。本论文用一个巧妙设计出的算法表明,在深度补全领域经典算法可以超越神经网络。本文提出的算法运行在CPU上,是简单和快速的,只依靠基本的图像处理运算就能实现稀疏LIDAR深度数据的补全。作者在KITTI深度补全竞赛上进行算法评估,在当时提交的算法中,作者在测试服务器上排名第一。

本论文提出的方法不需要引导,只需要依靠LIDAR数据。作者的贡献:

(1)作者提出了一个快速深度补全算法,在CPU上能够运行到90HZ。在发布此论文时,在KITTI深度补全竞赛上排名第一。

(2)作者提出的算法性能优于CNN方法,这些方法设计出来大幅度解决稀疏输入表示问题

在深度图补全过程,主要分为两种:引导深度补全和非引导深度补全。

引导深度补全:该方法将加入彩色图像作为引导来进行深度图补全。

非引导深度补全:该方法只需要稀疏深度图来进行稠密化处理

 

(1)深度反演:主要的稀疏处理机制实施采用OpenCV形态学转换运算,用较大像素重写较小像素值。当考虑原始KITTI深度图数据,深度距离从0-80m之间。然而,空像素处的像素值也为0,这将阻止在没有修改情况下使用OpenCV运算。在原始深度图上应用一个形态学运算将会导致大距离重写小距离,导致近目标损失边缘信息。为解决这个问题,有效(非空)像素深度将被转换根据公式:

 

这也创造一个20米的缓存在有效和空像素值。这步转换将允许在应用膨胀处理时,算法保护临近边界。20m缓存区用于偏移有效深度,来允许后续操作期间屏蔽无效像素。

 

(2)自定义膨胀核:作者利用最临近有效像素来填充空像素,比较像用有效的深度共享最近深度值。考虑到投影稀疏性和LIDAR的线扫描结构性,作者设计了一个自定义核来作为每个有效深度像素的初始膨胀。内核形状的设计使得具有相同值的最可能像素放大到相同值上。作者实施和评估上面四个核,经试验证明5*5 diamond核用来膨胀所有有效像素。

 

(3)小空洞闭运算:经过初始膨胀操作后,在深度图上仍然存在一些空洞。因为这些区域不包含深度值,作者考虑到目标在环境中的结构性和膨胀深度的临近块能够从目标连接形成边界。一个形态学闭运算5*5全核,用来对深度图进行小空洞的闭合。这个操作用了一个二进制核,能够保护目标边界。此步骤用于连接附近的深度值,可以看做5*5像素平面从最远到最近进行堆叠。

 

(4)小空洞填充:在深度图中,一些小到中大小的空洞没有被填充,在前两步膨胀运算中。为填充这些空洞,一个空像素的mask首先被计算,通过一个7*7全核膨胀运算。这个操作将会使只有空像素被填充,原先计算的有效像素保持不变。

 

(5)延伸至框架顶端:考虑到较高处目标,例如:树和建筑物在LIDAR点的上方,为了补齐这些像素,将每列顶端值延伸到图像的顶端。

 

(6)大空洞填充:在先前的步骤中没有对大空洞深度区进行填充。因为这些区域不包含点和没有图像数据被用,这些像素的深度值被填充从邻近值。一个膨胀操作使用一个31*31全核来填充空像素区域,保持有效像素不变。

 

(7)中值和高斯模糊:经先前步骤处理后,可以得到一个稠密的深度图。然而,深度图中的异常值作为膨胀运算的副产品。为移除这些异常值,作者用了一个5*5核中值模糊。这个去噪步骤是非常重要的来去除异常值保持局部边界。最后,一个5*5高斯模糊被用来平滑局部平面和四舍五入尖锐目标边界。

 

(8)深度反演:进行一步深度取反操作,与第一步对应来得到最终真实的深度图:

 

实验结果

了解更多关于《计算机视觉与图形学》相关知识,请关注公众号:

在这里插入图片描述
下载上面论文和代码,请关注上方公众号并回复:IP-CPU

 

第一个「视觉惯性里程计+深度图」 的数据集 && 用VIO实现的无监督深度图补全方法 第一个提出 「视觉惯性里程计+深度图」 的数据集 “Visual Odometry with Inertial and Depth” (VOID) dataset 论文名称 《Unsupervised Depth Completion from Visual Inertial Odometry》 期刊:ICRA2020 作者:加州大学洛杉矶分校 本文代码:https://github.com/alexklwong/unsupervised-depth-completion-visual-inertial 阅读详情

相关推荐

Python+OpenCV实现奥比中光Gemini深度图与彩色图对齐实战

深度相机由多个独立摄像头组成,彩色镜头与深度模组存在物理基线和光学参数差异,导致同场景下深度图与彩色图天然存在像素偏移,直接缩放叠加必然出现边缘错位与重影。深度图对齐的本质是坐标系变换,通过相机内参和外参将深度像素反投影至三维空间,再映射到彩色图像平面。OpenCV作为图像处理基础库,结合官方pyorbbecsdk提供的软件或硬件对齐模式,开发者无需从零实现复杂的矩阵运算即可完成高质量对齐,广泛应用于机器人避障、姿态识别、体积测量及AR交互等视觉任务。本文以Orbbec Gemini为例,完整演示Pytho

weixin_31887307的博客 198

计算机视觉方向简介:深度图补全

有什么用? 微软2010年发布了消费级RGB-D(RGB+depth)相机Kinect1,此后涌现了大量基于RGB-D相机的研究工作,比如用RGB-D相机来进行室内三维重建,比较有名的是KinectFusion、Kintinuous,ElasticFusion,InfiniTAM,BundleFusion等。想要了解这部分内容可以参考《计算机视觉方向简...

weixin_34185560的博客 1277

Isaac Gym摄像头数据获取全攻略:从CPU到GPU,教你实时显示RGB与深度图

本文详细介绍了在Isaac Gym中获取摄像头数据的两种高效方案:CPU模式与GPU张量模式。通过实战代码示例,展示了从摄像头配置、数据获取到实时可视化RGB与深度图的全流程,帮助开发者优化机器人仿真与计算机视觉应用的性能。特别强调了GPU模式下的零拷贝访问与张量运算优势,适用于需要低延迟处理的场景。

weixin_29056701的博客 388

【深度补全算法】基于RGBD相机的深度补全算法(非Lidar)论文与GitHub代码总结

最近组里面因为项目上需要检测边缘信息,需要调研深度图的补全算法,当前的深度图补全主要集中在但目前较多研究聚焦于自动驾驶领域的Lidar深度图的补全,而对RGB-D相机涉猎较少,通过搜集GitHub,下面将对一些深度图的补全算法进行介绍。

AaaA00000001的博客 1万+

PixVerse深度图控制:AI视频生成精准构图实战指南

深度图是计算机视觉中表示场景三维几何结构的基础数据,通过像素亮度编码物体与摄像机的距离信息。其核心原理是将空间结构作为强约束条件,引导生成模型在固定布局下填充纹理和动态内容,从而显著提升生成结果的可控性和一致性。这一技术为AI视频生成带来了重要的工程价值,特别适用于需要保持场景构图稳定的应用场景,如建筑可视化、产品展示和动画制作。PixVerse平台最新推出的深度图控制功能,正是基于这一技术理念,为开发者提供了从深度图准备到API调用的完整解决方案。通过结合Stable Video Diffusion等主流

weixin_33845881的博客 472

Python深度图可视化实战:从NPY文件读取到热图生成与批量处理

本文详细介绍了使用Python进行深度图可视化的全流程,从NPY文件读取到热图生成与批量处理。通过实战代码示例,展示了如何高效加载深度数据、优化可视化效果、生成专业热图,并解决常见的全黑图像和色彩失真问题。文章特别强调了深度图处理中的性能优化技巧和3D可视化方法,为计算机视觉开发者提供了完整的解决方案。

weixin_33924312的博客 317

MiDaS_small模型深度优化,CPU上也能快速推理

通过对模型的系统性优化——本地化加载、TorchScript 编译、OpenCV 替代、后处理加速——我们成功将其部署在纯 CPU 环境下,实现秒级稳定推理,并集成至免 Token 的 WebUI 服务中。这不仅降低了单目深度估计的技术门槛,也为以下场景提供了可行方案:- 企业私有化部署敏感图像处理- 教学实验平台快速搭建- 边缘计算设备上的轻量级 3D 感知💡 核心价值总结不是所有 AI 应用都需要 GPU。

weixin_42581003的博客 574

深度图与视差图伪彩色可视化:原理、实现与工程实践

在计算机视觉与三维感知领域,数据可视化是理解复杂信息的关键技术。伪彩色映射作为一种核心的数据可视化方法,其原理是通过查找表(LUT)或映射函数,将单通道的灰度数据(如深度或视差)转换为三通道的彩色图像,从而利用人眼对色彩的高敏感度来凸显数据的分布、梯度与异常值。这项技术的核心价值在于,它能将抽象的一维距离信息转化为直观的视觉表征,极大提升了数据分析、算法调试和问题定位的效率。在工程实践中,伪彩色技术广泛应用于立体匹配算法评估、深度传感器精度验证,以及机器人导航、自动驾驶系统的实时环境监控等场景。本文聚焦于深

weixin_34221036的博客 411

从照片到深度图|AI单目深度估计-MiDaS镜像一键部署指南

MiDaS 全称为,由 Intel ISL 实验室于2019年首次发布。统一不同数据集的深度尺度,使模型能在无监督或弱监督条件下泛化至未知场景。✅关键创新点- 使用一种称为“相对深度归一化”的训练策略,让模型不关心绝对距离(如米),而是学习“谁近谁远”的相对关系。- 融合多个异构数据集(NYU Depth, KITTI, Make3D 等),极大提升模型泛化能力。- 提供轻量级版本,专为边缘设备和 CPU 推理优化。本镜像采用的是官方 PyTorch Hub 发布的MiDaS v2.1特性说明。

weixin_42577735的博客 960

从采集到处理:用海康RGBD相机+OpenCV4.6实现实时深度图与彩色图对齐与可视化(C++实战)

本文详细介绍了如何使用海康RGBD相机和OpenCV4.6实现实时深度图与彩色图的对齐与可视化(C++实战)。从设备连接、数据采集到实时处理,涵盖了深度图伪彩色渲染、双流同步显示等关键技术,适合三维视觉和机器人感知领域的开发者参考。

weixin_30352645的博客 278

深度图补全-depth inpainting

Deep Depth Completion of a single RGB-D Image 状态:开源,pytorch,matlab,C++ 下载地址: https://github.com/yindaz/DeepCompletionRelease 思路:目前效果最好(截止至2019. 06),耗时长。使用rgb image作为输入预测物体表面稠密法线及遮挡区域的边缘信息。使用这些预测结果与原始的depth图像结合,通过全局优化,对原始图像中像素缺失问题进行解决。由于现有数据集中ground trut

惊鸿一博 5066

SDXS ControlNet 原理与实战:草图、Canny 边缘与深度图图像翻译教程

SDXS 是一个主打"一步生成"的实时扩散模型开源项目,而它的 SDXS ControlNet 分支让草图、Canny 边缘和深度图都能在一秒内完成图像翻译。本文会用通俗易懂的语言拆解 SDXS ControlNet 的工作原理,并带来从环境搭建到草图转图像、Canny 边缘翻译、深度图翻译的完整实战教程,帮助新手快速上手实时图像生成,体验"随手一画,大片即出"的乐趣。 ## 什么是 SDXS?

gitblog_01095的博客 520

OpenCV DNN实现彩色与深度图像双模态人脸检测

人脸检测是计算机视觉中的基础任务,传统彩色图像在逆光、昏暗场景下容易漏检,而深度图像可提供几何与距离信息,具有天然互补性。双模态融合通过将彩色图的高置信度人脸框与深度图的近景候选、有效像素统计相结合,显著提升复杂场景下的检测鲁棒性。工程上基于OpenCV DNN即可完成推理,无需GPU或深度学习框架,轻量高效,适合闸机通行、人员统计、课程设计等应用场景。理解16bit深度图读取、像素映射、ROI稳健统计等关键原理,是避免踩坑并实现可靠融合的前提。本文从双模态检测原理出发,拆解彩色与深度两条检测链路,给出完整

weixin_32285357的博客 255

基于AI图像生成的三维模型雕刻:从深度图到顶点位移的实践指南

在三维建模与数字雕刻领域,深度图和法线图是定义物体表面几何细节的关键数据表示形式。深度图通过像素灰度值记录物体到摄像机的距离信息,而法线图则编码了表面每个点的朝向。这些图像数据可通过AI模型(如MiDaS)从单张RGB图像预测生成,其技术价值在于将二维视觉信息转化为可驱动三维模型形变的量化场。在工程实践中,这一原理被应用于自动化或辅助模型雕刻流程:通过计算AI生成的指导图像与模型当前渲染图像的差异,生成位移图,再通过UV映射或射线投射技术将二维像素差异映射到三维网格顶点,最终通过位移修改器实现模型表面的凹凸

weixin_30522183的博客 295

三维立体画生成器原理与实战:深度图、视差编码及OpenCV实现

在计算机视觉与图像处理领域,立体视觉技术的价值在于让平面图像重新拥有空间层次。三维立体画作为其中一种应用,其核心并不神秘:通过深度图记录场景中各点的相对远近,再利用重复纹理或随机点阵的视差偏移,将深度信息编码为单张图像;当左右眼以特定方式观察时,大脑便会根据纹理错位重构出立体感。这类生成器在创意海报、商品包装、裸眼3D展示等领域有广阔的落地空间,并且基于Python和OpenCV即可实现最小可用版本。掌握深度图预处理、重复周期与视差范围调优、边缘柔化等关键工程细节,能让生成的立体画更稳定、立体重建更自然。整

weixin_35761094的博客 96

基于Kinect深度图的实时头部朝向检测C++工程(含VS解决方案)

一套开箱即用的Windows平台C++工程,利用Kinect等深度相机采集的深度图像,实时计算人脸三维朝向角度(俯仰角、偏航角、翻滚角)。项目已配置完整Visual Studio开发环境,包含.sln解决方案文件、.suo用户配置、.sdf数据库缓存及Debug可执行目录,源码结构清晰,集成了成熟开源模块07194484head-pose-estimation。核心流程涵盖深度图去噪与归一化、面部关键点粗定位、基于3D模型拟合的姿态解算,输出稳定、延迟低,适用于体感交互系统开发、驾驶员/用户注意力监测、VR

numpy6sculptor的博客 208

RealSense SDK 从零上手:让深度相机 30 分钟跑出第一张深度图的完整指南

把深度相机插上电脑的那一刻,你期待的是炫酷的点云和丝滑的实时画面,结果却是满屏英文报错、一张黑乎乎的图和一堆读不懂的文档。这种挫败感我太熟悉了——而 RealSense SDK(librealsense)正是为此而生的开源库:它把 Intel 深度相机的取流、同步、后处理全部封装成十几行可读的 API,让新手也能在半小时内看到第一张**带真实距离信息**的深度图。 读完本文,你将能够: - 🚀

gitblog_01058的博客 437

Kinect 2.0 深度图与彩色图同步采集:基于 libfreenect2 和 OpenCV 的实战指南

深度相机通过结构光或 ToF 原理获取场景的深度信息,结合彩色图像可实现三维重建、点云生成等应用。在 Python 环境下,利用 libfreenect2 驱动 Kinect 2.0 可同时采集深度流和彩色流,并通过 OpenCV 进行显示与处理。深度图与彩色图坐标系不同,需进行配准对齐,否则叠加错位。该方案适用于三维重建、手势识别、点云处理等场景。本文以 Kinect 2.0 为例,详细讲解从环境搭建、数据采集到坐标对齐的完整流程,帮助开发者快速实现深度与彩色图像的同步获取。

weixin_27017211的博客 215
上一篇: 【裸眼3D】 图形图像空洞填充
下一篇: 传统基于DIBR的虚拟视点生成理论+代码
元宇宙MetaAI
博客等级 码龄10年 331粉丝 333原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值