JavaCV的摄像头实战之十三:年龄检测


【资料图】

欢迎访问我的GitHub

这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos

本篇概览

本文是《JavaCV的摄像头实战》系列的第十三篇,前文《JavaCV的摄像头实战之十二:性别检测》中,借助训练好的卷积神经网络模型开发出了识别性别的应用,今天在前文基础上做少量改动,实现年龄识别的功能,效果如下图:

应用主要功能如下图所示:

如果您看过《JavaCV的摄像头实战》系列的其他文章,就会发现上图中只有蓝色部分是新增内容,其余的步骤都是固定套路,《JavaCV的摄像头实战》系列的每一个应用玩的都是相同套路:别看步骤挺多,其实都是同一个流程

关于性别和年龄检测使用卷积神经网络推理性别和年龄的更多技术细节,这里有更详细的说明:https://talhassner.github.io/home/publication/2015_CVPR本篇会使用已训练好的Caffe 模型,训练该模型的数据来自Flickr相册,通过从 iPhone5(或更高版本)智能手机设备自动上传组装而成,并由其作者根据知识共享 (CC) 许可向公众发布,共有26580张照片,涉及2284人,这些人的年龄一共被标识成八组:(0-2、4-6、8-13、15-20、25-32、38-43、48-53、60 -)关于数据源的更多详细,请参考:https://talhassner.github.io/home/projects/Adience/Adience-data.html论文地址:https://talhassner.github.io/home/projects/cnn_agegender/CVPR2015_CNN_AgeGenderEstimation.pdf源码下载《JavaCV人脸识别三部曲》的完整源码可在GitHub下载到,地址和链接信息如下表所示(https://github.com/zq2599/blog_demos):
名称链接备注
项目主页https://github.com/zq2599/blog_demos该项目在GitHub上的主页
git仓库地址(https)https://github.com/zq2599/blog_demos.git该项目源码的仓库地址,https协议
git仓库地址(ssh)git@github.com:zq2599/blog_demos.git该项目源码的仓库地址,ssh协议
这个git项目中有多个文件夹,本篇的源码在javacv-tutorials文件夹下,如下图红框所示:javacv-tutorials里面有多个子工程,《JavaCV的摄像头实战》系列的代码在simple-grab-push工程下:准备:文件下载本次实战需要三个文件:人脸检测的模型文件:https://raw.github.com/opencv/opencv/master/data/haarcascades/haarcascade_frontalface_alt.xml年龄识别的配置文件:https://raw.githubusercontent.com/GilLevi/AgeGenderDeepLearning/master/age_net_definitions/deploy.prototxt年龄识别的模型文件:https://raw.githubusercontent.com/GilLevi/AgeGenderDeepLearning/master/models/age_net.caffemodel我已将上述文件打包上传到CSDN,您也可以在CSDN下载(无需积分):https://download.csdn.net/download/boling_cavalry/70730586准备:代码接口简介编码前,先把涉及到的所有java文件说明一下:AbstractCameraApplication.java:主程序的抽象类,这里面定义了打开摄像头、抓取每一帧、处理每一帧的基本框架,避免每个应用都把这些事情重复做一遍PreviewCameraWithGenderAge.java:主程序,是AbstractCameraApplication的实现类,本次实战的核心功能人脸检测和年龄检测,都委托给它的成员变量detectService去完成DetectService.java:检测服务的接口,里面定义了几个重要的api,例如初始化、处理每一帧、释放资源等AgeDetectService.java:前文GenderDetectService的子类,仅仅是处理推理结果的逻辑与前文的性别识别略有不同,其余功能完全继承自性别识别以上代码,咱们已经在前文写过一次了,今天当然不需要重复再做一次,今天是在上述代码基础上做两处小幅度修改,接下来就开始吧改动一:主程序(PreviewCameraWithGenderAge.java)卷积神经网络所需的配置和模型文件,是在主程序的main方法内设置的,上一章是性别检测,这里替换为年龄检测的文件,如下所示,请您将路径换为自己电脑上的文件路径:
public static void main(String[] args) {        String base = "E:\\temp\\202112\\25\\opencv\\";                DetectService detectService = new AgeDetectService(                base + "haarcascade_frontalface_alt.xml",                base + "age\\deploy.prototxt",                base + "age\\age_net.caffemodel");        new PreviewCameraWithGenderAge(detectService).action(1000);    }
改动二:检测服务实现(GenderDetectService的子类)前文《性别检测》的核心功能都集中在GenderDetectService.java中,今天要做的年龄检测,除了推理结果的处理逻辑略有不同,其余功能与《性别检测》完全一致所以,实现年龄检测的最简单方法就是写一个子类继承GenderDetectService,这个子类中只有神经网络推理结果的处理逻辑,完整代码如下,注释中已经有了详细说明,就不多赘述了:
package com.bolingcavalry.grabpush.extend;import lombok.extern.slf4j.Slf4j;import org.bytedeco.javacpp.DoublePointer;import org.bytedeco.opencv.opencv_core.Mat;import org.bytedeco.opencv.opencv_core.Point;import static org.bytedeco.opencv.global.opencv_core.minMaxLoc;/** * @author willzhao * @version 1.0 * @description 检测年龄的服务 * @date 2021/12/3 8:09 */@Slf4jpublic class AgeDetectService extends GenderDetectService {    /**     * 设置训练模型时划分的年龄段,所以推理结果也是这样的年龄段     */    private static final String[] AGES = new String[]{"0-2", "4-6", "8-13", "15-20", "25-32", "38-43", "48-53", "60-"};    /**     * 构造方法,在此指定proto和模型文件的下载地址     *     * @param classifierModelFilePath     * @param cnnProtoFilePath     * @param cnnModelFilePath     */    public AgeDetectService(String classifierModelFilePath, String cnnProtoFilePath, String cnnModelFilePath) {        super(classifierModelFilePath, cnnProtoFilePath, cnnModelFilePath);    }    @Override    protected String getDescriptionFromPredictResult(Mat prob) {        DoublePointer pointer = new DoublePointer(new double[1]);        Point max = new Point();                // 把prob理解为一个数组,        // 第一个元素是"0-2"的置信度        // 第二个元素是"4-6"的置信度        // 第三个元素是"8-13"的置信度        // 第四个元素是"15-20"的置信度        // ...        // 第八个元素是"60-"的置信度        // minMaxLoc方法帮忙我们找出了置信度最高的元素,max是元素位置,pointer是这个元素的置信度        minMaxLoc(prob, null, pointer, null, max, null);        // 如果置信度太低,那就是"难以置信",就返回空字符串        if (pointer.get()<0.6d) {            return "";        } else {            // 如果置信度可信,就返回该元素对应的年龄范围            return AGES[max.x()];        }    }}
至此,编码完成,按套路出牌让咱们省下不少时间,接下来开始验证验证确保摄像头工作正常,运行PreviewCameraWithGenderAge类的main方法(再次提醒,main方法中文件的位置,注意是年龄检测的模型文件,不是性别检测的)天气很冷,为了领到免费盒饭,群众演员早就等得不耐烦了,让他站在摄像头前,如下图,年龄识别成功,且实时展示:至此,本地窗口预览集成人脸检测和年龄检测的功能就完成了,得益于JavaCV的强大,整个过程是如此的轻松愉快,接下来请继续关注欣宸原创,《JavaCV的摄像头实战》系列还会呈现更多丰富的应用;关于性别+年龄识别如果您关注过网上关于性别和年龄识别相关的技术文章,您会发现通常这些文章会将两种识别集成在一起讲,并且代码的效果也是继承了两种识别的,如下图:也行您会有疑问:欣宸为何不把两种识别放在一篇文章和一个demo中,这样内容更完整demo也更强大?之所以分文两篇,是因为年龄和性别识别的套路比较接近,如果在一篇文中讲完,无非是多写几行代码多打几行字,不会对技术带来提升,那还不如每篇只聚焦一个功能,把初始化、使用、资源释放等技术点说清楚,至于单独用还是组合用,留给聪明的读者按自己的需求去自由组合即可欢迎关注博客园:程序员欣宸

学习路上,你不孤单,欣宸原创一路相伴...

标签:

世界快消息!八戒悟空剧情最新详细攻略流程_《零号事件》全剧情流程图文攻略多种结局介绍

《零号事件》受到了很多老玩家的欢迎。这个游戏怎么玩?我们来看看玩家

07-03 13:03:12

岳阳县卫健局召开2023年庆“七一”学习表彰大会-每日播报

会议现场。红网时刻新闻7月3日讯(通讯员陈健康)6月29日上午,岳阳县

07-03 12:53:38

港股午评:恒生指数涨1.73%,恒生科技指数涨3.22%,美图公司涨超13%,小鹏汽车涨近12%-每日热点

金融界7月3日消息今日早间,港股市场高开后震荡走高,截至午间收盘,恒

07-03 12:07:57

特斯拉Q2刷新纪录的同时,还干了这些事-全球时讯

北京时间7月3日,特斯拉交出了令人惊艳的季度成绩。特斯拉新一季全球生

07-03 11:52:39

高端白酒价格波动引争议,茅台为何能成为“唯一例外”? 全球短讯

近期以来,在这个白酒销售的传统淡季,白酒价格行情的关注度却尘嚣直上

07-03 11:01:38

焦点要闻:方如沁欧阳少恭(方如沁)

来为大家解答以下的问题,如沁欧阳少恭,方如沁这个很多人还不知道,现

07-03 10:51:19

宁波哪个中医看男科好「问诊」-宁波哪个医院看早泄好一点

患有男科疾病的人常常会懊悔为什么没珍重自己的身体健康,男性疾病的出

07-03 10:20:09

优樟生物一致处于停业状态 公司持续经营存在重大不确定性 每日速读

挖贝网6月30日,优樟生物(833074)的持续督导主办券商华龙证券近日发

07-03 09:55:42

男孩为保护孕妈电梯里劝止烟民 网友:是个小男子汉 今头条

近日,广东。有人在电梯里抽烟,为保护怀二胎的妈妈和肚子里的宝宝,小

07-03 09:34:25

当前焦点!苏丹多地冲突仍在持续 民众期盼早日停火

当地时间7月2日,苏丹武装部队与快速支援部队在苏丹首都喀土穆市及

07-03 09:03:06

一些用人单位为了营销和扩大宣传,强制要求员工转发工作信息引发热议 “朋友圈”,公司怎能想占就占

工人日报报道前不久,重庆市高级人民法院公布了一则“职工不转发朋友圈

07-03 08:52:19

霍雨浩王冬对战被删,赵无极雕像在内院,周漪大美女登场

斗罗大陆2第四集预告已经更新了,不过比预想中要晚。因为以前斗罗大陆

07-03 08:37:20

3名国务院机构改革涉改部门“一把手”职务变动|天天亮点

6月以来,3名国务院机构改革涉改部门“一把手”的职务均出现变动。根据

07-03 08:08:19

【环球报资讯】第八批国家药品集采呈现“价降、量升、质优”态势

7月1日起,第八批国家组织药品集采中选结果在河南、江西、河北等多地陆

07-03 07:02:45

看点:Scotto:森林狼已经和卢卡-加尔扎签下了一份双向合同

Scotto:森林狼已经和卢卡-加尔扎签下了一份双向合同,名记,自由球员,sc

07-03 06:02:32

玻尿酸隆鼻能维持多久_玻尿酸隆鼻手术的费用

很多人认为自己的五官并不完美,会尽力去改变。使用玻尿酸已经成为很多

07-03 06:13:27

《动物派对》新手教程怎么过  新手入门指南

《动物派对》是一款需要玩家不断尝试和学习的游戏。对于刚接触该游戏的

07-03 04:48:32

世界热门:自我认知

1、自我认知(self-cognition)指的是对自己的洞察和理解,包括自我观

07-03 02:15:36

范阳卢氏宗祠(范阳卢氏)

来为大家解答以下的问题,阳卢氏宗祠,范阳卢氏这个很多人还不知道,现

07-03 02:00:13

天天滚动:让百姓更“富”,黔南州以林长制为抓手,全面贯彻落实惠民政策

6月30日,记者从黔南州林长制工作新闻发布会上获悉,近年来,黔南州以

07-02 23:24:21

伊森韦博 前沿热点

1、在7月15日的时候,于晓光疑似抱着美女做自己的大腿视频曝光,而且大

07-02 22:10:00

环球热点!马英九:民进党官员操守糟糕 已成“桃花党”

马英九今出席国民党“总统”暨“立委”参选人造势大会时火力全开,他表

07-02 21:58:15

世界焦点!给群众吃“定心丸”!政策兜底 分类分级收购受损小麦

央视网消息:目前,新麦收购进入旺季。在2023年的麦收时节,河南遭遇严

07-02 20:44:59

望(对于望简单介绍)

聊聊一篇,对于望简单介绍的文章,网友们对这件事情都比较关注,那么现

07-02 20:36:53

天天简讯:中国绿色算力大会侧记:青城之绿不仅是一种颜色

题:中国绿色算力大会侧记:青城之绿不仅是一种颜色中新网记者乌娅娜7

07-02 19:54:19

56款精酿啤酒、乐队DJ轮番献演,来这里嗨“啤”一夏!

56款精酿啤酒、乐队DJ轮番献演,来这里嗨“啤”一夏!夏日的夜晚,伴着

07-02 18:43:35

盐城市市场监管局打造农资监管新模式|世界最资讯

为进一步规范农资市场秩序,今年以来,市市场监管局多措并举打造农资监

07-02 17:53:04

没有借条不能借钱吗_每日热文

一、没有借条不能借钱吗没有借条可以借钱,但是最好通过订立借款合同,

07-02 16:47:22

世界短讯!中国中车:复兴号在青藏铁路正式开跑

据中国中车消息,7月1日8时30分在庆祝党的102年华诞之际,中国中车研制

07-02 16:08:33

百分百“中国造”!国内规模最大超高压跨江输变电工程建成投运

今天(7月2日),国内规模最大的超高压跨越长江输变电工程——泰州凤城

07-02 14:21:29

世界即时看!华泰证券:美国5月核心PCE通胀同比略低于预期 预计美联储7月会议大概率加息25bp

智通财经获悉,华泰证券发布研究报告称,5月核心PCE环比从0 4%回落至0

07-02 14:08:07

环球速递!重庆12区县出现暴雨 合川区柏水溪、北碚区黑水滩河超警

原标题:重庆12区县出现暴雨合川区柏水溪、北碚区黑水滩河超警重庆市水

07-02 13:04:25

微动态丨城市拍档(关于城市拍档的基本详情介绍)

1、拍档专辑是发行于2004年的一个歌曲专辑。2、专辑收录了14首歌曲。本

07-02 12:14:01

垄断是怎样形成的?_垄断是怎样形成的垄断组织都有哪些形式

1、1 卡特尔(源自法语Cartel),原义协定或同盟,也会受到罚款、撤销享

07-02 11:18:31

每日观点:今年以来我国高温日数创历史新高 北方高温多次叠加实属罕见

今年以来我国高温日数创历史新高北方高温多次叠加实属罕见---今年以来

07-02 11:02:33

董卓乱政【7】:关东吕布

这一回先说吕布的事情。吕布字奉先,五原人,当时属于边境,后来他和刘

07-02 09:52:14

健身后发现的12个结论!

1、一个2、我直到健身才知道。3、把肚子变成腹肌真的很性感。4、25、我

07-02 09:06:44

快报:各地丰富供给、释放消费新潜力 为促消费扩内需蓄能加力

各地丰富供给、释放消费新潜力为促消费扩内需蓄能加力,中国,内需,消费

07-02 08:16:21

当前速看:经济日报金观平:建设现代化产业体系要锚定绿色化

经济日报发文指出,近年来,我国绿色发展成就举世瞩目。无论是可再生能

07-02 07:19:31

1967年科学家伊斯雷尔得出指出非旋转黑洞是不规则球(科学黑洞:科学家复活被冷冻48500年病毒)

【史前巨型病毒被复活,听起来恐怖吗?】人类这个物种在地球上发展繁衍

07-02 06:55:44

创尔美面膜好吗_创尔美面膜效果怎么样主要成分是什么有哪些产品

来自“河南省禹州市”的“小一博”最佳回答:这款面膜的主要成分是水和

07-02 05:39:06

解局丨“长江首城”宜宾与“东方之珠”香港的双向奔赴

从内陆到沿海、从长江经济带到粤港澳大湾区,宜宾香港虽相隔千里,却携

07-02 05:32:12

神应散(关于神应散介绍)-环球聚焦

1、神应散,中医方剂名。2、出自《三因极一病证方论》卷七。3、具有《

07-02 03:09:07

祝贺!孙颖莎抗日成功,3-0横扫早田希娜,晋级女单决赛争冠军_每日视点

乒乓球WTT克罗地亚赛激战正酣,女单半决赛再次上演中日焦点之战,国乒

07-02 00:45:54

岳阳市中医医院有了君山分院

00:21湖南日报·新湖南客户端7月1日讯(记者徐典波通讯员程垦华邹汀贤

07-01 22:20:23

漫画孟子|环球通讯

1、《漫画孟子》是2009年海燕出版社出版的图书,作者是洋洋兔。2、。本

07-01 20:59:14

环球微动态丨切实解决群众的纠纷是法官的职责

6月27日,西安市莲湖法院庙后街法庭张敏法官前往莲湖路第一社区,开展

07-01 19:57:18

微信校园收费政策:一场涉及成本、便利与公平的讨论

近日,微信宣布将从7月1日起对校园场景用户进行精细化管理,除了收取学

07-01 18:59:27

【发现最美铁路】发挥“火车头”作用,为新时代东北振兴赋能助力

【发现最美铁路】发挥“火车头”作用,为新时代东北振兴赋能助力

07-01 18:54:25

赓续红色血脉 又一架“中国儿童号”落户姜堰实小

铭记红色历史,传承红色基因。7月1号上午,姜堰区实验小学教育集团举行

07-01 17:43:22

如何准备医疗事故鉴定所需的资料 头条
感受雪景的心情短语_朋友圈里关于雪的说说心情短语-天天热点
世界热推荐:孟母三迁的故事内容和启示_孟母三迁的故事内容
天天时讯:和平的反义词_关于的名人名言有哪些
热资讯!7月1日,带你见“最帅女机长”
公安部:20名重大文物犯罪在逃人员已到案19人_全球视讯
蛇虫活跃期!老人睡梦中被蛇咬险丢命,医院提醒……
文化通古今 科技赋未来——香港“维园庆回归”活动见闻-环球观天下
千禾酱油配料表图片_千禾酱油是哪个国家的 今亮点
7月1日起,境外人士可使用电子支付乘坐成都地铁、公交_环球聚看点
柏拉图的哲学思想的主要内容_柏拉图的哲学思想 每日热讯
华能国际:6月30日融券卖出23.1万股,融资融券余额3.38亿元_全球热点
法国政府宣布取消大型活动以应对全国骚乱
【全球热闻】宜尔子孙承承兮的意思是什么意思_宜尔子孙承承兮的意思
7月1日高温达本轮过程顶峰
九人排球火爆“乡村” 村民的热情为乡村振兴注入新的活力_世界热头条
俄罗斯鲟鱼多少钱一斤_鲟鱼多少钱一斤
【独家焦点】太难了!5月份销量不足10台的SUV,共有35款,国产车占了一多半
北大校务委员会副主任 图书馆员相关内容简介|世界快播
明星代言,打价格战!小鹏G6注定成功,但还是要为小鹏捏把汗?
安全又舒适的避孕方法有哪些_virginmobile-报资讯
史德拉海牛灭绝_史德拉海牛
赣州人才招聘网_赣州有哪家免费发布招聘信息的网站
华夏基金:选定海通证券为华夏沪深300ESG基准ETF等产品的流动性服务商 世界实时
当前通讯!李佳璇的微博 李佳璇出道20年未红
今日播报!我与儿子,两代人的“那个夏天”
全球关注:国产七座SUV哪款好(国产七座SUV车型排名榜)
中大力德(002896)6月30日主力资金净买入2.44亿元
即时焦点:金山办公与NVIDA团队合作 加速WPS AI落地
抖音上线粉丝抹除限制关注功能 当前热门
“科学和艺术总在山顶重逢” 这场人工智能艺术展在华科大举行
每日讯息!左耳票房多少_致青春和左耳的票房
创业板指涨2%;锂电池板块强势反弹丨早市热点-全球新资讯
鸡冠花假尾孢褐斑病_关于鸡冠花假尾孢褐斑病简述
横琴人寿 20 亿元投资资产违约,公司称已计提必要减值,中植集团所持部分股权被冻结 当前快报
浙江省打出组合拳促进高校毕业生就业
精进电动:公司有减速器产品 不单独出售
余额宝理财通等收益率最新对比 宝类理财TOP10余额宝规模大-全球实时
冬眠的小动物有哪些动物为什么要冬眠_冬眠的小动物有哪些
当前关注:南宁拟增加救治、医疗等优待措施保障见义勇为人员
竞争逐渐激烈,特斯拉开始投放广告 当前独家
要闻:格雷罗:图赫尔令我学到很多,也是他最早让我踢中场
【环球新视野】解谜冒险游戏《茧》9/29推出 登陆各大平台
U. 像个容器,又像凹陷下去,缺了什么的。 1. 像个容器 每日短讯
世界十大名牌包包品牌图片_世界十大名牌包包
深圳市福田区人力资源服务中心邮编_深圳市福田区人力资源服务中心
海伦哲因信息披露违规等违规行为被深圳证券交易所通报批评|当前报道
天天热点!iPhone:我 16 岁了,你用过几款!
姜祥佑右肩缠绷带,赛后国安队医随行准备去做检查
世界快消息!股价两月涨近130%!中马传动遭量化游资爆炒,公司回应称不涉及机器人概念
x 广告
x 广告

Copyright ©  2015-2022 南方纤维网版权所有  备案号:粤ICP备18023326号-21   联系邮箱:855 729 8@qq.com