暑假的最后几天我一直在为自己的科技立项项目找可行的目标检测算法。功夫不负有心人,我在众多算法当中一眼挑中了yolov3(≧∀≦)ゞ。
先简要叙述自己选中yolov3的原因吧:
yolov3是yolo系列算法的第三代,是一种基于深度神经网络的对象识别和定位算法。“快”是其最大的特点。因此可以用于实时的目标检测情景。
下面,我抛开算法实现的原理直接从环境配置切入(Ubuntu系统)。
1.首先,安装darknet框架。
git clone https://github.com/pjreddie/darknet
在终端执行上述命令,将darknet框架克隆到计算机。(你的计算机如果没有安装git,终端会提示。这时,只需输入终端提示的命令完成git安装即可)
2.设置darknet的配置,并编译。
在终端内进入darknet文件夹
cd darknet
进入darknet文件夹后你会看见文件夹内有文件名为“Makefile”的文件。我们要根据自身情况修改文件内容。
我们只需要修改前五行,比如:如果你的Ubuntu系统可以使用显卡并且你想用显卡训练模型则只需要将“GPU=0”改成“GPU=1”,其它选项依次配置即可。修改完成之后,你就可以在darknet下面执行命令“make”编译darknet文件即可。
到这里我们的yolo运行环境就搭建成功了。
3.下载预训练模型进行目标检测
wget https://pjreddie.com/media/files/yolov3.weights
在(darknet文件夹内)终端输入上述命令下载yolo的预训练模型(237MB)。
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
下载好模型后执行上述命令进行目标检测。如果检测成功则会出现下图情况。
现在环境配置完成。( ̄y▽ ̄)╭ Ohohoho.....