没有合适的资源?快使用搜索试试~ 我知道了~
为了获得的目的图卢兹大学博士学位发布人:图卢兹国立理工学院(图卢兹INP)学科或专业:计算机与电信提交人和支持人:M. 马蒂厄·皮森伯格于2020年2月28日星期五标题:通过Web的交互式计算机视觉博士学校:图卢兹数学、计算机科学、电信(MITT)研究单位:图卢兹计算机科学研究所(IRIT)论文主任:M. 文森特·查维拉特M.阿克塞尔·卡里尔报告员:M. Mathias Lux,阿尔卑斯亚德里亚大学VeroniqueEglin女士,里昂INSA评审团成员:Géraldine Morin女士,图卢兹INP,总裁M. AXEL CARLIER,图卢兹INP,成员M. CHRISTOPHE DEHAIS,Fittingbox公司,成员M. OGE MARQUES,佛罗里达大西洋大学,会员M. VINCENT CHARVILLAT,图卢兹INP,成员iiiii确认文件首先,我要感谢我的顾问文森特和阿克塞尔,没有他们,博士学位是不可能的。我还要感谢Véronique和Mathias审阅了这份手稿,以及陪审团的其他成员 Oge、Geraldine和Christophe在辩护期间的关注、评论和有趣的讨论。再次,特别感谢阿克塞尔在这段漫长的时间里,甚至在它开始之前所做的一切。 我还没有走上完成想开始攻读博士学位当然不是一次性的,但对我来说,这种感觉可能是在我的M1实习期间开始的。我在VORTEX研究团队(现在的REVA)与Yvain和Jean-Denis一起做了一个项目,它很棒!当我的老师问我是否想在这个时候开始攻读博士学位时,我会回答他们我在新加坡的M2实习几乎结束了,当时我正在做一个项目,将研究转化为产品。实习和我在新加坡的第一次经历都很棒,我想特别感谢就在那时我意识到这是我想要的!因此,这个博士学位的大部分时间都花在了新加坡。这是本文所有视觉里程测量部分的起源。我想感谢我还在那里遇到了令人惊叹的朋友,如果没有他们,这将是一次非常不同的经历。贾斯汀,尤兰达,托马斯,阿丽亚娜,弗洛,巴斯蒂安,克洛维斯,马丁,安娜和华金谢谢你!我的大部分博士学位都花在图卢兹,周围都是很棒的同事和朋友。他们中的一些人成为五人制足球的伙伴,跑步伙伴,塔罗牌和贝洛特球员,氧化剂(增加我的锈量),临时调情,游戏朋友,和守夜人(在电视上,以及在酒吧!)。在实验室里,在实验室之外,我很幸运能在图卢兹见到我所有的朋友,我希望我能保持让-丹尼斯、伊万、西蒙娜、杰拉尔丁、西尔维、皮埃尔、查理、山姆、阿克塞尔、文森特·C、文森特·A、蒂博、巴斯蒂安、沙菲克、亚瑟、朱利安、保罗、托马斯、马蒂厄、蒂埃里、达米安、索尼娅、让、理查德、西蒙、帕特里克、艾莉森、艾蒂安、安托万、马蒂亚斯、尼古拉斯、科兰廷谢谢你iv所有人!也献给那些帮助我成为我加入粉红之城之前的朋友,亚尼斯,亚历山大,阿兰,巴蒂斯特,巴斯蒂安,海洋和爱丽丝,谢谢你!最后,我要感谢我的家人总是鼓励我,给我追求我的科学追求的手段。特别感谢爸爸妈妈。v摘要计算机视觉是一门计算科学,旨在复制和提高人类视觉理解其环境的能力。在本文中,我们将重点放在计算机视觉的两个领域,即图像分割和视觉里程,并展示交互式Web应用程序对这两个领域的积极影响。本文的第一部分主要研究图像注释和分割。我们介绍图像注释问题及其对大型众包数据集的挑战。在文献中已经探索了许多交互以帮助分割算法。最常见的是设计轮廓、物体周围的边界框或内部和外部涂鸦。当众包时,注释任务被委托给非专家受众,有时是在平板电脑等廉价设备上。在此背景下,我们进行了一项用户研究,以显示在脚本和边界框上突出显示交互的优势。 众包的另一个挑战是介质分布。虽然在小型用户研究中评估交互不需要复杂的设置,但向数千名潜在用户分发注释活动可能会有所不同。因此,我们描述了Elm编程语言如何帮助我们构建一个可靠的图像注释Web应用程序。 提供了其功能和体系结构的亮点,以及如何将其部署到众包服务(如AmazonMechanical Turk)的指南。该应用程序是完全开源的,可在线使用。在本文的第二部分,我们介绍了我们的开源直接可视化里程库。在此,我们提供了对其他开源RGB-D相机跟踪算法的评估,并表明我们的方法性能优于当前可用的替代方案。视觉里程问题与几何工具和优化技术有关,这些技术传统上需要大量的处理能力才能在实时帧速率下执行。由于我们渴望直接在浏览器中运行这些算法,因此我们回顾了过去和现在支持Web上高性能计算的技术。特别是,我们详细介绍了如何从C++和Rust编程语言。我们的图书馆是从零开始的Rust编程语言,它允许我们轻松地将其移植到WebAssembly。谢谢在此属性中,我们可以显示具有多种类型的可视里程Web应用程序可用的交互。时间线允许沿视频序列进行一维导航。可以在图像序列的两个2D缩略图上拾取成对的图像点,以重新对准相机并校正漂移。颜色还用于识别3D点云的部分,可选择以重置摄像机位置。将这些交互结合起来可以改进跟踪和3D点重建结果。ViVii内容引言1I图像注释51图像注释问题71.1需要注释的计算机视觉问题1.1.1图像分类91.1.2图片说明101.1.3对象检测111.1.4对象分割131.2关于数据集收集的141.2.1显式与隐式注释过程141.2.2专家与非专家注释者...........................................................................................161.2.3注释的质量检查171.2.4交互注释可用性181.3用于用户辅助细分的现有交互192 细分大纲232.1导言242.2 用于交互式分段的262.2.1侵蚀轮廓272.2.2 Blum正中轴算法282.2.3 使用SuperPixel增强前向292.3 实验292.3.1实验设置292.3.2 可用性指标322.3.3 信息交互34Viii2.3.4 质量细分362.3.5 讨论37内容Viv2.4 结论383可靠的Web应用程序393.1什么是Web?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...403.1.1什么是Web应用程序?... . . . . . . . . . . . . . . . . . . . . . . .401.2富Web应用程序 . . . . . . . . . . . . . . . . . . . . . . . . . . ...42JavaScript,正式名称为ECMAScript。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...423.2.1 JavaScript的起源。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...423.2.2浏览器性能。 . . . . . . . . . . . . . . . . . . . . . . . . . . ...423.2.3 JavaScript的爆炸式增长. . . . . . . . . . . . . . . . . . . . . . . . . ...443.2.4 JavaScript问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...453.2.5 JavaScript作为编译目标。 . . . . . . . . . . . . . . . . . . .503.3前端Web编程。 . . . . . . . . . . . . . . . . . . . . . . . . . . ...533.3.1单页应用程序(SPA) . . . . . . . . . . . . . . . . . . . . . ...533.3.2反应式编程。 . . . . . . . . . . . . . . . . . . . . . . . . . ...543.3.3虚拟DOM。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...... ... ... ... ... ...553.3.4如何选择?... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...573.4榆树. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...... ... ... ... ... ... ... ... ... ... ... ...593.4.1纯函数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...593.4.2代数数据类型(ADT)。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...603.4.3总功能。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...... ... ... ...623.4.4榆树建筑(TEA) . . . . . . . . . . . . . . . . . . . . . . ...643.4.5Elm-UI,替代布局策略。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...653.4.6可靠的包装。 . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...674Web上的交互式注释694.1引言。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...... ... ...704.2申请的提交 . . . . . . . . . . . . . . . . . . . . . . . . . ...714.3技术选择 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...734.3.1模型状态。 . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...734.3.2消73内容Vv息。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...4.3.3视图。... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...... ...754.3.4库和应用程序的双重性。 . . . . . . . . . . . . . . . . . . . . ...754.4众包注释764.5确认764.6结论77II RGB-D视觉里程表795RGB-D视觉里程表问题简介5.1在相机中建模图像捕获825.1.1历史注释825.1.2射影几何825.1.3Pinhole相机型号835.1.4内在参数845.1.5径向失真855.2建模相机运动865.2.1视觉里程的起源865.2.23D空间刚性体运动865.2.3李群SO(3)和李代数SO(3)885.2.4李群SE(3)和李代数SE(3)905.3视觉里程测量方法905.3.1捕获装置915.3.2与视觉SLAM92的关系5.3.3减少漂移935.4运动估计945.4.1基于特征的运动估计945.4.2基于外观的运动估计966高性能Web应用程序1016.1客户端中本机代码的简史1026.1.1Java小程序1026.1.2闪光灯1046.1.3Google原生客户端(NaCl)1046.1.4Emscripten和asm.js1056.2Web组件1066.2.1与以前技术的107内容Vvi6.2.2编译到WebAssembly1086.2.3WebAssembly最小可行产品(MVP)1086.2.4WebAssembly光明未来1086.2.5为什么这对研究很重要1096.3C++可移植性陷阱1106.3.1Web限制1106.3.2低级本机或体系结构特定代码1106.3.3没有到操作系统库的1106.4Rust和WebAssembly1116.4.1Rust编程语言1116.4.2Rust112中的WebAssembly6.5结论1127Web上的交互式视觉里程测量1157.1铁锈中的视觉里程(VORS)1167.1.1VORS116概述7.1.2直接图像对齐性1167.1.3稀疏点选择1187.1.4多分辨率直接图像对准1197.1.5实施的局限性1227.2RGB-D视觉里程评估1227.2.1数据集创建/获取1237.2.2评估指标1267.2.3设置和算法评估1287.3网络上的交互式VORS1337.3.1将VORS移植到WebAssembly1337.3.2交互式VORSWeb界面1357.3.3人在循环关闭1377.4结论140结论141再投影函数的梯度145A.1 符号145A.2 使用扭转坐标146A.3 雅可比表达式146A.4 与线性速度项A.5 与角速度项内容VviiA.6 具有归一化坐标的参考书目151摘要1711简介计算机视觉是一门计算科学,旨在复制和提高人类视觉从光传感器理解其环境的能力。通过一个非传统的,多学科的旅程,这篇论文喜欢回答以下问题。我们如何利用用户交互和Web平台来改进计算机视觉领域,如图像分割和视觉里程测量。单手图像分割(参见图1)是识别图像中结构或语义不同的精确区域的任务。对于医学图像,它可能是定位癌细胞,而对于城市图像,它可能是区分人、车辆和交通标志。另一方面,视觉里程测量包括分析来自传感器(如摄像机)的视频流,以定位和跟踪其相对于其环境的轨迹(参见图2)。图1:以红色突出显示交互并生成分割掩码。由于成像和算法的改进,我们现在能够自动完成直到最近还被认为是科幻小说的任务。在这种情况下,一些公司[142]声称已经达到了SAE分类的3级[110],这意味着自动驾驶车辆在有限的速度下提供自主性,受地点和天气以及其他限制条件的制约。我们离达到SAE 5级还很远,SAE 5级要求在任何驾驶条件下都能完全自主一个非技术性的原因是,自动驾驶汽车的车主可能不愿意接受潜在事故的责任,比如2018年3月18日导致伊莱恩·赫兹伯格死亡的事件。 我相信那辆车内容2图2:摄像机轨迹(紫色)和通过视觉里程生成的稀疏3D重建。只有当制造商能够安全地承担事故责任时,才能广泛传播。这些能力取决于许多研究领域,包括城市图像的对象检测和分割,以及视觉里程。培训员需要检测道路、了解交通标志、避开人员,而培训员需要准确记录车辆轨迹,尤其是在其他传感器不可用或不够准确的情况下,如覆盖区域中的GPS。存在用于对象检测和图像分割的多种方法。今天,那些表现最好的人依赖于一个名为机器学习的研究领域。它包括通过从称为学习数据集的输入和输出的对等数据库中聚合知识来构建预测模型该领域内存在一些微妙之处,并非所有算法的性能都是相同的,但一般规则是,学习数据集越大、越准确,检测和分割结果就越好。 因此,我将不关注机器学习算法,而是关注这些数据集的创建。此过程称为图像注释。根据任务的不同,注释图像可以采取不同的形式,无论它是分类、对象检测还是分割。一般来说,它包括人们使用图像处理工具绘制矩形、直线、多边形和其他几何形状来识别图像的区域并为其分配标签。例如,Microsoft COCO数据集包含250万个标记实例,这些实例来自328k个由人类注释的图像,并且每1000个分段需要超过22小时。对于一个法国工人来说,一周35小时,一年228天,这大约是35年,几乎是一个完整的职业生涯致力于这一单一的任务。因此,必须仔细考虑构建这样的数据集,这是不言而喻的。在本文档的第一部分中,我将重点介绍图像注释和分割。2020年9月5日内容3第1章更详细地介绍了图像注释问题及其为大型众包数据集带来的挑战。在第2章中,我们将重点介绍交互式分段任务。在文献中已经探索了许多交互来帮助分割算法。最常见的是设计轮廓、物体周围的边界框或内部和外部涂鸦。然而,众包这样的任务意味着非专家用户必须执行这些交互,而且专家和非专家用户之间的区别很少受到影响。灵感来自Korinke等人的工作。[123,124],我们提出了一个用户研究,向非专家受众展示了众包注释的大纲交互的优势本作品于2017年ACM多媒体展上发表[172]。众包的另一个挑战是媒体分发。虽然在小型用户研究中评估交互不需要复杂的设置,但将注释活动分配给数千个潜在用户可能会有所不同。最好的方法是构建一个Web应用程序;由于在线注释者是为这项任务付费的,我们需要Web应用程序尽可能可靠因此,在第3章中,我们回顾了自1991年Web创建以来的发展,特别是可链接前端应用程序的发展。特别是,我们描述了Elm编程语言如何帮助我们构建一个无错误的注释Web应用程序。最后,在第4章中,我们介绍了我们为图像注释任务构建的开源Web应用程序。提供了功能和应用程序架构的亮点,以及如何将其部署到众包服务(如Amazon Mechanical Turk)的指南。该应用程序的演示文稿发布在ACMMultimedia 2018的开源竞赛轨道上。作为一门计算科学,随着时间的推移,视觉里程测量学的进步倾向于引入更大、更复杂和计算密集型的算法。尽管代码行数是一个很差的度量单位,但它提供了类似项目的相对算法复杂性的近似值。让我们来图3显示了开源SLAM库的增长。如图所示,项目代码库正在增长到不合理的研究规模。当考虑像OpenMVG这样的运动库的完整结构时,这种观察结果甚至更糟,达到461k行代码。大多数SLAM项目都是使用C++编程语言开发的,这是出于性能原因。然而,我将争辩说,通过继续这样做,我们正在阻碍该领域的中长期研究。C++项目很难构建,主要是因为对需求的假设、依赖性冲突以及对Linux、Mac、Windows或体系结构特定库的使用。为了减轻这些问题,项目倾向于在源代码中包含所有依赖项。在OpenMVG中的461 k行代码中,有390 k行来自src/nonFree/和src/third_party/目录。虽然这些特征显然与工程学有关,但它们目前影响着研究,因为它们对进入新方法设置了很高的障碍,使其能够复制已经可用的结果和结果。内容4图3:SLAM库随时间增长与他们比较还应注意的是,冻结依赖性版本会带来安全问题,因为上游安全修补程序需要手动操作才能复制。在开源的背景下尤其如此,在开源的背景下,我们对贡献几乎没有控制即使是像微软这样谨慎的公司,也有70%的关键安全问题受到C++内存安全漏洞的影响。研究代码最终将影响关键软件,如自动驾驶汽车。伟大的研究带来伟大的责任!在本文档的第二部分,我们将重点介绍视觉里程。第5章介绍了视觉里程问题和建模它所需的基本几何工具。由于我们渴望直接在浏览器中运行这些算法,第6章回顾了过去和现在支持Web上高性能计算的技术特别是,我们详细介绍了如何从C++和Rust中获取一个名为WebAssembly的新标准。在第7章中,我们介绍了我们的开源视觉里程库,它采用了一种新的点选择算法来进行相机跟踪。我们从头开始使用Rust编程语言,该语言允许我们轻松地将其移植到WebAssembly。最后,我们展示了一个交互式视觉里程测量Web应用程序,通过用户交互,实现了跟踪和3D几何结果的改进。一份描述开源库和交互式应用程序的文件即将出版。5第一部分图像注释7第一章图像注释问题内容1.1需要注释的计算机视觉问题1.1.1图像分类91.1.2图片说明101.1.3对象检测111.1.4对象分割131.2关于数据集收集的141.2.1显式与隐式注释过程141.2.2专家与非专家注释者....................................................................161.2.3注释的质量检查171.2.4交互注释可用性181.3用于用户辅助细分的现有交互................................................................................19第一章。 图像注释问题8在本章中,我们将讨论图像注释的概念,并回顾在这一领域已经研究过的大量工作。首先,什么是图像注释?基本上,它是用信息增强图像的过程该信息可以是各种性质的,通常由人工操作员(也称为注释器)提供。我们可以把图像字幕看作是图像注释的第一个历史例子,简单地包括在图像上添加字幕我们也可以把摄影测量看作是一种图像注释的形式,早在数字图像存在之前,它就是从二维图像测量现实世界的距离和长度的过程它需要在图像空间中注释这些距离和长度,然后才能在现实世界中计算这些值。早期电影技术还包括手动编辑电影胶片以创建特殊效果,这是一种注释形式数字成像已经逐渐为图像注释带来了新的需求。1957年,罗素·基尔希(RussellKirsch)从一张照片上扫描了第一张数码照片,1975年,柯达工程师史蒂夫·萨森(SteveSasson)制造了第一台数码相机。数码相机的商业型号在20世纪90年代开始真正出现,从那时起,数码图像的数量每年都在呈指数级增长。在计算机视觉领域的同时,喜欢理解这些图像,也发展了自己的研究团体。例如,1979年创建了具有高度影响力的IEEE模式分析和机器智能学报(TPAMI)计算机视觉也与机器学习领域有关,机器学习指的是一类算法,其中模型从经验中学习,通过数据样本具体化。机器学习的一个子领域,称为监督机器学习,在特定的注释样本中需要,意味着在训练算法预测这些标签之前,应该为每个数据分配一个标签。监督机器学习在20世纪90年代获得了吸引力,一些应用程序达到了足够高的成熟度,可以进行商业开发。其中一个著名的例子是Lecun等人[131]的数字识别算法,AT& T使用该算法在ATM中自动处理支票(见图1.1)。一个现在流行的数据集,称为MNIST(混合国家标准和技术研究所),是为这项工作创建的;这个数据集将标签(数字,从0到9)与28× 28像素的手写图形图像相关联。该数据集说明了如何使用图像注释来产生期望的应用,并且只是现在已经成为解决计算机视觉社区中的问题的经典管道的一个小示例。由于图像注释已经成为这个社区的关键,本章的重点是计算机视觉,但我们提到的机器学习管道也用于许多其他问题,如音频或自然语言处理。机器学习中的理论结果假设可以用这种技术解决高度复杂的问题,提供了(i)存在足够大的能力来处理问题复杂性的模型,并且(ii)足够大的注释数据样本是可用的。社区已经建立了一些阈值来估计什么
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 十种常见电感线圈电感量计算公式详解
- 军用车辆:CAN总线的集成与优势
- CAN总线在汽车智能换档系统中的作用与实现
- CAN总线数据超载问题及解决策略
- 汽车车身系统CAN总线设计与应用
- SAP企业需求深度剖析:财务会计与供应链的关键流程与改进策略
- CAN总线在发动机电控系统中的通信设计实践
- Spring与iBATIS整合:快速开发与比较分析
- CAN总线驱动的整车管理系统硬件设计详解
- CAN总线通讯智能节点设计与实现
- DSP实现电动汽车CAN总线通讯技术
- CAN协议网关设计:自动位速率检测与互连
- Xcode免证书调试iPad程序开发指南
- 分布式数据库查询优化算法探讨
- Win7安装VC++6.0完全指南:解决兼容性与Office冲突
- MFC实现学生信息管理系统:登录与数据库操作
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功