人脸检测

文章推薦指數: 80 %
投票人數:10人

This page describes an old version of the Face Detection API, which was part of ML Kit for Firebase. Development of this API has been moved to the ... 产品 构建 发布与监控 吸引 用例 价格 文档 概览 基础知识 构建 发布与监控 吸引 参考文档 示例 社区 学习 活动 支持 Language English BahasaIndonesia Deutsch Español–AméricaLatina Français Italiano Polski Português–Brasil TiếngViệt Türkçe Русский עברית' العربيّة فارسی हिंदी বাংলা ภาษาไทย 中文–简体 中文–繁體 日本語 한국어 转到控制台 登录 FirebaseDocumentation 概览 基础知识 添加Firebase-iOS 添加Firebase-Android 添加Firebase-Web 添加Firebase-C++ 添加Firebase-Unity 添加Firebase-服务器环境 管理Firebase项目 支持的平台和框架 使用AppCheck保护项目资源 使用EmulatorSuite 构建 EmulatorSuite Authentication RealtimeDatabase Firestore Storage ML Hosting CloudFunctions 安全规则 Extensions 发布与监控 Crashlytics PerformanceMonitoring TestLab AppDistribution 吸引 Analytics RemoteConfig Predictions A/BTesting CloudMessaging In-AppMessaging DynamicLinks GoogleAdMob GoogleAds AppIndexing 参考文档 示例 产品 More 用例 价格 文档 More 概览 基础知识 More 构建 More 发布与监控 More 吸引 More 参考文档 示例 社区 More 支持 转到控制台 概览 EmulatorSuite简介 连接应用并进行原型设计开始使用连接到Authentication模拟器连接到RealtimeDatabase模拟器连接到CloudFirestore模拟器连接到CloudStorage模拟器连接到CloudFunctions模拟器安装、配置和集成 Authentication简介哪里可以开始?Firebase项目用户 iOS通过预置界面登录开始使用管理用户密码身份验证电子邮件链接身份验证Google登录Facebook登录使用Apple帐号登录Twitter登录GitHubMicrosoftYahoo游戏中心登录电话号码使用自定义身份验证系统匿名身份验证使用共享iOSKeychain启用跨应用身份验证关联多个身份验证提供方在电子邮件操作中传递状态处理错误 Android通过预置界面登录利用FirebaseSDK开始使用管理用户密码身份验证电子邮件链接身份验证Google登录Facebook登录使用Apple帐号登录TwitterGitHubMicrosoftYahooPlay游戏登录电话号码使用自定义身份验证系统匿名身份验证关联多个身份验证提供方在电子邮件操作中传递状态 Web通过预置界面登录开始使用管理用户密码身份验证电子邮件链接身份验证Google登录Facebook登录使用Apple帐号登录TwitterGitHubMicrosoftYahoo电话号码使用自定义身份验证系统匿名身份验证关联多个身份验证提供方适用于Cordova的OAuth登录身份验证状态保留在电子邮件操作中传递状态ServiceWorker会话 C++开始使用管理用户密码身份验证Google登录Play游戏登录GitHubFacebook登录使用Apple帐号登录Twitter登录MicrosoftYahoo电话号码使用自定义身份验证系统匿名身份验证关联多个身份验证提供方 Unity开始使用管理用户密码身份验证Google登录Play游戏登录GitHub身份验证Facebook登录使用Apple帐号登录Twitter登录MicrosoftYahoo电话号码使用自定义身份验证系统匿名身份验证关联多个身份验证提供方 管理简介管理用户导入用户创建自定义令牌验证ID令牌管理用户会话管理会话Cookie使用自定义声明控制访问生成电子邮件操作链接错误迁移指南自定义电子邮件操作处理程序通过CloudFunctions扩展向自定义网域发送电子邮件案例研究使用限制 RealtimeDatabase简介选择数据库 iOS开始使用设计数据结构读取和写入数据处理数据列表启用离线功能 Android开始使用设计数据结构读取和写入数据处理数据列表启用离线功能 Web开始使用设计数据结构读取和写入数据处理数据列表启用离线功能 管理开始使用设计数据结构保存数据检索数据 REST开始使用设计数据结构保存数据检索数据REST请求身份验证 C++开始使用设计数据结构保存数据检索数据 Unity开始使用设计数据结构保存数据检索数据 安全性与规则了解规则开始使用设计安全规则结构安全规则的写入条件将数据编入索引通过REST管理规则 使用情况和性能了解帐单实时数据库限额监控数据库用量监控数据库性能利用多个数据库进行扩展分析您的数据库优化数据库性能自动备份通过CloudFunctions扩展视频系列:面向SQL开发者的Firebase CloudFirestore简介开始使用 了解CloudFirestore将CloudFirestore和RealtimeDatabase进行对比数据模型数据类型SDK和客户端库索引类型数据库位置数据捆绑包 添加和管理数据设计数据结构添加数据事务和批量写入事务中的数据争用删除数据通过Firebase控制台管理CloudFirestore导出和导入数据在项目之间迁移数据 读取数据获取数据一次侦听实时更新执行简单和复合查询对数据排序和限定数量使用查询游标将数据分页离线访问数据管理索引 保护并验证数据概览开始使用设计安全规则结构编写安全规则的条件修正不安全的规则测试安全规则安全查询数据控制对每个字段的访问权限 解决方案概览FirestoreLiteWebSDK聚合查询分布式计数器全文搜索构建在线状态系统帮助用户和群组确保数据访问的安全性使用可调用的CloudFunctions函数删除数据安排数据导出分片时间戳地理位置查询自动创建数据库使用映射字段降低索引费用从CDN分发打包式Firestore内容 用量、限额和定价用量和限制监控用量了解CloudFirestore计费方式CloudFirestore费用示例了解存储空间大小的计算方法CloudFirestore的最佳实践 CloudFirestore集成使用CloudFirestoreRESTAPI使用CloudFirestore和RealtimeDatabase通过CloudFunctions扩展第三方库集成 API参考文档AndroidiOS-SwiftiOS-Objective-CWebCloudFunctionsNode.jsJavaPythonGoC#PHPRubyRESTRPC 示例iOSAndroidWeb Storage简介 iOS开始使用创建引用上传文件下载文件使用文件元数据删除文件列出文件处理错误 Android开始使用创建引用上传文件下载文件使用文件元数据删除文件列出文件处理错误 Web开始使用创建引用上传文件下载文件使用文件元数据删除文件列出文件处理错误 管理开始使用 C++开始使用创建引用上传文件下载文件使用文件元数据删除文件处理错误 Unity开始使用创建引用上传文件下载文件使用文件元数据删除文件处理错误 安全性与规则了解安全性开始使用设计安全规则结构安全规则的写入条件监控活动通过CloudFunctions扩展与GoogleCloud集成 机器学习简介Codelab自定义模型 使用自定义模型概览iOSAndroid部署和管理自定义模型 从旧版API迁移iOSAndroidCloudAutoMLVisionEdge概览训练图片标签模型 使用您的模型给图片加标签iOSAndroid训练对象检测模型 使用模型检测对象iOSAndroid迁移数据集使用CloudVisionAPI 识别文字概览iOSAndroid 标记图片概览iOSAndroid 识别地标概览iOSAndroid 已弃用的VisionSDK 识别文字iOSAndroid 标记图片iOSAndroid 识别地标iOSAndroid高级主题 对模型的两个版本进行A/B测试iOSAndroid生产准备 保护您的云端凭据iOSAndroid旧版文档 MLKitforFirebase简介视觉 识别文字概览iOSAndroid 检测面部概览概念iOSAndroid 扫描条形码概览iOSAndroid 标记图片概览iOSAndroid 检测和跟踪对象概览iOSAndroid 识别地标概览iOSAndroidAutoMLVisionEdge概览训练图片标签模型 使用您的模型给图片加标签iOSAndroid迁移数据集自然语言 识别文本语言概览iOSAndroid 翻译文字概览iOSAndroid使用准则 生成智能回复概览iOSAndroid自定义模型 使用自定义模型概览iOSAndroid管理托管的自定义模型 使用自定义TensorFlowLite版本iOSAndroid高级主题 对模型的两个版本进行A/B测试iOSAndroid生产准备 缩小应用软件包的大小Android 保护您的云端凭据iOSAndroid Hosting简介使用FirebaseHosting可以执行哪些操作?开始使用测试、预览并部署通过GitHub拉取请求进行部署在多个网站中共享项目资源关联自定义网域配置托管行为配置i18n重写使用预留网址添加SDK 提供动态内容并托管微服务概览使用CloudFunctionsforFirebase使用CloudRun管理缓存行为管理实际和预览渠道、Release和版本使用CloudLogging监控Web请求数据用量、配额和价格使用RESTAPI进行部署 CloudFunctions简介CloudFunctions有哪些用途?开始使用从Beta版升级到v1.0+ 直接调用函数从您的应用中调用函数通过HTTP请求调用函数按时间表运行函数 触发后台函数CloudFirestore触发器实时数据库触发器远程配置触发器身份验证触发器Analytics触发器CloudStorage触发器Pub/Sub触发器TestLab触发器 编写函数管理部署和运行时选项使用TypeScript编写函数同步、异步和Promise重试异步函数环境配置整理功能处理依赖项优化网络提示与技巧 测试函数在本地运行函数单元测试函数以交互方式测试函数 监控函数写入和查看日志报告错误查看受监控的指标 API参考文档FirebaseSDKforCloudFunctions测试SDK面向https.onCall的协议规范视频系列:了解CloudFunctionsCloudFunctions和FirebaseCloudFunctions位置配额和限制 安全规则简介开始使用 了解安全规则安全规则语言安全规则的工作原理安全规则和FirebaseAuthentication 编写安全规则基本安全规则避免不安全的规则数据验证 测试安全规则设置模拟器构建单元测试生成测试报告快速验证安全规则管理和部署安全规则 Extensions简介在项目中使用扩展程序概览安装扩展程序管理已安装的扩展程序为扩展程序授予的权限 相关产品 CloudMessaging RemoteConfig 构建 发布与监控 吸引 概览 基础知识 构建 发布与监控 吸引 参考文档 示例 学习 活动 添加Firebase-iOS 添加Firebase-Android 添加Firebase-Web 添加Firebase-C++ 添加Firebase-Unity 添加Firebase-服务器环境 管理Firebase项目 支持的平台和框架 使用AppCheck保护项目资源 使用EmulatorSuite EmulatorSuite Authentication RealtimeDatabase Firestore Storage ML Hosting CloudFunctions 安全规则 Extensions Crashlytics PerformanceMonitoring TestLab AppDistribution Analytics RemoteConfig Predictions A/BTesting CloudMessaging In-AppMessaging DynamicLinks GoogleAdMob GoogleAds AppIndexing Firebase FirebaseDocumentation 构建 发送反馈 人脸检测 plat_ios plat_android ThispagedescribesanoldversionoftheFaceDetectionAPI,whichwaspart ofMLKitforFirebase.DevelopmentofthisAPIhasbeenmovedtothe standaloneMLKitSDK,whichyoucanusewithorwithoutFirebase. Learnmore. See 人脸检测 forthelatestdocumentation. 利用机器学习套件的人脸检测API,您可以检测图片中的人脸,识别主要的面部特征,并获得检测到的人脸的轮廓。

