Cascade

【dlib代码解读】人脸关键点检测器的训练

左心房为你撑大大i 提交于 2020-05-03 16:17:37
1. 源代码 先给出测试的结果,关键点并不是特别准,原因是训练样本数据量太少。 以下给出完整的人脸关键点检测器训练代码。详细的代码解读请看第二部分。 /* faceLandmarksTrain.cpp function:借助dlib训练自己的人脸关键点检测器(参考dlib/examples/train_shape_predictor_ex) date:2016/11/6 author:Elaine_Bao */ #include <dlib/image_processing.h> #include <dlib/data_io.h> #include <iostream> using namespace dlib; using namespace std; // ---------------------------------------------------------------------------------------- //获取两眼间距离,输出D[i][j]表示objects[i][j]中人脸的两眼间距离 std::vector<std::vector<double> > get_interocular_distances( const std::vector<std::vector<full_object_detection> >& objects ); // -

OpenCV&Qt学习之四——OpenCV 实现人脸检测与相关知识整理

情到浓时终转凉″ 提交于 2020-05-02 17:58:51
开发配置 OpenCV的例程中已经带有了人脸检测的例程,位置在:OpenCV\samples\facedetect.cpp文件,OpenCV的安装与这个例子的测试可以参考我之前的博文 Linux 下编译安装OpenCV 。 网上能够找到关于OpenCV人脸检测的例子也比较多,大多也都是基于这个例程来更改,只是多数使用的是OpenCV 1.0的版本,而OpenCV2.0以后由于模块结构的更改,很多人并没有将例程运行起来。如果是新版的OpenCV跑旧的例程,编译运行出错的话,需要确保: #include "opencv2/objdetect/objdetect.hpp" 头文件被引用,老的头文件包含可能会提示找不到定义 libopencv_objdetect243.dll.a 库需要加入链接 之前找了几个例程,不尽如人意,于是决定还是改自带的例程更靠谱,更多的信息,已经在程序中添加注释,参见程序吧。 pro文件的工程配置,具体路径按照安装路径更改,Linux下也一样。 人脸检测基础知识整理 下面整理下人脸检测的相关知识。 人脸检测从整体来看分为四个部分: 1、Face detection 人脸识别,即识别出这是人的脸,而不管他是谁的。 2、Face preprocessing 面部预处理,即提取出脸部图像。 3、Collect and learn faces 脸部的特征采集和学习 4

一看就懂的MySQL教程

眉间皱痕 提交于 2020-05-02 17:47:29
一看就懂的MySQL教程 一、安装 二、卸载 三、配置 1、MySQL服务启动 2、MySQL登录 3、MySQL 退出 四、SQL 1、什么是SQL 2、SQL通用语法 3、SQL分类 1)DDL 2)DML 3)DQL 4)DCL 五、DDL:操作数据库、表 1、操作数据库:CRUD 2、操作表 六、DQL:增删改表中的数据 1、添加数据 2、删除数据 3、修改数据 七、DQL:查询语句 1、语法: 2、基础查询 3、条件查询 4、排序查询 5、聚合函数 6、分组查询 7、分页查询 八、表的约束 1、概念 2、分类 1.主键约束:primary key 2.非空约束:not null 3.唯一约束: unique,值不能重复 4.外键约束:foreign key 九、多表操作 1、分类 十、三大范式 1、数据库设计的范式 概念 分类: 十一、数据库的备份和还原 十二、多表查询 1.查询语法 2.笛卡尔积 3.多表查询的分类 4.外连接查询 十三、子查询 1.概念: 2. 子查询不同情况 十四、事务 1.概念 2.操作 3.例子 4.MySQl数据库中事务默认自动提交 5.事务的四大特征 6.事务的隔离级别(了解) 十五、用户管理和权限管理 1.管理用户 2.权限管理 一、安装 直接网上下载,看着提示安装就行,要是看不懂英文,手机版的有道词典是个好东西,可以拍照翻译!!! 二

【Opencv综合应用】自制训练集的人脸识别4——利用训练的xml识别人脸

