资源简介
目标跟踪算法的代码实现,精度在vot2018排名第一,鲁棒性很强.
代码片段和文件信息
# -*- coding: utf-8 -*-
“““
Created on Wed Jun 27 11:42:36 2018
@author: ZK
“““
def x1y1x2y2_to_xywh(gtbox):
return list(map(round [(gtbox[0]+gtbox[2])/2. (gtbox[1]+gtbox[3])/2. gtbox[2]-gtbox[0] gtbox[3]-gtbox[1]]))
def xywh_to_x1y1x2y2(gtbox):
return list(map(round [gtbox[0]-gtbox[2]/2. gtbox[1]-gtbox[3]/2. gtbox[0]+gtbox[2]/2. gtbox[1]+gtbox[3]/2.]))
def x1y1wh_to_xywh(gtbox):
x1 y1 w h = gtbox
return [round(x1 + w/2.) round(y1 + h/2.) w h]
def x1y1wh_to_x1y1x2y2(gtbox):
x1 y1 w h = gtbox
return [x1 y1 x1+w y1+h]
#%%
import torch
from torch.nn import Module
from torch.nn import functional as F
#%%
class SmoothL1Loss(Module):
def __init__(self use_gpu):
super (SmoothL1Loss self).__init__()
self.use_gpu = use_gpu
return
def forward(self clabel target routput rlabel):
# rloss = F.smooth_l1_loss(routput rlabel)
rloss = F.smooth_l1_loss(routput rlabel size_average=False reduce=False)
e = torch.eq(clabel.float() target)
e = e.squeeze()
e0e1e2e3e4 = e[0].unsqueeze(0)e[1].unsqueeze(0)e[2].unsqueeze(0)e[3].unsqueeze(0)e[4].unsqueeze(0)
eq = torch.cat([e0e0e0e0e1e1e1e1e2e2e2e2e3e3e3e3e4e4e4e4] dim=0).float()
rloss = rloss.squeeze()
rloss = torch.mul(eq rloss)
rloss = torch.sum(rloss)
rloss = torch.div(rloss eq.nonzero().shape[0]+1e-4)
return rloss
#%%
class Myloss(Module):
def __init__(self):
super (Myloss self).__init__()
return
def forward(self coutput clabel target routput rlabel lmbda):
closs = F.cross_entropy(coutput clabel)
# rloss = F.smooth_l1_loss(routput rlabel)
rloss = F.smooth_l1_loss(routput rlabel size_average=False reduce=False)
e = torch.eq(clabel.float() target)
e = e.squeeze()
e0e1e2e3e4 = e[0].unsqueeze(0)e[1].unsqueeze(0)e[2].unsqueeze(0)e[3].unsqueeze(0)e[4].unsqueeze(0)
eq = torch.cat([e0e0e0e0e1e1e1e1e2e2e2e2e3e3e3e3e4e4e4e4] dim=0).float()
rloss = rloss.squeeze()
rloss = torch.mul(eq rloss)
rloss = torch.sum(rloss)
rloss = torch.div(rloss eq.nonzero().shape[0]+1e-4)
loss = torch.add(closs lmbda rloss)
return loss
#%%
import math
from PIL import ImageStat Image
from torchvision.transforms import functional as F2
#%%
def resize(img size interpolation=Image.BILINEAR):
assert img.size[0] == img.size[1]
return img.resize((size size) interpolation) img.size[0] / size
#%%
def point_center_crop(img gtbox area):
x y dw dh = gtbox
p = (dw + dh) / 2.
a = math.sqrt((dw + p) * (dh + p))
a *= area
i = round(x - a/2.)
j = round(y - a/2.)
mean = tup
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-08-29 01:13 Siamese-RPN-master\
文件 66 2018-08-29 01:13 Siamese-RPN-master\.gitattributes
文件 743 2018-08-29 01:13 Siamese-RPN-master\README.md
文件 2881 2018-08-29 01:13 Siamese-RPN-master\SRPN.py
文件 12530 2018-08-29 01:13 Siamese-RPN-master\axis.py
文件 7933 2018-08-29 01:13 Siamese-RPN-master\data_otb.py
文件 2360 2018-08-29 01:13 Siamese-RPN-master\download.py
文件 8828 2018-08-29 01:13 Siamese-RPN-master\test_otb.py
文件 10245 2018-08-29 01:13 Siamese-RPN-master\train.py
文件 2978 2018-08-29 01:13 Siamese-RPN-master\video2pic.py
相关资源
- 深度玻尔兹曼机
- 神经网络和深度学习—吴恩达 第三周
- 癫痫预测代码
- 深度学习 脑部图像分割
- 深度学习综述英文
- package control离线包
- 基于opencv + 多线程的目标跟踪
- 多机动目标跟踪的IMM_GMPHD滤波算法_严
- 基于tensorflow的猫狗图片的识别分类
- 吴恩达老师深度学习课程作业用到的
- word2vec 中的数学原理详解-电子版.do
- 利用百度人脸识别API和pyqt5实现基于人
- xlwt-1.0.0-py2.py3-none-any.whl
- 天眼查爬虫亲测可以用
- Human-level control through deep reinforcement
- 论文研究-基于时空上下文和自适应特
- ATM.zip 一个简单的ATM主要是熟悉对象的
- MCPF跟踪算法源码
- SendKeys-0.3_py27.exe
-
深度学习项目实战视频课程-st
yleT - requests 实现的 api 自动化测试框架
- Machine Learning Linear Regression-线性回归
- windows server 2008和ser2012 r2设置开关机脚
- 动漫知识图谱代码及关系文件
- FER2013数据集
- k-means训练
- 易班自动答题脚本全版
- 基于不敏卡尔曼滤波的目标跟踪算法
- 基于深度学习的医学图像分割技术:
- 深度学习:深度压缩感知-从ISTA到LI
评论
共有 条评论