-
图形分类算法现在哪个比较好
-
图像识别与目标检测的区别是什么?
-
自然语言处理(NLP)的主要任务有哪些?
-
卷积神经网络(CNN)在图像处理中的应用是什么?
-
方案介绍随着AI的迅速发展,音乐ChatGPT时刻到来临,通过Suno V3秒生爆款歌曲,仅用几秒的时间,便可以创作出2分钟的完整歌曲。该文档为您提供了一个Suno音乐下载站,帮助您把创作的音乐下载到本地。开始使用步骤1 在浏览器访问Suno生成的音乐官网,即可免费创作多种风格流派歌曲,还能唱出来。步骤2 在Suno主页中的Explore,有一个AI生成歌曲的排行榜,可在线听音乐。步骤3 在Suno主页中的Create,在Song Description中输入要创作的内容,单击“Create”。单击分享按钮,获取下载链接。步骤4 访问该促销活动购买页面,按照如下配置完成Suno下载服务器的部署。步骤5 登录弹性云服务器控制台,获取步骤四创建的弹性服务器公网IP。在浏览器访问:http://弹性公网IP:80,即可访问Suno音乐下载站。步骤6 将步骤3获取的下载链接粘贴到输入框,单击“Download”即可下载到本地。
-
应对通用人工智能挑战,发展新质生产力近日,李鸿飞老师受某国企邀请,为集团各级管理干部解读人工智能最新趋势与应用,发展新质生产力,李老师做了《应对AI时代挑战,加速企业数字化管理与运营,发展新质生产力》的专题讲座,从企业应用和个人学习两个方面,对管理团队提供新的知识与观念。由于有大量前沿信息与应用,特整理录音供大家参考。李老师首先感谢领导对AI前沿技术和新质生产力的重视,也感谢领导者对注重管理团队的学习和培养。李老师强调主要研究的是AI发展和RPA新一代数字技术在企业的应用,如何提高企业竞争力,如何降本增效,如何帮助企业数字化转型,可能在AI技术原理和发展路径上的一些看法和推论,不一定与技术专家相符,这些都是最前沿的实践,主要是想给大家带来一些启发和收获。01AI新一代数字技术对各行各业形成巨大影响李老师首先澄清了一个概念,我们普通人想象的人形机器人是强人工智能,实现的难度太大,而当前我们接触到的AI还在弱人工智能阶段,看到的AI机器人更像个玩具。强人工智能需要大语言模型及强大算力,大语言模型的参数量非常大,有数十亿甚至到万亿个,而且训练过程中也需要海量文本数据集,才能更好地理解人类的自然语言,以及生成高质量的文本。自从AI学科诞生以来,人工智能行业在近70年发展中经历多次繁荣与低谷,有很多次狼来了的故事,每次人工智能有点创新。新闻媒体,科幻电影都会叫到狼来了“ AI要统治世界啦,AI要毁灭人类了”,但最后的结果总让大家大失所望。这是因为人工智能这个行业,大众容易想象,媒体也喜欢炒作,大家一起幻想,结果期望越高,公众和投资者失望越大。AI行业经历过多次泡沫和二次发展低谷,留下的从业者扎扎实实研究应用,直到最近十几年有了深度学习,才有大的突破。计算机最初只能被动地接受人类输入的数据,就像人类的婴儿一样,只能等待喂养。当算力提升,特别是有了自然语言和图像处理能力以后,超级计算机可以通过网络获得海量的数据,包括文字、影像、语音,然后把它们融合在一起,产生多模态。形象地说是会听、会看、会学习了,然后就是会说、会动、会思考,这就是强人工智能。算力、算法、数据是人工智能三大要素,全部集齐才有爆发可能。由于以前算力、算法、数据总是缺一环、多数AI企业觉得通用人工智能不太可能实现,所以都做专用人工智能。我们前几年看到的人工智能应用,就象人脸识别、产品质量检测、语音输入、智慧停车等等,大多属于专用人工智能ANI,只能通过一套特定的算法,完成特定的任务。这些专用人工智能ANI,由该领域的企业提供服务,而这些算法并不公开,也不会开源。通用人工智能AGI,全称为Artificial General Intelligence。又称“强人工智能(Strong AI)”“完全人工智能(Full AI)”,是指具有一般人类智慧,可以执行人类能够执行的任何智力任务的机器智能。它能像人一样举一反三、触类旁通。同时它能理解文字,听得懂人的语言,看得见(摄像头)当前发生情景,与人类交流起来没障碍。遇到新任务时,还可以快速“想到”做过的相关事情并调用掌握的相关知识,创造性地解决问题、完成任务。通用人工智能的难度可想而知,由于通用人工智能AGI其具有广泛普惠性,并对人类社会有巨大影响,所以,通用人工智能大多会开源,这就给理解与跟进大模型,行业大模型、训练或微调企业大模型,成为后发红利,让企业AI员工、数字员工成为可能。从专用人工智能ANI,到通用人工智能AGI,到人工智能生成内容AIGC;这是人工智能行业重大进步。2016年谷歌的阿尔法GO打败李世石,曾经震惊了世界。围棋是人类最复杂的博弈游戏,这证明AI的智力超越了顶级人类,但这只是AI算力的成功,阿尔法go也是专用人工智能,除了下棋对我们没啥实际用途,很快就为大众遗忘。而Open AI公司2022年推出ChatGPT采用的是通用大模型,取名为聊天机器人,可以和人类对话。ChatGPT3.5具备了较高的智能和稳定性,聊天沟通的反响非常好,能生成高质量的内容,很多学生就用它来写论文了,员工也用写文案,真正普惠大众。2023年后推出的ChatGPT4.0具有多模态,就不仅仅是文字问答。也可以看图说话、数据推理、分析图表、角色扮演等,而且4.0考试成绩很高,相当于人类研究生水平了,生成内容水平,已经可以应用于企业的总结、分析、报告、培训等场景了。使用GPT4.0相当于用户有个研究生助理 ,GPT关键的是打通了AI通用人工智能的进化路线。让原来大家认为不可能的事成为了可能。2024年2月,OpenAI推出全新的生成式人工智能模型“Sora”, 文生视频,又叫世界模拟器,Sora可以根据用户的文本提示创建最长60秒的逼真视频,从提供的视频案例来看,Sora模型了解了不同物体在物理世界中的存在方式和运动规律,可以深度模拟真实物理世界,能生成具有多个角色、包含特定运动的复杂场景。这个能力不仅仅是对电影特效、短视频制作、广告传播等行业有颠覆可能,关键它标志了通用人工智能AGI在理解真实世界场景,并与之互动的能力方面实现了飞跃。新分叉的AI技术成熟度曲线对2023年上市的GPT3.5,李老师当时就做了战略环境研判、数字化增效、创新人才引进、总经理开年演讲稿、LOGO设计,广告词撰写、政协提案、竞争数据收集、自动编程、员工发展与培训等十个场景应用测试,参见《当前ChatGPT能为企业做什么?来看看这10个测试》。认为ChatGPT不应叫聊天机器人,而是AI转换器或智能问答器,建议企业要重视和利用起来,而新的GPT4.0又有了十倍的提升。李老师接着分析了通用大模型在AIGC上的应用效果及前景,以及ChatGPT与人形机器人结合,认为此次通用人工智能爆发不是资本泡沫,确实是第四次工业革命开启。李老师从技术成熟度曲线来分析,对于AI行业进化,短短的二三年,已经形成几次标志性分叉来,专用人工智能ANI、通用人工智能AGI、人工智能生成内容AIGC,将来还有华为的行业人工智能等。今后我们说到人工智能,就要特指某个具体AI,就像古猿分化出类人猿,真立人,智人一样,各自有不同的命运。对此,李老师有三点推论,一是通用人工智能成为AI新的发展主线,可以关注作结合应用,其肯定有泡沫有夸大,但前景可期;二是受三要素制约,通用人工智能很快会遇到瓶颈;三是在这个时间节点,由专业智能ANI转入通用人工智能AGI的,或蹭热点新成立的通用人工智能公司多半不会持久,尽量避免与之合作。为了更好的理解未来趋势,李老师介绍了通用人工智能的原理,并对AGI领军企业美国OpenAI的发展过程、商业模式和产品路线进行分析讲解。其产品ChatGPT是通用人工智能道路上阶段成功的典范,ChatGPT是生成式+预训练+Transformer自注意力神经网络架构的成功组合,通过在大规模语料库中进行无监督预训练,从而学习到语言的内在规律和模式,获得巨大的成功。与我们常见的程序员编程不同,AI的机器学习是让计算机通过算法,去识别模式、做出预测和决策。而机器学习又分为:有监督学习、无监督学习、强化学习:有监督学习算法会接受有标签的训练数据,算法的目标是学习输入和输出之间的映射关系,无监督学习的数据是没有标签的,算法的任务是自主发现数据里的模式和规律。强化学习则是模型在环境里采取行动获得结果反馈,从反馈里学习。就跟家长带小孩似的,刚开始的时候小孩子什么都不懂,会随心所欲做出很多举动,但随着家长和小孩的教育和互动,小孩会发现某些好的举动能够获得奖励或零食,有些不礼貌的动作会遭受惩罚,通过观察动作和奖惩之间的联系,小孩的行为会逐渐接近期望。深度学习是后面发展出来的,它使用人工神经网络模仿人脑处理信息的方式,通过层次化的方法提取和表示数据的特征。生成式AI或AIGC就是深度学习的一种应用,它利用神经网络来识别现有内容的模式和结构,学习生成新的内容,可分为DNN、CNN、RNN等(略)。大脑神经元与学习成长AI获得如今的成功,在于模仿人类大脑的神经网络。脑科学发现,人的大脑是由近千亿个神经元组成,主要用来储存信息、整合信息。小朋友在学习的时候,大脑是将看到或听到的信息,通过某一个神经元,把信息传递给另一个神经元,然后再接着传递给下一个,就像是接力赛一样。传的时候也不是一条路走到底,而是在不同神经元间不断传递。每一段神经元只走自己那一段,就形成特别复杂的神经网络。所以,人类学习过程很复杂,早期的婴儿是需要手把手教的,像监督学习一样,要指着物体告诉他这是爸爸,这是妈妈。这是猫,这是狗。当看到足够多的猫和狗后,小孩才会分类和识别。然后就是家庭和老师不断监督学习和强化学习,以训练和培养小孩的智能。当学习复杂的知识或者问题时,小孩用到大脑神经元就越多,这样信息传递的时候,通路就越复杂,而且刚刚走通的连接,再走一遍的话,神经元连接的位置又会变掉,这就是小朋友刚刚记住的东西老会忘掉,前面学过的东西,现在又回忆不起来原因。这个神经元到那个神经元传递的路线发生变化了,化学信息传不过去了。这时候我们就利用重复强化,要求小朋友重复再来一遍、紧接再来一遍,多次重复以后,相当于告诉大脑,这个知识不是一次性,下次还要再走的,这时候大脑就开始重型结构性的调整,把这几个神经元连接起来,形成一条专线给小孩。拉通专线后就快多了,下次遇到这个问题的时候,大脑就直接反应过来。就像我们问3X7得多少?答案21不是算出来的,而是大脑直接在一条专线上回答了这个问题,这也是学习大量刷题有效的原因。通过重复和刻意练习可以改善神经元之间的连接,对成年人来说,当我们反复练习某项任务时,大脑的神经元会更有效地传递信息,这并不是肌肉记忆,而是形成神经元连接专线。这样,通过刻意练习,成年人可以更快、更准确地执行任务,并提高技能水平。小孩子到3岁开始自我意识萌芽,6-12岁性格发育开始成熟,初中、高中、大学都可以看作是有标注数据的预训练,帮助孩子形成足够的神经元连接专线,成为小镇作题家。而孩子的社会交往、阅读与上网等无监督学习,则形成他们自己的独特看法和三观,这是多样性和差异来源。关于人类的深度学习,李老师认为,可能是通过写论文搞研究或深度思考,在复杂的理论框架下,不断扩展我们思考的层次,从而对复杂事物进行分析、演算、推理、预测,最终才生成创新想法或结论。人工智能的神经网络,也是由许多基本的计算和存储单元组成,这些单元被称为神经元,这些神经元通过层层连接来处理数据,深度学习模型通常有很多层,GPT3有96层,GPT4就达到120层。算力的硬件投入更是巨大。以早期GPT3.0为例,3.0就用28万5千个CPU、1万个GPU和400Gbps的网络连接组成的Al超级计算机,而要训练这个超级大脑中的神经元连接,则需要预训练海量的数据内容,比如GPT3.0就将大量书籍、全部的维基百科、新闻、论坛及社交媒体内容等等总计3000亿文本单位,经过大量训练,确定适当1750亿参数,神经元和权重偏制,从而学习到语言的内在规律和特征,海量的人类数据喂养了ChatGPT,它学习到人类语言的内在规律和模式。ChatGPT 生成与输出原理大致是这样,通过预训练,GPT3.0有了各种参数与权重,就可以根据用户输入的上下文信息,尽可能地预测出下一个词的正确值。GPT预测出的下一个词主要是依据预训练得到的概率分布。它可以选择概率最高的词,也可以根据概率分布进行随机选择,选择出下一个词后,GPT将这个词添加到用户输入信息的末尾,然后重复上述过程,直到生成一个完整的句子或一段话。GPT3.0由于数据来源和数据量的原因,还只是人类普遍的看法,生成文本质量就有点象刚毕业大学生,生成内容有点用但比较空泛。由于ChatGPT4.0预训练数据更大,参数更多,通过预训练,就能获得社会各种类型人群的看法、语言特征和概率分布,ChatGPT4.0学会角色扮演,学会了人类根据不同场景、不同对象和不同诉求,“见人说人话,见鬼说鬼话”, 它可以心理医生、面试官、人生导师、专业顾问等等角色出现,并展开高层次高质量对话。通用人工智能将弥补人类智能,比如目前企业遇到的经营问题,首先是老板的算力不够了,就像老板要制定今年的销售增长目标,既要考虑市场容量、行业平均增长率、又要考虑竞争对手的增长速度、还要考虑本企业前几年的历史增长,还有团队成长潜力、公司资源财力等等,很多假设条件不能确定,能定准目标的老板极少,多数想破头最后还是拍脑袋。其次是以前的成功经验失效了,面对复杂的经济环境,原来老板认知的规律和模式发生了巨大的变化,用户需求、政府政策、供应链到底发生了什么变化?而认识人类的内在规律和模式,恰恰是通用人工智能的长项,只要有最新的数据,它就能识别出这种变化。通用人工智能可以辅助公司的决策,还有公司的战略和商业模式创新等等。我们培养一批人类的孩子智力需要几十年,而AI训练一次仅仅需要几周或者几个月,目前的gpt4.0考试中表现已经超过了90%以上的人类,根据GPT已经探出的成功路径(生成式+预训练+Transformer自注意力神经网络架构),其他各大企业的通用人工智能大模型必然爆发起来,这才是AGI未来巨大的前景。由于通用人工智能与人类大脑原理相似,随着投入越大,神经元越多,这就有些让人担心了,AI进化的速度太快,会不会产生自我意识,会不会对人类构成威胁。有一种说法,人是碳基生命,而人工智能是硅基生命。人工智能一定会替代人类。对此,李老师的看法大可不必担心:AGI目前是没有威胁的,当达到一定的神经元连接以后,AI可能会产生自我意识,其可能像我们的孩子一样,有青春期叛逆期,但不一定会对人类敌意或伤害,也可能会形成一种有益的共生关系。其次,人类也有预防的方案,首先超级AGI需要巨大的算力与联接,其次需要巨大的能源,人类完全可以断电拔管。另外通用型人工智能本身有很大的数据量,本体也很难逃出人类硬件设施。其他措施也有,马斯克用AI对抗AI,也是一种有效的方法。李老师简要介绍了我国各大企业布局的各模态AI模型进展,以及华为盘古大模型架构,并对通用人工智能有以下几点推论:一、通用人工智能是超级武器,投入巨大,利用它来干什么,肯定不只是做聊天或生成视频,比如用它来赢得美国总统大选,操纵股市期货、在军事领域,建立天网、做无人驾驶之类。二、通用人工智能新的产品将很快应用于企业 ,形成降维打击的竞争力,需要企业做好大量数据准备。三、AIGC只是通用人工智能的一个应用分支,生成内容已经达到商用标准,企业要尽快拿到这部分红利。其后,李老师分析了AIGC产业图谱、AIGC商业落地机遇, AIGC在各行业的应用场景,并与管理团队探讨如何利用这些技术会对企业提效。李老师进一步分析通用人工智能、特别是AIGC会对哪些岗位造成冲击,认为AGI、AIGC等新一代数字技术会减少一些职位需求,而不是取代,本质上是掌握AI技术的人取代了没有掌握AI技术的人。所以应对AIGC的挑战,管理者要未雨绸缪,及早学习准备。如何利用AIGC、 RPA机器人流程自动化等新技术,帮助企业降本增效,提高自己职场竞争力,请参看下一章。
-
系统为ubuntu18.04.6 arm架构、版卡为atlas200,芯片为310,cann版本已升级为最新版本6.0.1、驱动为21.0.2,RC模式npu-smi infopytorch的模型转onnx,用atc工具将onnx转成om模型,atc --model=./model.onnx --framework=5 --output=./model --soc_version=Ascend310报错trans_cast算子转换失败,如下:
-
近日,科技界爆出重磅新闻,苹果公司历经十年磨砺、投入10亿多资金的电动汽车项目最终宣告终止。消息一出小米创始人雷军直言表示非常震惊。而理想汽车创始人李想则敏锐地指出,汽车行业的电动化转型仅仅是“上半场”,真正的决战在于人工智能的应用与发展。苹果造车计划的转折点苹果公司在其“泰坦”项目中倾注了大量资源和精力,致力于打造一款集创新设计、自动驾驶技术于一体的高端电动汽车。然而,在经历了一系列战略调整和技术挑战后,苹果选择将部分团队转向AI领域的深耕,预示着公司将重心转移到了智能驾驶及车载软件系统的开发上。智能汽车:从电动化到智能化李想的观点精准揭示了汽车产业演进的新趋势——电动化仅是汽车业变革的初级阶段,即所谓的“上半场”。随着电池技术的突破、充电设施的普及和完善,电动车已逐渐成为主流发展趋势。然而,真正定义未来汽车行业竞争力的将是汽车的智能化程度,即通过物联网、大数据、人工智能等前沿技术实现车辆的高度自主驾驶、人车交互优化以及车辆间协同能力的提升。物联网技术的核心在于实现设备的互联互通,对于汽车行业而言,这意味着车辆不再仅仅是一个交通工具,而是成为一个能够收集数据、分析信息并与外界智能互动的平台。从智能导航到自动驾驶,从车辆状态监控到远程控制,盈电科技物联网的应用正在逐步改变我们对汽车的认知和使用方式。智能驾驶体验:通过车联网技术,汽车能够实时接收交通信息,预警危险情况,提供最优路线建议,并根据驾驶者行为自动调整车内环境(如灯光、音乐等),提升驾驶体验。预防性维护:利用传感器收集的数据分析汽车各部件的使用状况,预测潜在故障,提前提醒车主进行保养或维修,降低突发故障的风险。车辆安全系统:物联网技术可以增强车辆的防盗、防碰撞和紧急救援功能。例如,在发生碰撞时自动联系紧急服务,或者在车辆被盗时追踪其位置。能效管理:通过分析行驶数据和环境信息,优化动力系统的工作模式,提高燃油效率或电能利用效率,减少能源消耗。互联共享:汽车成为移动的数据中心,与家庭、城市基础设施等其他设备互联,实现资源共享,比如在回家途中控制家中的温度、照明等。然而,物联网在汽车行业的应用也面临着挑战。数据安全和隐私保护是物联网普遍存在的问题,同时,智能化程度的提高也需要相应的法律法规来规范。除此以外,技术的普及和成本的降低也是推动物联网在汽车行业广泛应用的关键因素。尽管苹果的电动汽车计划暂时搁浅,但这并不意味着汽车行业的智能化发展会停滞不前。相反,随着物联网技术的不断成熟和人工智能的深入应用,汽车行业将迎来更加智能、互联的新时代。未来的汽车将不仅仅是一种出行工具,更将成为人们生活中不可或缺的智能伙伴。
-
Part 01 脸识别技术概述人脸识别技术属于生物特征识别技术,是一种依据人人脸的若干特征(如眼睛、鼻子、嘴巴、眉毛等)自动进行身份识别的技术,又被称为面像识别、人像识别、相貌识别、面孔识别、面部识别等。其主要利用摄像机或摄像头采集含有人脸的图像或视频流,通过人脸检测技术分析其是否存在人脸,存在则给出人脸所在位置、大小和面部关键器官的位置信息;再根据这些信息提取所蕴涵的身份特征,并将其与已知的人脸特征进行对比,从而识别每个人脸的身份。 Part 02 人脸检测人脸检测是人脸识别和人脸分析系统的关键第一步,主要用于解决“人脸在哪里”的问题,在图像中准确标定出人脸的位置和大小,并提供给后续的人脸特征分析和识别。早期的人脸检测工作主要基于人工精心设计的局部描述子进行特征提取,主要可分为4类基于知识的人脸检测方法、基于模型的人脸检测方法、基于特征的人脸检测方法、基于外观的人脸检测方法,其中比较比较经典的作品有haar cascades分类器、HOG(Histogram of Oriented Gridients)特征检测算法。但传统的检测对于多种变异因素的具有挑战性的图像,人脸检测精度有限。 随着深度学习的蓬勃发展,逐渐演变出许多基于不同深度学习架构的人脸检测方法,主要有基于级联cnn模型、基于R-CNN模型、单发探测器模型、基于特征金字塔网络模型、基于变形金刚模型等,极大的改善了传统人脸检测、识别在特征提取、精确度、可扩展性方面均有诸多不足。MTCNN是其中一个比较优秀的人脸检测模型,该模型通过三个阶段的深度卷积网络,以粗到细的方式预测人脸和地标位置,具体步骤为:第一阶段:通过浅层CNN快速生成候选窗口;第二阶段:通过更复杂的CNN拒绝大量非面部窗口来细化窗口;第三阶段:使用更强大的CNN再次细化结果并输出五个面部标志位置。Part 03 人脸特征人脸特征也称人脸表征,是人脸的某些特征,比如脸的长度、脸的宽度、唇部宽度、鼻子长度等,人脸特征提取就是对人脸进行特征建模得到向量化人脸特征的过程。人脸特征提取按照技术特点大致可分为三类:基于全局信息的Holistic方法、基于局部信息的Local特征方法、基于深度学习的方法。基于深度学习的人脸特征可以从数据集中自动学习特征,如果数据集能够覆盖足够的鲁棒性数据(如光照、姿态、表情等),则算法能适应各种挑战,也是当前的主流人脸特征提取方法。 Part 04 人脸识别人脸识别是人脸比对的过程,通过比对提取的人脸特征获两个人脸的相似度,判断方法为比较两个特征间的欧式距离(L2距离)或者余弦距离(cosine距离):L2距离越小,相似度越高;cos距离夹角越小,cos距离越大相似度越高。根据比对的数量不同,又可分为1:1和1:N。1:1最常见的场景就是人证比对,比如我们在乘高铁时所遇到的这种设备。1:N是1张人脸和底库中的N张人脸进行比对,比如在考勤机中,我们的人脸底库中包含全公司的所有人脸照片。转载自:cid:link_0
-
大家好,今天跟大家分享一个实战的教程。老规矩,先看效果(明确一下目标): 随着人脸识别技术的发展,给我们的日常生活带来了许多的便利,但是同样的也存在隐私的问题。以及可能被不法分子用于做一些违法事情。所以很多视频博主,都会给路人打码。但是手动打码是一件非常繁琐的事情,对于单帧图片还算简单,但是假设视频的帧率是 25FPS,即一秒中有25帧图片,那么一个几分钟的视频,其工作量也非常的可怕。因此我们尝试使用程序自动去执行这样子的操作!我们可以使用Opencv、Mediapipe和Python,实现实时模糊人脸。我们可以分两步完成:在打码之前,首先确定人脸位置取出脸,模糊它,然后将处理后的人脸放回到视频帧中(视频处理类似)1、在打码之前,首先确定人脸位置首先配置一下环境,安装必要的库(OpenCV 和 MediaPipe)pip install opencv-python pip install mediapipe在 MediaPipe 库中提供了人脸关键点检测的模块。详细的内容可以参考:cid:link_0当然在该项目的代码中,也提供人脸关键点检测的代码。“facial_landmarks.py”的文件: 下面我们就一起来写一下这部分的代码:首先导入必要的库以及用于人脸关键点检测的模块:import cv2 import mediapipe as mp import numpy as np from facial_landmarks import FaceLandmarks # Load face landmarks fl = FaceLandmarks()然后使用检测出来的人脸关键点最外围的一圈关键点绘制一个多边形(脸部轮廓)。这里使用opencv 中的convxhull() 函数可以实现:# 1. Face landmarks detection landmarks = fl.get_facial_landmarks(frame) convexhull = cv2.convexHull(landmarks)绘制完成后的结果如下所示: 之后使用上面所提取到的人脸关键点坐标创建mask,用提取我们在视频帧中感兴趣的区域: # 2. Face blurrying mask = np.zeros((height, width), np.uint8) # cv2.polylines(mask, [convexhull], True, 255, 3) cv2.fillConvexPoly(mask, convexhull, 255)结果如下所示: 得到这个mask,我们就可以进一步对人脸进行模糊(打码)处理。 打码的操作,这里使用的是OpenCV 中的cv2.blur() 函数:# Extract the face frame_copy = cv2.blur(frame_copy, (27, 27)) face_extracted = cv2.bitwise_and(frame_copy, frame_copy, mask=mask)结果: 目前,我们已经实现对人脸进行打码操作,剩下的就是对人脸以外的区域进行提取,并合并成最终的结果即可! 对人脸以外的区域进行提取(背景),实际上对上面的mask 进行取反即可。 背景提取:# Extract background background_mask = cv2.bitwise_not(mask) background = cv2.bitwise_and(frame, frame, mask=background_mask)从图像的细节可以看出,背景是完全可见的,但面部区域已经变成黑色了。这是我们将在下一步中应用模糊人脸的空白区域。 最后一步,将上面两步获取的人脸mask 和背景进行相加即可,这里使用cv2.add() 即可实现我们的目标: # Final result result = cv2.add(background, face_extracted)结果: 这是对一帧图片进行处理。2、取出脸,模糊它,然后将处理后的人脸放回到视频帧中上面的操作都是在单帧图片上进行处理的,如果我们需要出来的是视频的话,其实原理是完全一样的,只不过是将一个视频拆成一系列的图片即可。稍微做一些修改:(1)输入文件 (图片 ---> 视频)cap = cv2.VideoCapture("person_walking.mp4")(2)对输入的视频帧,做一个循环遍历:while True: ret, frame = cap.read() frame = cv2.resize(frame, None, fx=0.5, fy=0.5) frame_copy = frame.copy() height, width, _ = frame.shape ...转载自:cid:link_1
-
随着人工智能的发展,不是把数据交给算法,而是算法去处理数据,从而实现一个全新的洞察力水平。 如今,人工智能 (AI) 无处不在,使组织能够预测系统中断的可能性,推动自动驾驶汽车,并为聊天机器人或虚拟助手提供语言功能。 这些类型的人工智能用例主要依赖于集中式、基于云的人工智能,其中存储着大量的训练数据集。 然而,人们越来越倾向于让人工智能更接近源头或更接近边缘。 边缘计算在世界范围内部署了一系列网络和设备,并且数据在更接近数据生成的地方进行处理,在人工智能的支持下变得可操作。由于物联网 (IoT) 积累的海量数据,从源头就非常需要这种类型的智能。 物联网设备(例如传感器、设备或可穿戴设备)通过互联网收集和交换数据,并且通常嵌入到其他物联网设备中以提供通信网络。 例如,仓库员工佩戴的物联网设备可以在跌倒时通知管理层,并向 911 发出警报。冰箱上的物联网设备可以在牛奶不足时提醒房主,或者在搅拌器需要维护时向生物技术科学家发出信号。在这些和其他场景中,边缘人工智能在利用所有数据来开发可行的见解、采取纠正措施或提供安全方面发挥着重要作用。 边缘人工智能允许在靠近实际收集数据的地方进行计算,而不是在集中式云计算设施或异地数据中心进行计算。 当紧迫性和时机至关重要时,边缘人工智能会挑战云的能力。 例如,在自动驾驶汽车中,数据是实时捕获的,但汽车却以每小时 65 英里的速度行驶。 没有时间将数据发送到云端然后返回决策。 必须立即做出决定。边缘优势比比皆是考虑以下一些主要好处:实时决策:边缘人工智能可以帮助设备做出关键决策,而不会产生与基于云的处理相关的延迟。 例如,自动驾驶汽车可以对不断变化的路况做出快速反应,确保乘客安全。隐私和安全:边缘计算还提供安全优势。 从位置传输到云的数据可以在位置之间被黑客攻击,但是当数据在边缘本地处理时,数据不需要通过网络移动。 这在视频监控摄像头等用户隐私至关重要的应用中尤其重要。有限连接:在偏远地区或互联网连接不可靠的地方,边缘人工智能可以独立运行,提供不间断的服务。 这对于农业地区是有益的,配备边缘人工智能的无人机可以监控连接有限的地区的农作物和牲畜。降低成本:边缘人工智能减少了对大规模且昂贵的云基础设施的需求。 企业可以节省数据传输成本并立即访问数据,从而提高效率。可扩展性:边缘人工智能具有高度可扩展性,允许将其他设备轻松添加到边缘计算网络,而不会导致中央云服务器过载。可靠性:通过将人工智能分布在多个设备或节点上,边缘人工智能更具弹性。 即使一台设备发生故障,其他设备也可以继续独立运行,从而降低系统范围内发生故障的风险。安全性:除了上述可穿戴物联网设备的安全优势之外,边缘人工智能还避免了分析师手动收集数据的人身安全隐患。 例如,有人被派去分析受自然灾害影响的建筑物的结构完整性。 当检查过程自主完成时,他们能够在世界另一端办公室的安全范围内实时分析数据。生活在边缘的挑战尽管将人工智能扩展到边缘有很多好处,但它也并非没有局限性。 其中一项挑战是其有限的计算资源。 与数据中心相比,边缘设备的计算能力有限。 这可能会对需要在其上运行的人工智能模型的复杂性造成限制。此外,边缘设备通常由电池供电,而人工智能模型通常需要大量电量,并且会很快耗尽电池寿命。 然而,研究人员正在开发针对边缘设备优化的轻量级人工智能模型和算法。 这些模型在准确性和资源消耗之间取得了平衡,使边缘人工智能更加可行。另一个挑战是,虽然边缘人工智能降低了数据泄露的风险,但它可能会引起本地层面的数据隐私问题,并被视为侵入性的。尽管面临挑战,边缘人工智能仍有望实现显着增长和创新。 事实上,根据 Future Market Insights (FMI) 的数据,边缘人工智能市场预计在 2022 年至 2023 年期间将以 20.8% 的复合年增长率扩张。最新一代无线网络连接 5G 网络的推出将有助于边缘人工智能的兴起,为边缘设备提供更快、更可靠的连接。 此类用例之一是仓库或工业环境,这些环境通常依赖 Wi-Fi。他们现在能够建立一个专用的本地5G网络,连接分布在整个站点的许多设备和物联网传感器。边缘人工智能为数据收集和分析方式提供了另一种选择。 其减少的延迟、数据隐私和成本效率使许多行业的智能达到了新的水平。 不是把数据交给算法,而是算法去处理数据,从而实现一个全新的洞察力。转载自:cid:link_0
-
这一新阶段的标志是,深度技术发展和采用的空前增加,全球人口统计的重大变化,以及即将过渡到Web 3.0。工业5.0的本质在于,其能够将人类的创造力与先进的技术系统相结合,促进更加个性化、可持续和以人为本的工业生产方式,并建设可持续的智慧城市。这个时代是为了提高效率和丰富子孙后代的生活质量。 技术大趋势融合的影响技术大趋势的融合从根本上重塑了经济格局,产生了新的经济。这些趋势包括人工智能(AI)、物联网(IoT)、机器人、生物技术等的发展。随着这些技术的融合,它们催化了新的市场动态和投资机会的出现,突出了创新在推动经济增长和可持续性方面的重要性。新兴经济体的崛起整合先进技术正在催生新型经济,其中数字平台、可持续能源解决方案和生物技术创新成为经济活动的基石。这些经济体利用人工智能和机器学习的力量来创造更高效、更自主的系统,推动行业向前发展。投资增加随着工业5.0带来革命性变化的承诺,针对高科技行业的投资大幅增加。从人工智能驱动的分析到可再生能源技术,世界各地的风险投资家和政府都在将资源投入到有望推动下一波工业革命的技术中。不断增长的元宇宙和不断发展的工业全宇宙成熟的元宇宙提供了一个全新的全球沉浸空间,用户可以在这里生活、工作、购物和娱乐。与此同时,整个工业领域正在快速发展,并将通过提供前所未有的操作可见性、预测分析和系统效率来彻底改变行业。构建智慧城市生态系统随着智慧城市生态系统的发展,城市景观也在发生根本性的变化。这些生态系统利用物联网、人工智能和大数据来创造更宜居、更有弹性和更可持续的城市。从智能交通系统到智能电网,为可持续地支持子孙后代的城市环境奠定了基础。工业5.0的挑战随着工业0.5的发展,带来了法律和监管方面的挑战。最重要的是,为工业制订0.5标准,确保不同技术系统之间的互操作性,并建立一个网络道德框架。这些挑战要求决策者、技术人员和行业领导人开展全球对话,以建立一个有凝聚力的监管框架,在保护个人权利和促进道德标准的同时支持创新。在这个时代,制定和部署强大的、积极主动的网络道德计划是修复、获得或维持数字信任的必要条件。工业5.0的未来方向以下几项关键技术将影响工业5.0的发展轨迹:量子计算:量子计算有望彻底改变数据处理方式,使各行业能够以比当前能力快数百万倍的速度解决复杂问题。6G网络:6G的出现将带来超可靠、高速的通信,支持工业5.0技术所需的海量数据流。卫星互联网:卫星互联网提供全球宽带覆盖,将确保偏远和服务不足地区参与数字经济。自主系统:自主系统将提高智慧城市生态系统的效率、安全性和可持续性。 脑脑机接口:如果以负责任的方式部署,脑机接口(BCI)将通过将人类认知与技术结合起来,提高生产力并优化人机协作,从而改变工业5.0,开创一个互联和高效的新时代。总结当我们在复杂的工业5.0中前进时,面临着许多必须克服的复杂挑战。但是,这也充满了重新定义工业格局和为未来世代建设智慧城市的机会。通过正面解决法律、监管和互操作性的问题,我们可以充分利用融合技术大趋势的潜力。工业5.0的未来不仅仅是技术进步,而是创造一个更加互联、可持续和以人为本的生态系统。通过合作、负责任的创新和远见,我们可以为未来奠定基础,利用量子计算、6G、卫星互联网、自主系统和脑机接口的优势,为工业和社会繁荣的新时代铺平道路。转载自:cid:link_0
-
一、模型在线部署深度学习和计算机视觉方向除了算法训练/研究,还有两个重要的方向: 模型压缩(模型优化、量化)、模型部署(模型转换、后端功能SDK开发)。所谓模型部署,即将算法研究员训练出的模型部署到具体的端边云芯片平台上,并完成特定业务的视频结构化应用开发。现阶段的平台主要分为云平台(如英伟达 GPU)、手机移动端平台(ARM 系列芯片)和其他嵌入式端侧平台(海思 3519、安霸 CV22、地平线 X3、英伟达 jetson tx2 等芯片)。对于模型部署/移植/优化工程师来说,虽然模型优化、量化等是更有挑战性和技术性的知识,但是对于新手的我们往往是在做解决模型无法在端侧部署的问题,包括但不限于:实现新 OP、修改不兼容的属性、修改不兼容的权重形状、学习不同芯片平台的推理部署框架等。对于模型转换来说,现在行业主流是使用 Caffe 和 ONNX 模型作为中间模型。1.1,深度学习项目开发流程在高校做深度学习 demo 应用一般是这样一个过程,比如使用 Pytorch/TensorFlow 框架训练出一个模型,然后直接使用 Pytorch 框架做推理(test)完成功能验证,但是在工业界这是不可能的,因为这样模型推理速度很慢,一般我们必须有专门的深度学习推理加速框架去做模型推理(inference)。以 GPU 云平台推理框架 TensorRT 为例,简单描述模型训练推理过程就是:训练好网络模型(权重参数数据类型为 FP32)输入 TensorRT,然后 TensorRT 做解析优化,并进行在线推理和输出结果。两种不同的模型训练推理过程对比如下图所示: 前面的描述较为简单,实际在工业届,理想的深度学习项目开发流程应该分为三个步骤: 模型离线训练、模型压缩和模型在线部署,后面两个步骤互有交叉,具体详情如下:模型离线训练:实时性低,数据离线且更新不频繁,batchsize 较大,消耗大量 GPU 资源。设计开发模型网络结构;准备数据集并进行数据预处理、EDA 等操作;深度学习框架训练模型:数据增强、超参数调整、优化器选择、训练策略调整(多尺度训练)、TTA、模型融合等;模型测试。模型优化压缩:主要涉及模型优化、模型转换、模型量化和模型编译优化,这些过程很多都在高性能计算推理框架中集成了,各个芯片厂商也提供了相应的工具链和推理库来完成模型优化压缩。实际开发中,在不同的平台选择不同的推理加速引擎框架,比如 GPU 平台选择 TensorRT,手机移动端(ARM)选择 NCNN/MNN,NPU 芯片平台,如海思3519、地平线X3、安霸CV22等则直接在厂商给出的工具链进行模型的优化(optimizer)和压缩。模型优化 Optimizer:主要指计算图优化。首先对计算图进行分析并应用一系列与硬件无关的优化策略,从而在逻辑上降低运行时的开销,常见的类似优化策略其包括:算子融合(conv、bn、relu 融合)、算子替换、常数折叠、公共子表达式消除等。模型转换 Converter:Pytorch->Caffe、Pytorch->ONNX、ONNX模型->NCNN/NPU芯片厂商模型格式(需要踩坑非常多,Pytorch、ONNX、NPU 三者之间的算子要注意兼容)。注意 ONNX 一般用作训练框架和推理框架之间转换的中间模型格式。模型量化 Quantizer:主要指训练后量化(Post-training quantization PTQ);权重、激活使用不同的量化位宽,如速度最快的量化方式 w8a8、速度和精度平衡的量化方式 w8a16。模型编译优化(编译优化+NPU 指令生成+内存优化)Compiler:模型编译针对不同的硬件平台有不同优化方法,与前面的和硬件无关的模型层面的优化不同。GPU平台存在 kernel fusion 方法;而 NPU 平台算子是通过特定二进制指令实现,其编译优化方法包括,卷积层的拆分、卷积核权重数据重排、NPU 算子调优等。模型部署/SDK输出: 针对视频级应用需要输出功能接口的SDK。实时性要求高,数据线上且更新频繁,batchsize 为 1。主要需要完成多模型的集成、模型输入的预处理、非DL算法模块的开发、 各个模块 pipeline 的串联,以及最后 c 接口(SDK)的输出。板端框架模型推理: Inference:C/C++。不同的 NPU 芯片/不同的公司有着不同的推理框架,但是模型的推理流程大致是一样的。包括:输入图像数据预处理、加载模型文件并解析、填充输入图像和模型权重数据到相应地址、模型推理、释放模型资源。这里主要需要学习不同的模型部署和推理框架。pipeline 应用开发: 在实际的深度学习项目开发过程中,模型推理只是其中的基础功能,具体的我们还需要实现多模型的集成、模型输入前处理、以及非 DL 算法模块的开发: 包括检测模块、跟踪模块、选帧模块、关联模块和业务算法模块等,并将各模块串联成一个 pipeline,从而完成视频结构化应用的开发。SDK集成: 在完成了具体业务 pipeline 的算法开发后,一般就需要输出 c 接口的 SDK 给到下层的业务侧(前后端)人员调用了。这里主要涉及 c/c++ 接口的转换、pipeline 多线程/多通道等sample的开发、以及大量的单元、性能、精度、稳定性测试。芯片平台板端推理 Inference,不同的 NPU 芯片有着不同的 SDK 库代码,但是模型运行流程类似。不同平台的模型的编译优化是不同的,比如 NPU 和一般 GPU 的区别在于后端模型编译上,GPU 是编译生成 kernel library(cuDNN 函数),NPU 是编译生成二进制指令;前端的计算图优化没有本质区别,基本通用。所以综上所述,深度学习项目开发流程可以大致总结为三个步骤: 模型离线训练、模型优化压缩和模型部署/SDK输出,后两个步骤互有交叉。前面 2 个步骤在 PC 上完成,最后一个步骤开发的代码是需要在在 AI 芯片系统上运行的。最后以视差模型在海思 3519 平台的部署为例,其模型部署工作流程如下: 1.2,模型训练和推理的不同为了更好进行模型优化和部署的工作,需要总结一下模型推理(Inference)和训练(Training)的不同:网络权重值固定,只有前向传播(Forward),无需反向传播,因此:模型权值和结构固定,可以做计算图优化,比如算子融合等;输入输出大小固定,可以做 memory 优化,比如 feature 重排和 kernel 重排。batch_size 会很小(比如 1),存在 latency 的问题。可以使用低精度的技术,训练阶段要进行反向传播,每次梯度的更新是很微小的,需要相对较高的精度比如 FP32 来处理数据。但是推理阶段,对精度要求没那么高,现在很多论文都表明使用低精度如 in16 或者 int8 数据类型来做推理,也不会带来很大的精度损失。二、手机端CPU推理框架的优化对于 HPC 和软件工程师来说,在手机 CPU 端做模型推理框架的优化,可以从上到下考虑:算法层优化:最上面就是算法层,如可以用winograd从数学上减少乘法的数量(仅在大channel尺寸下有效);框架优化:推理框架可以实现内存池、多线程等策略;硬件层优化:主要包括: 适应不同的硬件架构特性、pipeline和cache优化、内存数据重排、NEON 汇编优化等。转自:cid:link_0
-
今天我们就来学习一下,如何用1行代码,自动识别银行卡信息并且自动生成Excel文件~ 第一步:识别一张银行卡识别银行卡的代码最简单,只需要1行腾讯云AI的第三方库potencent的代码,如下所示。左右滑动,查看全部。👇# pip install potencent import potencent # 可以填写本地图片的地址:img_path,也可以填写在线图片的地址:img_url # 如果2个都填,则只用在线图片 res = potencent.ocr.BankCardOCR( img_path=r'C:\Users\程序员晚枫的文件夹\银行卡图片', img_url='https://python-office-1300615378.cos.ap-chongqing.myqcloud.com/2-free-group.jpg', configPath=r'配置文件的信息,可以不填,默认是同级目录下的potencent-config.toml') print(res)识别后的返回结果,几乎涵盖所有银行卡上肉眼可见的内容。👇{ "CardNo": "621700888888888889", "BankInfo": "建设银行(01050000)", "ValidDate": "08/2026", "CardType": "借记卡", "CardName": "龙卡通", "RequestId": "86b70007-3ef5-4b7e-8685-556b0a7df1c9" }支持对中国大陆主流银行卡正反面关键字段的检测与识别,包括卡号、卡类型、卡名字、银行信息、有效期。支持竖排异形卡识别、多角度旋转图片识别。支持对复印件、翻拍件、边框遮挡的银行卡进行告警,可应用于各种银行卡信息有效性校验场景,如金融行业身份认证、第三方支付绑卡等场景。 以上代码中,关于potencent-config.toml的配置方法,可以参考昨天视频的讲解👇第二步:写入Excel想把上面这个代码用来识别大量银行卡信息,并且将识别后的返回数据,全部写入Excel文件。代码如下👇import os from os.path import join import pandas as pd # home_path = "你存放大量银行卡图片的位置" home_path = r"C:\Users\Lenovo\Desktop\temp\test\card" res_df = pd.DataFrame() for (root, dirs, files) in os.walk(home_path): for file in files: single_res = potencent.ocr.BankCardOCR(img_path=join(root, file)) single_res = json.loads(single_res.to_json_string()) line_df = pd.DataFrame(single_res, index=[0]) print(line_df) res_df = res_df.append(other=line_df) print(res_df) res_df.to_excel(r"./银行卡信息(程序员晚枫).xlsx")运行后的结果如下,会在同级目录下,生成一个Excel文件 第三步:优化思路以上代码还可以进一步优化,例如:路径处理改为Path方法,适配更多的平台变量名称更简洁index改为序号但优化的前提是程序能运行成功,赶紧去跑起来吧~转载自:cid:link_0
-
多模态方法种类多模态深度学习是指将来自不同感知模态的信息(如图像、文本、语音等)融合到一个深度学习模型中,以实现更丰富的信息表达和更准确的预测。在多模态深度学习中,模型之间的融合通常有以下三种方法: 模态联合学习(Multimodal Joint Learning):模态联合学习是一种联合训练的方法,将来自不同模态的数据输入到一个模型中,模型可以同时学习到多个模态的特征表示,并将这些特征表示融合在一起进行决策。这种方法的优点是可以充分利用多个模态的信息,但是需要同时训练多个模型,计算复杂度较高。跨模态学习(Cross-Modal Learning):跨模态学习是一种将一个模态的特征转换为另一个模态的特征表示的方法。这种方法的目的是通过跨模态学习,学习到多个模态之间的映射关系,并将不同模态的信息融合在一起。例如,可以使用图像的特征表示来预测文本的情感极性。这种方法可以减少训练时间和计算复杂度,但是需要预先确定好模态之间的映射关系。多模态自监督学习(Multimodal Self-Supervised Learning):多模态自监督学习是一种无需标注数据,通过模型自身学习来提取多个模态的特征表示的方法。这种方法的优点是可以利用大量未标注的数据进行训练,但是需要设计一些自监督任务来引导模型学习多模态的特征表示。例如,可以通过学习视觉音频同步、图像文本匹配等任务来进行多模态自监督学习。总的来说,这三种方法都可以用于多模态深度学习中模型之间的融合,具体选择哪一种方法需要根据具体的任务和数据情况进行决策。多模态深度学习模型的方法和相关论文的详细说明模态联合学习(Multimodal Joint Learning):模态联合学习是一种将多个模态的信息融合在一个模型中进行联合训练的方法。这种方法的研究背景是,现实生活中的很多任务需要同时利用多个感知模态的信息,例如语音识别、人脸识别、情感分析等。模态联合学习的目的是在一个统一的框架下,将来自不同模态的信息进行融合,提高任务的表现。一篇典型的使用模态联合学习方法的论文是2018年的“Multi-Modal Deep Learning for Robust RGB-D Object Recognition”,作者提出了一种基于深度学习的多模态目标识别方法。该方法使用了一个深度卷积神经网络(CNN)和一个多层感知器(MLP)组成的多模态模型来处理来自RGB-D传感器的数据。具体地,CNN用于处理RGB图像,MLP用于处理深度图像,两个模型的输出在特征层级别进行融合。实验结果表明,该方法相对于单模态方法和其他多模态方法具有更好的识别性能。跨模态学习(Cross-Modal Learning):跨模态学习是一种将一个模态的特征转换为另一个模态的特征表示的方法。这种方法的研究背景是,现实生活中的不同感知模态之间存在着复杂的关联性和相互依赖性。跨模态学习的目的是学习到不同模态之间的映射关系,实现跨模态信息的转换和融合。一篇典型的使用跨模态学习方法的论文是2018年的“Image Captioning with Semantic Attention”,作者提出了一种基于卷积神经网络(CNN)和长短时记忆网络(LSTM)的图像描述模型。该模型首先使用CNN提取图像的特征表示,然后使用LSTM生成对图像的描述。在生成描述时,模型还使用了一个注意力机制,将图像中的重要区域与生成的文本序列进行对齐。实验结果表明,该方法相对于其他方法具有更好的描述性能,能够生成更准确和更生动的图像描述。多模态自监督学习(Multimodal Self-Supervised Learning):多模态自监督学习是一种无需标注数据,通过模型自身学习来提取多个模态的特征的方法。这种方法的研究背景是,现实生活中的很多任务需要大量标注数据才能进行训练,但标注数据的获取成本很高。多模态自监督学习的目的是通过模型自身学习来利用未标注的数据,提高模型的泛化性能。一篇典型的使用多模态自监督学习方法的论文是2020年的“Unsupervised Learning of Multimodal Representations with Deep Boltzmann Machines”,作者提出了一种基于深度玻尔兹曼机(DBM)的无监督多模态特征学习方法。该方法使用了两个DBM分别处理来自图像和文本的数据,并在两个DBM之间添加了一个嵌入层,将图像和文本的特征进行融合。在训练过程中,模型使用了对比散度(CD)算法进行参数更新。实验结果表明,该方法相对于其他无监督方法和有监督方法具有更好的多模态特征表示能力。综上所述,多模态深度学习的三种方法分别是魔胎联合学习、跨模态学习和多模态自监督学习。这些方法的研究背景、目的、使用的方法和相关论文都有所不同。在实际应用中,研究人员可以根据具体任务和数据特点选择适合的方法,并根据需要对方法进行改进和扩展。多模态方法实现可以使用PaddlePaddle深度学习框架实现多模态深度学习的三种方法。下面是三种方法的简单实现说明。模态联合学习模态联合学习是将不同模态的特征提取网络联合在一起,以共同学习任务特征的方法。在PaddlePaddle中可以使用PaddleHub提供的预训练模型完成模态联合学习,例如使用PaddleHub提供的图像分类和文本分类模型,分别获得图像和文本的特征表示,然后将这些特征表示合并在一起,用于进行多模态任务的学习和预测。以下是基于PaddleHub实现的示例代码:import paddlehub as hub # 加载图像分类模型 image_classifier = hub.Module(name="resnet50_vd") # 加载文本分类模型 text_classifier = hub.Module(name="ernie") # 分别对图像和文本进行特征提取 image_feature = image_classifier.feature(input_images) text_feature = text_classifier.feature(input_texts) # 将图像和文本的特征表示合并在一起 multimodal_feature = paddle.concat([image_feature, text_feature], axis=-1) # 使用多模态特征进行任务学习和预测跨模态学习跨模态学习是将不同模态的数据映射到共同的空间中,以便可以使用相同的特征提取器和分类器进行训练和预测。在PaddlePaddle中可以使用自定义模型实现跨模态学习。以下是一个基于PaddlePaddle实现的跨模态学习的示例代码:import paddle # 定义图像模态的特征提取器 image_feature_extractor = paddle.nn.Sequential( paddle.nn.Conv2D(...), paddle.nn.BatchNorm2D(...), paddle.nn.ReLU(), ... ) # 定义文本模态的特征提取器 text_feature_extractor = paddle.nn.Sequential( paddle.nn.Embedding(...), paddle.nn.LSTM(...), ... ) # 定义特征融合层 fusion_layer = paddle.nn.Sequential( paddle.nn.Linear(...), paddle.nn.ReLU(), ... ) # 定义分类器 classifier = paddle.nn.Linear(...) # 定义跨模态学习模型 class CrossModalModel(paddle.nn.Layer): def __init__(self): super().__init__() self.image_feature_extractor = image_feature_extractor self.text_feature_extractor = text_feature_extractor self.fusion_layer = fusion_layer self.classifier = classifier def forward(self, image_data, text_data): image_feature = self.image_feature_extractor(image_data) text_feature = self.text_feature_extractor(text_data) fused_feature = self.fusion_layer(paddle.concat([image_feature, text_feature], axis=-1)) output = self.classifier(fused_feature) return output # 使用跨模态学习模型进行任务学习和预测多模态自监督学习多模态自监督学习是一种利用多模态数据自身特点设计的自监督学习方法,通常不需要标注数据。在PaddlePaddle中可以使用PaddleClas提供的模型进行多模态自监督学习,例如使用PaddleClas提供的SimCLR模型,该模型使用数据增强和对比学习方法进行多模态特征学习,以提高模型在多模态数据上的表现。以下是一个基于PaddleClas实现的多模态自监督学习的示例代码:import paddle import paddlehub as hub from paddle.io import DataLoader from paddle.vision.transforms import transforms from paddle.vision.datasets import ImageNet, Cifar10 # 定义图像数据集的预处理器 image_transforms = transforms.Compose([ transforms.Resize((224, 224)), transforms.Normalize(...), ... ]) # 加载图像数据集 image_dataset = ImageNet(..., transform=image_transforms) # 加载文本数据集 text_dataset = ... # 定义数据加载器 batch_size = 64 image_data_loader = DataLoader(image_dataset, batch_size=batch_size) text_data_loader = DataLoader(text_dataset, batch_size=batch_size) # 加载SimCLR模型 simclr = hub.Module(name="simclr") # 使用多模态数据进行自监督学习 for image_data, text_data in zip(image_data_loader, text_data_loader): # 将图像和文本数据进行拼接 multimodal_data = paddle.concat([image_data, text_data], axis=0) # 进行数据增强 augmented_data = simclr.augment(multimodal_data) # 获取特征表示 features = simclr(multimodal_data) # 计算对比损失 loss = simclr.contrastive_loss(features, augmented_data) # 反向传播更新模型参数 loss.backward()转自:cid:link_0
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签