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

用front page2003做网站的导航条网站的站点建设分为

用front page2003做网站的导航条,网站的站点建设分为,北京朝阳区有哪些小区,做论坛网站需要哪些前置审批文章目录 1 前言1 课题背景2 技术原理和方法2.1基本原理2.2 技术选型和方法 3 实例分割4 实现效果5 最后 1 前言 #x1f525; 优质竞赛项目系列#xff0c;今天要分享的是 #x1f6a9; 深度学习人体语义分割在弹幕防遮挡上的应用 该项目较为新颖#xff0c;适合作为竞… 文章目录 1 前言1 课题背景2 技术原理和方法2.1基本原理2.2 技术选型和方法 3 实例分割4 实现效果5 最后 1 前言 优质竞赛项目系列今天要分享的是 深度学习人体语义分割在弹幕防遮挡上的应用 该项目较为新颖适合作为竞赛课题方向学长非常推荐 学长这里给一个题目综合评分(每项满分5分) 难度系数3分工作量3分创新点3分 更多资料, 项目分享 https://gitee.com/dancheng-senior/postgraduate 1 课题背景 弹幕是显示在视频上的评论可以以滚动、停留甚至更多动作特效方式出现在视频上是观看视频的人发送的简短评论。 各大视频网站目前都有弹幕功能之家也于2020年5月正式上线视频弹幕功能受到了广大网友的喜爱大家在观看视频的同时也能通过弹幕进行互动。 但密集的弹幕遮挡视频画面严重影响用户观看体验如何解决 查阅了相关视频网站发现B站推出了一种蒙版弹幕技术可以让弹幕自动躲避人形区域达到弹幕不挡人的效果。 B站视频弹幕不挡人的效果 2 技术原理和方法 2.1基本原理 通过AI计算机视觉的技术对视频内容进行分析并将之前已经定义好的“视频主体内容”进行识别生成蒙版并分发给客户端后让客户端利用 CSS3 的特性进行渲染从而达成最终的效果。这样就形成了我们最终看到的“不挡脸”弹幕效果。 实现方法就正如 PS 中的“蒙版“一样实心区域允许空白区域拒绝从而达到弹幕不挡人的效果。而技术的核心就在蒙版的生成上所以将这个功能称之为“蒙版弹幕”。 2.2 技术选型和方法 1、提取视频帧画面。对音视频的处理大家一般都会想到FFmpeg组件我们也是使用FFmpeg组件提取每帧的视频画面使用的是PyAV组件PyAV是FFmpeg封装能够灵活的编解码视频和音频并且支持Python常用的数据格式如numpy。 2、识别视频帧画面人像区域。解决方案使用AI计算机视觉的实例分割技术可以识别视频帧画面的人像区域。 3、AI框架目前市面上的AI框架主要以TensorFlowPyTorch最流行。 TensorFlow 出身豪门的工业界霸主由Google Brain团队研发。具有如下优点支持多种编程语言灵活的架构支持多GPU、分布式训练跨平台运行能力强自带 TensorBoard 组件能可视化计算图便于让用户实时监控观察训练过程官方文档非常详尽可查询资料众多社区庞大大量开发者活跃于此。PyTorch 以动态图崛起的学术界宠儿是基于 Torch 并由Facebook强力支持的python端的开源深度学习库。具有如下优点简洁 PyTorch 在设计上更直观追求尽量少的封装建模过程透明代码易于理解易用应用十分灵活接口沿用 Torch 契合用户思维尽可能地让用户实现“所思即所得”不过多顾虑框架本 PyTorch 。原因 TensorFlow 入门难度较大学习门槛高系统设计过于复杂而 PyTorch 入门难度低上手快而且提供的功能也非常易用预训练模型也非常多。 4、实例分割技术实例分割Instance Segmentation是视觉经典四个任务中相对最难的一个它既具备语义分割Semantic Segmentation的特点需要做到像素层面上的分类也具备目标检测Object Detection的一部分特点即需要定位出不同实例即使它们是同一种类。 3 实例分割 简介 实例分割已成为机器视觉研究中比较重要、复杂和具有挑战性的领域之一。为了预测对象类标签和特定于像素的对象实例掩码它对各种图像中出现的对象实例的不同类进行本地化。实例分割的目的主要是帮助机器人自动驾驶监视等。 实例分割同时利用目标检测和语义分割的结果通过目标检测提供的目标最高置信度类别的索引将语义分割中目标对应的Mask抽取出来。实例分割顾名思义就是把一个类别里具体的一个个对象具体的一个个例子分割出来。 Mask R-CNN算法 本项目使用Mask R-CNN算法来进行图像实例分割。 网络结构图 Mask R-CNN一个相对简单和灵活的实例分割模型。该模型通过目标检测进行了实例分割同时生成了高质量的掩模。通常Faster R-CNN有一个用于识别物体边界框的分支。Mask R-CNN并行添加了一个对象蒙版预测分支作为改进。使用FPN主干的head架构如图所示。 关键代码 ​ ##利用不同的颜色为每个instance标注出mask根据box的坐标在instance的周围画上矩形##根据class_ids来寻找到对于的class_names。三个步骤中的任何一个都可以去掉比如把mask部分##去掉那就只剩下box和label。同时可以筛选出class_ids从而显示制定类别的instance显示,下面##这段就是用来显示人的其实也就把人的id选出来然后记录它们在输入ids中的相对位置从而得到##相对应的box与mask的准确顺序def display_instances_person(image, boxes, masks, class_ids, class_names,scoresNone, title,figsize(16, 16), axNone):the funtion perform a role for displaying the persons who locate in the imageboxes: [num_instance, (y1, x1, y2, x2, class_id)] in image coordinates.masks: [height, width, num_instances]class_ids: [num_instances]class_names: list of class names of the datasetscores: (optional) confidence scores for each boxfigsize: (optional) the size of the image.#compute the number of persontemp []for i, person in enumerate(class_ids):if person 1:temp.append(i)else:passperson_number len(temp)person_site {}for i in range(person_number):person_site[i] temp[i]NN boxes.shape[0] # Number of personinstances#N boxes.shape[0]N person_numberif not N:print(\n*** No person to display *** \n)else:# assert boxes.shape[0] masks.shape[-1] class_ids.shape[0]passif not ax:_, ax plt.subplots(1, figsizefigsize)# Generate random colorscolors random_colors(NN)# Show area outside image boundaries.height, width image.shape[:2]ax.set_ylim(height 10, -10)ax.set_xlim(-10, width 10)ax.axis(off)ax.set_title(title)masked_image image.astype(np.uint32).copy()for a in range(N):color colors[a]i person_site[a]# Bounding boxif not np.any(boxes[i]):# Skip this instance. Has no bbox. Likely lost in image cropping.continuey1, x1, y2, x2 boxes[i]p patches.Rectangle((x1, y1), x2 - x1, y2 - y1, linewidth2,alpha0.7, linestyledashed,edgecolorcolor, facecolornone)ax.add_patch(p)# Labelclass_id class_ids[i]score scores[i] if scores is not None else Nonelabel class_names[class_id]x random.randint(x1, (x1 x2) // 2)caption {} {:.3f}.format(label, score) if score else labelax.text(x1, y1 8, caption,colorw, size11, backgroundcolornone)# Maskmask masks[:, :, i]masked_image apply_mask(masked_image, mask, color)# Mask Polygon# Pad to ensure proper polygons for masks that touch image edges.padded_mask np.zeros((mask.shape[0] 2, mask.shape[1] 2), dtypenp.uint8)padded_mask[1:-1, 1:-1] maskcontours find_contours(padded_mask, 0.5)for verts in contours:# Subtract the padding and flip (y, x) to (x, y)verts np.fliplr(verts) - 1p Polygon(verts, facecolornone, edgecolorcolor)ax.add_patch(p)ax.imshow(masked_image.astype(np.uint8))plt.show() 4 实现效果 原视频 生成帧蒙板 最终效果 5 最后 更多资料, 项目分享 https://gitee.com/dancheng-senior/postgraduate
http://www.zqtcl.cn/news/153227/

