Windows 10编译SeetaFace6

news2024/11/17 17:39:46

Seeface 6 是中科视拓开源的人脸识别方案。

该项目使用C++开发,在不同的系统中需要编译成对应的系统的动态链接库。

该项目在Windows 10 下使用VS2022编译成功

所需要的前提条件:

cmake 下载地址 Download | CMake

将cmake的bin目录放到环境变量中 D:\soft\cmake\bin

VS2022 使用社区版即可

VS2022还需要安装 V143的C++生成工具,如图。

本次编译使用MSbuild进行编译的,需要把MSbuild加入到环境变量中

D:\soft\vs2022\MSBuild\Current\Bin\amd64

原项目位于Github,我用Gitee做了镜像

九城/seetaface6

镜像仓库的build/bin文件夹下,有已经编译好的dll文件,可以直接使用。

相比原版仓库,修改了一些地方的BUG,以保证顺利编译。

修改了每个子项目的craft/build.win.vc14.x64.cmd

使用jom命令的部分修改为msbuild编译

另外按照官方的说法,需要先编译三个文件OpenRoleZoo, SeetaAuthorize 和 TenniS

由于文件众多,每个文件都需要单独编译

特此提供了一个批量编译的bat文件(放在项目根目录,运行即可。)

@echo off

set "modules=OpenRoleZoo SeetaAuthorize TenniS FaceBoxes FaceRecognizer6 FaceTracker6 Landmarker PoseEstimator6 QualityAssessor3 SeetaAgePredictor SeetaEyeStateDetector SeetaGenderPredictor SeetaMaskDetector FaceAntiSpoofingX6"

for %%d in (%modules%) do (
    pushd %%d\craft
    call build.win.vc14.x64.cmd
    popd
)

最终编译出来的文件如下

官方还放出了GPU版本的推理框架

主要是TenniS文件

所需工具

CUDA   CUDA Toolkit 12.2 Update 1 Downloads | NVIDIA Developer

CUDA的组件需要全量安装

GPU编译和CPU编译一样,需要修改build.win.vc14.x64_gpu.cmd的内容

直接复制粘贴即可

@echo off

set "BUILD_DIR=build.win.vc14.x64_gpu"
set "BUILD_TYPE=Release"
set "PLATFORM=x64"
set "PLATFORM_TARGET=x64"

set "ORZ_HOME=D:\desktop\project\CPP\seetaface6\build\bin\x64"

set "INSTALL_DIR=%~dp0/../../build"

call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" %PLATFORM%

cd %~dp0

md "%BUILD_DIR%"

cd "%BUILD_DIR%"

md "%INSTALL_DIR%"

cmake "%~dp0.." ^
-DCMAKE_BUILD_TYPE="%BUILD_TYPE%" ^
-DCONFIGURATION="%BUILD_TYPE%" ^
-DPLATFORM="%PLATFORM_TARGET%" ^
-DORZ_ROOT_DIR="%ORZ_HOME%" ^
-DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%" ^
-DTS_USE_CUDA=ON ^
-DTS_USE_CUBLAS=ON ^
-DTS_USE_OPENMP=ON ^
-DTS_USE_SIMD=ON ^
-DTS_ON_HASWELL=ON


msbuild.exe /m:8 ALL_BUILD.vcxproj
msbuild.exe /m:8 INSTALL.vcxproj

exit /b

GPU编译通常需要等待一段时间

原文地址:Windows 10编译SeetaFace6 – 九城

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/906182.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

循环神经网络RNN完全解析:从基础理论到PyTorch实战

目录 一、循环神经网络全解1.1 什么是循环神经网络网络结构工作原理数学模型RNN的优缺点总结 1.2 循环神经网络的工作原理RNN的时间展开数学表述信息流动实现示例梯度问题:梯度消失和爆炸总结 1.3 循环神经网络的应用场景文本分析与生成1.3.1 自然语言处理1.3.2 机器…

大数据:NumPy进阶应用详解

专栏介绍 结合自身经验和内部资料总结的Python教程,每天3-5章,最短1个月就能全方位的完成Python的学习并进行实战开发,学完了定能成为大佬!加油吧!卷起来! 全部文章请访问专栏:《Python全栈教…

SAP ABAPG开发屏幕自动生成日期的搜索帮助

代码如下: REPORT z_jason_test_f4 . TABLES: s031. PARAMETER p_spmon TYPE spmon DEFAULT sy-datum0(6) OBLIGATORY. SELECT-OPTIONS s_spmon FOR s031-spmon DEFAULT sy-datum0(6) OBLIGATORY. AT SELECTION-SCREEN ON VALUE-REQUEST…

SDK 自动化测试方案

测试背景 SDK 具有上百个接口,测试场景、测试用例繁多,对于修改某个模块的代码或 SDK 上线前均需要投入大量资源(人力、时间)进行回归验证。目前 QA 资源有限,希望通过梳理 SDK 的功能,尝试使用自动化测试…

【论文阅读】CONAN:一种实用的、高精度、高效的APT实时检测系统(TDSC-2020)

