相机选型介绍

摄影测量中,相机是非常重要的角色,合适的相机产出合适的图像,得到合适的重建精度,这是相机的重要性。

您也许第一反应是,摄影测量所需的理想相机,是有着超高分辨率的相机,但事实可能并非如此,分辨率确实是相机非常重要的指标,但绝非唯一指标。

1. 分辨率

分辨率显然是相机必须关注的参数之一,更高的分辨率意味着对目标更好的细节解析能力,能恢复出更多目标表面细节,并带来更高的测量精度。

高分辨率带来的缺点:

  • 动态模糊更明显。
  • 亮度变低,需要加大进光量,比如增大光圈或快门时间,而增大光圈会让景深减小,增大快门时间会让动态模糊更明显。
  • 算法处理时间增加。
  • 成本增加。

这些问题虽不是那么致命,但能够让你不盲目的追求高分辨率,最好查阅资料对当前相机厂商的主流分辨率有个大致的了解,选择中上分辨率设备,不过分追求超高分辨率。

从经验来看,无人机图像三维重建有最常用的2000万像素级别,次常用4000万像素级别,少见的上亿像素级别。

  • 请避免使用图像处理工具后期增加分辨率,这除了增加处理时间,大部分时候都没有好处,并不会带来预期的精度提升,还有可能破坏图像参数对应关系。
  • 请注意另一种提高分辨率的方式:像素内插。例如某相机宣传高达一亿像素,你还需参考其传感器画幅是否是真的原生态的一亿像素,而不是算法内插得到的。
  • 画幅是重要指标(看后文),小画幅高分辨率,很有可能是像素内插出的,如果对重建精度要高要求,请慎选。一般来说,大画幅小分辨率 > 小画幅高分辨率。

2. 镜头

关注镜头的主要关注点在于焦距视场角,短焦距通常意味着广角镜头,有带来更大的视野范围,同时却增加了像素的GSD(ground sample distance)并有更明显的像素畸变;反之长焦距有着更窄的视野范围,但更小的像素GSD以及更小的畸变。

Image

在摄影测量学中,一般不会考虑焦距过短和超大广角,一方面加大像素GSD对精度没有好处,另一方面降低了像素畸变估计的准确性。也不会考虑超长焦和超小窄角,在上篇中我们提及到用于三维重建的图片必须满足相邻足够的重叠度(60%以上),过于窄小的视野使得为满足重叠度必须拍摄超多的图片,这带来了更大的计算负担。

在实践中,偏向于选择微广角或微长焦,用35毫米等效焦距值来初步分析一个镜头的状况是个很好的方法,如果这个值是35毫米,则通常是一个视野和焦距都很适中的镜头,如果这个值是24,则它是一个微广角镜头,如果是48,则是一个微长焦镜头,都是比较常见的。现在无人机厂商都比较青睐将相机焦距设计到24~35之间,带一些广角可以获取更大的视野,也能在满足重叠度的情况下减少采集图片的数量。

3. 传感器

提起传感器,画幅是我们最常说的一个参数,画幅,在胶片时代指的是胶片的尺寸规格,现在指的就是相机传感器的尺寸。

全画幅自然比半画幅有更高的图像质量,也就是人们常说得底大一级压死人,核心关注的是传感器尺寸,尺寸越大则进光量越大,对画面还原的情况越好,暗光拍摄也会更强,整体质量更优秀。

如图所示,全画幅相机比一英寸相机大2.7倍的面积,如果同样产出2000万像素的图片,孰优孰劣显而易见。一英寸已经是当前手机相机的天花板,而大部分入门级别数码相机大多是APS-C(也叫半画幅),全画幅相机则位于高端相机之列。

Image

画幅带来的一些优势是无形的,采集到同等亮度的图像,全画幅要比APS-C使用更低的IOS、更少的快门时间和更小的光圈,随之带来更少的噪点,更少的运动模糊以及更长的景深。

要想产出高质量的三维模型,自然是推荐你使用APS-C半画幅以上的相机,但价格成本也是不可忽视的因素,画幅往往和价格直接挂钩。如果你现在只是一个初级玩家,不必过分追求画幅,日常的手机(Iphone 15: 1/1.28)、消费无人机(DJI Mini4 : 1/1.3)都在一英寸画幅以下,而大疆专用于测绘的行业旗舰Mavic 3E则是4/3英寸的底,这些已然足够。而一些专业建模师,在选择相机时,画幅必定是会重点关心的参数。

