Как стать автором
Обновить
138
0.2
Андрей Дмитриев @AndreyDmitriev

Пользователь

Отправить сообщение

Я не из радиологии, но из радиографии, причём промышленной. По существу вопроса имею сказать следующее — на волне хайпа в ИИ многие производители промышленного оборудования утверждают "да у нас тут ИИ в полный рост". На поверку же оказывается мягко говоря не совсем так. Типичный пример — батареи для электромобилей/планшетов/смартфонов, их сейчас иногда проверяют рентгеном, делая томографию (частичную или полную), и проверяют геометрию катодов и анодов с точки зрения перехлёста, деформации и т.п. Так вот когда начинаешь дотошно выяснять — тут оказывается Canny, там Sobel, а потом классическая аналитическая геометрия и ни намёка на машинное обучение. Очевидно, что классическое ML тут задача нетривиальная, хотя бы в том, что батареи все разные, набрать хоть сколько-нибудь приемлемый по размеру сет для тренинга — непросто, просто нет столько дефектных. С дефектами литья тоже самое — в лучшем случае машинное обучение используется в небольшой части общего пайплайна обработки картинок (скажем в бинарной классификации), а большая часть процессинга — классика на модифицированных медианных фильтрах или около того. В медицине ситуация чуть проще в том, что все люди плюс-минус однаковы с точки зрения внутреннего устройства, а вот головка блока циилиндров несколько отличается от рычагов подвески, да и даже в пределах одного производителя конструктивные особенности и геометрия могут быть принципиально различны. На Kaggle, кстати, выкладывали много изображений поражения лёгких при Covid, и там методы машинного обучения вполне себе успешно использовались, хотя о практическом применении я честно не слышал, хотя статей типа Hospital-wide survey of clinical experience with artificial intelligence applied to daily chest radiographs встречал довольно много (но это опять же не моя область). Технически там обычно на DICOM всё нанизано, и воткнуться в цепь обработки можно, но нужно ещё передать результаты дальше, в какие-то теги это записать, конечное ПО (которое ещё надо сертифицировать) должно всё это поддерживать и т.д. В промышленности мы DICONDE используем, что в общем тоже самое, только вид сбоку. Но факт в том, что от демки, открывающей dcm файл и показывающей результат, до интегрированного решения — как от земли до неба (хотя тут скорее просто рутинное программирование). Ещё есть чисто технические затыки. Вот прямо сейчас я неспешно сращиваю поиск дефектов с YOLO 8.1 (там ввели ориентированные регионы — это когда я не просто прямоугольник в ответ получаю, а повёрнутый), так вот, картинки-то у меня 16 бит, и YOLO банально их не понимает. И хотя в теории это можно допилить, на практике это непросто там кода дофига. Народ просил поддержку 16 бит в прошлом году, но пока висит статус "не планируется". Да даже и с разметкой датасета в YOLO 8.1 — информации ноль, в каком формате это подавать, есть примеры предобученных сеток, и они вполне себе успешно находят всякие объекты, но когда у вас есть просто набор 16 бит картинок, то от него до обученной функциональной сетки — очень большая дистанция. То есть ещё работать и работать. Но потенциал тут есть определённо. Уже есть довольно большие наборы данных, полученных на "классических" алгоритмах, хотя и тут в промышленности есть тонкость — эти данные не публичные, внутреннее устройство деталей — это закрытая интеллектуальная собственность. Пока что для предварительных "пристрелочных" упраженний я просто генерирую искуственные дефекты, слегка корёжа их морфологией, но через всё приходится продираться как через лесную чащу.

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

TIFF форматом мы тоже пользуемся, и в основном если нужно отдать данные заказчику, а формат DICONDE он по какой-то причине не хочет. PNG это "внутренний формат", дело в том, что картинки наши содержат калибровочную информацию, разметку и т.д., так в библиотеке это пара функций, вот этих — IMAQ Write Image And Vision Info File и IMAQ Read Image And Vision Info, но они только для PNG, для TIFF таких нет. Если же я буду использовать TIFF, то мне придётся всё тоже самое реализовать руками, либо с libtiff повозиться. Конкретный заказчик решил воспользоваться нашими внутренними данными в PNG для обучения ML модели (c обучением модели он, кстати, так и не справился, также как изначально не понял устройство PNG).

Ноутбук нужен только тем, кто с ним постоянно куда-то ходит. Всем остальным ноутбук не нужен.

Вы напрасно столь радикально, у меня на кухне ноутбук лежит для утреннего кофе (вот и сейчас я с него пишу). Но это рабочая станция 17 дюймов и весит под четыре кило. "Постоянно ходить" с ним мягко говоря не очень, а держать на кухонном подоконнике — норм, а вот десктоп на кухне мне точно не нужен. Однако в комнате у меня именно десктоп, причём самосборный в винтажном корпусе (ну нравится мне Dell XPS) и работа с ним доставляет мне эстетическое удовольствие.

