СИСТЕМА И СПОСОБ ИДЕНТИФИКАЦИИ ЖЕЛЕЗНОДОРОЖНЫХ НОМЕРНЫХ ДЕТАЛЕЙ ПО ИЗОБРАЖЕНИЮ ИХ ПОВЕРХНОСТЕЙ С КЛЕЙМАМИ И ЗНАКАМИ МАРКИРОВКИ
SYSTEM AND METHOD OF IDENTIFYING RAILWAY NUMBER PARTS ON THE IMAGE OF THEIR SURFACES WITH STAMPS AND MARKING SIGNS

ОБЛАСТЬ ТЕХНИКИ
[001] Данное техническое решение в общем относится к области вычислительной техники, а в частности к системам и способам идентификации номерных деталей железнодорожных вагонов по изображению их поверхностей с идентифицирующей информацией. Изобретение может быть использовано для идентификации номерных деталей при входном и выходном контроле на вагоноремонтном предприятии, либо на предприятии, изготавливающем номерные детали.
УРОВЕНЬ ТЕХНИКИ
[002] В настоящее время идентифицировать железнодорожные номерные детали посредством визуального осмотра приходится многократно на различных этапах их жизненного цикла. Помимо целей номерного учета деталей, идентификация необходима для выявления инцидентов, связанных с несанкционированной заменой номерных деталей железнодорожных вагонов изношенными, контрафактными или ранее забракованными изделиями. Так, например, идентификация колесной пары вагона производится при ее поступлении в ремонт на позиции входного контроля (подготовки колесной пары к ремонту) вагоноремонтного предприятия. Для визуального считывания индивидуального номера колесной пары (номер завода-изготовителя, серийный номер, год производства), выгравированного на торце шейки оси, вскрывается смотровая крышка буксового узла колесной пары. Одной из проблем идентификации колесных пар вагонов по маркировке на торце шейки оси является плохая читаемость индивидуального номера в связи с повреждениями поверхности торца шейки оси в ходе эксплуатации, а также в связи с наличием трудноудаляемых загрязнений. Также часто встречающейся проблемой является то, что в эксплуатации одновременно находятся колесные пары с одинаковыми номерами, так называемые «детали-дубликаты», что не позволяет только по индивидуальному номеру однозначно определить колесную пару. Кроме того, контроль на основе номера детали не позволяет выявлять случаи несанкционированной замены при искажении идентифицирующей информации на подменяющей детали. Для более точного решения данной задачи в предложенном способе идентификации учитываются особенности взаимного расположения элементов идентифицирующей информации на поверхностях номерных деталей, дополняющие идентифицирующую информацию и позволяющие отличить деталь от других деталей, в том числе с совпадающими номерами.
[003] Из уровня техники известен патент на полезную модель RU 141674 U1 «СИСТЕМА ОПРЕДЕЛЕНИЯ ПРИНАДЛЕЖНОСТИ КОЛЕСНЫХ ПАР И ТЕЛЕЖЕК ЖЕЛЕЗНОДОРОЖНОГО ВАГОНА», патентообладатель: Финк Юрий Михайлович (RU), дата публикации: 10.06.2014. Полезная модель относится к области железнодорожного транспорта и направлена на осуществление автоматизированного контроля за несанкционированной заменой узлов тележки железнодорожного вагона во время эксплуатации. Указанный технический результат достигается в системе контроля несанкционированной замены колесных пар и тележек железнодорожного вагона, содержащей, по меньшей мере, одно устройство идентификации, установленное на каждой оси колесной пары и тележке и выполненное с возможностью взаимодействия с, по меньшей мере, одним устройством опроса, размещенным на путях железнодорожных станций и связанным с, по меньшей мере, одним устройством обработки и анализа данных.
[004] Также из уровня техники известна автоматизированная система контроля и учета ответственных деталей подвижного состава, содержащая электронные метки (ЭМ), размещаемые непосредственно на ответственных деталях подвижного состава, кодовые бортовые датчики (КБД), размещаемые на каждой подвижной единице состава, напольные считывающие устройства (НСУ) для осуществления считывания информации с КБД и ЭМ и передачи ее в персональные электронно-вычислительные машины (ПВЭМ), размещаемые на выходных путях в каждом вагонном депо, на пунктах технического осмотра вагонов, на станциях перехода с одной железной дороги на другую, на пограничных станциях перехода с другими (пограничными) государствами, ручные считывающие устройства (РСУ), предназначенные для считывания информации с КБД на вагоне и с установленных на вагонах электронных меток, с возможностью передачи информации от РСУ по радиоканалу или непосредственно в ПЭВМ (персональную электронно-вычислительную машину), которые выполнены с возможностью передачи по сетям информации в информационно-вычислительные центры (ИВЦ) железных дорог и главного вычислительного центра железных дорог государства для формирования баз данных о номерах вагонов и номерах ответственных деталей данного вагона, а ПЭВМ, установленная на пограничной станции одного государства, связана с ПЭВМ, установленной на пограничной станции другого государства, для обеспечения дублирования баз данных о номерах вагонов и номерах ответственных деталей, которые находятся на территории данного государства (номер патента RU 2199461, опубликовано: 27.02.2003).
[005] Однако в функцию данной системы не входит идентификация железнодорожных номерных деталей посредством машинного зрения и обнаружение «деталей-дубликатов».
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[006] Основной технической задачей или технической проблемой, решаемой в данном техническом решении, является реализация способа и системы для идентификации железнодорожных номерных деталей по изображению их поверхностей с клеймами и знаками маркировки.
[007] Техническим результатом, достигающимся при решении вышеуказанной технической проблемы, является повышение точности и скорости идентификации железнодорожных номерных деталей, а также возможность автоматизированного обнаружения «деталей-дубликатов».
[008] Дополнительным техническим результатом является расширение возможностей последующего аудита учета железнодорожных номерных деталей за счет сохранения первичной информации в виде фотографий номерных деталей с привязкой ко времени, месту создания и сотруднику, ответственному за ввод информации.
[009] Указанный технический результат достигается за счет того, что идентификация производится по косвенным признакам, а не по текстовому представлению номера детали, что уменьшает количество случаев, при которых была бы необходима пересъемка фотографий для успешной идентификации.
[0010] Указанный технический результат достигается за счет осуществления способа идентификации железнодорожных номерных деталей по изображению их поверхностей с клеймами и знаками маркировки, выполняемого с помощью по меньшей мере одного процессора, в котором получают изображения поверхностей с идентифицирующей информацией заранее заданных номерных деталей; осуществляют автоматическую разметку объектов на изображениях, полученных на предыдущем шаге, посредством выделения областей и элементов, содержащих идентифицирующую информацию; осуществляют построение набора признаков с вычислением параметров, характеризующих взаимное расположение элементов идентифицирующей информации для каждого размеченного на предыдущем шаге изображения; сохраняют размеченные изображения и построенные на предыдущем шаге наборы признаков для каждого изображения в хранилище эталонных изображений и индексной базе данных соответственно; получают по меньшей мере одно изображение поверхности железнодорожной номерной детали с клеймами и знаками маркировки для осуществления ее идентификации; выполняют шаги разметки изображения и выделения признаков, в результате чего получают набор признаков для идентифицируемой номерной детали; осуществляют поиск по набору признаков, сформированному на основе изображения идентифицируемой номерной детали, в индексной базе данных, в результате чего получают список деталей-кандидатов, наиболее подобных идентифицируемой детали по набору признаков; осуществляют для каждой детали-кандидата из сформированного на предыдущем шаге списка построение множества всех возможных взаимно однозначных отображений между индексами объектов одинаковых классов из набора признаков идентифицируемой детали и набора признаков детали-кандидата, а также построение соответствующих им отображений между признаками; вычисляют для каждой детали-кандидата величину, характеризующую схожесть наборов признаков идентифицируемой номерной детали и детали-кандидата при применении различных отображений, построенных ранее; принимают решение об идентификации конкретной номерной детали посредством выбора детали-кандидата из списка, сформированного ранее, с максимальным значением величины, рассчитанной на предыдущем шаге.
[0011] В некоторых вариантах реализации изобретения изображение поверхности с идентифицирующей информацией заранее заданных номерных деталей получают с носимого терминала пользователя и/или из хранилища данных, и/или с мобильного устройства связи пользователя.
[0012] В некоторых вариантах реализации изобретения изображение поверхности с идентифицирующей информацией заранее заданных номерных деталей получают в режиме реального времени.
[0013] В некоторых вариантах реализации изобретения изображение поверхности с идентифицирующей информацией заранее заданных номерных деталей получают в формате JPEG и/или PNG, и/или TIFF.
[0014] В некоторых вариантах реализации изобретения осуществляют автоматическую разметку объектов на изображении поверхности номерной детали с идентифицирующей информацией посредством искусственной нейронной сети глубокого обучения.
[0015] В некоторых вариантах реализации изобретения искусственная нейронная сеть имеет архитектуру R-CNN или Fast R-CNN, или Faster R-CNN, или Cascade R-CNN.
[0016] В некоторых вариантах реализации изобретения при осуществлении автоматической разметки объектов на изображении идентифицирующей информацией является номер завода-изготовителя и/или серийный номер детали, и/или год изготовления, и/или приемочные клейма, и/или клеймо формирования, и/или клеймо ОТК.
[0017] В некоторых вариантах реализации изобретения в качестве идентифицируемых номерных деталей используются оси колесных пар и/или колесные пары.
[0018] Также технический результат достигается за счет реализации системы идентификации железнодорожных номерных деталей по изображению их поверхностей с клеймами и знаками маркировки, содержащей хранилище данных, выполненное с возможностью хранения эталонных размеченных изображений поверхностей номерных деталей с идентифицирующей информацией и хранения изображений, обрабатываемых модулем распознавания; индексную базу данных, выполненную с возможностью хранения набора признаков для каждого изображения поверхности номерной детали с идентифицирующей информацией, обработанного с помощью модуля распознавания; модуль распознавания железнодорожных номерных деталей с применением методов машинного зрения, выполненный с возможностью обучения на основе данных из хранилища, выделения областей с идентифицирующими данными на изображении поверхности номерной детали, выделения объектов на изображении; модуль построения набора признаков для изображения на основе выделенных объектов; модуль поиска, выполненный с возможностью получения списка деталей-кандидатов по набору признаков в индексной базе данных; определения результата поиска на основе списка деталей-кандидатов; мобильное устройство связи пользователя со встроенным фотоаппаратом, выполненное с возможностью предварительной обработки изображений.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0019] Признаки и преимущества настоящего технического решения станут очевидными из приведенного ниже подробного описания и прилагаемых чертежей, на которых:
[0020] На Фиг. 1 показана блок-схема первого этапа реализации способа по настоящему изобретению: формирование хранилища размеченных изображений и индексной базы данных для дальнейшей идентификации железнодорожных номерных деталей.
[0021] На Фиг. 2 показана блок-схема второго этапа реализации способа по настоящему изобретению: идентификация железнодорожных номерных деталей на основе индивидуальных признаков, характеризующих взаимное расположение элементов идентифицирующей информации на поверхностях номерных деталей.
[0022] На Фиг. 3 показана схема компонентов системы идентификации железнодорожных номерных деталей.
[0023] На Фиг. 4 показана схема вычислительной системы.
[0024] На Фиг. 5 показан пример вычисления признаков по размеченному изображению детали.
[0025] На Фиг. 6 показаны примеры масок объектов, полученных с помощью ИНС, и результаты их обработки.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0026] Ниже будут подробно рассмотрены термины и их определения, используемые в описании технического решения.
[0027] В данном изобретении под системой подразумевается компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность операций (действий, инструкций).
[0028] Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы). Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных. В роли устройства хранения данных могут выступать, но, не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические приводы.
[0029] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд.
[0030] СУБД - система управления базами данных.
[0031] Искусственна нейронная сеть (ИНС) - математическая модель, а также ее программные или аппаратные реализации, построенная из однородных процессорных элементов, являющихся упрощенными функциональными моделями нервных клеток, по принципу организации и функционирования биологических нейронных сетей.
[0032] Колесная пара - элемент ходовой части рельсовых транспортных средств, представляющий собой пару колес, жестко посаженных на ось и вращающихся вместе с осью как единое целое.
[0033] Букса (буксовый узел) - составная часть колесной пары, опорный переходник замкнутой формы с установленными подшипниками, предназначенный для передачи на шейку оси колесной пары нагрузок от боковой рамы.
[0034] Клейма и знаки маркировки наносят на поверхность торца оси колесной пары при ее изготовлении (формировании) из новых элементов, а также при ремонте со сменой элементов. Правой стороной колесной пары считают ту, на торце оси которой находятся знаки и клейма, относящиеся к изготовлению оси. Клейма и знаки на правом торце оси должны сохраняться на все время ее эксплуатации. На левом торце ставятся клейма полного освидетельствования. Каждая колесная пара должна удовлетворять требованиям действующей инструкции по освидетельствованию, ремонту и формированию колесных пар, и иметь на торцах оси четко поставленные знаки о дате и месте формирования и полного освидетельствования колесной пары, а также приемочные клейма. По клеймам и знакам маркировки можно установить, каким заводом и когда были изготовлены ось, цельнокатаное колесо, бандаж, где и кем производилось формирование колесной пары.
[0035] Способ идентификации железнодорожных номерных деталей на примере колесных пар по изображению их поверхностей с идентифицирующей информацией, согласно настоящему техническому решению, состоит из раскрытых ниже шагов.
[0036] Первый этап, проиллюстрированный на Фиг. 1, заключается в формировании хранилища эталонных изображений, размеченных с помощью известных методов машинного зрения (например, ИНС), и индексной базы данных для дальнейшей идентификации номерных деталей. СУБД, используемая для индексации и поиска номерных деталей по признакам, может быть реляционной СУБД, не ограничиваясь.
[0037] Согласно Фиг. 1 сначала получают набор изображений правого торца шейки оси заранее заданных колесных пар (шаг 110). Данные изображения могут быть получены с носимого терминала пользователя или из хранилища, например, которое размещено на сервере, в режиме реального времени. Изображения могут иметь формат JPEG, PNG и т.п., не ограничиваясь. Для идентификации колесной пары в конкретном варианте реализации достаточно по меньшей мере одного изображения поверхности правого торца шейки оси. Носимый терминал может использоваться совместно со специализированным программным обеспечением, расположенным как на носимом терминале, так и в хранилище на сервере.
[0038] Далее для каждого изображения посредством методов машинного зрения (например, заранее обученной ИНС) производится автоматическая разметка объектов - выделяются области и элементы, содержащие идентифицирующую информацию (шаг 120). Затем в случае необходимости производится ручная корректировка результатов автоматической разметки.
[0039] В данном техническом решении может использоваться ИНС глубокого обучения, например, с архитектурой R-CNN, Fast R-CNN, Faster R-CNN, Cascade R-CNN. и т.д., не ограничиваясь, решающая задачу обнаружения объектов на изображении (англ. object detection). Обучение ИНС в данном техническом решении и ее работа осуществляется по известному в уровне техники алгоритму работы с ИНС: предварительно размечаются изображения для обучения, формируется обучающая и тестовая выборка, ИНС тренируется на обучающей выборке, оцениваются результаты ИНС на тестовой выборке, если качество работы ИНС перестает расти, обучение завершается. Для обучения ИНС используется, например, набор изображений торцов осей колесных пар, на которых вручную или автоматически выделены области и объекты: поверхность торца оси, центральное отверстие торца оси, клейма и знаки, торцевое крепление, болты, нарезные отверстия для болтов и др. Например, внутренний цикл обучения ИНС состоит в следующем:
1) очередное изображение из обучающей выборки подается на вход ИНС;
2) вычисляется функция потерь, характеризующая степень несоответствия выданных сетью результатов обучающему примеру;
3) методом обратного распространения ошибки корректируются внутренние параметры ИНС;
4) изображения из тестовой выборки подаются на вход ИНС, оценивается качество работы ИНС;
5) в случае, если прирост качества работы ИНС перестает наблюдаться, производится выход из цикла обучения, иначе выполняется переход на шаг 1.
[0040] В конкретном варианте реализации в качестве выделяемых элементов идентифицирующей информации могут использоваться, не ограничиваясь, номер завода-изготовителя, серийный номер детали и год изготовления. В других вариантах реализации идентифицирующей информацией могут быть также приемочные клейма, клеймо формирования, клеймо ОТК и другие знаки, например, знак опробования на сдвиг, знак формирования и т.д., выгравированные на поверхности детали.
xy
[0041] Выделение объектов на изображении осуществляют с помощью ИНС, например, следующим образом. На вход ИНС подается изображение поверхности детали, содержащей идентифицирующую информацию, в результате обработки получаются объекты, представляемые в виде набора (score, class, pmask), где score∈[0, 1] - степень уверенности ИНС в корректности определения объекта,  - изображение в оттенках серого с равным исходному разрешением w×h, задающее вероятность принадлежности пикселей исходного изображения объекту, равную pmaskpixel для пикселя с координатами (x,y) (Фиг. 6);
- класс объекта.
[0042] Далее над каждым полученным объектом (score, class, pmask) выполняют следующие операции, преобразующие его в набор (class, mask):
1) отбрасываются объекты со значением score менее заранее заданного порогового значения (например, в интервале от 0 до 1), в конкретном варианте реализации равняющегося 0,5;
2) pmask преобразуется в бинаризованное (черно-белое) изображение mask, как показано на Фиг. 6;
3) вычисляются свойства маски mask - например, наименьший ограничивающий прямоугольник.
[0043] После обработки получается множество объектов, представленных в виде набора:
object=(class, mask)
где
- класс объекта,
mask - маска объекта с вычисленными свойствами (например, наименьший ограничивающий прямоугольник), которая представляет собой  - черно-белое изображение с равным исходному разрешением w×h, задающее принадлежность пикселей исходного изображения объекту (Фиг. 6).
[0044] Далее формируется множество признаков (шаг 130) на основе пар объектов, выделенных на изображении на предыдущем шаге. Используются  всех возможных пар различных n объектов. В конкретном варианте реализации возможно введение определенных критериев выбора для сокращения объема хранимых данных и ускорения вычислений, что может привести к снижению точности идентификации. Например, возможен выбор только k ближайших объектов либо определенных сочетаний классов.
[0045] Признак - это набор
axle
1
2
1
2
1
n
ƒeature=(index, class, class, index, index, parameter, …, parameter)
где
axle
index - идентификатор детали, к которой относится признак,
1
2
class, class - классы объектов из пары, на основе которой сформирован признак,
1
2
axle
index, index - идентификаторы объектов из пары, на основе которой сформирован признак, уникальные в пределах набора признаков для детали index,
- числовое значение i-го параметра, характеризующее взаимное расположение пары объектов на изображении.
1
2
i
[0046] Для построения признака для каждой пары объектов о и о вычисляются параметры parameter. При этом вычисляемые параметры должны быть инвариантны относительно сдвига, поворота, масштабирования изображения, а также относительно перспективных преобразований изображения. Примерами параметров, обладающих такими свойствами, являются:
где
1
2
1
2
distance(о, о) - расстояние между центрами ограничивающих прямоугольников объектов о и о,
size(o) - расстояние от центра ограничивающего прямоугольника объекта о до точки пересечения отрезка, соединяющего его с другим объектом, с ограничивающим прямоугольником объекта о.
где
[0047] Для иллюстрации механизма построения набора признаков с вычислением параметров для пар выделенных объектов приведен пример расчета для колесной пары с изображением поверхности торца оси на Фиг. 5:
a. Показано вычисление значений параметров признака, сформированного на основе двух распознанных объектов классов "цифра 9" и "цифра 9";
b. Точками А и D на Фиг. 5 обозначены центры ограничивающих прямоугольников объектов, на основе которых вычисляется признак;
c. Точками В и С на чертеже обозначены точки пересечения отрезка AD и ограничивающих прямоугольников входящих в признак объектов;
1
d. parameter=AD/(AB+CD);
2
e. parameter=2, так как отрезок AD пересекает 2 объекта помимо входящих в признак.
[0048] После построения множества признаков размеченные изображения добавляют в хранилище, а вычисленные для каждого изображения признаки добавляют в индексную базу данных (шаг 140).
axle
factory
serial
[0049] Добавление в базу данных информации о детали для последующего поиска сводится к добавлению соответствующей записи с полями (index - идентификатор детали, n - код завода-изготовителя, n - серийный номер, y - год изготовления) в таблицу осей колесных пар (axles), а также добавлению записей по признакам, которые были сформированы для изображения торца оси данной колесной пары, в таблицу признаков (features).
factory
serial
axle
[0050] В конкретном варианте реализации для обеспечения возможности различать детали с одинаковыми номерами (n, n,y), но различным расположением элементов идентифицирующей информации (т.н. «детали-дубликаты»), в качестве идентификатора колесной пары используют index:
axle
ƒactory
serial
axle=(index, n, n, y)
1
2
i
axle
[0051] В конкретном варианте реализации для ускорения поиска в базе данных для таблицы признаков (features) индексы строятся по столбцам (class, class, parameter), для таблицы осей колесных пар (axles) - по столбцу index.
[0052] Таким образом, с каждой колесной парой ассоциированы следующие данные: эталонное размеченное изображение поверхности правого торца оси в хранилище данных и информация в индексной базе данных.
[0053] Эти данные используются далее на втором этапе предлагаемого способа для идентификации конкретных колесных пар.
[0054] Второй этап способа настоящего технического решения иллюстрируется на Фиг. 2.
[0055] Для идентификации эталонное изображение торца оси колесной пары и идентифицирующая информация должны быть предварительно обработаны и занесены в хранилище данных и в индексную базу данных соответственно.
[0056] На первом шаге осуществляют фотографирование правого торца оси колесной пары посредством мобильного устройства связи пользователя. Торец оси на изображении может быть частично закрыт торцевым креплением, иными посторонними объектами, в том числе смазочными материалами (например, скрыто не более 25% идентифицирующей информации).
[0057] Формируют набор признаков search_features на основе полученного на предыдущем шаге изображения, аналогично тому, как это производится на шаге 130 первого этапа, но уже для изображения торца оси колесной пары, которую необходимо идентифицировать.
[0058] Поиск производится по набору признаков search_features (шаг 240), сформированному на предыдущем шаге. Для каждого признака
j
j,1
j,2
j,1
j,2
j,1
j,n
ƒeature=(class, class, index, index, parameter, …, parameter)
j
ƒeature∈search_features
axle
и для каждой детали с идентификатором i=index выполняется поиск в индексной базе данных признаков
i
i,1
i,2
i,1
i,2
i,1
i,n
ƒeatures={(i, class, class, index, index, parameter, …, parameter)},
удовлетворяющих следующим условиям:
j,1
i,1
1) class=class
j,2
i,2
2) class=class
k
1
1
3)  где threshold - порог отсечения кандидатов по параметру k, зависящий от способа вычисления параметра. Например, для способа вычисления параметра parameter в конкретном варианте реализации threshold может равняться 1,0.
j,i
[0059] Затем для каждой детали вычисляют значение feature_score по следующей формуле:
где
j,i
feature_score - минимальное значение меры подобия между j-м признаком из search features и признаками, хранимыми в индексной базе данных для оси i;
k
1
2
k
1
2
1
f(p, p) - мера подобия значений k-ых параметров, зависит от способа вычисления параметра (например, f(p,p) может быть равна  для приведенного выше parameter);
j,k
parameter - значение k-го параметра для j-го признака изображения, по которому осуществляется поиск;
i,k
i
parameter - значение k-го параметра для признака из множества features, с которым производится сравнение.
i
[0060] Далее вычисляется score (шаг 250) для деталей, для которых  по следующей формуле:
i
[0061] В результате получают упорядоченный по убыванию значений score набор деталей-кандидатов
i
[0062] В конкретных вариантах реализации набор candidates содержит не более 100 элементов из начала упорядоченного списка, имеющих наибольшее по сравнению с остальными значение score.
i
[0063]Далее для каждой детали-кандидата (score, i)∈candidates выполняют следующие действия (шаг 260):
indexes
indexes
j
i
features
features
i
1) строится множество всех возможных инъективных отображений индексов объектов из search_features в индексы объектов детали-кандидата одинаковых классов M={m:{index}→{index}}, а также множество соответствующих им отображений признаков M={m:search_features→features};
features
2) вычисляется величина, характеризующая схожесть наборов признаков при применении различных отображений из M:
i
[0064] Принимают решение об идентификации конкретной номерной детали посредством выбора детали-кандидата с идентификатором i, для которой значение object_score максимально (шаг 270).
[0065] В данном описании настоящий способ проиллюстрирован примерами своей реализации, вместе с тем эти примеры не ограничивают объема настоящего изобретения, определяемого лишь прилагаемой формулой изобретения с учетом возможных эквивалентных признаков. Чертежи приведены лишь в целях иллюстрации предпочтительных вариантов воплощения и не должны рассматриваться как ограничивающие изобретение.
[0066] Также техническое решение может быть реализовано как система автоматизации идентификации железнодорожных номерных деталей, которая содержит следующие компоненты (Фиг. 3):
301 - хранилище данных: хранение эталонных размеченных изображений поверхностей номерных деталей с идентифицирующей информацией (например, изображение поверхности торца оси колесной пары), временное хранение изображений, обрабатываемых модулем распознавания 303;
302 - индексная база данных: хранение множества признаков для каждого изображения поверхности номерной детали с идентифицирующей информацией (например, для изображения поверхности торца оси колесной пары), обработанного с помощью модуля распознавания 303;
303 - модуль распознавания на основе методов машинного зрения (например, ИНС), выполняющий следующие функции: выделение областей с идентифицирующими данными (например, поверхностей торцов осей колесных пар) на изображении; выделение объектов (например, текстовые символы, клейма, торцевое крепление, болты, центральное отверстие торца оси, нарезные отверстия для болтов и др.); обучение ИНС на основе изображений из хранилища данных;
304 - носимый терминал сотрудника с встроенным фотоаппаратом, модулем для предварительной обработки изображений, с поддержкой коммуникации по беспроводному каналу связи;
305 - клиент для разметки или корректировки автоматической разметки изображений поверхностей торцов осей колесных пар, представляет собой программное обеспечение, установленное на стационарном терминале сотрудника;
306 - сервис обработки запросов, поступающих от модулей 304 и 305;
307 - модуль построения признаков по размеченным изображениям;
308 - модуль поиска по признакам в индексной базе данных 302.
[0067] Принцип работы системы состоит в следующем (на примере варианта реализации системы для идентификации колесных пар):
[0068] Колесные пары идентифицируются в автоматическом режиме по изображениям поверхностей торцов осей, фотографируемых с помощью носимого терминала 304 и передаваемых с 304 на сервис 306 для обработки с помощью модулей распознавания 303, построения множества признаков 307 и поиска 308;
[0069] Для формирования индексной базы данных и добавления изображений в хранилище 301 полученные с помощью носимого терминала 304 или из хранилища 301 изображения с идентифицирующей информацией и информацией о времени, месте и ответственном сотруднике, создавшем изображения, передаются на сервис 306 по беспроводным или проводным каналам связи и далее обрабатываются им с использованием модулей 303, 307 и 308, после обработки размеченные изображению передаются в хранилище данных 301.
[0070] Построенные признаки, сохраненные в индексной базе данных 302, позволяют производить идентификацию колесных пар не только по распознанному номеру, но и по индивидуальным особенностям, характеризующим взаимное расположение элементов идентифицирующей информации на поверхности торца оси колесной пары.
[0071] Модуль распознавания 303 работает на основе ИНС, обучение которой осуществляется следующим образом.
[0072] С помощью терминала сбора данных 304 производят сбор фотоматериалов с помещением их в хранилище 301. В случае наличия заранее обученной ИНС, с помощью сервиса распознавания 303 производят автоматическую разметку объектов на изображении. Далее с помощью клиента разметки 305, установленного на стационарном терминале, производят корректировку результатов автоматической разметки, либо полностью ручную разметку. Затем с помощью сервиса распознавания 303 производят обучение ИНС на основе новых данных, полученных на предыдущих шагах.
[0073] Построение наборов признаков для размеченных изображений торцов осей колесных пар осуществляется следующим образом.
[0074] Из хранилища 301 получают размеченные изображения. Далее посредством модуля построения признаков 307 для каждого изображения торца оси колесной пары производят построение набора признаков, после чего выполняется добавление соответствующих колесным парам наборов признаков в индексную базу данных 302.
[0075] Поиск колесной пары по изображению поверхности торца оси работает следующим образом.
[0076] С помощью терминала сбора данных 304 выполняют фотографирование поверхности торца оси с передачей на сервис 306 для обработки. Сервис 306 сохраняет изображение во временное хранилище 301, далее с помощью модуля распознавания 303 производит автоматическую разметку изображения, с помощью модуля 307 производит построение набора признаков по размеченному изображению, на основе построенного множества признаков с помощью модуля 308 производит поиск по индексной базы данных 302, результаты поиска передает на терминал сбора данных 304.
[0077] Таким образом, система и способ обеспечивают технический результат в виде повышения точности и скорости идентификации железнодорожных номерных деталей, а также возможности автоматизированного обнаружения «деталей-дубликатов».
[0078] Ссылаясь на Фиг. 4, данное техническое решение может быть реализовано в виде вычислительной системы 400, которая содержит один или более из следующих компонентов:
• компонент 401 обработки, содержащий по меньшей мере один процессор 402,
• память 403,
• компонент 404 питания,
• компонент 405 мультимедиа,
• компонент 406 аудио,
• интерфейс 407 ввода/вывода (I/О),
• сенсорный компонент 408,
• компонент 409 передачи данных.
[0079] Компонент 401 обработки в основном управляет всеми операциями системы 400, например, управляет обработкой изображений для идентификации железнодорожных номерных деталей, а также управляет дисплеем, телефонным звонком, передачей данных, работой камеры и операцией записи мобильного устройства связи пользователя. Модуль 401 обработки может включать в себя один или более процессоров 402, реализующих инструкции для завершения всех или части шагов из указанных выше способов. Кроме того, модуль 401 обработки может включать в себя один или более модулей для удобного процесса взаимодействия между другими модулями 401 обработки и другими модулями. Например, модуль 401 обработки может включать в себя мультимедийный модуль для удобного облегченного взаимодействия между компонентом 405 мультимедиа и компонентом 401 обработки.
[0080] Память 403 выполнена с возможностью хранения различных типов данных для поддержки работы системы 400, например, базу данных с профилями пользователей. Примеры таких данных включают в себя инструкции из любого приложения или способа, контактные данные, данные адресной книги, сообщения, изображения, видео, и т.д., и все они работают на системе 400. Память 403 может быть реализована в виде любого типа энергозависимого запоминающего устройства, энергонезависимого запоминающего устройства или их комбинации, например, статического оперативного запоминающего устройства (СОЗУ), Электрически-Стираемого Программируемого постоянного запоминающего устройства (ЭСППЗУ), Стираемого Программируемого постоянного запоминающего устройства (СППЗУ), Программируемого постоянного запоминающего устройства (ППЗУ), постоянного запоминающего устройства (ПЗУ), магнитной памяти, флэш-памяти, магнитного диска или оптического диска и другого, не ограничиваясь.
[0081] Компонент 404 питания обеспечивает электричеством различные компоненты системы 400. Компонент 404 питания может включать систему управления электропитанием, один или более источник питания, и другие узлы для генерации, управления и распределения электроэнергии к системе 400.
[0082] Компонент 405 мультимедиа включает в себя экран, обеспечивающий выходной интерфейс между системой 400, которая может быть установлена на мобильном устройстве связи пользователя, и пользователем. В некоторых вариантах реализации экран может быть жидкокристаллическим дисплеем (ЖКД) или сенсорной панелью (СП). Если экран включает в себя сенсорную панель, экран может быть реализован в виде сенсорного экрана для приема входного сигнала от пользователя. Сенсорная панель включает один или более сенсорных датчиков в смысле жестов, прикосновения и скольжения сенсорной панели. Сенсорный датчик может не только чувствовать границу прикосновения пользователя или жест перелистывания, но и определять длительность времени и давления, связанных с режимом работы на прикосновение и скольжение. В некоторых вариантах осуществления компонент 405 мультимедиа включает одну фронтальную камеру и/или одну заднюю камеру. Когда система 400 находится в режиме работы, например, режиме съемки или режиме видео, фронтальная камера и/или задняя камера могут получать данные мультимедиа извне. Каждая фронтальная камера и задняя камера может быть одной фиксированной оптической системой объектива или может иметь фокусное расстояние или оптический зум.
[0083] Компонент 406 аудио выполнен с возможностью выходного и/или входного аудио сигнала. Например, компонент 406 аудио включает один микрофон (MIC), который выполнен с возможностью получать внешний аудио сигнал, когда система 400 находится в режиме работы, например, режиме вызова, режима записи и режима распознавания речи. Полученный аудио сигнал может быть далее сохранен в памяти 403 или направлен по компоненту 409 передачи данных. В некоторых вариантах осуществления компонент 406 аудио также включает в себя один динамик, выполненный с возможностью вывода аудио сигнала.
[0084] Интерфейс 407 ввода/вывода (I/О) обеспечивает интерфейс между компонентом 401 обработки и любым периферийным интерфейсным модулем. Вышеуказанным периферийным интерфейсным модулем может быть клавиатура, руль, кнопка, и т.д. Эти кнопки могут включать, но не ограничиваясь, кнопку запуска, кнопку регулировки громкости, начальную кнопку и кнопку блокировки.
[0085] Сенсорный компонент 408 содержит один или более сенсоров и выполнен с возможностью обеспечения различных аспектов оценки состояния системы 400. Например, сенсорный компонент 408 может обнаружить состояния вкл/выкл системы 400, относительное расположение компонентов, например, дисплея и кнопочной панели, одного компонента системы 400, наличие или отсутствие контакта между пользователем и системой 400, а также ориентацию или ускорение/замедление и изменение температуры системы 400. Сенсорный компонент 408 содержит бесконтактный датчик, выполненный с возможностью обнаружения присутствия объекта, находящегося поблизости, когда нет физического контакта. Сенсорный компонент 408 содержит оптический датчик (например, КМОП или ПЗС-датчик изображения) выполненный с возможностью использования в визуализации приложения. В некоторых вариантах сенсорный компонент 408 содержит датчик ускорения, датчик гироскопа, магнитный датчик, датчик давления или датчик температуры.
[0086] Компонент 409 передачи данных выполнен с возможностью облегчения проводной или беспроводной связи между системой 400 и другими устройствами. Система 400 может получить доступ к беспроводной сети на основе стандарта связи, таких как WiFi, 2G, 3G, 5G, или их комбинации. В одном примерном варианте компонент 409 передачи данных получает широковещательный сигнал или трансляцию, связанную с ними информацию из внешней широковещательной системы управления через широковещательный канал. В одном варианте осуществления компонент 409 передачи данных содержит модуль коммуникации ближнего поля (NFC), чтобы облегчить ближнюю связь. Например, модуль NFC может быть основан на технологии радиочастотной идентификации (RFID), технологии ассоциации передачи данных в инфракрасном диапазоне (IrDA), сверхширокополосных (UWB) технологии, Bluetooth (ВТ) технологии и других технологиях.
[0087] В примерном варианте осуществления система 400 может быть реализована посредством одной или более Специализированных Интегральных Схем (СИС), Цифрового Сигнального Процессора (ЦСП), Устройств Цифровой Обработки Сигнала (УЦОС), Программируемым Логическим Устройством (ПЛУ), логической микросхемой, программируемой в условиях эксплуатации (ППВМ), контроллера, микроконтроллера, микропроцессора или других электронных компонентов, и может быть сконфигурирован для реализации способа идентификации железнодорожных номерных деталей по изображению их поверхностей с клеймами и знаками маркировки.
[0088] В примерном варианте осуществления, энергонезависимый компьютерно-читаемый носитель, содержит инструкции также предусмотренные, например, память 403 включает инструкции, где инструкции выполняются процессором 401 системы 400 для реализации описанного выше способа идентификации железнодорожных номерных деталей. Например, энергонезависимым компьютерно-читаемым носителем может быть ПЗУ, оперативное запоминающее устройство (ОЗУ), компакт-диск, магнитная лента, дискеты, оптические устройства хранения данных и тому подобное.
[0089] Вычислительная система 400 может включать в себя интерфейс дисплея, который передает графику, текст и другие данные из коммуникационной инфраструктуры (или из буфера кадра, не показан) для отображения на компоненте 405 мультимедиа. Вычислительная система 400 дополнительно включает в себя устройства ввода или периферийные устройства. Периферийные устройства могут включать в себя одно или несколько устройств для взаимодействия с мобильным устройством связи пользователя, такие как клавиатура, микрофон, носимое устройство, камера, один или более звуковых динамиков и другие датчики. Периферийные устройства могут быть внешними или внутренними по отношению к мобильному устройству связи пользователя. Сенсорный экран может отображать, как правило, графику и текст, а также предоставляет пользовательский интерфейс (например, но не ограничиваясь ими, графический пользовательский интерфейс (GUI)), через который пользователь может взаимодействовать с мобильным устройством связи пользователя, например, получать доступ и взаимодействовать с приложениями, запущенными на устройстве.
[0090] Элементы заявляемого технического решения находятся в функциональной взаимосвязи, а их совместное использование приводит к созданию нового и уникального технического решения. Таким образом, все блоки функционально связаны.
[0091] Все блоки, используемые в системе, могут быть реализованы с помощью электронных компонент, используемых для создания цифровых интегральных схем, что очевидно для специалиста в данном уровне техники. Не ограничиваюсь, могут быть использоваться микросхемы, логика работы которых определяется при изготовлении, или программируемые логические интегральные схемы (ПЛИС), логика работы которых задается посредством программирования. Для программирования используются программаторы и отладочные среды, позволяющие задать желаемую структуру цифрового устройства в виде принципиальной электрической схемы или программы на специальных языках описания аппаратуры: Verilog, VHDL, AHDL и др. Альтернативой ПЛИС могут быть программируемые логические контроллеры (ПЛК), базовые матричные кристаллы (БМК), требующие заводского производственного процесса для программирования; ASIC - специализированные заказные большие интегральные схемы (БИС), которые при мелкосерийном и единичном производстве существенно дороже.
[0092] Обычно, сама микросхема ПЛИС состоит из следующих компонент:
• конфигурируемых логических блоков, реализующих требуемую логическую функцию;
• программируемых электронных связей между конфигурируемыми логическими блоками;
• программируемых блоков ввода/вывода, обеспечивающих связь внешнего вывода микросхемы с внутренней логикой.
[0093] Также блоки могут быть реализованы с помощью постоянных запоминающих устройств.
[0094] Таким образом, реализация всех используемых блоков достигается стандартными средствами, базирующимися на классических принципах реализации основ вычислительной техники.
[0095] Как будет понятно специалисту в данной области техники, аспекты настоящего технического решения могут быть выполнены в виде системы, способа или компьютерного программного продукта. Соответственно, различные аспекты настоящего технического решения могут быть реализованы исключительно как аппаратное обеспечение, как программное обеспечение (включая прикладное программное обеспечение и так далее) или как вариант осуществления, сочетающий в себе программные и аппаратные аспекты, которые в общем случае могут упоминаться как «модуль», «система» или «архитектура». Кроме того, аспекты настоящего технического решения могут принимать форму компьютерного программного продукта, реализованного на одном или нескольких машиночитаемых носителях, имеющих машиночитаемый программный код, который на них реализован.
[0096] Также может быть использована любая комбинация одного или нескольких машиночитаемых носителей. Машиночитаемый носитель хранилища может представлять собой, без ограничений, электронную, магнитную, оптическую, электромагнитную, инфракрасную или полупроводниковую систему, аппарат, устройство или любую подходящую их комбинацию. Конкретнее, примеры (неисчерпывающий список) машиночитаемого носителя хранилища включают в себя: электрическое соединение с помощью одного или нескольких проводов, портативную компьютерную дискету; жесткий диск, оперативную память (ОЗУ), постоянную память (ПЗУ), стираемую программируемую постоянную память (EPROM или Flash-память), оптоволоконное соединение, постоянную память на компакт-диске (CD-ROM), оптическое устройство хранения, магнитное устройство хранения или любую комбинацию вышеперечисленного. В контексте настоящего описания, машиночитаемый носитель хранилища может представлять собой любой гибкий носитель данных, который может содержать или хранить программу для использования самой системой, устройством, аппаратом или в соединении с ними.
[0097] Программный код, встроенный в машиночитаемый носитель, может быть передан с помощью любого носителя, включая, без ограничений, беспроводную, проводную, оптоволоконную, инфракрасную и любую другую подходящую сеть или комбинацию вышеперечисленного.
[0098] Компьютерный программный код для выполнения операций для некоторых шагов настоящего технического решения может быть написан на любом языке программирования или комбинаций языков программирования, включая объектно-ориентированный язык программирования, например Java, Smalltalk, С++ и так далее, и обычные процедурные языки программирования, например язык программирования «С» или аналогичные языки программирования. Программный код может выполняться на компьютере пользователя полностью, частично, или же как отдельный пакет программного обеспечения, частично на компьютере пользователя и частично на удаленном компьютере, или же полностью на удаленном компьютере. В последнем случае, удаленный компьютер может быть соединен с компьютером пользователя через сеть любого типа, включая локальную сеть (LAN), глобальную сеть (WAN) или соединение с внешним компьютером (например, через Интернет с помощью Интернет-провайдеров).
[0099] Аспекты настоящего технического решения были описаны подробно со ссылкой на блок-схемы, принципиальные схемы и/или диаграммы способов, устройств (систем) и компьютерных программных продуктов в соответствии с вариантами осуществления настоящего технического решения. Следует иметь в виду, что каждый блок из блок-схемы и/или диаграмм, а также комбинации блоков из блок-схемы и/или диаграмм, могут быть реализованы компьютерными программными инструкциями. Эти компьютерные программные инструкции могут быть предоставлены процессору компьютера общего назначения, компьютера специального назначения или другому устройству обработки данных для создания процедуры, таким образом, чтобы инструкции, выполняемые процессором компьютера или другим программируемым устройством обработки данных, создавали средства для реализации функций/действий, указанных в блоке или блоках блок-схемы и/или диаграммы.
[00100] Эти компьютерные программные инструкции также могут храниться на машиночитаемом носителе, который может управлять компьютером, отличным от программируемого устройства обработки данных или отличным от устройств, которые функционируют конкретным образом, таким образом, что инструкции, хранящиеся на машиночитаемом носителе, создают устройство, включающее инструкции, которые осуществляют функции/действия, указанные в блоке блок-схемы и/или диаграммы.