码迷,mamicode.com
首页 > 编程语言 > 详细

python卷积神经网络人体图像识别

时间:2019-10-11 15:24:15      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:oca   end   r语言   display   数据   电影   大数   提供商   激活   

原文链接:http://tecdat.cn/?p=7563

 

 二十多年来,自动发现裸体图片一直是计算机视觉中的中心问题,并且由于其悠久的历史和直接的目标,它成为该领域如何发展的一个很好的例子。在这篇博文中,我将使用裸露检测问题来说明现代卷积神经网络(convnets)的训练与过去的研究有何不同。

技术图片技术图片?

 

警告和免责声明:这篇文章包含了裸露的可视化效果,以用于科学目的。如果您未满18岁,或者被裸露冒犯,请勿继续阅读。)

1996年

 

技术图片技术图片?

该领域的开创性著作是Fleck等人的恰当命名为“ Finding Naked People”。它于90年代中期出版,为计算机视觉研究人员在卷积网络接管之前进行的这类工作提供了一个很好的例子。  

2014年

深度学习研究人员没有设计正式的规则来描述输入数据应如何表示,而是设计了网络体系结构和数据集,使AI系统可以直接从数据中学习表示形式。但是,由于深度学习研究人员没有确切指定网络在给定输入下的行为,因此出现了一个新问题:如何理解卷积网络在激活什么?

技术图片技术图片?

 

了解卷积网络的操作需要在各个层次上解释要素活动。在本文的其余部分中,我们将通过将活动从顶层向下映射到输入像素空间来检查NSFW模型的早期版本。这将使我们能够看到是什么输入模式最初在功能图中导致了给定的激活(即,为什么将图像标记为“ NSFW”)。

触觉敏感度

 为了在左侧建立热图,我们将每个窗口发送到convnet并平均每个像素的“ NSFW”得分。当卷积网看到作物充满了皮肤时,往往会预测为“ NSFW”,这会导致莉娜身体上的大红色区域。为了在右侧创建热图,我们系统地遮住了原始图像的一部分,并报告1减去平均“ NSFW”得分(即“ SFW”得分)。当大多数NSFW区域被遮挡时,“ SFW”得分会增加,并且我们会在热图中看到更高的值。为了清楚起见,下图举例说明了上述两个实验分别将哪种图像馈入卷积网络:

技术图片技术图片?

 

这些遮挡实验的优点之一是,当分类器是一个完整的黑匣子时,可以执行它们。这是一个通过我们的API再现这些结果的代码片段:

# NSFW occulsion experiment

from StringIO import StringIO

import matplotlib.pyplot as plt
import numpy as np
from PIL import Image, ImageDraw
import requests
import scipy.sparse as sp

from clarifai.client import ClarifaiApi

CLARIFAI_APP_ID = ‘...‘
CLARIFAI_APP_SECRET = ‘...‘
clarifai = ClarifaiApi(app_id=CLARIFAI_APP_ID,
                       app_secret=CLARIFAI_APP_SECRET,
                       base_url=‘https://api.clarifai.com‘)

def batch_request(imgs, bboxes):
  """use the API to tag a batch of occulded images"""
  assert len(bboxes) < 128
  #convert to image bytes
  stringios = []
  for img in imgs:
    stringio = StringIO()
    img.save(stringio, format=‘JPEG‘)
    stringios.append(stringio)
  #call api and parse response
  output = []
  response = clarifai.tag_images(stringios, model=‘nsfw-v1.0‘)
  for result,bbox in zip(response[‘results‘], bboxes):
    nsfw_idx = result[‘result‘][‘tag‘][‘classes‘].index("sfw")
    nsfw_score = result[‘result‘][‘tag‘][‘probs‘][nsfw_idx]
    output.append((nsfw_score, bbox))
  return output

 

尽管这些类型的实验提供了一种显示分类器输出的简单方法,但它们的一个缺点是生成的可视化效果通常很模糊。这使我们无法获得对网络实际运行情况的有意义的洞察力 。

反卷积网络

在给定的数据集上训练了网络之后,我们希望能够拍摄图像和课程,并向卷积网络提出类似的要求 :

 

这是当我们使用deconvnet可视化如何修改Lena的照片 (注意:此处使用的deconvnet需要一个正方形图像才能正常运行-我们填充了完整的Lena图像以获得正确的外观比):

技术图片技术图片?

 

 根据我们的deconvnet,我们可以通过增加红色来修饰芭芭拉,使其看起来更像PG:

技术图片技术图片?

 

这张詹姆斯·邦德电影《无博士》中乌斯拉·安德列斯(Hors Rider)饰演的《蜜月骑士》(Honey Rider)在2003年的一项英国调查中被评选为“屏幕历史上最伟大的100个性感时刻”的第一名

技术图片技术图片?

 

上述实验的一个显着特征是,卷积神经网络学习了红唇和肚脐,表示“ NSFW”。这可能意味着我们在“ SFW”训练数据中没有包含足够的红唇和肚脐图像。如果我们仅通过检查精度/召回率和ROC曲线(如下所示-测试集大小:428,271)来评估模型,我们将永远不会发现此问题,因为我们的测试数据也存在相同的缺点。这凸显了基于训练规则的分类器与现代AI研究之间的根本区别。与其手动设计功能,不如重新设计训练数据,直到发现的功能得到改善为止。

 

技术图片技术图片?

技术图片技术图片

 

 

 如果您有任何疑问,请在下面发表评论。 

 

技术图片?

 

  

大数据部落 -中国专业的第三方数据服务提供商,提供定制化的一站式数据挖掘和统计分析咨询服务

统计分析和数据挖掘咨询服务:y0.cn/teradat(咨询服务请联系官网客服

技术图片?技术图片QQ:3025393450

 

技术图片?QQ交流群:186388004 技术图片

【服务场景】  

科研项目; 公司项目外包;线上线下一对一培训;数据爬虫采集;学术研究;报告撰写;市场调查。

【大数据部落】提供定制化的一站式数据挖掘和统计分析咨询

技术图片

欢迎选修我们的R语言数据分析挖掘必知必会课程!

技术图片

 

python卷积神经网络人体图像识别

标签:oca   end   r语言   display   数据   电影   大数   提供商   激活   

原文地址:https://www.cnblogs.com/tecdat/p/11654282.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!