У меня пара таких корпусов, так что один было не жалко пустить под апгрейд и вкорячить туда современную материнку, графику, i7, ssd и всё такое.

Да, есть такое дело, чем-то напоминает НИИ Точной Механики и оптики, где я в середине восьмидесятых практику проходил. Тут всё как надо - есть профсоюз, профком, начальник профкома, тарифная таблица, тринадцатая зарплата, и т.д. Но в общем есть и плюсы - рабочая неделя 35 часов, отпуск 30 рабочих дней, все переработки оплачиваются с первой минуты, точнее обычно заставляют эти часы к отпуску прибавлять, мой "рекорд" - одиннадцать недель отпуска. Более десяти часов в сутки работать запрещено. Работа в субботу +25%, в воскресенье и праздники +50%, профсоюз иногда устраивает забастовки и митинги на тему повышения зарплаты, длительные командировки только бизнес-классом, служебный автомобиль, бесплатная зарядка личных электромобилей, в общем жить можно, даже весело местами.

У нас в контракте 45 минут даётся - 15 мин на завтрак и 30 мин на обед. Время не включено в рабочее. Причём обед в две смены - половина сотрудников должна обедать с 12:15 до 12:45, а вторая - 12:45 - 13:15, типа чтоб эффективнее было. Народ не то чтобы педантично соблюдает, но иногда босса пробивает, он сам встаёт на проходной и начинает ловить тех, кто режим не блюдёт, потом выговор и лишение премии. А, и перекуры не включены - вышел на перекур - приложил бейджик, вернулся - снова приложил (а при выходе на обед прикладывать не надо, там само учитывается). Дело в Германии.

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

Хотя ко всему можно привыкнуть. Я вот переехал на PT Mono со старого нового курьера. Правда я долго привыкал, чуть ли не несколько месяцев. Когда первый раз поставил - ну ужас же, да и на Хабре его ругали. Потом снова поставил — ну да, ужас, но не ужас-ужас. Так несколько раз туда-сюда попрыгал, да как-то так и остался на нём, что-то в нём есть.

О, у меня как раз прошлым летом был интереснейший проект, где мне пришлось это учитывать. Суть в том, что некая система роняет некий объект с двухметровой высоты на гранитную плиту, а несколько высокоскоростных камер (до 40К картинок в секунду) с разных сторон наблюдают что происходит с объектами в момент удара. Ну и для начала захвата изображений и включения рентгена мне нужно было знать точное время от пролёта сенсора до удара, так что ускорение свободного падения пришлось сделать настраиваемым (таких систем несколько, работают в разных широтах). Получил незабываемое наслаждение на пусконаладке, вдребезги разбив кучу инженерных семплов топовейшей электроники.

Да, и вдогонку — коммент, не имеющий отношения к 16 бит, но имеющий отношение к PNG и LabVIEW.

Часть скриншотов в этой статье непростые, некоторые из них — "сниппеты", они несут как раз дополнительную нагрузку в виде кода, которой вы не видите, но она есть. Об этом говорит рамочка вокруг них, а цифра 2024 означает версию LabVIEW, в которой они были созданы. Если вы сохраните оригинальную картинку из поста к себе на десктоп:

а потом перетащите её прямо на блок-диаграмму LabVIEW 2024, то вы получите исходный код, который можно редактировать:

Как это достигается, легко понять, открыв файл в том же tweakpng, вы там увидите пару дополнительных тегов - текстовый коммент и собственно приватный тег niVI, который и содержит код, как есть:

Спасибо Хабру за то, что он не прибивает "ненужную" инфу в PNG при загрузке через habrastorage.

У меня на немецкой Windows почему-то только прямой установился, а вот в наклонном что-то с кодировкой не то. Надо будет на досуге фонтографером глянуть, да поправить.

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

Так и называется, Gost.

Любопытно то, что изображение перекрывает часть дорожек, но не мешает функциональности. Теоретически они с таким же успехом могли вообще всю поверхность картинками покрыть? Интересно как это бутерброд по слоям выглядит, и где именно там изображение.

