Removing the Background by Adding the Background: Towards Background Robust Self-supervised Video Representation Learning

【知乎的一篇介绍,写的很详细】
【代码、论文】

  • 概述:
    CVPR2021的文章,也是自监督学习中pretext task的设计,其中的思考很值得咀嚼吸收。
    通篇提到的background,应该既有背景的意思,也有场景的意思
  • 上面的知乎链接介绍了文章的动机

【知乎原文】… 如果一个模型过多关注空间信息,则很容易产生误判 【比如只关注一帧图像】
Background是双刃剑,过多或者过少关注都不好~
目前常用的数据集中含有大量类别其动作语义和物体及场景强相关,比如通过是否看到吉他来判断是否为“弹吉他”动作,通过是否看到足球场地来判断是否为 "踢足球"动作,这种运动类别和静态物体以及静态场景强相关的现象称之为 Implicit Bias …

【下面是我的转述】
在上述的数据集训练 CNN 的时候,那些跟【场景/背景、物体】关联性很高的类别(踢足球、弹吉他)就有比较好的分类效果,比较新奇或者要依靠时序信息才能分辨的类别,就难整了;
针对这个问题,传统的双流法 (rgb + flow)有帮助,因为RGB流、Flow流本身就较好地利用了 spatial 和 temporal 信息,但现在主流方法更多的使用 end-to-end 的3D网络,网络很容易陷入到 implict bias 中。

一、神奇的想法:通过添加background来去掉background

小标题可能不好理解,但其实就是上面提到的“文章的动机”:Background是双刃剑,过多或者过少关注都不好,那我在视频数据中加一些图片背景多样而相似的视频(给图片背景加噪),网络的泛化性就会更好。
作者提到用GAN、VAE去生成背景相似的图片,我理解应该是当作/替换视频帧去训练,但太复杂了,转而想到我给背景加噪,别的帧也完全能当作噪声,比如当前视频帧的像素分布可以认为是IID的,那么+上某帧生成的视频就会有background perturbation,但motion规律基本不会变(对时间微分不会变)

BE:Background Erasing的公式就应运而生了,即第j帧图片加spatial background noise作为新生成的视频帧,自然有选择这个noise的方法,在知乎上有比较,最终用的是当前视频的某一帧
x d = ( 1 − λ ) ⋅ x ( j ) + λ ⋅ δ , j ∈ [ 1 , T ] x^d = (1-\lambda)\cdot x^{(j)} + \lambda \cdot \delta,\ \ \ j\in [1,T] xd=(1−λ)⋅x(j)+λ⋅δ,   j∈[1,T]

看完应该就能回答这几个问题:

  • 视频的背景在动作识别中有什么帮助?为什么要去掉视频的背景?
  • 怎么样去除掉视频的背景?
  • 为什么这样的想法叫 remove the background by adding the background
    我是理解成 remove the negative impact of background by adding the background noise

二、结合自监督学习、对比学习


1.网络的训练思路就是上图的拉近加噪、不加噪的视频特征之间的距离,这样确实会少些空间方面的信息,但预训练模型之后再到数据集微调,空间信息就能找回来一些

2.文章的思路融合到自监督学习、对比学习中,我理解则是:
(1)自监督学习的loss,既有判断是否对样本进行了上述add background的操作的交叉熵loss,也有1中说的特征之间的L2 loss
(2)结合对比学习,则是从视频样本中抽取了正样本、负样本(相似样本、不相似样本),相应的增大、减小特征的相似度,用的是InfoNCE loss,名字唬人,公式不复杂。然后抽取负样本,既能选择别的视频,也能从当前的视频中选择不同的clip。

三、实验、分析
论文在后面还有详尽的分析自己的网络到底学到了什么,这里不赘述了,但确实干货多

