长寿花 發表於 2020-7-16 16:03:00

C# 人脸识别库 0.2

<h2>ViewFaceCore 0.2&nbsp;</h2>
<p>超简单的 C# 人脸识别库</p>
<h3>前言:</h3>
<p>首先谢谢大家对这个库的关注,前一篇博文得到了大家的&nbsp;<strong>支持&nbsp;</strong>和&nbsp;<strong>Star</strong>,十分开心。本想尽快实现大家的期待的活体检测功能,但是前段时间太忙了,是在抱歉!!!</p>
<h3>⭐、GitHub &amp; Important</h3>
<ul>
<li>本次更新的内容在 antispoofing 分支&nbsp;上。</li>
<li>活体检测需要&nbsp;<em><strong>fas_first.csta&nbsp;&nbsp;</strong></em>、<em><strong>fas_second.csta</strong></em><strong>&nbsp;</strong>两个模型
<ul>
<li>为方便使用,这两个模型也被包含在 Nuget 包中,0.2.x 版本在&nbsp;<strong>70M+ </strong>的大小</li>
</ul>
</li>
<li><strong>如果没有需要活体检测的需要,请继续使用 0.1.x 版本&nbsp;</strong></li>
</ul>
<ul>
<li>0.2.x 版本将继续添加新的功能,也会继续包含必须的模型文件</li>
<li>0.1.x 版本将保持现有功能,并进行 bug 修复等工作</li>
</ul>
<ul>
<li>0.2.x 源代码在&nbsp;antispoofing&nbsp;分支</li>
<li>0.1.x 源代码在 master 分支</li>
</ul>
<h3>一、ViewFaceCore 介绍</h3>
<p>这是基于&nbsp;SeetaFace6&nbsp;人脸识别开发的 .NET 平台下的人脸识别库<br>这是一个基于 .NET Standard 2.0 开发的库<br>这个库已经发布到&nbsp;NuGet&nbsp;,你可以一键集成到你的项目</p>
<p>更多请参见 C# 人脸识别库&nbsp;。</p>
<h3>二、更新</h3>
<p>本次更新内容</p>
<ol>
<li>添加了&nbsp;<strong>活体检测&nbsp;</strong>相关的方法</li>
<li>修复了识别结果部分未判断的 bug</li>
<li>修改了部分结构</li>





</ol>
<p>更新后无需修改之前的代码。</p>
<h3>三、使用</h3>
<h4>1. 新增方法:</h4>
<table style="height: 135px; width: 693px" border="0" align="left">
<tbody>
<tr>
<td><strong>方法名</strong></td>
<td><strong>返回值</strong></td>
<td><strong>参数列表</strong></td>
<td><strong>备注</strong></td>





</tr>
<tr>
<td>AntiSpoofing</td>
<td>AntiSpoofingStatus</td>
<td>Bitmap bitmap, FaceInfo info, FaceMarkPoint[] points, bool global</td>
<td>检测单帧图片</td>





</tr>
<tr>
<td>AntiSpoofingVideo</td>
<td>AntiSpoofingStatus</td>
<td>Bitmap bitmap, FaceInfo info, FaceMarkPoint[] points, bool global</td>
<td>检测视频帧图片</td>





</tr>





</tbody>





</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<ul>
<li>这两个方法也是对应到 SeetaFace6 中 活体检测相关方法。</li>
<li>如果检测失败则返回&nbsp;<strong><em>AntiSpoofingStatus.Error。</em></strong></li>





</ul>
<ul>
<li><em><strong>AntiSpoofing</strong></em><strong>&nbsp;</strong>的返回值 可能为&nbsp;<strong><em>AntiSpoofingStatus.Real</em></strong>、<strong><em><strong><em>AntiSpoofingStatus.Spoof&nbsp;</em></strong></em></strong>或&nbsp;<strong><em><strong><em><strong><em>AntiSpoofingStatus.Fuzzy。</em></strong></em></strong></em></strong></li>
<li><em><strong>AntiSpoofingVideo</strong></em> 的返回值 可能为<em><strong><em><strong><em>&nbsp;<strong><em>AntiSpoofingStatus.Real</em></strong></em></strong></em></strong></em>、<em><strong><em><strong><em><strong><em><strong><em>AntiSpoofingStatus.Spoof</em></strong></em></strong></em></strong></em></strong></em>、<em><strong><em><strong><em><strong><em><strong><em>AntiSpoofingStatus.<em><strong><em><strong><em><strong><em><strong><em><strong><em>Fuzzy</em></strong></em></strong></em></strong></em></strong></em></strong></em></em></strong></em></strong></em></strong></em></strong></em>或<em><strong><em><strong><em>&nbsp;<strong><em><strong><em><strong><em>AntiSpoofingStatus.Detecting。</em></strong></em></strong></em></strong></em></strong></em></strong></em>
<ul>
<li><em><strong><em><strong><em><strong><em><strong><em><strong><em>&nbsp;<em><strong><em><strong><em><strong><em><strong><em><strong><em>AntiSpoofingStatus.Detecting </em></strong></em></strong></em></strong></em></strong></em></strong></em></em></strong></em></strong></em></strong></em></strong></em></strong></em>说明传入的图片数量还不够检测,需要继续调用此方法传入 Bitmap<em><em><em><em><em><em><em><em><em><em><em><em>。</em></em></em></em></em></em></em></em></em></em></em></em></li>





