完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
[size=1.14em] 在这张图片中,我们看到终结者正在获取图像数据,实时加以处理,然后根据从数据流中提取的重要信息做出决策。有趣的是,反应敏捷的人们(熟悉指令集,懂得 Atari 800 [或 Apple II] 编程)可能会发现 T-800 正在运行 6502 汇编代码。仔细想想:这可能就是机器人最开始产生自我意识的原因吧。对不老实的军事硬件承包商的忠告:如果您打算开发使用神经网络 CPU 且具备学习能力的杀手机器人,就不要让他们访问自己的源代码 - 当然,他们这样会把一切搞砸!起码要删了备注,把代码混淆打乱;我想“为笨蛋准备的邪恶编程”大概就是这样的…… 我有点跑题了。我想说的是,终结者具备了现实机器视觉应用的所有组件,因为它拥有眼部摄像头的立体图像采集功能(搭配可调光学成像和多谱成像),可在任何距离范围和低可见光操作中支持深度感知。随后,在神经网络“学习计算机”中运用数字图像处理技术,从环境中提取所需的信息,帮助终结者制定可通过“超合金战斗底盘上的活体组织”执行的决策。实际上,这已经距离自动驾驶汽车不远了。 当然,终结者本身并不需要与图像数据相关的增强现实 (AR) 覆盖图 - 那是为我们这些观众准备的 - 但这也从另一个方面体现了机器视觉技术的前景,让人们了解如何在不久的将来运用 AR 眼镜,为现实世界里工作的人们提供额外的环境数据。很显然,率先采用这种显示屏的是军事领域,他们在航天领域的头戴式显示屏 (HUD) 中运用 AR 已经很多年了,很多人想要把这一优势扩展到步兵部队中。可是在展示信息上还有待权衡,这是为了防止这种增强的技术分散人员注意力。 就目前来看,要在机器视觉应用中搭配光学和帧捕捉器或摄像头与支持实时图像处理的处理单元是非常昂贵的,除非您拥有自己资金充足的实验室,具备工业自动化检测能力或是有工业机器人指导,才有可能找到这种装备。不过好消息来了,现在您就可以接触到低成本的机器视觉,而且我们不需要终结者的“审判日”核启示。 Intel® RealSense™ ZR300 简介ZR300 摄像头有点像在已经很紧凑的 Intel Joule 上安装您自己的电脑成像实验室。连接到嵌入在单元中的成像 ASIC 的项目包括:
还有:
在 ZR300 外壳内,这些功能的布局如下所示: 这一切意味着,您只需一个装置即可实现以下应用:
基本上,我们可以提供您着手打造自己的终结者视觉系统所需的一切 - 但提供不了超合金战斗底盘上的活体组织,所以您需要自己购买。但要注意的是,我不确定终结者的 USB 3.0 连接器藏在哪里... 将 ZR300 连接到你的 Intel Joule之前我们已经说过连接到 Intel Joule 是很轻松的,方便我们访问一些出色的样本软件,从而在 ZR300 中利用 Intel 的 RealSense 对象库、人员库和 SLAM 库 API。对任何机器人项目来说,只要是需要感知周围环境(支持自主操作)且/或识别任何可能遇到的对象或人,这些都提供了海量的“快速入门信息”。 如果您读过我之前的贴子,就会知道如何设置自己的 Intel Joule 来运行 Ubuntu 16.04 LTS。但这一回,我们需要制作硬件模块和 BIOS 模块来支持我们的成像项目。 硬件模块我们将要运行的图像处理应用属于高度计算密集型,这种应用会让伺服环下面的 Atom 处理器发热,但不会改变有源冷却解决方案套件的无源散热片 - 即带风扇的散热片。安装此机制之后,可以确保气流向下流经散热片,使空气通过叶片输出;随后,准备好连接其余装备,包括:
BIOS 模块 硬件设置完毕后,我们需要将电源开启到 11 - 实际上是 8,因为我们在 BIOS 中设置了电源限制:
随后,确保“电源限制 1 启用”设置为 <已启用>:
完成这些模块的操作后,我们几乎已经准备好了。现在要做的就是通过样本软件使用 SDK. 时间首先,您要确保根据所在地区将 Joule 设置为正确的时间。Joule 不带实时时钟电池,因此在安装时通常需要将 Ubuntu 设置为自动更新网络时间和日期。要为您的 Joule 完成此设置,最简单的方法就是单击“系统设置”(通常为启动栏上的最后一个默认图标)。“时间和日期”位于系统设置窗口底部(“系统”下面): 单击该图标,确保您在“设置时间”属性中设置了“从网络自动更新”单选按钮: 当然,如果您想要手动设置时间,可以在此窗口中操作,或者在命令行中输入以下格式的命令: $ sudo date –s “13:20 7/31/2017” 此命令还会告诉设定的日期是未来的哪一天(如果碰巧的话)... 存储库下一步是将 RealSense 存储库添加到 Ubuntu 文件包管理器: $ echo 'deb "http://realsense-alm-public.s3.amazonaws.com/apt-repo" xenial main' | sudo tee /etc/apt/sources.list.d/realsense-latest.list $ sudo apt-key adv --keyserver keys.gnupg.net --recv-key D6FB2970 $ sudo apt update 安装运行时和样本为此,我们只需安装刚刚添加的存储库中的文件包即可: $ sudo apt install librealsense-samples beignet-opencl-icd 安装完毕后,我们可以使用以下命令在 ZR300 上预览每个摄像头的实时视频流: $ sudo apt install librealsense-utils 最后,我们可以安装 RealSense SDK,以便开发自己的应用: $ cpp-capture Finally, we can install the RealSense SDK so that we can develop our own apps: $ sudo apt install librealsense-object-recognition-dev librealsense-persontracking-dev librealsense-slam-dev ...然后克隆来自 Github 的样本软件,以便查看源代码,了解如何综合这些示例自行完成构建。首先是安装 Git 和其他必要工具: $ sudo apt install git cmake libjpeg-dev libopencv-dev 这通常已经安装好,但若您发现自己无法编译样本软件,则可能要将 build-essential 添加到上面的安装列表中。接下来,我们将克隆来自 Github 的样本。我将此样本放入新文件夹“Projects”中: $ mkdir Projects $ cd Projects $ cd realsense_samples 您可以根据需要构建这些示例: $ mkdir build $ cd build $ cmake .. $ make 一旦构建完毕,我们可以插入自己的 ZR300,现在机器视觉已经准备好了。 软件示例RealSense SDK 中已经预先构建了一组完整的软件示例(您可在 /usr/bin 中找到这些可执行程序),因此您只需运行它们就可以了,不必一切都由自己构建。这些可执行程序的每个示例名称都带 rs_ 前缀:例如,对“slam_tutorial_1_web”示例预编译的可执行程序为“rs_slam_tutorial_1_web”。 如果您自行构建这些示例的话,就会发现此文件夹中每一个全新的可执行程序在“build”文件夹下面都包含此样本的源代码。而我就在如下位置找到了“slam_tutorial_1_web”可执行程序:/Projects/realsense_samples/build/samples/slam_tutorial_1_web. 另外还有几组示例使用对象库、人员库和 SLAM 库。每一组示例都是从基本教程应用开始的,主要展示如何使用函数功能。接着,后续教程应用将以前面展示的内容为基础,因此,在每个 SDK 库示例系列的末尾都会继续使用一些比较熟悉的机器视觉或空间意识计算。这些库及软件示例全都是用 C++ 语言编写的。 本文不打算详细讲解这些示例,但我们可以简单介绍一个多模式示例,它在基于 Web 浏览器的应用中综合了大量 ZR300 资源。透过这个示例,您就会知道在 ZR300 连接到 Intel Joule 的第一天可以使用哪些功能。 slam_or_pt_tutorial_1_web本示例展示了来自彩色摄像头和鱼眼摄像头的实时视频流。同时,浏览器中的网页输出还显示了所在区域的 SLAM 占用地图以及鱼眼摄像头、深度摄像头、陀螺仪及加速计的输入和追踪 FPS(每秒帧数)数据。 此示例的源代码位于/realsense_samples/build/samples/slam_or_pt_tutorial_1_web中 我们可以通过以下命令行从任意目录中开始预先构建示例的可执行程序: $ rs_slam_or_pt_tutorial_1_web 这将启动一个 Web 服务器,您随后需要手动将其连接至 Web 浏览器: 如果将鼠标悬停在突出显示的 Web 地址(我们上图中的 http://172.30.44.97:8000/view.html)上并单击右键,即可在显示的菜单中选择“打开链接”以在默认浏览器中打开该地址。 一旦服务器具有客户端,示例便会设置为识别对象并在终端报告这些对象。同时,实时馈入将转至 Web 浏览器,并且提供通过对摄像头前方区域进行 SLAM 处理得出的地图数据(左上角的大图),而在浏览器的右上角会报告传感器的数据速率。ZR300 将持续不断地馈入数据,它无法协商,也无法推理,不会产生怜悯、自责或恐惧心理。而且这个过程绝对不会停下来...直至您在终端按下 [Esc] 或 [Ctrl] C 为止。 SLAM 地图 随着您朝四周移动摄像头,便会绘制这么一张图。其中有一个“锥体”,实时展示摄像头的 3D 视场 - 当您移动摄像头时,椎体也会随之移动。在地图中会标记出摄像头前方哪个位置有障碍物(地图上的灰色斑点区域)以及在哪个位置可以找到各个已识别的对象(来自彩色图像馈入)。这些内容均以 3D 模式展示,如下图中的地图所示: 对象识别 在绘制 SLAM 地图的同时,软件会将彩***馈入中看到的内容与对象库进行匹配,并且确定准确识别(和标记)每个对象的概率。而且,该软件还会确定找到的对象相对于自身的坐标位置。 您可以此示例及其他示例的源代码为基础,构建自己的对象、人员和人脸识别应用以及/或者需通过系统感知周围区域的应用。 结论现在,终结者感知周围环境所需的技术已经成熟了。Skynet 甚至不需要担心与财务部门的沟通:对于密切关注机器视觉的所有人而言,Intel Joule 和 ZR300 组合都非常实惠,即便是预算十分有限的创客俱乐部也能买得起 - 更不要说投资数十亿美元的大型计算机系统了。 如果这还不够的话,我们还有大量的示例可以加快 Skynet 的部署;当 ‘netty 遇到一些特别的难题时,比如识别电话簿和撕掉所有带“S Connor”条目的页面,我们有一个支持社区可以提供帮助 - 毕竟,谁又会为了电话簿准备一个对象库呢?都几十年没人见过了! |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
830浏览 0评论
200浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 02:04 , Processed in 1.264543 second(s), Total 62, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号