相关文章:

  • 网站开发常用数据库江苏大才建设集团网站
  • WordPress多站点恢复石家庄住房城乡建设网站
  • 怎么免费做网站教程手机网站开发项目
  • 临沂做网站需要多少钱甘肃兰州地震最新消息刚刚
  • 怎么把网站封包做appwordpress葬爱导航
  • 浙江省建设厅门户网站菠菜网站如何做推广
  • 飞鸽网站建设网站建设源代码交付
  • 阿里云服务器做盗版电影网站wordpress密码访问
  • 本机可以做网站的服务器吗做磨毛布内销哪个网站比较好
  • 免费建站系统wordpress一个网站需要什么
  • 移动端网站制作的有哪些要求百度广告投放价格表
  • 网站建设互联网推广广告设计公司业务范围
  • 昆明网站关键词优化沪佳装修公司全部门店
  • 南阳卧龙区2015网站建设价格快三直播十大平台直播间
  • 网站谁做的wordpress 空白页面
  • 专业的佛山网站建设公司Wordpress 帖子翻译
  • 南昌网站建设公司网站建设公司深圳企业网站模板
  • 一家做特卖的网站docker创建wordpress
  • 网站开发设计电子书网站后台无法更新缓存
  • 南京高端网站制作公司哪家好神起网络公司
  • 建网站选哪个宁波网站建设设计图
  • 贾汪徐州网站开发门户网站解决方案
  • 网站如何做淘宝支付个人注册商标步骤
  • 书香校园网站建设网站排名下降了怎么办
  • 观音桥网站建设湖南省建设银行网站官网
  • 信阳网站建设找汉狮搭建网站知识
  • 企业门户网站用户类型商务信息网
  • 深圳网站设计廊坊公司深圳ui设计培训班
  • 为什么网站需要维护帮人推广注册app的平台
  • 网站开发岗位要求服务好的做培训网站