【计算机视觉】seetaFace
class impl
class FaceDetection::Impl {
public:
Impl()
: detector_(new seeta::fd::FuStDetector()),
slide_wnd_step_x_(), slide_wnd_step_y_(),
min_face_size_(), max_face_size_(-),
cls_thresh_(3.85f) {}
~Impl() {}
inline bool IsLegalImage(const seeta::ImageData & image) {
return (image.num_channels == && image.width > && image.height > &&
image.data != nullptr);
}
public:
static const int32_t kWndSize = ;
int32_t min_face_size_;
int32_t max_face_size_;
int32_t slide_wnd_step_x_;
int32_t slide_wnd_step_y_;
float cls_thresh_;
std::vector<seeta::FaceInfo> pos_wnds_;
std::unique_ptr<seeta::fd::Detector> detector_;
seeta::fd::ImagePyramid img_pyramid_;
};
score
impl_->pos_wnds_ = impl_->detector_->Detect(&(impl_->img_pyramid_));
fust.cpp
std::vector<seeta::FaceInfo> FuStDetector::Detect(
seeta::fd::ImagePyramid* img_pyramid) {
score
for (int32_t i = ; i < hierarchy_size_[]; i++) {
if (model_[i]->Classify(&score)) {
wnd_info.score = static_cast<double>(score);
proposals[i].push_back(wnd_info);
}
}
2
if (model_[model_idx]->Classify(&score, mlp_predicts.data())) {
float x = static_cast<float>(bboxes[m].bbox.x);
float y = static_cast<float>(bboxes[m].bbox.y);
float w = static_cast<float>(bboxes[m].bbox.width);
float h = static_cast<float>(bboxes[m].bbox.height);
bboxes[bbox_idx].bbox.width =
static_cast<int32_t>((mlp_predicts[] * - ) * w + w + 0.5);
bboxes[bbox_idx].bbox.height = bboxes[bbox_idx].bbox.width;
bboxes[bbox_idx].bbox.x =
static_cast<int32_t>((mlp_predicts[] * - ) * w + x +
(w - bboxes[bbox_idx].bbox.width) * 0.5 + 0.5);
bboxes[bbox_idx].bbox.y =
static_cast<int32_t>((mlp_predicts[] * - ) * h + y +
(h - bboxes[bbox_idx].bbox.height) * 0.5 + 0.5);
bboxes[bbox_idx].score = score;
bbox_idx++;
}
【计算机视觉】seetaFace的更多相关文章
- 【计算机视觉】SeetaFace Engine开源C++人脸识别引擎
SeetaFace Engine是一个开源的C++人脸识别引擎,它可以在不依赖第三方的条件下载CPU上运行.他包含三个关键部分,即:SeetaFace Detection,SeetaFace Alig ...
- Atitit 图像处理和计算机视觉的分类 三部分 图像处理 图像分析 计算机视觉
Atitit 图像处理和计算机视觉的分类 三部分 图像处理 图像分析 计算机视觉 1.1. 按照当前流行的分类方法,可以分为以下三部分:三部分 图像处理 图像分析 计算机视觉1 1.2. 图像处理需要 ...
- Jetson ARM SeetaFace编译
SeetaFace简介 SeetaFace依赖于OpenCV,对于Tegra on Ubuntu,Nvidia提供libopencv4tegra并且可以使用Cuda加速. 准备工作 1.阅读OpenC ...
- 人脸识别引擎SeetaFace编译 ubuntu
00.SeetaFace简介 SeetaFace Engine is an open source C++ face recognition engine, which can run on CPU ...
- 计算机视觉中的词袋模型(Bow,Bag-of-words)
计算机视觉中的词袋模型(Bow,Bag-of-words) Bag-of-words 读 'xw20084898的专栏'的blogBag-of-words model in computer visi ...
- paper 118:计算机视觉、模式识别、机器学习常用牛人主页链接
牛人主页(主页有很多论文代码) Serge Belongie at UC San Diego Antonio Torralba at MIT Alexei Ffros at CMU Ce Liu at ...
- x01.Lab.OpenCV: 计算机视觉
横看成岭侧成峰,计算视觉大不同.观看的角度不同,成像自然不同,这对计算机视觉来说,是个大麻烦.但计算机视觉应用如此广泛,却又有不得不研究的理由.指纹机大家都用过吧,这不过是冰山之一角.产品检测,机器人 ...
- 介绍n款计算机视觉库/人脸识别开源库/软件
计算机视觉库 OpenCV OpenCV是Intel®开源计算机视觉库.它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法. OpenCV 拥有包括 300 多个 ...
- 计算机视觉(Computer Version,CV)、模式识别、人工智能
一.计算机视觉 Divid Marr将计算机视觉系统的开发问题归纳为3个要素: (1)数学理论 考虑数学计算层面的目标及可以引入的合理约束条件. (2)描述和算法 重点解决计算机视觉中的输入输出的数据 ...
随机推荐
- Lexicography
An anagram of a string is any string that can be formed using the same letters as the original. (We ...
- iOS架构设计系列之解耦的尝试之变异的MVVM
最近一段时间,在思考如何合理的架构一个可扩展性良好的界面编程方式.这一部分的成果做成了一个叫ElementKit的库.目前功能在不断的完善中. 关于iOS的架构,看多了MVVM,VIPER,MVC,M ...
- [LeetCode] 104. Maximum Depth of Binary Tree ☆(二叉树的最大深度)
描述 Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the l ...
- thinkphp5多语言
一.配置 1.'lang_switch_on' => true, 2.'lang_list' => ['zh-cn','en-us',] 二.语言定义() 1.新建文件/en-us.php ...
- Java Web(三) Servlet会话管理
会话跟踪 什么是会话? 可简单理解为,用户打开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭服务器,整个过程称为一个会话.从特定客户端到服务器的一系列请求称为会话.记录会话信息的技术称 ...
- windows 日常使用
打开任务管理器:shift+ctrl+esc 各种快捷打开的方式 regedit.msc 注册表 gpedit.msc 组策略 lusrmgr.msc本地用户和组 CMD命令窗口打开任务管理: tas ...
- Java:将数据库数据导出到Excel (一眼就看会)
所用Jar包 1. sqljdbc4.jar 连接数据库的Jar包(根据数据库的不同进行选择,我用的SqlServer2008) 2.Jxl.jar 访问Excel的Jar包 注意:支持以.xls结尾 ...
- ng-table
需要的文件: angular.js ng-table.js ng-table.css bootrasp.css 注入依赖: var app = angular.module('app', [ 'ngT ...
- 《Python》IO模型
一.IO模型介绍 为了更好地了解IO模型,我们需要事先回顾下: 同步:一件事情做完再做另一件事情 异步:同时做多件事情 阻塞:sleep.input.join.shutdown.get.acquire ...
- 源码学习:一个express().get方法的加载与调用
刚刚接触express,它的中间件确实把我搞得头晕.get的回调中要不要加next?不加载还会执行下一个中间件么?给get指定'/'路径是不是所有以'/'开头的访问在没有确切匹配时都能执行?use件又 ...