前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >眼动追踪传感器选型

眼动追踪传感器选型

作者头像
云深无际
发布2022-12-17 17:56:21
1.2K1
发布2022-12-17 17:56:21
举报
文章被收录于专栏:云深之无迹云深之无迹

我总结了几个可以买的到的传感器,而且也给出了几个传感器的选择标准。

1.高帧率,120Hz是标配

2.体积小巧,满足狭窄环境安装

3.功耗低,满足边缘计算的能力

4.近红外波段敏感,因为要对这个波段进行感光

5.黑白的就行,彩色没有这个必要

我说下为什么用黑白的:

第一,同样大小的像元,黑白传感器可以用较小的曝光时间获取理想的图像,这样可以减弱抖动以及飞行运动造成的影响(实际上NAV相机就是采用控制曝光时间来减弱运动模糊的,这个是VIO);

第二,同样的像素个数,黑白传感器可以比彩色传感器获得更高的空间分辨率,彩色传感器因为颜色插值的原因会使分辨率降低大约30%左右。当然还有别的原因,如黑白图像数据量小,处理起来运算量小,实时性高等。

我推荐的是OVM6211,OVM7251,实验可以使用OV7251.

因为最容易买到的就是OV7251,所以接下来就重点说这个。

首先要知道这个CMOS的像素是30W。

来自豪威科技的OV7251-2B全局快门图像传感器是一款3.0微米的传感器,采用1/7.5英寸光学格式,120fps提供640×480分辨率,并具有单通道MIPI串行输出接口。这个也就是我选择的一个原因。

这款产品同时能够以180 fps提供具有BIN模式的QVGA(320×240),以及以360fps提供具有BIN和SKIP模式的QQQVGA(160×120)。

传感器可提供99.96%的快门效率,并具有光导功能,可改善光捕获的角度响应,从而实现更优秀的光学性能。

利用业界最小的全局快门像素,黑白 OV7251 能够以每秒 120 帧 (fps) 的速度捕获 VGA (640×480) 分辨率视频,以 180 fps 的速度捕获 QVGA (320×240) 视频,以及 QQVGA (160 ×120) 以 360 fps 进行合并和跳跃。OV7251 的高帧率使其成为低延迟机器视觉应用的理想解决方案。

对,这个全局快门我也要写一下:

可以看到这个全局快门在拍运动的物体的时候是很有效的

这个是OV6211

这个是OVM7251

OVM7251表面图

OVM7251有两个版本:

用于AR/VR眼动追踪的850nm模型;支持面部认证中的机器视觉与3D感知的940nm模型。将OVM7251用于支持AR/VR头显实现眼动追踪,设计者可以编程系统集成渲染注视点位置,并降低周围图像的分辨率,从而进一步节省功耗。

另外在Pico 3NEO版本的环境摄像头也是使用的这个模组,就是透视模式使用的摄像头,大家有机器的可以体验一下。

卷帘快门传感器的设计是为了捕捉静态图像和视频拍摄,因此拥有非常高的分辨率和颜色处理能力。但其缺点在于,它是逐行拍摄图像,拍摄和曝光时间过长,如果拍摄对象是汽车这样的快速移动物体,图像可能发生扭曲,而且功耗过高,不适合用于计算机视觉。

而全局快门的原理则完全不同,它是一次拍摄整幅图像,所有像素同时曝光。而且成像效果准确,曝光时间短,功耗也低,未来计算机视觉将走向全局快门。

卷帘快门像素点常见的在1.1微米以下,而全局快门通常在2.2微米以上。

这个OV6211其实是专门设计给眼动追踪的传感器

这个是它的一个帧率参数

1/7.5英寸的OV7251具有多种低功耗模式,包括光感应模式和超低功耗待机模式。在光感测模式下,OV7251 的行为类似于环境光传感器 (ALS),仅当检测到光变化时才将传感器从“睡眠模式”唤醒。同样,在超低功耗模式下,传感器可以降低分辨率和帧率以进一步降低功耗。

让我来总结一下:

这个传感器的输出频率是这样的

我不是很明白,是不是以为数据输出的带宽的原因,不过是可以按照一种固定的模式把感兴趣的图像来输出的。

这种提高帧率的方法叫:开窗方法其中最主要的当属ROI模式(Region of interest),ROI是在成像应用中,在相机传感器分辨范围内定义一个或多个感兴趣的窗口区域,仅对这些窗口内的图像信息进行读出,只获取该局部区域的图像。设定较小的ROI区域可以减少相机传送及计算机需要处理的图像信息量,并提高相机的采集帧率。

