0%

写在前面

Pytorch-Lightning这个库我“发现”过两次。第一次发现时,感觉它很重很难学,而且似乎自己也用不上。但是后面随着做的项目开始出现了一些稍微高阶的要求,我发现我总是不断地在相似工程代码上花费大量时间,Debug也是这些代码花的时间最多,而且渐渐产生了一个矛盾之处:如果想要更多更好的功能,如TensorBoard支持,Early Stop,LR Scheduler,分布式训练,快速测试等,代码就无可避免地变得越来越长,看起来也越来越乱,同时核心的训练逻辑也渐渐被这些工程代码盖过。那么有没有更好的解决方案,甚至能一键解决所有这些问题呢?

Read more »

数据来源

卫星类型

  1. Sentinel-2:提供混合分辨率的13 Bands MSI。分辨率有$10m \times 10m$,$20m \times 20m$,$60m \times 60m$,bands中心波长从442.3nm到2185.7nm。

    image-20201213154533413
    Read more »

前言:你喜欢的番剧更新了。是你喜欢的字幕组的高清资源。里面没有放肆的圣光和暗牧。尽管它也许没在国内放送。你可以在任何设备上观看它,并且可以无缝切换。电视,手机,iPad,电脑都没有问题。它很快。

这将是本篇介绍的全自动全平台订阅追番系统。

出于各种原因,有许多番剧在B站并找不到。即使开了大会员,从国外驾梯回国,还是无法看到一些喜欢的内容。但同时,各大动漫种子站却提供了几乎无所不包的资源,其中包括新番。但依靠种子追番最常见的问题就是难以track,经常会忘记更新,而且每次都需要经过一个搜索-下载种子-下载-整理-观看的过程,确实还是很劝退的。如何搭建一个易于配置、足够简单、全自动化抓取、下载、串流的追番系统,便成为了一个追番人的核心需求。

下面本文将会带领你认识整套流程,如果你足够经常折腾,大致一个小时之内就可以搭建完成。祝你好运:)

PS: 本文涉及的所有脚本都可以在该GitHub库上找到。

Read more »

TL;DR

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Add submodule
git submodule add

# Clone a project with submodules
git clone --recursive

# Update when submodeule remote repo changed
git submodule update --remote

# When cloned without recursive
git submodule init
git submodule update

# Push submodule change to its remote origin master
cd <submodule_name>
git add -A .
git commit -m "xxx"
git checkout <detached branch name/number>
git merge master
git push -u origin master
Read more »

构图法+出镜比例+人物动态=好的构图

常见单人构图

对称构图

主要包含:左右对称,对角线对称

相对比较中规中矩,但是同样的,限制会比较大,也需要更多细节上的不对称来中和构图上的对称。这些不对称元素往往来自于:人物动态、道具、背景元素。

image-20200912154217731
Read more »

日系画风与现实的区别

  • 真实的“三庭五眼”:
    • 三庭:d(发际线, 眉骨) = d(眉骨, 鼻底) = d(鼻底, 下巴)
    • 五眼:眼宽=眼间距=眼睛到面部轮廓的距离
  • 眼睛的长度相对真实比例更长的,并不符合三庭五眼中的五眼比例。而是眼睛宽度和眼间距大体相同且较长,而眼睛两边到脸部轮廓的距离更短。
Screenshot - 2020-06-12 22.46.34
Read more »

Cascade

相当于Progressive Optimization,每个阶段都会输出一个和最终结果形状相同的Matrix,如目标分布的图像、BBox等,然后下一个block的作用则是输入这个Matrix和前面提取的Features,输出Refined后的Matrix,该步骤不断重复。核心是逐步优化。

Read more »

IoU, AP, mAP, mAP@0.5, mAP@[0.5: 0.95], Average mAP

TL;DR

  1. IoU:两个框框重叠部分面积/两个框框合并后的总面积​
  2. AP:绘制Recall-Precision图,经过平滑后曲线的下面全面积。这个图的绘制方法是:按照每个预测结果的Confidence从上往下排列,先只取一个画出图上左上角第一个点,然后是只取前两个,直到取完。
  3. mAP:AP是针对某一个类的,而mAP是把各个类的AP做一个平均。
  4. mAP@0.5:当IoU阈值为0.5时的mAP。
  5. mAP@[0.5:0.95]:COCO要求IoU阈值在[0.5, 0.95]区间内每隔0.05取一次,这样就可以计算出10个类似于PASCAL的mAP,然后这10个还要再做平均。
Read more »

Resnet

如何应对不同尺寸输入

在网络最后添加一个AdaptiveAvgPool2d(output_size)函数,它的作用是无论输入图片形状如何,最终都会转换为给定输出尺寸。而Resnet中,这个output_size被设置为了(1,1),即无论输入的图片尺寸为多少,只要其大小足以扛得住网络前面的一系列pooling layers,到最后的输出尺寸大于等于(1,1),其每个Channel就会被这一层压缩成一个点,即最后只会得到一个与Channel数目相等的向量。这个向量被送到了FC层。

Read more »