yolov5进行佩戴口罩识别,并利用fastapi进行web端的部署
训练可以在
个人电脑(如果性能好的话)
,其它:GoogleColab
、 Openbayes 或者其它更多的GPU训练平台。
yolov5
有yolov5s.yaml
、yolov5m
、yolov5l
、yolov5x
等几个模型,这里我们采用最轻量级的5s
,所以修改5s
的配置文件。关于为什么改成2?因为我们的口罩数据集只有mask
和no-mask
两个分类。
- 训练:
!python train.py --data ../mask/data.yaml --cfg models/yolov5s.yaml --weights '' --batch-size 64
在
GoogleColab
上运行会报一个错,我们升级下相应模块就可以:
pip install -U pyyaml
- 模型测试:
$ python detect.py --weights 你的模型文件保存位置 --source 0 # webcam
file.jpg # image
file.mp4 # video
path/ # directory
path/*.jpg # glob
rtsp://170.93.143.139/rtplive/470011e600ef003a004ee33696235daa # rtsp stream
rtmp://192.168.1.105/live/test # rtmp stream
http://112.50.243.8/PLTV/88888888/224/3221225900/1.m3u8 # http stream
安装必要的包:
fastapi
aiofiles
uvicorn
python-multipart
部署的代码包括
yolov5/server.py
、yolov5/predict.py
、yolov5/inference
,部署代码一点要放在yolov5
文件夹下。修改部署代码的模型位置既可以。
python server.py
- 使用google colab训练YOLOv5模型:https://xugaoxiang.com/2020/11/01/google-colab-yolov5/
- yolov5:https://github.com/ultralytics/yolov5
- fastapi部署yolov5:https://github.com/Frank1126lin/deploy_yolov5_with_fastapi