이 웹사이트를 사용하여 여러 가지 neural style 전송 방법으로 이미지를 스타일화할 수 있습니다.
본 프로젝트는 주로 Keras 2.1.3(일부는 Tensorflow)에서 구현됩니다.
데모 비디오
빠른 neural style
신경 스타일 " style="max-width: 100%;">
스타일 교환
마스크 스타일
빠른 neural style
빠른 neural style 구현은 misgod의 fast-neural-style-keras를 기반으로 하며 일부 변경했으며 이 방법은 Johnson et al의 Real-Time Style Transfer 및 Super-Resolution을 위한 Perceptual Losses를 기반으로 합니다.
현재 버전에서는 Conv2D 레이어 중 일부를 이미지 변환 넷의 깊이별 분리 가능한 컨볼루션으로 대체합니다. 자세한 교육 절차는 곧 추가될 예정입니다.
스타일 교환
스타일 스왑 레이어는 eridgd의 WCT-TF 참조이며, 원본 논문은 Chen et al의 Fast Patch-based Style Transfer of Arbitrary Style입니다.
마스크 스타일
우리는 Matterport에서 구현한 Mask R-CNN을 사용하며, Mask R-CNN의 원본 논문은 He et al의 Mask R-CNN입니다.
Python >= 3.5(아나콘다)
CUDA >=8.0(GPU 지원을 위해 최신 버전을 사용하려면 tensorflow-gpu 버전과의 호환성을 확인해야 합니다)
Cudnn >=6.0(GPU 지원용)
플라스크 0.12.2
케라스 2.1.3
텐서플로우-GPU 1.4
사이피 1.0.0
scikit 이미지
피코코툴
이미지
필
사이톤
또한 Mask R-CNN의 요구 사항을 충족해야 합니다.
정제된 사전 훈련된 모델을 다운로드하고 모델을 models/fast_style_transfer/pretrained
에 압축을 푼 다음 models/file_path.py
에서 MODELS_PATH를 수정하고 콘솔을 사용하여 루트 프로젝트 폴더로 이동하여 다음을 입력합니다.
python app.py
브라우저를 열고 localhost:5000 으로 이동합니다.
먼저 COCO 데이터세트를 다운로드해야 하며, 우리는 2014년의 훈련 세트(83K 이미지)를 사용합니다.
빠른 neural style 원본
models/src/nets.py
의 loss_net
함수에 있는 경로 문자열을 사전 훈련된 vgg16 모델에 채워야 합니다. 훈련 이미지는 cocotrain/0/xxx.jpg
와 같은 폴더에 넣어야 합니다. 우리는 ImageDataGenerator를 사용하여 이미지를 로드하고 있기 때문에 서로 다른 클래스의 이미지가 서로 다른 폴더에 저장되어 있다고 가정합니다.
스타일 이미지를 준비하여 static/img/styles/
에 넣습니다.
모델을 학습하려면 아래 명령을 입력하세요. 이것은 내 훈련 이미지가 프로젝트 루트 폴더에 저장되어 있고 모자이크라는 스타일을 훈련하고 싶다고 말하는 경우를 보여주는 예입니다.
python train_fast_model.py -p ./cocotrain -s mosaic
콘텐츠와 스타일의 가중치를 조정할 수도 있습니다. -h를 입력하면 모든 인수를 볼 수 있습니다.
python train_fast_model.py -h
빠른 neural style 증류식
원래의 빠른 neural style 사전 훈련된 모델이 필요합니다. 여기에 원본 사전 훈련된 모델 링크가 있습니다.
generate_image.py
를 실행하세요. 또한 -p
사용하여 COCO 데이터 세트 경로를 지정해야 합니다.
python generate_image.py -p ./cocotrain
train_distillated_model.py
를 실행하면 COCO 데이터 세트 경로와 스타일 이름이 필요합니다. 아래는 예시입니다. python train_distillated_model.py -p ./cocotrain -s mosaic
스타일 교환 모델
COCO 데이터 세트뿐만 아니라 많은 스타일 이미지도 필요합니다. 종이와 마찬가지로 Painter by Numbers를 사용합니다. 트레이닝 이미지와 스타일 이미지는 cocotrain/0/xxx.jpg
및 styleimages/0/xxx.jpg
같은 폴더에 넣어야 합니다.
train_style_swap_model.py
를 실행하면 COCO 데이터 세트 경로와 스타일 이미지가 필요합니다. 아래는 예시입니다. python train_style_swap_model.py -p ./cocotrain -s ./styleimages