热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

角蜂鸟AI视觉套件1:开箱和开发环境搭建

角蜂鸟开箱和开发环境搭建1.开箱展示图1材料清单:1.套件包含亚克力外壳、定制1080P摄像头及角蜂鸟AI视觉板卡(已拼装)2.Type-CUSB3.0导线1根3

                                                                  角蜂鸟开箱和开发环境搭建

1.开箱展示

 

图1

材料清单:


  • 1.套件包含亚克力外壳、定制1080P摄像头及角蜂鸟AI视觉板卡(已拼装)

  • 2.Type-C USB3.0导线1根

  • 3.产品说明书卡片1张

电气参数:


  • 供电电压和电流:

  • 功耗:

  • 工作温度:

  • 板载核心芯片:Movidius MA2450

  • 连接示意:

  • 图片2

     

    优势:其一集成了Intel Movidius MA245X卷积神经网络(CNN)加速芯片,运算和比对处理均在模块中完成,并将结果数据反馈给host,对host系统要求较低;其二离线实现,角蜂鸟目前内嵌了7种基础的神经网络模型,可以完成人脸检测、人脸识别、物体识别等功能。模型体积小、速度快,其中物体识别模型大小为9.6MB,可支持同时识别20种物体,而人脸检测模型大小只有1.2MB。这些运算均是在边缘端离线实现,完全不需要连接到云端;

2.开发环境搭建

目前支持Ubuntu、CentOS、Fedora、TK1、MacOS、Raspbian等多种操作系统,官方提供了Android、C++、Python、ROS四种开发环境并提供了example示例程序,模型文件共用!

本次开发选用的硬件平台和开发环境:Raspberry 3B+Ubuntu16.04+ROS-Kinetic;

Kinetic虽然不是ROS最新的版本,但是确实目前资料较多(坑较少,目前资料最多的是Indigo),且能够支持维护到2021年的一个版本,因此选择该版本,至于更早的版本由于维护时间问题不建议使用!

而每个版本的ROS官方都会推荐一个对应版本的linux系统,Kinetic 对应的是Ubuntu 16.04,因此才有了以上的环境选择;

由于树莓派的处理能力有限,虽然有人建议不要在树莓派3B上安装Ubuntu,但是本次开发中较复杂的处理如人脸识别和物体识别等算法是在角蜂鸟模块上处理的,这样大大减少了树莓派的负担,应该以上方案是可行的!

1)操作系统安装 Ubuntu MATE 16.04.2

下载地址: https://ubuntu-mate.org/download/

 

制作Linux启动盘(SD卡),准备制作工具Win32DiskImager

 

 

安装:

a. 解压上述下载的操作系统镜像压缩文件,得到 img 镜像文件。

b. .将 SD 使用卡托或者读卡器后,连上电脑。

b. 解压并运行 win32diskimager 工具。

d. 在软件中选择系统镜像( img 文件),“ Device”下选择 SD 的盘符,然后选择“ Write”,期间出现对话框选择是。

e.等待写入进程, 安装过程可能有些慢,根据你 SD 卡的速度而定的。等到出现对话框 write successful 就说明成功了,将 SD 卡插入树莓派 3 的 SD 卡槽内,树莓派主板上电,即可进入系统安装;

 

2)ROS安装Kinetic Kame

a.软件中心配置

打 开后 按照下 图进 行配 置(确 保你 的 "restricted" , "universe, " 和"multiverse."前是打上勾的

配置完成后选择“close”就可以关闭该窗口了。

b)添加源

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu$(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

c)设置秘钥

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA116

d)安装和初始化ROS

#安装ros kinetic全功能版
sudo apt-get update
Sudo apt-get install ros-kinetic-desktop-full

#初始化rosdep
sudo rosdep init
rosdep update

#初始换环境变量
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

#测试ROS
roscore

打印输出“started core service [/rosout]”即安装成功;

 

3)配置SungemSDK环境及资源

下载SungemSDK基础SDK,保证你的环境安装了git,如果没有安装,请参照百度经验ubuntu 安装git,git下来角蜂鸟的SDK

git clone https://github.com/HornedSungem/SungemSDK.git

拷贝hs.h接口头文件到/usr/local/include,SungemSDK-ROS需要引用该头文件,所以需拷贝到系统目录下

sudo cp -i /SungemSDK/api/includes/hs.h /usr/local/include

根据您当前系统的架构选择对应文件夹下的libhs.so,拷贝该文件到/usr/local/lib

关于系统架构的查询

uname -a

sudo cp -i /SungemSDK/api/lib/linux/arm7l/libhs.so /usr/local/lib

