纠纷奇闻作文社交美文家庭
聚热点
家庭城市
爱好生活
创业男女
能力餐饮
美文职业
心理周易
母婴奇趣
两性技能
社交传统
新闻范文
工作个人
思考社会
作文职场
家居中考
兴趣安全
解密魅力
奇闻笑话
写作笔记
阅读企业
饮食时事
纠纷案例
初中历史
说说童话
乐趣治疗

最简单的人脸检测(免费调用百度AI开放平台接口)

12月16日 生死族投稿
  欢迎访问我的GitHub
  这里分类和汇总了欣宸的全部原创(含配套源码):https:github。comzq2599blogdemos本篇概览在检测人脸数量、位置、性别、口罩等场景时,可以考虑使用百度开放平台提供的web接口,一个web请求就能完成检测得到结果,本篇记录了从申请到真实调用的完整过程,由以下步骤组成:
  注册百度账号按照您的实际情况,注册个人或者企业账号,这个不多说了登录百度智能云使用刚才注册号的账号登录,地址是:https:login。bce。baidu。com实名认证打开百度智能云的控制台:https:console。bce。baidu。com如下图,点击下图红框中的两个按钮,完成激活和实名认证:
  创建应用为了能够使用百度服务,需要创建一个应用先选择类别,在控制台页面,操作如下图,点击红框四:
  此刻已跳转到管理引用的页面,点击下图红框中的创建应用
  为了免费使用百度的服务,先点击下图红框中的去领取:
  在领取页面勾选人脸检测:
  领取完成后,回到创建应用的页面,发现这些服务已经被勾选,如下图:
  应用相关的信息填写完成后,提交表单即可完成创建应用拿到APIKey和SecretKey在应用列表页面拿到APIKey和SecretKey,这些都是调用百度服务的关键授权信息,如下图红框所示:
  得到accesstoken在使用百度提供的各种服务(如人脸检测)的时候,需要带上授权信息证明你有使用该服务的权限,这个授权信息就是accesstoken最简单的方式就是curl命令获取curlikhttps:aip。baidubce。comoauth2。0token?granttypeclientcredentialsclientid【百度云应用的APIKey】clientsecret【百度云应用的SecretKey】这里用postman尝试上述请求,如下图,红框中就是这次请求咱们要得到的accesstoken信息:
  拿到accesstoken,就可以开始的调用百度的服务了,如下图,官方文档说了这个accesstoken的有效期是30天:
  关于百度云授权信息的更多信息请在此查看:https:cloud。baidu。comdocFACEsTkqahnjtk编码百度关于人脸检测的文档:https:ai。baidu。comaidocFACEyk37c1u4t人脸检测服务是个web接口,也能通过操作curl或者postman来完成,但是为了在代码中使用百度的服务,这里写一段代码来完成人脸检测今天的项目是个普通的maven工程,没有使用spring或者spingboot框架,只有一些简单的java类和main方法首先要在项目中引入下面三个库:!快捷代码辅助库dependencygroupIdorg。projectlombokgroupIdlombokartifactIdversion1。18。18versiondependency!网络请求库dependencygroupIdcom。squareup。okhttp3groupIdokhttpartifactIdversion3。10。0versiondependency!JSON处理dependencygroupIdcom。fasterxml。jackson。coregroupIdjacksondatabindartifactIdversion2。11。0versiondependency先新建一个对象FaceDetectRequest。java,用于保存请求参数:packagecom。bolingcavalry。grabpush。bean。importcom。fasterxml。jackson。annotation。JsonPimportlombok。Dauthorwillzhaoversion1。0description请求对象date20221116:21DatapublicclassFaceDetectRequest{图片信息(总数据大小应小于10M),图片上传方式根据imagetype来判断S图片类型BASE64:图片的base64值,base64编码后的图片数据,编码后的图片大小不超过2M;URL:图片的URL地址(可能由于网络等原因导致下载图片时间过长);FACETOKEN:人脸图片的唯一标识,调用人脸检测接口时,会为每个人脸图片赋予一个唯一的FACETOKEN,同一张图片多次检测得到的FACETOKEN是同一个。JsonProperty(imagetype)StringimageT包括age,expression,faceshape,gender,glasses,landmark,landmark150,quality,eyestatus,emotion,facetype,mask,spoofing信息逗号分隔。默认只返回facetoken、人脸框、概率和旋转角度JsonProperty(facefield)StringfaceF最多处理人脸的数目,默认值为1,根据人脸检测排序类型检测图片中排序第一的人脸(默认为人脸面积最大的人脸),最大值120JsonProperty(maxfacenum)intmaxFaceN人脸的类型LIVE表示生活照:通常为手机、相机拍摄的人像图片、或从网络获取的人像图片等IDCARD表示身份证芯片照:二代身份证内置芯片中的人像照片WATERMARK表示带水印证件照:一般为带水印的小图,如公安网小图CERT表示证件照片:如拍摄的身份证、工卡、护照、学生证等证件图片默认LIVEJsonProperty(facetype)StringfaceT活体控制检测结果中不符合要求的人脸会被过滤NONE:不进行控制LOW:较低的活体要求(高通过率低攻击拒绝率)NORMAL:一般的活体要求(平衡的攻击拒绝率,通过率)HIGH:较高的活体要求(高攻击拒绝率低通过率)默认NONEJsonProperty(livenesscontrol)StringlivenessC人脸检测排序类型0:代表检测出的人脸按照人脸面积从大到小排列1:代表检测出的人脸按照距离图片中心从近到远排列默认为0JsonProperty(facesorttype)intfaceSortT}其次是响应对象FaceDetectResponse。java:packagecom。bolingcavalry。grabpush。bean。importcom。fasterxml。jackson。annotation。JsonPimportlombok。Dimportlombok。ToSimportjava。io。Simportjava。util。Lauthorwillzhaoversion1。0descriptionTODOdate20221113:30DataToStringpublicclassFaceDetectResponseimplementsSerializable{返回码JsonProperty(errorcode)StringerrorC描述信息JsonProperty(errormsg)StringerrorM返回的具体内容Rauthorwillzhaoversion1。0description返回的具体内容date20221116:01DatapublicstaticclassResult{人脸数量JsonProperty(facenum)privateintfaceN每个人脸的信息JsonProperty(facelist)ListFacefaceLauthorwillzhaoversion1。0description检测出来的人脸对象date20221116:03DatapublicstaticclassFace{位置L是人脸的置信度JsonProperty(faceprobability)口罩Mauthorwillzhaoversion1。0description人脸在图片中的位置date20221116:04DatapublicstaticclassLocation{}authorwillzhaoversion1。0description口罩对象date20221116:11DatapublicstaticclassMask{}}}}这里有一处要注意:FaceDetectResponse对象中的字段是少于真实响应返回的字段的,这是因为这个demo不需要完整的返回内容,因此只要选择应用需要的字段定义在FaceDetectResponse。java中即可最后是完整的服务类BaiduCloudService。java,如下所示,即读取图片转base64构造请求对象提交请求收到响应解析响应:packagecom。bolingcavalry。grabpush。importcom。bolingcavalry。grabpush。bean。request。FaceDetectRimportcom。bolingcavalry。grabpush。bean。response。FaceDetectRimportcom。fasterxml。jackson。databind。DeserializationFimportcom。fasterxml。jackson。databind。ObjectMimportokhttp3。;importsun。misc。BASE64Eimportjava。io。FileInputSimportjava。io。IOEimportjava。io。InputSauthorwillzhaoversion1。0description百度云服务的调用date20221111:06publicclassBaiduCloudService{转换BASE64EncoderencodernewBASE64Encoder();OkHttpClientclientnewOkHttpClient();staticfinalMediaTypeJSONMediaType。parse(charsetutf8);staticfinalStringURLTEMPLATEhttps:aip。baidubce。comrest2。0facev3detect?SObjectMappermappernewObjectMapper();publicBaiduCloudService(Stringtoken){this。重要:反序列化的时候,字符的字段如果比类的字段多,下面这个设置可以确保反序列化成功mapper。disable(DeserializationFeature。FAILONUNKNOWNPROPERTIES);}将指定位置的图片转为base64字符串paramimagePathreturnprivateStringimg2Base64(StringimagePath){InputStreaminputSbyte〔〕try{inputStreamnewFileInputStream(imagePath);datanewbyte〔inputStream。available()〕;inputStream。read(data);inputStream。close();}catch(IOExceptionioException){ioException。printStackTrace();}returnnulldata?null:encoder。encode(data);}检测指定的图片paramimageBase64returnpublicFaceDetectResponsedetect(StringimageBase64){请求对象FaceDetectRequestfaceDetectRequestnewFaceDetectRequest();faceDetectRequest。setImageType(BASE64);faceDetectRequest。setFaceField(mask);faceDetectRequest。setMaxFaceNum(6);faceDetectRequest。setFaceType(LIVE);faceDetectRequest。setLivenessControl(NONE);faceDetectRequest。setFaceSortType(0);faceDetectRequest。setImage(imageBase64);FaceDetectResponsefaceDetectRtry{用Jackson将请求对象序列化成字符串StringjsonContentmapper。writeValueAsString(faceDetectRequest);RequestBodyrequestBodyRequestBody。create(JSON,jsonContent);RequestrequestnewRequest。Builder()。url(String。format(URLTEMPLATE,token))。post(requestBody)。build();Responseresponseclient。newCall(request)。execute();StringrawRltresponse。body()。string();faceDetectResponsemapper。readValue(rawRlt,FaceDetectResponse。class);}catch(IOExceptionioException){ioException。printStackTrace();}returnfaceDetectR}publicstaticvoidmain(String〔〕args){图片在本地的位置StringimagePathE:temp2022011pic1。百度云的token,是通过此接口得到的:https:aip。baidubce。comoauth2。0tokenStringtoken24。95xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx。xxxxxxx。xxxxxxxxxx。实例化服务对象BaiduCloudServiceservicenewBaiduCloudService(token);将图片转为base64字符串StringimageBase64service。img2Base64(imagePath);向百度服务发请求,检测人脸FaceDetectResponsefaceDetectResponseservice。detect(imageBase64);输出检测结果System。out。println(faceDetectResponse);}}确保用于检测的照片与上述代码中的路径一致(E:emp2022011pic1。jpeg),我这里选用了一张戴口罩的单人照,如下图:
  执行BaiduCloudService的main方法,控制台将百度返回的检测结果打印出来,注意下面的内容并非JSON,而是lombok的ToString注解拼接出的效果:
  至此,通过百度的web接口调用人脸检测的实战已完成,可见有了云平台的支持,对于使用方来说开发过程变得非常简单使用限制既然是免费的,就很难十全十美,这样的web服务存在QPS限制,如下图,一秒钟不能超过两个,如果完成了企业认证,可以增加到十个,如果依旧不能满足需要,就只能付费了:
  欢迎关注头条号:程序员欣宸学习路上,你不孤单,欣宸原创一路相伴。。。