通过人脸检测,您可以获得执行某些任务(如美化自拍照片和肖像或者根据用户的照片生成头像)所需的信息。

由于机器学习套件可以实时执行人脸检测,因此您可以在视频聊天或响应玩家面部表情的游戏等应用中使用该功能。

iOS Android 如果您是Flutter开发者,那么您可能会对FluteFire感兴趣,它包含一个适用于Firebase的MLVisionAPI的插件。

这是适用于Firebase的机器学习套件的Beta版。

此API可能会以不向后兼容的方式更改,并且不受任何服务等级协议(SLA)或弃用政策的约束。

主要功能 识别并定位面部特征 获得检测到的每个人脸的眼睛、耳朵、脸颊、鼻子和嘴巴的坐标。

获得面部特征的轮廓 获得检测到的人脸及其眼睛、眉毛、嘴唇和鼻子的轮廓。

识别面部表情 判断某人是在微笑还是紧闭双眼。

跨视频帧跟踪人脸 为检测到的每个人脸获得一个标识符。

此标识符在各个调用之间保持一致,因此您可以对视频串流中的特定人员执行图片处理等操作。

实时处理视频帧 人脸检测在设备上执行,其速度足够快,可用于视频处理等实时应用。

示例结果 示例1 对于检测到的每个人脸: 人脸1(共3个) 边界多边形 (884.880004882812,149.546676635742)、(1030.77197265625,149.546676635742)、(1030.77197265625,329.660278320312)、(884.880004882812,329.660278320312) 旋转角度 Y:-14.054030418395996,Z:-55.007488250732422 跟踪ID 2 面部特征点 左眼 (945.869323730469,211.867126464844) 右眼 (971.579467773438,247.257247924805) 嘴巴下部 (907.756591796875,259.714477539062) 等等 特征概率 微笑 0.88979166746139526 左眼睁开 0.98635888937860727 右眼睁开 0.99258323386311531 示例2(人脸轮廓检测) 启用人脸轮廓检测后,对于检测到的每个面部特征,您还会获得一系列点。