准备需要的资源文件,model及data文件,git最新SungemSDK-GraphModels,或从百度云盘中下载,并把该目录link到系统下,如果不想放在系统下,你可以修改horned_sungem_launch目录下config下每次模型类型的graph_file_path和category_file_path参数,确保路径下能找到该文件即可

git clone https://github.com/HornedSungem/SungemSDK-GraphModels.git
sudo ln -s /SungemSDK-GraphModels /opt/SungemSDK-GraphModels

4)创建ROS工作空间

创建一个工作空间,名字自定义

mkdir -p ~/catkin_/src

将SungemSDK-ROS包下载到工作空间中的src路径下

cd ~/catkin_/src
git clone https://github.com/HornedSungem/SungemSDK-ROS.git

使用catkin编译生成build和devel文件

catkin_make

如果编译过程中报错,可根据错误内容对源码进行修改,并查找目录下CmakeList.txt和package.xml是否有误!

对于树莓派+Ubuntu16.04配置文件确实有错。

需要将Cmakelist里把上述报错的“msse4.1”、"mf16c"配置的属性删掉重新编译,找到~/catkin_/src/SungemSDK-ROS-master/src/ros_horned_sungem/horned_sungem_lib包下,修改其Cmakelist

cd ~/catkin_/src/SungemSDK-ROS-master/src/ros_horned_sungem/horned_sungem_lib
vim Cmakelist.txt

具体代码段如下:

# Add x86 intrinsic compiler support
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4.1")
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mf16c")
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")

以上代码是对X86系统架构的配置,树莓派采用的arm7l架构,因此需要注释掉;

重新编译,以上报错消失但是会出现新的错误,不用担心这是由于树莓派内存不足造成的!

树莓牌默认只有100m内存,可以通过增加swap空间的 方法解决,推荐以下方法重启且不会恢复!《如何在Ubuntu 16.04上增加Swap分区》;

    注意由于本示例中的树莓派RAM的大小为1GB,因此我们将在本教程中创建一个2 GB大小的文件(一般swap至少为RAM的2倍),并适当加以调整,以满足您自己的服务器的需求;

再次编译

这就说明SungemSDK-ROS-master编译通过;

执行source命令,依次执行文件中的语句,使刚修改的初始化文件生效

source devel/setup.bash

设置ros包路径

echo $ROS_PACKAGE_PATH /home//catkin_/src:/opt/ros/kinetic/share

5)使用Sungem-ROS

官网比较良心,提供了UVC摄像头和角蜂鸟自带摄像头方法,本例使用的角蜂鸟自带摄像头;

a)打开终端,加载nodelet,接受角蜂鸟360P的图像

roslaunch horned_sungem_launch hs_camera.launch cnn_type:=googlenet camera:=hs pixels:=360

如果出现错误,需cd到你的catkin工作空间的devel重新source下setup.bash

这是打开设备权限问题,root模式下运行;两种方法:一种将设备权限设置为其他用户也可用,另一种在root模式下运行以上指令;

我选用了第二种方法,切换至root用户,结果如下

su
roslaunch horned_sungem_launch hs_camera.launch cnn_type:=googlenet camera:=hs pixels:=360

这是ROS环境变量未设置root可用,仅设置了当前用户可用!需要进行以下操作

source /opt/ros/kinetic/setup.bash
source /home/amos/catkin_ws/devel/setup.bash
roslaunch horned_sungem_launch hs_camera.launch cnn_type:=googlenet camera:=hs pixels:=360

角蜂鸟设备启用成功!!!红色提示为模块过热导致,增加一个小风扇提示消失,也可以在程序中设置取消提示!

从上图中可知,模块本身是添加一个很大的散热片,虽然装机时模块上电(但是未进行运算处理),但是真正用到模块的时候是最后launch启用仅仅才几分钟,模块就已提示过热!说明模块在低功耗处理上仍存在很大的优化空间!

b)打开新的终端,加载图像

roslaunch horned_sungem_launch hs_classification_example.launch camera_topic:="/hs/camera/image_raw"

该指令执行是会返回结果和图片,因此必须在本地终端执行!ssh执行会报错!

 

6)角蜂鸟在线资源汇总

官网:

http://www.hornedsungem.org/

公众号:

微信搜索角蜂鸟,添加关注。

文档:

https://hornedsungem.github.io/Docs/cn/

https://hornedsungem.senscape.cn/Docs/cn/

专栏:

https://zhuanlan.zhihu.com/hornedsungem

Github:

https://github.com/HornedSungem

固件:

https://github.com/HornedSungem/SungemSDK/releases

Github提问:

https://github.com/HornedSungem/SungemSDK/issues

购买:

微信搜索角蜂鸟公众号,在公众号中购买。

技术交流:

欢迎加入角蜂鸟交流群,群聊号码:782248879

角蜂鸟树莓派镜像下载地址:

