python识别视频中某个物体的轨迹_用PyTorch做物体检测和追踪

本文为 AI 研习社编译的技术博客,原标题 :

Object detection and tracking in PyTorch

作者 | Chris Fotache

翻译 | 酱番梨、麦尔肯•诺埃、TripleZ

校对 | 酱番梨        整理 | 菠萝妹

原文链接:

https://towardsdatascience.com/object-detection-and-tracking-in-pytorch-b3cf1a696a98

注:本文的相关链接请点击文末【阅读原文】进行访问

在图像中检测多目标以及在视频中跟踪这些目标

在我之前的工作中,我尝试过用自己的图像在PyTorch中训练一个图像分类器,然后用它来进行图像识别。现在,我将向你们展示如何使用预训练的分类器在一张图像中检测多个目标,之后在整个视频中跟踪他们。

图像分类(识别)和目标检测之间有什么区别?在分类问题中,你识别出在图像中哪一个才是主要目标,然后将整张图片分类到一个单一类别中;在检测问题中,图像中有多个目标被识别、分类,而且目标的位置同样被确定下来(比如一个边界框)。

图像中目标检测

现有多种目标检测算法,其中YOLO,SSD是最受欢迎的方法,本文采用YOLOv3作为示例。本文不会对YOLO的技术细节进行分析,只是关注如何在自己的应用中实现。

直接上代码~YOLO检测的代码是基于Erik Lindernoren实现的Joseph Redmon and Ali Farhadi的文章。代码可以在Github中找到,下面为部分代码,在运行代码之前需要先在config文件夹中运行download_weights.sh脚本下载YOLO的权重文件,首先需要导入必要的模块:

from models import *

from utils import *

import os, sys, time, datetime, random

import torch

from torch.utils.data import DataLoader

from torchvision import datasets, transforms

from torch.autograd import Variable

import matplotlib.pyplot as plt

import matplotlib.patches as patches

from PIL import Image

之后下载预训练的配置和权重,Darknet训练所用的COCO数据集的类别名称。在PyTorch中,在加载之后不要忘记将model设置为eval模式。

config_path='config/yolov3.cfg'

weights_path='config/yolov3.weights'

class_path='config/coco.names'

img_size=416

conf_thres=0.8

nms_thres=0.4

# Load model and weights

model = Darknet(config_path, img_size=img_size)

model.load_weights(weights_path)

model.c

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值