Chief Ray Angle

2023-12-24 04:40
文章标签 angle ray chief

本文主要是介绍Chief Ray Angle,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Chief Ray Angle
相机镜头与传感器的集成

   CRA=chief ray angle. Sensor接收光能的效应一方面与Sensor本身有关,另一方面还与入射到Sensor上的光线角度有很大关系。在原来的感光胶片上CRA与照度有关,而如果在CMOS或CCD Sensor上光能的接受效率不仅与CRA有关,还与Sensor的Micro Lens开口布局有关。因此在做Lens设计的时候CRA要尽量符合Sensor厂家提供的CRA参考值,这样才能和他们的Sensor布局相配合,提高光能接收效率。

      拍摄镜头和传感器之间的接口是整个可拍照手机系统中最重要的接口之一。随着镜头的长度变得越来越短,光线到达传感器像素位置的角度也就会变得越来越大。每个像素上都有一个微镜头。微镜头的主要功能就是将来自不同角度的光线聚焦在此像素上。然而,随着像素位置的角度越来越大,某些光线将无法聚焦在像素上,从而导致光线损失和像素响应降低。

    光线进入每一个像数的角度将依赖于该像素所处的位置,镜头轴心线附近的光线将以接近零角度进入像素中随着它与轴心线的距离曾大,角度也变大.CRA与像素在传感器中的位置是相关的 。 

    从镜头的传感器一侧,可以聚焦到像素上的光线的最大角度被定义为一个参数,称为主光角(CRA)。对于主光角的一般性定义是:此角度处的像素响应降低为零度角像素响应(此时,此像素是垂直于光线的)的80%。

     光线进入每个像素的角度将依赖于该像素所处的位置。镜头轴心线附近的光线将以接近零度的角度进入像素中。随着它与轴心线的距离增大,角度也将随之增大。 CRA与像素在传感器中的位置是相关的,它们之间的关系与镜头的设计有关。很紧凑的镜头都具有很复杂的CRA模式。如果镜头的CRA与传感器的微镜头设计不匹配,将会出现不理想的透过传感器的光线强度(也就是“阴影”)。通过改变微镜头设计,并对拍摄到的图像进行适当处理,就可以大大降低这种现象。

    改变微镜头设计可以大大降低阴影现象。然而,在改变微镜头设计时,必须与镜头设计者密切配合,以便为各种拍摄镜头找到适合的CRA模式。相机的设计工程师应该确保这种技术合作得以实现,并确保传感器与镜头CRA特性可以很好地匹配。为确保成功实现此目标,美光开发了相关的仿真工具和评价工具。

     由于光线是沿着不同的角度入射到传感器上的,因此对于各种镜头设计而言,阴影现象都是固有的。“cos4定律”说明,减少的光线与增大角度余弦值的四次方是成比例关系的。另外,在某些镜头设计中,镜头可能本身就会阻挡一部分光线(称为“晕光”),这也会引起阴影现象。所以,即使微镜头设计可以最小化短镜头的阴影现象,此种现象还是会多多少少地存在。为了给相机设计者提供额外的校正阴影现象的方法,MT9D111中内嵌的图像处理器包含了阴影校正功能,它是为某些特定镜头而定制的。

   为了帮助设计工程师将传感器集成在他们的产品中,美光为其生产的所有传感器产品提供了各种开发软件。通过使用这些软件,相机设计工程师可以简化对各种芯片特性默认值的修改过程。每种变化的结果都可以显示在一个PC监视器上。对于很多相机中用到的新型镜头,通过使用这个开发系统,可以对校正镜头阴影和空间色彩失真进行参数设置。通过使用一个均匀点亮的白色目标,可以对设置响应过程进行简单的试验。软件开发工具可显示对阴影现象的分析结果。之后,工程师就可以使用区域方法来应用校正值。关于校正过程的寄存器设置将保存在开发系统中,以用于相机设计。

Lens和Sensor搭配的三个重要参数: 
1.Lens的Image Circle跟Sensor的对角线; 
2.Sensor的Pixel Size; 
3.CRA. 
这三个参数是Lens和Sensor选择的首要考量的。



一般在 Sensor data sheet中会附有全视场CRA参考值,不同sensor厂家有不同的要求,可以按照这个来做设计参考。有的Sensor厂家在公开的数据表中不会show出来,但可以跟他们索取。一般要求LENS和SENSOR的CRA曲线误差在+/-2度,当然还有其他方面,这也是我也想了解的。

    其匹配的原则为 Lens的CRA值一定要小于Sensor的Micro Lens CRA值,否则将会导致成像照度或色彩问题. 镜头CRA小于SENSOR CRA  或者镜头CRA与SENSOR CRA 接近是最好的 ,镜头CRA和芯片CRA一般三度以内。要求高的有2度以内  Lens CRA与Sensor CRA不匹配出现偏色的典型例为:OV9655/53/50 Sensor当配Lens TTL值在5.0mm以下的决大多数镜头时,仔细观察其成像的白色画面,就可以看出整个画面会有偏色的现象.OVT针对此问题改善后的Sensor型号为:OV9656.
  
例外Pixelplus从VGA到UXGA的Sensor配多数镜头时都同样存在一样的问题,当然此问题的产生很大程度上也与Sensor的制程有关,

Sensor CRA曲线中,纵轴表示主光线角度,单位是度,横轴表示视场,有两种表示方式,一种是以百分比表示,Sensor最大有效成像高度为100%,一般以10%依次区分.一种是直接以mm为单位,依次表示从Sensor中心到最大成像高度位置. 
Sensor的最大有效成像高度为Sensor有效成像面(对角线)的一半. 
不知这样解释,能不能了解!
 

 

