torchvision
包含众多流行数据集和图像处理方法
目标检测算法
常见的计算机视觉任务可以归纳为图像分类、目标检测、语义分割等。
在图片数据中找到指定的物体,并能够正确定位位置,这就是典型的目标检测任务。
边界框与锚框
边界框用来描述目标位置,是一个矩形框,由左上角坐标和右下角坐标来共同确定。
在运行目标检测算法时,通常会在图像中采样多个候选区域,不同的目标检测算法所使用的采样算法也不一样,而YOLO系列算法则通过定义锚框来提取,锚框是指以每一个像素为中心,生成多个大小和宽高比不同的边界框集合
交并比(Intersection of Union)
当有多个边界框覆盖了图像中的物体时,如果该物体的真实的边界框已知,那么需要有一个衡量预测边界框好坏的指标。在目标检测领域,我们使用交并比来衡量。
基于候选区域的目标检测算法(二阶段)
第一阶段:先产生所有可能的目标候选区
第二阶段:再对候选区做分类和回归
- R-CNN
- Fast R-CNN
- Faster R-CNN
单阶段目标检测
与二阶段不同,它仅仅使用一个卷积神经网络直接预测不同目标的类别与位置,不需要预先选取候选区域,因此,在效果上,基于区域的算法要比单阶段算法准确度高,但速度较慢;相反,单阶段算法比基于区域的算法速度快,但准确率要低。
方法实现
使用Flask-SocketIO作为服务端和客户端之间的通信框架,可以轻松实现服务端和客户端的双向通信。
Flask-SocketIO基础
服务端创建
初始化服务端:
from flask import Flask,render_template
from flask_socketio import SocketIO
app=Flask(__name__)
app.config[