首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >卷积神经网络?

卷积神经网络?
EN

Stack Overflow用户
提问于 2015-07-22 11:57:43
回答 1查看 571关注 0票数 1

我正在做一个“情绪检测”的项目。

作为制作完整产品的第一步,我们从图像处理开始。我从互联网上了解到,卷积神经网络是最好的方法。

代码语言:javascript
复制
import cv2
import numpy as np
def sum_cnn(image,x,y):
    x1,y1=np.shape(image)
    temp=image

    for i in range(0,x1-x):
        for j in range(0,y1-y):
            temp1=np.sum(image[i:i+x,j:j+y])/(x*y)
            if temp1 in range(850000,1100000):
                cv2.rectangle(temp, (i, j), (i+20, j+20), (0, 255, 0), 2)
                print "\n"


    return temp


image =cv2.imread('test.jpg')
image=cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
image=np.matrix(image)

temp=sum_cnn(image,95,95)

cv2.imshow('Processed Video', temp)
cv2.imwrite('1.jpg',temp)

print "Done"

上面是我写的代码--值(850000,1100000)是矩阵的一个卷积范围的和的值(对不起,代码非常粗糙,我今天早上开始写它)。

我要问的问题是,如何设计或获得一个存储权重的矩阵。

1)对于每种对象检测,我是否可以仅使用一个矩阵(例如,一个粗糙的单层CNN,它将为“汽车”和“人脸”提供不同的值),或者我是否应该为“汽车”和“人脸”使用单独的矩阵?

2)如何处理同一对象的不同大小?我在互联网上看到的一种解决方案是不断调整原始图像的大小。我想知道有没有更快的方法?

3)在反向传播中,我们给出了什么粗略的条件来获得优化的权重矩阵?

EN

回答 1

Stack Overflow用户

发布于 2016-02-11 20:35:23

首先,如果你真的打算使用神经网络,我建议你从basics开始。我要说的是,这一页非常适合神经网络的入门。一旦对神经网络有了基本的了解,你就可以尝试使用一个框架或者像Theano这样的东西来尝试构建一个CNN。

老实说,我不太确定你的代码是关于什么的,但我会尽我所能回答你的问题。

我猜你在这里谈论的是权重矩阵。,,

  1. 。CNN在其卷积层中所做的是:“提取特征”。每个人都这么叫它。但是tbh..。这不是一个容易量化的值。因此,您需要多少过滤器映射(权重矩阵在CNN中称为过滤器映射)取决于您的用例。因此,你可能不得不坚持使用测试和验证集来调整过滤器图的数量,或者更确切地说,是一般的超参数。
  2. 是Krizhevsky,Sutskever和Hinton的一个很酷的paper,他们用GPU做了一些疯狂的事情,他们确实将图像固定到了一定的大小。如果你找到了绕过这个限制的好方法,请告诉我。
  3. 你通常想做的是防止过拟合。研究人员想出了多种方式和方法来实现这一点。辍学,保持较低的权重或预训练,仅举几个例子。

我再次建议您从给定的来源开始。这将使它更容易理解,如果你听我漫无边际地谈论一些我自己可能不完全理解的技术术语。

致以亲切的问候,

附言:请随时纠正我

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31553608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档