什么是单应性矩阵?

重磅干货,第一时间送达

你们是否知道人工智能正在改变体育产业?AI助教在比赛前和比赛中能帮助教练增强战略决策,通过使用高速相机和可穿戴传感器,人工智能现在可以测量场上每个球员的运动和位置。但是,AI如何跟踪每个玩家之间的距离?机器能否从下图得知玩家1是否有足够的空间来防守玩家2?

图1 篮球场上的球员1 防守球员2

单应性被定义为图像的两个平面投影之间的映射。3x3转换矩阵表示它。我们要变换图像,并且需要计算同型矩阵。为了说明,下图显示了不同的2D转换矩阵。

图2 不同转换矩阵层次结构

如上图所示,我们可以基于以下矩阵来变换原图像:

  • 投影变换8dof —将图像转换为不同的投影。

  • 仿射变换6dof —转换将保留原图像平行线的图像。

  • 欧几里得变换3dof —旋转原图像。

  • 相似变换4dof —旋转和缩放原图像。

现在我们知道了单应性矩阵如何根据其层次结构转换图像,我们需要确定图像的原点和目标点,分别将其表示为p和p'。在识别这些点时,其中三个点必须是共线的,否则等式无法区分变换。但是,有一种自动检测点的算法,称为RANSAC方法。对于这种情况,我们可以将球场阴影线设置为原点。

图3 阴影线作为原点

图4 阴影线作为目标点

import numpy as npimport matplotlib.pyplot as pltfrom skimage.io import imread, imshowfrom skimage import transformstill1 = imread('still1.png')src = np.array([(608, 641), (683, 553), (1841, 678), (1750, 579)])dst = np.array([(800, 339), (1273, 339), (800, 1000), (1310, 1000)])

图5 单应性矩阵等式

tform = transform.estimate_transform('projective', src, dst)tf_still1 = transform.warp(still1, tform.inverse)fig, ax = plt.subplots(figsize=(20, 6))ax.imshow(tf_still1)ax.set_title('projective transformation')

图6 转换后的篮球场顶部视图

根据上图,使用投影单应性矩阵成功将广播视图转换为篮球场顶部视图图像。但是,这种转变也拉伸了球员的身体。

这是使用单应矩阵对图像进行变换的另一个示例。在此示例中,我们可以使用欧几里得层次结构来旋转比萨斜塔图像。

tower = imread('tower_pisa.jpeg')src = np.array([(291, 329), (537, 344), (230, 868), (507, 891)])dst = np.array([(220, 320), (462, 320), (220, 870), (462, 870)])tform = transform.estimate_transform('euclidean', src, dst)tf_still1 = transform.warp(tower, tform.inverse)fig, (ax0, ax1) = plt.subplots(1, 2, figsize=(12, 8))ax0.imshow(tower)ax0.set_title('Leaning tower of Pisa')ax0.set_axis_off()ax1.imshow(tf_still1)ax1.set_title('Euclidean transformation')ax1.set_axis_off()plt.tight_layout()

图7 欧几里得变换的比萨斜塔

单应性是一种非常强大的工具,可用于扩充图像以满足我们的需求。它可用于远程测量,校正卫星图像,透视校正,图像拼接,深度计算和相机姿态估计。

(0)