CONAN:A Practical Real-Time APT Detection System With High Accuracy and Efficiency TDSC-2020 浙江大学 Xiong C, Zhu T, Dong W, et al. CONAN: A practical real-time APT detection system with high accuracy and efficiency[J]. IEEE Transactions on Dep…

点破ResNet残差网络的精髓

卷积神经网络在实际训练过程中,不可避免会遇到一个问题:随着网络层数的增加,模型会发生退化。    换句话说,并不是网络层数越多越好,为什么会这样? 不是说网络越深,提取的特征越多&#xff…

登陆接口的的Filter过滤

目录 一、概述 二、基本操作 三、登陆检查接口 一、概述 什么是Filter? Filter表示过滤器,是 JavaWeb三大组件(Servlet、Filter、Listener)之一。 过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能 使用了过滤器之后&#xff0…

基于Java+SpringBoot的房源出租信息管理系统【源码+论文+演示视频+包运行成功】

博主介绍:✌csdn特邀作者、博客专家、java领域优质创作者、博客之星,擅长Java、微信小程序、Python、Android等技术,专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推…

微信删除的聊天记录怎么恢复?满满干货,建议收藏!

微信的出现逐渐改变了我们的社交方式,它架起了我们与朋友、家人以及同事之间的沟通桥梁,成为我们生活中不可缺失的一部分。 但是总会有那么点意外会发生,比如自己和朋友吵架了,一怒之下将朋友删除,导致所有聊天记录都…

2分钟搭建自己的GPT网站

如果觉得官方免费的gpt(3.5)体验比较差,总是断开,或者不会fanqiang,那你可以自己搭建一个。但前提是你得有gpt apikey。年初注册的还有18美金的额度,4.1号后注册的就没有额度了。不过也可以自己充值。 有了…

ubuntu18.04安装远程控制软件ToDest方法,针对官网指令报错情况

有时我们在家办公,需要控制实验室的笔记本,因此好用的远程控制软件会让我们的工作事半功倍! 常用的远程控制软件有ToDesk,向日葵,以及TeamViewer,但是为感觉ToDesk更流畅一些,所以这里介绍一下…

C++新经典07--auto、头文件防卫、引用与常量

auto的使用 严格来讲,在C语言中,如果某个函数中需要用到一些局部变量,那么局部变量都会集中定义在函数开头,而在C中不必遵循这样的规则,随时用随时定义即可。当然,作用域一般就是从定义的地方开始到该函数…

人工智能引领图文扫描新趋势

1. 背景和影响 近日,中国大学生服务外包创新创业大赛决赛在江南大学圆满落幕。为满足现代服务产业企业的现实需求,本次竞赛内容设计充分聚焦企业发展中所面临的技术、管理等现实问题,与产业的结合度更紧密,智能文字识别技术是大赛…

6款必备的办公软件,个个好用到爆,让你电脑成为真正利器

在现代办公环境中,电脑已经成为我们必不可少的工作工具。而要发挥电脑的最大作用,就需要借助一些优秀的办公软件。下面,就来介绍五款必备的办公软件,它们个个好用到爆,让你的电脑成为真正的利器! 文件快速搜…

性能优越的静电监控系统是怎样的?

随着社会的发展,各种监控系统应运而生。静电监控系统是其中之一。它具有优异的性能和稳定性,能够有效地检测和发现静电。 1:静电监控系统的优势 静电监控系统是一种先进的自动化控制系统,它能够有效地检测和控制企业运营中的各种…

【Java从0到1学习】10 Java常用类汇总

1. System类 System类对读者来说并不陌生,因为在之前所学知识中,需要打印结果时,使用的都是“System.out.println();”语句,这句代码中就使用了System类。System类定义了一些与系统相关的属性和方法,它所提供的属性和…

条码通讯配置

由Leuze(劳易测) LSIS 222 M5M-R1/MA208i系统组成 连接说明及器件明细: 打开条码调试软件BPS Configuration tool对M208i进行ip 和端口号进行配置,条码选择作为客户端,输入ip和端口号,选择串口通讯波特…

基于java校园二手交易平台-lw-源码

二手交易平台论文 源码 文章目录 前言一、主要技术javaMysql数据库JSP技术B/S结构 二、系统设计三、功能截图总结 前言 随着社会的不断发展与进步,人们对信息科学化的认识越来越深入,管理工作的重要性逐渐被认识到。科学化的管理能够实现信息存储的准确…

【O2O领域】Axure外卖订餐骑手端APP原型图,外卖众包配送原型设计图

作品概况 页面数量:共 110 页 兼容软件:Axure RP 9/10,不支持低版本 应用领域:外卖配送、生鲜配送 作品申明:页面内容仅用于功能演示,无实际功能 作品特色 本品为外卖订餐骑手端APP原型设计图&#x…

nodejs+vue+elementui实验室课程预约管理系统 t1g73

通过前面的功能分析可以将实验室课程管理系统的功能分为管理员、学生和教师三个部分,系统的主要功能包括首页、个人中心、教师管理、学生管理、教师课表管理、实验室信息管理、实验课程管理、预约记录管理、实验成绩管理、设备信息管理、借用记录管理、归还记录管理…