The perception modules run in the context of the process Cognition. They detect features in the image that was just taken by the camera. The modules can be separated into four categories. The modules of the perception infrastructure provide representations that deal with the perspective of the image taken, provide the image in different formats, and provide representations that limit the area interesting for further image processing steps. Based on these representations, modules detect features useful for self-localization, the ball, and obstacles. All information provided by the perception modules is relative to the robot’s position.

感知模块在认知进程中运行。他们检测到相机拍摄图像中的特征。该模块可分为四类。这个感知基础架构模块提供表示(?),来处理采集的图像的角度,提供不同格式的图像,并提供表示,限制用于进一步的图像处理的感兴趣区域。基于这些表示,模块检测有用特征来自我定位,以及球和障碍的检测。所有提供的感知模块信息是相对于机器人位置的。

4.1Perception Infrastructure

4.1.1Using Both Cameras

The NAO robot is equipped with two video cameras that are mounted in the head of the robot.The first camera is installed in the middle forehead and the second one approx. 4cm below. The lower camera is tilted by 39.7 ◦ with respect to the upper camera and both cameras have a vertical opening angle of 47.64 ◦ . Because of that, the overlapping parts of the images are too small for stereo vision. It is also impossible to get images from both cameras at the exact same time, as they are not synchronized on a hardware level. This is why we analyze only one picture at a time and do not stitch the images together. To be able to analyze the pictures from both the upper and lower camera in real-time without loosing any images, the Cognition process runs at 60Hz. Since the NAO is currently not able to provide images from both cameras at their maximum resolution, we use a smaller resolution for the lower camera. During normal play the lower camera sees only a very small portion of the field, which is directly in front of the robot’s feet. Therefore, objects in the lower image are close to the robot and rather big. We take advantage of this fact and run the lower camera with half the resolution of the upper camera, thereby saving a lot of computation time. Both cameras deliver their images in the YUV422 format. The upper camera provides 640 × 480 pixels while the lower camera only provides 320 × 240 pixels. As the perception of features in the images relies either on color classes (e. g. for reqion building) or the luminance values of the image pixels (e. g. for computing edges in the image), the YUV422 images are converted to the “extracted and color-classified” ECImage. The ECImage consists of two images: the gray scaled image obtained from the Y channel of the camera image and a so-called “colored” image mapping each image pixel to a color class. Cognition modules processing an image need to know from which camera it comes. For this reason, we implemented the representation CameraInfo, which contains this information as well as the resolution of the current image.

NAO机器人配备了两个摄像头在机器人的头部,第一摄像机安装在前额中间,第二个约偏下4cm。较低的相机是相对于上相机倾斜39.7◦,双摄像机有47.64◦垂直张角。正因为如此,重叠的部分的图像对于立体视觉而言太小。同时从两台相机获取图像也是不可能的,因为它们不是在硬件级别上同步的.。这就是为什么我们一次只分析一幅图片,而不是将图像拼接在一起.。为了能够实时地分析上下摄像头的图像,而不丢失任何图像,认知进程运行在60Hz。由于NAO目前无法从两个相机以最大分辨率提供图像,我们对低相机使用较低分辨率。在正常比赛中,低摄像头只看到一小部分的区域,这是在机器人脚前的区域。因此,在低相机的图像中的物体是靠近机器人且相当大的。我们利用这一事实,以上摄像头一半的分辨率运行低摄像头,从而节省了大量的计算时间。两个相机提供YUV422格式图像。上相机640×480像素,而下摄像头只有320×240像素。因为图像特征感知是依赖颜色类(例如内建),和图像像素的亮度值(例如图像中计算的边缘),YUV422图像被转换为“提取和颜色分类”的ECImage。ECImage包含两幅图像——从摄像机图像的Y通道获得的灰度图,和一个所谓的“彩色”图像(每个像素点匹配到一个颜色类)。处理图像的认知模块需要知道它来自哪个摄像机。为此,我们采用了CameraInfo标识,包含此信息以及当前图像的分辨率。

(representations 到底应该翻译成什么?表示,标识?希望大家可以留言)

