-
大小: 72KB文件类型: .zip金币: 2下载: 0 次发布日期: 2021-05-14
- 语言: Python
- 标签:
资源简介
Keras实现实时语义分割的深层神经网络架构ENET
![](http://www.nz998.com/pic/71238.jpg)
代码片段和文件信息
# coding=utf-8
from __future__ import absolute_import print_function
from PIL import Image as PILImage
import numpy as np
import os
import six
import sys
from keras import backend as K
from keras.preprocessing.image import array_to_img
from src.data import datasets utils
from src.experiments.core import Experiment
import models
def color_output_image(colormap img mode=‘bw‘):
“““
move this into datasets.py
:param dataset:
:param img:
:param mode:
:return:
“““
cv_image = np.zeros((img.shape[0] img.shape[1] 3) dtype=np.uint8)
if mode == ‘bw‘:
cv_image[img > 0] = 255
elif mode == ‘class_palette‘:
img = np.asarray(img dtype=np.uint8).reshape(img.size[0] img.size[1])
for cid color in six.iteritems(colormap):
cv_image[img == cid] = color
else:
raise ValueError(‘Unknown coloring mode: Expected one of {}; got {}‘.format([‘bw‘ ‘class_palette‘] mode))
return cv_image
def predict(segmenter img h=None w=None):
np.random.seed(1337) # for reproducibility
try:
oh ow = img.shape[0] img.shape[1]
h = oh if h is None else h
w = ow if w is None else w
img = utils.resize(img target_h=h target_w=w)
img = np.expand_dims(utils.normalize(img) axis=0)
pred = segmenter.predict(img)[0]
nc = pred.shape[-1]
scores = np.max(pred axis=1)
pred = np.argmax(pred axis=1)
scores_per_class = [np.sum(scores[pred == c]) / np.sum(scores) for c in range(nc)]
pred = np.reshape(pred (h w)) # dh x dw
pred = np.expand_dims(pred axis=2) # dh x dw x 1
# pred = np.repeat(pred repeats=3 axis=2) # dh x dw x 3
pred = utils.resize(pred target_h=oh target_w=ow) # oh x ow x 1 (original shape)
pred = utils.img_to_array(pred)
return pred scores_per_class
except:
if img is None:
print(‘Skipping corrupted image‘)
return None
else:
raise
def load_mscoco_data():
data_type = ‘val2014‘
out_directory = os.path.join(‘data‘ ‘out‘ model_name)
config = {‘dataset_name‘: ‘MSCOCO‘
‘data_dir‘: ‘data/MSCOCO‘
‘data_type‘: data_type}
dataset = getattr(datasets config[‘dataset_name‘])(**config)
instance_mode = False
keep_context = 0.2
if len(sys.argv) > 1:
filetxt = sys.argv[1]
with open(filetxt) as fin:
basedir = os.path.dirname(filetxt)
files = [os.path.join(basedir line.rstrip(‘\n‘)) for line in fin]
data_gen = (utils.load_image(imfile) for imfile in files)
else:
data_gen = (sample[0] for sample in
dataset.flow())
data = {
‘generator‘: data_gen
‘root_dir‘: ‘data‘
‘num_instances‘: dataset.num_instances
‘dir_target‘: out_directory
‘keep_context‘: keep_context
‘dataset_name‘: ‘MSCOCO‘
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\
文件 1246 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\.gitignore
文件 1063 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\LICENSE
文件 2447 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\README.md
目录 0 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\config\
文件 477 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\config\README.md
文件 182 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\config\evaluation.json.default
文件 664 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\config\solver.json.default
目录 0 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\data\
文件 51 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\data\README.md
文件 726 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\environment.yml
目录 0 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\experiments\
文件 291 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\experiments\README.md
文件 161 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\overfit.sh
文件 62 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\predict.sh
目录 0 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\pretrained\
文件 244 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\pretrained\README.md
文件 346 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\requirements.txt
文件 221 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\setup.sh
目录 0 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\src\
文件 15 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\src\__init__.py
目录 0 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\src\data\
文件 15 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\src\data\__init__.py
文件 1667 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\src\data\coco_extract_labels.py
文件 4286 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\src\data\data_loader.py
文件 24481 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\src\data\datasets.py
目录 0 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\src\data\pycocotools\
文件 199 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\src\data\pycocotools\Makefile
文件 0 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\src\data\pycocotools\__init__.py
文件 11439 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\src\data\pycocotools\_mask.pyx
文件 18296 2017-11-22 09:56 PavlosMelissinos-enet-keras-168b7e0\src\data\pycocotools\coco.py
............此处省略43个文件信息
相关资源
- Python-DeepMoji模型的pyTorch实现
- Python-使用DeepFakes实现YouTube视频自动换
- Python-一系列高品质的动漫人脸数据集
- Python-Insightface人脸检测识别的最小化
- Python-自然场景文本检测PSENet的一个
- Python-在特征金字塔网络FPN的Pytorch实现
- Python-PyTorch实时多人姿态估计项目的实
- Python-用PyTorch10实现FasterRCNN和MaskRCNN比
- Python-心脏核磁共振MRI图像分割
- Python-基于YOLOv3的行人检测
- Python-RLSeq2Seq用于SequencetoSequence模型的
- Python-PyTorch对卷积CRF的参考实现
- Python-高效准确的EAST文本检测器的一个
- Python-pytorch实现的人脸检测和人脸识别
- Python-UNet用于医学图像分割的嵌套UN
- Python-TensorFlow弱监督图像分割
- Python-基于tensorflow实现的用textcnn方法
- Python-Keras实现Inceptionv4InceptionResnetv1和
- Python-pytorch中文手册
- Python-FastSCNN的PyTorch实现快速语义分割
- Python-滑动窗口高分辨率显微镜图像分
- Python-使用MovieLens数据集训练的电影推
- Python-机器学习驱动的Web应用程序防火
- Python-subpixel利用Tensorflow的一个子像素
-
Python-汉字的神经风格转移Neuralst
y - Python-神经网络模型能够从音频演讲中
- Python-深度增强学习算法的PyTorch实现策
- Python-基于深度学习的语音增强使用
- Python-基于知识图谱的红楼梦人物关系
- Python-STGAN用于图像合成的空间变换生
评论
共有 条评论