Comments 45
Уатт трижды обошел вокруг машины, потом попросил большую кувалду. Ему принесли кувалду, он примерился и ударил по кожуху машины. «Теперь запускайте», — сказал он. Машина заработала. После этого начинается самое интересное. Хозяевам стало жалко платить 1 000 долларов за один удар кувалдой, они чувствовали себя одураченными. Тогда они решили схитрить и предложили Уатту написать счет, чтобы затем его попытаться оспорить. Уатт взял лист бумаги и написал следующее. За удар кувалдой — 1 доллар, за знание, куда ударить — 999 долларов. Хозяева была вынуждены выплатить гонорар полностью.
Возможно, правильнее было бы писать звук через стетоскоп.
Тут скорее нужно строить график износа двигателя ориентируясь на шум. И самое фиговое, что даже у пределах одной модели и одного возраста допустимые значения сильно гуляют. Даже после мойки моторного отсека звук меняется. Единственный доступный вариант это собирать обширную базу шумов с маркированной неисправностью и тренировать нейросеть выискивать ее. Ведь стук в двигателе может быть следствием износа двигателя, а может и следствием разбалтывания креплений бачка омывателя…
Конечно есть набор шумов, которые гарантированно говорят о поломке — но их то как раз отмаркировать не проблема и там действительно все бинарно — есть/нет. Но обычно в таких случаях это заметно и так, возникший новый звук в двигателе — почти всегда означает поломку. В этом плане мы решили попробовать сделать нечто куда как более простое Приложение для владельца авто — а именно — с помощью телефона записать шум двигателя и обозначить его как эталон, например при покупке. А дальше если будет казаться, что есть неисправность — запустить приложение и посмотреть насколько новый звук отклонился от эталона. Вот эта штука будет реально работать — эталонов можно создать несколько, в зависимости от места (например в гараже на холостых или на трассе под 100км) и в дальнейшем приложение покажет, показалось ли вам, что появился подозрительный стук или он реально появился.
Можно было бы оснастить машины системами, которые сами бы записывали шумы и анонимно присылали в ЦОД вместе с данными о модели, пробеге, показаниями датчиков и прочими логами. В Тесла таким образом собирают обучающие выборки с камер для автопилота.
А что вы использовали в качестве признаков?
И какой стэк алгоритмов для классификации поломок? Нейронки или что-то еще?
Описанные проблемы выглядят решаемыми: плавный износ с течением времени можно попробовать обойти, просто переобучая модель, например, после прохождения техосмотра.
Тоже самое можно делать и после помывки двигателя. Что думаете по этому поводу?
Почуяв неладное, мозги начнут экспериментировать с обогащением\обеднением смеси, со смещением угла, итд. В это время, мотор может издавать массу новых звуков, вплоть до детонации, и это не есть проблема но фича!
Если я правильно понял, то вы говорите о случае, когда машина издает звуки-отклонения, но эти звуки издаются, потому что «мозги» в машине намеренно что-то делают.
В таком случае система просто может синхронизоваться с «мозгами» и не отлавливать отклонения, когда «мозги» точно уверены, что отклонение это фича :)
Ездил по автомастерским и салонам и делал запись звука разных авто, искал механиков, способных определять на звук неисправность, нарезал аудио с пометками для последующей обработки… Могу сказать, что даже на стадии записи столкнулись с кучей проблем. Например как и чем записать звук — чертов звук менялся от места записи, от положения микрофона, от качества микрофона. Загонять машину в безэховую камеру — глупость (никто не станет ради диагностики авто везти машину куда-то да еще и не бесплатно). Брать дорогой микрофон — тоже глупость — людям надо сделать тест быстро, здесь и сейчас, в идеале — просто по телефону дав послушать мотор. Работать надо с тем, с чем будет рядовой пользователь. Поэтому дошло до того, что я просто взял десяток телефонов и катался уже с ними и знакомый звуковик использовал десяток записей чтоб свести их в одну выделив общие моменты и откинув индивидуальные косяки телефонов… но даже так результат сильно гулял — очень много зависит от положения телефона и конкретной модификации самого авто. Дошло до того, что у нас два двигателя с пробегами по 30к км определялись совершенно по разному — я так понял, что это связано с условиями эксплуатации движка и износ у них был разный. Если вариант опорной записи чистого звука нового мотора еще можно получить у оффдиллера (так мы получили запись звука нескольких ниссанов — сделанную профессионально) то вот записи в условиях эксплуатации — уже попа Мы банально не можем загнать в профессиональную студию звукозаписи сотни и тысячи машин с разными несиправностями для создания адекватной базы. Не говоря уже о том, что мы не можем получить чистые звуки новых моторов, моделей, снятых с производства.((
После почти года безуспешных экспериментов мы поняли, что даже имея хорошую нейросеть мы банально не потянем объем базы, которая нужна.
Попробовали переключиться на проект с эталонами и отклонениями — там все выглядело проще в реализации, потому как есть всего две аудиозаписи, сделанные на один и тот-же аппарат и в одних и тех же условиях — сранвить их и выявить новые шумы было гораздо проще — но тот, кто писал приложение тогда свалил за рубеж на обучение и там потерялся, осев в крупной компании, так что увы, проект не дошел даже до стартапа.
Учите физику и механику двигателя. Без этих знаний вам никакая нейронная сеть не поможет.
Так то конечно любой дурак найдет неисправность, если загнать авто на стенд и снять вибрации сразу с десятка точек, можно локализовать источник с точностью до сантиметра.
Возможно получаем универсальные данные в результате.
Дальше уже юзаем в апке.
Вариант №2
Если в машине владельца установить микрофон в стационарной точке и позволить компу машинки эту информацию анализировать и собирать/грузить в облако + добавить функционал в сам компьютер который позволяет записывать и хранить данные о ремонтах, то накопление данных может идти достаточно быстро.
Плюс следующий ремонтник уже будет иметь на руках «историю болезни» что улучшает качество ремонта.
Берётся здравая в общем идея, (имевшая практические реализации в прошлом и настоящем даже) и доводится до полного абсурда попыткой нарочито всё решить обучением машинным.
И слава Богу, что тут хотя-бы спектральный анализ прикрутили, а не стали обучать ему глубокую, свёрточную дуру. (что было-бы вполне возможно, и в чём-то даже
Есть прекрасная, русская поговорка в полной мере раскрывающая суть датасатанизма, «Дьявол, в деталях.», ещё есть GIGO, которое справедливо и в обратном случае «что бы получить правильный ответ, нужно задать правильный вопрос», без этого датадрайв не работает в принципе!
Ещё есть анекдот про нейросеть, танк и трактор в поле, он как раз про этот случай.
So, звук мотора зависит от многих факторов, частоты оборотов, прогрева, итд Одна из тайн церкви автодиагностов в том, что работа мотора циклична и сопоставляя найденные в потоке данных фичи с циклограммой работы двигателя, можно достаточно точно локализовать проблему! А тайна церкви автомехаников в том, что на фиг им это не нужно, ведь можно подтянуть пару болтов, заменить подушку, а клиенту впарить регулировку клапанов или перебор коробки ;-)
Мысли сделать приложение\я были и у меня, но правда жизни в том, что работа диагноста не очень-то востребована, а для личных целей всё обходится осциллографом и набором приблуд которые легко делаются руками или покупаются.
Есть, кстати, анекдот про тех, кто ссылается на анекдот, не давая его полный текст, и котёл в аду.
Согласен, для каждого конкретного случая нужна будет своя модель, и вопрос «какая?» очень даже открыт. Более того, скорее всего эта модель должна дружиться со всеми остальными системами, которые отслеживают состояние автомобиля, а не существовать отдельно от них, и при этом обучаться не на миллиардах, а на скромном количестве записей.
возможно ли научить компьютер улавливать в звуке работы двигателя отклонения от нормы?
Возможно ли распознавать мяуканье котиков? А без обучающей выборки? Каково современное положение дел в этой важной области?
Для более-менее успешной диагностики нужно добавить две ключевых размерности в набор данных: а) множество статических и динамических режимов, б) множество точек съёма вибро- и акустического спектра. Например, шатунный стук хорошо прослушивается на сбросе оборотов без нагрузки сверху или сбоку головки блока, коренной — снизу, звук подшипников помпы — с ее стороны итд. Снимать спектр лучше всего контактным датчиком типа стетоскопа, так как акустический микрофон насосёт отражённых шумов и вторичных колебаний от стенок моторного отсека, моторного щита и вообще от всех больших поверхностей — и в итоге получится средний спектр по больнице.
Ещё важна дифференциальная диагностика — термин из медицины, позволяющий по дополнительным признакам отличить схожие по основным симптомам болезни (грипп и менингит например). Пример с автомобилем — трещина маховика АКПП и стук коренных подшипников. Дополнительным признаком в этом случае является давление масла.
Боже, а потом оторванная лапка теплозащитного щитка приговорит клиента к переборке двигателя...
Еще обратите внимание на понятие «синхронное осреднение», и на то, что цикл работы обычного четырех-цилиндрового двигателя состоит из нескольких оборотов коленвала.
А использование микрофона — это тупиковый путь. Максимальная информативность вибраций находится на частотах порядка сотни килогерц и выше.
И только после того, как вы на этой системе смогли получить результат, только тогда вы можете попробовать упростить измерительную часть.
Приведу пример — ступичный подшипник гудит (звук как правило всегда одинаковый, но цена ошибки на дороге потеря управляемости). Далее по степени опасности идет шаровая и другие элементы подвески (их сложнее определить на звук).
Конечно можно по «старинке» определять на месте «на звук» степень «живучести» отдельных элементов подвески, но это как то архаично уже (а датчиков на автомобиле уже столько что это скорее будет небольшим дополнением к общей массе, и особенно для беспилотных автомобилей).
Единственное, что более менее сходилось это такт или главная частота, частота появления стучков, а она в принципе понятна, это либо 10-12 Гц (600-800 об/мин), либо в два раза медленнее, для распредвалов. А с частотой распредвалов как оказалось в двигателе может стучать много чего — гидрики, форсунки, рокеры, какой-нибудь успокоитель (это для американского двигателя V6).
Еще бывают двойные стучки, идущие друг за другом. Таких комбинаций может быть море.
Вот пример осцилограммы моего ДВС:
Из сети проблема с шатуном и вкладышами (спектр «пакета», где есть пиковый стук и фоновый)
Его осциллограмма, явная и громкая проблема с шатуном
В итоге понабрав спектров понял, что это бесполезно. Во-первых, потому что, стучать в двигателе действительно может много чего и не факт, что это аномалия, во-вторых у каждого стучка есть собственная частота, которая уникальна и зависит от массы, жестокости элемента, его крепления. Для того чтобы понять спектральные характеристики того или иного шума, нужно разобрать весь двигатель и проверять отдельно собственные частоты элементы при их соударении (возбуждении колебаний). Это непростая работа.
В итоге я бросил это дело, хотя конечно всегда слушаю двигатель и в принципе могу отличить звук гидрокомпенсатора от звука форсунки/клапана. Все остальные звуки, идущие от внутренностей, типа ГРМ и коленвала, на мой взгляд, точно идентифицировать не могут даже профи (судя по опыту общения и чтения разных форумов и видео).
Особенно тяжело фильтровать слабые сигналы на фоне общего шума ДВС(работы впускного коллектора к примеру). Кстати, еще важным аспектом является определение и источника (снизу, сверху ДВС).
Ищем поломку в авто по звуку: призываем немного машинного обучения для поиска аномалий в работе двигателя