【计算摄像学】博资考

news2024/11/17 14:50:54

@TOC

  • 本博客将覆盖的内容:
    在这里插入图片描述

数字相机(Digital Camera)

  • 小孔成像模型(pinhole imaging model)
    如下图所示,物体反射的光线射向四面八方,直接使用传感器无法直接得到物体形貌。
    在这里插入图片描述
    小孔成像模型在传感器前放置一个pinhole/aperture,保证物体上某个点反射的光线只有一条能通过pinhole。最后在传感器上的像是反转并且缩放过的。缩放因子受物体到pinhole以及传感器到pinhole的距离(focal length)的影响。此外,如果增大pinhole的大小(diameter),则成像的模糊程度会发生变化,pinhole越大,像越模糊。
    在这里插入图片描述
    pinhole模型存在一个trade-off,小pinhole产生锐利的像但是信噪比低,大pinhole产生模糊的像但是信噪比高。
    这里可以定义一个F-number: F = f o c a l l e n g t h / p i n h o l e d i a m e t e r F=focal length/pinhole diameter F=focallength/pinholediameter, e.g., F/5.6。

  • 薄透镜成像模型
    关于薄透镜的两个假设:穿过透镜中心的光不会被影响,平行光束聚焦到焦平面上的一个点。此时的F-number被透镜的材料和形状决定。值得注意的是,在pinhole模型中,焦距是aperture到传感器的距离,在薄透镜成像模型中,焦距由透镜决定。
    薄透镜的作图法:利用这两条假设,直接穿过中心的线不变,另一条未穿过中心的线做其穿过中心的平行线,这条平行线会与原来的未穿过中心的线相较于焦平面上某个点。由此作图完成。
    几条性质:一侧点发出的光线汇聚在透镜另一侧,平行于透镜平面点发射的光线,汇聚在另一侧同一平面上。利用几何关系可以得到薄透镜公式: 1 / 物距 + 1 / 像距 = 1 / 焦距 1/物距+1/像距=1/焦距 1/物距+1/像距=1/焦距
    薄透镜成像模型的优点:锐利的图像以及高信噪比,缺点是会产生离焦。
    在这里插入图片描述
    另一个参数:Field of view视场大小/视场角:
    假设物距不变,通过薄透镜公式可知,焦距和像距变化趋势相同,如果焦距增大,像距也增大,则FOV减小;反之亦然。此外,FOV还决定于传感器大小。
    在这里插入图片描述

  • 透视关系
    根据上图可知,物体在不同大小时,位于不同位置,最后的成像结果可能完全一样。

  • 曝光控制
    E x p o s u r e = T i m e × I r r a d i a n c e × G a i n Exposure=Time\times Irradiance \times Gain Exposure=Time×Irradiance×Gain,Time受到快门速度的控制(shutter speed),Irradiance受到光圈的控制,Gain受到ISO的控制。快门速度还和运动模糊有关。光圈大小控制进光量与景深(depth of field),景深代表聚焦区域前后能够清晰成像的范围,大光圈小景深,小光圈大景深。ISO代表传感器的敏感性,ISO太大会导致噪声放大。

  • 相机内图像处理pipeline(In-camera Image signal processing ISP):
    模拟前端输入为模拟信号,输出为数字信号。包含:模拟放大(Gain控制,vignetting渐晕控制),模数转换(ADC),查找表(LUT,矫正非线性和失效的像素,非线性主要在过曝或者接近0有噪声的地方产生)
    在这里插入图片描述

  • 白平衡 white balance
    人类视觉有色彩适应 chromatic adaptation,我们能够在不同的光源照射情况下正确地获取白色和其他颜色,但是相机无法实现这个自适应的过程。白平衡的目的是为了让相机在任何光线条件下都能准确地还原色彩,让白色在任何光照条件下都是白色,比如人眼自动调节看到的正常的光,但是被相机一拍发现颜色很奇怪。什么是色温:将黑体从绝对零度开始升温,当温度上升到一定程度之后,黑体开始辐射可见光,其光谱成分随着温度的上升逐步变化,由暖色调向冷色调变化。把黑体辐射一定色光的温度定为发射相同色光光源的色温。
    手动白平衡:根据色温手动调。
    自动白平衡 automatic white balancing AWB:
    灰度世界法(grey world assumption)认为任一幅图像,当它有足够的色彩变化,则它的RGB分量的均值会趋于相等(即灰色)。以其中一个颜色为基准(Green),计算均值,然后把其他两个通道的均值也变换到这个均值。缺点:对于纯色场景,由于其颜色不够充足,灰度世界法就不适用了。
    完全反射White world assumption 也是基于一个假说:一幅图像中某个像素点最亮,代表它对各个波段的光线都近乎完全反射,那么它的真实颜色应该是白色的。具体操作是找到每个通道的最大值,然后按照最大值比例进行缩放,如 R n e w = G m a x / R m a x × R Rnew = Gmax/Rmax \times R Rnew=Gmax/Rmax×R
    在这里插入图片描述

  • 色彩滤波阵列去马赛克 color filter array CFA demosaic
    对于不同位置处的像素位置使用不同的滤波器获得单色输出,在每个通道缺少的像素位置使用插值的方法(非自适应的方法和自适应检测的方法,因为涉及图像边缘的问题)获得三通道彩色图像。
    常用的插值方法有:线性插值(averaging)容易产生色彩伪影。

  • 去噪 denoising
    噪声源:传感器噪声(光子噪声和暗噪声,暗噪声与温度有关,满足泊松分布),模拟前端中的放大器噪声(高斯加性噪声),模拟前端中模数转换器量化噪声(高斯加性噪声)。
    去噪方法:均值滤波器、中值滤波器。

  • 高动态范围成像 High dynamic range imaging
    相机所能记录的光强范围有限,当超过能记录的最强光强之后,相机传感器会出现饱和的情况,如0-255之间,但是拍摄多张图像之后然后把值进行相加,则动态范围得到扩大,如四张不同曝光(快门速度,光圈大小,ISO)图片之和动态范围变成0-1020。但是这种方法在应用在动态场景中时,运动物体会产生鬼影(ghosting artifact)。
    另一种方案是单图HDR imaging:单图产生的过曝或者欠曝的区域往往很大一片,所以导致这一片信息被丢失了。一种做法是在对每个像素施加不同的曝光,得到一张棋盘状的图像,但是每个区域总有合适曝光的像素,利用这一点来重建高动态范围图像(CFA上做手脚)。
    在这里插入图片描述

  • 色调映射 tonemapping
    HDR imaging得到了高动态范围的图像,色调映射Tonemapping是显示这些图片的方法(显示器、相片所能表现的亮度范围不足以显示这些高动态区域,更加真实地显示图片的方法)。具体而言,把一个值映射到另一个值(0-1,0-255)
    线性缩放 linear scaling:效果不好
    设计特殊的曲线做tonemapping(low-frequency):对于HDR数据,为了防止丢失颜色信息,只对强度做tonemapping(出现halo plague),并且这个过程只对低频成分进行,保留高频细节。低频成分的提取可以使用双边滤波(类似于高斯滤波HF=Orig-LF)。

  • 探测边缘的方法:
    sobel算法,可分离算法,等于梯度算子+模糊算法,分别计算x方向和y方向的边缘后,通过平方和开根的方式得到边缘。加上模糊算法是为了去除噪声的干扰。
    一阶梯度算子(一阶1,0,-1)
    比如在拉普拉斯算子提取边缘中(二阶梯度算子1,-2,1),先微分再卷积可以变成拉普拉斯算子和高斯算子先卷积后微分。

  • edge-aware filtering 双边滤波 bilateral filtering
    目的是实现保留图像边缘细节的情况下模糊图像,滤波同时考虑空间位置以及像素值信息。即对于不同的图像内容做自适应地卷积核的替换。即周围像素和中心像素之间的值相差越大,则权重系数越低。
    双边滤波包括空间域核和值域核,两个核相乘得到总体的核,两个核的数学形式类似,都类似于二维高斯分布。如下所示。使用双边滤波还可以用作增强图像,比如滤波后的图像是低频分量的图像,图像的边缘被保留,原图像减去改双边滤波后的图像得到边缘去除的图像,然后加回原图像即可避免图形边缘处产生光晕。
    现代edge-aware filtering:局部拉普拉斯金字塔
    在这里插入图片描述
    在这里插入图片描述