说明一下  
LENS 和SENSOR CRA 搭配是很主要,但目前流传的说法中有一些错误的理论,现说明一下:  
1.SENSOR 有一个CRA值,也就是SENSOR 的MICRO LENS  与光电二极管的位置存在一个水平误差,并不在一条直线上,做成这样有一定的目的,按通常的做法,因为SENSOR 的MICRO LENS 与光电二极管之间存在一定的距离,这样的做的目的也是为了好搭配LENS。  
2.LENS 也存在一个CRA值,这在LENS设计的时候就是要考虑的内容,根据SENSOR的CRA 值进行设计,偏差在2度以内为佳,太大了,容易造成受光不足和偏色。  
3.并不是LENS CRA 越小越好,有人认为0度是最佳的,那也是不对的,只能说与SENSOR 的CRA 越接近越好。      

ccm188.jpg

这篇关于Chief Ray Angle的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Angle Between Hands of a Clock

Given two numbers, hour and minutes, return the smaller angle (in degrees) formed between the hour and the minute hand. Answers within 10-5 of the actual value will be accepted as correct. Example 1

【名词解释】Unity3D物理射线(Physics Ray)含义及其用法

Unity3D是一款流行的游戏开发引擎,它提供了一套强大的工具和功能来帮助开发者创建交互式3D内容。在Unity中,"物理射线"(Physics Ray)通常指的是使用射线检测(Raycasting)来检测物体之间的碰撞或者检测射线与物体的交点。这在游戏开发中非常常见,用于实现如射击、视线检测、物体碰撞检测等功能。 物理射线的含义: 射线检测是一种在Unity中用来检测从一个点发射的射线是否与

Ray,面向新兴AI应用的分布式框架

下一代AI应用需要不断和环境进行交互,并且在交互中学习。这些应用暴露了新的系统需求:性能和弹性。本文提出了Ray解决上述问题。 Ray实现了动态执行引擎,可以表达任务并行和actor模型计算任务。它通过分布式调度器以及分布式容错存储来实现高性能与容错。 问题与方案 AI中的监督学习部分,已经出现了优秀的深度学习框架,使用定制的硬件加速计算。但是对于新兴的AI应用不仅要收集探索数据,还要采取动作

UVA - 10334 Ray Through Glasses

题意:在n次的反射后一共有几条线,这里解释的很好点击打开链接 #include <iostream>#include <cstdio>#include <cstring>#include <cmath>using namespace std;const int MAXN = 1005;int n,f[MAXN][MAXN];void init(){f[1][0] = 1;f[

uva 10334 - Ray Through Glasses(斐波那契数)

题目链接:uva 10334 - Ray Through Glasses 题目大意:在2块玻璃中反射k次的光线条数。 解题思路:斐波那契数列。(大数) #include <stdio.h>#include <string.h>#include <iostream>using namespace std;const int N = 1005;struct bign

uva 1400 - Ray, Pass me the dishes!(线段树)

题目链接:uva 1400 - "Ray, Pass me the dishes!" 题目大意:给定一个长度为n个整数序列,对m次询问作出回答,对于每次询问(a,b),找到两个下标x,y使得x到y的连续和为区间a,b中最大的连续和,如果存在多解优先x小,然后y小。 解题思路:线段树,对于每个节点维护三个线段值: max_sub:区间连续最大和max_prefix:区间连续前缀最大和ma

Ray Tracing in one Weekend But on CUDA

Ray Tracing in one Weekend But on CUDA 环境说明项目代码项目内容思路实现方法效果 环境说明 代码运行在Visual Studio 2019环境,显卡为NVIDIA GeForce GTX 1650,CUDA版本为11.6,cuDNN版本为8.4.0。具体配置方式见CUDA C/C++ 从入门到入土 第一步——让你的CUDA跑起来. 代码参考

Ray: A Distributed Framework for Emerging AI Applications

Ray是UC Berkeley RISELab新推出的高性能分布式执行框架,目前还处于实验室阶段,具有比Spark更优秀的性能,有望在将来取代Spark。本篇博客是对该论文的简单翻译,如有翻译不妥的地方,欢迎指正。 原论文 pdfRay开发手册 Ray-Guide项目下载 Ray 0 简介 下一代AI应用程序将不断与环境交互,并从这些交互中学习。这些应用程序在性能和灵活性方面提出了新的和

UVA 1400 1400 - Ray, Pass me the dishes!(线段树)

UVA 1400 - "Ray, Pass me the dishes!" 题目链接 题意:给定一个序列,每次询问一个[L,R]区间,求出这个区间的最大连续子序列和 思路:线段树,每个节点维护3个值,最大连续子序列,最大连续前缀序列,最大连续后缀序列,那么每次pushup的时候,根据这3个序列去拼凑得到新的一个结点即可 代码: #include <cstdio>#inc

UVA 11008 Antimatter Ray Clearcutting

题目链接~~> 做题感悟:这题最开始的想法是先处理一下在同一条直线上的点用二进制压缩一下,然后用背包处理一下,但是超时了 ,后来看了别人写的才知道原来这样也可以,但是我在去除一条线段上的点的时候用抑或做的,这样是不行的,如果是单独一个点的话就可以。 解题思路:记忆化 + 状态压缩               这题第一感觉是要把同一条直线上的点用二进制压缩一下,那么,同一条直线上的点怎样压缩呢