Обнаружение закономерностей в волнах - PullRequest
74 голосов
/ 04 февраля 2010

Я пытаюсь прочитать изображение с электрокардиографии и определить каждую из основных волн в нем (зубец Р, комплекс QRS и зубец Т). Теперь я могу прочитать изображение и получить вектор, подобный (4.2; 4.4; 4.9; 4.7; ...), представляющий значения в электрокардиографии, что составляет половину проблемы. Мне нужен алгоритм, который может пройти через этот вектор и определить, когда каждая из волн начинается и заканчивается.

Вот пример одного из его графиков:

alt text

Было бы легко, если бы у них всегда был один и тот же размер, но это не так, как если бы он работал, или если бы я знал, сколько волн будет иметь ЭКГ, но он также может варьироваться. У кого-нибудь есть идеи?

Спасибо!

Обновление

Пример того, чего я пытаюсь достичь:

Учитывая волну

alt text

Я могу извлечь вектор

[0; 0; 20; 20; 20; 19; 18; 17; 17; 17; 17; 17; 16; 16; 16; 16; 16; 16; 16; 17; 17; 18; 19; 20; 21; 22; 23; 23; 23; 25; 25; 23; 22; 20; 19; 17; 16; 16; 14; 13; 14; 13; 13; 12; 12; 12; 12; 12; 11; 11; 10; 12; 16; 22; 31; 38; 45; 51; 47; 41; 33; 26; 21; 17; 17; 16; 16; 15; 16; 17; 17; 18; 18; 17; 18; 18; 18; 18; 18; 18; 18; 17; 17; 18; 19; 18; 18; 19; 19; 19; 19; 20; 20; 19; 20; 22; 24; 24; 25; 26; 27; 28; 29; 30; 31; 31; 31; 32; 32; 32; 31; 29; 28; 26; 24; 22; 20; 20; 19; 18; 18; 17; 17; 16; 16; 15; 15; 16; 15; 15; 15; 15; 15; 15; 15; 15; 15; 14; 15; 16; 16; 16; 16; 16; 16; 16; 16; 16; 15; 16; 15; 15; 15; 16; 16; 16; 16; 16; 16; 16; 16; 15; 16; 16; 16; 16; 16; 15; 15; 15; 15; 15; 16; 16; 17; 18; 18; 19; 19; 19; 20; 21; 22; 22; 22; 22; 21; 20; 18; 17; 17; 15; 15; 14; 14; 13; 13; 14; 13; 13; 13; 12; 12; 12; 12; 13; 18; 23; 30; 38; 47; 51; 44; 39; 31; 24; 18; 16; 15; 15; 15; 15; 15; 15; 16; 16; 16; 17; 16; 16; 17; 17; 16; 17; 17; 17; 17; 18; 18; 18; 18; 19; 19; 20; 20; 20; 20; 21; 22; 22; 24; 25; 26; 27; 28; 29; 30; 31; 32; 33; 32; 33; 33; 33; 32; 30; 28; 26; 24; 23; 23; 22; 20; 19; 19; 18; 17; 17; 18; 17; 18; 18; 17; 18; 17; 18; 18; 17; 17; 17; 17; 16; 17; 17; 17; 18; 18; 17; 17; 18; 18; 18; 19; 18; 18; 17; 18; 18; 17; 17; 17; 17; 17; 18; 17; 17; 18; 17; 17; 17; 17; 17; 17; 17; 18; 17; 17; 18; 18; 18; 20; 20; 21; 21; 22; 23; 24; 23; 23; 21; 21; 20; 18; 18; 17; 16; 14; 13; 13; 13; 13; 13; 13; 13; 13; 13; 12; 12; 12; 16; 19; 28; 36; 47; 51; 46; 40; 32; 24; 20; 18; 16; 16; 16; 16; 15; 16; 16; 16; 17; 17; 17; 18; 17; 17; 18; 18; 18; 18; 19; 18; 18; 19; 20; 20; 20; 20; 20; 21; 21; 22; 22; 23; 25; 26; 27; 29; 29; 30; 31; 32; 33; 33; 33; 34; 35; 35; 35; 0; 0; 0; 0;]

Я бы хотел обнаружить, например

Р-волна в [19 - 37]

Комплекс QRS в [51 - 64]

и т.д ...

Ответы [ 13 ]

1 голос
/ 04 февраля 2010

" Вейвлет-преобразование " может быть релевантным ключевым словом.Однажды я посетил презентацию кого-то, кто использовал эту технику для обнаружения различных фаз сердцебиения в шумной ЭКГ.

Насколько мое ограниченное понимание, это похоже на преобразование Фурье, но с использованием (масштабированных) копийа, в вашем случае сердцебиение, пульс.

0 голосов
/ 05 февраля 2010

Во-первых, различные компоненты стандартной волны электрокардиограммы могут отсутствовать на любом данном графике. Такой заговор, как правило, ненормальный и обычно указывает на какую-то проблему, но вы не можете быть обещаны, что они там.

Во-вторых, их признание - это столько же искусство, сколько наука, особенно в тех случаях, когда что-то идет не так.

Мой подход может заключаться в том, чтобы попытаться обучить нейронную сеть для идентификации компонентов. Вы бы дали ему предыдущие 30 секунд данных, нормализованных так, чтобы самая низкая точка была в 0 и самая высокая точка в 1.0, и у этого было бы 11 выходов. Выходные данные, которые не были оценены как ненормальные, будут взвешиваться в течение последних 10 секунд. 0,0 будет -10 секунд от настоящего, а 1,0 будет означать сейчас. Выходные данные будут:

  1. Где началась самая последняя волна Р
  2. Где закончилась самая последняя волна P
  3. Рейтинг аномалий самой последней волны P с одним экстремумом, отсутствующим.
  4. Там, где начался самый последний комплекс QRS
  5. Где часть Q самого последнего комплекса QRS превратилась в часть R.
  6. Где часть R самого последнего комплекса QRS превратилась в часть S.
  7. Где закончился последний комплекс QRS.
  8. Рейтинг аномалий самого последнего комплекса QRS с одним отсутствующим экстремумом.
  9. Там, где началась самая последняя волна Т.
  10. Там, где закончилась самая последняя волна Т.
  11. Рейтинг аномалий самой последней зубца T с одним отсутствующим экстремумом.

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

Конечно, это подробное описание нейронной сети не следует воспринимать как предписывающее. Я уверен, что я не обязательно выбрал наиболее оптимальные результаты, например, я просто отбросил некоторые идеи о том, какими они могут быть.

0 голосов
/ 04 февраля 2010

Я не читал друг друга полностью, но я отсканировал их и заметил, что никто не рекомендовал смотреть на преобразование Фурье для сегментирования этих волн.

Мне кажется очевидным применение Гармонического анализа в математике. Я могу упустить несколько тонких моментов, которые я могу упустить.

Коэффициенты Дискретного преобразования Фурье дают вам амплитуду и фазу различных синусоидальных компонентов, составляющих ваш сигнал дискретного времени, что, по сути, является вашей проблемой, о которой вы хотите узнать.

Возможно, мне здесь чего-то не хватает ...

...