范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

基于嵌入式Linux及MJPGstreamer的双目立体视觉系统设计

  摘 要:文中设计了一套双目立体视觉系统,该系统采用上位机与下位机无线通信的结构,其中下位机采用嵌入式Linux操作系统,移植了无线网卡驱动,并在下位机上修改移植MJPG-streamer以实现多路摄像头图像输入单路输出功能。通过上位机验证了系统中的图像采集不仅十分流畅,而且画质清晰。
  关键词:嵌入式Linux;MJPG-streamer;立体视觉;无线通信
  中图分类号:TN948.6 文献标识码:A 文章编号:2095-1302(2016)03-0-03
  0 引 言
  双目立体视觉通过模拟人类双眼获取信息并通过大脑处理的方式来替代人类完成一些领域的工作,它是计算机视觉中常用的方法之一。它利用两台位置相对固定的摄像机从不同角度同时获取目标对象的两幅图像,再通过计算空间点在两幅图像中的视差来计算目标的三维坐标值。双目立体视觉以非接触方式获取场景的三维信息,具有结构简单、灵活等优点,广泛用于三维重建、无人驾驶[2]、追踪定位等实用科技领域。
  1 双目立体视觉系统硬件框架
  1.1 系统构成
  本文讨论的双目立体视觉系统硬件主要由两枚罗技USB摄像头、一个普联(TP-LINK)USB无线网卡、一块Beaglebone Black ARM开发板、上位机PC组成。其中摄像头、无线网卡、ARM开发板组成的下位机还可以实现移动功能。系统的原理为:ARM开发板负责同时采集两路摄像头的视频,然后通过HTTP视频流服务向上位机PC端提供实时图像数据,并且下位机提供运动控制接口以接收来自上位机的运动控制指令并与运动控制器通信实现运动;上位机通过无线网络获得实时图像帧序列,上位机PC可以发挥通用计算机编程简单的优势并结合独立图形显卡对图像进行并行加速处理[3-5],以达到目标识别、追踪的目的。系统的硬件构架如图1所示。
  1.2 硬件参数介绍
  Beaglebone Black是基于德州仪器Sitara AM3358 ARM处理器、只有信用卡大小的低成本开发板,自其前辈Beagleboard发布以来,受到众多开发者的热爱,同时也已获多个Linux发行版的支持。
  本系统采用两枚罗技C270高清定焦摄像头,它们具备最高720 p(1280x720)、30帧/s的彩色图像输出速率,且成像质量突出;还提供USB 2.0接口,作为标准的UVC(USB Video Class)设备,在Linux系统下面可以直接驱动。系统包含的USB无线网卡型号为TP-LINK WN823N,它支持IEEE 802.11b/g/n标准,工作在2.4 2.4835 GHz频段,最高无线传输速率为300 Mb/s,支持WPA-PSK/WPA2-PSK加密。
  2 系统实现
  2.1 系统选择及网卡驱动移植
  Linux操作系统具有完善的网络通信功能及稳定性、可裁剪性等特点,非常适用于嵌入式设备。这里使用的操作系统是Debian社区提供的Debian 7.9(Wheezy)系统镜像,为了节省硬件资源采用了控制台版本,即不带图形界面;系统默认Linux内核版本为3.8,手动更新内核至4.1版本以修复Beaglebone Black USB设备热插拔支持不稳定的问题。使用Debian镜像的优势在于社区为开发平台提供了完善的工具链,可以在开发板上安装必要的gcc编译器集合及make工具和内核头文件,直接在开发板上进行小型程序的编译,省去了麻烦的交叉编译步骤。
  由于USB网卡不被当前操作系统内核支持,需要手动添加驱动。TP-LINK WN823N使用Realtek rtl8192系列控制器,任何人都可以从Realtek网站获取相关设备驱动源代码。这里把驱动源代码放到了开发板上,以内核模块的形式编译出驱动;通过Debian软件管理器安装wpa_supplicant来管理无线网络连接,以借此实现开发板开机后自动连接到指定无线路由器的操作。
  2.2 MJPG-streamer移植
  MJPG-streamer[6,7]是开源的、基于命令行的可提供JPEG图像流的轻量服务器,它实现了从输入设备复制图像数据到输出设备的功能。受支持输入设备以UVC摄像头为主,还有CMOS摄像头、文件输入等;输出设备可以是文件、网络服务(HTTP, UDP)等。 MJPG-streamer默认只能支持单设备输入多种途径输出。而在本双目视觉系统中要实现的是两个UVC设备输入,一个HTTP插件输出,故需对MJPG-streamer源代码进行修改。
  MJPG-streamer主要分为以下几个模块(插件):
  (1)mjpg_streamer: 主程序,用来调用其它插件;
  (2)input_uvc:USB 摄像头输入插件;
  (3)output_http:HTTP服务插件;
  (4)input_file: 以视频或图像作为输入;
  (5)output_file: 输出到JPEG文件。
  本设计中用到input_uvc和output_http两个输入输出模块。通过对MJPG-streamer源代码进行分析,发现其各个模块以独立线程的方式运行,各线程以共享内存的方式进行通信。输入插件将图像数据存储到共享区域,输出插件从共享内存区域读取图像数据写入目标位置(网络终端、磁盘等)。
  进一步分析源代码,发现MJPG-streamer已经实现了多个输入插件的支持,并且从每个输入设备读取到的数据放到了不同的内存位置,唯一的限制是在输出时默认只发送第一个设备读取到的数据。
  output_http在响应每个来自网络的客端时都启用一个单独的线程来对其发送数据,其中的数据均来自第一个输入插件。为了获取不同输入设备的数据,客户端在请求数据时应指明从哪个设备获取;同时如果客户端启动两个独立线程来分别访问两个摄像头的数据,那么就实现了MJPG-streamer多输入单插件输出的功能。   通过修改MJPG-streamer工程下output_http模块里的httpd.c文件来实现该功能:
  (1)增加静态全局整型变量stream_id定义,并初始化为0,即默认从第一个输入设备获取图像数据流;
  (2)处理http请求?action=stream判断程序块内部增加获取请求的流id功能:
  (3)将stream_id作为参数传递至send_stream函数;
  (4)客端对应的http请求变为http://server_address:port_number/?action=stream:id。其中,id从0开始编号,对应从第一个设备起。MJPG-streamer安装按照其说明文档进行,在源代码目录执行make USE_LIBV4L2=true && make install,这里"USE_LIBV4L2=true"使能了V4L(Video for Linux)视频设备驱动框架,由此完成了MJPG-streamer的编译和安装。
  3 上位机软件实现
  3.1 上位机硬件及开发环境配置
  上位机为普通Intel X86 PC,带NVIDIA 独立图形显卡并支持CUDA编程,开发工具使用了跨平台的Qt C++环境,版本为5.5.0,编译安装了计算机视觉库OpenCV3.0。
  3.2 上位机软件编写
  上位机软件的逻辑框图如图2所示。
  在Qt5环境中使用OpenCV提供的VideoCapture类型打开指定URL(Uniform Resource Locator),代码操作如下:
  VideoCapture capLeft = VideoCapture("http//192.168.1.1358421/?action=stream:0");
  VideoCapture capRight = VideoCapture("http//192.168.1.1358421/?action=stream:1");
  使用OpenCV提供的Mat类型来保存每一帧图像,同时使用Qt提供的软件定时器每秒20次从资源中获取左右各一帧图像,将图像显示出来,并复制到特定内存区域以便后续处理程序进行访问,读取一帧图像的操作如下:
  Mat matLeft, matRight;
  capLeft.read(matLeft);
  capRight.read(matRight);
  左右摄像头以640 480分辨率、每秒20帧的速率采集,上位机程序也以每秒20帧的速率刷新显示,效果流畅。图3所示为室内环境显示效果截图。
  4 结 语
  本文介绍了一种双目立体视觉系统设计,采用上位机与下位机无线通信的架构,可以发挥上位机强大的计算能力以及下位机灵活移动的优势。其中主要讨论了下位机的软硬件框架,利用开源软件MJPG-streamer并修改其部分代码实现了多路设备输入、单个插件输出的功能;通过实验验证了方案的可行性,对双目立体视觉系统设计具有参考价值。
  参考文献
  [1]贾云得.机器视觉[M].北京: 科学出版社,2002.
  [2]杨明.无人自动驾驶车辆研究综述与展望[J].哈尔滨工业大学学报,2006,38(8):1259-1262.
  [3]李亚峰,秦开怀.一种双目立体视觉算法的GPU实现[J].计算机工程,2006,32(10):210-211.
  [4]李新德,张晓,朱博,等.一种基于GOR+GPU算法的机器人视觉导航方法[J].机器人,2012,34(4):466-475.
  [5]张平.基于CUDA的TLD视觉跟踪算法研究[D].北京:北京交通大学,2014.

