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

做网站要做相应的app吗重庆网站建设推广服务

做网站要做相应的app吗,重庆网站建设推广服务,关于插画的网站,长春网长春网站建设络推广在过去几年的机器学习领域#xff0c;我一直想打造真正的机器学习产品。 几个月前#xff0c;在参加了精彩的 Fast.AI 深度学习课程后#xff0c;似乎一切皆有可能#xff0c;我有机会#xff1a;深度学习技术的进步使许多以前不可能实现的事情成为可能#xff0c;而且开…在过去几年的机器学习领域我一直想打造真正的机器学习产品。 几个月前在参加了精彩的 Fast.AI 深度学习课程后似乎一切皆有可能我有机会深度学习技术的进步使许多以前不可能实现的事情成为可能而且开发了新工具使部署过程比以往任何时候都更容易。 在上述课程中我遇到了经验丰富的 Web 开发人员 Alon Burg我们合作追求这一目标。我们共同设定了以下目标 提高我们的深度学习技能提高我们的 AI 产品部署技能制造一款有用的产品满足市场需求享受乐趣对我们和我们的用户而言分享我们的经验 考虑到上述情况我们正在探索以下想法 尚未完成或尚未正确完成计划和实施不会太难——我们的计划是 2-3 个月的工作每周工作 1 天。将拥有一个简单且吸引人的用户界面——我们希望开发一款人们会使用的产品而不仅仅是用于演示目的。将随时提供训练数据——正如任何机器学习从业者都知道的那样有时数据比算法更昂贵。将使用尖端的深度学习技术谷歌、亚马逊和朋友的云平台尚未将其商品化但不会太过尖端因此我们将能够在网上找到一些示例将有可能实现“生产就绪”的结果。 我们最初的想法是承担一些医疗项目因为这个领域与我们息息相关我们觉得现在仍然觉得在医疗领域深度学习有大量唾手可得的成果。然而我们意识到我们将遇到数据收集问题也许还有合法性和监管问题这与我们保持简单的意愿相矛盾。我们的第二个选择是背景去除产品。 背景去除是一项相当容易手动或半手动完成的任务Photoshop甚至 Power Point 都有这样的工具如果你使用某种“标记”和边缘检测请参见此处的示例。然而全自动背景去除是一项相当具有挑战性的任务据我们所知尽管有些产品确实尝试过但仍然没有产品能取得令人满意的效果。 我们要去除什么背景这是一个重要的问题因为模型在对象、角度等方面越具体分离的质量就越高。在开始我们的工作时我们想得很远一个通用的背景去除器可以自动识别每种类型图像中的前景和背景。但在训练了我们的第一个模型后我们明白最好将精力集中在一组特定的图像上。因此我们决定专注于自拍和人物肖像。 NSDT工具推荐 Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割  自拍照是一张具有突出且聚焦的前景一个或多个“人”的图像它保证了我们将物体脸部上身与背景很好地分开同时保持相当恒定的角度并且始终是同一个物体人。 考虑到这些假设我们开始了研究、实施和数小时的培训之旅以创建一键式易于使用的背景去除服务。 我们工作的主要部分是训练模型但我们不能低估正确部署的重要性。 良好的分割模型仍然不像分类模型例如 SqueezeNet那样紧凑我们积极研究了服务器和浏览器部署选项。 1、语义分割 当研究与我们的任务相似的深度学习和计算机视觉任务时很容易看出我们的最佳选择是语义分割任务。 其他策略如通过深度检测进行分离也存在但似乎还不够成熟无法满足我们的目的。 语义分割是一个众所周知的计算机视觉任务与分类和对象检测并列为前三大任务。分割实际上是一个分类任务即将每个像素分类到一个类。与图像分类或检测不同分割模型确实显示了对图像的一些“理解”不仅可以说“这张图片中有一只猫”还可以在像素级别指出猫在哪里以及是什么。 那么分割是如何工作的呢为了更好地理解我们必须研究该领域的一些早期作品。 最早的想法是采用一些早期的分类网络如 VGG 和 Alexnet。 VGG 是 2014 年图像分类领域最先进的模型由于其架构简单直接如今非常有用。在检查 VGG 早期层时可能会注意到待分类项目周围有较高的激活值。较深的层具有更强的激活值但由于重复池化操作它们的性质较粗糙。考虑到这些理解我们假设分类训练也可以通过一些调整来查找/分割对象。 语义分割的早期结果与分类算法一起出现。在这篇文章中你可以看到使用 VGG 得到的一些粗略分割结果 后期层结果 巴士图像分割浅紫色29为校车类 双线性上采样后 这些结果仅仅来自于将全连接层转换或保持为原始形状保持其空间特征得到一个全卷积网络。在上面的例子中我们将 7681024 的图像输入到 VGG得到一个 24321000 的层。2432 是图像的池化版本乘以 321000 是图像网络类别计数我们可以从中得出上面的分割。 为了平滑预测研究人员使用了一个简单的双线性上采样层。 在 FCN 论文中研究人员改进了上述想法。他们一路连接了一些层以提供更丰富的解释根据上采样率这些层被命名为 FCN-32、FCN-16 和 FCN-8 在层之间添加一些跳跃连接可以让预测从原始图像中编码出更精细的细节。进一步的训练进一步改善了结果。 这种技术并没有人们想象的那么糟糕并证明了深度学习在语义分割方面确实具有潜力。 论文中的 FCN 结果 FCN 解锁了分割的概念研究人员尝试了不同的架构来完成这项任务。主要思想保持不变使用已知架构、上采样和使用跳跃连​​接在较新的模型中仍然很突出。 你可以在几篇好文章中阅读有关该领域的进展这里、这里和这里。你还可以看到大多数架构都保留了编码器-解码器架构。 2、回到我们的项目 经过一番研究我们确定了三个可用的模型FCN、Unet 和 Tiramisu — 非常深的编码器-解码器架构。我们也对 mask-RCNN 有一些想法但实现它似乎超出了我们项目的范围。 FCN 似乎并不相关因为它的结果不如我们所希望的那么好即使作为起点但我们提到的另外两个模型显示的结果还不错CamVid 数据集上的 tiramisu 和 Unet 的主要优势是它的紧凑性和速度。在实现方面Unet 非常容易实现我们使用了 kerasTiramisu 也很容易实现。为了入门我们在 Jeremy Howard 的深度学习课程的最后一节课中使用了 Tiramisu 的良好实现。 有了这两个模型我们继续对一些数据集进行训练。我必须说在我们第一次尝试 Tiramisu 之后我们发现它的结果对我们来说更有潜力因为它能够捕捉图像中的锐利边缘。另一方面unet 似乎不够精细结果看起来有点模糊。 Unet 斑点 3、数据 在确定了模型的总体方向后我们开始寻找合适的数据集。分割数据并不像分类或检测那样常见。此外手动标记实际上是不可能的。最常见的分割数据集是 COCO 数据集其中包括约 80K 张图像和 90 个类别VOC pascal 数据集包含 11K 张图像和 20 个类别以及较新的 ADE20K 数据集。 我们选择使用 COCO 数据集因为它包含更多属于“人”类别的图像而这正是我们感兴趣的类别。 考虑到我们的任务我们考虑是否只使用与我们高度相关的图像还是使用更通用的数据集。一方面使用包含更多图像和类别的更通用的数据集将使模型能够处理更多的场景和挑战。另一方面一夜之间我们就训练了超过约 150K 张图像。如果我们使用整个 COCO 数据集引入模型最终模型将看到每幅图像两次平均而言因此稍微修剪一下会很有帮助。此外这将使我们的模型更专注于我们的目的。 还有一件事值得一提——Tiramisu 模型最初是在 CamVid 数据集上训练的该数据集存在一些缺陷但最重要的是它的图像非常单调所有图像都是汽车的道路照片。你可以轻松理解从这样的数据集中学习即使其中包含人物对我们的任务没有任何好处因此经过短暂的尝试后我们继续前进。 来自 CamVid 数据集的图像 COCO 数据集附带了相当直观的 API让我们能够准确地知道每幅图像中的对象是什么根据 90 个预定义类别 经过一些实验我们决定稀释数据集首先我们只过滤其中有人的图像剩下 40K 幅图像。然后我们删除所有有很多人的图像只留下 1 或 2 幅因为这是我们的产品应该找到的。最后我们只留下 20%-70% 的图像被标记为人的图像删除背景中有一个非常小的人或某种怪异怪物的图像不幸的是不是全部。我们的最终数据集由 11K 幅图像组成我们认为在这个阶段已经足够了。 左图像合适 中人太多 右目标太小 4、Tiramisu 模型 如前所述我们在 Jeremy Howard 的课程中​​介绍了 Tiramisu 模型。虽然它的全名“100 层 Tiramisu”意味着一个巨大的模型但它实际上非常经济只有 9M 个参数。相比之下VGG16 有超过 130M 个参数。 Tiramisu 模型基于 DensNet这是一种最新的图像分类模型其中所有层都是互连的。此外Tiramisu 为上采样层添加了跳跃连接就像 Unet 一样。 如果你还记得的话这种架构与 FCN 中提出的想法是一致的使用分类架构、上采样并添加跳跃连接以进行细化。 Tiramisu架构 DenseNet 模型可以看作是 Resnet 模型的自然演化但 DenseNet 不会“记住”每一层直到下一层而是记住整个模型中的所有层。这些连接称为高速公路连接。它会导致滤波器数量膨胀这被定义为“增长率”。Tiramisu的增长率为 16因此我们每增加一层就增加 16 个新滤波器直到达到 1072 个滤波器的层数。你可能期望有 1600 层因为它是 100 层Tiramisu但是上采样层会丢弃一些滤波器。 Densenet 模型草图——早期的过滤器堆叠在整个模型中 5、训练 我们按照原始论文中描述的时间表训练我们的模型标准交叉熵损失、RMSProp 优化器学习率为 1e-3衰减较小。我们将 11K 幅图像分为 70% 训练、20% 验证和 10% 测试。以下所有图像均取自我们的测试集。 为了使我们的训练时间表与原始论文保持一致我们将 epoch 大小设置为 500 幅图像。这也使我们能够在每次结果改进时定期保存模型因为我们在更多数据上对其进行了训练本文中使用的 CamVid 数据集包含不到 1K 幅图像 此外我们只在 2 个类别上对其进行了训练背景和人物而论文中有 12 个类别。我们首先尝试在 coco 的一些类别上进行训练但我们发现这对我们的训练没有太大帮助。 6、数据问题 一些数据集缺陷阻碍了我们的得分 动物——我们的模型有时会分割动物。这当然会导致 IOU 较低。将动物添加到我们的任务中放在同一个主类中或另一个类中可能会删除我们的结果身体部位——因为我们以编程方式过滤数据集所以我们无法判断人物类实际上是人还是某个身体部位比如手或脚。这些图像不在我们的范围内但仍然到处出现。 动物、身体部位、手持物体 手持物体 - 数据集中的许多图像与运动有关。棒球棒、网球拍和滑雪板随处可见。我们的模型对如何对它们进行分割感到困惑。与动物的情况一样我们认为将它们添加为主类的一部分或单独的类将有助于提高模型的性能。 带有物体的运动图像 粗略的基准真值 ——coco 数据集不是逐像素注释的而是用多边形注释的。有时这已经足够好了但有时基准真值非常粗糙这可能会阻碍模型学习细微之处 图像和非常粗略的基准真值 7、结果 我们的结果令人满意但并不完美我们的测试集上的 IoU 达到了 84.6而目前最先进的水平是 85。不过这个数字有点棘手它在不同的数据集和类别中会波动。有些类别本质上更容易分割例如房屋、道路大多数模型很容易达到 90 IoU 的结果。其他更具挑战性的类别是树木和人类大多数模型在这些类别上达到约 60 IoU 的结果。为了衡量这种难度我们帮助我们的网络专注于单一类别和有限类型的照片。 我们仍然觉得我们的工作还没有像我们希望的那样“准备好投入生产”但我们认为现在是停下来讨论我们的结果的好时机因为大约 50% 的照片会产生良好的效果。 以下是一些很好的例子可以让你感受一下应用程序的功能 图像、基准真值、我们的结果 8、调试和记录 调试是训练神经网络的一个非常重要的部分。当我们开始工作时我们很想直接开始抓取数据和网络开始训练然后看看结果如何。然而我们发现跟踪每一个动作为自己制作工具以便能够检查每一步的结果这一点非常重要。 以下是常见的挑战以及我们为它们所做的工作 早期问题——模型可能没有训练。这可能是因为一些固有的问题或者因为某种预处理错误比如忘记对一些数据块进行规范化。无论如何简单的结果可视化可能会非常有帮助。这里有一篇关于这个主题的好文章。调试网络本身——在确保没有关键问题后训练开始使用预定义的损失和指标。在分割中主要测量是 IoU——相交除以并集。我们花了一些时间才开始使用 IoU 作为我们模型的主要测量而不是交叉熵损失。另一个有用的做法是展示我们模型在每个时期的一些预测。这是一篇关于调试机器学习模型的好文章。请注意IoU 不是 keras 中的标准指标/损失但你可以在网上轻松找到它例如这里。我们还使用这个要点绘制了每个时期的损失和一些预测。机器学习版本控制——在训练模型时有许多参数其中一些参数很难理解。我必须说我们还没有找到完美的方法除了热切地编写我们的配置并使用 keras 回调自动保存最佳模型见下文。调试工具——完成上述所有操作后我们可以在每一步检查我们的工作但不是无缝的。因此最重要的步骤是将上述步骤结合在一起并创建一个 Jupyter 笔记本它允许我们无缝加载每个模型和每个图像并快速检查其结果。这样我们就可以轻松地看到模型之间的差异、陷阱和其他问题。 以下是我们模型改进的示例包括参数调整和额外训练 用于保存迄今为止具有最佳验证 IoU 的模型Keras 提供了非常好的回调以使这些事情变得更容易 callbacks [keras.callbacks.ModelCheckpoint(hist_model, verbose1,save_best_only True, monitor ’val_IOU_calc_loss’), plot_losses] 除了常规调试可能的代码错误之外我们还注意到模型错误是“可预测的”例如“切割”似乎超出一般身体部位的身体部位、大段“咬伤”、不必要地继续延伸身体部位、光线不足、质量差以及许多细节。其中一些警告在添加来自不同数据集的特定图像时得到了处理但其他警告仍然是需要处理的挑战。为了改善下一版本的结果我们将专门针对模型的“困难”图像使用增强。 我们已经在上面提到了这个问题以及数据集问题。现在让我们看看我们的一些模型难题 衣服——非常暗或非常浅的衣服有时往往会被解释为背景“咬伤”——否则结果很好但有一些咬伤 照明 - 光线不足和模糊在图像中很常见但在 COCO 数据集中却并非如此。因此除了处理这些问题的标准模型难度之外我们的模型甚至还没有为更难的图像做好准备。这可以通过获取更多数据来改进此外还可以通过数据增强来改进。同时最好不要在晚上尝试我们的应用程序 :) 9、未来计划 进一步训练 我们的生产结果是在对训练数据进行约 300 次训练后得出的。在此之后模型开始过度拟合。我们在发布前非常接近地达到了这些结果因此我们还没有机会应用数据增强的基本实践。 我们在将图像大小调整为 224X224 后训练了模型。使用更多数据和更大图像COCO 图像的原始大小约为 600X1000进行进一步训练也有望改善结果。 CRF 和其他增强功能 在某些阶段我们发现我们的结果在边缘处有点嘈杂。可以改进这一点的模型是 CRF。在这篇博文中作者展示了使用 CRF 的简单示例。 然而它对我们的工作不是很有用也许是因为它通常在结果较粗糙时有帮助。 抠图 即使使用我们目前的结果分割也不完美。头发、精致的衣服、树枝和其他精细物体永远无法完美分割即使基准真值分割不包含这些细微之处。分离这种精细分割的任务称为抠图matting并定义了不同的挑战。这是最先进的抠图示例于今年早些时候在 NVIDIA 会议上发布 抠图示例——输入也包括三元图 抠图任务与其他图像相关任务不同因为它的输入不仅包括图像还包括三分图——图像边缘的轮廓这使它成为一个“半监督”问题。 我们对抠图进行了一些实验使用我们的分割作为三分图但是没有得到显著的结果。 另一个问题是缺乏合适的数据集进行训练。 10、结束语 正如开头所说我们的目标是构建一个重要的深度学习产品。正如你在 Alon 的帖子中看到的那样部署变得越来越容易和快速。另一方面训练模型是棘手的——训练尤其是一夜之间进行的训练需要仔细规划、调试和记录结果。 在研究和尝试新事物与平凡的训练和改进之间取得平衡也不容易。由于我们使用深度学习我们总是觉得最好的模型或者我们需要的确切模型就在眼前另一个谷歌搜索或文章会引导我们找到它。但在实践中我们真正的改进仅仅来自于从原始模型中“榨干”更多东西。正如上面所说我们仍然觉得还有更多东西可以深入。 原文链接图像背景剔除AI模型 - BimAnt
http://www.hkea.cn/news/14422608/