这些点表示特征的形状。

下图展示了这些点与人脸的对应情况(点击图片可放大): 面部特征轮廓 鼻梁 (505.149811,221.201797)、(506.987122,313.285919) 左眼 (404.642029,232.854431)、(408.527283,231.366623)、(413.565796,229.427856)、(421.378296,226.967682)、(432.598755,225.434143)、(442.953064,226.089508)、(453.899811,228.594818)、(461.516418,232.650467)、(465.069580,235.600845)、(462.170410,236.316147)、(456.233643,236.891602)、(446.363922,237.966888)、(435.698914,238.149323)、(424.320740,237.235168)、(416.037720,236.012115)、(409.983459,234.870300) 上唇顶部 (421.662048,354.520813)、(428.103882,349.694061)、(440.847595,348.048737)、(456.549988,346.295532)、(480.526489,346.089294)、(503.375702,349.470459)、(525.624634,347.352783)、(547.371155,349.091980)、(560.082031,351.693268)、(570.226685,354.210175)、(575.305420,359.257751) (等等) 发送反馈 Exceptasotherwisenoted,thecontentofthispageislicensedundertheCreativeCommonsAttribution4.0License,andcodesamplesarelicensedundertheApache2.0License.Fordetails,seetheGoogleDevelopersSitePolicies.JavaisaregisteredtrademarkofOracleand/oritsaffiliates. Lastupdated2021-11-03UTC. [{ "type":"thumb-down", "id":"missingTheInformationINeed", "label":"没有我需要的信息" },{ "type":"thumb-down", "id":"tooComplicatedTooManySteps", "label":"太复杂/步骤太多" },{ "type":"thumb-down", "id":"outOfDate", "label":"内容需要更新" },{ "type":"thumb-down", "id":"translationIssue", "label":"翻译问题" },{ "type":"thumb-down", "id":"samplesCodeIssue", "label":"Samples/codeissue" },{ "type":"thumb-down", "id":"otherDown", "label":"其他" }] [{ "type":"thumb-up", "id":"easyToUnderstand", "label":"易于理解" },{ "type":"thumb-up", "id":"solvedMyProblem", "label":"解决了我的问题" },{ "type":"thumb-up", "id":"otherUp", "label":"其他" }] 需要向我们提供更多信息? 学习 指南 参考 示例 库 GitHub 掌握动态 博客 Firebase峰会 Facebook Twitter YouTube 支持 与支持团队联系 StackOverflow Slack社区 Googlegroup 版本说明 常见问题解答 Android Chrome Firebase GoogleCloudPlatform 所有产品 条款 隐私权政策 Language English BahasaIndonesia Deutsch Español–AméricaLatina Français Italiano Polski Português–Brasil TiếngViệt Türkçe Русский עברית' العربيّة فارسی हिंदी বাংলা ภาษาไทย 中文–简体 中文–繁體 日本語 한국어



請為這篇文章評分?