1. 产品
  2.   图片
  3.   Python
  4.   Neural Enhance
 
  

用于图像的开源 Python API

使用深度学习的图像超分辨率

什么是神经增强?

Neural Enhance 是一个用于图像增强的开源 Python API。 API 使用深度学习增强图像,使用 API 可以训练神经网络并将图像放大 2 倍甚至 4 倍。您可以通过增加图像中神经元的数量来增强图像,使用与低分辨率图像类似的数据集。

您可以使用 CPU 和 GPU 渲染 HQ 来增强您的图像。在 GPU 上生成 1080p 输出每个图像大约需要 5 秒或 2 秒,而 CPU 渲染 HQ 大约需要 20-60 秒才能输出 1080 输出。

Previous Next

神经增强入门

安装 Neural Enhance 的推荐方法是通过 Docker。请使用以下命令安装 Neural Enhance。

通过 Docker 安装神经增强

docker run --rm -v `pwd`:/ne/input -it alexjc/neural-enhance --help

通过免费的 Python API 增强图像

Neural-Enhance API 允许以编程方式增强图像。 API 提供了一个命令列表,您可以将这些命令与 API 中可用的预训练模型一起使用。使用 API,您可以运行超分辨率脚本来修复 JPEG 伪影、缩放因子、一次运行处理多个质量图像并显示输出图像。您可以使用这一行代码轻松增强图像

通过 Python 增强图像

  1. 打开命令提示符
  2. 转到 enhance.py 目录
  3. 运行以下命令并传递文件类型、修复、缩放选项和要增强的图像路径

通过 Python 增强图像

# Run the super-resolution script to repair JPEG artefacts, zoom factor 1:1.
python3 enhance.py --type=photo --model=repair --zoom=1 broken.jpg
# Process multiple good quality images with a single run, zoom factor 2:1.
python3 enhance.py --type=photo --zoom=2 file1.jpg file2.jpg
# Display output images that were given `_ne?x.png` suffix.
open *_ne?x.png
  

通过 Python 训练超分辨率图像

开源图像库 Neural Enhance 使用您自己的方式训练您的图像。 API 带有默认的预训练模型,您可以使用基于图像数据集的参数来训练自己的过程。您可以使用纸上的感知损失来训练模型,使用对抗性设置训练模型等等。

通过Python API使用预训模式和培训Super-Resolution

# Pre-train the model using perceptual loss from paper [1] below.
python3.4 enhance.py --train "data/*.jpg" --model custom --scales=2 --epochs=50 \
    --perceptual-layer=conv2_2 --smoothness-weight=1e7 --adversary-weight=0.0 \
    --generator-blocks=4 --generator-filters=64
# Train the model using an adversarial setup based on [4] below.
python3.4 enhance.py --train "data/*.jpg" --model custom --scales=2 --epochs=250 \
         --perceptual-layer=conv5_2 --smoothness-weight=2e4 --adversary-weight=1e3 \
         --generator-start=5 --discriminator-start=0 --adversarial-start=5 \
         --discriminator-size=64
# The newly trained model is output into this file...
ls ne?x-custom-*.pkl.bz2
 中国人