相关文章:

  • 医学院英文网站建设方案前端开发转行做什么好
  • 杭州市建设工程交易中心网站凡科免费网站建设
  • fomo3d网站开发做网站补贴
  • 做网站 知乎手机网站与app
  • 网站开发的技术意义龙江网站开发
  • 免费零食网站模板网站的优点
  • 网站二次开发是什么意思灰色网站是什么
  • 湘潭网站建设网站wordpress大学 主题
  • 相册管理网站模板下载失败虚拟主机的作用
  • 网站建设哪个公司最好字体安装wordpress
  • 我想做网站外国做网站的平台
  • 斗门区住房和城乡建设网站小红书推广引流软件
  • 响应式网站 图片居中建德市建设局网站
  • 太原市建设工程交易中心网站网站建设流程的步骤
  • 网站网址ip查询网站开发业务怎么做
  • 平面设计在线网站宁波免费网页制作模板
  • 网站没有ftp 怎么推广城乡村建设规划许可证网站
  • 如何购买建设网站系统官网网站建设需求
  • 网站建设一定要买数据盘吗北京网站建设z亿玛酷1订制
  • 天河网站建设优化英国公司注册
  • 客户对网站设计的要求陵水建设局网站
  • 雅虎网站收录提交入口织梦体育网站模板
  • 2013一汽大众企业网站车主俱乐部建设维护方案app开发公司都有哪些部门
  • 没有网站也可以做推广吗seo推广平台服务
  • 电影网站建设 流程网站建设主要做什么
  • 电影网站建设规划书wordpress 评论者链接
  • 沈阳网络营销推广的公司网站seo综合诊断
  • 上海网站设计网页设计网站编写教程
  • 最流行网站开发工具湖北企业建站系统平台
  • 比较好的手机网站江门网站建设哪家好