用香蕉也能玩电脑游戏—Tensorflow对象检测接口的简单应用

简介:

Tensorflow最近发布了用于对象检测的对象检测接口(Object Detection API),能够定位和识别图像中的对象。它能够快速检测图像允许从视频帧甚至网络摄像头进行连续检测。它也可以用于构建鼠标“Tensormouse”,一个使用网络摄像移动光标的应用程序。

你是否曾经想过使用其他物品比如香蕉来移动你的光标?我们现在就可以实现!

TensorMouse是一个小型的开源Python应用程序,它允许你通过在网络摄像头前移动任意物品(如杯子,苹果或香蕉)来移动光标,他可以做电脑鼠标或触控板的替代品。

f3d4a505cbf40f7283fa4f7a0bf83a32cd1e88c1


允许你用香蕉玩游戏

它是如何工作的?
TensorMouse记录来自网络摄像头的图像序列。然后将这些数据输入到Tensorflow对象检测接口中,返回对象的概率和位置的图。然后移动鼠标光标,使光标位置与图像上对象的位置对应。
例如,如果在图像的左上角检测到对象,光标将移动到屏幕的左上角。

应用程序的主要部分按顺序重复以下步骤:

  • 使用OpenCV从网络摄像头进行单帧采集
  • 使用Tensorflow对象检测接口进行对象检测
  • 根据检测到的对象位置移动鼠标光标

1.帧采集
使用Python OpenCV模块捕获来自网络摄像头的帧。它提供了一个跨平台的工具,用于快速的图像采集和缩放。然后将图像缩放到360p以提高性能。

2.对象检测
对象检测用于确定网络摄像头框中所需对象的相对位置。它使用在COCO数据集上训练的Tensorflow对象检测接口固有的Mobilenet神经网络图。该数据集由80个不同的对象组成,主要包括杯子,苹果,餐具等家用物品。

6a4d54ff1fca1147848820bc02545b8226a27832


检测到的具有带有相应概率的对象

如果检测到的对象相应的概率超过指定的阈值(一般为85%),则TensorMouse会将该对象视为检测对象,并计算检测到对象的方框的中心。

3.移动鼠标光标
Python包的pynput为执行鼠标指针的移动提供了跨平台支持。基于检测到的对象的相对位置将光标移动到该位置。意思是如果在图像的左上角检测到物体,光标将移动到屏幕的左上角。

应用程序然后返回到步骤1以从网络摄像头检索下一个图像并重复此过程。

