Python
Machine learning
Sound
Comments 45
+2
Механик бьёт молоточком по фаре и говорит машине; «покашляйте» ;-)
А вообще интересно.
+1
1 доллар за то, что ударил кувалдой
Однажды Уатта пригласили найти неисправность в большой паровой машине. Так как хозяева из-за простоя несли большие убытки, и другие инженеры сделать ничего не смогли, они пригласили самого изобретателя паровой машины и обещали заплатить 1 000 долларов, огромные деньги по тем временам.
Уатт трижды обошел вокруг машины, потом попросил большую кувалду. Ему принесли кувалду, он примерился и ударил по кожуху машины. «Теперь запускайте», — сказал он. Машина заработала. После этого начинается самое интересное. Хозяевам стало жалко платить 1 000 долларов за один удар кувалдой, они чувствовали себя одураченными. Тогда они решили схитрить и предложили Уатту написать счет, чтобы затем его попытаться оспорить. Уатт взял лист бумаги и написал следующее. За удар кувалдой — 1 доллар, за знание, куда ударить — 999 долларов. Хозяева была вынуждены выплатить гонорар полностью.
+5

Возможно, правильнее было бы писать звук через стетоскоп.

0
Через датчик детонации? Хотя, у него может быть сильно ограниченный частотный диапазон.
+3
Честно говоря, не знаю относительно датчика. Знаю, что есть автомобильные электронные стетоскопы. Например, ADD350D (легко ищется через гугл). Просто в качестве примера. Диапазон частот 30Гц-15кГц.
0
Тоже подумал про датчик детонации. Благо они есть как узкополосные, так и широкополосные (как пример «бублик» от Бош).
+4
хех тоже как-то пытались сделать нечто подобное, но столкнулись с тем, что нужна огромная база шумов. Увы это нифига не бинарные значения, шум двигателя «из салона» и шум двигателя после 15к — отличаются весьма сильно, но при этом оба работают в штатном режиме.
Тут скорее нужно строить график износа двигателя ориентируясь на шум. И самое фиговое, что даже у пределах одной модели и одного возраста допустимые значения сильно гуляют. Даже после мойки моторного отсека звук меняется. Единственный доступный вариант это собирать обширную базу шумов с маркированной неисправностью и тренировать нейросеть выискивать ее. Ведь стук в двигателе может быть следствием износа двигателя, а может и следствием разбалтывания креплений бачка омывателя…
Конечно есть набор шумов, которые гарантированно говорят о поломке — но их то как раз отмаркировать не проблема и там действительно все бинарно — есть/нет. Но обычно в таких случаях это заметно и так, возникший новый звук в двигателе — почти всегда означает поломку. В этом плане мы решили попробовать сделать нечто куда как более простое Приложение для владельца авто — а именно — с помощью телефона записать шум двигателя и обозначить его как эталон, например при покупке. А дальше если будет казаться, что есть неисправность — запустить приложение и посмотреть насколько новый звук отклонился от эталона. Вот эта штука будет реально работать — эталонов можно создать несколько, в зависимости от места (например в гараже на холостых или на трассе под 100км) и в дальнейшем приложение покажет, показалось ли вам, что появился подозрительный стук или он реально появился.
-1

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

+1
Тогда наверное лучше вибрации на датчиках расположеных на креплениях двигателя и желательно чтобы данные снимались синхроно чтобы можно было локализовать примерное место вибраций. Ну а дальше машинное обучение на критичност вибрации в том то месте.
+1
Именно так в авиадвигателях и делают, по данным датчиков вибрации даже можно обнаружить некоторые проблемы и локализовать их.
0
Спасибо за комментарий, очень интересно!
А что вы использовали в качестве признаков?
И какой стэк алгоритмов для классификации поломок? Нейронки или что-то еще?

