Java基础、中级、高级、架构面试资料

揭秘人工智能面相(看相、算命)原理以及实现

业余杂谈 herman 29697浏览
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog2,发送下载链接帮助你免费下载!
本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog2,之前的微信号好友位已满,备注:返现
受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领
腾讯云】1核2G5M轻量应用服务器50元首年,高性价比,助您轻松上云

最近朋友圈里有很多人在转发一个非常火的人工智能面相小程序,我看了一下它非常火的原因可能是“人工智能”这个流行词。试着从码农的角度去还原它的实现原理,分析它的实现过程。

人们都说千人千面,世界上没有一张相同的面孔。那么面相小程序是如何做到的呢?人工智能在哪里呢?算命先生又是依据什么来算命的呢?

想到了这些,我就去谷歌,去寻找人们是如何算命的!

发现所谓的算命,其实就是人们根据面相十二宫,手相的一些特征来推测。

面相12宫位

所谓的人工智能面相、看相、算命呢?就是根据上面这些宫位给你计算一个分数。分数高的面相就好!

人工智能智能面相原理

每一个宫位都有解释,每一个宫位都代表一种命运。有的代表财运,有的代表婚姻,有的代表事业,有的代表疾病等。

一些面相老手,还能给你扯更复杂的宫位。

看相原理

另外我在知识星球中听人说,淘宝上一些面相的店铺,一天收入可能在上万元。看来有钱人面相的还不在少数啊。

人工智能面相可能戳中了不少人的泪点,让它火了起来。

它虽然火了,但是面相的店铺生意可能就会一落千丈吧。所以也就有人喜欢有人忧愁。

那么说了这么多,用代码怎么来实现呢?

面相算法

上面这个图片来源于网络,是面相算法中的一种。大致也就是根据宫位来算。

面相、看相、算命算法

给每个位置标记上坐标。用代码获取五官之大小,形状,分暗等图像空间。这里面设计到一个人脸识别技术,大家可以网上看看相关的论文或技术实现。

其实我对人工智能还不算了解,相关的内容大家可以参考国内的、国外的一些技术论文,还有一些开源产品。

通过人脸识别技术,可以得到下面的这些宫位要素信息。

  • 可以在人脸上找到影响巨大的部位宫位

  • 可以获取宫位的坐标,从而计算各宫位的相对位置大小和比例

  • 可以获取五官的位置和大小,根据其占人脸之比例分析

  • 可以获取各宫位的颜色明暗,通过技术处理去掉相处之中的反光,然后使用直方图分析各部位和人脸的明暗关系,印堂发暗是可以比人眼更准确的分析得到

说白了,就是通过人工智能、机器学习给你画像。最后给你的画像打分。

