Вопрос

Можно ли определить неисправность двигателя автомобиля по издаваемым им звукам

Идея заключается в следующем: время от времени я использую некое воображаемое приложение для смартфона и записываю звук двигателя автомобиля. Затем приложение должно интерпретировать этот звук и выдать результат «ОК» или «НЕ ОК». Если результат «НЕ ОК», я еду на диагностику к специалисту.



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



Можно ли определить неисправность двигателя автомобиля по издаваемым им звукам?



Кстати, недавно у меня возникла проблема с машиной, которая идеально вписывается в список проблем, которых можно было бы избежать, если бы у меня была такая система. Когда я заводил двигатель, ключ зажигания оставался в положении «запуск двигателя», на что я не обратил внимания (обычно есть пружина, которая возвращает ключ в нейтральное положение, но в этот раз пружина не сработала). Двигатель работал немного громче, но мне было всё равно. Примерно через 1 км двигатель сгорел (потому что он не должен работать дольше нескольких секунд). Ремонт гнезда ключа зажигания + стартера двигателя обошёлся примерно в 250 долларов.



Перевод вопроса с Mechanics Stack Exchange
Лицензия: CC BY-SA (2.5–4.0)
Оригинальный вопрос: https://mechanics.stackexchange.com/questions/32510/is-it-possible-to-detect-defect-of-vehicles-engine-by-examining-sound-it-makes

12 Комментариев

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


  1. Должен согласиться, что есть несколько неисправностей, которые можно выявить, просто установив специально созданное приложение, использующее микрофон, возможно, камеру и, может быть, датчик, определяющий положение вашего телефона (вращение, встряхивание). Это может помочь выявить некоторые неисправности, но, к сожалению, не даст однозначного ответа о состоянии двигателя. Это могут быть скрипящие подшипники, изношенный клиновой ремень или натяжитель, ремень ГРМ, цепь ГРМ, натяжитель цепи/ремня, зазор в клапанах, пропуски зажигания и т. д. И НЕ НЕИСПРАВНОСТЬ СИГНАЛЬНОГО РОЖКА!!! :D Но он не распознает такие проблемы, как высокое давление топлива, низкое давление масла, пробитая прокладка головки блока цилиндров, протекающая водопроводная труба, отсутствующее заднее левое колесо или горящее пассажирское сиденье :D


  1. Это, безусловно, возможно, но, вероятно, только в той степени, о которой вы говорите: индикация «можно/нельзя». Механики используют стетоскопы для двигателей, чтобы точно определить источник шума. Так они могут понять, что это за звук: дребезжание из-за неисправного подшипника или ослабленного болта, стук из-за поршня или толкателя. В некоторые двигатели встроены «детонационные датчики» (на самом деле это настроенные микрофоны), которые посылают сигнал в ЭБУ для задержки зажигания при обнаружении детонации (очень вредной для двигателя). Как отмечает @Steve Matthews, скорее всего, вам придётся использовать разные профили для каждой комбинации автомобиля и двигателя, и любые значительные доработки послепродажного обслуживания могут сделать эти профили недействительными.


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



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



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



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


  1. @Zaid Я читал этот вопрос и хотел было опубликовать ссылку на свой вопрос, но ты меня опередил :-)
  1. Я приведу этот ответ в качестве примера того, что можно сделать. Этот очень конкретный пример также показывает, почему практически невозможно создать универсальный инструмент для выявления проблем. Свёрточная нейронная сеть или анализ с помощью быстрого преобразования Фурье могут сработать для конкретного автомобиля в очень специфических условиях, но это сильно ограничивает их полезность.
  1. На самом деле я наткнулся на этот вопрос, потому что искал, делалось ли это уже. Единственное, что я нашёл, — это приложение mycarmakesnoise, но вам придётся сравнивать звуки самостоятельно. Я не механик, поэтому мало что знаю о звуках, указывающих на неисправность автомобиля.



    Однако я начинаю изучать глубокое обучение. Мне кажется, что вполне возможно использовать спектрограмму аудиозаписи дефекта для распознавания проблем с помощью свёрточной нейронной сети. Возможно, это даже получится лучше, чем у людей, ведь компьютер уже может классифицировать изображения точнее, чем человек (~94 % у людей против ~95 % у компьютеров). Однако есть серьёзные проблемы, которые нужно решить.



    Прежде всего вам понадобится очень большой набор данных. Это значит, что нужно собрать (как минимум) сотни аудиозаписей одного и того же дефекта в одном и том же автомобиле. Ещё лучше, если записей будет несколько тысяч (чем больше данных, тем лучше результаты). Допустим, мы хотим выявить десять различных дефектов, а всего существует (предположительно) 300 типов автомобилей. Вам понадобится 300 * 10 * 100 = 300 000 записей только для десяти дефектов. Кроме того, вы не можете использовать одну и ту же машину снова и снова. Это значит, что для достижения наилучших результатов вам понадобится 100 машин одного типа для каждого дефекта. Сбор таких записей потребует огромных усилий. Думаю, чтобы решить эту проблему, можно начать с одной марки и типа автомобилей.



    Следующая проблема — разница в звуке, издаваемом разными типами автомобилей при одном и том же дефекте. Volvo с неисправными тормозами будет издавать звук, отличный от звука Ford с той же проблемой. Вероятно, эту проблему можно решить, имея действительно большой массив данных, как упоминалось ранее.



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



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



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



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



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



    Кроме того, если мы работаем с более новыми автомобилями, мы можем добавлять все виды информации из OBD-системы во входные тензоры нейронной сети. Эта дополнительная информация могла бы быть очень полезна нейронной сети, чтобы понять, что происходит.


  1. Конечно, «да/нет» — это единственное разумное решение, которого я мог бы ожидать. Любое другое решение предполагает ненадёжную/сложную систему.
  1. Насколько, по вашему мнению, ваша способность определять проблемы с двигателем по звуку зависит от знания откуда исходит звук (например, вы открываете капот и поворачиваете голову; или вы находитесь в кабине и замечаете, что звук исходит справа, а не слева)? Один микрофон не сможет определить местоположение источника звука. Как вы думаете, это существенно ограничит ваши возможности?
  1. Это во многом зависит от характера и серьёзности проблемы @JasonC. Например, дребезжание выпускного коллектора или проскальзывание ремня обычно слышно издалека. Верно подмечено, что некоторые неисправности можно услышать только в определённых местах. Возможно, приложение могло бы указывать, в каких местах нужно держать телефон, чтобы получить базовый звук, или использовать датчики позиционирования и гироскопические датчики в телефоне для построения изображения по мере того, как телефон «перемещается» по моторному отсеку?
  1. И даже то, какая это машина. Это имело бы огромное значение. Я думаю, что ответ положительный, но для того, чтобы такая программа была хоть сколько-нибудь жизнеспособной, в неё нужно было бы добавить МНОГО логики. Человек, слушающий такой автомобиль, мог бы учесть другие факторы, чтобы сделать более обоснованное предположение.
  1. Одной из сложностей могут быть звуки, которые возникают только при активном включении/изменении параметров. Инструмент диагностики должен определять, например, включен ли кондиционер, выбран ли режим 2WD или 4WD в грузовике, или даже то, что вы не можете активно контролировать, например, должны ли работать вентиляторы и т. д.
Вы уже ответили на этот вопрос