Описанные проблемы выглядят решаемыми: плавный износ с течением времени можно попробовать обойти, просто переобучая модель, например, после прохождения техосмотра.
Тоже самое можно делать и после помывки двигателя. Что думаете по этому поводу?
+2
Подолью масла в огонь, у современных машин есть свои «мозги», представьте что вы заправили машину свежим топливом, или наоборот бедным.
Почуяв неладное, мозги начнут экспериментировать с обогащением\обеднением смеси, со смещением угла, итд. В это время, мотор может издавать массу новых звуков, вплоть до детонации, и это не есть проблема но фича!
0
Думаю, здесь вопрос в границах применимости подобного подхода, а они уж точно есть.
Если я правильно понял, то вы говорите о случае, когда машина издает звуки-отклонения, но эти звуки издаются, потому что «мозги» в машине намеренно что-то делают.
В таком случае система просто может синхронизоваться с «мозгами» и не отлавливать отклонения, когда «мозги» точно уверены, что отклонение это фича :)
+1
Честно, не знаю. Лично я в этом проекте занимался административно-ресурсной частью )
Ездил по автомастерским и салонам и делал запись звука разных авто, искал механиков, способных определять на звук неисправность, нарезал аудио с пометками для последующей обработки… Могу сказать, что даже на стадии записи столкнулись с кучей проблем. Например как и чем записать звук — чертов звук менялся от места записи, от положения микрофона, от качества микрофона. Загонять машину в безэховую камеру — глупость (никто не станет ради диагностики авто везти машину куда-то да еще и не бесплатно). Брать дорогой микрофон — тоже глупость — людям надо сделать тест быстро, здесь и сейчас, в идеале — просто по телефону дав послушать мотор. Работать надо с тем, с чем будет рядовой пользователь. Поэтому дошло до того, что я просто взял десяток телефонов и катался уже с ними и знакомый звуковик использовал десяток записей чтоб свести их в одну выделив общие моменты и откинув индивидуальные косяки телефонов… но даже так результат сильно гулял — очень много зависит от положения телефона и конкретной модификации самого авто. Дошло до того, что у нас два двигателя с пробегами по 30к км определялись совершенно по разному — я так понял, что это связано с условиями эксплуатации движка и износ у них был разный. Если вариант опорной записи чистого звука нового мотора еще можно получить у оффдиллера (так мы получили запись звука нескольких ниссанов — сделанную профессионально) то вот записи в условиях эксплуатации — уже попа Мы банально не можем загнать в профессиональную студию звукозаписи сотни и тысячи машин с разными несиправностями для создания адекватной базы. Не говоря уже о том, что мы не можем получить чистые звуки новых моторов, моделей, снятых с производства.((
После почти года безуспешных экспериментов мы поняли, что даже имея хорошую нейросеть мы банально не потянем объем базы, которая нужна.
Попробовали переключиться на проект с эталонами и отклонениями — там все выглядело проще в реализации, потому как есть всего две аудиозаписи, сделанные на один и тот-же аппарат и в одних и тех же условиях — сранвить их и выявить новые шумы было гораздо проще — но тот, кто писал приложение тогда свалил за рубеж на обучение и там потерялся, осев в крупной компании, так что увы, проект не дошел даже до стартапа.
+3
Да потому, что надо не звук снимать, а вибрации! Есть специальные пьезо-акустические датчики. А еще, в зависимости от источника стука, он будет проявляться на определенных гармониках частоты вращения. И на определенных фазах положения коленвала.
Учите физику и механику двигателя. Без этих знаний вам никакая нейронная сеть не поможет.
+1
Эм… суть идеи была в том, чтоб диагностикой авто мог воспользоваться любой человек в любом месте. Смартфоном вибрации не снять… или качество будет еще хуже чем у звука.
Так то конечно любой дурак найдет неисправность, если загнать авто на стенд и снять вибрации сразу с десятка точек, можно локализовать источник с точностью до сантиметра.
0
Вот именно так я это и вижу: в стандартных условиях конкретного автосервиса в конкретном месте, например одном боксе собираем все звуки машин и привязываем их к диагнозу который ставит механик. Затем скармливаем нейросети и ищем типичный узор шума для каждого из диагнозов. Получаем возможность более быстрой диагностики. Накопив данные от N авторемонтных мастерских выделяем существенное и отбрасываем то что индивидуально присуще конкретной мастерской (акустика помещения, особенности размещения микрофона и т.д.)
Возможно получаем универсальные данные в результате.
Дальше уже юзаем в апке.

Вариант №2
Если в машине владельца установить микрофон в стационарной точке и позволить компу машинки эту информацию анализировать и собирать/грузить в облако + добавить функционал в сам компьютер который позволяет записывать и хранить данные о ремонтах, то накопление данных может идти достаточно быстро.
Плюс следующий ремонтник уже будет иметь на руках «историю болезни» что улучшает качество ремонта.
+8
Ха, отличный пост из разряда «Осторожно, датасатанисты!»
Берётся здравая в общем идея, (имевшая практические реализации в прошлом и настоящем даже) и доводится до полного абсурда попыткой нарочито всё решить обучением машинным.
И слава Богу, что тут хотя-бы спектральный анализ прикрутили, а не стали обучать ему глубокую, свёрточную дуру. (что было-бы вполне возможно, и в чём-то даже интересней тсс...)
Есть прекрасная, русская поговорка в полной мере раскрывающая суть датасатанизма, «Дьявол, в деталях.», ещё есть GIGO, которое справедливо и в обратном случае «что бы получить правильный ответ, нужно задать правильный вопрос», без этого датадрайв не работает в принципе!
Ещё есть анекдот про нейросеть, танк и трактор в поле, он как раз про этот случай.

So, звук мотора зависит от многих факторов, частоты оборотов, прогрева, итд Одна из тайн церкви автодиагностов в том, что работа мотора циклична и сопоставляя найденные в потоке данных фичи с циклограммой работы двигателя, можно достаточно точно локализовать проблему! А тайна церкви автомехаников в том, что на фиг им это не нужно, ведь можно подтянуть пару болтов, заменить подушку, а клиенту впарить регулировку клапанов или перебор коробки ;-)

Мысли сделать приложение\я были и у меня, но правда жизни в том, что работа диагноста не очень-то востребована, а для личных целей всё обходится осциллографом и набором приблуд которые легко делаются руками или покупаются.
+7
Вы третий раз упоминаете этот анекдот на хабре, и ни разу не дали полный текст. Гугл тоже не справляется.
Есть, кстати, анекдот про тех, кто ссылается на анекдот, не давая его полный текст, и котёл в аду.
0
Вы третий раз упоминаете этот анекдот на хабре, и ни разу не дали полный текст. Гугл тоже не справляется.
Зачем вы это написали? День потерян)))
+2
Придется иметь свои модели для каждой модели двигателя и даже это не поможет, придется учитывать модификации.
Потому, что у каждого движка свой звук и только владелец, с нейросетью наученной годами на конкретный экземпляр, способен слышать отклонения, и то едва уловимые.
Хочется привести в пример цокот клапанов дуратека 1.6, который, совершенно исправный, выдает такую гамму звуков, что каждый новый его покупатель первым делом бежит в автосервис.