贴一段简单的代码:

 if (bPic) {
    Paint p = new Paint();
    p.setColor(Color.RED);
    //p.setStyle(Paint.Style.FILL_AND_STROKE);
    p.setStyle(Paint.Style.STROKE);
    Path path = new Path();
    path.moveTo((int) (landmarks.get(48).x * resizeRatio), (int) (landmarks.get(48).y * resizeRatio));
    for (int i = 48 + 1; i < landmarks.size(); i++) {
        int pointX1 = (int) (landmarks.get(i).x * resizeRatio);
        int pointY1 = (int) (landmarks.get(i).y * resizeRatio);
        path.lineTo(pointX1, pointY1);
    }
    path.close();
    canvas.drawPath(path, p);

    path.reset();
    path.moveTo((int) (landmarks.get(17).x * resizeRatio), (int) (landmarks.get(17).y * resizeRatio));
    for (int i = 17 + 1; i < 22; i++) {
        int pointX1 = (int) (landmarks.get(i).x * resizeRatio);
        int pointY1 = (int) (landmarks.get(i).y * resizeRatio);
        path.lineTo(pointX1, pointY1);
    }
    path.close();
    canvas.drawPath(path, p);

    path.reset();
    path.moveTo((int) (landmarks.get(22).x * resizeRatio), (int) (landmarks.get(22).y * resizeRatio));
    for (int i = 22 + 1; i < 27; i++) {
        int pointX1 = (int) (landmarks.get(i).x * resizeRatio);
        int pointY1 = (int) (landmarks.get(i).y * resizeRatio);
        path.lineTo(pointX1, pointY1);
    }
    path.close();
    canvas.drawPath(path, p);

    path.reset();
    path.moveTo((int) (landmarks.get(36).x * resizeRatio), (int) (landmarks.get(36).y * resizeRatio));
    for (int i = 36 + 1; i < 42; i++) {
        int pointX1 = (int) (landmarks.get(i).x * resizeRatio);
        int pointY1 = (int) (landmarks.get(i).y * resizeRatio);
        path.lineTo(pointX1, pointY1);
    }
    path.close();
    canvas.drawPath(path, p);

    Path path3 = new Path();
    path3.moveTo((int) (landmarks.get(42).x * resizeRatio), (int) (landmarks.get(42).y * resizeRatio));
    for (int i = 42 + 1; i < 48; i++) {
        int pointX1 = (int) (landmarks.get(i).x * resizeRatio);
        int pointY1 = (int) (landmarks.get(i).y * resizeRatio);
        path3.lineTo(pointX1, pointY1);
    }
    path3.close();
    canvas.drawPath(path3, p);

    path.reset();
    path.moveTo((int) (landmarks.get(27).x * resizeRatio), (int) (landmarks.get(27).y * resizeRatio));
    for (int i = 31; i < 36; i++) {
        int pointX1 = (int) (landmarks.get(i).x * resizeRatio);
        int pointY1 = (int) (landmarks.get(i).y * resizeRatio);
        path.lineTo(pointX1, pointY1);
    }
    path.close();
    canvas.drawPath(path, p);

    path.reset();
    path.moveTo((int) (landmarks.get(1).x * resizeRatio), (int) (landmarks.get(1).y * resizeRatio));
    for (int i = 2; i < 17; i++) {
        int pointX1 = (int) (landmarks.get(i).x * resizeRatio);
        int pointY1 = (int) (landmarks.get(i).y * resizeRatio);
        path.lineTo(pointX1, pointY1);
    }
    for (int i = 26; i > 16; i--) {
        int pointX1 = (int) (landmarks.get(i).x * resizeRatio);
        int pointY1 = (int) (landmarks.get(i).y * resizeRatio);
        path.lineTo(pointX1, pointY1);
    }
    path.close();
    canvas.drawPath(path, p);
}

实际上的算法和用法,比着复杂多了,我这里只是一个 Canvas 画图,献丑了。

大自然神秘莫测,玄妙无比。一切看似没有规律,又胜似联系不断。掌握了各种规律,就掌握了事物的发展过程。

人工智能或者机器学习,就是通过不断的练习去寻找大自然的某种规律。

会人工智能,或者对人工智能感兴趣的朋友,可以通过下面的参考资料,自己去实现一个面相程序!

参考资料

  • 面相手相:人生富贵贫贱尽在此!
  • 图文详解面相十二宫看福禄吉凶?
  • 真人头像清晰版:面相十二宫相法精简
  • Ai看面相,这个小程序有点哏儿

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加作者微信号:xttblog2。备注:“1”,添加博主微信拉你进微信群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作也可添加作者微信进行联系!

本文原文出处:业余草: » 揭秘人工智能面相(看相、算命)原理以及实现

相关文章推荐

  • 免费的 4100 多人的 AI 学习群,欢迎加入
  • HRSaas应用集成ChatGPT的24个应用场景
  • 前端网页截图:Canvas截图 vs SVG截图
  • 代码正在改变世界
  • 我是程序员,我不会修电脑,但我懂区块链
  • 码农的饭碗可能要掉了,阿里巴巴的 AI 评委,你不要有鸭梨哦
  • 谷歌 AI 不仅能下棋,还能打游戏!AlphaStar 在《星际争霸2》战胜人类!
  • 13 行代码搞定 AI 核心功能,估值一个亿!
  • 机器学习(Machine Learning)/深度学习(Deep Learning)/自然语言处理面试题大全
  • Hyperledger Fabric 超级账本视频教程免费下载

