当前位置: 首页 > news >正文

小榄网站设计wordpress博客程序文章自动更新

小榄网站设计,wordpress博客程序文章自动更新,杭州平面设计师工资一般多少,网页设计用什么软件做AI技术突飞猛进#xff0c;不断的改变着人们的工作和生活。数字人直播作为新兴形式#xff0c;必将成为未来趋势#xff0c;具有巨大的、广阔的、惊人的市场前景。它将不断融合创新技术和跨界合作#xff0c;提供更具个性化和多样化的互动体验#xff0c;成为未来的一种趋… AI技术突飞猛进不断的改变着人们的工作和生活。数字人直播作为新兴形式必将成为未来趋势具有巨大的、广阔的、惊人的市场前景。它将不断融合创新技术和跨界合作提供更具个性化和多样化的互动体验成为未来的一种趋势。 前言 马斯克称“人工智能将在我们所看到的人类进化和文明的未来发挥非常深远的作用。未来我们会拥有大量的机器人到时候全球的生产效率将会提高到令人难以置信的水平。”机器人可以完成行走、上下楼、下蹲、拿取物品等动作也已具备了保护自身和周围人安全的能力未来还可以做饭、修剪草坪、帮助照看老人或在工厂里面替代人类从事枯燥和有危险的工作。 不久前的世界互联网大会数字文明尼山对话上阿里巴巴集团董事会主席兼首席执行官、阿里云智能集团董事长兼首席执行官张勇也表示AI的发展将会带来更多的就业机会。站在智能化新时代所有行业都值得基于人工智能技术重做一遍。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ 只不过效率提升的同时迎面而来的也是人类与AI的近距离博弈。在AIGC时代影响下人们已经可以用非常低的成本用上ChatGPT、StableDiffusion以及 Midjourney等AI产品。很多岗位面临着替代的风险文字工作者、画师、广告设计甚至是带货主播等。 虽然网上有些公司已实现了虚拟数字人技术但收费都不菲。这里使用python尝试玩一下虚拟数字人直播作为有趣的探索和低成本的实现。如果探索可行可以自己搞一个虚拟数字人直播玩玩儿挂在自己的抖音上二十四小时在线岂不美哉 python实现的虚拟数字人直播 利用AI技术除了虚拟数字人直播外AR 导购、虚拟试穿、虚拟主播、3D 样板间等新玩法的出现实现了直播电商在观看体验、直播效率、商业价值上的全面提速。在不同的应用场景下人工智能和真人主播可以互补互助为消费者提供多元的观看体验例如人工智能的语言处理可以更快速地理解和回应用户的问题和需求而真人主播则可以在直播过程中与用户进行情感上的交流互动拉近直播间与用户间的距离。  数字人直播的惊天优势 利用数字人直播新媒体平台可以让数字人直播24小时随时开播、自动带货。 数字人直播帮助本地生活商家实现爆破式增长。 数字人直播深度还原真人形象告别出镜难题。 数字人直播文案一键输入3S出片短视频产量指数级增长。 数字人直播可利用GPT互动功能GPT直播生成内容自动互动回复不重样。 利用文心一言、讯飞星火或chatGPT等人工智能语音交互技术让数字人直播真正的走向实战成为可能。 Python实现的技术方案 Python可以用于实现虚拟数字人使其具备动画和说话的能力。 一个可行的技术方案探索 1. 人物建模和动画使用计算机图形学技术可以使用Python库如Pygame、Pyglet、OpenGL等创建人物的3D模型并为其添加动画效果。可以使用3D建模软件如Blender创建人物模型并使用Python编写脚本来控制模型的动画。 2. 语音合成使用Python库如pyttsx3、gTTS等可以将文本转换为语音。这些库提供了API可以将文本输入并生成相应的语音输出。 3. 对话系统使用Python的自然语言处理NLP和机器学习技术可以构建一个对话系统使虚拟数字人能够理解和生成自然语言的对话。可以使用NLP库如NLTK、SpaCy等来处理自然语言并使用机器学习库如TensorFlow、PyTorch等来训练对话模型。 4. 用户界面使用Python的GUI库如Tkinter、PyQt等可以创建一个用户界面使用户能够与虚拟数字人进行交互。可以在界面上显示虚拟人物的动画并提供文本框或语音输入来与其进行对话。 方案介绍 1. 人物建模和动画 使用计算机图形学技术创建人物的2D或3D模型可以使用Blender等建模软件进行建模。将人物的不同面部表情和动作设计为不同的图像帧或动画序列。或自己录制或从网上剪辑需要的人物视频和图片素材。 2. 精灵类的使用 - 创建一个继承自pygame.sprite.Sprite的虚拟数字人类。  在虚拟数字人类中使用pygame.image.load()加载人物的图像帧或动画序列。  使用pygame.Surface.blit()方法在屏幕上绘制当前的图像帧。 3. 面部表情和动作切换 - 在虚拟数字人类中定义方法来切换人物的面部表情和动作。 - 使用pygame.time.set_timer()来定时触发表情和动作的切换创建一个定时器事件。 4. 发音和语音合成 - 使用Python的语音合成库如pyttsx3、gTTS等或百度、科大讯飞等的语音接口将文本转换为语音。 - 定义方法来触发虚拟数字人的发音根据需要播放相应的语音。 5. 用户交互 - 创建一个pygame窗口用于显示虚拟数字人和与用户进行交互。  使用pygame.event.get()监听用户的事件例如键盘输入或鼠标点击。 - 根据用户的输入调用相应的方法来切换人物的面部表情、动作和发音。让用户的聊天内容文字发给GPT形成内容并通过文字转语音回复给用户同时配合不同的动作和表情。 环境依赖 1.下载安装python3,Python 官网Welcome to Python.org 2.安装依赖的模块: pygame,pygame-pgu,opencv,rembg pip install rembg -i https://pypi.tuna.tsinghua.edu.cn/simple/ pip install opencv-python 3.替换pip安装的资源镜像否则下载模块很慢 pip  config set  global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 4.图片和语音素材 5.讯飞离线语音合成工具 素材制作 可以使用3D建模软件如Blender创建人物模型这里简单起见部分素材从网上搜索下载到的仅用于学习研究目的如有侵权请联系我。 Rembg是一款图片背景去除工具. 这里我先简单介绍下它的特点。 开源、免费 基于 Python 开发 后台引擎是用于显著对象检测的深度网络架构 U²-Net后文有简单介绍 安装简单 背景图片 人物图片 代码实现 加载图片背景 #背景实现 class BackGround(pygame.sprite.Sprite):def __init__(self):super().__init__()self.image pygame.image.load(./image/background.png).convert()self.image pygame.transform.scale(self.image, (WIDTH, HEIGHT))self.rect self.image.get_rect()self.ready_to_move 0self.index 0def update(self, *args):pass 提取视频图片帧 从一段视频中提取视频图片帧。 在pygame中Sprite精灵通常使用图像来实现动画效果。尽管pygame本身不直接支持加载和播放mp4格式的视频文件但可以通过一些额外的库来实现加载和播放视频的功能。 一个常用的库是 moviepy 它是一个用于视频编辑和处理的Python库。可以使用 moviepy 库将mp4视频文件转换为一系列图像帧然后使用这些图像帧来创建Sprite精灵动画。 下面是一个示例 import pygame from moviepy.editor import VideoFileClip# 加载mp4视频并提取图像帧 video VideoFileClip(animation.mp4) frames [pygame.image.fromstring(video.get_frame(t), video.size, RGB) for t in range(0, int(video.duration*video.fps))]# 初始化pygame pygame.init() screen pygame.display.set_mode(video.size)# 创建Sprite精灵对象 class AnimatedSprite(pygame.sprite.Sprite):def __init__(self, frames):super().__init__()self.frames framesself.current_frame 0self.image self.frames[self.current_frame]self.rect self.image.get_rect()def update(self):self.current_frame (self.current_frame 1) % len(self.frames)self.image self.frames[self.current_frame]# 创建精灵对象并添加到精灵组 sprite AnimatedSprite(frames) sprite_group pygame.sprite.Group(sprite)clock pygame.time.Clock()# 游戏循环 running True while running:for event in pygame.event.get():if event.type pygame.QUIT:running Falsesprite_group.update()screen.fill((0, 0, 0))sprite_group.draw(screen)pygame.display.flip()clock.tick(30)pygame.quit() 提取视频帧并保存为png格式的图片同时去除背景 # 加油动作手势def comeOn(self):# 加载mp4视频并提取图像帧video VideoFileClip(./mp4/1.mp4)# Get the video dimensionsvideo_width, video_height video.size# 创建一个pygame surface#surface pygame.Surface((video_width, video_height))#frames [pygame.image.fromstring(np.array(video.get_frame(t)).tobytes(), video.size, RGB) for t in range(0, int(video.duration*video.fps))]# Create a pygame surface with alpha channelsurface pygame.Surface((video_width, video_height), pygame.SRCALPHA)# Convert each frame of the video to an image with transparencyframes []for t in range(int(video.duration * video.fps)):frame video.get_frame(t)pygame.surfarray.blit_array(surface, frame.swapaxes(0, 1))# 将帧保存为PNG图像image pygame.surfarray.array3d(surface).swapaxes(0, 1)image np.uint8(image)pil_image Image.fromarray(image)#去除图片的白色背景image remove(pil_image)#保存png图片image.save(fframet_{t}.png)# Convert PIL Image to pygame surfacepygame_image pygame.image.fromstring(image.tobytes(), image.size, image.mode).convert_alpha()frames.append(pygame_image)self.frames framesprint(frames count:str(len(self.frames)))self.current_frame 0self.image self.frames[self.current_frame]self.state comeOnself.start time.time() 也可以使用opencv提取mp4视频中的图片帧代码示例 import cv2# 打开视频文件 video cv2.VideoCapture(2.mp4)# 设置帧计数器 frame_count 0while True:# 读取视频的每一帧ret, frame video.read()# 如果没有读到帧说明视频已经结束if not ret:break# 保存帧图片cv2.imwrite(foutput/frame_{frame_count}.jpg, frame)# 帧计数器自增frame_count 1# 释放视频对象 video.release() 实现过程 # -*- coding: utf-8 -*- # Author : yangyongzhen # Email : 534117529qq.com # File : mqttclienttool.py # Project : study import pygame from moviepy.editor import VideoFileClip import numpy as np import time from PIL import Image from rembg import remove import cv2# 常量 屏幕大小 WIDTH, HEIGHT 500, 900 print(cv2.__version__) # 初始化操作 pygame.init() pygame.mixer.init() # 创建窗口 screen pygame.display.set_mode((WIDTH, HEIGHT))# 设置窗口标题 pygame.display.set_caption(虚拟数字人--关注作者blog.csdn.net/qq8864)# 添加背景音乐 pygame.mixer.music.load(./sound/bgLoop.wav) pygame.mixer.music.set_volume(0.5) # 音量 #pygame.mixer.music.play(-1, 0) # 添加系统时钟 FPS 30 clock pygame.time.Clock() # 创建用户自定义事件每隔1000毫秒触发一次事件 USER_EVENT pygame.USEREVENT pygame.time.set_timer(USER_EVENT, 1000)# 加载字体文件 font_path ./font/SIMYOU.ttf # 替换为你的字体文件路径 font_size 24 font pygame.font.Font(font_path, font_size)# 虚拟数字人主角 # class Hero(pygame.sprite.Sprite) # class BackGround(pygame.sprite.Sprite) # 虚拟人主角 (静默状态保持微笑和3秒眨一次眼睛) class VirtualMan(pygame.sprite.Sprite):def __init__(self, speed):super().__init__()self.image pygame.image.load(./image/man.png)self.image_index 0self.readt_to_change 0self.rect self.image.get_rect()self.rect.width * 0.5self.rect.height * 0.5self.image pygame.transform.scale(self.image, (self.rect.width, self.rect.height))self.rect.x, self.rect.y 0, 100self.speed speedself.frames Noneself.current_frame 0self.state idledef update(self, *args):#这里用上下左右、空格几个按键来测试虚拟数字人的不同动作keys pygame.key.get_pressed()if keys[pygame.K_UP]:#加油动作手势self.comeOn()if keys[pygame.K_DOWN]:#欢迎动作手势self.welcome()if keys[pygame.K_LEFT]:#说话动作和表情self.say()if keys[pygame.K_RIGHT]:#停下来self.stop()if keys[pygame.K_SPACE]:#欢迎动作手势self.goodbye()if self.state comeOn: self.current_frame (self.current_frame 1) % len(self.frames)self.image pygame.transform.scale(self.frames[self.current_frame], (self.rect.width, self.rect.height))#print(current_frame:str(self.current_frame))if self.current_frame 0:self.frames.clear()self.state idleprint(idle)self.end time.time()print(time:str(self.end - self.start))img pygame.image.load(./image/man.png)self.image pygame.transform.scale(img, (self.rect.width, self.rect.height))pass# 加油动作手势def comeOn(self):# 加载mp4视频并提取图像帧#video VideoFileClip(./mp4/1.mp4)frames []video cv2.VideoCapture(./mp4/1.mp4)# 设置帧计数器frame_count 0while True:# 读取视频的每一帧ret, frame video.read()# 如果没有读到帧说明视频已经结束if not ret:break# 保存帧图片#cv2.imwrite(foutput/frame_{frame_count}.png, frame)#OpenCV转换成PIL.Image格式pil_image Image.fromarray(cv2.cvtColor(frame,cv2.COLOR_BGR2RGB))image remove(pil_image)image.save(fframet_{frame_count}.png)# Convert PIL Image to pygame surfacepygame_image pygame.image.fromstring(image.tobytes(), image.size, image.mode).convert_alpha()frames.append(pygame_image)# 帧计数器自增frame_count 1# 释放视频对象video.release()for i in range(0,75):img pygame.image.load(f./doc/img2/framet_{i}.png)frames.append(img)self.frames framesprint(frames count:str(len(self.frames)))self.current_frame 0self.image self.frames[self.current_frame]self.state comeOnself.start time.time()#再见动作手势def goodbye(self):pass#欢迎动作手势def welcome(self):pass#停止所有动作def stop(self):pass#开始说话def say(self):pass#sound pygame.mixer.Sound(./sound/nihao.wav)#sound.play()#背景 class BackGround(pygame.sprite.Sprite):def __init__(self):super().__init__()self.image pygame.image.load(./image/background.png).convert()self.image pygame.transform.scale(self.image, (WIDTH, HEIGHT))self.rect self.image.get_rect()self.ready_to_move 0self.index 0def update(self, *args):pass# 初始化精灵组 bg_sprite pygame.sprite.Group() man_sprite pygame.sprite.Group()# 定义人物 man VirtualMan(4) man_sprite.add(man)bg1 BackGround() bg_sprite.add(bg1) # 保持游戏运行状态(游戏循环 while True:# 游戏帧的刷新clock.tick(FPS)#print(Runtime:, pygame.time.get_ticks(), ms)# 检测事件for event in pygame.event.get():# 检测关闭按钮被点击的事件if event.type pygame.QUIT:# 退出pygame.quit()exit()if event.type USER_EVENT:man.say()passelse:try:passexcept Exception as e:print(e)# screen.fill((0,0,0))for group in [bg_sprite, man_sprite]:group.update()group.draw(screen)#screen.fill((0,0,0)) #生成一个屏幕 pygame.display.flip()#pygame.display.update()#app.paint() #将pgu容器的内容画出其他资源  【代码抠图】4行Python代码帮你消除图片背景 - 知乎 【Python】推荐三个好玩的图像处理库_python rembg_赵卓不凡的博客-CSDN博客 百度安全验证 无需PhotoshopRembg图像背景自动去除工具_研道鸠摩智的博客-CSDN博客 数字人涌入直播间虚拟主播的未来到底如何 光生资讯 |虚拟数字人直播火热前景广阔但仍需改进_进行_用户_问题 【Python】推荐三个好玩的图像处理库_python rembg_赵卓不凡的博客-CSDN博客 Python自动化一款基于AI的自动图片背景去除软件 - 墨天轮 rembg 模型库放置位置设置_桑榆肖物的博客-CSDN博客 Matting库rembg使用测评 - 知乎 Python OpenCV 详解_pythonopencv-CSDN博客 PythonOpenCV计算机视觉全面基础概述上篇 - 知乎 Py之cv2cv2库(OpenCVopencv-python)的简介、安装、使用方法(常见函数、方法等)最强详细攻略_顺其自然~的博客-CSDN博客 OpenCV视频操作 · OpenCV-Python初学自码 · 看云
http://www.w-s-a.com/news/388637/