视频中的自监督学习:Removing the background忽略视频的背景,学习robust的特征相关推荐

  1. 怎么把视频中动态的人物P掉,把视频中不要的人物去掉

    怎么把视频中动态的人物P掉?很多小伙伴试过ps抠图,但是你试过视频人物抠图吗?其实道理是一样的,但是操作过程却变难了.今天就给大家带来一个简单的方法,轻松去除视频中的人物.不影响整个画面的呈现. 在拍 ...

  2. python从视频中提取音频信号_三行Python代码提取视频中的音频

    作者:小舟逝江海 http://suo.im/5yOtbx 写在开头 身处数据爆炸增长的时代,各种各样的数据都飞速增长,视频数据也不例外.我们可以使用 python 来提取视频中的音频,而这仅仅需要安 ...

  3. 如何从视频中提取音频?这几个提取视频中音频的软件推荐给你

    在数字化时代,我们可以通过视频学习.娱乐.交流等,但有时候我们需要视频中的音频,例如提取视频中的配乐.音效.台词等.下面将给大家解答如何从视频中提取音频,我们一起看下去吧! 推荐方法一:使用" ...

  4. html5穿插动图,视频中间插播广告 在视频中的任意位置添加广告图片,视频中穿插图片的方法...

    小编最近在看一个电视剧,这个电视剧只能用优酷的播放器进行播放,但优酷播放器真是让我很奔溃,看一集视频起码要插播三次广告,简直全程无感.幸好之前解决了优酷视频转换格式的问题,不然我真是要放弃优酷播放器了 ...

  5. python获取视频帧的时间_Python提取视频中图片的示例(按帧、按秒)

    一.按帧提取 #coding=utf-8 import os import cv2 def save_img(): #提取视频中图片 按照每帧提取 video_path = r'D:\\test\\' ...

  6. python做视频抽帧图_Python提取视频中图片的示例(按帧、按秒)

    一.按帧提取 #coding=utf-8 import os import cv2 def save_img(): #提取视频中图片 按照每帧提取 video_path = r'd:\\test\\' ...

  7. 【OpenCV人脸识别2】从视频中检测人脸

    分为两步: 从视频中识别人脸和人的眼睛 从视频中检测人脸.眼睛.鼻子.嘴巴 1.从视频中识别人脸和人的眼睛 关于视频的操作,主要如下: 定义摄像头->打开摄像头->读取视频帧->转而 ...

  8. 手机在线提取视频中的音频方法

    随着互联网的普及大家使用率越来越高,在观看视频的期间,如果遇到视频中喜欢的伴奏或者背景音乐,在这时候用户往往希望把这些音频提取出来成为一个独立的音频.下面这篇文章就给大家介绍一种快速容易操作的提取音频 ...

  9. 怎么把视频中的音频提取成mp3?

    怎么把视频中的音频提取成mp3?视频中一般会包含声音,有时候因为不同的使用场景,只需要使用中的声音而不需要里面的图像,这时候就需要提前将视频文件中的音频提取出来,得到一个mp3文件.如果小伙伴需要这样 ...

最新文章

  1. c3074 无法使用带圆括号的_助力带分类简介
  2. 前缀表达式后缀表达式_五分钟小知识之什么是后缀表达式
  3. 笔记-高项案例题-2016年下-计算题
  4. cf飞刀制作源码_(飞刀)KDJ+W%R发出分析家源码
  5. Java中三种Set的实现类的用法和区别
  6. LeetCode 09. 回文数
  7. sklearn 使用joblib保存模型,并解决cannot import name joblib from sklearn.externals报错
  8. 父子类之间,成员函数重写、重载以及重定义的区别
  9. 【高德地图API】从零开始学高德JS API(四)搜索服务——POI搜索|自动完成|输入提示|行政区域|交叉路口|自有数据检索...
  10. 如何购买云服务器及其配置
  11. Windows游戏开发感想一个完整的Windows窗口程序
  12. python 利用脚本命令压缩加密文件并删除源文件
  13. TIA博途S7-1200学习笔记——指令集
  14. 赛门铁克Symantec SSL证书产品及服务
  15. 2021-2027全球与中国R717制冷剂市场现状及未来发展趋势
  16. 移动网络打不开香港服务器网站,移动宽带打不开网站怎么办
  17. adc0804模数转换实验报告_ADC0804 模数转换51单片机程序+电路图
  18. 云时通 X 九毛九 | SRM系统助力连锁餐饮行业高效管理供应链
  19. 2022-1-15 计算机组成原理 —— 如何提升性能
  20. 基于Adobe LCDS产品的数据访问解决方案Part1

热门文章

  1. The APK file does not exist on disk
  2. Gradle配置之常见问题-Could not resolve com.android.tools.build:gradle
  3. 在这个浮躁的社会,我要做好自己
  4. WPF 控件样式之TextBox 输入框
  5. java messagedigest_Java 自带的加密类MessageDigest类(加密MD5和SHA)
  6. [转]DOTween教程☀️DOTween的使用教程
  7. Java小白入门200例65之Java sort()数组排序
  8. 简易人流量统计c语言编程,人流量统计系统设计.doc
  9. 性能优化还不会?吃掉这五个类别,摆平性能优化
  10. 用c++模拟直线插补和圆弧插补