玩转ubuntu18 --机器视觉方面(yolo v3算法识别)
1.YOLO的简介
工作原理
先前的检测系统重新调整分类器或本地化器以执行检测。他们将模型应用于多个位置和比例尺的图像。图像的高分区域被视为检测。
我们使用完全不同的方法。我们将单个神经网络应用于整个图像。该网络将图像划分为区域,并预测每个区域的边界框和概率。这些边界框按预测概率加权。
我们的模型比基于分类器的系统具有几个优势。它在测试时间查看整个图像,因此其预测由图像中的全球上下文提供信息。它还通过单一网络评估进行预测,这与R-CNN等系统不同,后者需要数千张图像。这使得它非常快,比R-CNN快1000倍以上,比快速R-CNN快100倍。有关完整系统的更多详细信息,请参阅我们的文件
这些是官方解释
处理识别信息图
2.Ubuntu18 安装yolo v3
sudo apt-get update
git clone https://github.com/pjreddie/darknet
cd darknet
建议大家搭梯子下载,要不然速度确实很慢
文章末尾有资源包
加入darknet文件之后,立刻寻找makefile文件
如果你们按照了opencv及cuda cudnn 这些,根据makefile的提示把0修改为1 即可
如果你们啥也没安装 那就保持不动
最后大家都是直接make -j4
等待几分钟即可
只要没看见error 说明就ok了。
之后下载权重文件(237MB)
wget https://pjreddie.com/media/files/yolov3.weights
3.测试yolo v3识别效果
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
./darknet detect cfg/yolov3.cfg yolov3.weights data/person.jpg
./darknet detect cfg/yolov3.cfg yolov3.weights data/horses.jpg
识别1
识别2
识别3
当然,如果大家想连连接摄像头 然后进行识别 最好装一下opencv
然后重新make clean
一下 再进入makefile文件里面 修改opencv的数值即可
然后继续make。
最后 敲这个指令
./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights
因为yolo是靠cpu进行计算的,如果大家没装cuda的话 可能速度较慢 稍微等待一下即可
4.解决一些问题
1.cmake版本问题
最有效方法————————-面向百度
wget https://cmake.org/files/v3.9/cmake-3.9.2.tar.gz
tar zxvf cmake-3.9.2.tar.gz
cd cmake-3.9.2
./configure
make
sudo make install
sudo vim /etc/profile
export PATH=$PATH:/lnmp/src/.....
- 摄像头问题
Ubuntu18 有一共摄像头软件 就是cheese
sudo apt-get install cheese
然后 直接 cheese 即可
如果 还是没有图像的话
点击虚拟机 然后点击可移动设备 连接即可
修改一下USB兼容性即可