【计算机视觉】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)描述和算法 重点解决计算机视觉中的输入输出的数据 ...
随机推荐
- zkw线段树模板题
学了zkw线段树,觉得没什么必要刷专题的吧(切不动啊).. 那先放一个模板题吧(我绝不会和你说搬了一道树状数组模板题的!!!) 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某一个数加 ...
- NOSQL -- Mongodb的简单操作与使用(wins)
NOSQL -- Mongodb的简单操作与使用(wins) 启动mongodb: 1.首先启动服务 dos命令下:net start Mongndb 也可以查询服务,手动开启服务: 完成后: 2.启 ...
- https 不会被中间人攻击——因为中间人即使拿到了数据,也是加密的
只要你登陆了一个使用 HTTPS 数据加密的网站,浏览的页面的内容如果被人中途看见,将会是一团乱码.它也能保证,你浏览的页面就是你想浏览的,不会被黑客在中途修改,网站收到的数据包也是你最初发的那个,不 ...
- Vue中 computed 和 methods的区别
涉及到计算部分的时候,计算属性是基于它们的依赖进行缓存的,如果说值不变,那么它就不会去重新执行,只有当值发生了改变,它才会去重新执行一次,其它时候它都是缓存的.而方法则会反复计算处理.二者之间的差距就 ...
- Mybatis排序无效问题解决
在 mybatis 的 xml中,为一个SQL语句配置order by 子句时,需要这个排序的字段是前端传递过来的,而且排序的顺序(升序 OR 降序)也是由前端传递过来的.对于这种需求,我起初写成了下 ...
- vs2015 编译时项目出现NuGet程序包还原失败,找不到xxx.xxx.xxx版本的程序包,怎么解决这个问题?
vs2015 编译时出现这个NuGet程序包还原失败问题,项目还是运行得了,就是每次看到错误列表中有很多个错误,就感觉不舒服. 总算被我找到解决方法了 问题截图:
- Ubuntu下环境变量的设置
远程登录时,不是ssh登陆: xrdp 可以修改并添加 /etc/xrdp/startwm.sh 代码: #!/bin/sh if [ -r /etc/default/locale ]; then ...
- 关于datetimepicker只显示年、月、日的设置
如下是只显示月的sample code: <link rel="stylesheet" href="css/datetimepicker/bootstrap-dat ...
- 学习笔记-AngularJs(四)
之前学习的事视图与模版,我们在控制器文件中直接定义一个数组,让其在模版文件中用ng-repeat指令构造一个迭代器,定义的数组http://t.cn/RUbL4rP如同以下: $scope.phone ...
- POJ 1006 生理周期(中国剩余定理)
POJ 1006 生理周期 分析:中国剩余定理(注意结果要大于d即可) 代码: #include<iostream> #include<cstdio> using namesp ...