Solon's blog 
  • Home
  • Archives
  • Categories
  • Tags
  • About
  •     

Unsupervised Video Summarization with Adversarial LSTM

  本文提出一个由summarizer和discriminator组成的生成对抗框架。目的是选择视频的稀疏子集,使得视频和摘要的表示误差最小。   原始视频的特征是通过GAN和LSTM提取的,GAN以像素为基础提取特征,LSTM捕捉帧之间的长期依赖关系,得到深度特征向量。由于明确深度特征间的合适距离困难,所以由左边结构转换为右边的结构。 论文理论基础:Variational Autoencoder(VAE),GAN Model Overview  CNN输出的是视频帧的深度特征(deep features x),sLSTM(selector LSTM)在这些帧中选择一个子集,eLSTM(encoder LSTM)将选择的帧序列编码成向量 e 。sLSTM生成每一个帧的标准化重要性得分s,结合x,输入到eLSTM中。dLSTM(decoder LSTM)以e为输入,重构了输入视频的特征序列。鉴别器(discriminator)用来区分原始和摘要视频帧间的特征,用于估计两者之间的representation error。 &em
 2019-09-21   AI    视频摘要 

Deep Reinforcement Learning for Unsupervised V-S

Abstract  本文创新点:1、构建DSN网络;2、设计一个新的奖励函数(基于帧的多样性和代表性);3、设计一个端到端的、基于强化学习的框架来训练网络。 Introduction  DPP-LSTM效果较好,但是视频摘要的评价时,人类具有更多的主观性,所以非监督方法很有必要。  本文的DSN网络:encoder:CNN(在视频帧上进行特征提取);decoder:BiLSTM(产生概率分布来选择帧)。RL(增强学习):通过迭代方式训练agent。  主要贡献:将无监督方法扩展到监督版本,以利用标签;首次将RL应用到无监督视频摘要上。 Model OverviewDeep Summarization Network  采用encoder-decoder结构,CNN选用在ImageNet上预训练好的GoogLeNet,从它倒数第二层提取出视觉特征向量x_{t}。LSTM用来捕获视频帧之间的长时间依赖性。训练中只更新decoder。   将BiLSTM网络的正向和反
 2019-09-15   AI    视频摘要 

Video Summarization with LSTM

Abstract  这篇文章提出一个新奇的监督学习方法用来进行视频摘要,用来自动选择关键帧或者关键子热点。将这项任务看成一个结构预测问题(structured prediction problem),主要思路是用LSTM对帧的时间依赖性进行建模。 Introduction  视频摘要如今有两个重要的方法:关键帧选择(keyframe selection,选择一些具有代表性的帧来组成摘要);关键子热点选择(Key subshot selection,选择一系列在短时间类连续的帧组成摘要,即选择视频中具有代表性的每个时间点,将这些时间点的帧选择)。  非监督学习方法:通过直观标准选择帧  监督学习方法:通过视频帧的标注训练模型,使模型自动学习选择帧的标准。  模型输入是视频的帧序列,输出是一个二元数组(表示这些帧是否选择)。由此得到启发使用LSTM。视频帧内部的依赖性是复杂且不均匀的。  使用LSTM从时间上建立帧的联系,比从视觉上建立联系好(比如不同帧的相似性)。时间上
 2019-09-15   AI    视频摘要 

Hexo-Hueman Insight-Search配置

博客中的搜索功能一直无法使用,使用npm install -S hexo-generator-json-content安装插件后,仍然无法使用。 通过阅读hexo-generator-json-content的源码配置文件后得知,还需要对hexo的config文件做相应配置: jsonContent: meta: true dafts: false file: content.json keywords: undefined dateFormat: undefined pages: title: true slug: true date: true updated: true comments: true path: true link: true permalink: true excerpt: true keywords: false text: true raw: false content: false author: true posts
 2019-09-09   Hexo 

Python3 while-else、//

在LeetCode-自除数答案中学到的几个语法和技巧, While-else: 1、在Python中,else 可以和 while 循环搭配使用,当 while 循环正常执行完的情况下,执行 else 输出; 2、如果当 while 循环中执行了跳出循环的语句,比如 break,将不执行 else 代码块的内容。 //:向下取整 class Solution: def selfDividingNumbers(self, left: int, right: int) -> List[int]: ans = [] for num in range(left,right + 1): copy = num while copy > 0: div, copy = copy % 10, copy // 10 if div == 0 or num % div != 0: break else: ans.ap
 2019-09-08   学习笔记    Python 

Python3 Counter类、all()

Counter类(计数器) Counter类返回一个字典,统计每个元素出现次数,可以更新 import collections obj = collections.Counter(['11','22']) obj.update(['22','55']) print(obj) #输出:Counter({'22': 2, '11': 1, '55': 1}) all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。 class Solution: def countCharacters(self, words: List[str], chars: str) -> int: count=collections.Counter(chars) sumlen=0 for word in words: c=collectio
 2019-09-06   学习笔记    Python 

yield from简单理解

yieldyield简单理解可以看成return,但是函数执行yield后会返回值但是不会终止。 # yield返回值, 生成器 def gen(): for x in ["a", "b", "c"]: yield x for i in gen(): print(i) # a b c 在函数外部不能使用yield from(yield也不行)。 yield fromyield from用来调用生成器,可以用于递归函数中,或者调用的函数中包含yield语句 #中序遍历树 class Solution: def increasingBST(self, root): def inorder(node): if node: yield from inorder(node.left) yield node.val yield from inorder(node
 2019-09-05   学习笔记    Python 

LeetCode-下一个更大元素1

题目地址 数据结构:栈、哈希表 思路:遍历nums2,哈希表存储每个元素后第一个大于它的元素。栈为递减栈,当遇到比栈顶元素大的元素,依次弹出元素,存入哈希表。最后遍历nums1,hash[nums[i]]组成的列表即为所求。 如 nums1 = [4,1,2], nums2 = [1,3,4,2]. stack=[1] hash[1]=3 hash[3]=-1(第一次出现该元素,hash值为-1) stack=[3] hash[3]=4 hash[4]=-1 stack=[4] stack=[4,2] hash[2]=-1 class Solution(object): def nextGreaterElement(self, nums1, nums2): """ :type nums1: List[int] :type nums2: List[int] :rtype: List[int] """ stack=[]
 2019-09-04   LeetCode   
1…3456

搜索

Hexo Fluid
 总访问量 次   总访客数 人