ADAS-可见光相机之Cmos Image Sensor

news2024/11/15 14:06:48

引言

“ 可见光相机在日常生活、工业生产、智能制造等应用有着重要的作用。在ADAS中更是扮演着重要的角色,如tesla model系列全车身10多个相机,不断感知周围世界。本文着重讲解下可见光相机中的CIS(CMOS Image Sensor)。”
在这里插入图片描述

定义

光是一种电磁波,自然界的光是由各种波长的电磁波组成,如下:
在这里插入图片描述

在自然光中人眼可以感知的光源波段在400nm700nm之间。可见光相机传感器是一种成像器,它收集可波长为(400700nm)光波并将其转换为电信号,经过ISP(Image Signal Process)处理之后变成彩色的图像进行显示或者处理。生活中常见的可见光相机如手机相机、运动相机等,在ADAS汽车领域中更多是以模组的形式出现,如:
在这里插入图片描述
可见光相机一般由三个主要器件构成,分别是:镜头、Sensor以及ISP,架构图如下:
在这里插入图片描述
其中:

  • Lens,主要负责聚集光源,聚集到Sensor上;
  • CIS,主要负责光子转电子,并将电子采集,经过放大模数转化成数字信号输出;
  • ISP,图像处理单元,主要负责将Sensor输出的原始raw数据处理成带有RGB颜色的图像信号输出。

本文着重围绕CIS进行展开讲述。

CIS电气原理

2.1 CIS堆叠架构

CIS是由无数个pixel阵列组成,以俯视图的角度来看,整体如下所示:
在这里插入图片描述

从纵截面来看,CIS堆叠如下所示:

在这里插入图片描述

首先,最上层是MicroLens,每个pixel都有一个微透镜,主要作用是将从不同角度入射的光源聚集到Pixel上。
其次,CFA(Color Filter Array),单纯的pixel是无法感知颜色的,因此,为了可以感知自然界的颜色,人类想到加入不同的滤光片,使得不同pixel进入不同的光源,后端通过插值来还原RGB信息。
在这里插入图片描述
最后,最下层便是真实的CIS半导体电路部分,此部分主要由模拟部分以及数字部分组成。

2.2 Pixel Array

CIS电路宏观上如下所示:
在这里插入图片描述
其中:
PD:即Photo-Diode,光电二极管,在光源照射下会产生电流,电子经过电容采集,运算放大器,ADC转化,最终变成数字信号输出。
行列选择器:用于确定阵列中当前哪一个像素进行输出,进入模拟放大采样电路中。

2.3 Pixel架构

每个Pixel门电路原理如下,这里的T代表的是Transfer Gate,即电路中Mos管的个数,基本的3T架构如下所示:
图片
在这里插入图片描述
首先,Sensor控制Reset开发打开,PD进行释放电子,复位电路。
其次,PD开始曝光接受光照,并转化成电子输出到源极跟随器上。
最后,行列扫描器选中当前pixel,select门电打开,将存储的电子输出给外部运放。
4T架构在3T架构上多加了一个Transfer Gate,用于控制PD数据是否输出到源极跟随器,电路噪声会更小,如下:
在这里插入图片描述

CIS关键指标参数概览

下表初步展示了可见光相机 or CIS在选型的关键参数,后续本公众号会继续开展文章讲述关键参数意义等来帮助选型。
在这里插入图片描述
好了,今天可见光相机科普先到这里,客官觉得有用记得点个赞,后续定时更新ADAS传感器领域知识。

本文原创,禁止盗窃文档进行商业活动!!!!
欢迎关注我的公众号,ADAS之眼,定时更新文章~
在这里插入图片描述

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

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

相关文章

如何在 iPhone 上恢复已删除的通话记录/通话记录

您的通话记录/通话记录可能很重要,尤其是当您想要拨打之前联系过但未保存的号码时。如果您碰巧删除了通话记录(有意或无意),本指南将帮助您了解如何检索它们并找回您需要使用的所有记录。我们将根据您的情况和您拥有的工具讨论不同…

【Tomcat 】Tomcat 架构原理解析到架构设计借鉴

Tomcat 发展这么多年,已经比较成熟稳定。在如今『追新求快』的时代,Tomcat 作为 Java Web 开发必备的工具似乎变成了『熟悉的陌生人』,难道说如今就没有必要深入学习它了么?学习它我们又有什么收获呢? 静下心来&#…

一文让你彻底理解关于消息队列的使用

一、消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,Rabbit…

Spring Security认证研究

1.项目中认证的三种方式: 1.统一认证 认证通过由认证服务向给用户颁发令牌,相当于访问系统的通行证,用户拿着令牌去访问系统的资源。 2.单点登录,对于微服务项目,因为包含多个模块,所以单点登录就是使得用户…

烙铁使用方法

烙铁使用 烙铁是硬件工程师最经常使用的工具之一,一把性能保持良好的烙铁能帮助我们快速进行电路调试。烙铁第一次加热时采用焊锡均匀涂覆在烙铁头上,以便去除包在烙铁头上面的氧化物。在工作中我们需要根据情况选择合适的烙铁头类型,合适的温度进行操作。完成焊接后要在烙铁…

