jxt1234

# 模型

``````varying vec2 textureCoordinate;

uniform sampler2D inputImageTexture;
const vec3 CbC = vec3(0.5,-0.4187,-0.0813);
const vec3 CrC = vec3(-0.1687,-0.3313,0.5);

void main()
{
vec3 color = texture2D(inputImageTexture, textureCoordinate).rgb;
float x0 = color.r;
float x1 = color.g;
float x2 = color.b;
float x3 = dot(CbC, color);
float x4 = dot(CrC, color);
float pos = 0.0;
pos = float(x4 <=-0.0615369 ? (x3 <=0.0678488 ? (x3 <=0.0352417 ? 0 : (x2 <=0.686631 ? 0 : 1)) : (x3 <=0.185183 ? 1 : 0)) : (x4 <=-0.029597 ? (x3 <=0.0434402 ? 0 : (x1 <=0.168271 ? 0 : 1)) : 0));
gl_FragColor = vec4(pos);
}``````

# 训练方法

## 准备数据集

http://blog.csdn.net/wangkr111/article/details/44514097

## 训练

### 机器学习库

``````#include "learn/ALLearnFactory.h"
#include "core/ALExpanderFactory.h"
#include "core/ALILabeldMethod.h"
#include "core/ALLabeldMethodFactory.h"
#include "learn/ALDecisionTree.h"
#include "learn/ALLogicalRegress.h"
#include <fstream>
#include <iostream>
#include <sstream>
#include <math.h>
#include "learn/ALRegressor.h"
using namespace std;
int main()
{
ALSp<ALFloatMatrix> X;
ALSp<ALFloatMatrix> Y;
//ALSp<ALISuperviseLearner> learner = new ALLogicalRegress(10000, 1.0);
ALSp<ALISuperviseLearner> learner = new ALDecisionTree(10, 0.01, 3);//决策树深限制为3
//ALSp<ALISuperviseLearner> learner = new ALRegressor;
ALSp<ALIMatrixPredictor> detected = learner->vLearn(X.get(),Y.get());
ALSp<ALFloatMatrix> YP = ALFloatMatrix::create(Y->width(), Y->height());
detected->vPredict(X.get(), YP.get());
size_t po = 0;
size_t pp = 0;
size_t fo = 0;
size_t fp = 0;
/*验证正确率*/
for (size_t i=0; i<YP->height(); ++i)
{
if (yp > 0.5 && y > 0.5)
{
pp++;
}
if (yp <=0.5 && y <=0.5)
{
fp++;
}
if (y > 0.5)
{
po++;
}
else
{
fo++;
}
}
printf("PP/PO: %ld/%ld, %f, FP/FO: %ld/%ld, %f\n", pp, po, (double)pp/(double)po, fp, fo, (double)fp/(double)fo);
ofstream of("model_logical");
/*打印模型*/
detected->vPrint(of);

return 0;
}``````

### jxt1234

ittazp
2018/08/16
0
0

1引言 古人曰，女为悦己者容。在化妆技术日益成熟的今天，化妆的目的已经不仅于此，社会的文明程度越高，化妆就越显示出其必要性。化妆是人们为了适应实用，场合、环境、 礼仪和特定的情景需...

colorreco
2016/09/29
0
0

大数据文摘出品 　　作者：曹培信、宁静 　　一年一度的大学开学季，一年一度的军训季。 　　在六月中旬高考结束之后，万千学子迎来了他们人生中最长也是最无忧无虑的假期，到了八月...

09/23
0
0
[图]调查：黑人比白人更容易和自动驾驶汽车发生事故

03/07
0
0
Win8 Metro(C#)数字图像处理--2.35图像肤色检测算法

2018/03/13
0
0

java通过ServerSocket与Socket实现通信

Blueeeeeee
11分钟前
1
0

3
0

12
0

（手机横屏看源码更方便） 注：java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期，但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

13
0
jquery--DOM操作基础

6
0