如何使用它
应用程序的源代码发布在我的Gitlab repo中(https://github.com/tadejmagajna/TensorMouse)。

TensorMouse可以在任何主流的(Windows,Linux或MacOS)平台和几乎任何机器上运行,但是要实现良好的帧速率,它需要一个好点的CPU或支持CUDA的显卡。

安装
安装时要确保包依赖关系都已安装好。

  1. 安装Anaconda(我推荐安装它的变种Miniconda)
  2. 从Gitlab复制TensorMouse
  3. 打开终端并导航到项目根目录
  4. conda env create -f environment.yml(Linux / MacOS)或conda env create -f environment-win.yml(Windows)
  5. source activate tensormouse(Linux / MacOS)或activate tensormouse(Windows)
  6. 运行TensorMouse

一旦安装了依赖项并激活环境,我们可以简单地运行TensorMouse:

python tensormouse.py

然后等待约10-20秒,会有绿色消息显示Tensormouse成功启动。

这将运行Tensormouse跟踪其默认对象—杯子。但是你可以通过提供可选参数(obect=”OBJECTNAME”)使其与80个COCO数据集对象中的任意一个配合使用。

你还可以使用CTRL和ALT执行点击和拖动。

使用说明

  • 确保光线充足(Tensormouse在光线不好的情况下表现欠佳)
  • 需要对象保持与摄像头的距离,既不能太近导致占用整个摄像头帧,也不能太远导致检测不到
  • 如果你的对象检测性能较差,请尝试运行应用程序设置让它来检测杯子,它检测杯子时还是挺准的

本文为编译作品,转载请注明出处。更多内容关注微信公众号:atyun_com

目录
相关文章
|
7月前
|
机器学习/深度学习 API 语音技术
|
7月前
|
人工智能 PyTorch TensorFlow
人工智能应用工程师技能提升系列1、——TensorFlow2
人工智能应用工程师技能提升系列1、——TensorFlow2
108 0
|
7月前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能在公司监视员工电脑的软件中的崭新应用(TensorFlow)
在当今数字化时代,企业日益依赖人工智能技术来提高工作效率和确保数据安全。最近,TensorFlow作为一种强大的机器学习工具,开始在公司监视员工电脑的软件中崭露头角。本文将探讨TensorFlow在这一领域中的创新应用,并通过多个代码示例展示其功能。
269 0
|
24天前
|
机器学习/深度学习 TensorFlow API
机器学习实战:TensorFlow在图像识别中的应用探索
【10月更文挑战第28天】随着深度学习技术的发展,图像识别取得了显著进步。TensorFlow作为Google开源的机器学习框架,凭借其强大的功能和灵活的API,在图像识别任务中广泛应用。本文通过实战案例,探讨TensorFlow在图像识别中的优势与挑战,展示如何使用TensorFlow构建和训练卷积神经网络(CNN),并评估模型的性能。尽管面临学习曲线和资源消耗等挑战,TensorFlow仍展现出广阔的应用前景。
53 5
|
4月前
|
机器学习/深度学习 存储 前端开发
实战揭秘:如何借助TensorFlow.js的强大力量,轻松将高效能的机器学习模型无缝集成到Web浏览器中,从而打造智能化的前端应用并优化用户体验
【8月更文挑战第31天】将机器学习模型集成到Web应用中,可让用户在浏览器内体验智能化功能。TensorFlow.js作为在客户端浏览器中运行的库,提供了强大支持。本文通过问答形式详细介绍如何使用TensorFlow.js将机器学习模型带入Web浏览器,并通过具体示例代码展示最佳实践。首先,需在HTML文件中引入TensorFlow.js库;接着,可通过加载预训练模型如MobileNet实现图像分类;然后,编写代码处理图像识别并显示结果;此外,还介绍了如何训练自定义模型及优化模型性能的方法,包括模型量化、剪枝和压缩等。
53 1
|
4月前
|
机器学习/深度学习 PyTorch TensorFlow
TensorFlow和PyTorch的实际应用比较
TensorFlow和PyTorch的实际应用比较
|
4月前
|
API UED 开发者
如何在Uno Platform中轻松实现流畅动画效果——从基础到优化,全方位打造用户友好的动态交互体验!
【8月更文挑战第31天】在开发跨平台应用时,确保用户界面流畅且具吸引力至关重要。Uno Platform 作为多端统一的开发框架,不仅支持跨系统应用开发,还能通过优化实现流畅动画,增强用户体验。本文探讨了Uno Platform中实现流畅动画的多个方面,包括动画基础、性能优化、实践技巧及问题排查,帮助开发者掌握具体优化策略,提升应用质量与用户满意度。通过合理利用故事板、减少布局复杂性、使用硬件加速等技术,结合异步方法与预设缓存技巧,开发者能够创建美观且流畅的动画效果。
83 0
|
4月前
|
UED 存储 数据管理
深度解析 Uno Platform 离线状态处理技巧:从网络检测到本地存储同步,全方位提升跨平台应用在无网环境下的用户体验与数据管理策略
【8月更文挑战第31天】处理离线状态下的用户体验是现代应用开发的关键。本文通过在线笔记应用案例,介绍如何使用 Uno Platform 优雅地应对离线状态。首先,利用 `NetworkInformation` 类检测网络状态;其次,使用 SQLite 实现离线存储;然后,在网络恢复时同步数据;最后,通过 UI 反馈提升用户体验。
98 0
|
4月前
|
Java Spring Apache
Spring Boot邂逅Apache Wicket:一次意想不到的完美邂逅,竟让Web开发变得如此简单?
【8月更文挑战第31天】Apache Wicket与Spring Boot的集成提供了近乎无缝的开发体验。Wicket以其简洁的API和强大的组件化设计著称,而Spring Boot则以开箱即用的便捷性赢得开发者青睐。本文将指导你如何在Spring Boot项目中引入Wicket,通过简单的步骤完成集成配置。首先,创建一个新的Spring Boot项目并在`pom.xml`中添加Wicket相关依赖。
102 0
|
4月前
|
机器学习/深度学习 人工智能 算法
深入探索TensorFlow在强化学习中的应用:从理论到实践构建智能游戏AI代理
【8月更文挑战第31天】强化学习作为人工智能的一个重要分支,通过智能体与环境的互动,在不断试错中学习达成目标。本文介绍如何利用TensorFlow构建高效的强化学习模型,并应用于游戏AI。智能体通过执行动作获得奖励或惩罚,旨在最大化长期累积奖励。TensorFlow提供的强大工具简化了复杂模型的搭建与训练,尤其适用于处理高维数据。通过示例代码展示如何创建并训练一个简单的CartPole游戏AI,证明了该方法的有效性。未来,这项技术有望拓展至更复杂的应用场景中。
46 0

热门文章

最新文章

下一篇
无影云桌面