近期文章

  • 个人站点正在消失
  • 58同城的 mysql 设计与使用军规
  • 2024最新最全最强的 Java 初中高级工程师面试题
  • Java 实现 pdf 合同文件自动签章
  • 记一次 JDK 底层 TLS 锁竞争性能问题

文章归档

  • 2024年十月
  • 2024年八月
  • 2024年六月
  • 2024年四月
  • 2024年三月
  • 2024年二月
  • 2023年十二月
  • 2023年九月
  • 2023年七月
  • 2023年六月
  • 2023年三月
  • 2023年二月
  • 2022年八月
  • 2022年七月
  • 2022年六月
  • 2022年五月
  • 2022年四月
  • 2022年三月
  • 2022年二月
  • 2022年一月
  • 2021年十二月
  • 2021年十一月
  • 2021年十月
  • 2021年九月
  • 2021年八月
  • 2021年七月
  • 2021年六月
  • 2021年五月
  • 2021年四月
  • 2021年三月
  • 2021年二月
  • 2021年一月
  • 2020年十二月
  • 2020年十一月
  • 2020年十月
  • 2020年九月
  • 2020年八月
  • 2020年七月
  • 2020年六月
  • 2020年五月
  • 2020年四月
  • 2020年三月
  • 2020年二月
  • 2020年一月
  • 2019年十二月
  • 2019年十一月
  • 2019年十月
  • 2019年九月
  • 2019年八月
  • 2019年七月
  • 2019年六月
  • 2019年五月
  • 2019年四月
  • 2019年三月
  • 2019年二月
  • 2019年一月
  • 2018年十二月
  • 2018年十一月
  • 2018年十月
  • 2018年九月
  • 2018年八月
  • 2018年七月
  • 2018年六月
  • 2018年五月
  • 2018年四月
  • 2018年三月
  • 2018年二月
  • 2018年一月
  • 2017年十二月
  • 2017年十一月
  • 2017年十月
  • 2017年九月
  • 2017年八月
  • 2017年七月
  • 2017年六月
  • 2017年五月
  • 2017年四月
  • 2017年三月
  • 2017年二月
  • 2017年一月
  • 2016年十二月
  • 2016年十一月
  • 2016年十月
  • 2016年九月
  • 2016年八月
  • 2016年七月
  • 2016年六月
  • 2016年五月
  • 2016年四月
  • 2016年三月
  • 2016年二月
  • 2015年八月
  • 2015年六月
  • 2015年一月
  • 2014年十二月

分类目录

  • HTML5
  • IT业界
  • JAVA
  • NDIS
  • SQL
  • 业余杂谈
  • 敏捷开发
  • 电子商务
阿里云优惠了
     百度   七牛云   阿里云   腾讯云
     CSDN博客    V型知识库

日历

2024年十月
« 8月    
 123456
78910111213
1415 1617181920
21222324252627
28293031  

玻璃钢生产厂家仿铜玻璃钢雕塑制作流程云南玻璃钢雕塑市场濮阳玻璃钢名人肖像雕塑加工定制无锡清远玻璃钢动物雕塑供应玻璃钢雕塑美人鱼吉林动物玻璃钢雕塑定做台州动物玻璃钢雕塑韶关玻璃钢动物雕塑需要几天北京大型商场美陈采购广州学校玻璃钢雕塑制作潮州玻璃钢花盆花器玻璃钢雕塑安装施工方案枣庄玻璃钢花盆花器云南玻璃钢造型雕塑制造商潍坊小区玻璃钢雕塑制作河南走廊商场美陈厂家供应醴陵玻璃钢雕塑襄阳广场玻璃钢雕塑生产厂家枣庄卡通玻璃钢雕塑厂家有关玻璃钢雕塑的问题冬季商场美陈画面嘉定区玻璃钢雕塑产品介绍泰州玻璃钢雕塑制作设计玻璃钢雕塑图片南通如东玻璃钢雕塑雕塑江西户内玻璃钢雕塑市场湖南水果玻璃钢雕塑定制郑州镜面玻璃钢人物雕塑定做沈阳定做玻璃钢花盆榆林公园玻璃钢雕塑定做香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化