天眸芯软件系统(USB)
简介
图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前,需要先对传感器进行配置,简要过程为:
选择sensor的模式
在右上角下图界面点路径选择,找到对应的csv配置文件
点击上图所示的config upate,等待配置下载成功即可使用
如果配置下载失败,请检查sensor的连接是否正常,配置的模式是否选择正确。可以尝试重启软件,但一般不会解决问题。
基本操作界面
这里先介绍ISP config界面,即芯片基本操作,在ISP config页面中,分为以下几块:全局信息、可视化阈值设置、降噪设置、文件读写设置、相机曝光设置、启停设置、高级图像处理参数设定。
图2 全局信息
全局信息模块会显示当前已运行时长,Rod数据量和Cone数据量的比值,已收到的Rod数据量以及存储数量,已收到的Cone数据量以及存储数量,当前总数据帧率以及rod和cone 分别消耗的带宽。
图3 噪声相关设置
噪声相关设置中,左侧为可视化阈值,即将低于该值的Rod值滤除(但不影响原始数据存储),右侧从上至下依次为平均滤波、相关性滤波和暗电流扣除。由于这几个滤波的特殊性,他们必须在启动之前勾选,否则需要重新启停传感器。但可视化阈值的调整是实时的。
图4 路径设置
数据的存/读路径选项与数据的保存、读取有关。运行前务必确认对应路径正确,否则可能造成文件覆盖或软件异常。文件的保存路径具有自动创建文件夹的功能,存储的根目录为/path,cone的原始数据会保存于/path/cone,Rod的原始数据保存于/path/rod。在调用传感器捕捉数据时,不需要关注读取数据路径。但本软件具有数据播放功能,对于已经保存好的数据,可以输入其根路径,并选择读取数据模式进行检视。需要注意:不同的操作系统可能在路径上有所区别,请务必保证路径的准确性。
图5 曝光参数设置
曝光参数包括Rod的曝光时间和增益、Cone的曝光时间和增益,在该界面处可以手动输入后update。不同的相机模式有不同的参数设定范围,会自动矫正。此外提供一些自动曝光算法,勾选左边选择不同的自动曝光模式,包括使用Rod中的Sd为曝光基准,使用RGB数据为曝光基准,或者使用二者混合曝光。曝光模式更新后也需要点update。
图6 相机操作区域
左侧勾选框可以勾选是否是读取数据模式,结合上一张图使用。右侧按钮,run/stop用于启停相机,single Capture可以只捕捉一帧Rod和Cone,Start/Stop record用于连续录制。录制后的文件会存储在上述设定好的路径下,cone每一帧存储为一个文件,rod每N帧存储为一个文件,N与相机具体模式有关。
图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步开始重新执行