AdaMatting学习笔记

Disentangled Image Matting

原文链接

Disentangled Image Matting. ICCV 2019: 8818-8827

摘要

  大多数以前的抠图方法需要一个粗略的trimap作为输入,然后给每个处于trimap未知区域的像素估计一个分数(fractional)alpha值。在本文中,我们证明了从一个粗略的trimap中直接估计alpha蒙板(alpha matte)是先前方法的主要弊端,因为这种做法试图同时解决两个本质上不同的问题:识别trimap区域内的真混合像素(blending pixels),并为它们估计出准确的alpha值。我们提出了AdaMatting,一个新的端到端抠图框架,它将这个问题分解为两个子任务:trimap自适应(adaption)和alpha估计。Trimap自适应是一个像素级分类问题,它通过识别明确的前景(foreground)、背景(background)和半透明(semi-transparent)图像区域来推断输入图像的全局结构。Alpha估计是一个回归问题,用于计算每个混合像素的不透明度。我们的方法在一个深度卷积神经网络(CNN)中分别处理这两个子任务。大量实验表明,AdaMatting具有额外的结构感知能力和trimap容错能力。我们的方法在Adobe Composition-1k数据集上实现了最先进的定性和定量性能。它也是目前alphamatting.com在线评估所有常用指标中表现最好的方法。

Read More

计算机系统结构

  计算机系统结构是由程序设计者所看到的一个计算机系统的属性,即概念性结构和功能性特性。

第1章 计算机系统结构的基本概念

概念

程序访问局部性:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇集。包括时间局部性和空间局部性。

透明性:在计算机技术中把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。

虚拟机与物理机:虚拟机是用软件实现的机器。物理机是相对于虚拟机而言的对实体计算机的称呼,物理机提供给虚拟机以硬件环境。

Amdahl定律:当对一个系统中的某个部件进行改进后,所获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。

  用$f_e$($f_e \leqslant 1$)表示系统可改进部分所占的比例,$r_e$($r_e > 1$)表示被改进部分性能提高的倍数,则Amdahl定律可以表示为

Read More

算法设计与分析-汇总

  算法还是要学的,不学算法感觉心里空落落的,好像自己不是计算机专业的一样。

1. 递归法

求解n皇后问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int Place(int k, int j)
// 测试位置(k, j)能否摆放皇后
{
int i;
for (i = 1; i < k; i++)
if ((q[i] == j) || (abs(q[i] - j) == abs(k - i))) // (同一列 || 同一对角线)
return 0;
return 1;
}

void Queen(int k, int n)
{
int j;
if (k > n)
dispasolution(n);
else
for (j = 1; j <= n; j++)
if (Place(k, j))
{
q[k] = j;
Queen(k + 1, n);
}
}

Read More

算法设计与分析-动态规划

  动态规划的设计都有着一定的模式,一般要经历以下几个步骤:

  划分阶段:按照问题的时间或空间特征,把问题分为若干个阶段。在划分阶段时,注意划分后的阶段一定要是有序的或者是可排序的,否则问题就无法求解。
  确定状态和状态变量:将问题发展到各个阶段时所处于的各种客观情况用不同的状态表示出来。当然,状态的选择要满足无后效性。
  确定决策并写出状态转移方程:因为决策和状态转移有着天然的联系,状态转移就是根据上一阶段的状态和决策来导出本阶段的状态。所以如果确定了决策,状态转移方程也就可写出。但事实上常常是反过来做,根据相邻两个阶段的状态之间的关系来确定决策方法和状态转移方程。
  寻找边界条件:给出的状态转移方程是一个递推式,需要一个递推的终止条件或边界条件。一般地,只要问题的阶段、状态和状态转移决策确定了,就可以写出状态转移方程(包括边界条件)。

  实际应用中可以按以下几个简化的步骤进行设计:

  (1) 分析最优解的性质,并刻画其结构特征。
  (2) 递归的定义最优解。
  (3) 以自底向上或自顶向下的记忆化方式计算出最优值。
  (4) 根据计算最优值时得到的信息,构造问题的最优解。

Read More

天气时钟

Python实现的天气时钟

  曾经看树莓派实在是可爱,一冲动就买了一个回来,还给它配了外壳和屏幕,然后就这么一直看着它,稀罕但又不知道该拿它来干什么。与其放着吃灰,不如让它发挥点作用,放在桌面上当个时钟吧,而且不仅要能看时间,还要能看天气才行。

在树莓派上的运行效果

Read More