Git Product home page Git Product logo

dipfa's Introduction

flaskProject

说明

本项目使用flask作为后端,采用网页的形式进行展示,交互

环境

python3.7+

开始

pip install -r requirements.txt
python app.py # 默认在 127.0.0.1:5000

如果打算使用 GPU,由于 cuda 版本不同,pytorch 和 torchvision 需要自行下载,建议从以下网站找到对应版本下载 whl 文件安装
https://download.pytorch.org/whl/torch/
https://download.pytorch.org/whl/torchvision/

import torch
torch.cuda.is_available() # 返回 True 才能使用 GPU

如果 GPU 显存不够,可以直接修改 myTransfer.py 和 models.py,设置 device = 'cpu'

风格迁移说明

models下包含风格迁移的模型文件下载地址,需运行 models.bat 和 myModels.bat 下载
其中,models.bat 下载固定风格任意内容的模型,myModels.bat 下载任意风格任意内容的模型。
任意风格任意内容迁移的代码、研究与报告见项目 StyleTransfer。

- models
  - COCO2014_1000
    - *.png
  - metanet_base32_style300000.0_tv1e-06_tagnohvd.pth
  - metanet_base32_style300000.0_tv1e-06_tagnohvd_transform_net.pth
  - candy.t7
  - feathers.t7
  - *.t7

myModels.bat 受限于服务器带宽,下载所有文件需要约 30 min。
为了减少下载时间:

  1. 如果本地已经有完整的 COCO2014,可以运行 genCOCO2014_1000.py 脚本生成数据集
    如果没有,可以运行 getCOCO2014_1000.bat 下载,
    也可以从这里下载,解压并运行 genCOCO2014_1000.py 脚本
    需要将 genCOCO2014_1000.py 的这行改成自己数据集的路径
src = "../../COCO2014/train2014"
  1. 目前已经将 vgg19 改成了 pretrained=True,通过 torchvision 下载,所以项目初次运行会先进行下载。
    如果下载不了的话可以找其他的源下载,并修改代码,
    或者运行 getVgg19.bat 从服务器获取,享受极(慢)速(度)(约 20 min)
vgg19 = models.vgg19(pretrained=False)
vgg19.load_state_dict(torch.load(${模型路径}))

style transfer 如图,左侧为内容图,右侧为风格图。对于一张风格图,第一次运行会花费额外的时间(取决于设备)。 之后风格图不变,更换内容图,进行迁移需要约 5-8s。

后端文档说明

采用 sphinx 自动生成
起始页面: ./doc/_build/html/index.html

测试说明

./test 下是对每一个 service 的测试,其中 main.py 运行全部的测试,showImg 为 True 会显示图片,否则不会。
批量测试前建议把这两个函数注释掉,后面单独测试,否则有概率爆内存。

# noiseBlur_test.py
def test_harmonic_blur():
    res = noiseBlurService.harmonic_blur([blur], {'ksize': 3})
    display('harmonic_blur', res)

def test_low_pass_filter():
    res = noiseBlurService.low_pass_filter([blur], {'threshold2': 200})
    display('low_pass', res)

dipfa's People

Contributors

term-inator avatar uzemiu avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

term-inator

dipfa's Issues

任务栏

全做彩色

色彩空间

  • 查看 RGB 1->3
  • 查看 HSV 1->3

计算处理

  • 逻辑运算
    • 与或非 2->1
  • 算术运算
    • 加减乘除 2->1
  • 几何变换
    • 缩放 1->1 中心坐标(x, y),x缩放倍数,y缩放倍数
    • 平移 1->1 x平移距离,y平移距离
    • 旋转 1->1 中心坐标(x, y),旋转角度

翻转

  • 垂直 1->1
  • 水平 1->1

\

  • 仿射变换 1 -> 1 post1: 三个点 post2: 三个点

  • 直方图 1->1

\

边缘检测

  • Roberts 1->1
  • Sobel 1->1
  • Laplacian 1->1 是否需要先高斯滤波处理? 滤波器核大小(x, y),ksize
  • LoG 1->1 是否需要先高斯滤波处理? 滤波器核大小(x, y)
  • Canny 是否需要先高斯滤波处理? 滤波器核大小(x, y),低阈值,高阈值

Hough 线条变化检测

  • HoughLines 滤波器核大小(x, y), canny低阈值,高阈值, hough阈值
  • HoughLinesP 滤波器核大小(x, y), canny低阈值,高阈值, hough阈值, minLineLength, maxLineGap

图像增强

  • 空域的平滑
    • 领域平均法 1->1
    • 中值滤波法 滤波器大小(x, y)
  • 频域的平滑
    • 理想低通滤波 1->1 D0
    • 巴特沃斯低通滤波 1->1 D0
    • 高斯低通滤波 1->1 D0
  • 空域的锐化
    • Roberts梯度算子 1->1
    • Sobel梯度算子 1->1
    • Prewitt梯度算子 1->1
    • Laplacian梯度算子 1->1
  • 频域的锐化
    • 理想高通滤波 1->1 D0
    • 巴特沃斯高通滤波 1->1 D0
    • 高斯高通滤波 1->1 D0

形态学操作

  • 开运算 1->1 结构元类型
  • 闭运算 1->1 结构元类型
  • 腐蚀 1->1 结构元类型
  • 膨胀 1->1 结构元类型

噪声滤除

  • 均值类滤波器
    • 算术均值 1->1 滤波器大小(x, y)
    • 几何均值 1->1 滤波器大小(x, y)
    • 谐波均值 1->1 滤波器大小(x, y)
  • 排序统计类滤波器
    • 最大值 1->1 滤波器大小(x, y)
    • 最小值 1->1 滤波器大小(x, y)
    • 中值 1->1 滤波器大小(x, y)
  • 选择性滤波器
    • 低通 1->1 min
    • 高通 1->1 max
    • 带通 1->1 min, max
    • 带阻 1-> min, max

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.