部署由深度学习驱动的‘魔术裁剪工具’

摘要

使用开源图像分割深度学习模型从提交的图像中检测不同类型的对象,然后在拖放式(drag-and-drop)Web 应用程序界面中与这些图像进行交互,以组合图像或创建新图像。

概览

大多数在线共享的图像通常描述了一个或多个对象的某种设置或某种背景。编辑图像时,无论是将这些对象在其他地方进行进一步处理还是用于某个新的构图,都可能需要花费相当多的时间和精力来裁剪这些单独的对象。本应用程序使用来自 Model Asset eXchange(MAX) 的深度学习模型来自动化该裁剪过程并激发创造力。

在本应用程序中,MAX Image Segmenter(图像分割器) 模型用于在像素级别标识用户提交的图像中的对象。然后将这些分类的像素用于生成图像的版本,其中每种独特类型的对象都以单独的颜色突出显示,称为颜色(colormap)。然后将每个段分割成自己的图像文件,可以下载该图像文件以在其他地方使用。上载后续图像时,会使用 PouchDB 将这些图像添加到屏幕下部的轮播中,并保存在浏览器中。从这个轮播中,用户可以查看、删除图像或将图像加载到 Studio 中。

在此应用程序的 Studio 部分中,可以将两个图像加载到一个界面中,这个界面允许拖放任意图像的两个对象进行组合。您也可以下载您在此处创建的任何新图像。

完成本 Code Pattern 后,您将掌握如何:

  • 构建 Image Segmenter MAX 模型的 Docker 镜像
  • 通过 REST API 端点部署深度学习模型
  • 使用 MAX 模型的 REST API 来识别图像中的对象分段
  • 运行一个使用模型的 REST API 的 Web 应用程序
  • 与已处理的对象分段进行交互以创建新图像

流程

流程

  1. 用户使用 Web 应用程序界面提交图像。
  2. MAX 深度学习微服务会识别图像中的对象分段并返回 JSON 响应。
  3. Web 应用程序服务器使用 JSON 响应从图像中裁剪对象并将其显示给用户。
  4. 用户使用 Web 应用程序界面与上载图像中的对象分段进行交互。

操作说明

您可以在 README 文件中可找到本 Code Pattern 的详细步骤。这些步骤将展示如何:

  1. 启动 MAX 模型 API。
  2. 启动“魔术裁剪工具” Web 应用。

本文翻译自:Deploy a deep learning-powered ‘Magic cropping tool’(2019-03-28)