SKIP(Skipping mode),这种模式就是按照一定的规律,把想要的数据采集上来,把其余的数据扔掉。如下所示,column skip 2 row skip 2 留下的就是白色的像素,把黑色的像素丢掉。

这种模式会改变原有像元之间的相邻关系,所以对Bayer彩色的相机来说,会造成一定的颜色失真,所以它常见的应用就是预览,在工业实际中应用并不多。

第三种BIN(binning mode),就是把相邻的像素合成一个像素,然后再输出。如下所示,2 bin to 1 所有的像素都参与了新像素的生成。

低照度条件下,选择binning模式图像效果更佳,有点脑子就知道这个的。

这个是具体的OV采样模式

IR cut filter,即红外截止滤光片,它放在于LENS与Sensor之间。因人眼与CMOS Sensor对各波长的响应不同,人眼看不到红外光但sensor会感应,因此需要IR cut filter阻绝红外光。

这个是OV7251

6.5厘米的最小对焦距离有点不太行,太近了,这个是我找的一个模组的信息,不要较真。

输出的是MIPI的一路,妈的,要学的东西好多,头皮有点痒。

现在做demo也是可以的,这个距离

眼球追踪的几个阶段瞳孔检测算法的可视化。

1)眼睛图像转换为灰度、用户感兴趣区域(白色描边矩形)和初始值,瞳孔区域的估计(白色方块和虚线方块),这样的优点就是节省算力。

眼动追踪:梯度法精确定位眼中心(论文),也就是要看我写的这篇文章。

2)Canny边缘检测(绿色线)

3)定义“暗”区域为偏移眼睛图像直方图的最低峰值。

4)过滤边缘以排除光谱反射(黄色),而不是在“暗”区域(蓝色)

5)使用连接的组件提取边缘到轮廓,并根据曲率连续性准则(多色线)分割成子轮廓。

6)候选瞳孔椭圆(蓝色)通过椭圆拟合形成

7)通过增强组合搜索找到最终的椭圆拟合(最终椭圆与红色中心)-支持用白色绘制的边缘像素。

下面是插一个MIPI硬件设计时候的布线参考:

MIPI因为一种高速差分信号的接口,为了保证信号的同步和一致性,必须保证MIPI DP/DN保持等长,无论是线对与线对之间(pair to pair)还是单组信号的DP/DN之间,一般需要遵守的长度规则如下:camera pair to pair 100mil 单组之间:25mil。 在MIPI走线时,一般需要保持DP/DN在走线的过程中保持等距,保证一定的耦合程度,但是需要弄清楚的时,等长的优先级是高于等距的。且在走线时,线对之间要保持2W的距离。

注:MIPI在走线时优先级最高的是匹配等长,其余的都可以实际要求和应用进行灵活处理

LVDS也是我们使用CMOS的时候常见的数据输出接口:Low Voltage Differential Signal(低电压差分信号)

电压很低,1v左右,消耗资源少,差分信号保证抗干扰能力。

接口由1组差分clock和若干组差分信号线组成,既然有CLK,那么LVDS就是同步信号。LVDS的控制信号和数据信号复用接口,CLK是用于同步。既然是复用的,LVDS的协议中也一定有区分控制信号和数据信号的方法。

LVDS主要用于视频传输的两个领域:

camera和主控——视频采集

LCD和主控——视频显示

LVDS利用差分抗干扰能力,提升clock频率从而提升贷款,传输举例也更远,LVDS的时钟频率可以非常高。

话说找到一个MIPI+FPGA的方案商,这个宣传图咋感觉是DJI???

OV7251是很便宜的,做demo合适

这个是OVM7251,做产品合适,但是贵,要100+

这个是深圳一家眼动的厂子的模组,我不知道放这里是不是合适

但是它这个分辨率和帧率真的是看着还不错,不知道是哪款芯片

因为我找到了OV7251的数据手册,那这里也就看一下里面写了什么:

这个OV7xxx,有两个模组,一个是彩色,一个就是我们的这个,灰色的。

850nm正好是起始的波段

这个就是上面我发的图下面的引脚,这个其实对我来说意义不大

这个是MIPI接口下的分辨率和帧率

MIPI的时序

输出的时序控制

这个是使用FPGA的时候数据框图

像素矩阵的排列

除了RAW,也可以输出子采样的图像

硬件设计的时候,注意的参数