萝らか妹 提交于 2020-05-02 17:05:19
【Opencv综合应用】自制训练集的人脸识别4——利用训练的xml识别人脸 说明 一,主要步骤 二,全部代码 三,结果 说明 本文参考自 https://www.cnblogs.com/fpzs/p/10550450.html . 还是和之前一样,由于Opencv版本的不同,需要增加头文件#include <opencv2/imgproc/types_c.h>,修改detectMultiScale中第5个参数CV_HAAR_DO_ROUGH_SEARCH为CASCADE_SCALE_IMAGE,然后就没问题了。 有了之前三篇文章的基础 【Opencv综合应用】自制训练集的人脸识别3——用csv文件生成xml文件 . 【Opencv综合应用】自制训练集的人脸识别2——制作csv文件 . 【Opencv综合应用】自制训练集的人脸识别1——拍摄10张人脸图片 . 终于,到了这个项目的最后一步了,现在我们就可以用训练好的模型,把检测到的人脸与人脸模型里面的进行对比,找出这是谁的脸了。 一,主要步骤 使用的是opencv中的Haar特征分类器,Harr Cascades 识别对象为视频中的人脸 1.打开摄像头。 2.加载人脸检测器,加载人脸模型。 3.待识别图像预处理 resize cvtColor 等,人脸检测。 4.把检测到的人脸与人脸模型里面的进行对比,找出这是谁的脸。 5

Python Django框架笔记(五):模型

社会主义新天地 提交于 2020-05-01 19:28:57
#前言部分来自Django Book (一) 前言 大多数web应用本质上: 1、 每个页面都是将数据库的数据以HTML格式进行展现。 2、 向用户提供修改数据库数据的方法。(例如:注册、发表评论信息等) 把数据存取逻辑、业务逻辑和表现逻辑组合在一起的概念有时被称为软件架构的 Model-View-Controller(MVC)模式。 在这个模式中, Model 代表数据存取层,View 代表的是系统中选择显示什么和怎么显示的部分,Controller 指的是系统中根据用户输入并视需要访问模型,以决定使用哪个视图的那部分。 对于Django,可以理解为遵循MVC模式: M ,数据存取部分,由django数据库层处理,即模型。 V ,选择显示哪些数据要显示以及怎样显示的部分,由视图和模板处理。 C ,根据用户输入委派视图的部分,由 Django 框架根据 URLconf 设置,对给定 URL 调用适当的 Python 函数。 由于 C 由框架自行处理,而 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),Django 也被称为 MTV 框架 。在 MTV开发模式中: M 代表模型(Model),即数据存取层。 该层处理与数据相关的所有事务: 如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。 T 代表模板(Template)

Django

柔情痞子 提交于 2020-05-01 17:43:41
一、多表 sql 单表 多表 多对一 多对多 一对一 =============================================== 一对多: Book id title price publish_id 1 php 100 1 2 python 200 1 3 go 300 2 Publish id name email addr 1 人名出版社 @ 北京 2 沙河出版社 @ 沙河 一旦确定是 一对多 怎么建立一对多的关系?---》 关联字段 ,建在‘多’的表中 查询python这本书的出版社的邮箱 (子查询) select email from Publish where id = ( select publish_id from Book where title = 'python' ) =============================================== 多对多:(彼此一对多) Book id title price publish_id 1 php 100 1 2 python 200 1 3 go 300 2 Author id name age addr 1 alex 34 beijing 2 egon 29 nanjing Book2Author id book_id author_id 1 2 1 2 2 2 3 3 2

『计算机视觉』目标检测前沿及回顾(2018)

