Этикетировочная машина сигнала

Маркируйте сигналы для анализа или машины и применения глубокого обучения

Описание

Signal Labeler является интерактивным инструментом, который позволяет вам маркировать сигналы для анализа или для использования в машинном обучении и применения глубокого обучения. Используя Signal Labeler, вы можете

  • Маркируйте сигналы атрибутами, областями и интересными местами

  • Используйте логические, категориальные, числовые, или метки со знаком строки

  • Добавьте, отредактируйте и удалите метки или подметки

  • Отобразите выбранные подмножества сигналов и меток

Signal Labeler сохраняет данные к Signal Analyzer, когда labeledSignalSet возражает. Можно использовать объекты labeledSignalSet обучить сеть, классификатор, или анализировать статистика отчета и данные.

Откройте этикетировочную машину сигнала

В приложении Signal Analyzer, на вкладке Analyzer, нажимают Label.

Примеры

развернуть все

Записи песен кита содержат трели и стоны. Трели походят на серию нажатий кнопки. Стоны являются низкочастотными криками, подобными звуку, сделанному рогом поставки. Вы хотите посмотреть на каждый сигнал и маркировать его, чтобы идентифицировать тип кита, области трели и области стона. Для каждой области трели вы также хотите маркировать несколько выбранных peaks сигнала.

Загрузите немаркированные данные

Запустите путем загрузки набора данных, который включает две записи песен кита. Сигналы называются whale1 и whale2 и выбираются на уровне 4 кГц. whale1 состоит из трели, сопровождаемой тремя стонами. whale2 состоит из двух стонов, трели и другого стона.

load labelwhalesignals

% To hear, type soundsc(whale1,Fs), pause(22), soundsc(whale2,Fs)

Принесите сигналы в Этикетировочную машину Сигнала:

  1. Запустите Signal Analyzer и перетащите сигналы к таблице Signal.

  2. Выберите сигналы и добавьте время информация. На вкладке Analyzer нажмите Time Values, выберите Sample Rate and Start Time и введите частоту дискретизации, Fs.

  3. С выбранными сигналами нажмите Label на вкладке Analyzer.

Добавьте, что сигнал маркирует определения

Задайте метки, чтобы присоединить к сигналам. Метки могут иметь три типа:

  • Метки атрибута задают характеристики сигнала.

  • Метки видимой области (ROI) задают характеристики сигнала по видимым областям.

  • Укажите, что метки задают характеристики сигнала по интересным местам.

Каждая метка может иметь один из четырех типов данных:

  • Логические метки могут быть любой TRUE или FALSE.

  • Категориальные метки могут принадлежать любому из набора категорий, которые вы задаете.

  • Числовые метки могут иметь любое числовое значение.

  • Метки строки могут иметь любое значение, представленное строкой.

Любая метка может иметь любое количество подметок. Сами подметки не могут иметь подметок.

Для сигналов песни кита:

  1. Задайте категориальную метку атрибута, чтобы сохранить типы кита. Вызовите его WhaleType. Возможные категории являются голубым китом, горбатым китом и белухой.

  2. Задайте логическую метку видимой области (ROI), которая верна для областей стона. Вызовите его MoanRegions.

  3. Задайте логическую метку ROI, которая верна для областей трели. Вызовите его TrillRegions.

  4. Задайте числовую метку точки, чтобы получить peaks трели. Вызовите его TrillPeaks. Установите эту метку как подметку метки TrillRegions.

Чтобы задать каждую метку, нажмите Add Definition на вкладке Label. Чтобы задать подметку, выберите метку TrillRegions в Маркировать браузере Definitions, нажмите Add Definition ▼ и выберите Add sublabel definition.

Введите следующие значения в поля в диалоговом окне, которое появляется для каждого определения метки или подметки сигнала. Оставьте поле Default пустым в каждом случае.