疑思导学,小组探究教学模式的构建摘要在新课程背景下,以学生发展为本,注重培养学生思维的多样性和广阔性,帮助学生提高学习质量,已成为教学的主要方向。而疑思导学,小组探究教学模式的提出无疑是对新课改理念要求的具体实践现代教育技术在高中化学教学中的利与弊摘要现代教育技术在高中化学教学中得到了一定程度的应用,但利弊共存。现代教育技术有利于创设情境,可形象展示教学内容,增强实验教学的安全性,但过度应用会忽略学生的主体地位,阻碍实践教学异端审判所拐弯枪版式注明背景需要营造出一个法庭的肃穆环境,可使用素材0105作为背景图。作为证物的4张图片角落要贴便签,可使用素材0607。P12异端审判所,专门审视各个领域的异类。让我们用公正的浅谈地球小博士论文写作指导为了贯彻落实十七大精神,深入学习实践科学发展观,全面提升全社会对开发利用资源,保护生态环境的能力,提高中小学生科学素养,尤其是鼓励青少年学生防灾避险,把自然灾害造成的损失降到最小,我们的地球家园我们的地球家园我们的地球家园我们的地球家园更多精品源自课件我们的地球家园在这里要讲的是气温变化下所造成的环境变化和会造成什么样的灾难。本文将以三个重点来分析,气温升高下的环境变化和节能减排论文热爱我们的家园地球节能减排论文热爱我们的家园地球节能减排论文热爱我们的家园地球节能减排论文热爱我们的家园地球文章来源节能减排论文之我们赖以生存的家园地球。地球只有一个,我们赖以生存的家园也只有一个,管理会计在中小生产企业中的运用摘要我国中小生产企业重视管理会计在企业管理中的应用研究,深入推进会计强国战略,提升会计工作总体水平,推动经济可持续发展。关键词中小生产企业管理会计运用随着我国经济发展进入新常态和中理论和实践一体化的启发式案例教学法研究1引言伴随着高等教育改革发展的进程,以培养高素质应用型人才为目标,大部分高校对本科教育的培养方案和教学手段进行了修订和改革。工科院校作为高等院校中培养工程应用人才的一支重要力量,与廉洁文化滋养纯洁心灵习近平同志指出反腐倡廉必须常抓不懈,经常抓长期抓,必须反对特权思想特权现象,必须全党动手。廉政建设是国之大事党之大事民之大事,关系到党的事业和国家民族的兴衰。社会生活中的腐败现象之临床案例讨论课在康复治疗技术专业基础医学教学中的应用与探讨课题组根据专业需要对康复治疗技术专业基础医学教学内容进行重新优化整合,增加了与运动和神经相关的学时,缩减了相当多的如生物化学微生物免疫等课程的学时,使改革后的内容更加合理科学,针对桥梁施工课程教学改革研究0引言随着我国经济建设的高速发展,公路和铁路领域桥梁建设数量和规模不断的增加,未来国家仍将在桥梁等基础设施上投入大量建设资金,这就需要大量既有理论知识又有实际动手能力的桥梁工程专业
浅谈新经济时代的留才策略论文关键词新经济时代x代员工组织文化绩效论文摘要新经济时代,企业要生存和发展,除了不断进行技术创新外,还必须创造条件吸引和留住人才。作为知识性员工中的一部分,刚刚参加工作不久的所谓浅析我国体育经济发展现状以及对策探究摘要在经济全球化和我国社会主义市场经济不断发展和完善的今天,作为新的经济增长点的体育产业面临着机遇,同时也应对着各种复杂艰巨的挑战。体育经济作为体育产业中的一种新型的经济形态,在现林芝地区八一镇旅游饭店人力资源开发现状与对策探讨摘要旅游饭店是旅游业发展的重要基础设施,饭店业作为旅游产业支柱之一,为旅游者提供舒适的休息和用餐,而旅游饭店是人力资源密集型行业。所以,对旅游饭店人力资源开发与管理工作十分重要。本北京市体育产业集聚区的现状和重构设想摘要采用逻辑分析和问卷调查法,对北京市体育产业集聚区的形成和现状进行研究,证明了体育产业集聚区模型构建的重要性。对区域体育资源的充分利用政府功能和完善体育产业链等方面提出了设想和建试论互联网金融监管存在问题及对策在科技快速发展的年代,诸多问题逐渐的暴露在互联网金融的发展过程中,以下是一篇探究互联网金融监管问题的论文范文,供大家阅读查看。一存在在我国互联网金融监管的主要问题经济基础较为薄弱是我国西部地区农村民间金融研究目前,中国农村金融体制改革远未完成,由于西部地区农村金融组织发育很不健全,以下是小编搜集的一篇探究西部地区的农村民间金融现状的论文范文,欢迎阅读参考。一现阶段,我国西部地区的农村民金融发展对出口结构优化的作用机理分析金融发展水平的提高对技术密集型行业资金方面的支持,不但会获得相应的经济效益,还会帮助推广和普及新的科技成果,下面是小编搜集的一篇探究金融发展对出口结构优化作用的论文范文,供大家阅读新经济环境下企业资金管理浅析新经济环境下企业资金管理浅析企业要发展就要离不开正确的经营管理,而企业管理的核心是财务管理,财务管理的核心是资金管理。资金管理在企业的生产经营和投资中的作用越来越大,它是企业经营和演化经济学会计准则制定研究的新思路摘要本文对会计准则制定的研究进行了梳理,发现研究中较多地采用了制度经济学理论。经济是不断向前发展的,新情况新问题的涌现势必要求会计准则随之演化,因此,会计准则的制定是一个动态的过程金融类开题报告2016论文最好能建立在平日比较注意探索的问题的基础上,写论文主要是反映学生对问题的思考,详细内容请看下文金融类开题报告。一研究背景和必要性利率市场化是指通过市场和价值规律机制,在某一时点2016金融类开题报告范文论文应符合专业培养目标和教学要求,以学生所学专业课的内容为主,不应脱离专业范围,要有一定的综合性,以下就是由编辑老师为您提供的金融类开题报告范文。一金融毕业论文开题报告范文之论文题