From abe9ba35645680eb7a3d36f2a613f12ea7372966 Mon Sep 17 00:00:00 2001
From: wzj <244142824@qq.com>
Date: Fri, 25 Apr 2025 14:48:24 +0800
Subject: [PATCH] first commit
---
LICENSE | 11 +
README.md | 99 ++
asserts/QR.png | Bin 0 -> 125695 bytes
asserts/api_matrix.png | Bin 0 -> 380710 bytes
asserts/app_matrix.png | Bin 0 -> 491390 bytes
asserts/endpoints.png | Bin 0 -> 443810 bytes
asserts/fas.jpg | Bin 0 -> 20846 bytes
asserts/fr_mask.png | Bin 0 -> 181270 bytes
docs/人脸检测.md | 110 ++
docs/人脸识别.md | 190 +++
docs/人脸跟踪.md | 151 ++
docs/口罩检测.md | 70 +
docs/年龄估计.md | 125 ++
docs/性别估计.md | 128 ++
docs/特征点检测.md | 113 ++
docs/眼睛状态检测.md | 86 ++
docs/质量评估器.md | 356 +++++
docs/静默活体.md | 159 ++
example/qt/README.md | 66 +
example/qt/seetaface_demo/default.png | Bin 0 -> 19610 bytes
example/qt/seetaface_demo/face_resource.qrc | 7 +
.../inputfilesprocessdialog.cpp | 101 ++
.../seetaface_demo/inputfilesprocessdialog.h | 48 +
example/qt/seetaface_demo/main.cpp | 22 +
example/qt/seetaface_demo/mainwindow.cpp | 1310 +++++++++++++++++
example/qt/seetaface_demo/mainwindow.h | 134 ++
example/qt/seetaface_demo/mainwindow.ui | 774 ++++++++++
.../resetmodelprocessdialog.cpp | 109 ++
.../seetaface_demo/resetmodelprocessdialog.h | 50 +
example/qt/seetaface_demo/seetaface_demo.pro | 71 +
.../qt/seetaface_demo/seetaface_demo.pro.user | 336 +++++
example/qt/seetaface_demo/seetatech_logo.png | Bin 0 -> 67898 bytes
.../qt/seetaface_demo/videocapturethread.cpp | 1058 +++++++++++++
.../qt/seetaface_demo/videocapturethread.h | 222 +++
example/qt/seetaface_demo/white.png | Bin 0 -> 632 bytes
35 files changed, 5906 insertions(+)
create mode 100644 LICENSE
create mode 100644 README.md
create mode 100644 asserts/QR.png
create mode 100644 asserts/api_matrix.png
create mode 100644 asserts/app_matrix.png
create mode 100644 asserts/endpoints.png
create mode 100644 asserts/fas.jpg
create mode 100644 asserts/fr_mask.png
create mode 100644 docs/人脸检测.md
create mode 100644 docs/人脸识别.md
create mode 100644 docs/人脸跟踪.md
create mode 100644 docs/口罩检测.md
create mode 100644 docs/年龄估计.md
create mode 100644 docs/性别估计.md
create mode 100644 docs/特征点检测.md
create mode 100644 docs/眼睛状态检测.md
create mode 100644 docs/质量评估器.md
create mode 100644 docs/静默活体.md
create mode 100644 example/qt/README.md
create mode 100644 example/qt/seetaface_demo/default.png
create mode 100644 example/qt/seetaface_demo/face_resource.qrc
create mode 100644 example/qt/seetaface_demo/inputfilesprocessdialog.cpp
create mode 100644 example/qt/seetaface_demo/inputfilesprocessdialog.h
create mode 100644 example/qt/seetaface_demo/main.cpp
create mode 100644 example/qt/seetaface_demo/mainwindow.cpp
create mode 100644 example/qt/seetaface_demo/mainwindow.h
create mode 100644 example/qt/seetaface_demo/mainwindow.ui
create mode 100644 example/qt/seetaface_demo/resetmodelprocessdialog.cpp
create mode 100644 example/qt/seetaface_demo/resetmodelprocessdialog.h
create mode 100644 example/qt/seetaface_demo/seetaface_demo.pro
create mode 100644 example/qt/seetaface_demo/seetaface_demo.pro.user
create mode 100644 example/qt/seetaface_demo/seetatech_logo.png
create mode 100644 example/qt/seetaface_demo/videocapturethread.cpp
create mode 100644 example/qt/seetaface_demo/videocapturethread.h
create mode 100644 example/qt/seetaface_demo/white.png
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..892a565
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,11 @@
+Copyright (c) 2019, SeetaTech,
+Institute of Computing Technology, Chinese Academy of Sciences, Beijing, China
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..dc02aae
--- /dev/null
+++ b/README.md
@@ -0,0 +1,99 @@
+# SeetaFace6
+
+[](LICENSE)
+
+[[中文]()] [English]
+
+# 源码发布
+该项目源码已经发布到 [SeetaFace6Open](https://github.com/SeetaFace6Open/index).
+
+# 开放模块
+
+`SeetaFace6`是中科视拓最新开放的商业正式级版本。突破了之前社区版和企业版版本不同步发布的情况,这次发布的v6版本正式与商用版本同步。
+
+
+

+
+
+此次开放版包含了一直以来人脸识别的基本部分,如人脸检测、关键点定位、人脸识别。同时增加了活体检测、质量评估、年龄性别估计。并且响应时事,开放了口罩检测以及戴口罩的人脸识别模型。
+
+
+

+
+
+
+对比于SeetaFace2,我们开放版采用了商用版最新的推理引擎TenniS,ResNet50的推理速度,从SeetaFace2在I7的8FPS提升到了20FPS。同时人脸识别训练集也大幅度提高,SeetaFace6人脸识别数据量增加到了上亿张图片。
+
+为了应对不同级别的应用需求,SeetaFace6将开放三个版本模型:
+
+模型名称 | 网络结构 | 速度(I7-6700) | 速度(RK3399) | 特征长度
+-|-|-|-|-
+通用人脸识别 | ResNet-50 | 57ms | 300ms | 1024
+带口罩人脸识别 | ResNet-50 | 34ms | 150ms | 512
+通用人脸识别(小) | Mobile FaceNet | 9ms | 70ms | 512
+
+作为能力兼容升级,SeetaFace6仍然能够给众多人脸识别应用提供业务能力。
+
+
+

+
+
+同时该套算法适用于高精度的服务器部署外,也可以终端设备上很好的适应运行。
+
+
+

+
+
+此次开放版将开放标准C++开发接口的,包含x86和ARM架构支持,逐步开放Ubuntu、CentOS、macOS、Android、IOS的支持。同时仍然保持了SeetaFace优良传统,不依赖任何第三方库。
+
+
+

+
+
+# 下载地址
+
+### 百度网盘
+
+开发包:
+Windows: [Download](https://pan.baidu.com/s/1_rFID6k6Istmu8QJkHpbFw) code: `iqjk`. Patch: 1. x86 pentium support [Download](https://pan.baidu.com/s/1RsXdg2h4Yq-bILdyVSTXDA) code: `0vn3`.
+Ubuntu1604: [Download](https://pan.baidu.com/s/1tOq12SdpUtuybe48cMuwag) code: `lc44`
+CentOS7: [Download](https://pan.baidu.com/s/1-U02a--Xjt-Jvi2QWI-9vQ) code: `1i62`
+Android: [Download](https://pan.baidu.com/s/1nGm5VB2D8OZOlZgcABGA7g) code: `7m2h`
+macOS: [Comming soon]
+IOS: [Download](https://pan.baidu.com/s/1-jKlCpVHoml9TmXq77SXxg) code: `t14x`, [Example](https://pan.baidu.com/s/159EVG8eqX2hPDeu1IrQaqg) code: `dund`.
+ARM-Ubuntu1604(RK3399): [Download](https://pan.baidu.com/s/16fMkI5K02k0TEAOGvIsPuw) code: `wi4q`.
+
+
+模型文件:
+Part I: [Download](https://pan.baidu.com/s/1LlXe2-YsUxQMe-MLzhQ2Aw) code: `ngne`, including: `age_predictor.csta`, `face_landmarker_pts5.csta`, `fas_first.csta`, `pose_estimation.csta`, `eye_state.csta`, `face_landmarker_pts68.csta`, `fas_second.csta`, `quality_lbn.csta`, `face_detector.csta`, `face_recognizer.csta`, `gender_predictor.csta`, `face_landmarker_mask_pts5.csta`, `face_recognizer_mask.csta`, `mask_detector.csta`.
+Part II: [Download](https://pan.baidu.com/s/1xjciq-lkzEBOZsTfVYAT9g) code: `t6j0`,including: `face_recognizer_light.csta`.
+
+### DropBox
+
+[Comming soon]
+
+# 使用入门
+
+关于基本的接口使用,请参见教程:
+[《SeetaFace 入门教程》](http://leanote.com/blog/post/5e7d6cecab64412ae60016ef),github上有同步[文档源码](https://github.com/seetafaceengine/SeetaFaceTutorial)。
+
+人脸识别的完整示例Demo见 [example/qt](./example/qt)。
+
+在每个压缩包的文档中都包含了对应平台上的调用示例,请解压对应平台压缩包后分别获取。
+
+关于版本号的额外说明,该开放版本立项的时候,就是作为社区版v3发布,而执行过程中调整至发布版本为商用版本v6。这个版本不统一是因为商用版迭代的版本管理和社区版不统一造成的。现在统一版本为v6。但是项目过程中还是存在`SeetaFace3`的表述,大家不同担心,v6和v3其实就是一个版本。
+
+# 接口文档
+
+各模块接口参见 [docs](./docs)
+
+# 开发者社区
+
+欢迎开发者加入 SeetaFace 开发者社区,请先加 SeetaFace 小助手微信,经过审核后邀请入群。
+
+
+
+# 联系我们
+
+`SeetaFace` 开放版可以免费用于商业和个人用途。如果需要更多的商业支持,请联系商务邮件 bd@seetatech.com。
+
diff --git a/asserts/QR.png b/asserts/QR.png
new file mode 100644
index 0000000000000000000000000000000000000000..501331129dd91c0de7c57c9924ac8422c864e5fb
GIT binary patch
literal 125695
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≪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