Объемом данных в этой ситуации проблему не закрыть, миллиарды записей вряд ли когда-то соберутся.

В общем, автору все-таки придется начать разбираться в движках. Там типовых поломок три штуки и как бы мир н�� адаптировался к потреблятству, знать звук гремящей на холодную цепи жизненно необходимо.
0
Спасибо за ответ!
Согласен, для каждого конкретного случая нужна будет своя модель, и вопрос «какая?» очень даже открыт. Более того, скорее всего эта модель должна дружиться со всеми остальными системами, которые отслеживают состояние автомобиля, а не существовать отдельно от них, и при этом обучаться не на миллиардах, а на скромном количестве записей.
-8
возможно ли научить компьютер улавливать в звуке работы двигателя отклонения от нормы?


Возможно ли распознавать мяуканье котиков? А без обучающей выборки? Каково современное положение дел в этой важной области?
0
Какие идиоты это минусуют? Я без тени иронии спрашивал. Других специалистов «с обработкой звуковых сигналов и машинным обучением» здесь я не видел, спросить больше некого.
0
Может лучше записать звук дигателя скажем на 10 000 км, затем сравнивать новую запись с первой и анализировать разницу.
+1
есть старая добрая вибродиагностика, используется давно на разных аггрегатах, в основном подшипниках. иногда подходит и для узлов авто.
+1

Для более-менее успешной диагностики нужно добавить две ключевых размерности в набор данных: а) множество статических и динамических режимов, б) множество точек съёма вибро- и акустического спектра. Например, шатунный стук хорошо прослушивается на сбросе оборотов без нагрузки сверху или сбоку головки блока, коренной — снизу, звук подшипников помпы — с ее стороны итд. Снимать спектр лучше всего контактным датчиком типа стетоскопа, так как акустический микрофон насосёт отражённых шумов и вторичных колебаний от стенок моторного отсека, моторного щита и вообще от всех больших поверхностей — и в итоге получится средний спектр по больнице.

