Perception(0-1.1)
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)的更多相关文章
- 【编程题目】n 个数字(0,1,…,n-1)形成一个圆圈,从数字 0 开始
第 18 题(数组):题目:n 个数字(0,1,…,n-1)形成一个圆圈,从数字 0 开始,每次从这个圆圈中删除第 m 个数字(第一个为当前数字本身,第二个为当前数字的下一个数字).当一个数字删除后, ...
- 将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m
给定两个数m,n,其中m是一个素数. 将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m. 输入 第一行是一个整数s(0<s<=100),表示测试数据的组数 随后 ...
- 经典面试题:n个数字(0,1,…,n-1)形成一个圆圈
题目: n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始, 每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字). 当一个数字删除后,从被删除数字的下一个继续删 ...
- HDFS(0.20.2)运营中急救方案
这段时间折腾的都是hadoop和lucene,总结了hadoop在运营过程中出现问题时的解决方案,请大家指教! HDFS(0.20.2)运营中急救方案 1 Namenode 挂掉( ...
- (0.2.6)Mysql安装——编译安装
(0.2.6)Mysql安装——编译安装 待完善
- (0.2.7)Mysql安装——多实例安装
(0.2.6)Mysql安装——多实例安装 待完善
- (0.2.3)Mysql安装——二进制安装
Linux平台下二进制方式安装卸载mysql 本章节:二进制安装mysql 目录: 1.基于Linux平台的Mysql项目场景介绍 2.mysql数据库运行环境准备-最优配置 3.如何下载mysql数 ...
- 淘宝网触屏版 - 学习笔记(0 - 关于dpr)
注:本文是学习笔记,并不是教程,所以会有很多我不理解或猜测的问题,也会有不尽详实之处,望见谅. 对于pc端网页设计师来说,移动端的网页制作,我之前只是简单的加了一个 <meta name=&qu ...
- (0.2.1)mysql数据库环境-操作系统配置
目录 1.基于Linux平台的Mysql项目场景介绍 2.mysql数据库运行环境准备-最优配置 2.1.如何查看官方文档了解环境要求 2.2.安装虚拟机环境与操作系统 2.3.操作系统最优配置9大步 ...
- (0.2.4)Mysql安装——yum源安装
转自:https://www.cnblogs.com/jimboi/p/6405560.html Centos6.8通过yum安装mysql5.7 1.下载好对应版本的yum源文件 2.安装用来配置m ...
随机推荐
- Unity SurfaceShader 开始编程
Unity SurfaceShader 开始编程 在14年年初的时候,以前给自己定下了今年要实现的三个目标.当中之中的一个就是学会编写自己的Shader,并可以投入到实际的项目应用之中.如今,转眼间日 ...
- Unity 3.5
ASP.NET Web Forms 的 DI 應用範例 跟 ASP.NET MVC 与 Web API 比起来,在 Web Forms 应用程式中使用 Dependency Injection 要来的 ...
- setTimeout与setInterval的区别
setTimeout与setInterval的区别:1.setTimeout设置后隔指定时间后只会执行一次2.setInterval设置后会每隔指定时间执行一次3.setTimeout一般在方法内部使 ...
- Android调用本机应用市场,实现应用评分功能
原本以为应用评分是个很小的功能,但是一实现才发现真不是个小事.网上搜索资料没有找到答案,在很多开发群里面询问了很多人也没有解决问题,最后分析log,反编译看源码才终于有了些眉目,好吧,上代码: try ...
- ant svn
<!-- 检出代码 这里使用 export 不是checkout 二者区别 checkout会svn相关信息文件检出,export只是检出最新的文件--> <target name= ...
- (JavaScript插件——下拉菜单)
前言 阅读之前您也可以到Bootstrap3.0入门学习系列导航中进行查看http://www.cnblogs.com/aehyok/p/3404867.html 本文主要来学习一下JavaScrip ...
- [RM 状态机详解1] RMApp状态机详解
概述 Apache Hadoop 2.0在Hadoop 1.0基础上做了许多的重构工作,代码上的重构最大的变化在于引入状态机处理各个角色的状态与变迁,使用状态机是得代码结构更加清晰,方便异步处理各种操 ...
- Cocos2d学习之路三(使用Zwoptex创建精灵表单和CCAnimate动画)
创建精灵表单: 创建动画先要把图片整合到一个图片上然后生成plist文件: 方法下载Zwoptex软件:http://www.zwopple.com/zwoptex/ 然后打开选择 create ne ...
- 日历插件(beta)
仿iphone日历插件(beta) 前言 小伙伴们好,很久不见了.最近工作进入正常期了,所以慢慢的悠闲的时间久没有了,所以不能每天水一篇了. 最近也在听师傅(http://home.cnblogs.c ...
- Ruby的对象模型
目录 备注对象模型无图无真相基本规则代码示例如何修改Singleton Class?如何修改类型,如Child?类型方法是特殊的实例方法,这些方法定义在类型的Singleton Class中.备注 备 ...