Skip to content

Instantly share code, notes, and snippets.

View YimianDai's full-sized avatar
💭
I may be slow to respond.

Yimian Dai YimianDai

💭
I may be slow to respond.
View GitHub Profile
@YimianDai
YimianDai / FocalLoss.md
Last active August 7, 2019 23:36
FocalLoss

原理

  1. α:为了解决 Class Imbalance 问题而引入,对于样本数过多的那一类样本,α 应设得较低,这样就降低了该类样本对于 Loss 的重要性 (alpha 越大,就是对正类的损失惩罚越大,这样的话,文章中 alpha = 0.25,所以是正类惩罚少,负类惩罚多)
  2. γ:为了降低易分样本的权重,专注于训练难分负样本而引入,(1 - Pt)∈(0,1),当样本易分类时,(1 - Pt)很小,(1 - Pt)^γ 会变得更小,这样就减少了简单易分类样本的重要性,相对增加了那些误分类样本的重要性

代码

@YimianDai
YimianDai / SegmentationMetric.md
Last active August 5, 2019 04:09
SegmentationMetric

batch_pix_accuracy

def batch_pix_accuracy(output, target):
    """PixAcc"""
    # inputs are NDarray, output 4D, target 3D
    # the category -1 is ignored class, typically for background / boundary
    predict = np.argmax(output.asnumpy(), 1).astype('int64') + 1
@YimianDai
YimianDai / Python-VEnv.md
Created August 4, 2019 05:04
Notes on Python Virtual Env

Creating a virtual environment

python3 -m venv env

Activating a virtual environment

@YimianDai
YimianDai / MXNet-Error.md
Last active September 4, 2019 21:41
MXNet Error

记录一些不容易找到问题就在哪的报错。

DataLoader:

  1. Check 一下是不是 Dataset 除了 img 和 label 之外还返回了 img name,导致 DataLoader 不对

Parameter was not initialized on context gpu(0). It was only initialized on [cpu(0)].

@YimianDai
YimianDai / Count-Object-Scale.md
Created August 3, 2019 18:48
Count Object Scale
from data import IceSegmentation
from model import PhaseFourierTransform
import numpy as np
import scipy as sp
import matplotlib.pyplot as plt
import platform, os
from skimage import measure, color
from mxnet import nd
@YimianDai
YimianDai / Plot-Relative-Scale.md
Created August 3, 2019 18:19
Plot Dataset Relative Scale
from matplotlib import pyplot as plt
import numpy as np

hist_arr = np.load("hist_arr.npy")
hist_sum = np.sum(hist_arr)

hist_cum = np.cumsum(hist_arr) / hist_sum
x_axis = np.linspace(0, 1, 512)
@YimianDai
YimianDai / Zhuang2018FindTI.md
Last active August 2, 2019 23:39
Find Tiny Instance Segmentation

Tiny Object 的重要性:leave out tiny objects would lead to disaster

tiny-scale objects are hard to detect and segment

Baidu 的 Apollo dataset 是一个 Tiny Object 比例很高的数据集,about 60% of objects’ scale is less than 32 pixels。

拓展阅读

@YimianDai
YimianDai / Transposed-Convolution.md
Last active May 19, 2020 03:46
Transposed Convolution

卷积的矩阵运算形式

要了解转置卷积,先要了解 卷积 的矩阵运算形式,因为转置是矩阵转置的意思。通常我们对卷积的认识就是按照卷积的定义来的,输入信号和卷积核依次匹配过去。如果是 4x4 的输入,卷积 Kernel 为 3x3, 没有 Padding / Stride, 则输出为 2x2,如下图所示。

@YimianDai
YimianDai / Kampffmeyer2016SemanticSO.md
Last active August 9, 2023 23:36
2016-CVPRW-Semantic Segmentation of Small Objects and Modeling of Uncertainty in Urban Remote Sensing Images Using Deep Convolutional Neural Networks

遥感图像的 Semantic Segmentation 中有 small object 的问题,比如 car

Overall

用的是 ISPRS 2D Semantic Labeling Contest 中的数据,输入数据有 5 个通道,我想应该是 RGB+NIR+DSM。

Patch-based Pixel Classification

Data