+3

Ещё важна дифференциальная диагностика — термин из медицины, позволяющий по дополнительным признакам отличить схожие по основным симптомам болезни (грипп и менингит например). Пример с автомобилем — трещина маховика АКПП и стук коренных подшипников. Дополнительным признаком в этом случае является давление масла.

UFO landed and left these words here
+2

Боже, а потом оторванная лапка теплозащитного щитка приговорит клиента к переборке двигателя...

0
Ну у нее резонансная частота постоянная и не зависит от частоты вращения коленвала. При прямых руках и ясной голове такая ситуация легко детектируется.
+1
Для таких измерений используются пьезо-акустические датчики с частоткой в сотни килогер�� (удовольствие, кстати, недешевое). Ставиться они должны на конкретные детали двигателя. И подсоединяется все это не к звуковой плате, а к быстродействующим высокоразрядным ацп. Требуется синхронизация съема с положением коленвала. Вот когда вы разложите все шумы по траектории движении коленвала и вспомогательных узлов, тогда и можно начинать пытаться подключить нейронную сетку. А вообще, учите механику двигателя сначала, потом такую дисциплину, как вибро-акустический анализ.
Еще обратите внимание на понятие «синхронное осреднение», и на то, что цикл работы обычного четырех-цилиндрового двигателя состоит из нескольких оборотов коленвала.
А использование микрофона — это тупиковый путь. Максимальная информативность вибраций находится на частотах порядка сотни килогерц и выше.
И только после того, как вы на этой системе смогли получить результат, только тогда вы можете попробовать упростить измерительную часть.
0
Вибродиагностика хорошо подходит для анализа простых механизмов вроде электродвигателей с насосами или вентиляторами. С двигателями внутреннего сгорания всё гораздо сложнее — там слишком много узлов и ударов, которые дают огромное число помех в высокочастотном диапазоне, где как раз находится вся информация о зарождающихся дефектах. Ни анализ по спектру огибающей, ни кепстральный анализ не могут вытащить из этой каши ничего толкового. Максимум, что получалось — проанализировать состояние подшипников на валу в режиме выбега, или проконтролировать виброперемещение на соответствие нормам. Впрочем, так обстояли дела лет десять назад. Может, с тех пор уже появились новые методики.
+1
Часто слышу про звуковую диагностику ДВС… но практически не встречал попыток делать звуковую диагностику ходовой в движении. С точки зрения надежности наверно сейчас актуальнее было бы сделать именно такую диагностическую бортовую систему.

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

