signalLabelDefinition
创建信号标签定义
描述
使用signalLabelDefinition
为数据集创建信号标签定义。标签可以对应于属性、区域或感兴趣的点。用一个向量signalLabelDefinition
对象创建一个labeledSignalSet
。
创建
描述
输入参数
的名字
- - - - - -标签名称
特征向量|字符串标量
标签名称,指定为一个特征向量或字符串标量。
数据类型:字符
|字符串
属性
的名字
- - - - - -标签的名称
特征向量|字符串标量
标签的名称,指定为一个特征向量或字符串标量。
数据类型:字符
|字符串
LabelType
- - - - - -类型的标签
“属性”
(默认)|“投资回报”
|“点”
|“attributeFeature”
|“roiFeature”
指定类型的标签,作为其中的一个:
“属性”
——定义信号特征。“投资回报”
——定义信号特征对感兴趣的区域。“点”
——定义信号特征的兴趣点。“attributeFeature”
——定义信号特征与功能相对应。“roiFeature”
-定义信号特征对应的感兴趣的特性。
数据类型:字符
|字符串
LabelDataType
- - - - - -数据类型的标签
“逻辑”
(默认)|“分类”
|“数字”
|“字符串”
|“表”
|“时间表”
数据类型的标签,指定为“逻辑”
,“分类”
,“数字”
,“字符串”
,“表”
,或“时间表”
。当你设定这个属性“分类”
,可以使用类别属性来指定数组的类别。对象不支持的时间表和表的数据类型金宝appattributeFeature
和roiFeature
标签。
数据类型:字符
|字符串
类别
- - - - - -标签类别名称
字符串数组|单元阵列的特征向量
标签的类别名称,指定为字符串数组或单元阵列的特征向量。数组必须有独特的元素。这个属性只适用于当LabelDataType属性设置为“分类”
。
例子:LabelDataType = "绝对"类别=(“苹果”、“橙色”)
数据类型:字符
|字符串
ROILimitsDataType
- - - - - -数据类型的ROI的限制
“替身”
(默认)|“持续时间”
数据类型的ROI限制,指定为“替身”
或“持续时间”
。这个属性只适用于当LabelType被设置为“投资回报”
。
数据类型:字符
|字符串
PointLocationsDataType
- - - - - -数据类型的点位置
“替身”
(默认)|“持续时间”
点位置的数据类型,指定为“替身”
或“持续时间”
。这个属性只适用于当LabelType被设置为“点”
。
数据类型:字符
|字符串
ValidationFunction
- - - - - -验证功能
函数处理
验证函数,指定为一个函数处理和设置标签值时使用labeledSignalSet
对象。这个属性只适用于当LabelDataType被设置为“分类”
,“逻辑”
,“数字”
,“表”
,或“时间表”
。如果未指定,则函数检查只有它的输入值的正确的数据类型。如果LabelDataType被设置为“分类”
函数检查输入是使用指定的值之一类别。函数接受一个输入值并返回真正的
如果该值是有效的假
如果该值是无效的。
例子:LabelDataType
= "数字",DefaultValue
= 1,ValidationFunction
= @ (x) x < 2
数据类型:function_handle
DefaultValue
- - - - - -标签的默认值
[]
(默认)|LabelDataType
价值
默认值的标签,使用指定的类型指定为一个值LabelDataType。如果LabelDataType被设置为“分类”
,然后DefaultValue必须使用指定的值之一类别。
例子:LabelDataType
= "绝对",类别
=(“苹果”、“橙色”),DefaultValue
= "苹果"
数据类型:字符
|双
|逻辑
|字符串
|表
描述
- - - - - -标签描述
特征向量|字符串标量
标签描述,指定为一个特征向量或字符串标量。
例子:描述= "病人睡着了”
数据类型:字符
|字符串
标签
- - - - - -标签标识符
特征向量|字符串标量
标签标记标识符指定为一个特征向量或字符串标量。使用这个属性来识别相同的标签在一个更大的标签计划或公共标签集。
例子:标签= " Peak1 "
数据类型:字符
|字符串
Sublabels
- - - - - -一系列sublabels
信号标签定义对象
sublabels数组,指定为一个信号标签定义对象。指定多个sublabel,将此属性设置为一个矢量信号标签定义的对象。使用这个属性来创建一个父标签及其子之间的关系。如果LabelType被设置为“attributeFeature”
或“roiFeature”
,那么这个属性并不适用。
请注意
Sublabels不能Sublabels。
例子:Sublabels
= [signalLabelDefinition (“-”), signalLabelDefinition(“积极”)]
FrameSize
- - - - - -帧大小
数字标量
FrameOverlapLength
- - - - - -重叠相邻帧的长度
0
(默认)|数字标量
重叠相邻帧的长度,指定为一个数字标量。要启用这个特性,设置LabelType来“roiFeature”
。你不能指定FrameOverlapLength
和帧速率
同时进行。如果你不指定FramerOverlapLength
假设,那么对象重叠长度为零。
例子:FrameSize = 50, FrameOverlapLength = 5
数据类型:双
帧速率
- - - - - -帧率
0
(默认)|数字标量
帧速率,指定为数字标量。要启用这个特性,设置LabelType来“roiFeature”
。你不能指定帧速率
和FrameOverlapLength
同时进行。如果你不指定帧速率
,那么对象假设帧之间没有重叠。
例子:FrameSize = 50,帧速率= 45
数据类型:双
对象的功能
labelDefinitionsHierarchy |
分层的标签和sublabel名称列表 |
labelDefinitionsSummary |
汇总表的信号标签定义 |
例子
标签定义鲸鱼的歌曲
考虑一组鲸鱼录音。记录的鲸鱼声音由颤音和呻吟。颤音听起来像一系列的点击。呻吟低频叫声相似的声音由船的号角。你想看每个信号和标签识别鲸鱼类型,颤音地区,呻吟的地区。对于每一个颤音地区,你也想标签信号的峰值高于某个阈值。
信号标签定义
定义一个属性标签存储鲸鱼类型。可能的类别是蓝鲸、座头鲸和白鲸。
dWhaleType = signalLabelDefinition (“WhaleType”,…“LabelType”,“属性”,…“LabelDataType”,“分类”,…“类别”,{“蓝”,“座头鲸”,“白色”},…“描述”,“鲸鱼类型”);
定义一个区域(ROI)标签来捕获呻吟的地区。定义另一个ROI标签来捕获颤音的地区。
dMoans = signalLabelDefinition (“MoanRegions”,…“LabelType”,“投资回报”,…“LabelDataType”,“逻辑”,…“描述”,呻吟的地区发生的);dTrills = signalLabelDefinition (“TrillRegions”,…“LabelType”,“投资回报”,…“LabelDataType”,“逻辑”,…“描述”,颤音的地区发生的);
最后,定义一个标签来捕获颤音的峰值点。设置这个标签的sublabeldTrills
定义。
dTrillPeaks = signalLabelDefinition (“TrillPeaks”,…“LabelType”,“点”,…“LabelDataType”,“数字”,…“描述”,“颤音峰”);dTrills。Sublabels = dTrillPeaks;
标记信号设置
创建一个labeledSignalSet
与鲸鱼信号和标签定义。添加标签值来确定鲸鱼类型、呻吟和颤音地区,颤音的山峰。
负载labelwhalesignalslbldefs = [dWhaleType dMoans dTrills];lss = labeledSignalSet ({whale1 whale2}, lbldefs,“MemberNames”,{“Whale1”,“Whale2”},…“SampleRate”Fs,“描述”,“描述鲸歌地区”);
使用可视化标签等级和标签属性labelDefinitionsHierarchy
和labelDefinitionsSummary
。
labelDefinitionsHierarchy (lss)
ans = ' WhaleType Sublabels: [] MoanRegions Sublabels: [] TrillRegions Sublabels: TrillPeaks”
labelDefinitionsSummary (lss)
ans =3×9表LabelName LabelType LabelDataType类别ValidationFunction DefaultValue Sublabels ___________ _________________标签描述* * * _______ _____________ _______ ___________________________ ___ ____________________________“WhaleType”“属性”“分类”{3 x1字符串}{【“N / A”】} {0 x0双}{0 x0双}”““鲸鱼类型”“MoanRegions”“投资回报率”“逻辑”{[“N / A”]} {0 x0双}{0 x0双}{0 x0双}”“呻吟”地区发生”“TrillRegions”“投资回报率”“逻辑”{[“N / A”]} {0 x0双}{0 x0双}{1 x1 signalLabelDefinition}”“颤音”地区发生“
在加载数据的信号对应于两个蓝鲸的歌曲。设置“WhaleType”
信号的值。
setLabelValue (lss 1“WhaleType”,“蓝”);setLabelValue (lss 2“WhaleType”,“蓝”);
可视化“标签”
财产。新添加的表“WhaleType”
信号的值。
lss.Labels
ans =2×3表WhaleType MoanRegions TrillRegions _____ ___________ _______ Whale1蓝色{0 x2表}{0 x3表}Whale2蓝色{0 x2表}{0 x3表}
可视化区域标签
可视化鲸鱼歌曲识别颤音和呻吟。
次要情节(2,1,1)情节((0:长度(whale1) 1) / Fs, whale1) ylabel (“鲸鱼1”次要情节(2,1,2)情节((0:长度(whale2) 1) / Fs, whale2) ylabel (《鲸鱼2》)
呻吟地区持续低频哭泣。
whale1
呻吟集中在7秒,12秒,17秒。whale2
呻吟集中在约3秒,7秒,16秒。
呻吟区域添加到标记集。指定ROI限制在几秒钟内和标签值。
moanRegionsWhale1 = [6.1 - 7.7;11.4 - 13.1;16.5 - 18.1);mrsz1 =(大小(moanRegionsWhale1, 1) 1);setLabelValue (lss 1“MoanRegions”、moanRegionsWhale1真实(mrsz1));moanRegionsWhale2 = [2.5 - 3.5;5.8 8;15.4 - 16.7);mrsz2 =(大小(moanRegionsWhale2, 1) 1);setLabelValue (lss 2“MoanRegions”、moanRegionsWhale2真实(mrsz2));
颤音地区不同的声音被沉默。
whale1
有一个颤音集中在2秒左右。whale2
有一个颤音集中在12秒左右。
颤音区域添加到标记集。
trillRegionWhale1 = (1.4 - 3.1);trsz1 =(大小(trillRegionWhale1, 1) 1);setLabelValue (lss 1“TrillRegions”、trillRegionWhale1真实(trsz1));trillRegionWhale2 = 11.1 [13];trsz2 =(大小(trillRegionWhale1, 1) 1);setLabelValue (lss 2“TrillRegions”、trillRegionWhale2真实(trsz2));
创建一个signalMask
对象为每个鲸鱼的歌声和使用它来可视化和标签不同的地区。为了更好地可视化,更改标签值逻辑分类。
mr1 = getLabelValues (lss 1“MoanRegions”);mr1。值=分类(repmat (“呻吟”mrsz1));tr1 = getLabelValues (lss 1“TrillRegions”);tr1。值=分类(repmat (“颤音”trsz1));msk1 = signalMask ([mr1; tr1],“SampleRate”Fs);次要情节(2,1,1)plotsigroi msk1, whale1 ylabel (“鲸鱼1”)举行在mr2 = getLabelValues (lss 2“MoanRegions”);mr2。值=分类(repmat (“呻吟”mrsz2));tr2 = getLabelValues (lss 2“TrillRegions”);tr2。值=分类(repmat (“颤音”trsz2));msk2 = signalMask ([mr2; tr2],“SampleRate”Fs);次要情节(2,1,2)plotsigroi msk2, whale2 ylabel (《鲸鱼2》)举行在
可视化点标签
标签为每个颤音地区三个山峰。对于点标签,您指定点位置和标签值。在这个例子中,在几秒钟内点位置。
peakLocsWhale1 = (1.553 1.626 1.7);peakValsWhale1 = (0.211 0.254 0.211);setLabelValue (lss 1 {“TrillRegions”,“TrillPeaks”},…peakLocsWhale1 peakValsWhale1,“LabelRowIndex”1);次要情节(2,1,1)情节(peakLocsWhale1 peakValsWhale1,“v”)举行从peakLocsWhale2 = (11.214 11.288 11.437);peakValsWhale2 = (0.119 0.14 0.15);setLabelValue (lss 2 {“TrillRegions”,“TrillPeaks”},…peakLocsWhale2 peakValsWhale2,“LabelRowIndex”1);次要情节(2,1,2)情节(peakLocsWhale2 peakValsWhale2,“v”)举行从
探索标签值
探索使用的标签值getLabelValues
。
getLabelValues (lss)
ans =2×3表WhaleType MoanRegions TrillRegions _____ ___________ _______ Whale1蓝色{3 x2表}{1}x3表Whale2蓝色{3 x2表}{1}x3表
检索呻吟区域标记集的第一个成员。
getLabelValues (lss 1“MoanRegions”)
ans =3×2表_______ _____ ROILimits价值11.4 - 13.1 6.1 - 7.7 {[1]}{[1]}16.5 - 18.1 {[1]}
使用第二个输出参数列表的sublabels标签。
(价值,valueWithSublabel) = getLabelValues (lss 1“TrillRegions”)
值=1×2表_____ _____ ROILimits价值1.4 - 3.1 {[1]}
valueWithSublabel =1×3表ROILimits价值Sublabels TrillPeaks __________ _____ ___________ 1.4 - 3.1 {[1]} {3 x2表}
sublabel检索值,表达作为一个双元素标签名称数组。
getLabelValues (lss 1 {“TrillRegions”,“TrillPeaks”})
ans =3×2表位置值________ __________ 1.553 {[0.2110]}1.626 1.7 {[0.2540]}{[0.2110]}
找到第三个颤音的值峰值对应于第二组的成员。
getLabelValues (lss 2 {“TrillRegions”,“TrillPeaks”},…“LabelRowIndex”,1“SublabelRowIndex”3)
ans =1×2表位置值________ __________ 11.437 {[0.1500]}
计数标签值和创建数据存储
指定一组音频信号的路径与MATLAB®作为mat文件。每个文件包含一个信号变量和采样率。文件的名称列表。
文件夹= fullfile (matlabroot,“工具箱”,“matlab”,“音视频”);lst = dir(添加文件夹,“/ * .mat”));nms = {lst (:) . name}’
nms =7 x1细胞{的唧唧声。垫的}{'gong.mat' } {'handel.mat' } {'laughter.mat'} {'mtlb.mat' } {'splat.mat' } {'train.mat' }
创建一个信号数据存储指向指定的文件夹。设置采样率变量名称Fs
,这是常见的所有文件。生成数据存储的一个子集,排除了文件mtlb.mat
。使用的数据存储子集作为源labeledSignalSet
对象。
sds = signalDatastore(文件夹,“SampleRateVariableName”,“Fs”);sds =子集(sds ~ strcmp (nms,“mtlb.mat”));lss = labeledSignalSet (sds);
创建三个标签定义标签的信号:
定义一个逻辑属性标签适用于信号包含人类的声音。
定义一个数值点标签,标志着每个信号的位置和幅度最大。
定义一个类别的标签(ROI)挑选不重叠的,统一的长度随机每个信号的区域。
信号标签定义添加到标签信号设置。
vc = signalLabelDefinition (“声音”,“LabelType”,“属性”,…“LabelDataType”,“逻辑”,“DefaultValue”、假);mx = signalLabelDefinition (“最大”,“LabelType”,“点”,…“LabelDataType”,“数字”);rs = signalLabelDefinition (“RanROI”,“LabelType”,“投资回报”,…“LabelDataType”,“分类”,“类别”,(“投资回报”“其他”]);(vc mx rs) addLabelDefinitions (lss)
标签的信号:
标签
“handel.mat”
和“laughter.mat”
人的声音。使用
islocalmax
函数来找到每个信号的最大值。标签位置和价值。使用
randROI
长度的函数来生成尽可能多的地区N/ 10个样本长度的信号N给定一个最低的分离N/ 6样本之间的地区。标签并将它们分配给它们的位置ROI
类别。
当标记点和地区,将样本值转换成时间值。减去1占MATLAB®数组索引和除以样本率。
kj = 1;而hasdata (sds)[团体,信息]=阅读(sds);fs = info.SampleRate;[~,fn] = fileparts (info.FileName);如果fn = =“汉德尔”| | fn = =“笑”setLabelValue (lss kj,“声音”,真正的)结束xm =找到(islocalmax(团体,“MaxNumExtrema”1));setLabelValue (lss kj,“最大”(xm-1) / fs,团体(xm)) N =长度(团体);roi = randROI (N (N / 10),圆(N / 6));setLabelValue (lss kj,“RanROI”、(rois-1) / fs repelem (“投资回报”、大小(roi, 1))) kj = kj + 1;结束
验证,只有两个信号包含的声音。
countLabelValues (lss“声音”)
ans =2×3表声音数百分比_____ _____假4 66.667真2 33.333
确认两个信号的最大振幅1。
countLabelValues (lss“最大”)
ans =5×4表最大数量百分比MemberCount ______________________ _____ _________ ___________ 0.80000000000000004441 16.667 0.94730769230769229505 16.667 16.667 0.89113331915798421612 1 1 1 1 1 2 2 1.0575668990330560071 - 1 16.667 33.333 1
确认每个感兴趣的随机信号有四个不重叠的区域。
countLabelValues (lss“RanROI”)
ans =2×4表RanROI数百分比MemberCount _____ _____ _________ ___________ ROI 24 100 6 0 0 0
创建两个数据存储的数据标记信号设置:
的
signalDatastore
对象sd
包含信号数据。的
arrayDatastore
对象ld
包含标识信息。指定您想要包括信息对应于所有创建的标签。
(sd, ld) = createDatastores (lss, (“声音”“RanROI”“最大”]);
使用数据存储中的信息信号和显示他们的标签。
使用一个
signalMask
反对用蓝色突出感兴趣的区域。图黄线标记极大值的位置。
红轴标签添加到包含人类声音的信号。
tiledlayout流而hasdata (sd) (sg, nf) =阅读(sd);lbls =阅读(ld);nexttile msk = signalMask (lbls {:} .RanROI {:},“SampleRate”,nf.SampleRate);plotsigroi colorbar (msk, sg)从包含(”)参照线(lbls {:} .Maximum {:} .Location,…“线宽”2,“颜色”,“# EDB120”)如果lbls {:}。声音{:}ylabel (“表示”,“颜色”,“# D95319”)结束结束
函数roilims = randROI地板(N, wid, sep) num = ((N + 9) / (wid + 9));总部= histcounts (randi (num + 1, 1, N-num * wid - (num-1) * 9), (1: num + 2) 1/2);roilims = (1 + (0: num-1) * (wid + 9) + cumsum(总部(1:num)))”+ [0 wid-1];结束
版本历史
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。