4. 快门类型

快门类型是影响图像质量的重要因素。

  • 机械快门 Mechanical Shutter 

  • 电子快门 Electronic  Shutter ,分为卷帘快门(Rolling Shutter)和全局快门(Global Shutter)

一般来说,机械快门相比电子卷帘快门存在优势,原因就是电子卷帘快门的果冻效应,由于电子卷帘快门是逐行进行曝光,导致不同行曝光的时刻不一样,高速移动的目标会出现重复片段,也就是果冻效应,如下图所示:

Image

机械快门则相比而言果冻效应轻微很多,大部分几乎无法察觉。

电子全局快门也没有果冻效应,因为是全像素同时曝光,如下图所示:

Image

卷帘快门的一个巨大的优势是价格低廉,而且优势十分明显。

参考文献

【图文科普】选好相机,成为优秀的三维重建摄影大师的第一步

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

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

相关文章

【数据结构-字符串 五】【字符串转换】字符串转为整数

废话不多说,喊一句号子鼓励自己:程序员永不失业,程序员走向架构!本篇Blog的主题是【字符串转换】,使用【字符串】这个基本的数据结构来实现,这个高频题的站点是:CodeTop,筛选条件为&…

JavaSec 基础之 RCE

文章目录 java 五大常见 RCE APIRuntimeLoadJsgroovyProcessBuilderProcessImpl java 五大常见 RCE API Runtime 最基本的 RCE 利用 Runtime.getRuntime().exec(cmd)getRuntime() 常用于执行本地命令,使用频率较高 LoadJs public void jsEngine(String url) th…

YOLO学习中的琐碎知识点

目录 一、导入的库 二、名词介绍 (1)pytorch张量 (2)边界框(bounding box) 三、pycharm操作 (1)参数设置 四、文件认识 五、YOLO如何训练自己的模型 一、导入的库 import to…

[已解决]npm淘宝镜像最新官方指引(2023.08.31)

最新的配置淘宝镜像的淘宝官方提供的方法 npm config set registry https://registry.npmmirror.com原来的 registry.npm.taobao.org 已替换为 registry.npmmirror.com ,当点击 registry.npm.taobao.org 会默认跳转到 registry.npmmirror.com 如果你想将npm的下载…

StarRocks——滴滴OLAP的技术实践与发展方向

原文大佬的这篇StarRocks实践文章整体写的很深入,介绍了StarRocks数仓架构设计、物化视图加速实时看板、全局字典精确去重等内容,这里直接摘抄下来用作学习和知识沉淀。 目录 一、背景介绍 1.1 滴滴OLAP的发展历程 1.2 OLAP引擎存在的痛点 1.2.1 运维…

【DDD】学习笔记-领域模型与数据模型

领域模型与数据模型 领域驱动的设计模型最重要的概念就是聚合,同时,聚合还要受到限界上下文边界的控制。Eric Evans 之所以要引入限界上下文,其中一个重要原因就是因为我们“无法维护一个涵盖整个企业的统一模型”,于是需要限界上…

[深度学习]yolov9+bytetrack+pyqt5实现目标追踪

【简介】 目标追踪简介 目标追踪是计算机视觉领域中的一个热门研究方向,它涉及到从视频序列中实时地、准确地跟踪目标对象的位置和运动轨迹。随着深度学习技术的快速发展,基于深度学习的目标追踪方法逐渐展现出强大的性能。其中,YOLOv9&…

Arduino中安装ESP32网络抽风无法下载 暴力解决办法 python

不知道什么仙人设计的arduino连接网络部分,死活下不下来。(真的沙口,第一次看到这么抽风的下载口) 操作 给爷惹火了我踏马解析json选zip直接全部下下来 把这个大家的开发板管理地址下下来跟后面python放在同一目录下&#xff0c…

Android LinearLayout 如何让子元素靠下居中对齐 center bottom

Android LinearLayout 如何让子元素靠下居中对齐 center bottom 首先你需要知道两个知识点: android:layout_gravity 指定的是当前元素在父元素中的位置android:gravity 指定的是当前元素子元素的排布位置 比如: 有这么一个布局,我需要让…