</ul>





</li>





</ul>
<p><strong><em>AntiSpoofingStatus </em></strong>枚举的各个值的含义注释中都有说明</p>
<p>关于&nbsp;<em>global</em> 参数:活体检测方法默认是局部检测,如果要全局检测请使用 global 参数指定</p>
<ul>
<li>false:&nbsp;局部活体检测 -&nbsp;是对具体人脸的成像细节通过算法分析,区别是一次成像和二次成像,如果是二次成像则认为是出现了攻击。【需要&nbsp;<em><strong>fas_first.csta </strong></em>模型 】</li>
<li>true: 全局活体检测 -&nbsp;就是对图片整体做检测,主要是判断是否出现了活体检测潜在的攻击介质,如手机、平板、照片等等。【需要&nbsp;<em><strong>fas_first.csta&nbsp;</strong></em>、<em><strong><em><strong>fas_second.csta</strong></em>&nbsp;</strong></em>模型&nbsp;】&nbsp;</li>

</ul>
<h4>2. 扩展方法</h4>
<p>引用&nbsp;<em><strong>ViewFaceCore.Sharp.Extends</strong></em><strong>&nbsp;</strong>命名空间,即可使用一下扩展方法:</p>
<table border="0" align="left">
<tbody>
<tr>
<td><strong>方法名</strong></td>
<td><strong>返回值</strong></td>
<td><strong>参数列表</strong></td>
<td><strong>备注</strong></td>





</tr>
<tr>
<td>AntiSpoofingVideo</td>
<td>AntiSpoofingStatus</td>
<td>Bitmap[] bitmap, FaceInfo info, FaceMarkPoint[] points, bool global</td>
<td>检测图片数组</td>





</tr>





</tbody>





</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;此方法可以让你检测视频中的人脸,你需要读取视频,比提取每一帧图像,然后指定要检测的人脸索引,即可进行检测。</p>
<h3>四、参与项目</h3>
<p>你需要按照 SeetaFace6 文档 说明,并下载相关的开发包以及模型</p>
<ul>
<li>可以将开发包的 <em><strong>lib 目录&nbsp;</strong></em>和 <em><strong>include 目录</strong></em> 放至&nbsp;<em><strong>C:\vclib\seeta </strong></em>下 ,所有模型文件放到&nbsp;<em><strong>C:\vclib\seeta\model </strong></em>目录下</li>
<ul>
<li>然后按照 github 上的编译指引进行编译。</li>





</ul>
<li>也可以放在自定义的目录中
<ul>
<li>此时需要配置 ViewFace 项目中各个路径,确保各个依赖引用能被正确的加载。</li>
<li>修改 ViewFaceCore 项目的编译命令,确保生成时可以将最新的文件复制到生成目录。</li>





</ul>





</li>





</ul>
<p><strong style="font-size: 1.17em">五、也许…</strong></p>
<ul>
<li><strong>此项目还未实现 SeetaFace6 中的许多特性,也许:</strong></li>





</ul>
<p>    想起 GitHub 密码,持续更新…<br>    <span style="text-decoration: line-through; background-color: rgba(51, 51, 51, 1); color: rgba(192, 192, 192, 1)">删除代码仓库跑路…</span></p>
<ul>
<li><strong>如果在使用过程中遇到问题,你也许可以:</strong></li>






</ul>
<p>    在 GitHub&nbsp;报告Bug…<br>    向我&nbsp;发送邮件</p>
<p>&nbsp;</p>
<p><em><strong>人脸跟踪、人脸属性、质量评估、眼睛状态&nbsp;&nbsp;Coming soon ...</strong></em></p>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/view12138/p/ViewFaceCore_v2.html
頁: [1]
查看完整版本: C# 人脸识别库 0.2