yolov5检测结果输出

使用yolov5对视频流进行检测时,可以同时输出检测结果视频和没有检测的原始视频吗?就相当于一个输入,两个输出。

可以参考这样实现,给模型在套一层模型

class WarpModel(nn.Layer):
    def __init__(self,model):
        super(WarpModel, self).__init__()
        self.model = model
    @paddle.jit.to_static
    def forward(self, x):
        result= self.model(x)
        return x,result
model.eval()
warp_model=WarpModel(model)

如果你的输入是视频,输出是有检测的视频。那么中间过程,其实是先经过解码,图片传输到yolo网络进行推理,推理后,通过plot_box_xxx函数进行puttext与四个点围成的框,然后再将这张图片与后来的图片编码成一个视频。

所以,如果要输出两个视频,你可以找到类似make_video这样的函数,即原项目中它怎么编码的,我猜是用opencv,然后调用VideoWriter_fourcc进行合成视频。