这么高的帧率,我们肯定是使用FPGA来处理的:

分辨率:640 x 480

数据格式:10位灰度

帧率:60fps (匹配显示器刷新频率)

通信- 控制接口:SCCB(I2C)

传输接口:1通道LVDS

速率:600Mbps

我们需要通过MCLK给摄像头提供时钟,RESET是复位线,PWDN在摄像头工作时应该始终为低。PCLK是像素时钟,href是行参考信号,VSYNC是场同步信号。一旦给摄像头提供了时钟,并且复位摄像头,摄像头就开始工作了,通过href,VSYNC和PCLK同步传输数字图像信号。数据是通过D0~D7这八根数据线并行送出的。

CMOS图像数据采集模块,需等待I2C协议对摄像头内部寄存器进行初始化。寄存器全部配置完成后,还需等待10帧数据,此等待10帧数据的目的是等待摄像头工作状态稳定。待寄存器配置生效、摄像头工作状态稳定后再开始采集图像。

具体地,待等待帧数等于10时,会使能标志信号frame_val_flag,使得OV7251开始对采集的图像数据中相应范围0~76800(340×240)的8位像素点数据经拼接操作,转存到寄存器data2ram中,data2ram将输出拼接后的16位数据到SRAM模块的输入引脚dina。

这个就是一个简单的采集过程。

另外小米8也是使用了这个模组:增加了红外人脸解锁功能,还是依靠了听筒右边的补光灯和型号为OV7251 IR Sensor去实现这样一个功能,先照亮人脸,再去接收黑白的图像,然后再识别解锁。相比以往依靠前摄像头去解锁的话,小米8对于光线环境是没有要求的,这也依靠了红外线的活体检测能力,且同单纯的摄像头来对比,安全性会更高一些。

在这里

这里

这个传感器卖的是真的好!

接下来拆个Huawei P30的主传感器吧~

特写

和我手的比较

放大的CMOS引脚

换另一边

全挑断

破坏一下

全球第一个在华为P30传感器上面刻字的成就

安排

代码语言:javascript
复制
https://javaforall.cn/194099.html
代码语言:javascript
复制
https://www.elecfans.com/d/858292.html
代码语言:javascript
复制
https://chuangke18.b2b168.com/s148909725.html
代码语言:javascript
复制
http://www.gowinsemi.com.cn/down.aspx?TypeId=94&Id=82
代码语言:javascript
复制
http://www.gowinsemi.com.cn/down.aspx?TypeId=141&Id=155
代码语言:javascript
复制
http://www.gowinsemi.com.cn/down.aspx?TypeId=139&Id=153
代码语言:javascript
复制
http://www.gowinsemi.com.cn/down.aspx?TypeId=140&Id=557
代码语言:javascript
复制
http://www.gowinsemi.com.cn/down.aspx?TypeId=730&Id=845
代码语言:javascript
复制
http://www.vmaya.com/qnews_m_topic_m_tskey_m_qn7506316096208248038.html
代码语言:javascript
复制
https://laoyaoba.com/n/830321
代码语言:javascript
复制
https://www.techinsights.com/products/pkg-2008-803
代码语言:javascript
复制
https://news.nweon.com/61829
代码语言:javascript
复制
https://blog.csdn.net/qq_28258885/article/details/119208454
代码语言:javascript
复制
https://bbs.elecfans.com/jishu_2067724_1_1.html
代码语言:javascript
复制
https://bbs.elecfans.com/jishu_1588888_1_1.html
代码语言:javascript
复制
https://www.ovt.com/products/ov7251/
代码语言:javascript
复制
http://t.zoukankan.com/ranson7zop-p-8250565.html
代码语言:javascript
复制
https://blog.csdn.net/weixin_39562089/article/details/112627919
代码语言:javascript
复制
https://new.qq.com/rain/a/20191205A05II700?pc
代码语言:javascript
复制
https://www.ovt.com/products/ov7251/
本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-12-14,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 云深之无迹 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
边缘可用区
腾讯云边缘可用区(TencentCloud Edge Zone,TEZ)是腾讯云的本地扩展,适用于解决计算、存储和服务可用性问题。腾讯云边缘可用区可为您带来云的诸多优势,例如弹性、可扩展性和安全性。借助腾讯云边缘可用区,您可以在靠近最终用户的地理位置运行对延迟敏感的应用程序,基本消除延迟问题。腾讯云边缘可用区提供与中心节点一致的体验,助力业务下沉,具备更低延时、更广覆盖、更少成本等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com