Jetson TX1开发笔记(四):使用Caffe对摄像机视频流中的目标进行识别

来源:互联网 发布:汽车维修软件 编辑:程序博客网 时间:2024/05/21 21:42

转载请注明作者和出处:http://blog.csdn.net/c406495762
嵌入式平台(Target): Jeston TX1

一、前言

    安装好Jetpack3.0中所有的组件之后,TX1的/home目录中出现一个tegra_multimedia_api文件夹,这个文件夹包含了许多多媒体API实例。在~/tegra_multimedia_api/samples/11_camera_object_identification目录中,我们可以找到REAME文件,这个文件就是教我们如何运行这个摄像机目标识别实例的。

二、搭建Caffe环境

1.使用如下指令安装依赖包

sudo apt-get install libboost-all-dev libprotobuf-dev libleveldb-dev libsnappy-devsudo apt-get install libhdf5-serial-dev protobuf-compiler libgflags-dev libgoogle-glog-devsudo apt-get install liblmdb-dev libblas-dev libatlas-base-dev python-numpy python-skimage python-pip python-opencvsudo pip install protobuf

2.使用如下方法下载Caffe源码

下载url:https://github.com/BVLC/caffe

点击下图所示的Download ZIP,下载caffe-master.zip

将下载完成的caffe-master.zip拷贝到创建的~/caffe目录下。/your/path/to/caffe-master.zip为你的caffe-master.zip所在的目录。
mkdir ~/caffe cp /your/path/to/caffe-master.zip ~/caffecd ~/caffeunzip caffe-master

3.编译caffe源码

a)拷贝Makefile.config文件

cd ~/caffe/caffe-mastercp Makefile.config.example Makefile.config

b)修改Makefile.config文件

    取消USE_CUDNN := 1的注释;(去掉前面的”#”符号)

    修改以下两行内容,保存并退出(wq):

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serialLIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/aarch64-linux-gnu/hdf5/serial

c)编译

make all -j4make runtest -j4make pycaffe -j4

    在make runtest的时候,时间有些久,需要耐心等待:

三、编译本例程需要使用的OpenCV

1.使用如下指令进入编译文件夹

cd ~/tegra_multimedia_api/samples/11_camera_object_identification/opencv_consumer_lib

2.检查Makefile,确保以下两行的内容正确

CUDA_DIR:=/usr/local/cudaCAFFE_DIR:=$HOME/caffe/caffe-master

3.编译

make -j4

四、下载训练好的Caffe模型

1.使用如下指令下载模型

sudo pip install pyyamlcd ~/caffe/caffe-master./scripts/download_model_binary.py  models/bvlc_reference_caffenet/

2.使用如下指令获取ImageNet标签文件

./data/ilsvrc12/get_ilsvrc_aux.sh

五、编译并运行实例

1.使用如下指令添加环境变量

sudo vim ~/.bashrc

    在~/.bashrc最后一行如下内容,保存并退出(wq):

export TEGRA_ARMABI=aarch64-linux-gnuexport DISPLAY=:0export LD_LIBRARY_PATH=$HOME/caffe/caffe-master/build/lib:/usr/local/cuda/lib64

    然后使用指令如下:

source ~/.bashrc

2.编译Caffe目标识别实例

cd ~/tegra_multimedia_api/samples/11_camera_object_identificationmake -j4

3.使用如下指令运行实例

cd ~/tegra_multimedia_api/samples/11_camera_object_identification && ./camera_caffe -width 1920 -height 1080 \     -lib opencv_consumer_lib/libopencv_consumer.so \     -model $HOME/caffe/caffe-master/models/bvlc_reference_caffenet/deploy.prototxt \     -trained $HOME/caffe/caffe-master/models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel \     -mean $HOME/caffe/caffe-master/data/ilsvrc12/imagenet_mean.binaryproto \     -label $HOME/caffe/caffe-master/data/ilsvrc12/synset_words.txt

六、运行结果

    TX1运行结果如下图所示,可以看到:帧率为20,识别结果在FPS下方显示:概率 - 类别(PS:原谅我倒置的摄像头)

3 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 大学专业课挂科怎么办 专科重修没过怎么办 大学毕业证没领怎么办 大一数学挂科怎么办 大学体育课挂了怎么办 大一考试挂科怎么办 一年级孩子考试不及格怎么办 孩子一年级数学不及格怎么办 一年级孩子考试紧张怎么办 健身动作不标准怎么办 足球赛踢平了怎么办 踢球指甲淤血了怎么办 初中一年级成绩差怎么办 着火了怎么办小班教案 小孩爱玩游戏怎么办 幼儿上学哭闹老师怎么办 孩子不喜欢上幼儿园怎么办 幼儿喜欢脱鞋怎么办 幼儿在教室乱跑怎么办 转学学校不接收怎么办 留守儿童成绩差怎么办 感冒鼻孑堵咳嗽哮喘怎么办 二年级数学报怎么办 不敢翻前滚翻怎么办啊 大学全挂了怎么办 幼儿园热了怎么办教案 幼儿园小班热了怎么办教案 高考艺术生色弱怎么办 雾眉后出现白棱怎么办 lol皮肤重复了怎么办 怕篮球砸到怎么办 前滚翻向一侧偏怎么办 大腿肌肉比较发达怎么办 学计算机老了怎么办 新生儿头尖尖的怎么办 手抻筋了很疼怎么办 led灯盘上就坏了一颗灯怎么办 芯片灯坏了怎么办 太阳能板电压不够怎么办 激光电到眼睛怎么办 修脚店生意不好怎么办