Конечно можно по «старинке» определять на месте «на звук» степень «живучести» отдельных элементов подвески, но это как то архаично уже (а датчиков на автомобиле уже столько что это скорее будет небольшим дополнением к общей массе, и особенно для беспилотных автомобилей).
0
Я думаю дело в том, что ходовку в круг заменить ��� вопрос пары десятков тысяч даже в случае многорыжачки, а мотор это сразу от сотни за кольца и до бесконечности. Поэтому всех волнует двигатель.
Гул ступичного пропустить очень сложно, это единственный звук от которого в прямом смысле начинает течь кровь из ушей :) А если серьезно, рукой пощупать ступицу достаточно, когда он гудит, он уже греется.
Короче мы тут все приходим к тому, что простые неисправности диагностируются самостоятельно при просто минимальном опыте. А сложные на звук уже не возьмешь, нужны доп. фичи из ОБД.
0
Насчет опыта согласен, но вот китайские запчасти в плане ступичного и прочих элементов подвески вносят некую «рулетку» по части поломок. Вот результат этих поломок бывает от разбитого бампера до аварии с сдачей в металлом автомобиля после. Так что стоимость может быть разной, а с учетом развития беспилотных каршеринговых автомобилей и т.д. людей с опытом, и главное желанием разбираться «что там не так в подвеске» станет еще меньше.
+1
20+ лет назад моя однокурсница работала над подобной задачей, правда там был не двигатель авто, а двигатель миксера (видимо откуда-то была база данных по шумам). На сигнал натравливалась нейросеть и далее классифицировалось. Сейчас наверное анализатор шумов уже можно встроить в бортовой компьютер и добавить в штатную диагностику. Так что скоро будем видеть сообщения типа: «Ваш автомобиль сегодня как-то не очень хорошо звучит — пожалуйте в сервис».
0
В моторе могут неправильно стучать совсем немного вещей: поршни-типовой такой перезвон при перегазовке, клапана/гидрокомпенаторы цокают и всё. Если коленвал заскрежещет и без диагностики услышите ))) Цепь грм шумит от пробега, смысла мерять нет — проще менять так по спидометру. И зачем вообще узнавать диагностику по звуку? Наверное только при покупке — некоторый такой быстрый диагноз экстрасенса по телефону. Будут ли платить за такой сервис, тут надо думать и алгоритмы соответственно подгонять.
0
Есть контора под названием Augury — довольно успешно занимающаяся такой диагностикой в промышленных масштабах.
+1
В свое время я пытался сделать примерно тоже, найти ТЕ частоты, которые однозначно соответствовали бы поломке. Специально находил в ютубе ролики с поломанными шатунными и коленчатыми вкладышами (самые критичные стуки), стуки от гидрокомпенсаторов. Записывал также свой двигатель, так как у меня тоже что-то да стучало.
Единственное, что более менее сходилось это такт или главная частота, частота появления стучков, а она в принципе понятна, это либо 10-12 Гц (600-800 об/мин), либо в два раза медленнее, для распредвалов. А с частотой распредвалов как оказалось в двигателе может стучать много чего — гидрики, форсунки, рокеры, какой-нибудь успокоитель (это для американского двигателя V6).
Еще бывают двойные стучки, идущие друг за другом. Таких комбинаций может быть море.
Вот пример осцилограммы моего ДВС:
image
image
Из сети проблема с шатуном и вкладышами (спектр «пакета», где есть пиковый стук и фоновый)
С другого ДВС с проблемами по шатунам
Его осциллограмма, явная и громкая проблема с шатуном
Явная проблема со вкладышами КВ
В итоге понабрав спектров понял, что это бесполезно. Во-первых, потому что, стучать в двигателе действительно может много чего и не факт, что это аномалия, во-вторых у каждого стучка есть собственная частота, которая уникальна и зависит от массы, жестокости элемента, его крепления. Для того чтобы понять спектральные характеристики того или иного шума, нужно разобрать весь двигатель и проверять отдельно собственные частоты элементы при их соударении (возбуждении колебаний). Это непростая работа.
В итоге я бросил это дело, хотя конечно всегда слушаю двигатель и в принципе могу отличить звук гидрокомпенсатора от звука форсунки/клапана. Все остальные звуки, идущие от внутренностей, типа ГРМ и коленвала, на мой взгляд, точно идентифицировать не могут даже профи (судя по опыту общения и чтения разных форумов и видео).
Особенно тяжело фильтровать слабые сигналы на фоне общего шума ДВС(работы впускного коллектора к примеру). Кстати, еще важным аспектом является определение и источника (снизу, сверху ДВС).
0
Есть хороший быстрый способ диагностики — померять осцилограммы напряжение на АКБ при провороте двигателя стартером(катушки зажигания выключить). В наше время мало кто согласится выкручивать свечи для измерения компрессии при продаже, а здесь подкинул портативный осцилограф крутанул и уже видно если какой цилиндр не в порядке: предложений машин много можно искать другую ))
0
Потерю компрессии будет видно, если потеря — значительная, потому как добавляется распредвал со всем его богатым внутренним миром
0
Незначительную, 10% разницы по цилиндрам тоже видно, распредвал одинаково мешает всем цилиндрам ) Такую диагностику производители реально могут встроить в ЭБУ двигателя, работы пограмисту на пару часов, был бы экономический смысл.
0
Существует довольно развитая школа диагностики ДВС по осциллограмме давления/ваккума во впускном коллекторе. При этом давление пишется относительно момента зажигания в первом цилиндре (понятно что это нестабильный параметр, зато легко детектируемый в отличие от ВМТ). Было бы интересно привязать методику диагностики по шуму например к мельканию в кадре метки на ремне ГРМ, или морганию неоновой лампы, прикрученной к ВВ проводу первого цилиндра. Т.е. дополнить спектральную составляющую анализом амплитуды стука.
0
Не подскажете, есть ли диагностики на звук более простые, станков, например? В первую очередь интересно, как меняется звук сверла/фрезы по мере затупливания, ну и звук осей при износе или недостатке смазки.
Only those users with full accounts are able to leave comments., please.