| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 2021-08-01 -> 正文阅读 |
|
[人工智能]2021-08-01 |
【转载】Apriltag定位和识别
1. 前言 Apriltag 作为一种视觉定位标志符,类似于二维码或者条形码。需要一种特定的算法来实现高精度、高鲁棒性的定位;需要一套独特的编解码系统来做唯一识别。 Apriltag 解码算法的主要步骤如下: 2. 定位 怎么从复杂场景中定位出 apriltag 的位置呢。图像处理的美妙之处是你总能找到一种组合路径来分割出目标。图像分割的传统算法种类繁多,最基础的就是阈值分割、色彩分割、基于图的分割。Apritag 的检测也不例外。 3. 图像分割 4. 轮廓查找 5. 寻找四边形 为了得到更高精度的角点坐标,需要尽可能找到真正的梯度边缘直线。因此对直线上的点进行采样,然后计算搜索采样点在直法向量上梯度最大的点,作为最后进行直线拟合的点(图像真正的梯度边缘)。 在众多的四边形中,需要按照 Apriltag 的实际几何特征来过滤明显异常的四边形,比如四边形边长比例不能差的太多,两条相邻边的角度不能离 90 度太远之类的,这就是一些常用异常处理手段,最后筛选出的候选码如下,见图 6(选了一张效果和原算法有些差异的图片,可以看出不同算法的差异)。 6. 单应变换 背后的数学原理很简单(详见多目几何第二版),就是求解对应点之间的一个坐标变换。对于每一个对应的点对,都应该存在如下关系(公式 2-1),理论点坐标等于变换矩阵乘以实际图像点坐标。 将公式(2-1)展开得到公式(2-2): 进一步变换,消去尺度因子 s,并将 H 矩阵的元素看做一个列向量,可得到公式(2-3),是不是很熟悉 AX = 0: 因为存在尺度因子的影响,H 矩阵最后一个元素可以归一化成 1,因此 H 矩阵的自由度为 8。为了得到公式(2-3)的解,至少需要 4 个点对,采用直接线性化可以求出上述方程,得到单应矩阵 H。 四边形内的每一个点通过上述变换,都能计算出在理论矩形下的唯一坐标(注意尺度的影响),然后可以按照解码规则进行解码。 7. 解码 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/17 22:21:03- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |