Benz

Benz

0个粉丝

29

问答

0

专栏

0

资料

Benz  发布于  2017-06-13 20:44:12
采纳率 0%
29个问答
5086

有偿咨询 海思平台变焦跟踪算法 遇到的问题

 
本帖最后由 Benz 于 2017-6-20 14:31 编辑

平台:在Hi3518a上开发高清一体摄像机机芯 20X光学变焦镜头 130万的sensor,马达控制芯片MS41908。

变焦跟踪算法的大致思路:
      首先存入近物距near 和 无穷远inf物距 两条对焦曲线;
      镜头初始化之后,在1X位置处(也就是WIDE端);
      在小倍率下 不同物距的对焦曲线相差不大,所以跟着某一条曲线同步跟踪就可以了;
      在大倍率下 不同物距的对焦曲线相差很大,算法根据已有的两条曲线得出当前物距下的对焦曲线(记为预测变焦焦曲线);
      预测变焦曲线需要根据图像清晰度评价值(简称FocusValue FV值)对曲线进行微调;
      在WIDE--->TELE小倍到大倍拉倍的时候,循环的逻辑如下

|
|【1】通过比较FV,算出微调的方向和微调步数
|        延时40ms
|        GetFV1
|       focus 电机运行一步
|        延时40ms
|        GetFV2
|
|【2】计算本次循环zoom focus移动的步数
|
|【3】运行同步跟踪函数,一次循环结束
|        Func(zoom steps, focus steps)
|

      问题就在于这里的比较FV值,帧率是25fps的情况下,当前图像的数据要等40ms才能得到,所以导致每次循环比较的时候都有80ms的间隔时间,导致跟踪的时候卡顿现象明显,跟踪效果可以。

      同步函数运行前后各采集一次FV并比较,这种方式下倍率变了,图像特征也变了,导致FV值也有变化,所以我没有这样比较。
   
      不知道怎么利用这个FV来比较,怎么消除这种卡顿现象,望前辈们指导一下,困惑好久了,必有重谢...
      QQ1715497611
我来回答
回答8个
时间排序
认可量排序

icoolbee

0个粉丝

5

问答

0

专栏

0

资料

icoolbee 2017-06-17 01:06:42
认可0
好专业的问题

wanghanq0018

0个粉丝

5

问答

0

专栏

0

资料

wanghanq0018 2017-06-17 17:14:58
认可0
先说下我的理解,你在Zoomtracking的同时做了微调功能,每次微调计算2次FV值并且等待80ms,计算出方向和速度之后使用同步跟踪函数驱动Zoom和Focus电机。
如果我理解正确的话,这个80ms等待时间太长了,电机都已经走出了30步。
在你的算法里80ms内Focus电机就只走了一步吗?

Benz

0个粉丝

29

问答

0

专栏

0

资料

Benz 2017-06-20 10:30:39
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=53059&ptid=16891]icoolbee 发表于 2017-6-17 01:06[/url]
好专业的问题[/quote]

你好,坛友。 如果你也做这些的话, 是否可以交流,一起成长:)  

Benz

0个粉丝

29

问答

0

专栏

0

资料

Benz 2017-06-20 10:52:33
认可0
本帖最后由 Benz 于 2017-6-20 10:55 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=53070&ptid=16891]wanghanq0018 发表于 2017-6-17 17:14[/url]
先说下我的理解,你在Zoomtracking的同时做了微调功能,每次微调计算2次FV值并且等待80ms,计算出方向和速 ...[/quote]

不好意思,这几天出差不在,回复晚了。 坛友你的理解就是我的做法。 我个人总结,有两种比较FV的方式:
【方式1】同步跟踪SyncMove()运行前获取一次FV1, zoom&focus同步运行之后获取的FV2, 比较并计算出方向和速度;
【方式2】在每次循环的同步跟踪函数运行之前,变倍电机zoom不动,比较连续的两个调焦电机(focus)位置的FV值。 这里的80ms, 第一个40ms是等待上一次循环结束后的那一帧图像数据, 第二个40ms是focus电机走了1步,等待当前这一帧的数据。
      其实,使用方式1的方式可以避免这80ms的等待, 但是方式1的FV1 和FV2 是在zoom倍率不同的两个位置得到的, zoom倍率不同时 相同的景物得到的FV值的大小也有很大差别, 我也一直在尝试采用这种方法微调,始终没得到好的效果。下图是不同倍率(即横坐标是zoom位置)时,最清晰位置采集得到的FV_MAX最大值。这个表就说明了不同zoom位置时 FV值是有差别的

Benz

0个粉丝

29

问答

0

专栏

0

资料

Benz 2017-06-20 11:00:52
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=53070&ptid=16891]wanghanq0018 发表于 2017-6-17 17:14[/url]
先说下我的理解,你在Zoomtracking的同时做了微调功能,每次微调计算2次FV值并且等待80ms,计算出方向和速 ...[/quote]

focus电机是只走了一步, 我这种方法能达到跟踪的效果,但是由于要等80ms, 会有明显停顿感, 不好。

eken

0个粉丝

8

问答

0

专栏

0

资料

eken 2017-06-20 12:31:45
认可0
搞AF算法的大牛啊,有空联系下。加我QQ:517634840

Benz

0个粉丝

29

问答

0

专栏

0

资料

Benz 2017-06-23 18:43:26
认可0
有更好的思路可以交流, 有偿......

tagye_psf

0个粉丝

6

问答

0

专栏

0

资料

tagye_psf 2019-11-14 17:09:02
认可0
你好,我目前也碰到了相似的问题,可以加q交流下:625692548
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区