Perception(0-1.1)的更多相关文章

  1. 【编程题目】n 个数字(0,1,…,n-1)形成一个圆圈,从数字 0 开始

    第 18 题(数组):题目:n 个数字(0,1,…,n-1)形成一个圆圈,从数字 0 开始,每次从这个圆圈中删除第 m 个数字(第一个为当前数字本身,第二个为当前数字的下一个数字).当一个数字删除后, ...

  2. 将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m

    给定两个数m,n,其中m是一个素数. 将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m. 输入 第一行是一个整数s(0<s<=100),表示测试数据的组数 随后 ...

  3. 经典面试题:n个数字(0,1,…,n-1)形成一个圆圈

    题目: n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始, 每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字). 当一个数字删除后,从被删除数字的下一个继续删 ...

  4. HDFS(0.20.2)运营中急救方案

    这段时间折腾的都是hadoop和lucene,总结了hadoop在运营过程中出现问题时的解决方案,请大家指教! HDFS(0.20.2)运营中急救方案 1           Namenode 挂掉( ...

  5. (0.2.6)Mysql安装——编译安装

    (0.2.6)Mysql安装——编译安装 待完善

  6. (0.2.7)Mysql安装——多实例安装

    (0.2.6)Mysql安装——多实例安装 待完善

  7. (0.2.3)Mysql安装——二进制安装

    Linux平台下二进制方式安装卸载mysql 本章节:二进制安装mysql 目录: 1.基于Linux平台的Mysql项目场景介绍 2.mysql数据库运行环境准备-最优配置 3.如何下载mysql数 ...

  8. 淘宝网触屏版 - 学习笔记(0 - 关于dpr)

    注:本文是学习笔记,并不是教程,所以会有很多我不理解或猜测的问题,也会有不尽详实之处,望见谅. 对于pc端网页设计师来说,移动端的网页制作,我之前只是简单的加了一个 <meta name=&qu ...

  9. (0.2.1)mysql数据库环境-操作系统配置

    目录 1.基于Linux平台的Mysql项目场景介绍 2.mysql数据库运行环境准备-最优配置 2.1.如何查看官方文档了解环境要求 2.2.安装虚拟机环境与操作系统 2.3.操作系统最优配置9大步 ...

  10. (0.2.4)Mysql安装——yum源安装

    转自:https://www.cnblogs.com/jimboi/p/6405560.html Centos6.8通过yum安装mysql5.7 1.下载好对应版本的yum源文件 2.安装用来配置m ...

随机推荐

  1. cocos2d的-X- luaproject的LUA脚本加密

    2014/1/26 更新 近期又发现了一个非常easy的方法,事实上coco2dx已经给我们提供设置loader的方法. 注意:有个局限性,在非android平台下调用pEngine->exec ...

  2. C++关于数字逆序输出的两种思路,及字符串逆序输出

    C++关于数字逆序输出的两种思路,及字符串逆序输出 作者:GREATCOFFEE 发布时间:NOVEMBER 15, 2012 分类:编程的艺术 最近在跟女神一起学C++(其实我是不怀好意),然后女神 ...

  3. validate的使用

    日期和时间验证或者按照指定的格式进行验证,或者使用的标准格式指定的区域设置. 日期验证 - 验证日期转换为java.util.Date的类型. 日历验证 - 验证日期转换为java.util.Cale ...

  4. C#程序的157个建议

    编写高质量代码改善C#程序的157个建议——导航开篇   前言 由于最近工作重心的转移,原来和几个同事一起开发的项目也已经上线了,而新项目就是在现有的项目基础上进行优化延伸扩展.打个比方,现在已经上线 ...

  5. XMPP and SIP

    过去一年多,一直关注这方面的技术和发展,这里有一个简单的介绍,我觉得比较简洁明了.我做了一点翻译,还有我的一些评估.       SIP vs XMPP (Jabber) SIP and XMPP a ...

  6. exit与_exit

    一.main函数: 先从程序的执行开始谈起,C程序总是从main函数开始执行,当内核执行C程序时(使用了一个exec函数),在调用main函数前先调用一个特殊的启动例程.可执行程序 文件将此启动例程指 ...

  7. C# 添加敏感词

    public class CheckStreamReader { //使用的数据: private static HashSet<string> hash = new HashSet< ...

  8. DDD:四色原型中Role的 “六” 种实现方式和PHP的Swoole扩展

    目录 背景六种实现方式第一种:未显式体现角色的模式.第二种:使用“显式接口”显式体现角色的模式.第三种:使用“扩张方法”显式体现角色的模式.第四种:使用“领域服务”显式体现角色的模式.第五种:使用“包 ...

  9. Form.Close跟Form.Dispose

    关于Form.Close跟Form.Dispose   我们在Winform开发的时候,使用From.Show来显示窗口,使用Form.Close来关闭窗口.熟悉Winform开发的想必对这些非常熟悉 ...

  10. C#编写Windows 服务

    C#编写Windows 服务 Microsoft Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序.这些服务可以在计算机启动时 ...