原文链接: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 experimentfrom StringIO import StringIOimport matplotlib.pyplot as plt
import numpy as np
from PIL import Image, ImageDraw
import requests
import scipy.sparse as spfrom clarifai.client import ClarifaiApiCLARIFAI_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 bytesstringios = []for img in imgs:stringio = StringIO()img.save(stringio, format='JPEG')stringios.append(stringio)#call api and parse responseoutput = []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研究之间的根本区别。与其手动设计功能,不如重新设计训练数据,直到发现的功能得到改善为止。

拓端tecdat|python卷积神经网络人体图像识别相关推荐

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

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

  2. 卷积神经网络的Python实现,python卷积神经网络训练

    如何才能自学好python? 对于想要自学Python的小伙伴,这里整理了一份系统全面的学习路线,按照这份大纲来安排学习可以少走弯路,事半功倍. 第一阶段:专业核心基础阶段目标:1.熟练掌握Pytho ...

  3. 卷积神经网络的python实现,python卷积神经网络图像

    怎样用python构建一个卷积神经网络模型 上周末利用python简单实现了一个卷积神经网络,只包含一个卷积层和一个maxpooling层,pooling层后面的多层神经网络采用了softmax形式的 ...

  4. python卷积神经网络代码,python卷积神经网络分类

    怎样用python构建一个卷积神经网络模型 上周末利用python简单实现了一个卷积神经网络,只包含一个卷积层和一个maxpooling层,pooling层后面的多层神经网络采用了softmax形式的 ...

  5. Python 卷积神经网络 ResNet的基本编写方法

    ResNet(Residual Network)是由微软亚洲研究院提出的深度卷积神经网络,它在2015年的ImageNet挑战赛上取得了第一名的好成绩.ResNet最大的特点是使用了残差学习,可以解决 ...

  6. 拓端tecdat荣获掘金社区入驻新人奖

    2021年7月,由掘金发起了"入驻成长礼"颁奖活动.本次活动邀请到知名开发者.服务机构代表等业界人士. 据了解,掘金社区"新入驻创作者礼"主要对已经积累了一定历 ...

  7. CNN卷积神经网络及图像识别

    CNN卷积神经网络及图像识别 前言 神经网络(neual networks)是人工智能研究领域的一部分,当前最流行的神经网络是深度卷积神经网络(deep convolutional neural ne ...

  8. 拓端tecdat荣获2022年度51CTO博主之星

    相信技术,传递价值,这是51CTO每一个技术创作者的动力与信念,2022 年度,拓端tecdat 作为新锐的数据分析咨询公司,在51CTO平台上,不断的输出优质的技术文章,分享前沿创新技术,输出最佳生 ...

  9. 手把手教你完成图像分类实战——基于卷积神经网络的图像识别

    在很多的项目中,都会用到图像识别技术.我在智能电子秤的项目中,就使用了简单的图像识别算法来完成对果蔬的分类(三分类). 图像识别中,最常用的框架就是TensorFlow,我们今天就使用这个框架,手把手 ...

  10. 卷积神经网络在图像识别上的应用介绍(一)

    目录 1. 简介 2. 图像识别相关技术 2.1 视觉模式识别 2.1.1 特征描述与不变性 2.1.2 模型选择与泛化性能 2.2 卷积神经网络 2.2.1 神经网络简介 2.2.2 卷积神经网络发 ...

最新文章

  1. Day20 Ajax
  2. Erlang列表操作里面的变量绑定规则
  3. sockaddr与sockaddr_in的区别
  4. AD20学习笔记5---PCB设计规则设置及PCB手工布线
  5. ROS Rviz 显示地图 Python
  6. Shell-删除误解压的文件
  7. 数学建模 TOPSIS法
  8. Android Studio两模块间getLaunchIntentForPackage跳转,出现intent为null,已解决
  9. 2020届秋招中兴笔试题
  10. 利用pandas进行简单数据分析——医院销售数据分析案例
  11. win10安装Visual Studio2019时卡在了提取文件处
  12. 微信“看一看”,“搜一搜”算法大揭秘
  13. 角色权限管理系统(角色功能授权)
  14. 使用beautifulsoup4,爬取一波贴吧的表情包
  15. python制作APP,此APP可识别TEM图片结构轮廓,并将坐标提取到excel中,画出TEM结构轮廓图(tkinter,opencv-python)
  16. 找出阿里云RDS数据库的IP地址
  17. java中立方根方法,Java Math.cbrt() 方法
  18. html5视频制作,iH5最专业的H5制作工具
  19. 条码防伪检测技术介绍,如何通过扫描商品条码判断产品的真伪-鸿顺捷条码防伪技术介绍
  20. 为什么企业选择局域网即时通讯软件?局域网即时通讯软件哪家好?

热门文章

  1. centos Apache、php、mysql默认安装路径
  2. ‘catkin_make‘ is currently not installed问题修复
  3. Android studio 的那些坑
  4. C++--第20课 - 函数模板
  5. Go基础系列:Go实现工作池的两种方式(一)
  6. Python 进阶篇
  7. IE8中动态改变伪元素样式不起作用BUG
  8. 我的最爱Lambda演算——开篇
  9. Frame buffer分析 - fbmem.c【转】
  10. raid及mdadm命令之一(含shell显示字体颜色等)