图像处理

全景成像(Panoramic imaging)

  • 全景:从各个方向看广阔区域的开阔视野。如何产生全景图像:方法一使用宽角度透镜,如鱼眼相机(180FOV),优点是从光学角度完成optically done,缺点是失真严重distortion,透镜很大。方法二:图像拼接 image stitching。
  • 图像拼接:检测图像中的特征点,找到特征点对,使用特征点对找到图像之间的transformation参数,并把图像进行变换重叠,最后图像融合。
  • 特征点:一个特征点可以与另一个特征点高概率正确匹配。invariance:缩放、旋转、仿射、照明和噪声不变,用于在相当大的仿射变换、视点变化等范围内进行鲁棒地匹配。
  • Harris corner detector 角点检测
    角点即是图像边缘发生弯折大的拐点,角点与其他像素点不同的是,角点位置附近存在两个或以上的较大梯度变化。注意Harris检测器是旋转不变的,但是不是图像缩放不变的,这意味着不同的图像尺寸得到的角点是不同的。另一种检测特征点的方法叫:SIFT scale invariant feature transform。
    在这里插入图片描述
  • 图像变换 image transformation
    动机 motivation:在找到特征点对后,我们需要分析如何利用这些特征点对进行图像变换,使得多张图像可以拼接融合成一张图像。
    空间中图像是二维的(x,y),因此直观来看,图像之间的变换可以通过 2 × 2 2\times 2 2×2的矩阵来实现,基本的变换手段有:translation平移(两个参数),rotation旋转(一个参数),scaling缩放(两个参数),shear/skew倾斜(平行四边形化,两个参数),mirror镜像翻转(无参数),affine放射变换(包括前面所有),projective投影变换( 3 × 3 3\times 3 3×3的变换矩阵全是未知数)。依次进行这些变换可以合并变换矩阵。在这些基本变换手段中,绝大部分可以通过 2 × 2 2\times 2 2×2矩阵来表示,但是平移无法表示,因此需要引入homogeneous coordinates,其主要内涵是 [ x , y , 1 ] ≡ [ x × z ~ , y × t i l d e z , z ~ ] [x, y, 1]\equiv[x\times \tilde z, y\times tilde z, \tilde z] [x,y,1][x×z~,y×tildez,z~],在三维空间中他们都是过 ( x , y , 1 ) (x, y, 1) (x,y,1)和原点的一条线,线上的点都是等价的。
    在这里插入图片描述
    投影变换本质上是把一个平面从一个点投影到另一个平面(线性变换),类似于成像过程(pinhole model),同时值得注意的是,虽然矩阵中看似包含9个未知量,但是只有8个自由参数,因为根据homogeneous coordinates可知投影变换前乘以任何常数,都是表示同一个点,因此可以消去一个参数(say ∣ h ⃗ ∣ 2 = 1 |\vec h|^2=1 h 2=1)。 map: [ x ~ 1 , y ~ 1 , z ~ 1 ] → [ x ~ 2 , y ~ 2 , z ~ 2 ] \text{map:} [\tilde x_1, \tilde y_1, \tilde z_1] \rightarrow [\tilde x_2, \tilde y_2, \tilde z_2] map:[x~1,y~1,z~1][x~2,y~2,z~2]。 此外,此时平行线不再一定保持平行。根据上述平面相互转换的特性可知,如果要使得这一过程是有效的,则需要所有的照片都是从一个点拍摄的(共享一个pinhole),或者拍摄的场景应该是一个平面或者这个场景足够远以至于可以被认为是一个平面。
    由此可知,四个特征点对便足以求解上述的参数,得到两个图片之间的变换矩阵。 通常来说,你有的特征点对数多于4,这些多余的对可以帮助我们得到更加鲁棒的解。下面这个方程组是一个overdeterminated 过定方程。我们的优化问题变成:$A \vec h = 0 $ such that ∣ h ⃗ ∣ = 1 |\vec h|=1 h =1。即最小二乘问题 least squares problem。最后通过定义损失函数,求导为零,得到特征值问题,通过求解最小的特征向量即可得到 h ⃗ \vec h h 。自此我们完成了图像之间的变换矩阵的求解。
    在这里插入图片描述
  • 除了上述的技术外,还存在一些辅助技术:dealing with the outliers(特征点匹配), blending images(过度不平滑)。

