分享好友 最新动态首页 最新动态分类 切换频道
FindShapeModel崩溃
2024-12-26 23:17


目前Android平台上进行人脸特征识别非常火爆,本人研究生期间一直从事人脸特征的处理,所以曾经用过一段ASM(主动形状模型)提取人脸基础特征点,所以这里采用JNI的方式将ASM在Android平台上进行了实现,同时在本应用实例中,给出了几个其他的图像处理的示例。

由于ASM (主动形状模型,Active Shape Model)的核心算法比较复杂,所以这里不进行算法介绍,我之前写过一篇详细的算法介绍和公式推导,有兴趣的朋友可以参考下面的连接: ASM(主动形状模型)算法详解

接下来介绍本应用的实现。 首先,给出本应用的项目源码: Android ASM Demo 在这个项目源码的README中详细介绍了怎么配置运行时环境,请仔细阅读。 本项目即用到了Android JNI开发,又用到了Opencv4Android,所以,配置起来还是很复杂的。Android JNI开发配置请参考:Android JNI,Android 上使用Opencv请参考:Android Opencv

整个应用的代码比较多,所以如果想很好的了解项目原理,最好还是将代码下载下来仔细看看。

首先给出本地cpp代码,下面的本地cpp代码负责调用stasm提供的c语言接口:

stasm代码比较多,这里不具体给出,这里特别给出一下Android.mk这个Android平台JNI代码的makefile

需要特别注意: NDK在Ubuntu平台下build代码时会自动删除已经存在了的动态链接库文件,因为我们需要在Android项目中引用OpenCV4Android提供的libopencv_java.so这个链接库,然而每次build JNI代码的时候NDK都会把这个.so文件删了,所以,需要用一个小trick,就是上面的Android.mk文件中最后一部分,采用prebuild的libopencv_java.so

这个地方当时迷糊了我很久,并且浪费了很多时间进行处理,这个现象在Windows上是不存在的。WTF!

然后是Android中java代码对Native JNI code的调用

然后就是主程序啦,主程序中有很多trick,目的是让Android能够高效的进行计算,因为ASM的计算量非常大,在Android平台上来说,需要消耗大量的时间,所以肯定不能放在UI线程中进行ASM计算。

本应用中通过AsyncTask来进行ASM特征点人脸定位

并且在主界面中,实时的进行人脸检测,这里人脸检测是通过开启一个新的线程进行的:

线程定义如下:

貌似代码有点多,所以,还是请看源代码吧。
下面给出几个系统的应用截图,由于本人太屌丝,所以用的红米1S,性能不是很好,请见谅。。。
同时感谢Google提供赫本照片,再次申明文明转载,MD.

应用启动之后:

分为四个主窗口,第一个是摄像头预览,第二个是人脸检测,第三个是Canny边缘检测,最后一个是ASM计算,因为ASM计算比较耗时,所以提供了一个按钮对最新的人脸计算ASM.

计算ASM以后:

然后点击第四个区域可以进行ASM特征点的图片查看:

第二个人脸检测窗口点击以后会进行一个人脸检测的Activity:

点击第三个窗口可以进入Canny边缘检测的Activity:

最新文章
欧洲杯克罗地亚队11威尔士队(2020欧洲杯克罗地亚国家队阵容)
1、克罗地亚vs威尔士比分2、世界足球国家队排名前三十3、欧洲杯积分榜排名4、欧洲杯都有哪些国家5、2024欧洲杯预选赛积分榜最新6、克罗地亚和威尔士哪个强年3月22日03:45,以色列VS冰岛,比分2:2。2024年3月22日03:45,威尔士VS芬兰,比
路由器助手
《路由器助手》是款非常好用的路由器连接助手,适用于路由器的PPPoE协议拨号,让你在手机一键轻松设置密码。你还等什么?赶快下载体验吧。本软件为Android手机端路由器连接助手,适用于路由器的PPPoE协议拨号。为了软件体验及质量,我们不投
SLAM优化算法:图优化和凸优化算法的区别
小白:师兄师兄,最近我在看SLAM的优化算法,有种方法叫“图优化”,以前学习算法的时候还有一个优化方法叫“凸优化”,这两个不是一个东西吧?师兄:哈哈,这个问题有意思,虽然它们中文发音一样,但是意思差别大着呢!我们来看看英文表达
"赛博演猿:全球领先的人工智能数字人AIGC平台" – 技术分享
网址:https://www.zr-ai.com/在数字化时代,人工智能和数字人技术正在重塑我们的互动方式和内容创作。赛博演猿,作为全球领先的人工智能数字人AIGC平台,正以其自主研发的创新技术,为数字人领域带来革命性的变化。一、集成前沿技术的数字
美术画架双面画板儿童学习画板益智玩具多功能带画纸白板黑板0918信息
产品详细说明:产品名称:美术画架双面画板儿童学习画板益智玩具多功能带画纸白板黑板0918产品货号:SXR-0918产品规格:73x56x8CM玩具启迪:1、画画可以发挥孩子的想象力,是一种表达感情的方式。2、画画可以锻炼孩子小手的灵活性和协调性,
从群晖Web Station安装WordPress&PhpMyAdmin看shell的使用
创作立场声明:我再本文中描述的文字内容,为本人亲手创作。感谢小米机械键盘,感谢lg显示器,感谢mac系统,感谢chrome浏览器为本文做的贡献。借着最近蜗牛比较火,我也跟风买了一台,相对其他nas系统来说比较方便,如果你有公网IP可以尝试
www.131pk.com
通过本工具可以快速查询到您站点的谷歌(www.google.com)、百度(www.baidu.com)、必应(cn.bing.com)、雅虎(cn.yahoo.com)、搜搜(www.soso.com)、搜狗(www.sogou.com)、有道(www.youdao.com)等搜索引擎收录情况及反向链接;可以快速查询到谷
Sonar软件下载指南,一键获取使用教程与安装步骤,轻松上手!
Sonar下载指南,提供简单易懂的教程和安装步骤,让您轻松获取使用Sonar的方法。本指南详细介绍了Sonar软件的下载、安装和使用过程,帮助您快速掌握Sonar软件的使用技巧,提高工作效率。无论您是初学者还是专业人士,都能通过本指南轻松上手
ourplay游戏加速器 7.4.4 更新:2024-12-13备案号:沪ICP备17010969号-9A
ourplay安卓版,智能全局搜索,随时随地体验全球精品游戏和应用。ourplay游戏加速器,一般又称OurPlay,谷歌加速器。PUBG NEW STATE抢先畅玩,得限量版跑车皮肤, 11月11日开放测试!OurPlay加速器是一款自带谷歌服务框架的免费加速器,智能
ONE(ONE币)兑换丹麦克朗今日价格行情,ONE(ONE币)今日价格行情,最新消息,ONE24小时实时汇率K线历史走势图分析
ONE是ONE生态的通证。ONE是由BigONE发行的基于以太坊ERC20合约的代币。ONE通证凝聚了BigONE交易平台及生态的所有权益,平台将秉承区块链精神,让所有的用户共享平台收益。1. 永久享受 BigONE 平台 100% 交易手续费的返利BigONE 平台每日会
相关文章
推荐文章
发表评论
0评