OD(10)之Mermaid甘特图(Gantt diagrams)使用详解.md

OD(8)之Mermaid甘特图(Gantt diagrams)使用详解 Author: Once Day Date: 2024年2月24日 漫漫长路才刚刚开始… 全系列文章可参考专栏: Linux实践记录_Once_day的博客-CSDN博客 参考文章: 关于 Mermaid | Mermaid 中文网 (nodejs.cn)Mermaid | Diagramming and charting to…

OpenCV Mat实例详解 六

本文将接着OpenCV Mat实例详解继续介绍OpenCV Mat类的操作符及公有成员函数。 Mat & operator Mat & operator (const Mat &m) 将一个Mat对象赋值个另一个Mat对象。 Mat & operator (const MatExpr &expr) 将一个Mat表达式值赋值给Mat对象 Mat & op…

备考2024年汉字小达人:历年考题练一练-18道选择题

今天为大家分享汉字小达人的备考学习资源,通过参加没有报名费、人人可参加的汉字小达人比赛,激发孩子学习语文的兴趣,并且提升语文学习成绩。 汉字小达人的两轮比赛(区级自由报名活动、市级活动)的选择题主要有六种题型…

Mac安装Appium

一、环境依赖 一、JDK环境二、Android-SDK环境(android自动化)三、Homebrew环境四、Nodejs 安装cnpm 五、安装appium六、安装appium-doctor来确认安装环境是否完成七、安装相关依赖 二、重头大戏, 配置wda(WebDriverAgent&#x…

华为---RSTP(三)---P/A机制及RSTP的生成树形成过程

目录 1. P/A机制简介 1.1 P/A机制的作用 1.2 P/A协商的前提条件 1.3 RSTP选举思路 2. P/A协商过程 3. 举例说明RSTP的生成树形成过程 3.1 示例环境要求 3.2 RSTP的生成树形成过程 3.2.1 SW和SW1之间链路上抓包分析 3.2.2 SW和SW2之间链路上抓包分析 3.2.3 SW1和SW2之…

实现外网手机或者电脑随时随地远程访问家里的电脑主机(linux为例)

文章目录 一、背景概要二、安装配置花生壳软件(linux版本)三、手机端(外网)验证连接四、安装ubuntu20server版系统遇到的问题记录 一、背景概要 由于经常在遇到某些问题的时候,针对某一个场景的理解,需要借助于自己的电脑去编译(aosp/linux/qemu)代码查…

5.2.鸿蒙LiteOS-M los_dispatch

目录 一、cortex-m4 los_dispatch.S代码分析坚持就有收获 一、cortex-m4 los_dispatch.S代码分析 .syntax unified #.syntax [unified | divided], 指定arm 汇编语法规则 .arch armv7e-m #指定平台, 与命令行参数-march同样的作用 .fpu fpv4-sp-d16 #指定浮点运算…

苹果分拣检测YOLOV8NANO

苹果分拣,可以检测成熟、切片、损坏、不成熟四种类型,YOLOV8NANO,训练得到PT模型,然后转换成ONNX,OPENCV的DNN调用,支持C,PYTHON 苹果分拣检测YOLOV8NANO,检测四种类型苹果

C++ 学习之函数对象

C++ 函数对象基本概念 在C++中,函数对象(Function Objects)是一种类或结构体,它重载了函数调用运算符operator(),因此可以像函数一样被调用。函数对象有时也被称为仿函数(Functor)。 以下是关于C++函数对象的基本概念: 使用函数对象:函数对象可以像普通函数一样被调…

编程笔记 Golang基础 029 方法

编程笔记 Golang基础 029 方法 一、方法的定义二、方法的使用三、方法接收者的不同类型四、应用示例五、方法的意义 在Go语言中,方法(Method)是与某种类型相关联的函数,它允许你为自定义类型添加行为。方法通过在其签名中包含一个…

textbox文本框跨线程写入,扩展textobx控件

在Windows Forms中,由于UI控件不是线程安全的,直接跨线程访问和修改UI控件通常会导致不可预测的行为或异常。TextBox 控件同样不能直接从非创建它的线程进行写入。为了安全地在不同线程间更新 TextBox 控件的内容,你可以使用控件的 Invoke 方…