TypeError: load() missing 1 required positional argument: ‘Loader‘解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理…

BLIP2-图像文本预训练

文章目录摘要解决问题算法模型结构通过frozen图像编码器学习视觉语言表征图像文本对比学习(ITC)基于图像文本生成(ITG)图文匹配(ITM)从大规模语言模型学习视觉到语言生成模型预训练预训练数据预训练图像编码…

基础夯实,字节内部总结240道算法LeetCode刷题笔记,直呼太全

1、什么是算法算法(algorithm,[ˈlɡərɪəm],计算程序):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结…

从Linux源码角度看套接字的Listen及连接队列

今天就从Linux源码的角度看下Server端的Socket在进行listen的时候到底做了哪些事情(基于Linux 3.10内核),当然由于listen的backlog参数和半连接hash表以及全连接队列都相关,在这里也一块讲了。 Server端Socket需要Listen 众所周知,一个Serv…

archlinux docker配置php5.3

一直在维护一下10年前的老项目,是基于php5.3开发的。一直在使用windows虚拟机在开发php5.3。最近就想尝试在archlinux主系统中开发。 什么是php PHP 是一种广泛使用的通用脚本语言,特别适合 Web 开发,可以嵌入到 HTML 中。 AUR安装php5.3 …

【C语言进阶】了解计算机的程序环境和预处理过程 掌握计算机预处理操作

​ ​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:C语言进阶 🎯长路漫漫浩浩,万事皆有期待 文章目录1.编译与链接1.1 程…

WebGPU学习(4)---使用 UniformBuffer

接下来让我们使用 UniformBuffer。UniformBuffer 是一个只读内存区域,可以在着色器上访问。 这次,我们将传递给着色器的矩阵存储在 UniformBuffer 中。演示示例 1.在顶点着色器中的 UniformBuffer 这次我们在顶点着色器里定义一个名为Uniforms的新结构体…

TCP 的演化史-sack 与 reordering metric

就着 TCP 本身说事,而不是高谈阔论关于它是如何不合时宜,然后摆出一个更务虚的更新。 从一个 case 开始。 按照现在 Linux TCP(遵守 RFC) 实现,以下是一个将会导致 reordering 更新的 sack 序列: 考虑一种情况,这两个…

【Spring】谈谈你对IOC和AOP理解(2023最新)

目录一.IOC(Inversion of Control)1.IOC是什么?2.IOC的实现原理二.AOP(Aspect Oriented Programming)1.AOP是什么?2.AOP的实现原理3.说一下AOP都有哪些基本理念?或者是AOP的术语4.Advice(通知)的类型有哪些5.AOP的应用场景6.使用AOP实例(日志…

jvisualvm远程监控Java程序

启用远程监控: 方式一:启动参数进行配置 启动远程应用需指定jmx相关配置 java -jar -Djava.rmi.server.hostname远程服务ip -Dcom.sun.management.jmxremote.port18888 -Dcom.sun.management.jmxremotetrue -Dcom.sun.management.jmxremote.sslfa…

运动耳机推荐、最值得入手的运动耳机清单共享

现在市面上各式各样的运动蓝牙耳机着实让人挑花了眼,怎样才能从纷繁复杂的市场中挑选出专业性、安全性、舒适性等各个方面都做地可圈可点的运动蓝牙耳机可真不是一件易事啊,甚至连不少老朋友都会踩坑,为了能让大家挑到真正的运动蓝牙耳机,为此…

Dev C++ 调试功能详细总结

原文链接: Dev C 调试功能详细总结https://mp.weixin.qq.com/s/H9VwLNcJ0tY3j3265R0_7Q 大家好,我是CodeAllen(康哥),今天是2023年2月25日,继上一篇介绍了我在Windows端经常用来验证代码的工具Dev C的基本…

pytest测试框架——pytest.ini用法

这里写目录标题一、pytest用法总结二、pytest.ini是什么三、改变运行规则pytest.inicheck_demo.py执行测试用例四、添加默认参数五、指定执行目录六、日志配置七、pytest插件分类八、pytest常用插件九、改变测试用例的执行顺序十、pytest并行与分布式执行十一、pytest内置插件h…

【经典蓝牙】蓝牙AVRCP协议分析

协议简介 蓝牙AVRCP协议是蓝牙设备之间音视频的控制协议。定义了音频/视频的控制、浏览、查询、通知等一系列的命令集。常用来蓝牙耳机对手机的音乐进行控制,以及获取手机的音乐信息等场景。AVRCP协议有两个角色,分别是controller(CT&#x…

MFC 使用GridCtrl表格控件

1、以前使用GridCtrl大多作为静态库,但是程序使用的时候体积会很大,有网友询问能不能封装为动态库使用,刚好最近抽空仔细看了一下,封装出来。 2、具体封装过程不再赘述,具体测试如下所示: CGridCtrl m_Gri…