最新文�? 原创 : MPLS技术原理+单域MPLS实验 原创 : ipv6技术+手动隧道实验(GRE,6over4)+自动隧道实验配置(6to4中继)+无状态自动配置实验 原创 : 跨域MPLS解决方案:OptionA+OptionB+OptionC 原创 : OSPF原理(特点、特殊区域、网络类型、报文类型、状态机、邻居关系和邻接关系、LSA类型) 原创 : OSPFv3与OSPFv2的异同点+多实例实验
特征工程 历史版本:
上次修改时间:
haar特征和级联分类器 历史版本:
上次修改时间: 2021-01-21 00:54:49
特征工程-机器学习前的入门课程 历史版本:
上次修改时间: 2021-01-21 00:54:49
opencv haarcascad的文件解析 历史版本:
上次修改时间: 2021-01-21 00:54:49
\n\n\n 20 20\n \n <_>\n \n \n <_>\n \n <_>\n \n \n \n <_>3 7 14 4 -1.\n <_>3 9 14 2 2.\n 0\n 4.0141958743333817e-003\n 0.0337941907346249\n 0.8378106951713562\n <_>\n \n <_>\n \n \n \n <_>1 2 18 4 -1.\n <_>7 2 6 4 3.\n 0\n 0.0151513395830989\n 0.1514132022857666\n 0.7488812208175659\n <_>\n \n <_>\n \n \n \n <_>1 7 15 9 -1.\n <_>1 10 15 3 3.\n 0\n 4.2109931819140911e-003\n 0.0900492817163467\n 0.6374819874763489\n 0.8226894140243530\n -1\n -1\n <_>\n...\n...\n...\n\n\n```\n让我看下opencv代码中对这些结构的解释\n```\nBoosted Haar classifier structures.\n#define CV_HAAR_FEATURE_MAX 3\n/* a haar feature consists of 2-3 rectangles with appropriate weights */\ntypedef struct CvHaarFeature\n{\nint tilted; /* 0 means up-right feature, 1 means 45--rotated feature */\n/* 2-3 rectangles with weights of opposite signs and\nwith absolute values inversely proportional to the areas of the\nrectangles. If rect[2].weight !=0, then\nthe feature consists of 3 rectangles, otherwise it consists of 2 */\nstruct\n{\nCvRect r;\nfloat weight;\n} rect[CV_HAAR_FEATURE_MAX];\n}\n/*\nCvHaarFeature;\nhaar特征包括一个tilted标志\ntilted = 0 是直立型特征 \ntilted =1 是45度特征 \n特征是2-3 个带权重的矩形,如果rect[2].weight != 0 则特征是3个矩形,否则是 2 个矩形\n*/\n\n/* a single tree classifier (stump in the simplest case) that returns the\nresponse for the feature at the particular image location (i.e. pixel\nsum over subrectangles of the window) and gives out a value depending\non the response */\ntypedef struct CvHaarClassifier\n{\nint count; /* number of nodes in the decision tree */\n/* these are \"parallel\" arrays. Every index exttt{i}\ncorresponds to a node of the decision tree (root has 0-th index).\nleft[i] - index of the left child (or negated index if the\nleft child is a leaf)\nright[i] - index of the right child (or negated index if the\nright child is a leaf)\nthreshold[i] - branch threshold. if feature responce is <= threshold,\nleft branch is chosen, otherwise right branch is chosen.\nalpha[i] - output value correponding to the leaf. */\nCvHaarFeature* haar_feature;\nfloat* threshold;\nint* left;\nint* right;\nfloat* alpha;\n}\nCvHaarClassifier;\n/*\n 代表判决树节点。
\n 包含一个tilted标志,tilted = 0 是直立型特征 ,tilted =1 是45度特征 。
\n 包含了决策树的某个节点,节点都包含feature用于决策树的判决条件。
\n的threshold用于决策树判决,当输入的feature response\n包含了rects,rects是2-3 个带权重的矩形,如果rect[2].weight != 0 则特征是3个矩形,否则是 2 个矩形,rects是一个5字节的数组,分别代表xpos,ypos,alpha。
\n*/\n```\n\n\n#### 如何使用这些训练好的特征结果进行判决?\n假设原始检测窗口大小是20x20,输入图片全部归一化为384x384。\n- 确认单个尺度,及尺度下对应的所有检测窗口位置\n如果尺度是16,那么缩放后的检测窗口大小为320x320,那么所有的检测窗口共有:
\n384-320 % 16 = 4; 4*4 = 16个(铺满整个图片)
\n- 计算特征响应\n这16个窗口的特征响应计算,整个特征响应就是这16个窗口的黑色区域减去白色区域的和。
\n\n- 接下来就要根据获得的特征响应来判断是不是被检测的对象,让我回顾之前的原理
\n在一幅图像中,大部分图像是非人脸区域。因此,最好有一个简单的方法来检查窗口是否不是一个面区域。如果不是,一次性丢弃,不要再处理。取而代之的是,把注意力集中在有脸的区域。这样,我们会花更多的时间检查可能的面部区域。
\n为此,算法作者引入了分类器级联的概念。不是在一个窗口上应用所有6000个特征,而是将这些特征分组到不同的分类器阶段(stage),并逐个应用。(通常,前几个阶段将包含非常少的功能)。如果窗口在第一阶段失败,则会直接判定不是被检测的对象。如果通过,则应用功能的第二阶段并继续该过程。
\n\n比较的过程是单纯的大小等于的关系,也就是说 sum_feature < threshod,那么这张图片不是人脸,如果sum_feature > threshold,那么这张图片就是人脸。
\n\n\n -->
文本特征 历史版本:
上次修改时间: 2021-02-13 13:47:30
独热编码 历史版本:
上次修改时间: 2021-01-21 00:54:49
计算机眼中的语言 历史版本:
上次修改时间: 2021-01-21 00:54:49
特征工程 历史版本:
上次修改时间: 2022-01-27 16:23:32
0条评�?
全部评论

关于博主

an actually real engineer

通信工程专业毕业,7年开发经验

技术栈:

精通c/c++

精通golang

熟悉常见的脚本,js,lua,python,php

熟悉电路基础,嵌入式,单片机

耕耘领域:

服务端开发

嵌入式开发

git

>

gin接口代码CURD生成工具

sql ddl to struct and markdown,将sql表自动化生成代码内对应的结构体和markdown表格格式,节省宝贵的时间。

输入ddl:
输出代码:

qt .ui文件转css文件

duilib xml 自动生成绑定控件代码

协议调试器

基于lua虚拟机的的协议调试器软件 支持的协议有:

串口

tcp客户端/服务端

udp 组播/udp节点

tcp websocket 客户端/服务端

软件界面

使用例子: 通过脚本来获得接收到的数据并写入文件和展示在界面上

下载地址和源码

duilib版本源码 qt qml版本源码 二进制包

webrtc easy demo

webrtc c++ native 库 demo 实现功能:

基于QT

webrtc摄像头/桌面捕获功能

opengl渲染/多播放窗格管理

janus meeting room

下载地址和源码

源码 二进制包

wifi,蓝牙 - 无线开关

实现功能:

通过wifi/蓝牙实现远程开关电器或者其他电子设备

电路原理图:

实物图:

深度学习验证工具

vtk+pcl 点云编辑工具

实现功能:

1. 点云文件加载显示(.pcd obj stl)

2. 点云重建

3. 点云三角化

4. 点云缩放

下载地址:

源码 二进制包

虚拟示波器

硬件实物图:

实现原理

基本性能

采集频率: 取决于外部adc模块和ebaz4205矿板的以太网接口速率,最高可以达到100M/8 约为12.5MPS

上位机实现功能: 采集,显示波形,存储wave文件。

参数可运行时配置

上位机:

显示缓冲区大小可调

刷新率可调节

触发显示刷新可调节

进程守护工具

基本功能:

1. 守护进程,被守护程序崩溃后自动重启。

2. 进程输出获取,显示在编辑框中。

二进制包

openblt 烧录工具

基本功能:

1. 加载openblt 文件,下载到具有openblt bootloader 运行的单片机中。

二进制包

opencv 功能验证工具(开源项目二次开发)

基本功能:

1. 插件化图像处理流程,支持自定义图像处理流程。 2. 完善的日志和权限管理

二进制包

又一个modbus调试工具

最近混迹物联网企业,发现目前缺少一个简易可用的modbus调试工具,本软件旨在为开发者提供一个简单modbus测试工具。
主打一个代码简单易修改。
特点:

1. 基于QT5

2. 基于libmodbus

3. 三方库完全跨平台,linux/windows。

二进制包

屏幕录制工具

1. 基于QT5

2. 基于ffmpeg

3. 支持自定义录屏

源代码

开源plutosdr 板卡

1. 完全开源

2. 提高固件定制服务

3. 硬件售价450 手焊产量有线

测试数据

内部DDS回环测试

接收测试

外部发送500MHZ FM波形

硬件原理图

matlab测试

2TRX版本

大部分plutosdr应用场景都是讲plutosdr板卡作为射频收发器来使用。
实际上plutosdr板卡本身运行linux 操作系统。是具有一定脱机运算的能力。 对于一些微型频谱检测,简单射频信号收发等应用完全可以将应用层直接实现在板卡上
相较于通过网卡或者USB口传输具有更稳定,带宽更高等优点。
本开源板卡由于了SD卡启动,较原版pluto支持了自定义启动应用的功能。
提供了应用层开发SDK(编译器,buildroot文件系统)。
通过usb连接电脑,经过RNDIS驱动可以近似为通过网卡连接
(支持固件的开发定制)。

二次开发例子

``` all:
arm-linux-gnueabihf-gcc -mfloat-abi=hard --sysroot=/root/v0.32_2trx/buildroot/output/staging -std=gnu99 -g -o pluto_stream ad9361-iiostream.c -lpthread -liio -lm -Wall -Wextra -lrt
clean:
rm pluto_stream

bsdiff算法补丁生成器

1. 官方bsdiff算法例子自带bzip压缩方式

2. 本例子没有压缩,直接生成补丁文件

3. 图形化界面基于DUILIB

二进制文件

版面分析即分析出图片内的具体文件元素,如文档标题,文档内容,文档页码等,本工具基于cnstd模型

Base64 Image

. 闽ICP备19002644号