文档章节

PixelNet

二胡艺
 二胡艺
发布于 2017/03/03 19:01
字数 362
阅读 85
收藏 0

「深度学习福利」大神带你进阶工程师,立即查看>>>

(一)基于googlenet的model

%matplotlib inline
import numpy as np
import cv2
import caffe
import matplotlib.pyplot as plt

model='deploy.prototxt'
weight = 'bvlc_googlenet.caffemodel'
filename='../images/2007_002619.jpg'
caffe.set_mode_gpu()
net = caffe.Net(model,weight,caffe.TEST)
transformer = caffe.io.Transformer({'data':(10,3,224,224)})
transformer.set_transpose('data',(2,0,1))
#transformer.set_mean('data',np.load(meanfile).mean(1).mean(1))
transformer.set_raw_scale('data',255)
transformer.set_channel_swap('data',(2,1,0))

img = caffe.io.load_image(filename)
net.blobs['data'].data[...] = transformer.preprocess('data',img)
net.forward()
blob = net.blobs['prob'].data[0]
idx = blob.argmax()
plt.imshow(img)
print idx,blob[idx]

#for layer_key,layer_blob in net.blobs.iteritems():
#    print layer_key,layer_blob.data.shape
584 0.257885

输入图片说明

(二)可视化feature

def vis(data):
    _,C,H,W = data.shape
    d = data[0]
    n = int(np.sqrt(C))
    k = 1
    plt.figure(figsize=(64,64))
    for c in range(C):
        plt.subplot(n,n+1,k)
        k += 1
        img = d[c,:,:]
        plt.imshow(img,cmap='jet');plt.axis('off')
    plt.show()

def vis_k(data):
    print data.shape
    N,C,H,W = data.shape
    d = data[0]
    nc = 16
    k = 1
    if(N > 64):
        N = 10
    nr = int(N * C / nc)
    plt.figure(figsize=(64,64))
    for n in range(N):
        for c in range(C):
            img = data[n,c,:,:]
            plt.subplot(nr+1,nc,k)
            k += 1
            plt.imshow(img,cmap='jet');plt.axis('off')
    plt.show()
    
data = net.blobs['conv1/7x7_s2'].data
vis(data)
kernel = net.params['conv2/3x3'][0].data
#print kernel.shape
#vis_k(kernel)

输入图片说明

(三)提取feature map 的hyperColumn,然后用kmean进行聚类

from sklearn.cluster import KMeans

def upsample(data,size=(224,224)):    
    C,H,W = data.shape
    data_ = np.zeros((C,size[0],size[1]))
    for c in range(C):
        im = data[c,:,:]
        im = cv2.resize(im,size)
        data_[c,:,:] = im
    return data_
def hyperColumn(data):
    C,H,W = data.shape
    data_ = np.zeros((H * W,C))
    for h in range(H):
        for w in range(W):
            d = data[:,h,w]
            data_[h*W+w,:]=d
    return data_

conv1 = net.blobs['conv1/7x7_s2'].data[0]
conv2 = net.blobs['conv2/3x3'].data[0]
conv3 = net.blobs['inception_3a/1x1'].data[0]
conv1_ = upsample(conv1,size=(224,224))
conv2_ = upsample(conv2,size=(224,224))
conv3_ = upsample(conv3,size=(224,224))
data = np.concatenate((conv1_,conv2_,conv3_),axis=0)
trainData = hyperColumn(data)
clf = KMeans(n_clusters=5,max_iter=5000,n_init=5,n_jobs=-1)
clf.fit(trainData)
label = clf.labels_
result = label.reshape(224,224)
plt.imshow(result)

输入图片说明

二胡艺
粉丝 4
博文 42
码字总数 12555
作品 0
镇江
程序员
私信 提问
加载中
请先登录后再评论。
ICDAR2015 数据处理及训练

训练数据处理: 天池ICPR2018和MSRA_TD500两个数据集: 1)天池ICPR的数据集为网络图像,都是一些淘宝商家上传到淘宝的一些商品介绍图像,其标签方式参考了ICDAR2015的数据标签格式,即一个文...

osc_96pr9g1m
2019/01/31
2
0
Pytorch文本行检测,深度学习网络结构CTPN

向AI转型的程序员都关注了这个号👇👇👇 机器学习AI算法工程 公众号:datayx 这几天一直在用Pytorch来复现文本检测领域的CTPN论文,本文章将从数据处理、训练标签生成、神经网络搭建、损...

小天猫
2019/11/18
1
0
深度学习(四)转--入门深度学习的一些开源代码

原文作者:aircraft 原文链接: 深度学习教程目录如下,还在继续更新完善中 深度学习系列教程目录 没错这篇又是转发的,因为觉得学习深度学习难免要从别人的代码开始,所以就转发了。不过转发...

osc_1wnye1so
2018/09/03
8
0
图像语义分割最新文章汇总(附论文链接和公开代码)

呐,我也是做图像分割的啦,最近看到有大佬整理了图像分割方面最新的论文,觉得很有帮助,就转载过来了,感觉又有很多要学的内容了。 Semantic Segmentation Adaptive Affinity Field for Se...

osc_l4ynn973
05/30
10
0
【OCR技术系列之六】文本检测CTPN的代码实现

这几天一直在用Pytorch来复现文本检测领域的CTPN论文,本文章将从数据处理、训练标签生成、神经网络搭建、损失函数设计、训练主过程编写等这几个方面来一步一步复现CTPN。CTPN算法理论可以参...

osc_yc40ey49
2018/12/02
1
0

没有更多内容

加载失败,请刷新页面

加载更多

Java圈里,什么样的人,会越来越穷?

“我不想做 Java 了,想去做大数据!但我一个双非本科,能行么?“ 我还挺费解,为什么疫情之后,很多粉丝都想去做大数据, 但仔细想想原因太简单。 因为做大数据值钱、岗位还多。(是的,成...

倪升武
今天
0
0
Java 8 - Stream 集合操作快速上手

点击上方Java学习指南关注公众号 每天阅读Java干货文章 链接:www.jianshu.com/p/9fe8632d0bc2 目录 Stream 简介 为什么要使用 Stream 实例数据源 Filter Map FlatMap Reduce Collect Option...

xqnode
前天
0
0
工作流引擎的工作原理与功能

协同工作流引擎(Synchro flow)基于企业流程自动化基础的平台的产品同时也是企业流程再造的核心产品,并且提供以业务建模、流程设计、流程仿真、界面设计、业务整合、部署执行、系统管理、业...

osc_3nr0mda4
15分钟前
0
0
第三本 PDF !!!程序员必知核心基础知识

我们可以感觉出来,计算机专业的门槛正在逐渐增高,人与人之间的差距在逐渐拉大,今天和 一位阿里的大龄程序员聊天后发现,他也觉得自己底层知识很薄弱,正在找时间恶补,也在感叹时间管理的...

osc_htns3spg
16分钟前
0
0
【CSS】679- rem,em,px的区别和使用场景

作者:大前端小菜鸟 来源: cnblogs.com/hyns/p/12380944.html 作rem布局原理深度理解(以及em/vw/vh) 一、前言 我们h5项目终端适配采用的是淘宝那套《Flexible实现手淘H5页面的终端适配》方...

前端自习课
前天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部