LabelNameLabelTypeLabelDescriptionDataTypeCategoriesWhaleTypeAttributeWhaletypecategorical{bluehumpbackwhiteMoanRegionsROIRegionswheremoansoccurlogical---TrillRegionsROIRegionswheretrillsoccurlogical---TrillPeaksPointTrillpeaksnumeric---

Можно экспортировать определения сигнала, которые вы создали к MAT-файлу путем нажатия на Export. Диалоговое окно появляется, который предлагает вам имя файла. В любой точке можно импортировать определения сигнала, сохраненные в MAT-файле путем нажатия на Import.

Маркируйте Signal Attributes

Песни в данных от двух голубых китов. Установите значения WhaleType для обоих сигналов:

  1. Выберите WhaleType на Маркировать браузере Definitions.

  2. Нажмите Label ▼ и выберите Label Signals.

  3. В диалоговом окне, которое появляется, проверьте, что и whale1 и whale2 выбраны и что поле Value установлено в blue. (Если вы не задаете значение по умолчанию в категориальном определении метки сигнала, Этикетировочная машина Сигнала устанавливает метку на первую категорию, заданную в определении.)

  4. Нажать ОК.

Постройте сигнал whale1 путем установки флажка рядом с его именем. Атрибуты сигнала появляются и в Маркированном Настроенном браузере Сигнала и в соответствии с графиком временной зависимости.

Маркируйте Signal Regions

Визуализируйте песни кита и маркируйте области стона и трель.

  • Области трели имеют отличные пакеты звука, акцентированного тишиной. whale1 сосредоточили трель приблизительно в 2 секунды.

  • Области стона поддержаны низкочастотные вопли. whale1 имеет стоны, сосредоточенные приблизительно в 7 секунд, 12 секунд и 17 секунд.

Маркируйте сигналы по одному:

  1. На столбце Графика Маркированного Настроенного браузера Сигнала установите флажок рядом с именем сигнала, чтобы построить сигнал.

  2. Чтобы маркировать стон, на Маркировать браузере Definitions, выбирают определение метки MoanRegions.

  3. Нажмите Label ▼ и выберите Label Plotted. Теневая область кажется, структурированной анимированной пунктирной линией. (Анимированный кадр указывает, что область активна.) Перемещают и изменяют размер активной области, пока она не заключает область стона. Для лучшего размещения метки можно перейти к вкладке Display и выбрать действие изменения масштаба или активировать регулятор панорамы.

  4. Нажмите кнопку Принять, нажмите Enter или дважды кликните, чтобы маркировать ROI. Область изменяется на градиент цвета сигнала. Если вы не задаете значение по умолчанию в логическом определении метки, Этикетировочная машина Сигнала устанавливает метку на true.

  5. Повторите процедуру для других двух стонов.

  6. Чтобы маркировать трель, на Маркировать браузере Definitions, выбирают определение метки TrillRegions. Маркируйте область трели с помощью шагов 3 и 4.

  7. Прежде, чем маркировать второй сигнал песни кита, удалите первый сигнал песни кита из графика путем снятия флажка рядом с его именем в Маркированном Настроенном браузере Сигнала. Если вам построили два сигнала, когда вы маркируете область или точку, Этикетировочная машина Сигнала сопоставляет метку с обоими сигналами.

Оси средства просмотра метки показывают местоположения и ширины видимых областей. Они также показывают значение, присвоенное каждой области.

Маркируйте Signal Points

Области трели имеют отличный peaks, который соответствует пакетам звука. Маркируйте три peaks в каждой области трели. Поскольку peaks трели является подметками, каждый должен быть сопоставлен с конкретной меткой TrillRegions.

Маркируйте сигналы по одному:

  1. На столбце Графика Маркированного Настроенного браузера Сигнала установите флажок рядом с именем сигнала, чтобы построить сигнал. Также установите флажок, соответствующий области трели, peaks которой вы хотите маркировать.

  2. На Маркировать браузере Definitions выберите TrillPeaks.

  3. На панели инструментов, под Значением, вводят 1, соответствуя первому пику.

  4. На Маркированном Настроенном браузере Сигнала выберите область трели. Область трели становится активной и структурирована анимированной пунктирной линией.

  5. Нажмите Label ▼ и выберите Label Plotted. Область трели структурирована сплошной линией, и анимированная пунктирная (активная) строка появляется для маркируемой точки.

  6. Переместите активную строку, пока она не пересечет сигнал на пике по вашему выбору. Для лучшего размещения метки можно перейти к вкладке Display и выбрать действие изменения масштаба или активировать регулятор панорамы.

  7. Нажмите кнопку Принять, нажмите Enter или дважды кликните, чтобы маркировать пик. Пунктирная линия изменяется на сплошную линию того же цвета как сигнал.

  8. Повторитесь для еще двух peaks, введя 2 и 3, чтобы идентифицировать их.

  9. Прежде, чем маркировать peaks трели для второго сигнала песни кита, удалите первый сигнал песни кита из графика путем снятия флажка рядом с его именем в Маркированном Настроенном браузере Сигнала.

Оси средства просмотра метки показывают местоположения интересных мест и значения, присвоенного каждой точке.

Постройте два сигнала видеть сводные данные их меток в Маркировать Viewer. Расширьте маркированную иерархию набора сигнала в Маркированном Настроенном браузере Сигнала видеть детали для всех меток. (Чтобы расширить иерархию, щелкните правой кнопкой по любому сигналу по браузеру и выберите Expand All.) Для каждого сигнала, постройте первую область стона и третий пик трели, который вы маркировали.

Отредактируйте значения метки сигнала

В любой точке можно отредактировать любую метку сигнала с помощью Маркированного Настроенного браузера Сигнала. Чтобы отредактировать метку атрибута, выберите его, щелкните правой кнопкой и выберите Edit. Например, если вы обнаруживаете, что второй кит является на самом деле белухой, можно выбрать атрибут WhaleType для whale2, щелкнуть правой кнопкой, выбрать Edit, и, на диалоговом окне, которое появляется, выберите white из выпадающего меню.

Если вы хотите отредактировать значение метки ROI или метки точки, можно изменить значение в диалоговом окне. Чтобы изменить местоположение метки ROI или метки точки, можно изменить поля местоположения в диалоговом окне. Также вы можете:

  1. Постройте метку путем установки флажка рядом с его именем.

  2. Выберите метку.

  3. Переместите область или точку в графике временной зависимости, когда это станет активным.

Экспортируйте маркированный набор сигнала

Экспортируйте маркированные сигналы путем сохранения маркировки и экспорта нового объекта labeledSignalSet. Нажмите кнопку Save Labels на панели инструментов. В диалоговом окне, которое появляется, дайте имени whalesongs маркированному набору сигнала. Нажатие на кнопку OK возвращает вас к Signal Analyzer. Смотрите Поведение Импорта и Экспорта Этикетировочной машины Сигнала для получения дополнительной информации о том, как экспорт Этикетировочной машины Сигнала маркировал наборы сигнала.

На таблице Signal выберите whalesongs и щелкните правой кнопкой, чтобы экспортировать его в файл под названием Whale_Songs.mat.

Загрузите в рабочую область MATLAB® MAT-файл, который вы создали в примере Маркировки Песни Кита. Проверьте, что маркированный набор сигнала содержит определения, что вы добавили Этикетировочную машину Сигнала использования.

load Whale_Songs

labelDefinitionsSummary(whalesongs)
ans=3×9 table
      LabelName        LabelType     LabelDataType     Categories     ValidationFunction    DefaultValue             Sublabels             Tag            Description         
    ______________    ___________    _____________    ____________    __________________    ____________    ___________________________    ___    ____________________________

    "WhaleType"       "attribute"    "categorical"    [3x1 string]         ["N/A"]               []         []                             ""     "Whale type"                
    "MoanRegions"     "roi"          "logical"        ["N/A"     ]         []                    []         []                             ""     "Regions where moans occur" 
    "TrillRegions"    "roi"          "logical"        ["N/A"     ]         []                    []         [1x1 signalLabelDefinition]    ""     "Regions where trills occur"

Проверьте, что TrillPeaks является подметкой TrillRegions.

labelDefinitionsHierarchy(whalesongs)
ans = 
    'WhaleType
       Sublabels: []
     MoanRegions
       Sublabels: []
     TrillRegions
       Sublabels: TrillPeaks
     '

Получите второго члена набора. Получите имена переменных расписания.

song = getSignal(whalesongs,2);

summary(song)
RowTimes:

    Time: 76579x1 duration
        Values:
            Min           0 sec       
            Median        9.5722 sec  
            Max           19.144 sec  
            TimeStep      0.00025 sec 

Variables:

    whale2: 76579x1 double

        Values:

            Min       -0.37326
            Median           0
            Max        0.37914

Постройте сигнал.

t = song.Time;
sng = song.whale2;

plot(t,sng)

Визуализируйте маркированные области

Отобразите и идентифицируйте видимые области, которые вы маркировали. Для получения дополнительной информации см. код для функции labelIntervals в конце примера.

mvals = getLabelValues(whalesongs,2,'MoanRegions');
tvals = getLabelValues(whalesongs,2,'TrillRegions');

cmap = lines;

hold on

tmoan = mvals.ROILimits;
for kj = 1:size(tmoan,1)
    tv = find(seconds(t)>tmoan(kj,1) & seconds(t)<tmoan(kj,2));
    plot(t(tv),sng(tv),'Color',cmap(2,:))
end

ttrill = tvals.ROILimits;
for kj = 1:size(ttrill,1)
    tv = find(seconds(t)>ttrill(kj,1) & seconds(t)<ttrill(kj,2));
    plot(t(tv),sng(tv),'Color',cmap(3,:))
end

labelIntervals(mvals,tvals,cmap(4,:))

hold off

Визуализируйте маркированные точки

Отобразите и идентифицируйте peaks трели, который вы маркировали.

pk = getLabelValues(whalesongs,2,{'TrillRegions','TrillPeaks'});

locs  = zeros(size(pk,1),1);
for kj = 1:length(locs)
    locs(kj) = find(seconds(t) == pk.Location(kj));
end

hold on
plot(t(locs),sng(locs)+0.01,'v','MarkerSize',8,'Color',[0.929,0.694,0.125])
text(t(locs)+seconds(0.2),sng(locs)+0.05,int2str(cell2mat(pk.Value)), ...
    'HorizontalAlignment','center')
hold off

Эта функция помощника отображает и идентифицирует видимые области.

function labelIntervals(mvals,tvals,clr)
    [X,Y] = meshgrid(seconds([mvals.ROILimits;tvals.ROILimits]),ylim);
    plot(X,Y,':k')
    topts = {'HorizontalAlignment','center','FontWeight','bold', ...
        'FontSize',12,'Color',clr};
    text((X(1,1:4)+X(1,5:end))/2,Y(2,5:end)-0.1, ...
        ["moan" "moan" "moan" "trill"],topts{:})
end

Советы

Средние значения Signal Labeler образовывают канал цвета, когда это представляет метки, соответствующие многоканальным сигналам. Для лучших результатов настройте цвет линии так, чтобы это было точно то же самое для всех каналов в данном сигнале. Выполните индивидуальную настройку в Signal Analyzer прежде, чем ввести Signal Labeler.

Сравните цвет метки для diffr, сигнал, каналы которого имеют различные цвета к цвету метки для equal, сигнал, каналы которого у всех есть тот же цвет. Любые метки для equal будут представлены в тени синего, который совместно используют все каналы. Метки для diffr будут представлены в оттенке коричневого цвета, который не совпадает ни с одним из цветов канала.

Введенный в R2019a