首页 > 技术知识 > 正文

前言

  最近在做mstar芯片的md,od功能,顺便整理回顾一下之前海思的md,od调试过程;其实海思的移动侦测和遮挡检测在海思sample中都有实现,但是直接使用其sample参数效果不是很理想下面是我自己的一些调试说明。

MD:移动侦测

  hi3516dv300的移动侦测在文档中有接口提供的,在HiIVS 参考中有相关接口说明,其调用方式在sample中有示例说明,一般按照其sample走就可以正常调出md功能了,没啥其他问题,下面是调试过程中碰到的问题说明。

  sample中比较难理解的是dma硬件拷贝操作,拷贝了从vpss通道获取的yuv图像,但是只拷贝了yuv数据中的y分量,包装成了HI_IVS_MD_Process接口需要的当前帧和参考帧图像,这里的参考帧其实就是上一帧图像,对着两帧图像做对比,最后导出md结果。   还有灵敏度的调试一直很头疼,很难调试到一个合理的范围,下面测试过比较正常的参数例子,仅供参考 (开发记录)hi3516dv300的传统md,od算法调试

OD:遮挡检测

  在海思给的sample中给的是看上去很复杂的算法处理过程,并没有给出和类似md一样的处理接口,仔细分析od部分代码;其主要流程也是通过处理yuv图像数据进行od分析,通过拷贝yuv图像的y分量得到u8c1格式数据,然后通过HI_MPI_IVE_Integ函数计算图像的积分图和平方和的组合输出,如下排列: (开发记录)hi3516dv300的传统md,od算法调试1 得到的u64c1格式的数据再做计算 (开发记录)hi3516dv300的传统md,od算法调试2 把每一块图像按照8 * 8 分块,计算每一块的mean(我认为应该是均值)和sigma(这个看计算方式应该是方差),而图像的均值和方差,应该是指图像的对比度和亮度,可以判断大面积单色和大面积遮挡的情况。   其sample中对结果的处理不知道用的什么原理,测试结果很差,下面是我自己调试的代码,经供参考: (开发记录)hi3516dv300的传统md,od算法调试3 还有个用来做结果判断的数组 (开发记录)hi3516dv300的传统md,od算法调试4   经过测试,可以达到较为准确的测试遮挡检测功能。

猜你喜欢