相关推荐

  • python+opencv图像处理(十二)

    图像仿射变换和透视变换 天晴了...... 1.仿射变换 图像的仿射变换就是图像的旋转加上拉升,说直白点,就是把矩形变成平行四边形. 要把矩形变成平行四边行,只需要拉伸其四个角点就行了,事实上,只需要 ...

  • DL之HNN:基于HNN(subplot)将凌乱数字矩阵图像(模拟手写数字图片)实现转为最相近的阿拉伯数字

    DL:基于HNN将凌乱数字矩阵图像(模拟手写数字图片)实现转为最相近的阿拉伯数字 输出结果 代码设计 #DL:基于HNN将凌乱数字矩阵图像(模拟手写数字图片)实现转为最相近的阿拉伯数字 import ...

  • 使用 OpenCV 将卷积实现为图像过滤器

    卷积简介 卷积是计算机视觉 (CV) 中的一个流行术语.在讨论如何实现 CV 任务时,经常会提到卷积神经网络.因此,任何 CV 追求者都必须完全理解"卷积"一词. 卷积是几个图像处 ...

  • 使用Python可视化卷积神经网络方法汇总

    仅做学术分享,如有侵权,联系删除 转载于 :深度学习与计算机视觉 https://www.analyticsvidhya.com/blog/2018/03/essentials-of-deep-lea ...

  • python进阶—OpenCV之图像处理(一)

    文章目录 颜色空间转换 RGB色彩空间 HSV色彩空间 YUV色彩空间 简单的物体跟踪示例 HSV空间目标阈值选取 图像几何变换 图像的缩放 图像的位移 图像的旋转 图像的仿射 图像的投射 图像阈值( ...

  • 频域图像增强-锐化

    图像增强技术根据增强处理过程所在的空间不同,可分为基于频域的算法和基于空域的算法两大类.基于频域的算法是在图像的某种变换域内对图像的变换系数值进行某种修正,是一种间接增强的算法,把图像看成一种二维信号 ...

  • python 读取并显示图片的两种方法

    在 python 中除了用 opencv,也可以用 matplotlib 和 PIL 这两个库操作图片.本人偏爱 matpoltlib,因为它的语法更像 matlab. 一.matplotlib 1. ...

  • 基础矩阵,本质矩阵,单应性矩阵讲解

    最近公众号组织了ORB-SLAM2理论与代码的学习会,正常进行中,有兴趣的可以积极参与第三期:一起来学SLAM 其中ORB-SLAM点云地图中相机的位姿初始化,无论算法工作在平面场景,还是非平面场景下 ...

  • 在OpenCV中使用单应性进行姿势估计

    重磅干货,第一时间送达 什么是单应性 单应性是一种平面关系,可将点从一个平面转换为另一个平面.它是3乘3的矩阵,转换3维向量表示平面上的2D点.这些向量称为同构坐标,下面将进行讨论.下图说明了这种关系 ...

  • 皮肤变应性结节性血管炎

    皮肤变应性结节性血管炎     皮肤变应性结节性血管炎是一种皮下脂肪内细小血管的过敏性炎症性皮肤病.其临 床以皮下结节,酸胀疼痛,慢性经过,反复发作等为特征.好发于两小腿.踝部.     本病多见于中 ...

  • 『呼吸系统』变应性咳嗽怎么办-民间特效食疗偏方变治疗变应性咳嗽

    变应性咳嗽多为病毒感染后迁延不愈又合并细菌感染引起 ,并有过敏性因素参与.以咽痒引起阵发性刺激,其症状以性干咳为主要表现;那么变应性咳嗽应该怎么治疗呢?下面就给大家推荐民间特效食疗偏方变治疗变应性咳嗽 ...

  • 扶正止鼽汤治疗常年性变应性鼻炎60例

     扶正止鼽汤是全国知名中西医结合专家张重华教授继承已故中医喉科老前辈张赞臣先生的学术思想,结合自己多年积累的临床经验而总结出的治疗变应性鼻炎的验方.     扶正止鼽汤     组成:仙灵脾12g,黄 ...

  • 变应性鼻炎的几种中药调理方

    指导医师:佛山市中医院健康管理中心副主任医师邝立 邝立指出,变应性鼻炎是临床最常见的疾病之一,保守估计全球的变应性鼻炎患者超过5亿.根据国内外大量的流行病学调查显示,近年来变应性鼻炎患病率明显上升,过 ...

  • 变应性鼻炎方 鼽鼻散【组成】党参,茯苓,...

    变应性鼻炎方 鼽鼻散 [组成]党参,茯苓,炒白术,桂枝,炒白芍,炙麻黄,细辛,辛夷,苍耳子,防风,炙甘草,生姜,大枣. [功效主治]补脾益肺,调和营卫,除风祛湿,通达肺窍.主治过敏性鼻炎. 变应性鼻炎 ...

  • 临床思维训练之变应性支气管肺曲霉病与肿瘤标志物

    程胜 医学博士,副主任医师,副教授,硕士研究生导师. 重庆市医学会呼吸专委会青委会委员: 重庆市医师协会呼吸医师分会青委会委员: 重庆市中西医结合学会变态反应学专委会委员. 变应性支气管肺曲霉病(AB ...

  • 督脉透灸辅助治疗虚寒型持续性变应性鼻炎疗效观察

    姚卫杰1,柳普照1,范雅丽2,张治成1,郭向东1,高希言3 (1河南中医药大学第一附属医院耳鼻喉科:2河南中医药大学第三附属医院针灸科:3河南中医药大学针灸推拿学院) 变应性鼻炎 AR 变应性鼻炎( ...