使用神经网络对图片进行分类时,一个图片对应了多个分类,要怎么办?
比如,有一些图片同时属于既有的两个分类,这两个分类目前还不能合并,也不方便重新调整现有分类方式。该如何处理?
用One-Hot就可以了,给图片分配一个多维向量,每个维度对应一个分类,图片属于分类就修改维度值。
不知道你这个问题是否已经解决, 如果还没有解决的话:Python
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。学习链接:
OpenCV
OpenCV 是一个开源的跨平台计算机视觉库。实现了图像处理和计算机视觉 方面的很多通用算法。在本设计中它主要集中在图像的采集以及图像预处理等功能。学习链接:OpenCV学习
TensorFlow
TensorFlow 是谷歌开源的计算框架,TensorFlow 框架可以很好地支持深度学 习的各种算法。本课设图像识别部分采用的深度学习(deep learning)算法就是 用 TensorFlow 框架实现的。学习链接:TensorFlow学习
CNN
卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算 且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一。学习链接:CNN学习
多标签分类(Multi-label Classification):在这种方法中,每个分类被视为一个独立的标签。对于每张图片,可以存在多个标签,代表该图片属于多个分类。可以使用神经网络模型,例如多标签分类的卷积神经网络(CNN),来预测每个标签的存在与否。输出层的激活函数可以使用适合多标签问题的激活函数,例如sigmoid函数。这种方法适用于分类之间是独立的情况。
多任务学习(Multi-task Learning):在这种方法中,将多个分类任务作为一个整体进行学习。可以设计一个神经网络模型,在输出层同时预测多个分类。这样,模型可以通过共享底层特征提取器来学习不同分类任务之间的相关性。这种方法适用于分类之间存在潜在关联的情况。
单标签分类优先:应用场景对于每张图片只需要一个主要分类,而其他分类仅作为次要分类,可以选择将多个分类中的一个作为主要分类进行标记和训练。然后,可以使用模型进行单标签分类,并在需要时考虑次要分类。