Как рядовой пользователь SAP, справедливости ради, не могу не отметить некоторую, мягко говоря, специфичность этого продукта, притом что я пользуюсь им эпизодически, занося часы работы по проектам, иногда смотрю наличие запчастей на складе, ну и когда релизы в прод уходят, мне надо туда занести обновления. Интерфейс — "привет из девяностых", многие вещи неинтуитивны и неочевидны, там надо знать как делается то-то и то-то, иначе без шансов. Чтобы зайти сюда, тыркните в "Р31", а тут введите вот этот магический номер. Навигация нездоровая. Чтобы посмотреть данные за позапрошлый месяц, выйдите отсюдя и перезайдите вот сюда, введя другую дату, и так далее. Найти там что-либо невозможно, если не знать где искать. Я, конечно, часть автоматизировал с autoit, но там реально есть что улучшить, просто с точки зрения фронтенда и юзабилити. С другой стороны, в компании, где я работаю, помимо меня трудятся ещё почти 60К человек, она раскидана по многим странам и континентам, бизнес процессы абсолютно разные, но при этом как-то оно работает, и я, глядя на это, плохо представляю себе безболезненный переход на другой продукт.

рендер в фбо с флоат текстурой и последуюшим тонмапом и выводом на обычный монитор

За кусочек рабочего кода моя благодарность вам не будет иметь границ в пределах разумного.

Я закончил эру таких мониторов на Mitsubishi Diamond Pro 22 дюйма, точную модель уже не помню. В соседнем офисе Barco стоял, и у него, кажется своя прприетарная видюха была.

Аналоговых выходов давно не видел, хотя есть переходники и конвертеры, но качество DAC там под вопросом.

C 12 бит, кстати, любопытно - цветные мониторы подключаются по Display Port, примерно как я написал, а вот чёрно-белые используют обычный DVI и берут информацию из цветных каналов. По четыре бита из каждого канала - и вот 4096 оттенков.

Аналогия с аудио немного не верна. Потому-то мы тут и спорим))

Верхний предел частоты слышимого звука давно известен и обсосан со всех сторон. 

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

Но если серьёзно, то я как-то предмета спора и не вижу, это же просто чисто технический пост о том, как можно получить десять бит, тут уж проще не бывает и мне кажется всё достаточно очевидно с технической стороны. Ну а уж "надо это или нет или там видно/не видно", мне кажется надо просто оставить в стороне. Эх, жаль у меня монитора понавороченней нет, типа RadiForce GX560, который не просто 10 бит, он 1024 градации из 14 бит палитры (точнее 16369 градаций) выбирает, либо GS520, который 12 бит и в 4096 одновременно отображаемых градаций умеет, да прецизионного измерительного прибора до кучи.

моя претензия к вашей статье?

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

Ведь всё что мы сделали - это просто переключились в десять бит, получили на экране чуть больше тысячи оттенков серого (ну или чуть больше миллиарда возможных цветов вместо 16 миллионов, если хотите). То, что ступеньки остаются (разница между соседними градациями), это очевидно, но то, что их высота (относительная яркость) стала вчетверо меньше - это тоже очевидно. Единственная фраза, к которой, вероятно, можно придраться это "эффект полос бандинга, хорошо видимый в восьмибитном окне действительно отсутствует при отображении в 10 бит." Ну давайте я заменю слово "отсутствует" на "визуально значительно уменьшился до состояния неразличимости на данном тестовом мониторе" и добавлю поясняющий график из коммента выше. Или вас что-то ещё смущает?

Повторю еще раз, у вас на интервале в 500 пикселей 9 градаций, то есть 50 пикселей на цвет, даже если вы сделаете 12, то ступенька останется. 

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

В реальности на экране вот что будет, если измерять интенсивность свечения пикселей:

Но неужели вы разницы между этими двумя графиками не видите?

Я честно говоря не очень понимаю суть спора. Речь лишь о том, что некоторые мониторы и графические адаптеры технически способны выводить 10 бит картинку, а не 8. Показана чисто техническая возможность, как этого добиться. Разница на том обрудовании, что есть у меня, — заметна. Если б её вообще не было — я бы честно написал.

Точно также есть возможность цифровать аудио с дискретизацией 44100 Гц/16 бит, а можно ведь и в 96 кГц/24 бит или даже 192кГц. Весь интернет тут же взрывается "это никому не нужно". Ну это-то тут причём, это же просто техническая возможность так сделать.

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

Мы просто говорим тут о вещах, находящихся на грани восприятия. Давайте более строго подойдём к вопросу. Вот выше написали, что человеческий глаз способен различать различие интенсивности в доли кандел на кв. метр, это факт. Если я выставлю R G B на максимум, то белый из офисного монитора будет светить мне примерно 200 кд/м², ну а медицинский так и вообще под 400 кд/м², при этом в нашем распоряжении всего 256 градаций. Соответственно разница в одну градацию по трём каналам даст разницу интенсивности близкую к 1 кд/м², плюс минус. Это видно (хотя и не всем). Если это не беспокоит никак, то и говорить не о чем. Если же это явно видно на хорошем мониторе, то вот есть возможность перейти на 10 бит.

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

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

Информация

В рейтинге
2 313-й
Откуда
Ahrensburg, Schleswig-Holstein, Германия
Дата рождения
Зарегистрирован
Активность