投诉 评论 转载

社区累计代码量1亿多行OpenHarmony3。2Relea4月19日,开放原子开源基金会OpenHarmony开发者大会2023举办,OpenHarmony3。2Release版本发布。截至目前,OpenHarmony社区已有51家共……日本似乎正炮制金融珍珠港,英法德或效仿偷袭美债,大买家有主动迹象表明,在美联储超强加息周期内,伴随强美元走势,欧盟的多个成员国,以及英国正在成为牺牲品。最新数据显示,19个欧元区的国家10月份的总体通胀率从9月份的9。9跃升至10。7,……天下第一庄为何不是石家庄,而是台儿庄?中国最美水乡就在这暮色低垂,华灯初上,古老的运河上,游船点点,这里正是天下第一庄(清乾隆赐)台儿庄古城,有中国最美水乡之誉。进入正题之前,分享一个有趣的疑问:天下第一庄为何不是国际庄……李泽湘入室弟子下工厂,工业机器人的下一个黄金十年路在何方?轻量化机器人市场未来一定是中国机器人的天下。优化劳动力配置需求和智能制造的双重机遇下,机器人市场成为了近年来最为热门的赛道,中国也正在孕育着全球最大的机器人市场。在……为什么NBA球员会破产?林书豪采访100还没有到手就蒸发64为什么我们常常听到一些NBA球员破产流落街头的传言?他们究竟是如何花光亿元收入的?前NBA球员林书豪接受了采访。对于NBA很多球迷来说,最早知道NBA重税的可能是姚明在后……中国三大世界级城市群之一京津冀城市群中国三大城市群之一的京津冀城市群我国现有三个世界级的城市群:长江三角洲城市群(以下简称长三角城市群)、珠江三角洲城市群(以下简称珠三角城市群,也称粤港澳大湾区)和京津冀城……第一支大牌包一定要选背到退休都不过时的包工作几年,攒了很长时间的钱买的第一只大牌包,承载的不仅是对生活的热爱,更是我们对自己的肯定所以一定要选万年经典,背到退休都会不过时的包款。今天就为大家整理了一下,赶紧瞅瞅哪个是……最简单的人脸检测(免费调用百度AI开放平台接口)欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https:github。comzq2599blogdemos本篇概览在检测人脸数量、位置、性别、口……日本21德国!足球反着买,别墅靠大海?在刚刚结束的2022年卡塔尔世界杯比赛中,日本队以2:1战胜了德国队,逆转取胜!此役日本队顽强的斗志和坚韧不拔的一直闪耀卡塔尔,成就了本次世界杯第二大冷门。值得一提的是,……早春长大衣失宠了,35岁阿姨的短大衣裙子保暖又高级,真美随着冬季面临尾声,早春也即将迎着清爽的微风到来,在冬季常见的长大衣,在早春已经失宠了,对于中年小个子的女性来说,尤其是3035岁左右的阿姨辈儿,短大衣配半裙才是保暖又高级的秘诀……宝妈考编逆袭的感觉不要太爽2020年12月底打算考编,报的粉笔的网课,孩子刚刚8个月,自己带娃,只能是在孩子睡着家务做完的闲暇之余看看书,时间真的太碎片化了,感觉看了跟没看一样。于是决定报机构全日制备考……人前好闺蜜,人后是死敌?这9对明星姐妹花,永远不会和好头条创作挑战赛不知道从什么时候起,塑料姐妹情开始在娱乐圈流行。那些原本很好的朋友,甚至是闺蜜,可是却因为各种各样的原因,最后却成了路人。而在这些说不清道不明的……
现在点名越来越难了,完全叫不出口走进挪威一个安逸至极的国度全国人大代表德力西胡成中加大力度支持精密制造国产替代两会时间又一国产纯电小车,续航408km,新款YOUNG光小新正式上给中国男足队员重新核定薪资的建议NBA常规赛快船胜勇士从宇宙拍摄初创企业通过卫星实现野火早期探测儿歌15首(高扬波)央视主持张蕾真没偶像包袱!穿银西装扎发带跳舞,形象突破大变样三年前把申通卖给马云,套现146亿后,如今的陈小英怎么样了?1换10增至1换15?太阳筹码增加却未见诚意猛龙换杜兰特报价新能源汽车充电桩行业分析赋能新能源汽车,全球需求共振向上
万一发生车祸撞了人该如何理智解决建筑工程质量检测行业的一点感受粮田土地确权纠纷高仿手表在哪里买(网上哪里有卖高仿手表)怎样练三角肌好呢立秋防守大师朱雨玲准备好了吗?全运会冠军在向你招手开分9。4,网飞又双叒叕赢了腮红试色款腮红全系列试色10cm肿块,八个月复发,看她如何走出癌症的阴霾患者故事iPhone14全系新机重磅曝光,iPhone13沦为白菜机她路过了我的青春第一章

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找美丽时装彩妆资讯历史明星乐活安卓数码常识驾车健康苹果问答网络发型电视车载室内电影游戏科学音乐整形