天眸芯软件系统(USB)

简介

../_images/main.jpg

图1 天眸芯 (Tianmouc) Qt上位机界面图

天眸芯 (Tianmouc) Qt上位机形态如所示。其主要包括天眸芯 (Tianmouc)图像显示与存储、网络推理、天眸芯 (Tianmouc)参数设计、图像回放等功能。

图1 中展示了目前基于Qt开发的上位机。在GUI左侧是预览界面,其中包括四个图像可视化和两个直方图。

其中左上角显示了Cone通路读出的RGB图像,右上角为时间差分TD的RGB可视化结果,左下角和右下角分别为两组正交方向的SD的RGB可视化结果。

左下角还承担了一些基本功能的可视化,一旦激活则切换为算法输出结果。直方图中上方为RGB直方图,下方为差分数据直方图。

GUI的右侧为ISP config页面和IIC config页面,分别负责芯片的基本操作与芯片的配置.

传感器配置流程

在开始数据传输之前,传感器应当先被正确地配置。传感器的启动和IIC参数配置在软件中已经进行封装,因此不必手动设定参数。其中有6档速度和精度可供选择,分别为Rod-2bit(严格而言是±1bit)下10kfps或者3.3k fps;Rod-4bit(严格而言是±3bit)下3.3kfps或者1.5k fps;Rod-8bit(严格而言是±7bit)下3.3kfps或者0.75k fps。只需勾选对应模式,尔后在ISP config页面中启动数据传输即可。

在使用Tianmouc前,需要先对传感器进行配置,简要过程为:

  1. 选择sensor的模式

../_images/gui_iic_usb.jpg
  1. 在右上角下图界面点路径选择,找到对应的csv配置文件

../_images/gui_bg_usb.png
  1. 点击上图所示的config upate,等待配置下载成功即可使用

  2. 如果配置下载失败,请检查sensor的连接是否正常,配置的模式是否选择正确。可以尝试重启软件,但一般不会解决问题。

基本操作界面

这里先介绍ISP config界面,即芯片基本操作,在ISP config页面中,分为以下几块:全局信息、可视化阈值设置、降噪设置、文件读写设置、相机曝光设置、启停设置、高级图像处理参数设定。

../_images/gui_2.png

图2 全局信息

全局信息模块会显示当前已运行时长,Rod数据量和Cone数据量的比值,已收到的Rod数据量以及存储数量,已收到的Cone数据量以及存储数量,当前总数据帧率以及rod和cone 分别消耗的带宽。

../_images/gui_3.png

图3 噪声相关设置

噪声相关设置中,左侧为可视化阈值,即将低于该值的Rod值滤除(但不影响原始数据存储),右侧从上至下依次为平均滤波、相关性滤波和暗电流扣除。由于这几个滤波的特殊性,他们必须在启动之前勾选,否则需要重新启停传感器。但可视化阈值的调整是实时的。

../_images/gui_4.png

图4 路径设置

数据的存/读路径选项与数据的保存、读取有关。运行前务必确认对应路径正确,否则可能造成文件覆盖或软件异常。文件的保存路径具有自动创建文件夹的功能,存储的根目录为/path,cone的原始数据会保存于/path/cone,Rod的原始数据保存于/path/rod。在调用传感器捕捉数据时,不需要关注读取数据路径。但本软件具有数据播放功能,对于已经保存好的数据,可以输入其根路径,并选择读取数据模式进行检视。需要注意:不同的操作系统可能在路径上有所区别,请务必保证路径的准确性。

../_images/gui_5.png

图5 曝光参数设置

曝光参数包括Rod的曝光时间和增益、Cone的曝光时间和增益,在该界面处可以手动输入后update。不同的相机模式有不同的参数设定范围,会自动矫正。此外提供一些自动曝光算法,勾选左边选择不同的自动曝光模式,包括使用Rod中的Sd为曝光基准,使用RGB数据为曝光基准,或者使用二者混合曝光。曝光模式更新后也需要点update。

../_images/gui_6.png

图6 相机操作区域

左侧勾选框可以勾选是否是读取数据模式,结合上一张图使用。右侧按钮,run/stop用于启停相机,single Capture可以只捕捉一帧Rod和Cone,Start/Stop record用于连续录制。录制后的文件会存储在上述设定好的路径下,cone每一帧存储为一个文件,rod每N帧存储为一个文件,N与相机具体模式有关。

../_images/gui_7.png

图7 ISP设定

ISP设定包括: 1.白平衡(RGBWB)数值,推荐直接使用自动白平衡

2.Rod和Cone的显示帧率,有时影响算法执行速度。这里的数值指每N帧绘制一帧,由于Rod的帧率最低是750帧,因此在实际录制时低于13的设置一般不会起效,但依然会增加软件负担,所以推荐设置为20以上。但在回放时,由于可以使用慢放,因此可以设置为1以逐帧检查

3.慢放速度,在播放数据时实时起效

4.数据比率。由于读取数据时不知道数据的录制模式,可能需要手动设置数据比率,例如750fps下Rod:Cone为25,设置为25时播放的数据时同步的。

5.SD correction,默认勾选即可,对原始数据优化视觉效果

6.全分辨率RGB使能。默认软件显示160*320分辨率图像以减小负担,如果需要精细检查,可以查看全分辨率图像。

7.图像翻转,由于镜头镜像问题。

8.黑底和白底的选择,用于改变Rod数据可视化结果

9.AOP-lowlevel processing

10.Reconstruction,勾选后会在渲染界面左下角展示由Rod数据直接重建灰度图的结果

11.OF,勾选后会在渲染界面左下角展示由Rod数据直接计算稠密光流的结果

以上功能除了慢放,其他都需要点击最下方的update以更新软件内部参数。另外左下角有zoom参数,可以调整图片的缩放倍率,但不影响原始分辨率。

软件和驱动安装

GUI的运行主要依赖于以下几个项目,这里仅限于ubuntu下的相机运行要求。在其他平台上也可以完成对应迁移与移植。

1.Opencv4-C++

2.Qt5套件,Qtcreator

3.CYUSB和libusb,详情请见SDK

其中,opencv4可在dependency下,使用lynhelp脚本一键安装,也可以自行选择合适版本。 Qt5可使用apt直接安装qt5-default,可附带Qtcreator。 具体的安装步骤可见项目目录下的Readme.md文档

从源码编译GUI的启动步骤

1.在qtcraetor中的.pro文件上,根据注释确定宏定义功能选择

2.编译GUI软件并启动

3.在IIC config界面上选择合适的模式下载相机参数

4.在ISP config上点击start 启动数据传输。

5.如果需要更改模式,应当关闭数据传输并重新下载参数

6.如果无法下载参数,可能是USB连接断了,重新启动GUI或者重插USB,第1步开始重新执行