在谷歌,一系列重要产品,如 YouTube、Google Lens、ARCore、Google Home 以及 Nest,都已深度整合了 MediaPipe。...教程和代码 机器感知实例 —— 手部关键点追踪 一个使用 MediaPipe 的实例是在图片或视频中检测手部关键点。...详解第二部分手部关键点检测的文章,将于近期在谷歌 TensorFlow 的微信公众号发表。请从 MediaPipe 下载手部关键点追踪的模型和图。...手掌检测应用的输出结果如下图所示: 手掌模型检测教程 我们训练了基于SSD 架构的 BlazePalm 模型来进行手掌检测,并对移动端进行了优化。...;最后,经过实验,我们发现使用focal loss可以获得最好的检测结果。
何安莉还说道:“这为开发者带来了全新的可能性,使得他们能够为主流受众创建真正独一无二的体验。...就像是触摸屏帮助市场拥抱了智能手机,为用户提供一种简单自然的方式来与AR/VR对象和环境进行交互,这将在促进消费者普及方面发挥重要作用。” ...在短短一年时间里,uSens为什么可以在没有外部硬件的情况下实现同样的追踪水平呢?关键是机器学习。 ...uSens产品与运营副总裁王亚明表示:“自从我们在去年年中开始直接面向手机市场以来,我们便一直致力于研发基于智能手机RGB摄像头的手部追踪。它与我们为基于深度学习的技术所研发的算法类似。...在回顾当前市场上最佳的移动AR应用程序时,我们可以马上想象手部追踪将能如何改善已有的优秀体验。 当然对于智能手机用力而言,用户的一只手已经要用来握持设备。
运动跟踪 ARCore 可以在手机移动的过程中知道,相对于真实世界手机所在的位置和方向(姿势)。 当手机在真实世界移动时,ARCore使用称为并发测距和映射的过程来了解手机与周围世界的相对位置。...这样,开发人员就可以使用这些信息,并将虚拟物体放置在平坦的表面上了。 由于ARCore使用特征点检测平面,因此可能无法正确检测到没有纹理的平坦表面(如白色桌面)。 光线评估 ?...它是创建锚点(调用createAnchor方法)时,或者进行命中检测(调用hitTest方法)时,返回的结果。 PointCloud ?...其它机型还都不支持ARCore,当然有一些机型通过破解后的SDK是可以使用 ARCore的。该方法中的 Config 参数没有用到。...做视频开发的同学都清楚,Android 可以使用三种View进行视频渲染。
虚拟物体一般是放在平面上,ARCore可以利用动作追踪中使用的数据点判断水平表面,保证物体可以正常放置,增加现实感。 3 ....其他可以使用ARCore的设备 在普通手机上运行该项目,会直接弹出“This device does not support AR”的提示,然后就闪退了,连app里面什么样子都看不见,支持ARCore的官方推荐手机都是...5000元以上的高端机,像我这种手持低端机的开发者也想看看app运行的样子,感谢github上大神提出的arcore-for-all这种简单易用的方法修改依赖文件,虽然不能从根本上解决问题,但还是可以绕过手机类型判断这一步...而大部分手机虽然可以进入应用,但是只是在底部提示“Searching for surfaces…”,主要的显示区域也是黑屏,并不能使用ARCore的主要功能。...ARCore可以简单理解为检测平坦的表面,然后在上面放置虚拟物体,它并只是对相机反馈数据进行估计。
实际上,很多技术都可以解决这个问题,最简单也最常用的就是用计算机视觉技术来检测人们有没有洗手。...计算机视觉和医院 我们在斯坦福大学与Lucile Packard儿童医院合作,开发了一种全新的先进方案来追踪手部卫生工作:它使用前沿的计算机视觉技术,不需要临床医生来干预日常工作。...相反,我们选择使用一个更古老的方法,该方法可以通过解决两个方面的问题而在任何类型的图像上运行:通常,人们在给定的一个房间的图像中只占据少量的空间;而且,在深度图像中,人们通常看起来像“水滴”,和地板背景差别明显...词典的条目。每个词典条目都包含一个合成图像,反应一个人站在某个位置时的样子。 检测人的一种方法是确定一个地面上的占用网格图,该占用网格图是二进制矩阵,用来表示一个人是否占用地面上的某个特定位置。...最后一步是检测手部卫生行为并将其链接到一个特定的轨道上。当一个人使用洗手液时,手卫生行为被定义为正,然后我们再将每个行人的轨迹标记为干净或不干净。 在实际环境中,部署传感器往往容易受到安装约束。
解决这一问题最简单的方法可能是利用最普通的人类策略——利用计算机视觉来确认大家有没有洗手。 ?...把深度传感器装在两家不同的医院之后,我们可以利用 3D 计算机视觉工具来自动测量手部卫生活动。这需要三个步骤: 1. 检测医护人员。 2. 对在医院内走动的医护人员进行追踪。 3....对他们的手部卫生行为进行分类。 行人检测 ? 继续用自动驾驶汽车打比方:为了理解环境,我们首先需要检测环境中的人。尽管有很多种目标检测方法,但它们大多数都是为彩色 RGB 图像开发的。...最后一步是检测手部卫生活动,并将其和特定轨迹关联起来。当一个人使用了洗手液时,手部卫生活动被定义为正。然后我们将每个行人的轨迹标记为「干净」或「不干净」。 在现实世界中部署传感器通常受限于安装过程。...我们将这种行为称之为秘密观察,与为审核而进行的公开观察相反。这种秘密观察可以最小化霍桑效应(即当你发现有人在观察自己时,会刻意改变行为)。
图中是人的位置的模型化显示,所有的位置的集合就像个词典一样,每个位置的人就像是词典的一个条目。 想要检测人的话,其中一种方法就是确定网格中被遮挡的位置。...在真正的识别的时候,需要的就是这个包含了若干个“bolb”的图像。这可以通过很多现成的前景/背景去除算法来对图像进行分割。...那么好,现在当给定这个bolb图像的时候,就可以使用k近邻(k-nearest neighbor)方法在词典中查找,从而找到每个blob的位置了。...这种方法其实不止能检测洗没洗手,更能检测每个人的工作流程,看看这位医护人员是不是开小差啦~ 公式化来说,我们想要找到一组轨迹X,其中每个子轨迹x∈X使用有序的检测来表示Lx=(lx(1),......当踪迹T满足以下两种情况时,可以认为分类器和追踪器匹配: 1.在一定时间误差范围内,踪迹T包含点P(x,y),该点同时发生了手部卫生检测事件E。 2.
我们可以在三个阶段使用IoC实现上面所说的解耦操作,首先需要简单介绍一下默认情况下Controller的激活过程: 用户发送请求黑ASP.NET,路由系统对请求进行解析,根据注册的路由规则对请求进行匹配...第一种方法 由上文2种可知,我们可以创建自己的IControllerFactory对象实现依赖注入,然而我们可以通过直接继承DefaultControllerFactory并重写GetControllerInstance...方法来实现,这样可以免去重新实现其他一些功能的工作。 ...所以我们可以使用一个自定义的实现自IControllerActivator借口的对象来进行依赖注入。...在IDependencyResolver接口中存在方法GetService和GetServices来对具体的类型进行解析 namespace UnitySample { public class
美图 - 用 AR 拍出梦幻自我 美图公司利用 ARCore 的增强脸部 API(Augmented Faces API)构建了 100 多个自拍滤镜,让用户可以在拍摄照片和视频时体验 AR 特效。...在定位时,ARCore 会提示用户获得一张有效定位图片,利用运动追踪功能,感知用户位置、移动速度和角度。...不依赖任何特殊硬件,所以在大部分兼容 ARCore 的设备上都是可以使用深度API的。 Depth API 的一项最关键功能就是“遮挡”:虚拟物体能够准确地出现在现实物体后面,与场景真正融合在一起。...C 到 A 点的深度,就是线段 CA 在 Z 轴的投影。 一旦我们知道场景里面的物体的距离,我们就可以在渲染虚拟物体的时候使用这个信息,进行 Z buffer 计算。...如上图所示,我们使用蓝色表示近处的深度,蓝色越深表示一个物体靠近摄像头越近,它的的深度值就越低。当我们启用深度表示时,就可以看到桌子的深度比椅子所在的位置深度低,所以桌子就能遮挡住椅子。
ARCore 是 Google 的增强现实体验构建平台。ARCore 利用不同的 API 让手机能够感知其环境、理解现实世界并与信息进行交互。...ARCore 使用三个主要功能将虚拟内容与通过手机摄像头看到的现实世界整合: 运动跟踪让手机可以理解和跟踪它相对于现实世界的位置。...从本质上讲,ARCore 在做两件事:在移动设备移动时跟踪它的位置和构建自己对现实世界的理解。 ARCore 的运动跟踪技术使用手机摄像头标识兴趣点(称为特征点),并跟踪这些点随着时间变化的移动。...将这些点的移动与手机惯性传感器的读数组合,ARCore 可以在手机移动时确定它的位置和屏幕方向。 除了标识关键点外,ARCore 还会检测平坦的表面(例如桌子或地面),并估测周围区域的平均光照强度。...这些功能共同让 ARCore 可以构建自己对周围世界的理解。 借助 ARCore 对现实世界的理解,设备能够以一种与现实世界无缝整合的方式添加物体、注释或其他信息。
今天宣布发布一种新的手感知方法,在6月份预览了CVPR 2019,在MediaPipe中实现- 一个开源跨平台框架,用于构建管道以处理不同模态的感知数据,如视频和音频。...该方法通过使用机器学习(ML)从单个帧推断出手的21个3D关键点来提供高保真的手和手指跟踪。虽然目前最先进的方法主要依靠强大的桌面环境进行推理,但方法可以在手机上实现实时性能,甚至可以扩展到多手。...手部标志模型,其在由手掌检测器定义的裁剪图像区域上操作并返回高保真3D手部关键点。 一种手势识别器,它将先前计算的关键点配置分类为一组离散的手势。...BlazePalm:实时手部/手掌检测 为了检测初始手部位置,采用名为BlazePalm 的单发探测器模型,以类似于BlazeFace的方式针对移动实时使用进行了优化,BlazeFace也可用在MediaPipe...手部地标模型 在对整个图像进行手掌检测之后,随后的手部界标模型通过回归(即直接坐标预测)在检测到的手部区域内执行21个3D手肘坐标的精确关键点定位。
例如,在墙上放置一幅虚拟画作后,因为有事临时退出会话,等到再次回到会话时,画作仍能维持在原有的位置。 这些是创建引人入胜的交互性AR体验的必要元素,而苹果ARKit 2.0终于实现了。...通过Memoji用户可以创建出非常个性化的人物形象,可以对发型、发色、脸型、肤色、鼻子等众多的细节,进行个性化设定。...据悉,相较于三星AR Emoji在体验时出现的抖动、外观略突兀等问题,苹果的Memoji系统,在整体上的运行更加平稳和流畅。...大家知道在USDZ格式之前,谷歌、Facebook、微软等都在使用glTF格式。...不过,从今天大会的整体来看,AR方面,苹果并未推出特定的产品,或者做真正意义上较大资源的投放。而更像是进行“小修小补”,逐渐完善生态系统的基础上,对AR市场的进一步试探。
我一直在使用Tensorflow目标检测API,并对这些模型的强大程度感到惊讶。我想要分享一些API实际使用案例的性能。...通过使用两种模型,可以将错误最小化。 ? 手部追踪和库存监控 计算机视觉另一种用于零售收银台的应用程序可以代替结账系统中逐一扫描物品,将所有的东西都放在一起,相机能够检测和记录所有信息。...例如,手部探测器可以使用公开可用的数据集来构建,就像“Ego Hand 数据集”一样。这个数据集的手形、颜色和姿势有很大的变化,当模型应用于真实世界时,这是非常有用的。...在建立你的模型前,通过使用图像处理库(如PIL an OpenCV)创建额外的图像亮度的随机变化,缩放、旋转等,是增加数据的非常好的方法。这个过程可以创建很多额外的样本本,并且可以使模型强健。...3 .测试和改进模型 我个人认为,真正的工作是在构建模型的第一个版本之后开始的!没有一个模型是完美的,当你开始使用它时,你会注意到它性能上的缺口。
我们现在发布了一种新的手部感知方法,并且在 6 月的 CVPR 2019 大会上,我们已经对该方法开放了预览。...目前最先进的方法主要依靠强大的桌面环境进行推理,而我们的方法可以在手机端实现这个实时性能,甚至还可以扩展到对多个手的同步跟踪。...手部标志模型 在对整个图像进行手掌检测后,我们随后的手部标志模型通过回归对检测到的手部区域内的 21 个 3D 手关节坐标进行精确的关键点定位,即直接对坐标进行预测。...图 5 使用合成数据和真实数据对模型性能的影响结果 手势识别器 在预测的手部骨架之上,我们应用一种简单的算法来推导手势。首先,每个手指的状态,例如弯曲或竖直,是由关节的累积角度决定的。...为了获得鲁棒性,手部跟踪器模型输出一个额外的标量,以获取一只手在输入裁剪中存在并合理对齐的置信度。只有当置信度低于一定的阈值时,才能将手部检测模型重新应用到整个帧中。 ?
研究人员使用了一种新的神经网络框架,考虑了身体和手部之间的相关性,并能够以高效率进行内部运算。...该方法在公共数据集基准上测试获得较高的精度,同时能够提供更完整的面部重建。 研究贡献: (1) 第一种实时方法,可以从单一颜色图像中共同捕获人的3D身体,手部和脸部。...(2) 一种新颖的网络结构,并利用人体内部的相关性进行手部关键点检测,从而提高了计算效率和准确性。 (3) 利用解耦模块,注意机制和二级主体关键点检测结构等,提高了该框架的通用性。...通过将它们与从手部区域中单独提取的高频局部特征相结合,可以避免对手部高级特征的计算,并且可以提供用于手部关键点检测的身体信息,更有利于获得更高的精度。...即使这种方法存在很多的不足,但是通过这种方法后,实验结果与Choutas等人的研究结果依旧旗鼓相当。 总结: 研究人员提出了第一种实时方法,可以从单个RGB图像中捕获身体,手部和脸。
MediaPipe Holistic 作为 MediaPipe 的一部分发布,可以在移动设备(Android、 iOS)和桌面上使用。...首先,MediaPipe Holistic 使用 BlazePose 的姿态检测器和关键点模型来估计人体姿态。...为了简化 ROI 的识别,使用了一种类似于单独使用面部和手部管道的跟踪方法。这种方法假设对象在帧之间没有显著的移动,使用前一帧的估计作为当前帧中对象区域的指导。...然而,在快速移动过程中,跟踪器可能会丢失目标,这就要求探测器在图像中重新定位目标。 MediaPipe Holistic使用姿态预测(在每一帧上)作为额外的 ROI,以减少快速移动时管道的响应时间。...用户可以操作屏幕上的对象,坐在沙发上时在虚拟键盘上打字,指向或触摸特定的脸部区域(例如,静音或关闭摄像头)。
因此,机器学习模型通常很难仅靠视觉特征来进行准确检测。但如能提供额外的环境信息,如手臂、身体或人物等特征等,则有助于手部的精确定位。 在我们的方法中使用了不同的策略来解决上述挑战。...其次,编码-解码特征提取器可用于在更大范围的环境中感知很小的物体(类似于RetinaNet方法)。...手部标志模型 在对整个图像进行手掌检测之后,手部标志模型通过回归(即直接坐标预测)在之前检测到的手部区域内精确定位了21个3D手部骨骼关键点坐标。...,可以基于谷歌的模型来对新想法进行原型设计。...未来方向 谷歌称,未来计划通过更强大和稳定的跟踪锁定方法扩展此技术,来扩大能可靠检测的手势数量,并支持实时变化的动态手势检测。 相信这项技术的开源也可以促使研究和开发者社区产生大量的创意和应用!
这些挑战和其他挑战促使谷歌的科学家们研究一种新的计算机视觉方法来处理手部感知,通过机器学习来支持。在实验中,仅从一帧图像就能推断出手机上一只手(或多只手)的21个3D点。...谷歌的技术包括三个串联工作的AI模型:一个手掌探测器BlazePalm,它分析一个帧并返回一个手边界框;一个手标志模型,它查看由手掌检测器定义的裁剪图像区域,并返回三维手部点;以及一种手势识别器,该识别器将以前计算的点配置分类为一组手势...识别到手并非易事,BlazePalm在发现被遮挡和自遮挡的手时,必须解决缺少特征的问题。...它可以很好地推广到像握手这样的边缘情况,并且它可以使用忽略其他纵横比的方形边框来建模手掌,从而将点数减少了3到5倍。 在手掌检测之后,手部界标模型接管,在检测到的手区域内对21个三维指节坐标进行定位。...在未来,团队计划通过更强大和稳定的跟踪扩展技术,扩大可以可靠检测的手势量,支持及时展开动态手势,这项技术可以推动研究和开发者社区成员开展新的创意。
首先引入了一种IMU-PARSAC算法,它在两个阶段的过程中能够强健地检测和匹配关键点。在第一个阶段通过视觉和IMU测量将地标与新的关键点进行匹配,然后收集匹配信息,指导第二阶段的内部关键点匹配。...为了识别移动关键点,我们提出了一种新颖的算法IMU-PARSAC,它在两个阶段的过程中检测和匹配关键点。首先,在第一阶段使用视觉和IMU测量将已知地标与新的关键点进行匹配。...纯旋转检测与延迟三角测量 由于消费级手机IMU传感器的噪声较大,我们设计了一种基于视觉的方法来检测纯旋转,在特征跟踪中增加了第三个RANSAC步骤。...为了解决由纯旋转引起的系统状态估计降级问题,我们研究了在相机静止时的纯旋转检测性能和系统稳定性。最后在公开可用的数据集上对我们的方法与当前最先进的VIO/VI-SLAM算法进行了定量比较。...手机上的 AR 效果 总结 在本文中,我们提出了一种强大且新颖的视觉惯性里程计(VIO)系统,可以高效处理动态场景和纯旋转运动,通过使用 IMU-PARSAC 算法,以两阶段过程去除动态特征点,这种方法使我们的系统能够有效应对急剧变化的场景
领取专属 10元无门槛券
手把手带您无忧上云