梦想的初衷 提交于 2020-05-01 06:00:46
资料来源: 人工智能前沿讲习 表格资料来源: hoya012的Github Detector VOC07 (mAP@IoU=0.5) VOC12 (mAP@IoU=0.5) COCO (mAP@IoU=0.5:0.95) Published In R-CNN 58.5 - - CVPR'14 SPP-Net 59.2 - - ECCV'14 MR-CNN 78.2 (07+12) 73.9 (07+12) - ICCV'15 Fast R-CNN 70.0 (07+12) 68.4 (07++12) 19.7 ICCV'15 Faster R-CNN 73.2 (07+12) 70.4 (07++12) 21.9 NIPS'15 YOLO v1 66.4 (07+12) 57.9 (07++12) - CVPR'16 G-CNN 66.8 66.4 (07+12) - CVPR'16 AZNet 70.4 - 22.3 CVPR'16 ION 80.1 77.9 33.1 CVPR'16 HyperNet 76.3 (07+12) 71.4 (07++12) - CVPR'16 OHEM 78.9 (07+12) 76.3 (07++12) 22.4 CVPR'16 MPN - - 33.2 BMVC'16 SSD 76.8 (07+12) 74.9 (07++12) 31.2

7系列FPGA的时钟资源——UG472

半腔热情 提交于 2020-04-30 01:45:12
时钟架构总览 7系的FPGA使用了专用的全局(Global)和区域(Regional)IO和时钟资源来管理设计中各种的时钟需求。Clock Management Tiles(CMT)提供了时钟合成(Clock frequency synthesis),倾斜矫正(deskew),过滤抖动(jitter filtering)功能。非时钟资源,例如本地布线,不建议使用在时钟设计中。 全局时钟树(Global clock tree)可以驱动device中的所有同步原件(synchronous elements) IO和区域时钟树(Regional clock tree)可以驱动最多三个垂直连接的时钟区域 每一个CMT包括了一个MMCM(Mixed-mode clock manager)和一个PLL(Phase-Locked Loop)。两者存在于的CMT柱(CMT Column)中,而CMT柱则在IO柱(IO Column)旁边。 为了满足不同的时钟使用需求,每一个7系的device都把时钟分成了区域(Regions) 根据不同的device大小,时钟区域从最少的4个到最大的24个 一个时钟区域包括了所有的同步元件(例如: CLB, IO, Serial Transceivers,DSP, Block RAM, CMT),也包括了50个CLBs和一个IO bank

OpenCV积分图函数:integral ()详解

隐身守侯 提交于 2020-04-29 10:09:04
/**************************************************************************************************/ // 函数名称:OnMenu020503() // 函数功能:“对角积分图”菜单。 // 函数参数: // 输入参数: 无 // 输出参数: 无 // 返 回 值:void // 创建作者:(QQ:370711753) // 修改日期:2017/11/08 16:25:58 /**************************************************************************************************/ void COpenCVDlg::OnMenu020503() { try // 错误处理 { Mat lv_MatImageIntegralSum = Mat(); Mat lv_MatImageIntegralSqSum = Mat(); Mat lv_MatImageIntegralTilted = Mat(); Mat lv_MatImageIntegralNorm = Mat(); // 计算积分图像 cv::integral(m_MatImageRead, lv_MatImageIntegralSum,

OpenCV-Python 级联分类器训练 | 六十三

北慕城南 提交于 2020-04-28 16:24:52
作者|OpenCV-Python Tutorials 编译|Vincent 来源|OpenCV-Python Tutorials 简介 使用弱分类器的增强级联包括两个主要阶段:训练阶段和检测阶段。 对象检测教程 中介绍了使用基于HAAR或LBP模型的检测阶段。本文档概述了训练自己的弱分类器的级联所需的功能。当前指南将逐步完成所有不同阶段:收集训练数据,准备训练数据并执行实际模型训练。 为了支持本教程,将使用几个官方的OpenCV应用程序:opencv_createsamples,opencv_annotation,opencv_traincascade和opencv_visualisation。 重要的事项 如果您遇到任何提及旧的opencv_haartraining工具( 不推荐使用,仍在使用OpenCV1.x界面 )的教程,请忽略该教程并坚持使用opencv_traincascade工具。此工具是较新的版本,根据OpenCV 2.x和OpenCV 3.x API用C ++编写。opencv_traincascade支持类似HAAR的小波特征[227]和LBP(局部二进制模式)[127]特征。与HAAR特征相比,LBP特征产生整数精度,产生浮点精度,因此LBP的训练和检测速度都比HAAR特征快几倍。关于LBP和HAAR的检测质量,主要取决于所使用的训练数据和选择的训练参数