树莓派上配置角蜂鸟环境,由于网络等原因,容易出现失败的情况,这里提供配置好的树莓派镜像,一个是树莓派Zero,一个是树莓派3B/3B+:

百度云地址链接: https://pan.baidu.com/s/1rj1xBfA55xwVsOV9zN6Ifw密码: k1x6

Dropbox地址链接: https://www.dropbox.com/sh/gnnjq7x5s24qlsq/AAD-Vcr3z8XlYRts8ndf9E9Ma?dl=0

镜像烧写完成后,不需要运行install.sh脚本安装环境,直接可以运行示例程序了。

 

参考文献:

https://hornedsungem.github.io/Docs/cn/installation/

https://blog.csdn.net/yaked/article/details/81262339

http://baijiahao.baidu.com/s?id=1601968606595405058&wfr=spider&for=pc

http://www.roswiki.com/read.php?tid=633

https://www.cnblogs.com/qqfly/p/5851382.html

http://wiki.ros.org/kinetic/Installation/Ubuntu

https://hornedsungem.github.io/Docs/cn/workflow/ros/quickstart/


推荐阅读
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 2023年,Android开发前景如何?25岁还能转行吗?
    近期,关于Android开发行业的讨论在多个平台上热度不减,许多人担忧其未来发展。本文将探讨当前Android开发市场的现状、薪资水平及职业选择建议。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 如何高效学习鸿蒙操作系统:开发者指南
    本文探讨了开发者如何更有效地学习鸿蒙操作系统,提供了来自行业专家的建议,包括系统化学习方法、职业规划建议以及具体的开发技巧。 ... [详细]
  • 深入解析层次聚类算法
    本文详细介绍了层次聚类算法的基本原理,包括其通过构建层次结构来分类样本的特点,以及自底向上(凝聚)和自顶向下(分裂)两种主要的聚类策略。文章还探讨了不同距离度量方法对聚类效果的影响,并提供了具体的参数设置指导。 ... [详细]
  • HTML前端开发:UINavigationController与页面间数据传递详解
    本文详细介绍了如何在HTML前端开发中利用UINavigationController进行页面管理和数据传递,适合初学者和有一定基础的开发者学习。 ... [详细]
  • 本文详细介绍如何在华为鲲鹏平台上构建和使用适配ARM架构的Redis Docker镜像,解决常见错误并提供优化建议。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中安装 Python 3.7 的步骤,包括编译工具的安装、Python 3.7 源码的下载与编译、软链接的创建以及常见错误的处理方法。 ... [详细]
  • 本文讲述了一位80后的普通男性程序员,尽管没有高学历,但通过不断的努力和学习,在IT行业中逐渐找到了自己的位置。从最初的仓库管理员到现在的多技能开发者,他的职业生涯充满了挑战与机遇。 ... [详细]
  • 小程序的授权和登陆
    小程序的授权和登陆 ... [详细]
  • 对于众多创业公司而言,选择小程序或小视频的发展方向至关重要。本文将深入分析小程序和小视频的特点、优势及局限,帮助创业者做出更明智的选择。 ... [详细]
  • Java swing 连连看小游戏  开发小系统 项目源代码 实训实验毕设
    Javaswing连连看小游戏开发小系统项目源代码实训实验能满足学习和二次开发可以作为初学者熟悉Java的学习,作为老师阶段性学习的一个成功检验不再是单调的理解老师空泛的知识,导入 ... [详细]
  • 魅族Flyme 7正式发布:全面解析与亮点介绍
    在22日晚的发布会上,魅族不仅推出了m15、15和15 Plus三款新机型,还正式发布了全新的Flyme 7系统。Flyme 7在保持流畅体验的基础上,进一步增强了功能性和实用性,为用户带来更加丰富的使用体验。首批适配包已准备就绪,将逐步推送给现有设备。 ... [详细]
  • 面部识别技术面临关键转折点:伦理与应用的平衡挑战
    面部识别技术正面临一个关键的转折点,其伦理与应用之间的平衡问题日益凸显。近日,该技术再次遭遇重大事件。本周二,由90个倡议组织组成的联盟发布了一份联合声明,呼吁全球范围内暂停使用面部识别技术,直到制定出明确的监管框架。这一举措反映了社会各界对隐私保护和技术滥用的担忧,同时也引发了关于如何在保障公共安全和维护个人隐私之间找到合理平衡的广泛讨论。 ... [详细]
  • 基本价值在于商业落地,解决实际问题;真正的价值在于解决高价值问题,有两类:一解决民生、国力问题,提高国家的综合国力;二让人们的生活真正的更加美好。 近两年,很多学术大牛,进入工业界 ... [详细]
author-avatar
GuangLi1472_716
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有