相关文章:

  • 局域网内个人网站建设查询企业的网站有哪些
  • 网站建设属于技术开发吗网页制作团队
  • 做家常菜的网站哪个好哪个网站做图片外链
  • 眼科医院网站设计怎么做6深圳宝安是什么风险等级
  • 网站制作容易吗logo免费生成网站
  • 建设厅官方网站下载专区网络托管公司
  • 祥云平台官方网站网线制作实验原理
  • 把网站做成app的软件下载国外做兼职的网站有哪些
  • 网站建设 海豚弯专业的网站开发服务商
  • 那个网站有免费模板中国家装公司十大排名
  • 中铁建设集团有限公司门户网站余杭区建设规划局网站
  • 天猫网站建设的目标是什么做网站常见问题模板
  • 做php网站需要什么软件天津建设网官方网站
  • 南漳网站开发上海网站推广方法
  • 深圳seo网站大连旅顺房价
  • dede网站 地图什么做有没有做黑市网站
  • 做网站参考文献域名如何做网站
  • 怎么选择网站开发英文网站建设用途
  • 怎样做电子商务网站织梦生成手机网站
  • 公司网站建设选什么服务器网站里怎样添加关键词
  • 深圳建设局网站深业中城绿化项目营销型网站开发流程包括
  • 找销售的网站九江市建设项目服务中心
  • 东原ARC网站建设公司合肥seo网站推广外包
  • 那个网站是做房产中介的网站制作软件小学
  • 做网页怎么建站点视频解析网站
  • 做网站的系统设计网站设计论文前言
  • 做外贸网站多久更新汕头市建设局网站首页
  • 如何建设专业化的网站手机管理网站模板
  • 花生壳做网站如何用腾讯云做网站
  • 搭建集团网站开发app需要哪些软件