11/18
14:30
IT

随机生成圆内均匀分布的点

引用 Generate a random point within a circle (uniformly)

一个很简单的方法是先随机生成正方形内的点,然后判断点是否在圆内,如果不是则重新生成一次重新判断. 不过这个解法不优雅.

随机生成圆内的点我们首先要考虑到圆是个非线性的图形,如果能转变成线性的图形,那么可能会简单些.
联系圆的面积推导也是如此,将圆分解成很多三角形,然后拼凑在一起,就成了近视矩形的线性形状.
因此我们再次考虑将圆分割成很多近似等腰三角形的扇形,接下来我们考虑如何在三角形内随机均匀地生成点就行了.
两个全等的等腰三角形拼接底边可以组成一个菱形(平行四边形),如果我们可以[......]

Read more

11/5
17:42
Life

助记 Confusion Matrix

Confusion Matrix一直是一个很容易混淆的概念,今天想出一个办法帮助记忆,希望以后都能记住.
首先我们拿false positive为例,false表示分类结果错误,positive表示分类结果为正类
所以原样本 = false positive = -positive = negative
所以false positive就要解释为,将negative样本错误地分类为positive的样本
其他的几个也类似:
true negative:正确地将负样本分类为负样本
false positive:错误地将负样本分类为正样本
true positive:正确地将正样本分类为正样本
f[......]

Read more

10/31
19:52
IT python

如何去除python执行时的黑色控制台窗口

在用python写用户界面的程序的时候,我们不希望控制台窗口的出现. 实际上python的用户文档里有说:

2.2.2. Executable Python Scripts
The Python installer automatically associates .py files with python.exe so that a double-click on a Python file will run it as a script. The extension can also be .pyw, in that case, the console window that[......]

Read more

10/23
18:20
IT

慎用sprintf

现在才知道为什么Visio Studio警告我不要用sprintf了,当放入sprintf的buffer不够长时,它是直接覆盖掉后面的内存,运行时可能不知道是什么错(如果后面的数据允许被修改不引起错误),程序会在结束时崩溃(Run-Time Check Failure #2 - Stack around the variable 'txt' was corrupted.). 所以这个函数很不安全,要用的时候尽量把缓存的大小设大一些,以避免这些很难发掘的错误.
以此为戒.

10/18
18:31
IT

JDA测试代码

#include <cstdio>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/opencv.hpp>
#include "jda/data.hpp"
#include "jda/common.hpp"
#include "jda/cascador.hpp"
#include "jda/cart.hpp"

us[......]

Read more

09/24
00:09
IT

wordpress去除百度统计

之前手贱加了百度统计,其实对我的小博客来说根本没什么用,倒是拖累了不少速度.
特别是加载latex的时候,那速度简直不能忍,get一个资源居然要我二十多秒,而且latex加载一半又特别丑,实在受不了.
所以就想删掉这玩意,可惜的是百度只负责自动导入源码,没教我怎么删,奈何我又不怎么会前端,搜了半天,终于悟出来(在我这有效,也不知道是不是完全正确):
找到wp-content/themes/clearision/footer.php(我的主题是clearision,这个因人而异),删除如下代码,因为代码中包含tongji,所以我猜应该八九不离十了 :mrgreen: .

<?php $[......]

Read more

09/23
10:15
Computer Vision IT

(未完成)解读 Joint Cascade Face Detection and Alignment 人脸检测算法

JDA简介

JDA(Joint Cascade Face Detection and Alignment)算法[1]应该算目前比较先进的人脸检测算法.它结合了cascadealignment,一方面做alignment对进一步的人脸识别意义重大,另一方面作者在section 2讲到了landmark附近的特征可促进分类器分辨出更准确的结果,最后,将这两者放在一起做不仅相互促进而且还相互节省了时间.

JDA训练算法流程

  1. 训练随机森林(这里用的是random classification/regression forest)
  2. 提取LBF特征
  3. 利用LBF做全局回归

训练随机森林[......]

Read more