commit 0f71de8220fd81f8b4c28d4eac0c8a93f34645d8 Author: XuJiacheng Date: Wed Nov 26 11:14:33 2025 +0800 初始化项目 diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json new file mode 100644 index 0000000..05b4dd6 --- /dev/null +++ b/.config/dotnet-tools.json @@ -0,0 +1,13 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "dotnet-ef": { + "version": "9.0.6", + "commands": [ + "dotnet-ef" + ], + "rollForward": false + } + } +} \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0ecadc4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +/bin +/.vs +/obj +/FaceValidator.csproj.user +/FaceValidator.csproj +/upload +/wwwroot/upload diff --git a/Controllers/FaceFeatureController.cs b/Controllers/FaceFeatureController.cs new file mode 100644 index 0000000..3101eb5 --- /dev/null +++ b/Controllers/FaceFeatureController.cs @@ -0,0 +1,246 @@ +using CliWrap; +using CliWrap.Buffered; +using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.HttpResults; +using Microsoft.AspNetCore.Mvc; +using System.ComponentModel; +using System.Diagnostics; +using System.IO; +using System.Net.Http; +using System.Text; +using System.Text.Json.Serialization; +using static System.Net.Mime.MediaTypeNames; +using Newtonsoft.Json; +using BLV_API; + +namespace FaceValidator.Controllers +{ + [Route("api/[controller]/[action]")] + [ApiController] + public class FaceFeatureController : ControllerBase + { + private readonly IWebHostEnvironment _hostingEnvironment; + private readonly ILogger _logger; + + public FaceFeatureController( + IWebHostEnvironment hostingEnvironment, + ILogger logger) + { + _hostingEnvironment = hostingEnvironment; + _logger = logger; + } + + /// + /// 提交人脸Url/File + /// + /// + /// + [HttpPost] + public async Task ValidateFaceVal([FromForm] UploadFileModel data) + { + try + { + var file = data.File; + var faceUrl = data.FaceUrl; + // 检查输入是否有效 + if (file == null && string.IsNullOrWhiteSpace(faceUrl)) + { + return BadRequest("必须提供图片文件或图片URL"); + } + + // 保存图片到本地临时文件 + string tempImagePath; + if (file != null) + { + // + tempImagePath = await SaveUploadedFileAsync(file); + } + else + { + tempImagePath = await DownloadImageAsync(faceUrl); + } + + // 调用验证方法 + var validationResult = await FaceValidator(tempImagePath); + + // 清理临时文件 + //System.IO.File.Delete(tempImagePath); + + return validationResult; + } + catch (Exception ex) + { + _logger.LogError(ex, "人脸验证过程中发生未处理异常"); + return StatusCode(500, $"系统错误: {ex.Message}"); + } + } + + private async Task SaveUploadedFileAsync(IFormFile file) + { + var tempFileName = $"{Guid.NewGuid()}{Path.GetExtension(file.FileName)}"; + var tempFilePath = Path.Combine(_hostingEnvironment.ContentRootPath, "wwwroot/upload", tempFileName); + + // 确保目录存在 + Directory.CreateDirectory(Path.GetDirectoryName(tempFilePath)); + + using (var stream = new FileStream(tempFilePath, FileMode.Create)) + { + await file.CopyToAsync(stream); + } + + return tempFilePath; + } + + private async Task DownloadImageAsync(string faceUrl) + { + if (!Uri.TryCreate(faceUrl, UriKind.Absolute, out var uri)) + { + throw new ArgumentException("提供的图片URL无效"); + } + HttpClient httpClient = new(); + var response = await httpClient.GetAsync(uri); + + if (!response.IsSuccessStatusCode) + { + throw new ApplicationException($"无法下载图片: {response.StatusCode}"); + } + + var tempFileName = $"{Guid.NewGuid()}.jpg"; + var tempFilePath = Path.Combine(_hostingEnvironment.ContentRootPath, "wwwroot/upload", tempFileName); + + // 确保目录存在 + Directory.CreateDirectory(Path.GetDirectoryName(tempFilePath)); + + await using (var fs = new FileStream(tempFilePath, FileMode.Create)) + await using (var stream = await response.Content.ReadAsStreamAsync()) + { + await stream.CopyToAsync(fs); + } + + return tempFilePath; + } + + [HttpPost] + public async Task FaceValidator(string localImagePath) + { + // 1. 错误处理:确保参数不为空 + if (string.IsNullOrWhiteSpace(localImagePath)) + { + return BadRequest("脸部数据参数不能为空"); + } + + // 2. 确保图片文件存在 + if (!System.IO.File.Exists(localImagePath)) + { + return BadRequest($"本地图片文件不存在: {localImagePath}"); + } + + // 3. 使用绝对路径确保可靠性 + var exePath = Path.Combine(_hostingEnvironment.ContentRootPath, "ValRel", "faceidtest.exe"); + var exeDirectory = Path.GetDirectoryName(exePath); + + // 4. 检查可执行文件是否存在 + if (!System.IO.File.Exists(exePath)) + { + _logger.LogError($"可执行文件不存在: {exePath}"); + return StatusCode(500, $"人脸验证程序未找到"); + } + + try + { + var stdOutBuffer = new StringBuilder(); + var stdErrBuffer = new StringBuilder(); + + // 传递文件路径作为参数 + var arguments = $"{localImagePath} 80x v3"; + + _logger.LogInformation($"执行人脸验证: {exePath} {arguments}"); + + // 创建取消令牌源并设置超时(例如20秒) + using var cts = new CancellationTokenSource(TimeSpan.FromSeconds(20)); + + var result = await Cli.Wrap(exePath) // 指定可执行文件 + .WithArguments(arguments) // 传递参数 + .WithWorkingDirectory(exeDirectory) // 在exe所在目录执行 + .WithValidation(CommandResultValidation.None) // 退出条件 + .WithStandardOutputPipe(PipeTarget.ToStringBuilder(stdOutBuffer)) // 打印结果日志 + .WithStandardErrorPipe(PipeTarget.ToStringBuilder(stdErrBuffer)) // 打印过程日志 + .ExecuteAsync(cts.Token); // 设置取消令牌 + + var fullOutput = stdErrBuffer.ToString(); + fullOutput += stdOutBuffer.ToString(); + + string[] lines = fullOutput.Split(["\r\n", "\r", "\n"], StringSplitOptions.None); + + + var validationResult = ""; + _logger.LogInformation($"结果: {fullOutput}"); + var name = ""; + foreach (var item in lines) + { + if (item.IndexOf("quality:") > -1) + { + validationResult = item.Split(":")[2].Trim(); + break; + } + + } + var vurl = "http://blv-rd.tech:19099/upload/"; + //var vurl = "http://piccheck.blv-oa.com/upload/"; + //D:\\AFace\\wwwroot/upload\\d7d5f295-8c75-4308-b36a-367c650a8ac4.jpg + vurl += Path.GetFileName(localImagePath); + LogHelper.WriteLog("图片名称:" + Path.GetFileName(localImagePath) + $" 验证结果: {validationResult}"); + if (double.TryParse(validationResult, out double validationResultNum)) + { + return Ok(new + { + Success = true, + Result = result, + ExitCode = 200, + quality = validationResultNum, + Url = vurl, + }); + } + else + { + return Ok(new + { + Success = false, + Result = result, + ExitCode = 200, + Msg = "验证错误", + Url = vurl, + }); + } + + + } + catch (OperationCanceledException) + { + _logger.LogError("操作超时,人脸验证未完成"); + return StatusCode(504, "验证超时"); + } + catch (Exception ex) + { + _logger.LogError(ex, "人脸验证过程中发生未处理异常"); + return StatusCode(500, $"系统错误: {ex.Message}"); + } + } + } + public class UploadFileModel + { + public IFormFile? File { get; set; } + public string? FaceUrl { get; set; } + } + + public class ResultClass + { + public bool Success { get; set; } + public string? Result { get; set; } + public int Code { get; set; } + public string? Msg { get; set; } + + } + +} \ No newline at end of file diff --git a/Controllers/WeatherForecastController.cs b/Controllers/WeatherForecastController.cs new file mode 100644 index 0000000..60a237e --- /dev/null +++ b/Controllers/WeatherForecastController.cs @@ -0,0 +1,34 @@ +using Microsoft.AspNetCore.Mvc; + +namespace FaceValidator.Controllers +{ + [ApiController] + [Route("[controller]")] + public class WeatherForecastController : ControllerBase + { + private static readonly string[] Summaries = new[] + { + "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" + }; + + private readonly ILogger _logger; + + public WeatherForecastController(ILogger logger) + { + _logger = logger; + } + + [ApiExplorerSettings(IgnoreApi = true)] + [HttpGet(Name = "GetWeatherForecast")] + public IEnumerable Get() + { + return Enumerable.Range(1, 5).Select(index => new WeatherForecast + { + Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)), + TemperatureC = Random.Shared.Next(-20, 55), + Summary = Summaries[Random.Shared.Next(Summaries.Length)] + }) + .ToArray(); + } + } +} diff --git a/FaceValidator.http b/FaceValidator.http new file mode 100644 index 0000000..3719312 --- /dev/null +++ b/FaceValidator.http @@ -0,0 +1,6 @@ +@FaceValidator_HostAddress = http://localhost:5123 + +GET {{FaceValidator_HostAddress}}/weatherforecast/ +Accept: application/json + +### diff --git a/FaceValidator.sln b/FaceValidator.sln new file mode 100644 index 0000000..ec8208e --- /dev/null +++ b/FaceValidator.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.14.36212.18 d17.14 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FaceValidator", "FaceValidator.csproj", "{1A8D4679-1FDF-4C9F-B31D-CFEBFC89016A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1A8D4679-1FDF-4C9F-B31D-CFEBFC89016A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1A8D4679-1FDF-4C9F-B31D-CFEBFC89016A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1A8D4679-1FDF-4C9F-B31D-CFEBFC89016A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1A8D4679-1FDF-4C9F-B31D-CFEBFC89016A}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {91886F3D-D628-4748-90D7-9FEC71C25492} + EndGlobalSection +EndGlobal diff --git a/LogHelper.cs b/LogHelper.cs new file mode 100644 index 0000000..fd3e684 --- /dev/null +++ b/LogHelper.cs @@ -0,0 +1,121 @@ +using System; +using System.IO; +using System.Text; + +namespace BLV_API +{ + /// + /// 日志辅助类 + /// + public static class LogHelper + { + public static string GetApplicationPath() + { + return AppDomain.CurrentDomain.SetupInformation.ApplicationBase; + } + private static string ExePath =GetApplicationPath(); + /// + /// 日志写入到批定的文件路径下 + /// + /// + public static void WriteLog(string msg) + { + string path = ExePath + "\\logs\\" + DateTime.Now.ToString("yyyyMMdd") + ".log"; + msg = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":\t " + msg + Environment.NewLine; + WriteLog(path, msg, true); + } + /// + /// 把数据写入指定的文件里 + /// + /// 文件路径(包括文件名称) + /// 写入内容 + /// 是否追加 + public static void WriteLog(string path, string msg, bool append, bool needHidden = false) + { + string folder = Path.GetDirectoryName(path); + if (!Directory.Exists(folder)) + { + Directory.CreateDirectory(folder); + } + StreamWriter sw = null; + try + { + sw = new StreamWriter(path, append, Encoding.Unicode); + sw.WriteLine(msg); + } + catch (Exception) + { + } + finally + { + if (sw != null) + { + sw.Close(); + } + } + if (needHidden) + { + File.SetAttributes(path, FileAttributes.Hidden);//设置添加隐藏文件夹 + } + } + /// + /// 把数据写入指定的文件里 + /// + /// + /// + public static void WriteLog(string path, byte[] msg) + { + string folder = Path.GetDirectoryName(path); + if (!Directory.Exists(folder)) + { + Directory.CreateDirectory(folder); + } + FileStream fs = null; + try + { + fs = new FileStream(path, FileMode.Append, FileAccess.Write); + fs.Write(msg, 0, msg.Length); + } + catch (Exception) + { + } + finally + { + if (fs != null) + { + fs.Close(); + } + } + } + /// + /// 读取文件内容 + /// + /// + /// + public static string ReadLog(string path) + { + if (File.Exists(path)) + { + StreamReader sr = null; + try + { + sr = new StreamReader(path); + return sr.ReadToEnd(); + } + catch (Exception) + { + } + finally + { + if (sr != null) + { + sr.Close(); + } + } + + } + return ""; + } + } +} + diff --git a/Program.cs b/Program.cs new file mode 100644 index 0000000..daec49d --- /dev/null +++ b/Program.cs @@ -0,0 +1,39 @@ +var builder = WebApplication.CreateBuilder(args); + +// Add services to the container. + +builder.Services.AddControllers(); +// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); + +builder.Services.AddCors(options => +{ + options.AddPolicy(name: "Vue3", + policy => + { + policy + .AllowAnyOrigin() + .AllowAnyHeader() + .AllowAnyMethod(); + }); +}); +var app = builder.Build(); + +// Configure the HTTP request pipeline. +/*if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(); +}*/ + +app.UseCors("Vue3"); +app.UseSwagger(); +app.UseSwaggerUI(); + +app.UseAuthorization(); + +app.UseStaticFiles(); +app.MapControllers(); + +app.Run(); diff --git a/Properties/PublishProfiles/FolderProfile.pubxml b/Properties/PublishProfiles/FolderProfile.pubxml new file mode 100644 index 0000000..df63f51 --- /dev/null +++ b/Properties/PublishProfiles/FolderProfile.pubxml @@ -0,0 +1,19 @@ + + + + + true + false + true + Release + Any CPU + FileSystem + bin\Release\net8.0\publish\ + FileSystem + <_TargetId>Folder + + net8.0 + 1a8d4679-1fdf-4c9f-b31d-cfebfc89016a + false + + \ No newline at end of file diff --git a/Properties/PublishProfiles/FolderProfile.pubxml.user b/Properties/PublishProfiles/FolderProfile.pubxml.user new file mode 100644 index 0000000..1efd796 --- /dev/null +++ b/Properties/PublishProfiles/FolderProfile.pubxml.user @@ -0,0 +1,9 @@ + + + + + <_PublishTargetUrl>E:\Project\FaceValidator\bin\Release\net8.0\publish\ + True|2025-06-24T09:11:55.0299559Z||;True|2025-06-24T17:08:39.1308644+08:00||;True|2025-06-24T17:04:04.3090065+08:00||;True|2025-06-24T16:58:42.7452540+08:00||;True|2025-06-24T16:55:28.8010525+08:00||;True|2025-06-24T16:53:36.5501513+08:00||;True|2025-06-24T13:14:54.8117662+08:00||;True|2025-06-24T13:04:46.3151609+08:00||;True|2025-06-24T11:51:52.0015754+08:00||;True|2025-06-24T11:40:29.4414483+08:00||;True|2025-06-24T11:32:14.2406099+08:00||;True|2025-06-23T20:01:01.6427023+08:00||;True|2025-06-23T19:48:37.9480442+08:00||; + + + \ No newline at end of file diff --git a/Properties/launchSettings.json b/Properties/launchSettings.json new file mode 100644 index 0000000..2c92a7a --- /dev/null +++ b/Properties/launchSettings.json @@ -0,0 +1,31 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:50388", + "sslPort": 0 + } + }, + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "http://localhost:5123", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "launchUrl": "swagger", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/ValRel/1.jpg b/ValRel/1.jpg new file mode 100644 index 0000000..3d21035 Binary files /dev/null and b/ValRel/1.jpg differ diff --git a/ValRel/2.jpg b/ValRel/2.jpg new file mode 100644 index 0000000..ba093f0 Binary files /dev/null and b/ValRel/2.jpg differ diff --git a/ValRel/3.jpg b/ValRel/3.jpg new file mode 100644 index 0000000..ef4951d Binary files /dev/null and b/ValRel/3.jpg differ diff --git a/ValRel/boost_chrono-vc140-mt-1_61.dll b/ValRel/boost_chrono-vc140-mt-1_61.dll new file mode 100644 index 0000000..13a04d0 Binary files /dev/null and b/ValRel/boost_chrono-vc140-mt-1_61.dll differ diff --git a/ValRel/boost_filesystem-vc140-mt-1_61.dll b/ValRel/boost_filesystem-vc140-mt-1_61.dll new file mode 100644 index 0000000..3452cd8 Binary files /dev/null and b/ValRel/boost_filesystem-vc140-mt-1_61.dll differ diff --git a/ValRel/boost_filesystem-vc140-mt-gd-1_61.dll b/ValRel/boost_filesystem-vc140-mt-gd-1_61.dll new file mode 100644 index 0000000..5255f94 Binary files /dev/null and b/ValRel/boost_filesystem-vc140-mt-gd-1_61.dll differ diff --git a/ValRel/boost_system-vc140-mt-1_61.dll b/ValRel/boost_system-vc140-mt-1_61.dll new file mode 100644 index 0000000..cfb58ef Binary files /dev/null and b/ValRel/boost_system-vc140-mt-1_61.dll differ diff --git a/ValRel/boost_thread-vc140-mt-1_61.dll b/ValRel/boost_thread-vc140-mt-1_61.dll new file mode 100644 index 0000000..52916ac Binary files /dev/null and b/ValRel/boost_thread-vc140-mt-1_61.dll differ diff --git a/ValRel/caffe.dll b/ValRel/caffe.dll new file mode 100644 index 0000000..5e94f6b Binary files /dev/null and b/ValRel/caffe.dll differ diff --git a/ValRel/caffezlib1.dll b/ValRel/caffezlib1.dll new file mode 100644 index 0000000..7973933 Binary files /dev/null and b/ValRel/caffezlib1.dll differ diff --git a/ValRel/faceid.dll b/ValRel/faceid.dll new file mode 100644 index 0000000..054197d Binary files /dev/null and b/ValRel/faceid.dll differ diff --git a/ValRel/faceidtest.exe b/ValRel/faceidtest.exe new file mode 100644 index 0000000..3494e0d Binary files /dev/null and b/ValRel/faceidtest.exe differ diff --git a/ValRel/faceidtest_.exe b/ValRel/faceidtest_.exe new file mode 100644 index 0000000..d558dcb Binary files /dev/null and b/ValRel/faceidtest_.exe differ diff --git a/ValRel/feature.bin b/ValRel/feature.bin new file mode 100644 index 0000000..1149f81 Binary files /dev/null and b/ValRel/feature.bin differ diff --git a/ValRel/gflags.dll b/ValRel/gflags.dll new file mode 100644 index 0000000..11b16cc Binary files /dev/null and b/ValRel/gflags.dll differ diff --git a/ValRel/glog.dll b/ValRel/glog.dll new file mode 100644 index 0000000..1ff8d6c Binary files /dev/null and b/ValRel/glog.dll differ diff --git a/ValRel/glogd.dll b/ValRel/glogd.dll new file mode 100644 index 0000000..4225a45 Binary files /dev/null and b/ValRel/glogd.dll differ diff --git a/ValRel/libgcc_s_seh-1.dll b/ValRel/libgcc_s_seh-1.dll new file mode 100644 index 0000000..500f7a5 Binary files /dev/null and b/ValRel/libgcc_s_seh-1.dll differ diff --git a/ValRel/libgfortran-3.dll b/ValRel/libgfortran-3.dll new file mode 100644 index 0000000..23136a9 Binary files /dev/null and b/ValRel/libgfortran-3.dll differ diff --git a/ValRel/libopenblas.dll b/ValRel/libopenblas.dll new file mode 100644 index 0000000..cda7826 Binary files /dev/null and b/ValRel/libopenblas.dll differ diff --git a/ValRel/libquadmath-0.dll b/ValRel/libquadmath-0.dll new file mode 100644 index 0000000..028a3c3 Binary files /dev/null and b/ValRel/libquadmath-0.dll differ diff --git a/ValRel/libwinpthread-1.dll b/ValRel/libwinpthread-1.dll new file mode 100644 index 0000000..dd1eb67 Binary files /dev/null and b/ValRel/libwinpthread-1.dll differ diff --git a/ValRel/models/80x/v3/detection_final.lb b/ValRel/models/80x/v3/detection_final.lb new file mode 100644 index 0000000..72e4c4e Binary files /dev/null and b/ValRel/models/80x/v3/detection_final.lb differ diff --git a/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/face_test.jpg b/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/face_test.jpg new file mode 100644 index 0000000..bc29ea8 Binary files /dev/null and b/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/face_test.jpg differ diff --git a/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/face_test_mask.jpg b/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/face_test_mask.jpg new file mode 100644 index 0000000..d74e1cc Binary files /dev/null and b/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/face_test_mask.jpg differ diff --git a/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/face_tset.jpg b/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/face_tset.jpg new file mode 100644 index 0000000..c6fcff5 Binary files /dev/null and b/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/face_tset.jpg differ diff --git a/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/feature_test.jpg b/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/feature_test.jpg new file mode 100644 index 0000000..9405b3b Binary files /dev/null and b/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/feature_test.jpg differ diff --git a/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/feature_test_mask.jpg b/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/feature_test_mask.jpg new file mode 100644 index 0000000..9d86a9a Binary files /dev/null and b/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/feature_test_mask.jpg differ diff --git a/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/feature_tset.jpg b/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/feature_tset.jpg new file mode 100644 index 0000000..f2cc991 Binary files /dev/null and b/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/feature_tset.jpg differ diff --git a/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/model_recg.bin b/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/model_recg.bin new file mode 100644 index 0000000..64c1000 Binary files /dev/null and b/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/model_recg.bin differ diff --git a/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/model_recg.ezb b/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/model_recg.ezb new file mode 100644 index 0000000..ee6f937 Binary files /dev/null and b/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/model_recg.ezb differ diff --git a/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/quantize_out.bin b/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/quantize_out.bin new file mode 100644 index 0000000..d58844e Binary files /dev/null and b/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/quantize_out.bin differ diff --git a/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/quantize_out.ezb b/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/quantize_out.ezb new file mode 100644 index 0000000..62a3334 Binary files /dev/null and b/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/quantize_out.ezb differ diff --git a/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/小机端特征值分数.txt b/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/小机端特征值分数.txt new file mode 100644 index 0000000..87f68ac --- /dev/null +++ b/ValRel/models/80x/v3/faceid-e3-v2.0.1rc2/小机端特征值分数.txt @@ -0,0 +1,28 @@ +test_face_get_feats_from_image + +[test_test_face_get_feats_from_image_file] +opt.face_num = 1 +opt.face_num = 0.000000 +kpts: 140.000000:249.000000:240.000000:246.000000:191.000000:304.000000:159.000000:342.000000:233.000000:339.000000 +feat->norm[0] = 705.004272 +feat->norm[1] = 961.815491 +[test_test_face_get_feats_from_image_file] +opt.face_num = 1 +opt.face_num = 0.000000 +kpts: 216.000000:244.000000:308.000000:247.000000:276.000000:297.000000:230.000000:347.000000:297.000000:350.000000 +feat->norm[0] = 578.639771 +feat->norm[1] = 842.135986 +[test_test_face_get_feats_from_image_file] +opt.face_num = 1 +opt.face_num = 0.000000 +kpts: 180.000000:212.000000:279.000000:223.000000:237.000000:265.000000:187.000000:318.000000:265.000000:325.000000 +feat->norm[0] = 482.415802 +feat->norm[1] = 801.673279 +[test_test_face_compare2] +flen =1024 +## face_compare2 score=0.721377 +[test_test_face_compare2_with_mask] +flen =1024 +## face_compare2_with_mask score=0.463482 + +api: diff --git a/ValRel/models/80x/v3/pose_final.lb b/ValRel/models/80x/v3/pose_final.lb new file mode 100644 index 0000000..226a7d7 Binary files /dev/null and b/ValRel/models/80x/v3/pose_final.lb differ diff --git a/ValRel/models/80x/v3/quality_final.lb b/ValRel/models/80x/v3/quality_final.lb new file mode 100644 index 0000000..17235f5 Binary files /dev/null and b/ValRel/models/80x/v3/quality_final.lb differ diff --git a/ValRel/models/80x/v3/recognition_final.lb b/ValRel/models/80x/v3/recognition_final.lb new file mode 100644 index 0000000..5e7f2d2 Binary files /dev/null and b/ValRel/models/80x/v3/recognition_final.lb differ diff --git a/ValRel/models/80x/v3/模型版本说明.md b/ValRel/models/80x/v3/模型版本说明.md new file mode 100644 index 0000000..39125ce --- /dev/null +++ b/ValRel/models/80x/v3/模型版本说明.md @@ -0,0 +1,22 @@ +##### 模型版本支持说明 + +| 版本 v3: | +| ---------------- | +| faceid-e3-v2.0.1 | +| | +| | +| | +| | + +``` + + +非口罩人脸识别 + 口罩人脸识别 + +e9b3a507d0657eac0e526b81662edc27 lib/sv806/model_recg.bin +de84cd27d823fefec34361e0d0ff97d6 lib/sv806/model_recg.ezb + +e3a35ce1d0698a540cb51e405d5b60bc lib/sv806/quantize_out.bin +f646731ed0d471148ed38184f8592fcb lib/sv806/quantize_out.ezb +``` + diff --git a/ValRel/opencv_core310.dll b/ValRel/opencv_core310.dll new file mode 100644 index 0000000..7d0461e Binary files /dev/null and b/ValRel/opencv_core310.dll differ diff --git a/ValRel/opencv_highgui310.dll b/ValRel/opencv_highgui310.dll new file mode 100644 index 0000000..5a7bc8c Binary files /dev/null and b/ValRel/opencv_highgui310.dll differ diff --git a/ValRel/opencv_imgcodecs310.dll b/ValRel/opencv_imgcodecs310.dll new file mode 100644 index 0000000..a517a98 Binary files /dev/null and b/ValRel/opencv_imgcodecs310.dll differ diff --git a/ValRel/opencv_imgproc310.dll b/ValRel/opencv_imgproc310.dll new file mode 100644 index 0000000..6993fbe Binary files /dev/null and b/ValRel/opencv_imgproc310.dll differ diff --git a/ValRel/pthreadVC2.dll b/ValRel/pthreadVC2.dll new file mode 100644 index 0000000..165b4d2 Binary files /dev/null and b/ValRel/pthreadVC2.dll differ diff --git a/ValRelOld/boost_chrono-vc140-mt-1_61.dll b/ValRelOld/boost_chrono-vc140-mt-1_61.dll new file mode 100644 index 0000000..5002bca Binary files /dev/null and b/ValRelOld/boost_chrono-vc140-mt-1_61.dll differ diff --git a/ValRelOld/boost_filesystem-vc140-mt-1_61.dll b/ValRelOld/boost_filesystem-vc140-mt-1_61.dll new file mode 100644 index 0000000..ada063c Binary files /dev/null and b/ValRelOld/boost_filesystem-vc140-mt-1_61.dll differ diff --git a/ValRelOld/boost_filesystem-vc140-mt-gd-1_61.dll b/ValRelOld/boost_filesystem-vc140-mt-gd-1_61.dll new file mode 100644 index 0000000..5255f94 Binary files /dev/null and b/ValRelOld/boost_filesystem-vc140-mt-gd-1_61.dll differ diff --git a/ValRelOld/boost_system-vc140-mt-1_61.dll b/ValRelOld/boost_system-vc140-mt-1_61.dll new file mode 100644 index 0000000..8530f2f Binary files /dev/null and b/ValRelOld/boost_system-vc140-mt-1_61.dll differ diff --git a/ValRelOld/boost_thread-vc140-mt-1_61.dll b/ValRelOld/boost_thread-vc140-mt-1_61.dll new file mode 100644 index 0000000..7f9d32d Binary files /dev/null and b/ValRelOld/boost_thread-vc140-mt-1_61.dll differ diff --git a/ValRelOld/caffezlib1.dll b/ValRelOld/caffezlib1.dll new file mode 100644 index 0000000..5d02835 Binary files /dev/null and b/ValRelOld/caffezlib1.dll differ diff --git a/ValRelOld/face_test.jpg b/ValRelOld/face_test.jpg new file mode 100644 index 0000000..bc29ea8 Binary files /dev/null and b/ValRelOld/face_test.jpg differ diff --git a/ValRelOld/face_test.jpg.bin b/ValRelOld/face_test.jpg.bin new file mode 100644 index 0000000..bcdfdad Binary files /dev/null and b/ValRelOld/face_test.jpg.bin differ diff --git a/ValRelOld/face_tset.jpg b/ValRelOld/face_tset.jpg new file mode 100644 index 0000000..c6fcff5 Binary files /dev/null and b/ValRelOld/face_tset.jpg differ diff --git a/ValRelOld/faceid.lib b/ValRelOld/faceid.lib new file mode 100644 index 0000000..2352f82 Binary files /dev/null and b/ValRelOld/faceid.lib differ diff --git a/ValRelOld/faceidtest.exe b/ValRelOld/faceidtest.exe new file mode 100644 index 0000000..330f14a Binary files /dev/null and b/ValRelOld/faceidtest.exe differ diff --git a/ValRelOld/gflags.dll b/ValRelOld/gflags.dll new file mode 100644 index 0000000..6773fec Binary files /dev/null and b/ValRelOld/gflags.dll differ diff --git a/ValRelOld/glog.dll b/ValRelOld/glog.dll new file mode 100644 index 0000000..f9e0940 Binary files /dev/null and b/ValRelOld/glog.dll differ diff --git a/ValRelOld/libgcc_s_seh-1.dll b/ValRelOld/libgcc_s_seh-1.dll new file mode 100644 index 0000000..6d84b21 Binary files /dev/null and b/ValRelOld/libgcc_s_seh-1.dll differ diff --git a/ValRelOld/libgfortran-3.dll b/ValRelOld/libgfortran-3.dll new file mode 100644 index 0000000..23136a9 Binary files /dev/null and b/ValRelOld/libgfortran-3.dll differ diff --git a/ValRelOld/libopenblas.dll b/ValRelOld/libopenblas.dll new file mode 100644 index 0000000..cda7826 Binary files /dev/null and b/ValRelOld/libopenblas.dll differ diff --git a/ValRelOld/libquadmath-0.dll b/ValRelOld/libquadmath-0.dll new file mode 100644 index 0000000..09fd8a3 Binary files /dev/null and b/ValRelOld/libquadmath-0.dll differ diff --git a/ValRelOld/libwinpthread-1.dll b/ValRelOld/libwinpthread-1.dll new file mode 100644 index 0000000..dd1eb67 Binary files /dev/null and b/ValRelOld/libwinpthread-1.dll differ diff --git a/ValRelOld/models/80x/v1/detection_final.lb b/ValRelOld/models/80x/v1/detection_final.lb new file mode 100644 index 0000000..72e4c4e Binary files /dev/null and b/ValRelOld/models/80x/v1/detection_final.lb differ diff --git a/ValRelOld/models/80x/v1/pose_final.lb b/ValRelOld/models/80x/v1/pose_final.lb new file mode 100644 index 0000000..226a7d7 Binary files /dev/null and b/ValRelOld/models/80x/v1/pose_final.lb differ diff --git a/ValRelOld/models/80x/v1/quality_final.lb b/ValRelOld/models/80x/v1/quality_final.lb new file mode 100644 index 0000000..17235f5 Binary files /dev/null and b/ValRelOld/models/80x/v1/quality_final.lb differ diff --git a/ValRelOld/models/80x/v1/recognition_final.lb b/ValRelOld/models/80x/v1/recognition_final.lb new file mode 100644 index 0000000..7cdd96c Binary files /dev/null and b/ValRelOld/models/80x/v1/recognition_final.lb differ diff --git a/ValRelOld/models/80x/v1/模型版本说明.md b/ValRelOld/models/80x/v1/模型版本说明.md new file mode 100644 index 0000000..cc5f486 --- /dev/null +++ b/ValRelOld/models/80x/v1/模型版本说明.md @@ -0,0 +1,18 @@ +##### 模型版本支持说明 + +| 版本 v1: | +| ---------------- | +| faceid-e3-v1.0 | +| faceid-e3-v1.0.1 | +| faceid-e3-v1.0.2 | +| faceid-e3-v1.0.3 | +| | + +``` + +只有非口罩人脸识别 + +4511857f2e19cd4ae2d9f3403b674a86 lib/model_recg.bin +34ece85feb6981bb44e5e6971db05e08 lib/model_recg.ezb +``` + diff --git a/ValRelOld/models/80x/v2/detection_final.lb b/ValRelOld/models/80x/v2/detection_final.lb new file mode 100644 index 0000000..72e4c4e Binary files /dev/null and b/ValRelOld/models/80x/v2/detection_final.lb differ diff --git a/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/face_test.jpg b/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/face_test.jpg new file mode 100644 index 0000000..7c89b9e Binary files /dev/null and b/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/face_test.jpg differ diff --git a/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/face_test_mask.jpg b/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/face_test_mask.jpg new file mode 100644 index 0000000..e377920 Binary files /dev/null and b/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/face_test_mask.jpg differ diff --git a/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/face_tset.jpg b/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/face_tset.jpg new file mode 100644 index 0000000..de07da2 Binary files /dev/null and b/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/face_tset.jpg differ diff --git a/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/feature_test.jpg b/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/feature_test.jpg new file mode 100644 index 0000000..85f0121 Binary files /dev/null and b/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/feature_test.jpg differ diff --git a/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/feature_test_mask.jpg b/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/feature_test_mask.jpg new file mode 100644 index 0000000..3e65fcd Binary files /dev/null and b/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/feature_test_mask.jpg differ diff --git a/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/feature_tset.jpg b/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/feature_tset.jpg new file mode 100644 index 0000000..1272f58 Binary files /dev/null and b/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/feature_tset.jpg differ diff --git a/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/model_recg.bin b/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/model_recg.bin new file mode 100644 index 0000000..8547493 Binary files /dev/null and b/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/model_recg.bin differ diff --git a/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/model_recg.ezb b/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/model_recg.ezb new file mode 100644 index 0000000..c7e402c Binary files /dev/null and b/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/model_recg.ezb differ diff --git a/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/quantize_out.bin b/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/quantize_out.bin new file mode 100644 index 0000000..29d021f Binary files /dev/null and b/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/quantize_out.bin differ diff --git a/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/quantize_out.ezb b/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/quantize_out.ezb new file mode 100644 index 0000000..a6ccb79 Binary files /dev/null and b/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/quantize_out.ezb differ diff --git a/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/小机端特征分数.txt b/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/小机端特征分数.txt new file mode 100644 index 0000000..3684ae9 --- /dev/null +++ b/ValRelOld/models/80x/v2/faceid-e3-v2.0.0rc3_r1/小机端特征分数.txt @@ -0,0 +1,24 @@ +[test_test_face_get_feats_from_image_file] +opt.face_num = 1 +opt.face_num = 0.000000 +kpts: 140.000000:246.000000:243.000000:246.000000:192.000000:313.000000:157.000000:344.000000:233.000000:342.000000 +feat->norm[0] = 419.964294 +feat->norm[1] = 901.584717 +[test_test_face_get_feats_from_image_file] +opt.face_num = 1 +opt.face_num = 0.000000 +kpts: 216.000000:244.000000:310.000000:249.000000:275.000000:300.000000:226.000000:349.000000:295.000000:352.000000 +feat->norm[0] = 426.939117 +feat->norm[1] = 797.652161 +[test_test_face_get_feats_from_image_file] +opt.face_num = 1 +opt.face_num = 0.000000 +kpts: 182.000000:215.000000:280.000000:215.000000:238.000000:264.000000:194.000000:321.000000:273.000000:321.000000 +feat->norm[0] = 389.033417 +feat->norm[1] = 755.897461 +[test_test_face_compare2] +flen =1024 +## face_compare2 score=0.779948 +[test_test_face_compare2_with_mask] +flen =1024 +## face_compare2_with_mask score=0.451971 diff --git a/ValRelOld/models/80x/v2/pose_final.lb b/ValRelOld/models/80x/v2/pose_final.lb new file mode 100644 index 0000000..226a7d7 Binary files /dev/null and b/ValRelOld/models/80x/v2/pose_final.lb differ diff --git a/ValRelOld/models/80x/v2/quality_final.lb b/ValRelOld/models/80x/v2/quality_final.lb new file mode 100644 index 0000000..17235f5 Binary files /dev/null and b/ValRelOld/models/80x/v2/quality_final.lb differ diff --git a/ValRelOld/models/80x/v2/recognition_final.lb b/ValRelOld/models/80x/v2/recognition_final.lb new file mode 100644 index 0000000..7cdd96c Binary files /dev/null and b/ValRelOld/models/80x/v2/recognition_final.lb differ diff --git a/ValRelOld/models/80x/v2/模型版本说明.md b/ValRelOld/models/80x/v2/模型版本说明.md new file mode 100644 index 0000000..e4a0cee --- /dev/null +++ b/ValRelOld/models/80x/v2/模型版本说明.md @@ -0,0 +1,21 @@ +##### 模型版本支持说明 + +| 版本 v2: | +| ---------------- | +| faceid-e3-v2.0.0 | +| | +| | +| | +| | + +``` + +非口罩人脸识别 + 口罩人脸识别 + +4511857f2e19cd4ae2d9f3403b674a86 lib/sv806/model_recg.bin +34ece85feb6981bb44e5e6971db05e08 lib/sv806/model_recg.ezb + +083a7b2c8faf16591cf79f8058d48f96 lib/sv806/quantize_out.bin +3d31bb52cc1a4fec8f0d507fac44c5c1 lib/sv806/quantize_out.ezb +``` + diff --git a/ValRelOld/models/80x/v3/detection_final.lb b/ValRelOld/models/80x/v3/detection_final.lb new file mode 100644 index 0000000..72e4c4e Binary files /dev/null and b/ValRelOld/models/80x/v3/detection_final.lb differ diff --git a/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/face_test.jpg b/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/face_test.jpg new file mode 100644 index 0000000..bc29ea8 Binary files /dev/null and b/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/face_test.jpg differ diff --git a/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/face_test_mask.jpg b/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/face_test_mask.jpg new file mode 100644 index 0000000..d74e1cc Binary files /dev/null and b/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/face_test_mask.jpg differ diff --git a/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/face_tset.jpg b/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/face_tset.jpg new file mode 100644 index 0000000..c6fcff5 Binary files /dev/null and b/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/face_tset.jpg differ diff --git a/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/feature_test.jpg b/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/feature_test.jpg new file mode 100644 index 0000000..9405b3b Binary files /dev/null and b/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/feature_test.jpg differ diff --git a/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/feature_test_mask.jpg b/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/feature_test_mask.jpg new file mode 100644 index 0000000..9d86a9a Binary files /dev/null and b/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/feature_test_mask.jpg differ diff --git a/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/feature_tset.jpg b/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/feature_tset.jpg new file mode 100644 index 0000000..f2cc991 Binary files /dev/null and b/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/feature_tset.jpg differ diff --git a/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/model_recg.bin b/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/model_recg.bin new file mode 100644 index 0000000..64c1000 Binary files /dev/null and b/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/model_recg.bin differ diff --git a/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/model_recg.ezb b/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/model_recg.ezb new file mode 100644 index 0000000..ee6f937 Binary files /dev/null and b/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/model_recg.ezb differ diff --git a/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/quantize_out.bin b/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/quantize_out.bin new file mode 100644 index 0000000..d58844e Binary files /dev/null and b/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/quantize_out.bin differ diff --git a/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/quantize_out.ezb b/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/quantize_out.ezb new file mode 100644 index 0000000..62a3334 Binary files /dev/null and b/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/quantize_out.ezb differ diff --git a/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/小机端特征值分数.txt b/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/小机端特征值分数.txt new file mode 100644 index 0000000..87f68ac --- /dev/null +++ b/ValRelOld/models/80x/v3/faceid-e3-v2.0.1rc2/小机端特征值分数.txt @@ -0,0 +1,28 @@ +test_face_get_feats_from_image + +[test_test_face_get_feats_from_image_file] +opt.face_num = 1 +opt.face_num = 0.000000 +kpts: 140.000000:249.000000:240.000000:246.000000:191.000000:304.000000:159.000000:342.000000:233.000000:339.000000 +feat->norm[0] = 705.004272 +feat->norm[1] = 961.815491 +[test_test_face_get_feats_from_image_file] +opt.face_num = 1 +opt.face_num = 0.000000 +kpts: 216.000000:244.000000:308.000000:247.000000:276.000000:297.000000:230.000000:347.000000:297.000000:350.000000 +feat->norm[0] = 578.639771 +feat->norm[1] = 842.135986 +[test_test_face_get_feats_from_image_file] +opt.face_num = 1 +opt.face_num = 0.000000 +kpts: 180.000000:212.000000:279.000000:223.000000:237.000000:265.000000:187.000000:318.000000:265.000000:325.000000 +feat->norm[0] = 482.415802 +feat->norm[1] = 801.673279 +[test_test_face_compare2] +flen =1024 +## face_compare2 score=0.721377 +[test_test_face_compare2_with_mask] +flen =1024 +## face_compare2_with_mask score=0.463482 + +api: diff --git a/ValRelOld/models/80x/v3/pose_final.lb b/ValRelOld/models/80x/v3/pose_final.lb new file mode 100644 index 0000000..226a7d7 Binary files /dev/null and b/ValRelOld/models/80x/v3/pose_final.lb differ diff --git a/ValRelOld/models/80x/v3/quality_final.lb b/ValRelOld/models/80x/v3/quality_final.lb new file mode 100644 index 0000000..17235f5 Binary files /dev/null and b/ValRelOld/models/80x/v3/quality_final.lb differ diff --git a/ValRelOld/models/80x/v3/recognition_final.lb b/ValRelOld/models/80x/v3/recognition_final.lb new file mode 100644 index 0000000..5e7f2d2 Binary files /dev/null and b/ValRelOld/models/80x/v3/recognition_final.lb differ diff --git a/ValRelOld/models/80x/v3/模型版本说明.md b/ValRelOld/models/80x/v3/模型版本说明.md new file mode 100644 index 0000000..39125ce --- /dev/null +++ b/ValRelOld/models/80x/v3/模型版本说明.md @@ -0,0 +1,22 @@ +##### 模型版本支持说明 + +| 版本 v3: | +| ---------------- | +| faceid-e3-v2.0.1 | +| | +| | +| | +| | + +``` + + +非口罩人脸识别 + 口罩人脸识别 + +e9b3a507d0657eac0e526b81662edc27 lib/sv806/model_recg.bin +de84cd27d823fefec34361e0d0ff97d6 lib/sv806/model_recg.ezb + +e3a35ce1d0698a540cb51e405d5b60bc lib/sv806/quantize_out.bin +f646731ed0d471148ed38184f8592fcb lib/sv806/quantize_out.ezb +``` + diff --git a/ValRelOld/opencv_core310.dll b/ValRelOld/opencv_core310.dll new file mode 100644 index 0000000..b2f97f4 Binary files /dev/null and b/ValRelOld/opencv_core310.dll differ diff --git a/ValRelOld/opencv_imgcodecs310.dll b/ValRelOld/opencv_imgcodecs310.dll new file mode 100644 index 0000000..5c7759e Binary files /dev/null and b/ValRelOld/opencv_imgcodecs310.dll differ diff --git a/ValRelOld/opencv_imgproc310.dll b/ValRelOld/opencv_imgproc310.dll new file mode 100644 index 0000000..c320d59 Binary files /dev/null and b/ValRelOld/opencv_imgproc310.dll differ diff --git a/ValRelOld/pthreadVC2.dll b/ValRelOld/pthreadVC2.dll new file mode 100644 index 0000000..165b4d2 Binary files /dev/null and b/ValRelOld/pthreadVC2.dll differ diff --git a/WeatherForecast.cs b/WeatherForecast.cs new file mode 100644 index 0000000..9655897 --- /dev/null +++ b/WeatherForecast.cs @@ -0,0 +1,13 @@ +namespace FaceValidator +{ + public class WeatherForecast + { + public DateOnly Date { get; set; } + + public int TemperatureC { get; set; } + + public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); + + public string? Summary { get; set; } + } +} diff --git a/appsettings.Development.json b/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/appsettings.json b/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +}