【Python图像特征的音乐序列生成】如何标记照片的特征

目前我能想到的办法是这样的:

1,提取照片中的实体特征,借用某个pre-trained model进行tag标记。

2,将特征组合起来,形成一个bag-of-word model,然后将这个向量作为输入。进入CNN。

3,手动对照片贴标签,主要是对情感进行分类(如:安静、快乐,这样可以直观调节旋律)

4,将图片本身的这个特征向量,与情感标签一起作为旋律的生成参数。

首先要做的是提取照片中的实体特征。这是一个非常庞大的工程,需要很多的预训练。但是幸运地是,我手上的Azure付费订阅,可以支撑微软的Cognitive Service平台。

https://azure.microsoft.com/zh-cn/services/cognitive-services

不得不承认今年微软的Cognitive Service在功能上又有了一些强化,增加了QnA Maker、说话人识别等一系列很实用的API,为我之后的很多idea提供了方便,而且更重要的是,微软恰巧也强化了原来的计算机视觉API,现在的计算机视觉API相比之前的已经进化了很多。以前如果我放一个面包的照片,它最多返回一个“Food”标签。而现在,它不仅返回了Result分类结果,还返回了一大堆tag,请看下面两张图片:

尽管最近微软缩减了各个俱乐部的经费,我还是要在这里大喊三声:

微软大法好!

微软大法好!

微软大法好!

好了,那么这个tag就处理完毕。接下来我们要处理的是bag-of-word model。这个思想很简单,想象一个向量空间,我们把所有的词汇都映射成一个向量,那么这个向量的特征和这个词的特征是挂钩的,相似的词语会很近,而相反的词语会几乎线性相关。目前将词转换为向量的成熟方案是word2vec,英文上最出名、实用的应该是C&W 2008模型,中文方面没有业界知名的模型,但是我推荐这个:

http://spaces.ac.cn/archives/4304/

我个人觉得非常地好用。

那么我以C&W 2008模型举例,取词向量dimension = 50,那么我们将所有的向量相加(反正没有相互联系),得到一个综合向量,再作为卷积网络的输出即可。

卷积神经网络的结构我之后再继续讲述,最后讲一下怎么对图片手动贴标签。在我的设想中,这个标签应该是直观的情感标签,是一个人类看到这张图片所有的直觉反应。

所以我设想,将标签设为:生、老、病、死、爱别离、怨憎会、求不得、五阴炽盛

平静、快乐、悲伤、惊奇、厌恶、愤怒……

之后通过神经网络进行multi-labeled classification。

时间: 2024-10-05 06:53:09

【Python图像特征的音乐序列生成】如何标记照片的特征的相关文章

【Python图像特征的音乐序列生成】关于mingus一个bug的修复,兼改进情感模型

mingus在输出midi文件的时候,使用这样的函数: 1 from mingus.containers import NoteContainer 2 from mingus.midi import midi_file_out 3 4 nc = NoteContainer(["A", "C", "E"]) 5 midi_file_out.write_NoteContainer("test.mid", nc) 在输出时会报错:

【Python图像特征的音乐序列生成】关于音乐生成的思路转变

在前几天的讨论会上,有师兄指出原来的方法实在是很难训练,所以我改进了音乐生成的思路. 首先,我用LSTM生成的一定是一段音乐的序列化表达,那么我就可以用成型的一些数据集去训练LSTM.为了避免生成的音乐与现有的音乐有大量重复,我们可以考虑更改LSTM使其更加"健忘",这样应该能解决一部分问题.接下来肯定还会暴露出更多的问题,我会持续阐述我的思路. 首先找到一个合适的数据集.打开 http://www.mln.io/resources/datasets/ 之后我讲解一下这些数据集的用法:

【Python图像特征的音乐序列生成】关于小样本的一些思考

我之前就注意到,深度学习和音乐结合,尤其是从乐理出发进行结合(而不是纯粹的进行音乐生成),是一个尚未被深度挖掘的全新领域.可想而知,这个方向符合我要求的数据肯定是要自己搜集了. 自己搜集的数据,在量上就已经输了,只是考虑到我们要做的任务并不复杂,准确的说只是一个分类器,再加一个LSTM而已.对于这个分类器,甚至不需要用卷积神经网络,可以使用一些其他的网络:而LSTM的样本本来就蕴含了很明确的规律,变化并不是很大. 那么我们就要开始思考,除了一些常规的训练方法,还有什么训练适合小样本数据吗? 1.

【Python图像特征的音乐序列生成】如何生成旋律(大纲),以及整个项目的全部流程

今天连看三篇论文,不是很细致地看,也没有具体去实现,只是大概明白了一些新思路.这三篇论文,一篇概述了Decoder-Encoder模型,一篇延伸这个模型,首次提出了Attention机制,最后一篇详细阐述了LSTM和GRU的工作机理.读完之后,我对机器翻译这个领域,还有LSTM的应用,有了更深的认识. 言归正传,说一下生成旋律的原理. 在之前的乐理部分,我们知道了和弦级数和走向的问题,有很多和弦组合在一起能发挥良好的作用.这些好的和弦连接在一起的音序就被成为进行.流行音乐的和弦进行倾向于从根和弦

【Python图像特征的音乐序列生成】深度卷积网络,以及网络核心

这个项目主要涉及到两个网络,其中卷积神经网络用来提取图片表达的情绪,提取出一个二维向量. 网络结构如图: 词向量采用预训练的glove模型,d=50,其他信息包括了图片的"空旷程度".亮度.对比度等信息,用来更好地描述图片特征. 对于图中的卷积神经网络,需要讲解的地方是:卷积核是一个一维卷积核,每一层卷积层之后都连接了池化层,做的是最大值池化,每一层之间有固定的dropout层,最后输出的向量与我们预先设定的label进行计算,损失函数定义为 \[J(\theta)=-\sum_iy'

【Python图像特征的音乐序列生成】数据集制作的一些tricks

关于数据集的制作,我决定去掉很多不必要的东西,比如和弦,于是我选择了melody部分的旋律. 有了midi文件,我现在要abc序列,所以我要通过midi2abc转换一下文件. 批处理程序效果如下: 文件代码如下: 1 import os 2 3 filelist = os.listdir('C:\\Users\\zyx\\Desktop\\New\\melody') #遍历文件夹所有的文件 4 file_raw_list = list(filter(lambda filename:filenam

【Python图像特征的音乐序列生成】解析ABC格式的文件

ABC格式,是一个音乐标准,ABC Plus Project最新的标准是2.x. ABC格式的音乐长成这样: 1 X: 2 2 T:Abacus 3 % Nottingham Music Database 4 S:By Hugh Barwell, via Phil Rowe 5 R: Jig 6 M:6/8 7 K:G 8 "G"g2g B^AB|d2d G3|"Em"GAB "Am"A2A|"D7"ABc "G&q

用python实现的百度音乐下载器-python-pyqt-改进版

之前写过一个用python实现的百度新歌榜.热歌榜下载器的博文,实现了百度新歌.热门歌曲的爬取与下载.但那个采用的是单线程,网络状况一般的情况下,扫描前100首歌的时间大概得到40来秒.而且用Pyqt做的界面,在下载的过程中进行窗口操作,会出现UI阻塞的现象. 前两天有时间调整了一下,做了几方面的改进: 1.修改了UI界面阻塞的问题,下载的过程中可以进行其它的UI操作; 2.爬虫程序采用一个主线程,8个子线程的方式快速爬取,网络状况一致的情况下,将扫描100首歌曲的时间提高到了8.9秒左右:(本

手把手教你使用Python抓取QQ音乐数据!

[一.项目目标] 通过手把手教你使用Python抓取QQ音乐数据(第一弹)我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 通过手把手教你使用Python抓取QQ音乐数据(第二弹)我们实现了获取 QQ 音乐指定歌曲的歌词和指定歌曲首页热评. 通过手把手教你使用Python抓取QQ音乐数据(第三弹)我们实现了获取更多评论并生成词云图. 此次我们将将三个项目封装在一起,通过菜单控制爬取不同数据. [二.需要的库] 主要涉及的库有:requests.openpyxl.