相机模型/校正 camera model/calibration

  • 数字相机模型中存在三种坐标系:世界坐标系、相机坐标系、像坐标系。其中世界坐标系是人为定义的任意的坐标系,相机坐标系。。。
  • 数字相机模型中的参数:intrinsic matrix和extrinsic matrix。
  • 几何关系:
  • 简单的立体 stereo

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1129795.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring中AOP详解

目录 一、AOP的概念 二、AOP的底层实现原理 2.1 JDK的动态代理 2.1.1 invocationhandler接口 2.1.2 代理对象和原始类实现相同的接口 interfaces 2.1.3 类加载器ClassLoador 2.1.4 编码实现 2.2 Cglib动态代理 2.2.1 Cglib动态代理编码实现 三、AOP如何通过原始对象的id获取到代…

PCL入门1之点云读取及可视化

0 引言 本文主要记录在Ubuntu系统的PCL点云库安装过程,以及PCL点云读取和可视化的c代码示例。 1 PCL安装 本文是安装了pcl1.8大版本,可先下载 下载pcl 1.8.1 版本(点击Source code(zip) 先安装pcl1.8.1所需的依赖库&#xff1…

【在英伟达nvidia的jetson-orin-nx和PC电脑ubuntu20.04上-装配ESP32开发调试环境-基础测试】

【在英伟达nvidia的jetson-orin-nx和PC电脑ubuntu20.04上-装配ESP32开发调试环境-基础测试】 1、概述2、实验环境3、 物品说明4、参考资料与自我总结5、实验过程1、创建目录2、克隆下载文件3、 拉取子目录安装和交叉编译工具链等其他工具4、添加环境变量6、将样例文件拷贝到桌面…

使用el-tree问题之清空勾数据不生效

一、问题场景描述 在做角色菜单按钮权限时,多数采用树结构勾选数据,这里使用了element中的el-tree。如下图: 1、我给角色1勾选了权限列表数据的前三行, 点击弹框的确定 2、紧接着点击角色2的权限按钮,给角色2分配修…

Lvs +keepalivede : 高可用集群

keepalived为Ivs应运而生的高可用服务。Ivs的调度器无法做高可用,于是keepalived这个软件。 实现的是调度器的高可用。 但是: keepalived不是专为Ivs集群服务的,也可以做其他代理服务器的高可用。 lvs的高可用集群:主调度器和备调度器&#…

[springboot源码分析]-Conditional

https://www.baeldung.com/spring-conditional-annotations Condition元数据 1 org.springframework.context.annotation.Conditional 1.1Conditional定义 Target({ElementType.TYPE, ElementType.METHOD}) Retention(RetentionPolicy.RUNTIME) Documented public interface…

区块链技术在现代商业中的应用:打造透明与信任的新经济体系

区块链技术以其独特的不可篡改和去中心化特点,在全球范围内受到了广泛的关注和讨论。从金融、供应链管理到版权保护和身份验证,区块链技术正在逐步改变着传统商业运营模式,为企业和消费者带来更加透明、安全和高效的商业环境。本文将深入探讨…

计算机网络第一章笔记

b站深入浅出计算机网络 微课视频 第一章 概述 因特网概述 区别: 若干节点和链路互连形成网络若干网络通过路由器互连形成互连网(互联网)因特网是当今世界上最大的互联网 发展的三个阶段: 1969年,第一个分组交换网…

MQTT协议和边缘计算

1.基本概念 MQTT是基于TCP/IP协议栈构建的异步通信消息协议,是一种轻量级的发布、订阅信息传输协议。可以在不可靠的网络环境中进行扩展,适用于设备硬件存储空间或网络带宽有限的场景。使用MQTT协议,消息发送者与接收者不受时间和空间的限制…

【AI视野·今日CV 计算机视觉论文速览 第273期】Mon, 23 Oct 2023

AI视野今日CS.CV 计算机视觉论文速览 Mon, 23 Oct 2023 Totally 73 papers 👉上期速览✈更多精彩请移步主页 Daily Computer Vision Papers Using Human-like Mechanism to Weaken Effect of Pre-training Weight Bias in Face-Recognition Convolutional Neural N…

力扣每日一题62:不同路径

题目描述: 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径? 示例 1: 输入:m 3, n 7 输出:28 示例 2&#xff…

《红蓝攻防对抗实战》八.利用OpenSSL对反弹shell流量进行加密

前文推荐: 《红蓝攻防对抗实战》一. 隧道穿透技术详解《红蓝攻防对抗实战》二.内网探测协议出网之TCP/UDP协议探测出网《红蓝攻防对抗实战》三.内网探测协议出网之HTTP/HTTPS协议探测出网《红蓝攻防对抗实战》四.内网探测协议出网之ICMP协议探测出网《红蓝攻防对抗…

cmp云管平台专业厂商哪家好?有什么优势?

企业上云后,使用CMP云管平台就至关重要了,不仅方便云管理,还能节约云成本,还能保障云资源安全。但很多小伙伴不知道cmp云管平台专业厂商哪家好?有什么优势?这里就简单回答一下。 cmp云管平台专业厂商哪家好…

【QT】其他常用控件2

新建项目 lineEdit 什么都不显示(linux password) password textEdit和plainTextEdit spinBox和doubleSpinBox timeEdit、dateEdit、dateTimeEdit label 显示图案,导入资源:【QT】资源文件导入_复制其他项目中的文件到qt项目中_St…

医学图像分割利器:U-Net网络详解及实战

1 U-Net网络介绍 1.1 U-Net由来 2015年U-Net的出现使得原先需要数千个带注释的数据才能进行训练的深度学习神经网络大大减少了训练所需要的数据量,并且其针对神经网络在图像分割上的应用开创了先河。当时神经网络在图像分类任务上已经有了较好的成果,但…

出现了一个全新的编程语言——Mojo

最近,编程领域又一个黑马忽然冲进了开发者们的视野并正式开放下载。 Mojo 的简介 Mojo是一种新推出的编程语言,它将Python的简单性与Rust的速度和内存安全性结合在一起。 它处于开发的早期阶段,为用户提供了一个在线游乐场来探索其功能。 …

【JAVA学习笔记】 30 - Object类详解(equal,hashCode,toString)

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter08/src/com/yinhai/object_ 一、equal方法 和equal的对比 1.既可以判断基本类型,又可以判断引用类型,返回boolean值 2. 如果判断基本类型,判断的值是否相…

Vue 项目进行 SEO 优化

SSR 服务器渲染 服务端渲染, 在服务端 html 页面节点, 已经解析创建完了, 浏览器直接拿到的是解析完成的页面解构 关于服务器渲染:Vue 官网介绍 ,对 Vue 版本有要求,对服务器也有一定要求,需要支持 nodejs 环境。 优势: 更好的 …

Mysql视图特性用户管理

目录 一、视图基本使用 二、用户管理 2.1 用户 ①用户信息 ②创建用户 tips:(解决无法创建用户) ③删除用户 ④修改用户密码 2.2数据库的权限 ①给用户授权 ②回收权限 视图:视图是一种虚拟表。视图是基于一个或多个基础表中的数据所创建的一个查询结果…

ATA-8061射频功率放大器应用领域介绍

ATA-8061射频功率放大器简介 ATA-8061是一款射频功率放大器。其P1dB输出功率500W,饱和输出功率1000W。增益数控可调,一键保存设置,提供了方便简洁的操作选择,可与主流的信号发生器配套使用,实现射频信号的完美放大。宽…