RU2794708C2 - Milk analyser for milk classification - Google Patents

Milk analyser for milk classification Download PDF

Info

Publication number
RU2794708C2
RU2794708C2 RU2021105196A RU2021105196A RU2794708C2 RU 2794708 C2 RU2794708 C2 RU 2794708C2 RU 2021105196 A RU2021105196 A RU 2021105196A RU 2021105196 A RU2021105196 A RU 2021105196A RU 2794708 C2 RU2794708 C2 RU 2794708C2
Authority
RU
Russia
Prior art keywords
milk
classifier
classification
dlnn
image
Prior art date
Application number
RU2021105196A
Other languages
Russian (ru)
Other versions
RU2021105196A (en
Inventor
Сандип Кристофер ТАУРО
Самарт БАРТВАЛ
Сара Золлфранк СПАРРЕ
Original Assignee
ФОСС Аналитикал А/С
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ФОСС Аналитикал А/С filed Critical ФОСС Аналитикал А/С
Publication of RU2021105196A publication Critical patent/RU2021105196A/en
Application granted granted Critical
Publication of RU2794708C2 publication Critical patent/RU2794708C2/en

Links

Images

Abstract

FIELD: computer technology.
SUBSTANCE: invention relates to the analysis and classification of images. The proposed is a milk analyser comprising a milk analysis unit having a means for analysis, wherein the milk analysis unit further comprises a milk classification system having an imaging device configured to create an image of milk to generate digital image data; a computing device processor that is configured to execute program code for implementing a deep learning neural network classifier trained using labelled milk images within classes into which displayed milk can be classified and capable of generating a classification of displayed milk; and a controller configured to output a control signal depending on the generated classification to control the sampling device to control the supply of milk to the analysis unit.
EFFECT: improving the accuracy of control measurements.
5 cl, 7 dwg

Description

[0001] Настоящее изобретение относится к способу и системам для классификации молока и анализатору молока, в котором они используются.[0001] The present invention relates to a method and systems for classifying milk and a milk analyzer in which they are used.

[0002] Плохое молоко - это молоко, которое непреднамеренно закисло, свернулось, содержит посторонние вещества или испорчено иным образом. Существуют различные причины возникновения плохого молока. К ним относятся неправильная мойка животных (коров, коз, овец и т.п.) до и после доения, больные особи и отсутствие контроля за условиями перевозки или нарушение условий перевозки. Белки могут разлагаться под действием ферментов или под воздействием света. Преобладающей причиной разложения белка являются ферменты, называемые протеазами. Нежелательное разложение (протеолиз) приводит к получению молока с неприятным привкусом и низким качеством.. Плохое молоко часто проявляется в виде небольших кластеров или сгустков, которые затем можно использовать для визуальной классификации. Кроме того, экстремальные температурные циклы во время хранения или транспортировки, неочищенные контейнеры, неправильное количество консерванта, разбавителя или другой добавки, добавленной в молоко перед отправкой в Центральную лабораторию тестирования молока (Central Milk Testing, CMT) или другие лаборатории или анализатор, ускоряют разложение.[0002] Bad milk is milk that is unintentionally sour, curdled, contains foreign matter, or is otherwise spoiled. There are various causes of bad milk. These include improper washing of animals (cows, goats, sheep, etc.) before and after milking, sick animals and lack of control over the conditions of transportation or violation of the conditions of transportation. Proteins can be degraded by the action of enzymes or by exposure to light. The predominant cause of protein degradation are enzymes called proteases. Unwanted decomposition (proteolysis) results in off-flavour and poor quality milk. Poor milk often appears as small clusters or clumps which can then be used for visual classification. In addition, extreme temperature cycling during storage or transport, uncleaned containers, the wrong amount of preservative, diluent, or other additive added to milk before it is sent to the Central Milk Testing (CMT) or other laboratories or analyzer, hasten decomposition.

[0003] Какими бы ни были причины, плохие образцы молока неизбежно попадают в CMT и другие лаборатории или места проведения анализов для анализа с помощью более или менее автоматизированных аналитических приборов. Поскольку эти образцы плохого молока обычно не проверяются визуально перед анализом, они становятся частью обычного рабочего процесса, который впоследствии содержит смесь хороших и плохих образцов молока. Однако, когда эти плохие образцы молока пропускаются через анализатор, они могут вызвать серьезную закупорку приборов. В некоторых случаях инструменты могут быть выведены из строя на срок до нескольких дней, что может серьезно повлиять на работу лаборатории. Плохие образцы молока в зависимости от их природы и/или степени «недоброкачественности» либо могут вызвать несложную неисправность, например, закупорку всасывающей части анализатора, такого как пипетка, или закупорить более сложные узлы глубоко внутри прибора.[0003] Whatever the reasons, bad milk samples inevitably end up at CMT and other laboratories or testing sites for analysis using more or less automated analytical instruments. Because these bad milk samples are not usually visually inspected prior to analysis, they become part of a normal workflow that subsequently contains a mixture of good and bad milk samples. However, when these bad milk samples are passed through the analyzer, they can cause severe clogging of the instruments. In some cases, instruments can be out of order for up to several days, which can seriously affect the work of the laboratory. Bad milk samples, depending on their nature and/or degree of “poor quality”, can either cause a minor malfunction, such as blockage of the suction part of an analyzer such as a pipette, or blockage of more complex components deep inside the device.

[0004] Иногда закупоренную пипетку можно очистить с помощью процедуры автоматической очистки, но это не всегда получается. Если автоматическая очистка не может обеспечить надлежащую чистоту, оператор должен использовать механические инструменты для очистки системы впуска. То же самое происходит, если закупорка происходит глубже в анализаторе, и устранение любой такой закупорки может быть затруднено, а также может потребовать много времени. Такие закупорки могут привести к длительному простою, что снижает производительность аналитического прибора и увеличивает эксплуатационные расходы лаборатории CMT. Более того, нормальный рабочий процесс после засорения заключается в выполнении различных контрольных измерений для подтверждения тщательности очистки. Эти контрольные измерения увеличивают стоимость эксплуатации указанного прибора для лаборатории, поскольку для проверки эффективности очистки перед повторным вводом в эксплуатацию используются дополнительные пробы, такие как стандартные и контрольные пробы.[0004] Sometimes a clogged pipette can be cleared using an automatic cleaning procedure, but this is not always possible. If automatic cleaning cannot provide adequate cleanliness, the operator must use mechanical tools to clean the intake system. The same happens if the blockage occurs deeper in the analyzer, and any such blockage can be difficult to clear and may also take a long time. These blockages can lead to long periods of downtime, which reduces the performance of the analytical instrument and increases the operating costs of the CMT laboratory. Moreover, the normal workflow after clogging is to perform various control measurements to confirm the thoroughness of the cleaning. These control measurements add to the cost of operating the specified instrument to the laboratory because additional samples, such as standards and controls, are used to verify cleaning performance before recommissioning.

[0005] Часто плохое молоко имеет не только явный отличительный внешний вид, но также и явные отличительные обонятельные характеристики. Однако такое положение имеет место не всегда, и обнаружение плохого молока или молока, имеющего другие характеристики, в частности, нежелательные, которые проявляются визуально, может оказаться затруднительным. Например, для людей с ослабленным зрением или в случаях, когда визуальные проявления едва различимы и, возможно, заметны только хорошо обученному человеку, например, на ферме, где фермер заинтересован в знании определенных характеристик молока до того, как оно будет загружено в транспортную цистерну, или у потребителя, когда может быть полезным определять плохое молоко перед употреблением.[0005] Often bad milk has not only a distinctly distinctive appearance, but also distinctly distinctive olfactory characteristics. However, this is not always the case, and it may be difficult to detect bad milk or milk having other characteristics, in particular undesirable ones, which are visible. For example, for visually impaired people or in cases where the visual manifestations are subtle and perhaps only visible to a well-trained person, such as on a farm where the farmer is interested in knowing certain characteristics of milk before it is loaded into a transport tank, or in the consumer, where it may be helpful to identify bad milk before consumption.

[0006] В соответствии с настоящим изобретением обеспечен анализатор молока, содержащий блок анализа молока, имеющий средство для анализа, при этом блок анализа молока также содержит систему для классификации молока, имеющую: устройство для получения изображений, выполненное с возможностью получения изображения молока для генерации данных цифрового изображения; процессор, выполненный с возможностью исполнения программного кода для реализации классификатора нейронной сети с глубоким обучением, обученного с использованием помеченных изображений молока из молока в пределах классов, в которые может быть классифицировано изображаемое молоко в соответствии с характеристиками классов, которые визуально проявляются в изображенном молоке и могут генерировать классификацию изображенного молока; и контроллер, выполненный с возможностью вывода управляющего сигнала в зависимости от сгенерированной классификации для управления подачей молока в блок анализа.[0006] In accordance with the present invention, a milk analyzer is provided, comprising a milk analysis unit having analysis means, wherein the milk analysis unit also comprises a system for classifying milk, having: an imaging device configured to acquire an image of milk to generate data digital image; a processor configured to execute program code for implementing a deep learning neural network classifier trained using labeled milk images from milk within the classes into which the imaged milk can be classified in accordance with the characteristics of the classes that are visually manifested in the imaged milk and can generate a classification of the depicted milk; and a controller configured to output a control signal depending on the generated classification to control the supply of milk to the analysis unit.

[0007] В некоторых вариантах реализации устройство для отбора пробы содержит сортирующее устройство, выполненное с возможностью отделения образца от других образцов массива образцов в зависимости от выходного сигнала от устройства вывода, указывающего заранее определенный класс, причем указанный заранее определенный класс может быть таким же, как и заранее определенный класс, от которого зависит операция отбора пробы, или может отличаться от него.[0007] In some embodiments, the sampling device comprises a sorting device configured to separate the sample from other samples of the array of samples depending on the output signal from the output device indicating a predetermined class, and the specified predetermined class may be the same as and a predetermined class on which the sampling operation depends, or may differ from it.

[0008] Реализуемый компьютером способ классификации молока может включать следующие этапы:[0008] A computer-implemented method for classifying milk may include the following steps:

- реализация в процессоре, который может содержать один или более взаимодействующих друг с другом обрабатывающих модулей, первого классификатора нейронной сети с глубоким обучением, обученного с использованием набора обучающих данных, содержащего цифровые представления изображений молока, при этом каждое изображение помечено классом молока, к которому оно принадлежит;- implementation in a processor, which may contain one or more processing modules interacting with each other, of the first deep learning neural network classifier trained using a training dataset containing digital representations of milk images, with each image labeled with the class of milk to which it belongs;

- получение процессором данных цифрового изображения, содержащих представление молока, подлежащего классификации; и- obtaining by the data processor a digital image containing a representation of the milk to be classified; And

- обработка процессором данных цифрового изображения с использованием реализованного первого классификатора нейронной сети с глубоким обучением для создания классификации молока, представленного в данных цифрового изображения, как принадлежащего к классу в указанном наборе классов.- processing by the digital image data processor using the implemented first deep learning neural network classifier to generate a classification of the milk represented in the digital image data as belonging to a class in the specified set of classes.

[0009] В некоторых вариантах реализации данные цифрового изображения обрабатывают с использованием реализованной первой нейронной сети глубокого обучения для: извлечения вектора признаков для данных цифрового изображения; определения для извлеченного вектора признаков вероятности для каждого класса из набора классов указанного вектора признаков, принадлежащих этому классу; и генерации классификации в зависимости от определенных вероятностей.[0009] In some embodiments, the digital image data is processed using the implemented first deep learning neural network to: extract a feature vector for the digital image data; determining for the extracted probability feature vector for each class from the set of classes of said feature vector belonging to that class; and generating a classification depending on certain probabilities.

[0010] В некоторых вариантах реализации классификатор нейронной сети с глубоким обучением выполнен с возможностью классифицирования молока как принадлежащего к одному из классов «ХОРОШЕЕ» и «ПЛОХОЕ» или аналогичных названий, указывающих, имеет ли молоко нежелательные характеристики. В других вариантах реализации классификатор нейронной сети с глубоким обучением может быть выполнен с возможностью классифицирования молока по различным или дополнительным классам, таким как «посторонний объект», «тип постороннего объекта», «комкование» или цвет, и молоко может быть классифицировано как принадлежащее к одному или более классам классификатора нейронной сети глубокого обучения.[0010] In some embodiments, a deep learning neural network classifier is configured to classify milk as belonging to one of the "GOOD" and "BAD" classes or similar names indicating whether the milk has undesirable characteristics. In other implementations, a deep learning neural network classifier may be configured to classify milk into different or additional classes such as "foreign object", "foreign object type", "clump", or color, and the milk may be classified as belonging to one or more deep learning neural network classifier classes.

[0011] В некоторых вариантах реализации классификатор нейронной сети глубокого обучения содержит один или более слоев, обученных определять одно или оба из: наличия контейнера для образца и наличия образца молока в данных изображения, при этом способ включает генерирование классификации образца молока в зависимости от определенного присутствия образца молока в данных изображения. Классификатор нейронной сети с глубоким обучением может содержать более слоев, обученных классифицировать по данным изображения контейнер с образцом как содержащий достаточный или недостаточный образец молока.[0011] In some embodiments, a deep learning neural network classifier comprises one or more layers trained to determine one or both of the presence of a sample container and the presence of a milk sample in the image data, the method comprising generating a classification of the milk sample depending on the determined presence milk sample in the image data. The deep learning neural network classifier may contain more layers trained to classify the sample container from image data as containing sufficient or insufficient milk sample.

[0012] В некоторых вариантах реализации классификатор нейронной сети с глубоким обучением может быть сгенерирован с использованием любого трансферного обучения. В некоторых вариантах реализации классификатор нейронной сети с глубоким обучением может содержать сверточную нейронную сеть (convolutional neural network, CNN). В некоторых вариантах реализации классификатор нейронной сети с глубоким обучением может быть сгенерирован с использованием сети глубокого доверия или другой многослойной архитектуры нейронной сети, в которой входные данные одного слоя являются выходными данными предыдущего слоя.[0012] In some implementations, a deep learning neural network classifier may be generated using any transfer learning. In some embodiments, a deep learning neural network classifier may comprise a convolutional neural network (CNN). In some embodiments, a deep learning neural network classifier may be generated using a deep belief network or other layered neural network architecture where the input of one layer is the output of the previous layer.

[0013] Модели глубокого обучения требуют значительного количества операций обучения, чтобы избежать переобучения. Таким образом, глубокое обучение требует значительного количества данных обучающего изображения и значительных затрат времени. Для снижения этой нагрузки может быть полезным использовать трансферное обучение, особенно в случаях, когда количество обучающих образов ограничено. Трансферным обучением является метод машинного обучения, при котором модель, разработанная для одной задачи, повторно используется в качестве отправной точки для модели, которая будет использоваться для второй задачи. В контексте настоящего изобретения модель глубокого обучения сначала обучается на большом количестве иррелевантно помеченных («классифицированных») изображений, не связанных с изображениями молока, для построения классификатора. Затем предоставляется набор обучающих данных с помеченными изображениями молока (каждое помеченное изображение также называется «данными обучающего образа»), где каждое изображение помечено как принадлежащее одному или более классам, а модель глубокого обучения дополнительно обучается с использованием набора обучающих данных для изменения классификатора, чтобы он был полезен при идентификации классов, связанных с набором обучающих данных.[0013] Deep learning models require a significant number of training operations to avoid overfitting. Thus, deep learning requires a significant amount of training image data and a significant investment of time. To reduce this load, it can be useful to use transfer learning, especially in cases where the number of training images is limited. Transfer learning is a machine learning technique in which a model developed for one task is reused as the starting point for a model to be used for a second task. In the context of the present invention, a deep learning model is first trained on a large number of irrelevantly labeled ("classified") images not associated with milk images to build a classifier. Then, a training dataset is provided with labeled milk images (each labeled image is also called "training image data"), where each image is labeled as belonging to one or more classes, and the deep learning model is further trained using the training dataset to modify the classifier so that it was useful in identifying the classes associated with the training dataset.

[0014] В сети CNN более низкие сверточные слои захватывают низкоуровневые функции изображения, в то время как более высокие сверточные слои захватывают все более и более сложные детали изображения, причем конечное количество слоев задано сложностью деталей изображения, требуемой для определения необходимого количества классов. Архитектура сети CNN, как правило, состоит из сверточных слоев и слоев объединения (или субдискретизации), которые сгруппированы в модули или блоки. За этими модулями CNN следуют один или более полностью связанных слоев, как в стандартной нейронной сети с прямой связью. Модули накладываются друг на друга, образуя глубокую модель. Изображение вводится непосредственно в сеть, после чего следует несколько этапов свертывания и объединения в модули CNN. Затем представления этих операций вносят в один или более полностью связанных слоев. Наконец, последний полностью связанный слой выводит метку класса. Сверточные модули служат экстракторами признаков и, таким образом, обучают представления признаков своих входных изображений. Нейроны в сверточных слоях, которые составляют сверточные модули, организованы в карты признаков. Каждый нейрон на карте признаков имеет рецептивное поле, которое связано с окрестностями нейронов в предыдущем слое через набор обучаемых весов. Входные данные свертываются с обученными весами для вычисления новой карту признаков. Целью слоев объединения является уменьшение пространственного разрешения карт признаков и, таким образом, достижение пространственной инвариантности к входным искажениям и перемещениям. Обычно могут использоваться слои агрегации с объединением средних значений, которые распространяют среднее значение всех входных значений небольшой окрестности изображения на следующий слой. Альтернативно могут использоваться слои агрегации с максимальным объединением, которые распространяют максимальное значение в пределах принимающего поля на следующий слой. Полностью связанные слои, которые следуют за этими слоями, интерпретируют представления абстрактных функций, извлеченные модулями, и выполняют функцию высокоуровневого обоснования и классификации и часто реализуются как машина опорных векторов или конфигурируются для реализации функции приложения Softmax.[0014] In a CNN, lower convolutional layers capture low-level image features, while higher convolutional layers capture more and more complex image details, the finite number of layers being given by the image detail complexity required to determine the required number of classes. The architecture of a CNN network typically consists of convolutional layers and pooling (or subsampling) layers, which are grouped into modules or blocks. These CNN modules are followed by one or more fully connected layers, as in a standard feed-forward neural network. Modules are stacked on top of each other to form a deep model. The image is injected directly into the network, followed by several steps of folding and combining into CNN modules. Representations of these operations are then contributed to one or more fully connected layers. Finally, the last fully connected layer outputs the class label. Convolutional modules serve as feature extractors and thus train feature representations of their input images. The neurons in the convolutional layers that make up the convolutional modules are organized into feature maps. Each neuron in the feature map has a receptive field that is connected to the neighborhood of neurons in the previous layer through a set of trainable weights. The input data is convolved with the trained weights to compute a new feature map. The purpose of pooling layers is to reduce the spatial resolution of feature maps and thus achieve spatial invariance to input distortions and displacements. Typically, aggregation layers with pooled averages can be used, which propagate the average of all input values of a small neighborhood of the image to the next layer. Alternatively, maximum pooling aggregation layers can be used that propagate the maximum value within the receiving field to the next layer. The fully connected layers that follow these layers interpret the abstract feature representations extracted by the modules and perform the high-level reasoning and classification function and are often implemented as a support vector machine or configured to implement a Softmax application function.

[0015] В некоторых вариантах реализации данные цифрового изображения представляют монохромное изображение (или по меньшей мере, уменьшенную информацию о цвете), причем указанный монохромный цвет или уменьшенная цветовая палитра могут быть выбраны для улучшения видимости соответствующих признаков в изображении (т.е. тех признаков, которые вносят вклад в классификацию).[0015] In some implementations, digital image data represents a monochrome image (or at least reduced color information), wherein said monochrome color or reduced color palette can be selected to improve the visibility of corresponding features in the image (i.e., those features that contribute to the classification).

[0016] В некоторых вариантах реализации данные цифрового изображения могут представлять изображение, полученное из пропускания света через слой молока.[0016] In some embodiments, the digital image data may represent an image obtained from the transmission of light through a layer of milk.

[0017] В некоторых вариантах реализации устройство ввода может быть, например, сканером, выполненным с возможностью преобразования записанного изображения пробы молока в цифровое представление, может быть видеокамерой, такой как цифровая видеокамера, и устройством захвата кадров, выполненные с возможностью преобразования одного кадра движущегося изображения, содержащего образец молока, в цифровое представление, или может быть цифровой фотокамерой, выполненной с возможностью создания цифрового представления образца молока, находящегося в ее поле зрения. В некоторых вариантах реализации устройство ввода может содержать интерфейс связи, выполненный с возможностью доступа к удаленно созданным данным цифрового изображения по сети, такой как помимо прочего телефонная сеть, локальная сеть или сеть Интернет, либо посредством фиксированной проводной связи, беспроводной связи, либо с использованием сочетания указанных двух видов связи, и предоставления удаленно сгенерированных данных цифрового изображения в качестве входных данных для сетевого классификатора глубокого обучения.[0017] In some implementations, the input device may be, for example, a scanner configured to convert a recorded image of a milk sample into a digital representation, may be a video camera such as a digital video camera, and a frame capture device configured to convert a single frame of a moving image , containing a milk sample, into a digital representation, or may be a digital camera configured to create a digital representation of a milk sample in its field of view. In some implementations, the input device may comprise a communications interface configured to access remotely generated digital image data over a network, such as but not limited to a telephone network, a local area network, or the Internet, either through a fixed wired connection, a wireless connection, or using a combination of these two types of communication, and providing remotely generated digital image data as input to a deep learning network classifier.

[0018] В некоторых вариантах реализации для обнаружения присутствия пробы молока в поле зрения цифровой камеры может использоваться обнаружительное устройство, причем указанная цифровая камера выполнена с возможностью сбора данных цифрового изображения в зависимости от обнаружительного устройства, обнаруживающего присутствие пробы молока. В некоторых вариантах реализации обнаружительное устройство может быть обнаружительным устройством прерывистого типа, в котором прерывание луча света, проходящего между излучателем и обнаружительным устройством, контейнером для образца, генерирует сигнал, указывающий на наличие контейнера для образца, который можно использовать для инициализации захвата изображения молока для генерации данных цифрового изображения.[0018] In some embodiments, a detection device may be used to detect the presence of a milk sample in the digital camera's field of view, said digital camera being configured to collect digital image data depending on the detection device detecting the presence of the milk sample. In some embodiments, the detection device may be a discontinuous type detection device in which interruption of a beam of light passing between the emitter and the detection device, the sample container, generates a signal indicative of the presence of the sample container, which can be used to initiate milk image capture to generate digital image data.

[0019] Несмотря на то, что выше кратко изложены некоторые аспекты вариантов реализации настоящего изобретения, следует понимать, что это краткое изложение не предназначено для ограничения настоящего изобретения, объем которого в достаточной мере определен приложенной формулой.[0019] While some aspects of the embodiments of the present invention have been summarized above, it should be understood that this summary is not intended to limit the present invention, the scope of which is sufficiently defined by the appended claims.

[0020] Приведенные для примера варианты реализации, содержащие настоящее изобретение, описаны более подробно ниже со ссылкой на сопроводительные чертежи, на которых:[0020] Exemplary embodiments incorporating the present invention are described in more detail below with reference to the accompanying drawings, in which:

На ФИГ. 1 показан приведенный для примера способ классификации молока в анализаторе молока согласно настоящему изобретению;FIG. 1 shows an exemplary method for classifying milk in a milk analyzer according to the present invention;

На ФИГ. 2 схематично изображен классификатор DLNN, используемый в способе, показанном на ФИГ. 1;FIG. 2 schematically depicts a DLNN classifier used in the method shown in FIG. 1;

На ФИГ. 3 показана система классификации молока для классификации молока в анализаторе молока согласно настоящему изобретению;FIG. 3 shows a milk classification system for classifying milk in a milk analyzer according to the present invention;

На ФИГ. 4 схематично показан анализатор молока согласно настоящему изобретению;FIG. 4 schematically shows a milk analyzer according to the present invention;

На ФИГ. 5 схематично показана часть двух других вариантов реализации анализатора молока в соответствии с настоящим изобретением; иFIG. 5 schematically shows part of two other embodiments of a milk analyzer in accordance with the present invention; And

На ФИГ. 6 показан еще один вариант реализации системы классификации молока согласно настоящему изобретению.FIG. 6 shows another embodiment of the milk classification system according to the present invention.

[0021] Следует понимать, что объем охраны настоящего изобретения не ограничивается конфигурациями, компонентами и этапами способа, проиллюстрированными и обсуждаемыми ниже. Напротив, они раскрыты только как примеры, попадающие в объем охраны приложенной формулы.[0021] It should be understood that the scope of protection of the present invention is not limited to the configurations, components, and method steps illustrated and discussed below. On the contrary, they are only disclosed as examples falling within the scope of the appended claims.

[0022] На ФИГ. 1 изображен один вариант реализации способа классификации молока согласно настоящему изобретению. Способ включает этап 100 реализации модели, на котором получают доступ к программному коду указанного этапа и исполняют указанный код процессором вычислительного устройства для реализации классификатора нейронной сети с глубоким обучением (deep learning neural network, DLNN) в процессоре. Классификатор DLNN, введенный таким образом в процессор, представляет собой классификатор, который обучен извлекать вектор признаков из данных цифрового изображения, содержащих представление отображаемого молока, подлежащего классификации, и определять из извлеченного вектора признаков вероятность для каждого класса набор классов любого молока, представленного в данных цифрового изображения, принадлежащих этому классу. Каждый класс из набора классов указывает на свойство молока. На этапе 102 получения данных в процессор вводят данные цифрового изображения, содержащие представление образца молока. На этапе 104 извлечения признаков данные цифрового изображения молока обрабатывают в процессоре с использованием полученного классификатора DLNN для извлечения вектора признаков для данных цифрового изображения молока. На этапе 106 назначения извлеченный вектор признаков обрабатывают процессором с использованием полученного классификатора DLNN для определения вероятности для каждого класса набора классов извлеченного вектора признаков, принадлежащего этому классу. На этапе 108 классификации определенные вероятности обрабатывают процессором с использованием полученного классификатора DLNN для генерации классификации для образца молока, представленного в данных цифрового изображения, как принадлежащего к классу набора классов в зависимости от определенных вероятностей. На этапе 110 вывода генерируют сигнал, представляющий классификацию, и выводят его для использования вне процессора.[0022] FIG. 1 shows one embodiment of the method for classifying milk according to the present invention. The method includes a model implementation step 100 that accesses the program code of said step and executes said code by a processor of a computing device to implement a deep learning neural network (DLNN) classifier in the processor. The DLNN classifier thus introduced into the processor is a classifier that is trained to extract a feature vector from digital image data containing a representation of the displayed milk to be classified, and determine from the extracted feature vector a probability for each class of a set of classes of any milk represented in the digital image data. images belonging to this class. Each class from the set of classes points to a property of milk. At data acquisition step 102, digital image data containing a representation of the milk sample is input to the processor. At feature extraction step 104, the digital milk image data is processed in the processor using the obtained DLNN classifier to extract a feature vector for the digital milk image data. At assignment step 106, the extracted feature vector is processed by the processor using the obtained DLNN classifier to determine a probability for each class of the class set of the extracted feature vector belonging to that class. In classification step 108, the determined probabilities are processed by the processor using the obtained DLNN classifier to generate a classification for the milk sample represented in the digital image data as belonging to a class set class depending on the determined probabilities. At output step 110, a signal representing the classification is generated and outputted for use outside the processor.

[0023] В некоторых вариантах реализации и как показано на ФИГ. 1, способ также включает полезный, но не существенный этап 112 подтверждения, на котором данные цифрового изображения, полученные на этапе 102 получения, обрабатывают для классификации изображения как включающего или не включающего образец молока перед обработкой указанного изображения на этапах 104, 106 для классификации данного образца молока на этапе 108. В некоторых вариантах реализации могут использоваться данные цифрового изображения, отличные от данных, полученных на этапе 102 получения, при условии, что эти другие данные цифрового изображения представляют изображение того же образца молока, которое представлено данными цифрового изображения, полученными ранее на этапе 102, но при других условиях. Следует понимать, что этими условиями могут быть, например, разные точки обзора, разные времена экспозиции или разные условия освещения, каждое из которых выбрано для предоставления данных цифрового изображения, наиболее подходящих для последующих этапов обработки, описанных ниже.[0023] In some embodiments, and as shown in FIG. 1, the method also includes a useful but not essential confirmation step 112 in which the digital image data obtained in the acquisition step 102 is processed to classify the image as including or not including a milk sample before said image is processed in steps 104, 106 to classify that sample. milk in step 108. In some implementations, different digital image data from the data obtained in acquisition step 102 may be used, provided that the other digital image data represents an image of the same milk sample as represented by the digital image data obtained earlier in step 102, but under different conditions. It should be understood that these conditions may be, for example, different viewpoints, different exposure times, or different lighting conditions, each of which is chosen to provide digital image data most suitable for the subsequent processing steps described below.

[0024] На этом этапе 112 подтверждения выполняют подэтап 1122 обнаружения объекта. На этом подэтапе 1122 обнаружения объекта данные цифрового изображения вводят в классификатор, предпочтительно классификатор DLNN, который обучен идентифицировать наличие или отсутствие представления контейнера для образцов во входных данных цифрового изображения, которые введены в процессор. Классификатор DLNN, который используется на этом подэтапе 1122, в некоторых вариантах реализации может быть классификатором DLNN, который реализован для классификации молока на этапе 100 реализации, описанном выше, или в других вариантах реализации может быть отдельным классификатором DLNN.[0024] In this confirmation step 112, an object detection sub-step 1122 is performed. In this object detection sub-step 1122, digital image data is input to a classifier, preferably a DLNN classifier, that is trained to identify the presence or absence of a sample container representation in the digital image input data that is input to the processor. The DLNN classifier that is used in this sub-step 1122 may in some implementations be the DLNN classifier that is implemented to classify milk in implementation step 100 described above, or in other implementations may be a separate DLNN classifier.

[0025] На этом подэтапе 1122 обнаружения объекта классификатор DLNN действует для извлечения признаков, относящиеся к контейнеру для образца, представленному в данных цифрового изображения, и генерирования соответствующего вектора признаков. На подэтапе 1124 принятия решения вектор признаков, извлеченный на подэтапе 1122 обнаружения объекта, обрабатывают для определения наличия или отсутствия представления контейнера для образцов в данных цифрового изображения. Если контейнер для образца отсутствует, как показано ветвью N на подэтапе 1124 принятия решения, выполнение обработки данных цифрового изображения (на этапах 104-110) для классификации молока не требуется, и способ завершается на подэтапе 1126 завершения.[0025] In this object detection sub-step 1122, the DLNN classifier operates to extract features related to the sample container represented in the digital image data and generate a corresponding feature vector. In decision sub-step 1124, the feature vector extracted in object detection sub-step 1122 is processed to determine whether or not a sample container representation exists in the digital image data. If there is no sample container, as shown by branch N in decision sub-step 1124, no digital image data processing (steps 104-110) is required to classify milk, and the method ends in end sub-step 1126.

[0026] Если контейнер для образца присутствует, как показано ветвью Y на подэтапе 1124 принятия решения, управление способом переходит к подэтапу 1128 обнаружения второго объекта.[0026] If the sample container is present, as shown by branch Y in decision sub-step 1124, method control proceeds to second object detection sub-step 1128.

[0027] На этом подэтапе 1128 обнаружения второго объекта данные цифрового изображения вводят в классификатор, предпочтительно классификатор DLNN, который обучен идентифицировать присутствие или отсутствие (в некоторых вариантах реализации дополнительно или альтернативно количество) представления молока во входных данных цифрового изображения, которое реализовано в процессоре. Классификатор DLNN, который используется на этом подэтапе 1128, в некоторых вариантах реализации может быть выполнен с возможностью классификации молока на этапе 100 реализации, описанном выше, в других вариантах реализации он может быть отдельным классификатор DLNN, а в еще одних вариантах реализации он может быть тем же классификатором DLNN, который используется при обнаружении контейнера для образца на подэтапе 1124 обнаружения объекта. Преимущество использования разных классификаторов DLNN для классификации молока при обнаружении контейнера для образца и обнаружении молока в данных цифрового изображения состоит в том, что каждый классификатор DLNN может быть обучен специально для выполнения индивидуальной задачи классификации и, таким образом, может быть лучше оптимизирован для выполнения этой задачи.[0027] In this second object detection sub-step 1128, the digital image data is input to a classifier, preferably a DLNN classifier, that is trained to identify the presence or absence (in some embodiments, additionally or alternatively, the amount) of milk representation in the digital image input data that is implemented in the processor. The DLNN classifier that is used in this sub-step 1128 may in some implementations be configured to classify milk in implementation step 100 described above, in other implementations it may be a separate DLNN classifier, and in still other implementations it may be the same DLNN classifier that is used when detecting the container for the sample in the object detection sub-step 1124 . The advantage of using different DLNN classifiers to classify milk in sample container detection and milk detection in digital image data is that each DLNN classifier can be trained specifically for an individual classification task and thus can be better optimized for that task. .

[0028] На этом подэтапе 1128 обнаружения второго объекта классификатор DLNN действует для извлечения признаков, относящихся к молоку, представленных в данных цифрового изображения, и генерирования соответствующего вектора признаков. На втором подэтапе 1130 принятия решения вектор признаков, сгенерированный на подэтапе 1128 обнаружения второго объекта, обрабатывают для определения наличия или отсутствия представления молока в данных цифрового изображения. Если нет, как показано ветвью N на втором подэтапе 1130 принятия решения, выполнение обработки данных цифрового изображения (на этапах 104-110) для классификации молока не требуется, и способ завершается на подэтапе 1126 завершения.[0028] In this second object detection sub-step 1128, the DLNN classifier operates to extract features related to milk represented in the digital image data and generate a corresponding feature vector. In the second decision sub-step 1130, the feature vector generated in the second object detection sub-step 1128 is processed to determine whether or not milk is represented in the digital image data. If not, as shown by the N branch in the second decision sub-step 1130, no processing of the digital image data (steps 104-110) is required to classify the milk, and the method ends in the end sub-step 1126.

[0029] Если молоко присутствует, как показано ветвью Y на втором подэтапе 1130 принятия решения, способ продолжается (на этапах 104-110) с осуществлением классификации молока, представленного в данных цифрового изображения молока, полученных на этапе 102.[0029] If milk is present, as indicated by the Y branch in the second decision sub-step 1130, the method continues (at steps 104-110) to classify the milk represented in the milk digital image data obtained at step 102.

[0030] За счет использования необязательного этапа 112 подтверждения можно избежать ненужной обработки и классификации изображений, что снижает затраты на обработку и время обработки. В некоторых вариантах реализации дополнительное сокращение затрат на обработку и времени может быть получено путем пропуска этапов 1122, 1124 обнаружения контейнера для образцов, поскольку классификация молока не может выполняться при отсутствии представления молока в данных цифрового изображения.[0030] By using the optional confirmation step 112, unnecessary image processing and classification can be avoided, which reduces processing costs and processing time. In some implementations, further reductions in processing costs and time can be obtained by skipping sample container detection steps 1122, 1124, since milk classification cannot be performed in the absence of milk representation in digital image data.

[0031] Пример классификатора 200 DLNN, который реализован в одном или более процессорах и который может использоваться в способе согласно настоящему изобретению, например, способе, описанном со ссылкой на ФИГ. 1, ниже описан более подробно со ссылкой на ФИГ. 2. Приведенный для примера классификатор 200 DLNN содержит: экстрактор 202, который в настоящем варианте реализации реализован с использованием архитектуры сверточной нейронной сети (convolutional neural network, CNN); входной модуль 204, предшествующий экстрактору 202; и выходной модуль 206, следующий за экстрактором 202. Во время классификации данные в классификаторе 200 DLNN проходят в прямом направлении от входного модуля 204 через экстрактор 202 к выходному модулю 206.[0031] An example of a DLNN classifier 200 that is implemented in one or more processors and that can be used in the method of the present invention, such as the method described with reference to FIG. 1 is described in more detail below with reference to FIG. 2. The exemplary DLNN classifier 200 includes: an extractor 202, which in the present embodiment is implemented using a convolutional neural network (CNN) architecture; an input module 204 preceding the extractor 202; and an output module 206 following the extractor 202. During classification, the data in the DLNN classifier 200 passes forward from the input module 204 through the extractor 202 to the output module 206.

[0032] В настоящем примере входной модуль 204 выполнен с возможностью преобразования изображения 208 в матрицу M, содержащую данные цифрового изображения, и ее передачи экстрактору 202. Каждая ячейка матрицы M принимает и хранит различное значение интенсивности пикселя входного изображения 208. Таким образом, для входного изображения размером, например, 720 пикселей в ширину и 480 пикселей в высоту потребуется матрица M размером 720x480. Когда входное изображение 208 является цветным изображением, каждый пиксель может быть представлен тремя значениями интенсивности: красным, зеленым и синим значениями интенсивности, и в некоторых вариантах реализации (как показано на ФИГ. 2) матрица M, следовательно, будет иметь размер 720x480x3 ячеек, где 3 - количество каналов, включая в данном случае красный, зеленый и синий каналы. В некоторых вариантах реализации изображение может быть гиперспектральным изображением, и матрица обязательно будет иметь более трех каналов для представления изображения. В некоторых вариантах реализации входной модуль 204 также может быть реализован известным способом для выполнения обработки изображения, такой как, например, изменение размера изображения, чтобы гарантировать, что каждая матрица M, переданная экстрактору 202, имеет одинаковый объем данных или изменение цвета в порядке для улучшения определенных функций изображения.[0032] In the present example, the input module 204 is configured to convert the image 208 into a matrix M containing digital image data and transmit it to the extractor 202. Each cell of the matrix M receives and stores a different pixel intensity value of the input image 208. Thus, for the input images that are, for example, 720 pixels wide by 480 pixels high would require an M matrix of 720x480. When the input image 208 is a color image, each pixel can be represented by three intensity values: red, green and blue intensity values, and in some implementations (as shown in FIG. 2) the matrix M will therefore have a size of 720x480x3 cells, where 3 is the number of channels, including in this case the red, green and blue channels. In some embodiments, the image may be a hyperspectral image and the matrix will necessarily have more than three channels to represent the image. In some embodiments, the input module 204 may also be implemented in a known manner to perform image processing, such as, for example, resizing the image to ensure that each matrix M passed to the extractor 202 has the same amount of data, or recoloring in order to improve certain image features.

[0033] Экстрактор 202 содержит несколько (в данном случае показаны два) скрытых сверточных модулей C1, C2, которые действуют способом, хорошо известным в данной области техники, для извлечения признаков из входных данных цифрового изображения, содержащихся в матрице M, и создания вектора F признаков для передачи выходному модулю 206. В настоящем примере скрытый сверточный модуль C1 обрабатывает входные данные цифрового изображения в матрице M, передаваемые от входного модуля 204, сверткой каждого канала по очереди с использованием взвешенного фильтра WF1 (в некоторых вариантах реализации взвешенных фильтров) для создания карты FM1 карта признаков (в некоторых вариантах реализации карт признаков), которая по существу является картой местоположения (местоположений) ассоциированного признака в изображении, представленном входными данными цифрового изображения. Если необходимо извлечь более одного признака, различные взвешенные фильтры, каждый из которых обучен извлекать интересующий признак, свертываются вместе с входными данными цифрового изображения в передаваемой матрице M для генерации соответствующей карты признаков. Затем карту признаков (или каждый из них) распространяют на слой P1 объединения, который обрабатывает карту признаков для обеспечения агрегирования с понижающей дискретизацией по пространству и генерируют соответствующую сокращенную карту RFM1 признаков, имеющую пространственную инвариантность к входным искажениям и трансляциям. Эту сокращенную карту (или карты) признаков в данном примере распространяют на следующий скрытый сверточный модуль C2, в котором указанную сокращенную карту признаков из предыдущего сверточного модуля (в данном случае C1) обрабатывают путем свертки с одним или несколькими другими взвешенными фильтрами WF2, WF3, а результирующую одну или более карт FM2 признаков обрабатывают на слое P2 объединения, аналогичном слою P1 объединения, описанному выше, для создания новой сокращенной карты RFM2 признаков. Новая сокращенная карта RFM2 признаков обычно отображает признаки более высокого уровня в данных цифрового изображения из входного модуля 204.[0033] The extractor 202 includes several (here shown two) hidden convolutional modules C1, C2 that operate in a manner well known in the art to extract features from the input digital image data contained in the matrix M and generate a vector F features to be passed to output module 206. In the present example, hidden convolution module C1 processes the input digital image data in matrix M from input module 204 by convolving each channel in turn using a weighted filter WF1 (in some implementations of weighted filters) to create a map FM1 is a feature map (in some implementations of feature maps), which is essentially a map of the location(s) of an associated feature in the image represented by the digital image input data. If more than one feature needs to be extracted, different weighted filters, each trained to extract the feature of interest, are convolved along with the digital image input data in the transmitted matrix M to generate a corresponding feature map. The feature map (or each of them) is then distributed to the fusion layer P1, which processes the feature map to provide spatial downsampling aggregation and generates a corresponding reduced feature map RFM1 having spatial invariance to input distortions and translations. This reduced feature map(s) in this example is propagated to the next hidden convolutional module C2, in which said reduced feature map from the previous convolutional module (in this case C1) is processed by convolution with one or more other weighted filters WF2, WF3, and the resulting one or more feature maps FM2 is processed on a pooling layer P2, similar to the pooling layer P1 described above, to generate a new reduced feature map RFM2. The new reduced feature map RFM2 typically maps the higher level features in the digital image data from the input module 204.

[0034] В некоторых вариантах реализации, а также как известно в данной области техники, один или более скрытых сверточных модулей C1, C2 могут содержать другие слои, обеспеченные для повышения устойчивости модели, такие как слои, называемые «функциями активации» для обеспечения нелинейности, например, слои с блоком линейной ректификации (Rectified Linear Unit, ReLU), которые способствуют преобразованию отрицательных значений в нулевые, и/или нормализационные слои, которые могут обеспечивать отбеливание или латеральное торможение.[0034] In some implementations, and as is known in the art, one or more of the hidden convolutional modules C1, C2 may contain other layers provided to increase the robustness of the model, such as layers called "activation functions" to provide non-linearity, for example, layers with a linear rectification block (Rectified Linear Unit, ReLU), which contribute to the conversion of negative values to zero, and / or normalization layers, which can provide whitening or lateral inhibition.

[0035] Затем признаки оконечной сокращенной карты признаков, в данном случае карты RFM2 признаков, сгенерированной после обработки всеми сверточными модулями C1, C2, объединяют в последний слой данного основанного на CNN экстрактора 202 для генерации вектора F признаков, распространяемый на имеющий скрытую метку слой L предсказания выходного модуля 206. Слой L предсказания с меткой содержит один или более слоев полносвязных узлов, которые также могут включать в себя функции активации. Каждый узел одного слоя связан с каждым узлом предыдущего слоя посредством индивидуально взвешенного соединения, а каждый узел может иметь индивидуальное смещение. В некоторых вариантах реализации могут использоваться дополнительные данные обучающего изображения для обновления указанных весов и/или смещений с целью улучшения предсказания классификатора 200 DLNN.[0035] The features of the final reduced feature map, in this case the feature map RFM2, generated after processing by all convolutional modules C1, C2, are then combined into the last layer of this CNN-based extractor 202 to generate a feature vector F propagated to the latent labeled layer L output module prediction 206. The labeled prediction layer L comprises one or more fully connected node layers, which may also include activation functions. Each node of one layer is connected to each node of the previous layer by means of an individually weighted connection, and each node can have an individual offset. In some embodiments, additional training image data may be used to update the specified weights and/or biases to improve the prediction of the DLNN classifier 200.

[0036] Слой L предсказания метки обеспечивает генерацию n-мерного вектора, где n - количество возможных классов, на которые может быть классифицировано входное изображение 208 (в настоящем варианте реализации имеются два возможных класса: ХОРОШИЙ/ПЛОХОЙ). Каждое число в этом n-мерном векторе представляет вероятность того, что изображение 208 (или его части) принадлежит конкретному классу из n классов. Этот слой L предсказания меток, например, может быть выполнен с возможностью использования так называемой функции активации «SOFTMAX» или выполнен в виде так называемой машины опорных векторов (Support Vector Machine, SVM) для получения этих вероятностей. В настоящем варианте реализации выходные данные O1, O2 для каждого возможного класса заполняются оценкой вероятности в n-мерном векторе. Эти выходные данные O1 и O2 или в некоторых вариантах реализации только один набор выходных данных, имеющий наивысшую вероятность, заданы так, что являются доступными вне классификатора 200 DLNN, например, для использования при генерации одного или более зависимых сообщений для отображения на экране отображающего устройства или при генерации управляющего сигнала для управления работой внешних устройств для отвода пробы молока.[0036] The label prediction layer L generates an n-dimensional vector, where n is the number of possible classes into which the input image 208 can be classified (in the present embodiment, there are two possible classes: GOOD/BAD). Each number in this n-dimensional vector represents the probability that image 208 (or a portion thereof) belongs to a particular class of the n classes. This label prediction layer L, for example, can be configured to use a so-called "SOFTMAX" activation function or implemented as a so-called support vector machine (Support Vector Machine, SVM) to obtain these probabilities. In the present implementation, the output O1, O2 for each possible class is filled with a probability score in an n-dimensional vector. These O1 and O2 outputs, or in some implementations only the one set of outputs having the highest probability, are set to be available outside the DLNN classifier 200, for example, for use in generating one or more dependent messages for display on a display screen or when generating a control signal to control the operation of external devices for removing milk samples.

[0037] Следует понимать, что для извлечения из входного изображения 208 информации о признаках могут использоваться сети, отличные от сетей сверточной обработки. Например, для выполнения этой функции могут использоваться сети глубокого доверия, которые представляют собой сложенные слои ограниченных машин Больцмана, а также автоэнкодеры и генеративно-состязательные сети.[0037] It should be understood that networks other than convolutional networks may be used to extract feature information from the input image 208. For example, deep belief networks, which are stacked layers of bounded Boltzmann machines, as well as autoencoders and generative adversarial networks, can be used to perform this function.

[0038] Классификатор нейронной сети с глубоким обучением в соответствии с настоящим изобретением, например, классификатор 200 DLNN на ФИГ. 2, может быть обучен (или переобучен) путем трансферного обучения для генерирования взвешенных фильтров сверточных модулей C1, C2. Веса и/или смещения каждого соединения слоя L предсказания метки могут быть дополнительно или альтернативно переобучены таким образом. Обычно взвешенные фильтры сверточных модулей C1, C2 остаются фиксированными, и только веса и/или смещения соединений в слое L предсказания метки регулируются во время последующей точной настройки, как будет описано ниже.[0038] A deep learning neural network classifier in accordance with the present invention, such as the DLNN classifier 200 in FIG. 2 can be trained (or retrained) by transfer learning to generate weighted filters of convolutional modules C1, C2. The weights and/or biases of each connection of the label prediction layer L can be additionally or alternatively retrained in this way. Typically, the weighted filters of the convolutional modules C1, C2 remain fixed, and only the weights and/or offsets of the connections in the label prediction layer L are adjusted during subsequent fine tuning, as will be described below.

[0039] Ниже исключительно для примера будет описано обучение классификатора нейронной сети с глубоким обучением со ссылкой на классификацию образцов молока только по двум классам, например, ХОРОШО или ПЛОХО, но понятно, что классификатор можно обучить классифицировать пробы молока как принадлежащие к одному классу или любому количеству классов при условии, что характеристики класса визуально проявляются на изображении молока.[0039] The following will describe, purely by way of example, training a deep learning neural network classifier with reference to classifying milk samples into only two classes, such as GOOD or BAD, but it will be understood that the classifier can be trained to classify milk samples as belonging to one class or any the number of classes, provided that the characteristics of the class are visually manifested in the image of milk.

[0040] Классификатор нейронной сети с глубоким обучением, например классификатор 200 DLNN, может быть обучен без использования предыдущих данных или информации (т.е. с нуля) или может быть точно настроен в зависимости от размера обучающего набора в домене приложения. Обучение классификатора нейронной сети с глубоким обучением может включать две фазы. В фазе инициализации обучения классификатору нейронной сети с глубоким обучением в качестве обучающих данных может быть передан очень большой набор изображений с множеством предметов, не связанных с молоком. Например, для инициализации взвешенных фильтров, а также весов и смещений классификатора нейронной сети с глубоким обучением могут служить изображения из коллекции ImageNet. В фазе настройки обучения специализированные изображения образцов молока, содержащие ожидаемые отклонения и аннотированные как таковые (данные обучающего изображения), могут быть переданы классификатору нейронной сети с глубоким обучением в качестве обучающих данных. Обучающие данные могут включать в себя набор изображений образцов молока, которые известны как не имеющие аномалий и аннотированы как таковые. На основе присутствия каких-либо аномальных частей в изображении для всего обучающего изображения может быть определена метка, которая может быть легко получена в режиме реального времени без значительных усилий при маркировке. Аномальные области на обучающих изображениях не нуждаются в определении, сегментировании или очерчивании. Адекватный обучающий образ может быть определен как имеющий по меньшей мере один аномальный пиксель. Каждый обучающий образ может быть помечен или аннотирован и сохранен перед обучением классификатора DLNN. Например, обучающее изображение образца молока, имеющего аномальные области, может быть аннотировано как «ПЛОХОЕ», а обучающее изображение образца молока, не имеющего аномальных областей, может быть аннотировано как «ХОРОШЕЕ». Благодаря применению аннотаций на уровне изображений процесс обучения значительно упрощается и может быть завершен с меньшими усилиями. Обучающие данные с метками уровня изображения могут состоять из значительного количества выборок, например нескольких сотен выборок, для каждого класса с метками уровня изображения. Изображения, выбранные для обучающих данных с метками ограничивающего прямоугольника, могут состоять из меньшего количества выборок, например около 20 изображений для каждого класса, с ограничивающими прямоугольниками, охватывающими ключевые маркеры на изображении, которые помогают обнаруживать отклонения. Из образцов изображений каждого класса могут быть вырезаны фрагменты изображения, которые могут быть помечены с включением маркеров с той же самой меткой класса уровня изображения, соответствующей изображению, из которого вырезаны указанные фрагменты. Размер фрагментов изображения может быть изменен в соответствии с размером исходного изображения. После того, как все наборы изображений обучающих данных сгенерированы и изменен их размер, классификатор нейронной сети глубокого обучения может быть обучен путем применения обучающих данных. Классификатор DLNN 200 может быть обучен с использованием известных методологий трансферного обучения, причем в данном случае данные обучения применяются как переобучение или «настройка» после фазы инициализации обучения классификатора нейронной сети с глубоким обучением с использованием одного из общедоступных наборов обучающих данных, например, сети ImageNet, ImageNet или Microsoft Common Objects in Context. Обычно взвешенные фильтры, обученные во время этой фазы инициализации обучения, остаются фиксированными, и только веса и смещения соединений между узлами слоев в слое L предсказания метки впоследствии могут быть изменены во время фазы уточнения или «настройки». Набор обучающих данных из помеченных изображений молока может быть расширен или заменен другими помеченными изображениями молока и применен к существующему классификатору DLNN молока для его переобучения или улучшения обучения.[0040] A deep learning neural network classifier, such as the DLNN classifier 200, can be trained without using previous data or information (i.e., from scratch) or can be fine-tuned depending on the size of the training set in the application domain. Training a deep learning neural network classifier can include two phases. In the training initialization phase of a deep learning neural network classifier, a very large set of images with many non-milk items can be passed as training data. For example, images from the ImageNet collection can be used to initialize weighted filters, as well as weights and biases of a deep learning neural network classifier. In the training tuning phase, specialized images of milk samples containing expected deviations and annotated as such (training image data) can be fed to a deep learning neural network classifier as training data. The training data may include a set of images of milk samples that are known to be free of anomalies and annotated as such. Based on the presence of any anomalous parts in the image, a label can be determined for the entire training image, which can be easily obtained in real time without significant labeling effort. Anomalous areas on training images do not need to be defined, segmented, or delineated. An adequate training image can be defined as having at least one anomalous pixel. Each training image can be labeled or annotated and saved before training the DLNN classifier. For example, a training image of a milk sample having abnormal areas may be annotated as "BAD", and a training image of a milk sample having no abnormal areas may be annotated as "GOOD". By applying image-level annotations, the training process is greatly simplified and can be completed with less effort. The image level labeled training data may consist of a significant number of samples, such as several hundred samples, for each image level labeled class. The images selected for the training data with bounding box labels may consist of fewer samples, such as about 20 images for each class, with bounding boxes covering key markers in the image to help detect outliers. From the sample images of each class, image fragments can be cut out, which can be labeled to include markers with the same image level class label corresponding to the image from which said fragments are cut. The size of image fragments can be changed according to the size of the original image. After all the training data image sets have been generated and resized, the deep learning neural network classifier can be trained by applying the training data. The DLNN classifier 200 can be trained using known transfer learning methodologies, in which case the training data is applied as retraining or "tuning" after the training initialization phase of the deep learning neural network classifier using one of the publicly available training datasets, such as the ImageNet network. ImageNet or Microsoft Common Objects in Context. Typically, the weighted filters trained during this training initialization phase remain fixed, and only the weights and biases of connections between layer nodes in the label prediction layer L can subsequently be changed during the refinement or "tuning" phase. The training data set from labeled milk images can be extended or replaced with other labeled milk images and applied to an existing DLNN milk classifier to retrain or improve training.

[0041] В некоторых вариантах реализации могут использоваться один или более дополнительных классификаторов DLNN, каждый из которых обучается отдельно, для идентификации дополнительных связанных с ним функций во входном изображении. Эти дополнительные функции отделены от функций, которые используются в классификаторе 200 DLNN для классификации молока, и несмотря на то, что классификатор 200 DLNN может быть также обучен для выполнения этих идентификаций, зачастую более гибким и надежным является обучение классификатора DLNN для одной цели. В настоящем варианте реализации со ссылкой на необязательный этап 112 подтверждения, показанный на ФИГ. 1, могут быть реализованы два дополнительных классификатора DLNN, один из которых предназначен для определения на этапе 1122 наличия или отсутствия контейнера для образца, а другой для определения на этапе 1128 наличия или отсутствия (даже наличия достаточного количества) молока. Каждый дополнительный классификатор DLNN может быть выполнен и обучен способом, аналогичным выполнению и обучению, описанным выше в отношении классификатора 200 DLNN, и может быть выполненный с возможностью работы последовательно с классификатором 200 DLNN, выполненным с возможностью классификации молока с последующим классификатором DLNN в последовательности, выполненной с возможностью работы в зависимости от классификации, созданной непосредственно предшествующим классификатором DLNN в указанной последовательности. Таким образом, в соответствии с приведенным для примера способом, показанным на ФИГ. 1, на этапе 1122 выполняется первая классификация DLNN изображения 208 для определения наличия или отсутствия контейнера для образца. Второй классификатор DLNN запускают для выполнения классификации, если первый классификатор определяет на этапе 1124 наличие чашки для образца. Затем на этапе 1128 выполняют вторую классификацию DLNN данных изображения для определения наличия или отсутствия молока во входном изображении 208, и в случае определения на этапе 1130 наличия молока запускают работу классификатора 200 DLNN для выполнения классификации молока на изображении 208. В других вариантах реализации входные данные цифрового изображения, представляющие одно или более отдельных изображений, могут быть переданы экстрактору соответствующего классификатора DLNN.[0041] In some implementations, one or more additional DLNN classifiers, each trained separately, may be used to identify additional associated features in the input image. These additional functions are separate from those used in the DLNN classifier 200 to classify milk, and while the DLNN classifier 200 can also be trained to perform these identifications, it is often more flexible and robust to train the DLNN classifier for a single purpose. In the present embodiment, with reference to the optional confirmation step 112 shown in FIG. 1, two additional DLNN classifiers can be implemented, one for determining at step 1122 the presence or absence of a sample container, and the other for determining at step 1128 the presence or absence (even the presence of a sufficient amount) of milk. Each additional DLNN classifier may be implemented and trained in a manner similar to the execution and training described above with respect to the DLNN classifier 200 and may be configured to operate sequentially with the DLNN classifier 200 configured to classify milk followed by the DLNN classifier in sequence performed with the ability to work depending on the classification created by the immediately preceding DLNN classifier in the specified sequence. Thus, in accordance with the exemplary method shown in FIG. 1, at step 1122, a first DLNN classification of image 208 is performed to determine the presence or absence of a sample container. The second DLNN classifier is triggered to perform classification if the first classifier determines in step 1124 that a sample cup is present. Then, at step 1128, a second DLNN classification of the image data is performed to determine the presence or absence of milk in the input image 208, and in the case of determining the presence of milk at step 1130, the DLNN classifier 200 is run to perform the classification of milk on the image 208. In other implementations, the input data is digital images representing one or more individual images may be passed to the extractor of the respective DLNN classifier.

[0042] На ФИГ.3 схематично изображен вариант реализации системы 300 классификации молока согласно настоящему изобретению, подходящей для реализации классификатора 200 DLNN, показанного на ФИГ. 2, для классификации молока, представленного в данных цифрового изображения, как принадлежащего к классу среди множества классов.[0042] FIG. 3 schematically depicts an implementation of a milk classification system 300 according to the present invention, suitable for implementing the DLNN classifier 200 shown in FIG. 2 to classify the milk represented in the digital image data as belonging to a class among a plurality of classes.

[0043] Система 300 содержит устройство 302 ввода, вычислительное устройство 304 и устройство 306 вывода.[0043] System 300 includes an input device 302, a computing device 304, and an output device 306.

[0044] Устройство 302 ввода выполнено с возможностью генерирования цифрового представления изображения образца 208 молока и обеспечения этого представления для обработки в вычислительном устройстве 304.[0044] The input device 302 is configured to generate a digital representation of the image of the milk sample 208 and provide this representation for processing in the computing device 304.

[0045] В некоторых вариантах реализации устройство 302 ввода содержит цифровую камеру или другое обнаружительное устройство 3022, включая в случае необходимости элементы оптического кондиционирования (такие как линзы и фильтры), адаптированные для создания цифровых изображений образцов молока, которые могут быть расположены на столике 3024 для создания изображения в поле обзора цифровой камеры или обнаружительного устройства 3022. Столик 3024 для создания изображения в некоторых вариантах реализации может быть областью в пространстве, в которой размещен образец молока или через которую он транспортируется, например, на перемещаемой ленте или дорожке, или распылен или иным образом протекает через указанное свободное пространство, или может быть держателем, на котором закреплен или размещен образец молока. В случае необходимости устройство 302 ввода может включать в себя источник 3026 освещения, приспособленный для освещения образцов, расположенных на столике 3024 для формирования изображения. Кондиционирующие оптические элементы и/или источник 3026 освещения могут быть адаптированы для обеспечения того, чтобы в детектор (камеру или обнаружительное устройство) попадал только свет в пределах определенного диапазона длин волн, например, путем обеспечения того, чтобы свет этого диапазона длин волн освещал образец через выбранные соответствующим образом фильтры и/или испускался источником 3026 излучения соответствующих длин волн. Этот выбор только ограниченного диапазона длин волн также может быть достигнут путем соответствующей обработки данных цифрового изображения после его захвата, чтобы удалить информацию из полученного изображения, которая не связана с интересующей областью длин волн. В некоторых вариантах реализации источник 3026 освещения и камера/обнаружительное устройство 3022 могут быть ориентированы относительно столика 3024 для создания изображения таким образом, что только свет, прошедший через образец на столике 3024 для создания изображения, обнаруживается камерой/обнаружительным устройством 3022, причем в других вариантах реализации конфигурация может быть такой, что обнаруживается свет, отраженный от образца, при этом еще в одних вариантах реализации конфигурация может быть такой, что для каждого из прошедшего и отраженного света генерируются отдельные изображения.[0045] In some embodiments, input device 302 includes a digital camera or other detection device 3022, including optional optical conditioning elements (such as lenses and filters) adapted to create digital images of milk samples, which can be positioned on stage 3024 for creating an image in the field of view of a digital camera or detection device 3022. The stage 3024 for creating an image in some implementations may be an area in space in which a sample of milk is placed or through which it is transported, for example, on a moving belt or track, or sprayed or otherwise flows through said free space, or may be a holder on which a milk sample is fixed or placed. Optionally, the input device 302 may include an illumination source 3026 adapted to illuminate the samples located on the imaging stage 3024. The conditioning optics and/or illumination source 3026 may be adapted to ensure that only light within a certain wavelength range enters the detector (camera or detection device), for example, by ensuring that light from that wavelength range illuminates the sample through appropriately selected filters and/or emitted by the radiation source 3026 of the appropriate wavelengths. This selection of only a limited range of wavelengths can also be achieved by appropriately processing the digital image data after it has been captured to remove information from the acquired image that is not related to the wavelength region of interest. In some embodiments, the illumination source 3026 and the camera/detector 3022 may be oriented with respect to the imaging stage 3024 such that only light that has passed through the sample on the imaging stage 3024 is detected by the camera/detector 3022, in other embodiments implementations, the configuration may be such that light reflected from the sample is detected, while in still other implementations, the configuration may be such that separate images are generated for each of the transmitted and reflected light.

[0046] В некоторых вариантах реализации устройство 302 ввода может быть обычным цифровым преобразователем, например, планшетным сканером, который выполнен с возможностью преобразования бумажной копии изображения пробы молока в цифровое представление этого изображения.[0046] In some embodiments, input device 302 may be a conventional digitizer, such as a flatbed scanner, that is configured to convert a paper copy of a milk sample image into a digital representation of that image.

[0047] В некоторых вариантах реализации устройство 302 ввода может содержать запоминающее устройство и считывающее устройство. Запоминающее устройство выполнено с возможностью хранения цифровых изображений образцов молока в материальном машиночитаемом носителе и, например, может содержать привод CD-ROM или другой оптический носитель, запоминающее устройство USB или другое твердотельное запоминающее устройство или удаленные запоминающие устройства массовой информации, реализованные в одном или более серверов. Считывающее устройство выполнено с возможностью доступа к устройству хранения и получения цифрового изображения пробы молока, хранящейся в указанном устройстве, для передачи в качестве данных цифрового изображения вычислительному устройству 304.[0047] In some implementations, input device 302 may include a storage device and a reader. The storage device is configured to store digital images of milk samples in a tangible computer-readable medium and, for example, may include a CD-ROM drive or other optical media, a USB storage device or other solid-state storage device, or remote mass storage devices implemented in one or more servers. . The reader is configured to access the storage device and obtain a digital image of the milk sample stored in said device for transmission as digital image data to the computing device 304.

[0048] Вычислительное устройство 304 содержит: один или более интерфейсов 3042 связи для одного или обоих из принимаемых данных и передаваемых данных вычислительного устройства 304; процессор 3044, который может содержать один или более обрабатывающих блоков, таких как, например, один или более выделенных микропроцессоров, обычных одноядерных или многоядерных компьютерных процессоров (ЦП), соответствующим образом адаптированный графический процессор (ГП) или блок нейронной обработки (НПУ); системную память 3046 и в случае необходимости внутреннее или удаленно доступное запоминающее устройство 3048.[0048] The computing device 304 includes: one or more communication interfaces 3042 for one or both of the received data and transmitted data of the computing device 304; a processor 3044, which may include one or more processing units, such as, for example, one or more dedicated microprocessors, conventional single or multi-core computer processors (CPUs), a suitably adapted graphics processing unit (GPU), or a neural processing unit (NPU); system memory 3046 and, if necessary, internal or remotely accessible storage 3048.

[0049] Программный код в настоящем варианте реализации загружают в системную память 3046 для исполнения процессором 3044. Этот программный код может храниться временно или постоянно в системной памяти 3046, может быть сделан доступным для системной памяти 3046 (или непосредственно для процессора 3044) из внутреннего или внешнего запоминающего устройства 3048, если таковое присутствует, или может храниться частично внутри вычислительного устройства 304 и частично вне вычислительного устройства 304. Указанный программный код, хранящийся во внешнем запоминающем устройстве, имеет то преимущество, что переобучение или дополнительное обучение классификатора DLNN, например, классификатора 200 DLNN, показанного на ФИГ. 2, может выполняться централизованно, и та же самая новая модель может быть развернута в одном или более вычислительных устройствах 304 одной или более систем 300 для классификации молока.[0049] The program code in the present embodiment is loaded into system memory 3046 for execution by processor 3044. This program code may be stored temporarily or permanently in system memory 3046, may be made available to system memory 3046 (or directly to processor 3044) from internal or external storage device 3048, if present, or may be stored partly within computing device 304 and partly outside computing device 304. Said program code stored in external storage has the advantage that retraining or additional training of a DLNN classifier, such as classifier 200 DLNN shown in FIG. 2 may be performed centrally and the same new model may be deployed on one or more computing devices 304 of one or more milk classification systems 300.

[0050] Программный код содержит инструкции, которые при их исполнении одним или более обрабатывающих модулей процессора 3044 принуждают процессор 3044 реализовывать классификатор DLNN, такой как классификатор 200 DLNN, описанный выше, согласно настоящему изобретению. В частности, в настоящем варианте реализации, когда программный код исполняется одним или более обрабатывающих модулей процессора 3044, вычислительное устройство 304 преобразуется в компьютер специального назначения, выполненный с возможностью решения задач, описанных в настоящем документе в отношении экстрактора 202, входного модуля 204 и выходного модуля 206 классификатора 200 DLNN. Таким образом, данные цифрового изображения, сгенерированные устройством 302 ввода, с соответствующей предварительной обработкой или без нее для получения желаемого формата данных, становятся доступными через интерфейс 3042 связи либо непосредственно для процессора 3044, либо опосредованно для процессора 3044 через системную память 3046; при этом процессор 3044: воздействует на эти данные цифрового изображения с их обработкой посредством реализованного классификатора DLNN для генерирования классификации образца молока на основе входных данных цифрового изображения; и делает созданную классификацию доступной с внешней стороны, в данном случае через интерфейс 3042 связи. Некоторые или все вероятности пробы молока, принадлежащие другим классам, доступным классификатору DLNN, также могут быть доступны с внешней стороны через интерфейс 3042 связи, причем эти другие вероятности также определяются в процессе классификации, реализованном процессором 3044.[0050] The program code contains instructions that, when executed by one or more processing modules of processor 3044, cause processor 3044 to implement a DLNN classifier, such as the DLNN classifier 200 described above, in accordance with the present invention. In particular, in the present embodiment, when the program code is executed by one or more processing modules of the processor 3044, the computing device 304 is converted into a special-purpose computer configured to perform the tasks described herein with respect to the extractor 202, the input module 204, and the output module. 206 classifier 200 DLNN. Thus, digital image data generated by the input device 302, with or without appropriate pre-processing to obtain the desired data format, is made available through the communication interface 3042 either directly to the processor 3044 or indirectly to the processor 3044 through the system memory 3046; wherein the processor 3044: acts on this digital image data and processes it by the implemented DLNN classifier to generate a classification of the milk sample based on the input digital image data; and makes the created classification available from the outside, in this case via the communication interface 3042 . Some or all of the milk sample probabilities belonging to other classes available to the DLNN classifier may also be externally accessible through the communication interface 3042, these other probabilities also being determined in the classification process implemented by the processor 3044.

[0051] Устройство 306 вывода согласно настоящего варианта реализации содержит интерфейс 3062 связи, отображающее устройство 3064 и генератор 3066 сигналов управления. Цифровая информация, доступная с внешней стороны через интерфейс 3042 связи вычислительного устройства 304, (т.е. классификация пробы молока, присутствующая на изображении, полученном устройством 302 ввода, и в случае необходимости вероятности пробы молока, принадлежащие некоторым или всем из классов, доступных для классификатора DLNN, как определено программируемым процессором 3044), принимается устройством 306 вывода через его интерфейс 3062 связи. Генератор 3066 управляющих сигналов принимает цифровую информацию от интерфейса 3062 связи и генерирует сигнал в зависимости от этой информации, как приведено для примера и изображено в настоящем варианте реализации, для управления отображающим устройством 3064 для отображения информации, относящейся к классификации пробы молока, которая была сгенерирована классификатором DLNN, реализованным процессором 3044. Такая отображаемая информация может быть непосредственно самой классификацией (например, альтернативными двоичными классификациями, такими как «ХОРОШИЙ» или «ПЛОХОЙ», «ПОДХОДЯЩИЙ» или «НЕПОДХОДЯЩИЙ») или может быть инструкциями для оператора, управляющего указанной классификацией, (например, командой «УДАЛИТЬ ОБРАЗЕЦ», если указанный образец классифицируется как «ПЛОХОЙ» или «НЕПОДХОДЯЩИЙ»). В некоторых вариантах реализации отображающее устройство 3064 может быть последовательностью световых индикаторов, например, красным световым индикатором для результата классификации «ПЛОХО» и зеленым световым индикатором для результата классификации «ХОРОШО», которые испускают свет по отдельности в зависимости от управляющего сигнала. В некоторых вариантах реализации отображающее устройство 3064 может быть звуковым генератором для звукового отображения результатов классификации.[0051] The output device 306 according to the present embodiment includes a communication interface 3062, a display device 3064, and a control signal generator 3066. Digital information available from the outside through the communication interface 3042 of the computing device 304 (i.e., the classification of the milk sample present in the image received by the input device 302 and, if necessary, the probabilities of the milk sample belonging to some or all of the classes available to classifier DLNN, as determined by the programmable processor 3044) is received by the output device 306 through its communication interface 3062. The control signal generator 3066 receives digital information from the communication interface 3062 and generates a signal depending on this information, as exemplary and depicted in the present embodiment, to control the display device 3064 to display information related to the milk sample classification that has been generated by the classifier. DLNN implemented by processor 3044. Such displayed information may be the classification itself (e.g., alternative binary classifications such as "GOOD" or "BAD", "GOOD" or "UNSUITABLE"), or may be instructions to the operator managing said classification, (for example, the command "DELETE SAMPLE" if the specified sample is classified as "POOR" or "UNSUITABLE"). In some implementations, the display device 3064 may be a sequence of lights, such as a red light for a BAD classification result and a green light for a GOOD classification result, which emit light individually depending on the control signal. In some implementations, the display device 3064 may be a sound generator for audio display of classification results.

[0052] Дополнительно или альтернативно генератор 3066 управляющего сигнала может быть выполнен с возможностью генерации управляющего сигнала, используемого для управления одним или более внешними устройствами, в зависимости от классификации, сгенерированной вычислительным устройством 304, как описано ниже. В таких вариантах реализации сигнал управления может быть доступен снаружи устройства 306 вывода через интерфейс 3062 связи, а в некоторых вариантах реализации отображающее устройство 3064 не служит полезной цели и может быть опущено.[0052] Additionally or alternatively, the control signal generator 3066 may be configured to generate a control signal used to control one or more external devices, depending on the classification generated by the computing device 304, as described below. In such implementations, the control signal may be available outside the output device 306 via the communication interface 3062, and in some implementations, the display device 3064 does not serve a useful purpose and may be omitted.

[0053] Система 300 может быть реализована с использованием стационарных компьютеров, портативных электронных устройств, портативных или мобильных компьютеров, сетевых или серверных компьютеров или мэйнфреймовых компьютеров. Определенные функции описаны как выполняемые одним устройством, но следует понимать, что настоящее изобретение не ограничивается этим, и понятно, что настоящее изобретение также может быть практически реализовано в распределенных вычислительных средах, в которых функции могут быть распределены среди разрозненных, но связанных друг с другом устройств цифровой обработки и запоминающих устройств, которые могут быть локальными или удаленными. Эти устройства обработки и запоминающие устройства могут быть связаны через сеть связи, такую как локальная сеть, глобальная сеть или Интернет.Инструкции, которые должны исполняться подходящим процессором, могут храниться на материальных машиночитаемых носителях, таких как компьютерные диски, предварительно запрограммированные компьютерные микросхемы или съемные твердотельные запоминающие устройства (такие как устройства памяти USB). Дополнительно или альтернативно инструкции могут передаваться по сети и распространяться как сигнал в подходящей среде распространения (например, с использованием электромагнитных или звуковых волн).[0053] System 300 may be implemented using desktop computers, portable electronic devices, laptop or mobile computers, networked or server computers, or mainframe computers. Certain functions are described as being performed by a single device, but it should be understood that the present invention is not limited thereto, and it is understood that the present invention may also be practiced in distributed computing environments where functions may be distributed among disparate but interconnected devices. digital processing and storage devices, which may be local or remote. These processing and storage devices may be connected via a communications network such as a local area network, a wide area network, or the Internet. Instructions to be executed by a suitable processor may be stored on tangible computer-readable media such as computer disks, pre-programmed computer chips, or removable solid state storage devices (such as USB memory devices). Additionally or alternatively, the instructions may be transmitted over a network and propagated as a signal in a suitable propagation medium (eg, using electromagnetic or sound waves).

[0054] Передача цифровой информации от устройства 302 ввода к вычислительному устройству 304, от вычислительного устройства 304 к устройству 306 вывода и от внешнего вычислительного устройства 304 к его системной памяти 3046 или его процессору 3044, и вообще любая передача цифровой информации в системе согласно настоящему изобретению может осуществляться посредством фиксированной линии связи, такой как проводная сеть или проводное телекоммуникационное соединение, несущее модулированные сигналы данных, или может осуществляться посредством беспроводной линии связи для передачи одного или более модулированных сигналов данных или несущих волн, таких как радиочастота или инфракрасная оптическая связь.[0054] The transfer of digital information from an input device 302 to a computing device 304, from a computing device 304 to an output device 306, and from an external computing device 304 to its system memory 3046 or its processor 3044, and in general any transmission of digital information in the system according to the present invention may be via a fixed link, such as a wired network or a wired telecommunications connection carrying modulated data signals, or may be via a wireless link to transmit one or more modulated data signals or carrier waves, such as radio frequency or infrared optical communication.

[0055] На ФИГ. 4 показан (не в масштабе) пример анализатора 400 молока согласно настоящему изобретению. Анализатор 400 молока содержит блок 402 анализа молока и систему 404 классификации молока, в рабочем состоянии соединенную с ним. Блок 402 анализа молока включает в себя систему 4022 забора пробы, выполненную с возможностью управления работой перемещаемой пипетки 4024, через которую молоко подается из контейнера для пробы в средство для анализа (не показано) в блоке 402 анализа. Пипетка 4024 выполнена с возможностью перемещения для регулировки высоты ее наконечника 4026 над поверхностью. Следует понимать, что в блоке 402 анализа молока можно использовать любые методы анализа, такие как известные методы инфракрасной спектроскопии или проточной цитометрии.[0055] FIG. 4 shows (not to scale) an example of a milk analyzer 400 according to the present invention. The milk analyzer 400 includes a milk analysis unit 402 and a milk classification system 404 operatively connected thereto. The milk analysis unit 402 includes a sampling system 4022 configured to control the operation of a movable pipette 4024 through which milk is delivered from the sample container to an analysis means (not shown) in the analysis unit 402. The pipette 4024 is movable to adjust the height of its tip 4026 above the surface. It should be understood that any analysis methods can be used in the milk analysis unit 402, such as known methods of infrared spectroscopy or flow cytometry.

[0056] Система 404 классификации молока выполнена с возможностью: получения изображения молока из контейнера для пробы; создания классификации изображаемого молока с использованием классификатора DLNN, такого как классификатор 200 DLNN, описанный выше со ссылкой на ФИГ. 2, обученного с использованием помеченных изображений молока из классов, в которые изображаемое молоко может быть классифицировано, и реализованной в процессоре системы 404 для классификации молока; и управления подачей молока в блок анализа в зависимости от сгенерированной классификации.[0056] The milk classification system 404 is configured to: obtain an image of the milk from the sample container; generating a classification of displayed milk using a DLNN classifier, such as the DLNN classifier 200 described above with reference to FIG. 2 trained using labeled milk images from the classes into which the imaged milk can be classified and implemented in the processor of the milk classification system 404; and controlling the supply of milk to the analysis unit depending on the generated classification.

[0057] В настоящем варианте реализации анализатор 400 молока расположен относительно транспортирующей системы 406, такой как ленточный транспортер, с возможностью размещения его пипетки 4024 над горизонтальной поверхностью 4062 транспортирующей системы 406, так что пипетка при ее перемещении может входить в контейнеры 408a..d для образца и выходить из контейнеров 408a..d для образца, удерживаемых в штативе 410 для образцов, когда они последовательно проходят под пипеткой 4024 при перемещении транспортирующей системы 406 в направлении стрелки, показанной на чертеже. Контейнеры 408a..d для образцов могут содержать молоко (например, контейнеры 408a, 408b и 408d), однако контейнеры для образцов (например, контейнер 408b) могут содержать недостаточное количество молока для анализа, контейнеры для образцов (например, контейнер 408c) могут быть пустыми, или контейнеры для образцов могут отсутствовать, а штатив 410 имеет свободное место держателя (например, 4102).[0057] In the present embodiment, the milk analyzer 400 is located relative to a transport system 406, such as a conveyor belt, with the possibility of placing its pipette 4024 above the horizontal surface 4062 of the transport system 406, so that the pipette, when it is moved, can enter into containers 408a..d for sample and exit the sample containers 408a..d held in the sample rack 410 as they pass successively under the pipette 4024 while moving the transport system 406 in the direction of the arrow shown in the figure. Sample containers 408a..d may contain milk (e.g. containers 408a, 408b and 408d), however sample containers (e.g. container 408b) may contain insufficient milk for analysis, sample containers (e.g. container 408c) may be empty, or there may be no sample containers and the rack 410 has an empty holder space (eg 4102).

[0058] Только для примера и простоты описания, система 404 классификации молока согласно настоящего варианту реализации описана ниже как содержащая функциональные элементы системы 300 для классификации молока, уже описанные выше со ссылкой на ФИГ. 3. Таким образом, система 404 для классификации молока содержит устройство 302 ввода, вычислительное устройство 304 и устройство 306 вывода.[0058] For example and ease of description only, the milk classification system 404 according to the present embodiment is described below as comprising the functional elements of the milk classification system 300 already described above with reference to FIG. 3. Thus, the milk classification system 404 includes an input device 302, a computing device 304, and an output device 306.

[0059] Устройство 302 ввода в настоящем варианте реализации содержит две цифровые видеокамеры 4042, 4044. Первая цифровая видеокамера 4042 расположена таким образом, что ее поле обзора обращено вертикально вниз, а вторая цифровая видеокамера 4044 расположена таким образом, что ее поле обзора пересекает поле обзора первой цифровой видеокамеры 4042 и является перпендикулярным полю обзора первой камеры 4042, так что изображение любого контейнера 408a..d для образца может быть получено сверху первой цифровой видеокамерой 4042 и сбоку второй цифровой видеокамерой 4044. Преимущество получения изображения сбоку состоит в том, что наличие контейнера 408a..d для образца и в случае необходимости уровень молока в контейнере 408a, b, d для образца могут быть определены в настоящем варианте в настоящем варианте реализации по изображению с использованием классификатора DLNN, реализованного в вычислительном устройстве 302. Изображение, полученное сверху с помощью первой цифровой видеокамеры 4042, обрабатывается в дополнительном классификаторе DLNN, который также реализован в вычислительном устройстве 304 и который обучен с использованием помеченных изображений молока, для осуществления классификации молока, идентифицируя его как подходящее или неподходящее для анализа (т.е. с маловероятной или вероятной закупоркой) в анализаторе 400 молока. Этот дополнительный классификатор DLNN может, например, работать как описано выше в отношении классификатора 200 DLNN, показанного на ФИГ. 2. Две видеокамеры 4042, 4044 согласно настоящему варианту реализации расположены таким образом, что захватывают изображение местоположения перед пипеткой 4024 (в направлении перемещения транспортирующей системы 406) и, таким образом, перед средством для анализа в блоке 402 анализа молока, так что изображение любого контейнера 408a..d для образца на транспортирующей системе 406 захвачено сверху и сбоку перед тем, как он пройдет под пипеткой 4024.[0059] The input device 302 in the present embodiment includes two digital video cameras 4042, 4044. The first digital video camera 4042 is positioned such that its field of view faces vertically downwards, and the second digital video camera 4044 is positioned such that its field of view intersects the field of view of the first digital video camera 4042 and is perpendicular to the field of view of the first camera 4042 such that any sample container 408a..d can be imaged from above by the first digital video camera 4042 and from the side by the second digital video camera 4044. 408a..d for the sample and, if necessary, the level of milk in the container 408a, b, d for the sample can be determined in the present embodiment in the present embodiment from the image using the DLNN classifier implemented in the computing device 302. The image obtained from above with first digital video camera 4042, is processed in an additional DLNN classifier, which is also implemented in the computing device 304 and which is trained using labeled milk images, to classify milk, identifying it as suitable or not suitable for analysis (i.e. with unlikely or probable blockage) in the milk analyzer 400. This additional DLNN classifier may, for example, operate as described above with respect to the DLNN classifier 200 shown in FIG. 2. The two video cameras 4042, 4044 according to the present embodiment are positioned to capture an image of the location in front of the pipette 4024 (in the direction of movement of the transport system 406) and thus in front of the analysis means in the milk analysis unit 402, so that an image of any container 408a..d for the sample on the transport system 406 is gripped from above and from the side before it passes under the pipette 4024.

[0060] Следует принять во внимание, что могут использоваться другие расположения цифровых камер 4042, 4044, так что контейнеры с пробами можно рассматривать под разными углами, или можно использовать больше или меньше цифровых камер или других обнаружительных устройств, таких как неподвижная фотокамера или ПЗС-матрица (CCD sensor array). ПЗС-матрица может быть заменена видеокамерами 4042, 4044 без отклонения от заявленного изобретения. В настоящем варианте реализации изображения должны быть получены при окружающем свете, но в других вариантах реализации устройство 302 ввода также может включать в себя один или более источников освещения, которые могут включать в себя источники, адаптированные для испускания света в определенных узких спектральных областях, вместе с другими элементами оптического кондиционирования, такими как один или более оптических полосовых фильтров и/или линз.[0060] It should be appreciated that other arrangements of digital cameras 4042, 4044 may be used so that sample containers may be viewed from different angles, or more or fewer digital cameras or other detection devices such as a still camera or CCD may be used. matrix (CCD sensor array). The CCD can be replaced by video cameras 4042, 4044 without deviating from the claimed invention. In the present embodiment, images are to be acquired in ambient light, but in other embodiments, the input device 302 may also include one or more illumination sources, which may include sources adapted to emit light in certain narrow spectral regions, together with other optical conditioning elements such as one or more optical bandpass filters and/or lenses.

[0061] Устройство 306 вывода системы для классификации в данном случае содержит контроллер 3066, который генерирует управляющий сигнал в зависимости от результатов двоичной классификации молока, сгенерированной в вычислительном устройстве 304. Управляющий сигнал выводится в систему 4022 отбора пробы, которая выполнена с возможностью работы в зависимости от этого управляющего сигнала для управления отбором пробы молока в блок 402 анализа молока. В настоящем варианте реализации, когда сгенерированная классификация указывает на присутствие неподходящей пробы молока (молока, классифицированного как «ПЛОХОЕ»), генерируемый управляющий сигнал будет интерпретироваться в системе 4022 для отбора пробы как препятствующий подаче любой пробы молока из пипетки 4042 в средство для анализа блока 402 анализа молока.[0061] The output device 306 of the system for classification in this case includes a controller 3066 that generates a control signal depending on the results of the binary classification of milk generated in the computing device 304. The control signal is output to the sampling system 4022, which is configured to work depending on from this control signal to control milk sampling to the milk analysis unit 402 . In the present embodiment, when the generated classification indicates the presence of an unsuitable milk sample (milk classified as "BAD"), the generated control signal will be interpreted by the sampling system 4022 as preventing any milk sample from the pipette 4042 from being fed into the analysis facility of the block 402 milk analysis.

[0062] В некоторых вариантах реализации управляющий сигнал может быть передан за пределы блока 402 анализа молока в сортировочное устройство (не показано), такое как роботизированная рука или дефлектор, для отклонения контейнеров с пробами от следования по пути, указанному стрелкой, действующее в ответ на управляющий сигнал для удаления из транспортирующей системы 406 контейнеров, например, контейнеров 408b, 408c, которые классифицированы как содержащие неподходящий или недостаточный образец молока, и, таким образом, препятствующее подаче неподходящего образца в средство для анализа блока 402 анализа молока.[0062] In some embodiments, a control signal may be transmitted outside the milk analysis unit 402 to a sorting device (not shown), such as a robotic arm or deflector, to deflect the sample containers from following the path indicated by the arrow, acting in response to a control signal for removing from the transport system 406 containers, for example containers 408b, 408c, which are classified as containing an unsuitable or insufficient milk sample, and thus preventing the supply of an unsuitable sample to the analysis means of the milk analysis unit 402.

[0063] В некоторых вариантах реализации, как показано на ФИГ. 4 прерывистой линией, структуры 412, 304', весь классификатор DLNN или его часть может быть реализован или реализована в удаленном вычислительном устройстве 304'. Изображения, захваченные устройством 302 ввода, в данном случае передаются через Интернет 412 в удаленное вычислительное устройство 304'. Удаленное вычислительное устройство 304', как и вычислительное устройство 304, описанное выше, реализует классификатор DLNN для обработки захваченных изображений и выполнения двоичной классификации изображений, которые передаются обратно в качестве входных данных в устройство 306 вывода для использования при построении управляющего сигнала, как обсуждалось выше. Альтернативно удаленное вычислительное устройство 304' также может генерировать управляющий сигнал и передавать его назад в блок 402 анализа молока для использования при управлении захватом пробы молока (например, путем управления секцией 4022 забора пробы или сортировочным устройством).[0063] In some embodiments, as shown in FIG. 4 in broken line, structures 412, 304', all or part of the DLNN classifier may or may be implemented in remote computing device 304'. The images captured by the input device 302 are in this case transmitted over the Internet 412 to the remote computing device 304'. The remote computing device 304', like the computing device 304 described above, implements a DLNN classifier to process the captured images and perform binary classification on the images that are fed back as input to the output device 306 for use in constructing the control signal as discussed above. Alternatively, the remote computing device 304' may also generate a control signal and transmit it back to the milk analysis unit 402 for use in controlling the capture of the milk sample (eg, by controlling the sampling section 4022 or sorter).

[0064] На ФИГ. 5a показана часть еще одного варианта реализации анализатора 500 молока. Анализатор 500 молока содержит блок 502 анализа молока (показан только частично), который включает в себя систему 504 отбора пробы. Система 504 отбора пробы содержит держатель 506 контейнера и выполненную с возможностью перемещения пипетку 508, с помощью которой молоко из контейнера для пробы (не показан), размещенного в держателе 506 контейнера, транспортируется в средство для анализа в блоке 502 для анализа молока. Пипетка 508 может перемещаться под управлением системы 504 для забора пробы вдоль оси А с изменением ее высоты над основанием 5062 держателя 506 контейнера и, таким образом, может входить в контакт/выходить из контакта с молоком в контейнере для пробы, размещенном в держателе 506 контейнера.[0064] FIG. 5a shows part of another embodiment of a milk analyzer 500. The milk analyzer 500 includes a milk analysis unit 502 (only shown in part), which includes a sampling system 504. The sampling system 504 includes a container holder 506 and a movable pipette 508 by which milk is transported from a sample container (not shown) placed in the container holder 506 to the analysis facility in the milk analysis unit 502. The pipette 508 can be moved under the control of the sampling system 504 along axis A to change its height above the base 5062 of the container holder 506 and thus can come into contact with/out of contact with the milk in the sample container placed in the container holder 506.

[0065] Устройство 510 ввода системы для классификации молока согласно настоящему изобретению, описанное выше со ссылкой на ФИГ. 3, расположено по меньшей мере частично внутри системы 504 для отбора пробы. Устройство 510 ввода в данном случае содержит цифровую фотокамеру 5102, выполненную с возможностью получения изображений сверху контейнера для пробы молока, размещенного в держателе 506 контейнера.[0065] The input device 510 of the milk classification system according to the present invention, described above with reference to FIG. 3 is located at least partially within the sampling system 504. The input device 510 in this case includes a digital camera 5102 configured to take images from above the milk sample container placed in the container holder 506 .

[0066] Как обсуждалось выше в связи с анализатором 400 молока, изображенным на ФИГ. 4, данные цифрового изображения, представляющие изображения, полученные устройством 510 ввода, передаются в вычислительное устройство, например, в вычислительное устройство 304, показанное на ФИГ. 3, после чего, как описано выше, один или более блоков обработки процессора (например, процессора 3044 на ФИГ. 3), исполняющего программный код для реализации обученного классификатора DLNN (например, классификатора 200 на ФИГ. 2), обрабатывают данные цифрового изображения для генерирования классификации любого молока на изображении в соответствии с классом набора классов, доступных классификатору DLNN. Устройство вывода (например, устройство 306 вывода на ФИГ. 3) принимает классификацию, сгенерированную вычислительным устройством, и в зависимости от нее генерирует выходной сигнал. Затем выходной сигнал используется в блоке 502 анализа молока, чтобы препятствовать подаче молока в блок 502. В настоящем варианте реализации в дополнение к управляющему сигналу или вместо управляющего сигнала, используемого в системе забора пробы для управления работой пипетки 508 для предотвращения всасывания молока, если управляющий сигнал зависит от классификации, указывающей на отсутствие пробы образца молока (отсутствие контейнера для образца или пустой контейнер для образца, или недостаточно полный контейнер для образца) и/или наличие неподходящей пробы молока («ПЛОХОЕ» молоко), указанный управляющий сигнал используется для включения источника 512 света и/или другого генератора световых или звуковых сигналов, который образует отображающее устройство (например, отображающее устройство 3064 на ФИГ. 3) устройства вывода (например, устройство вывода 306 на ФИГ. 3) системы для классификации молока (например, системы 300 для классификации молока на ФИГ. 3) согласно настоящему изобретению.[0066] As discussed above in connection with the milk analyzer 400 depicted in FIG. 4, digital image data representing images acquired by the input device 510 is transmitted to a computing device, such as computing device 304 shown in FIG. 3, whereupon, as described above, one or more processor processing units (eg, processor 3044 in FIG. 3) executing program code for implementing the trained DLNN classifier (eg, classifier 200 in FIG. 2) process the digital image data to generating a classification of any milk in the image according to the class of the set of classes available to the DLNN classifier. An output device (eg, output device 306 in FIG. 3) receives the classification generated by the computing device and generates an output signal depending on it. The output signal is then used in the milk analysis block 502 to prevent milk from being supplied to the block 502. In the present embodiment, in addition to the control signal or instead of the control signal used in the sampling system to control the operation of the pipette 508 to prevent milk from being sucked in, if the control signal depends on the classification indicating the absence of a milk sample (missing sample container or empty sample container, or insufficiently full sample container) and/or the presence of an unsuitable milk sample (“BAD” milk), the specified control signal is used to turn on the source 512 light and/or other generator of light or sound signals that forms a display device (for example, display device 3064 in FIG. 3) an output device (for example, output device 306 in FIG. 3) of a system for classifying milk (for example, a system 300 for classifying milk in Fig. 3) according to the present invention.

[0067] На ФИГ. 5b показана часть еще одного варианта реализации анализатора 520 молока. В настоящем варианте реализации система классификации описана со ссылкой на систему 300 для классификации молока, показанную на ФИГ. 3 и описанную выше со ссылкой на этот чертеж.[0067] FIG. 5b shows part of another embodiment of a milk analyzer 520. In the present embodiment, the classification system is described with reference to the milk classification system 300 shown in FIG. 3 and described above with reference to this drawing.

[0068] Анализатор 520 молока содержит блок 522 анализа молока (показан только частично), сообщающийся по текучей среде с молоком в магистральном трубопроводе 524 (или в другом источнике сборного молока) через отводной трубопровод 528. Отводной трубопровод 528 соединен (в некоторых вариантах реализации соединен рассоединяемым способом) с внутренним трубопроводом 530 в блоке 522 анализа молока. Источник 532 освещения и обнаруживающая матрица 534 взаимодействуют с образованием части устройства ввода системы классификации согласно настоящему изобретению. Источник освещения может содержать множество отдельных генераторов 5322 света, каждый из которых может излучать свет с одинаковой или различной длиной волны, и каждый из которых может быть активирован для излучения света в любой последовательности, например, индивидуально последовательно или в сочетании, или одновременно, для обеспечения освещения желаемым спектром длин волн. Обнаруживающая матрица 534 в некоторых вариантах реализации может содержать выполненную известным способом матрицу индивидуально адресуемых сенсорных элементов, выходные сигналы которых зависят от интенсивности света, падающего на светочувствительную поверхность, и имеют значение, которое может находиться, например, в диапазоне значений от 0 до 256. Эти значения для отдельных сенсорных элементов передаются для заполнения ячеек входного матричного массива M, имеющего подходящий размер, классификатора DLNN согласно настоящему изобретению (например, классификатора 200 DLNN, показанного на ФИГ. 2), реализованного в вычислительном устройстве (например, вычислительном устройстве 304) системы 300 классификации.[0068] The milk analyzer 520 includes a milk analysis unit 522 (only shown partially) in fluid communication with the milk in the main pipeline 524 (or other source of collected milk) through the outlet pipeline 528. The outlet pipeline 528 is connected (in some embodiments, connected detachable way) with the internal pipeline 530 in the milk analysis unit 522. An illumination source 532 and a detection array 534 cooperate to form part of an input device of a classification system according to the present invention. The illumination source may comprise a plurality of individual light generators 5322, each of which may emit light at the same or different wavelengths, and each of which may be activated to emit light in any sequence, such as individually sequentially or in combination, or simultaneously, to provide illumination with the desired wavelength spectrum. The detection matrix 534 may, in some embodiments, comprise a matrix of individually addressable sensor elements made in a known manner, the output signals of which depend on the intensity of the light incident on the photosensitive surface and have a value that may be in the range of values from 0 to 256, for example. These values for individual sensor elements are passed to populate the cells of an appropriately sized input matrix array M of a DLNN classifier of the present invention (e.g., DLNN classifier 200 shown in FIG. 2) implemented in a computing device (e.g., computing device 304) of system 300 classification.

[0069] В настоящем варианте реализации источник 532 освещения и обнаруживающая матрица 534 расположены напротив друг друга с противоположных сторон прозрачной секции 5302 внутреннего трубопровода 530, так что обнаруживающая матрица 534 генерирует изображение в проходящем свете молока, находящегося в прозрачной секции 5302.[0069] In the present embodiment, the illumination source 532 and the detection array 534 are located opposite each other on opposite sides of the transparent section 5302 of the inner conduit 530, so that the detection array 534 generates a transmitted light image of the milk in the transparent section 5302.

[0070] Многоходовой клапан 536 расположен в точке разветвления внутреннего трубопровода 530 и выполнен с обеспечением возможности выбора направления потока молока в трубе 530 либо в первую ветвь 5304, либо во вторую ветвь 5306 внутреннего трубопровода 530. Первая ветвь 5304 может быть подключена к выпуску для отходов (не показан), а вторая ветвь 5306 может быть подключена к средству для анализа (не показано) в блоке 522 анализа молока.[0070] The multi-way valve 536 is located at the branch point of the internal pipeline 530 and is configured to select the direction of milk flow in the pipe 530 either to the first branch 5304 or to the second branch 5306 of the internal pipeline 530. The first branch 5304 can be connected to the waste outlet (not shown), and the second branch 5306 can be connected to the means for analysis (not shown) in block 522 of the milk analysis.

[0071] Как и система 300 для классификации молока, вычислительное устройство 304 содержит процессор, имеющий один или несколько блоков обработки, которые исполняют программный код для реализации классификатора DLNN, такого как классификатор 200, показанный на ФИГ. 2 и описанный выше, обученного для выполнения двоичной классификации образцов молока, представленных в данных цифрового изображения, сгенерированных обнаруживающей матрицей 534.[0071] Like system 300 for classifying milk, computing device 304 includes a processor having one or more processing units that execute software code to implement a DLNN classifier, such as classifier 200 shown in FIG. 2 and described above, trained to perform binary classification of milk samples represented in digital image data generated by detection matrix 534.

[0072] Выходные данные вычислительного устройства 304, зависящие от классификации, сгенерированной вычислительным устройством 304, передаются в устройство вывода (например, устройство 306 вывода), которое выполнено с возможностью генерации управляющего сигнала в ответ на выход вычислительного устройства 304 для использования в управлении работой многоходового клапана 536. В случае, когда классификация, созданная классификатором DLNN, реализованным в вычислительном устройстве 304, связана с молоком, представленным в данных изображения, непригодным для анализа, многоходовым клапаном 536 управляют в ответ на управляющий сигнал, передаваемый из устройства 306 вывода, для обеспечения потока молока через первую ветвь 5304, а не вторую ветвь 5306. И наоборот, если классификация связана с подходящим молоком, многоходовым клапаном 536 управляют в ответ на управляющий сигнал, передаваемый от устройства 306 вывода, для направления потока молока через вторую ветвь 5306, а не первую ветвь 5304.[0072] The output of computing device 304, dependent on the classification generated by computing device 304, is provided to an output device (e.g., output device 306) that is configured to generate a control signal in response to the output of computing device 304 for use in controlling the operation of the multi-pass valve 536. In the case where the classification created by the DLNN classifier implemented in the computing device 304 is associated with milk present in the image data unsuitable for analysis, the multi-way valve 536 is controlled in response to the control signal transmitted from the output device 306 to provide milk flow through the first branch 5304 and not the second branch 5306. Conversely, if the classification is related to suitable milk, the multi-way valve 536 is controlled in response to a control signal transmitted from the output device 306 to direct the flow of milk through the second branch 5306, and not first branch 5304.

[0073] На ФИГ. 6 показан еще один вариант реализации системы классификации молока согласно настоящему изобретению, например, системы 300 классификации, показанной на ФИГ. 3, реализованной в виде прибора 700 для определения загрязненности сборного молока, например, расположенного на ферме или станции приема молока для сортировки сборного молока. Прибор 700 для определения загрязненности сборного молока содержит: прозрачный столик 702 для захвата изображения; распылительный блок 704; генератор цифровых изображений, в данном случае цифровую камеру (фотокамеру или видеокамеру) 706; источник 708освещения; и вычислительное устройство 710, которое может содержать персональный компьютер, такой как стационарный компьютер или портативный компьютер, или которое может быть выделенным вычислительным устройством или может быть удаленным вычислительным устройством, подключенным через сеть связи.[0073] FIG. 6 shows another embodiment of a milk classification system according to the present invention, such as the classification system 300 shown in FIG. 3, implemented as an instrument 700 for determining the contamination of skimmed milk, for example, located at a farm or milk receiving station for sorting skimmed milk. The device 700 for determining the contamination of the collected milk contains: a transparent table 702 for capturing an image; spray block 704; a digital image generator, in this case a digital camera (camera or video camera) 706; light source 708; and a computing device 710, which may include a personal computer such as a desktop or laptop computer, or which may be a dedicated computing device or may be a remote computing device connected via a communications network.

[0074] Распылительный блок 704 содержит набор сопел (в данном случае линейный массив из шести сопел) (например, сопла 7042), предназначенных для распыления молока по ширине (или части ширины) верхней поверхности 7022 прозрачного столика 702 для создания изображения в данном случае в направлении его первого конца 7024. Молоко при распылении на поверхность 7022 перемещается тонким слоем по поверхности 7022 в направлении к второму концу 7026 прозрачного столика 702 для создания изображения, после чего молоко стекает со столика 702 для создания изображения и в настоящем варианте реализации собирается в лотке 712, который в некоторых вариантах реализации сообщается по текучей среде с системой 714 для удаления отходов, а в некоторых вариантах реализации выборочно соединен с системой 714 для удаления отходов или с возвратной линией для возврата молока в лоток 712 для дальнейшего использования. Для способствования перемещению распыленного молока по верхней поверхности 7022 прозрачный столик 702 для создания изображения, как показано на чертеже для настоящего варианта реализации, может быть расположен так, что его верхняя поверхность 7022 проходит под углом к горизонтали. Распылительный блок 704 может быть соединен с источником 718 молока, который в настоящем варианте реализации представляет собой линию подачи сборного молока, через впускное отверстие, в данном случае через клапан 7044 управления потоком.[0074] The spray unit 704 includes a set of nozzles (in this case, a linear array of six nozzles) (for example, nozzles 7042) designed to spray milk across the width (or part of the width) of the upper surface 7022 of the transparent table 702 to create an image in this case in direction of its first end 7024. The milk, when sprayed onto the surface 7022, travels in a thin layer over the surface 7022 towards the second end 7026 of the transparent imaging stage 702, after which the milk flows off the imaging stage 702 and in the present embodiment is collected in the tray 712 , which in some embodiments is in fluid communication with waste disposal system 714, and in some embodiments is optionally connected to waste disposal system 714 or a return line to return milk to tray 712 for later use. To facilitate the movement of sprayed milk over the top surface 7022, the transparent imaging stage 702, as shown in the drawing for the present embodiment, may be positioned such that its top surface 7022 is at an angle to the horizontal. The spray unit 704 may be connected to a milk source 718, which in the present embodiment is a skimmed milk supply line, through an inlet, in this case through a flow control valve 7044.

[0075] Цифровая камера 706 расположена на одной стороне прозрачного столика 702 для создания изображения таким образом, что имеет поле обзора, включающее по меньшей мере часть молока, когда оно перемещается тонким слоем по верхней поверхности 7022. Источник 708 освещения расположен на противоположной стороне прозрачного столика 702 для создания изображения для освещения по меньшей мере части молока, находящейся в поле зрения цифровой камеры 706, через нижнюю поверхность 7028 прозрачного столика 702 для создания изображения, расположенную напротив верхней поверхности 7022. Цифровая камера 706 и источник 708 освещения взаимодействуют друг с другом для генерации данных цифрового изображения с помощью цифровой камеры 706, обнаруживающей свет, передаваемый от источника 708 освещения через тонкий слой молока на верхней поверхности 7022 прозрачного столика 702 для создания изображения.[0075] A digital camera 706 is positioned on one side of the transparent stage 702 to create an image such that it has a field of view including at least a portion of the milk as it moves thinly across the top surface 7022. An illumination source 708 is located on the opposite side of the transparent stage 702 to create an image to illuminate at least a portion of the milk in the field of view of the digital camera 706 through the bottom surface 7028 of the transparent imaging stage 702 opposite the top surface 7022. The digital camera 706 and the light source 708 interact with each other to generate digital image data with a digital camera 706 detecting the light transmitted from the light source 708 through the thin layer of milk on the top surface 7022 of the transparent imaging stage 702.

[0076] Цифровая камера 706 может быть снабжена интерфейсом связи, в данном случае беспроводным интерфейсом 7062, по которому сгенерированные данные цифрового изображения молока передают в вычислительное устройство 710. Интерфейс связи, в данном случае беспроводной интерфейс 7102, вычислительного устройства 710 принимает данные цифрового изображения молока, сгенерированные цифровой камерой 706, и передает их во внутреннее хранилище 7104 вычислительного устройства, где они остаются доступными для обработки процессором 7106, который может содержать один или более процессоров, таких как центральный процессор (CPU) и/или графический процессор (GPU) вычислительного устройства 710, подходящим образом сконфигурированные для реализации классификатора DLNN согласно настоящему изобретению, обученного классифицировать молоко как принадлежащее к одному из множества классов, например, классификатора 200 DLNN, описанного выше.[0076] The digital camera 706 may be provided with a communication interface, in this case a wireless interface 7062, through which the generated digital milk image data is transmitted to the computing device 710. The communication interface, in this case the wireless interface 7102, of the computing device 710 receives digital milk image data generated by the digital camera 706 and transfers them to the internal storage 7104 of the computing device, where they remain available for processing by the processor 7106, which may include one or more processors, such as the central processing unit (CPU) and/or graphics processing unit (GPU) of the computing device. 710 suitably configured to implement a DLNN classifier of the present invention trained to classify milk as belonging to one of a variety of classes, such as the DLNN classifier 200 described above.

[0077] В некоторых вариантах реализации этап 702 формирования прозрачного изображения может отсутствовать, а цифровая камера 706 и источник 708 освещения могут быть выполнены с возможностью генерирования изображений в свете, проходящем через молоко в свободном пространстве, например, молоко, которое распыляют в виде завесы из распылительного устройства 704.[0077] In some implementations, the transparent imaging step 702 may be omitted, and the digital camera 706 and illumination source 708 may be configured to generate images in light passing through milk in free space, such as milk that is sprayed as a curtain of spray device 704.

[0078] Программный код поступает в системную память 7108 вычислительного устройства 710 либо из внутреннего хранилища 7104, либо из внешнего вычислительного устройства 710 через его интерфейс 7102 связи, например, от удаленного сервера/хранилища по сети Интернет.Процессор 7106 исполняет этот программный код и принуждается реализовывать классификатор DLNN, например, классификатор 200 DLNN, для классифицирования молока, представленного во входных данных изображения, хранящихся во внутренней памяти 7104, как ХОРОШЕГО или ПЛОХОГО (или иным образом приемлемого или неприемлемого, или с использованием любой другой бинарной классификации). Аналогично устройству 306 вывода системы 300, устройство 7110 вывода в настоящем варианте реализации содержит генератор 7112 управляющих сигналов и адаптер 7114 отображающего устройства, причем оба из указанных устройств выполнены с возможностью генерации управляющих сигналов в зависимости от классификации, сгенерированной классификатором DLNN, например классификатором 200 DLNN, реализованным в процессоре 7106. Генератор 7112 управляющего сигнала выполнен с возможностью генерации управляющего сигнала для управления внешним устройством. В настоящем варианте реализации генератор управляющего сигнала соединен с интерфейсом 7102 беспроводной связи для передачи управляющего сигнала, например, запорному клапану 720, который регулирует поток молока, протекающий в магистральном трубопроводе 718 для сборного молока. Адаптер 7114 отображающего устройства выполнен с возможностью генерации сигнала управления отображением, чтобы заставить блок 7116 визуального отображения вычислительного устройства отображать метку 7118 в ответ на классификацию, которая была сгенерирована классификатором DLNN.[0078] The program code enters the system memory 7108 of the computing device 710 either from the internal storage 7104 or from the external computing device 710 through its communication interface 7102, for example, from a remote server/storage over the Internet. The processor 7106 executes this program code and is forced implement a DLNN classifier, such as the DLNN classifier 200, to classify the milk represented in the input image data stored in the internal memory 7104 as GOOD or BAD (or otherwise acceptable or unacceptable, or using any other binary classification). Similar to output device 306 of system 300, output device 7110 in the present embodiment includes a control signal generator 7112 and a display device adapter 7114, both of which are configured to generate control signals depending on a classification generated by a DLNN classifier, such as DLNN classifier 200, implemented in the processor 7106. The control signal generator 7112 is configured to generate a control signal to control an external device. In the present embodiment, a control signal generator is connected to a wireless communication interface 7102 to transmit a control signal to, for example, a shut-off valve 720 that controls the flow of milk flowing in the bulk milk main 718. The display adapter 7114 is configured to generate a display control signal to cause the computing device display unit 7116 to display the label 7118 in response to the classification that was generated by the DLNN classifier.

[0079] Например, в случае, когда классификатор DLNN, реализованный процессором 7106, классифицирует молоко в данных цифрового изображения молока как непригодное (например, испорченное), генератор 7112 управляющего сигнала может вырабатывать сигнал управления для закрытия запорного клапана 720, чтобы предотвратить протекание молока в линии 718 (например, в контейнер для хранения или на транспортер), в то время как адаптер отображающего устройства автоматически генерирует одно или более сообщений на основе указанной классификации, например, предупреждающую метку 7118 (например, СТОП (HALT или STOPPED), которая отображается на блоке 7116 визуального отображения и может служить предупреждением пользователю о нежелательном состоянии отображаемого молока.[0079] For example, in the case where the DLNN classifier implemented by the processor 7106 classifies the milk in the milk digital image data as unusable (e.g., spoiled), the control signal generator 7112 may generate a control signal to close the check valve 720 to prevent milk from flowing into the milk. line 718 (for example, to a storage container or to a conveyor), while the display device adapter automatically generates one or more messages based on the specified classification, for example, a warning label 7118 (for example, STOP (HALT or STOPPED), which is displayed on block 7116 visual display and may serve as a warning to the user about the undesirable state of the displayed milk.

[0080] Следует принимать во внимание, что в то время как аспекты настоящего изобретения могли быть описаны выше в общем контексте машиноисполняемых инструкций, таких как процедуры, выполняемые устройством обработки данных общего назначения, например персональным компьютером, специалистам в данной области техники понятно, что настоящее изобретение может быть реализовано с использованием других средств связи, средств для обработки данных или компьютерных систем, включая: беспроводные устройства, многопроцессорные системы, сетевые ПК, мини-компьютеры, мэйнфреймы и т.п.[0080] It should be appreciated that while aspects of the present invention may have been described above in the general context of computer-executable instructions, such as procedures performed by a general purpose data processing device such as a personal computer, those skilled in the art will appreciate that the present The invention may be implemented using other communications, data processing, or computer systems, including: wireless devices, multiprocessor systems, networked PCs, minicomputers, mainframes, and the like.

[0081] Несмотря на то, что аспекты настоящего изобретения, такие как определенные функции, описаны как выполняемые исключительно в одном устройстве или блоке, настоящее изобретение также может быть реализовано на практике в распределенных средах, в которых функциональные возможности разделены между разными устройствами обработки и распределены между несколькими устройствами или блоками. Разрозненные процессоры, блоки и устройства могут быть связаны через сеть связи, такую как локальная сеть (LAN), глобальная сеть (WAN) или сеть Интернет, или они могут иметь проводную связь.[0081] Although aspects of the present invention, such as certain functions, are described as being performed exclusively in a single device or unit, the present invention may also be practiced in distributed environments where functionality is partitioned among different processing devices and distributed between multiple devices or units. The disparate processors, units, and devices may be connected via a communications network, such as a local area network (LAN), wide area network (WAN), or the Internet, or they may be wired.

[0082] Программный код для реализации классификатора DLNN согласно настоящему изобретению может храниться или распространяться материальными машиночитаемыми носителями, включая магнитные или оптические компьютерочитаемые диски, жестко смонтированные или предварительно запрограммированные микросхемы (например, полупроводниковые микросхемы EEPROM), запоминающие устройства, изготовленные с использованием нанотехнологий, биологические запоминающие устройства или другой носитель данных. Альтернативно программный код и другие данные, относящиеся к изобретению, могут быть распределены через Интернет или другие сети (включая беспроводные сети) в распространяемом сигнале в среде распространения, такой как электромагнитная волна.[0082] The software code for implementing the DLNN classifier of the present invention may be stored or distributed on tangible computer-readable media, including magnetic or optical computer-readable disks, hard-wired or preprogrammed microcircuits (e.g., EEPROM semiconductor chips), nanotechnology-based memory devices, biological storage devices or other storage media. Alternatively, the program code and other data related to the invention may be distributed over the Internet or other networks (including wireless networks) in a propagated signal in a propagation medium such as an electromagnetic wave.

[0083] Модули, блоки и устройства, составляющие варианты реализации настоящего изобретения, в некоторых случаях могут быть интегрированными, а в других случаях некоторые или все и з них могут быть соединены между собой отдельными модулями, блоками и устройствами.[0083] The modules, blocks, and devices that make up the embodiments of the present invention may, in some cases, be integrated, and in other cases, some or all of them may be interconnected by separate modules, blocks, and devices.

Claims (5)

1. Анализатор (400; 500; 520) молока, содержащий блок (402; 502; 522) анализа молока, имеющий средство для анализа, при этом блок (402; 502; 522) анализа молока также содержит систему (300; 404) классификации молока, имеющую устройство (4042, 4044; 5102; 534) для создания изображения, выполненное с возможностью создания изображения молока для генерации данных (М) цифрового изображения; процессор (3044; 304), выполненный с возможностью исполнения программного кода для реализации классификатора нейронной сети с глубоким обучением, обученного с использованием изображений молока, помеченных классом из набора классов, в которые отображаемое молоко может быть назначено в соответствии с характеристиками класса, которые визуально обнаруживаются в изображенном молоке и позволяют отнести отображаемое молоко к классу из указанного набора классов; и контроллер (3066), выполненный с возможностью вывода управляющего сигнала в зависимости от назначенного класса для управления подачей молока в блок (402; 502; 522) анализа молока.1. Analyzer (400; 500; 520) of milk, containing a block (402; 502; 522) of milk analysis, having a means for analysis, while the block (402; 502; 522) of milk analysis also contains a classification system (300; 404) milk having a device (4042, 4044; 5102; 534) for creating an image, configured to create an image of milk for generating digital image data (M); a processor (3044; 304) configured to execute program code for implementing a deep learning neural network classifier trained using milk images labeled with a class from a set of classes to which displayed milk can be assigned according to class characteristics that are visually detected in the depicted milk and allow you to assign the displayed milk to a class from the specified set of classes; and a controller (3066) configured to output a control signal depending on the assigned class to control the supply of milk to the milk analysis unit (402; 502; 522). 2. Анализатор (400; 500; 520) молока по п. 1, в котором блок (402; 502; 522) анализа молока содержит систему (4022; 504; 530, 536) для отбора пробы, выполненную с возможностью прекращения потока молока в средство для анализа в ответ на указанный управляющий сигнал.2. The analyzer (400; 500; 520) of milk according to claim 1, in which the milk analysis unit (402; 502; 522) contains a system (4022; 504; 530, 536) for sampling, configured to stop the flow of milk in means for analyzing in response to said control signal. 3. Анализатор (400; 500) молока по п. 2, в котором система (4022; 504) для отбора пробы содержит подвижную пипетку (4024; 508), выполненную с возможностью перемещения в ответ на управляющий сигнал.3. The milk analyzer (400; 500) according to claim 2, wherein the sampling system (4022; 504) comprises a movable pipette (4024; 508) configured to move in response to a control signal. 4. Анализатор (520) молока по п. 2, в котором система для отбора пробы содержит трубопровод (530) и клапанный блок (536), соединенный с трубопроводом (530) для управления потоком молока в указанном трубопроводе в ответ на управляющий сигнал.4. The milk analyzer (520) according to claim 2, wherein the sampling system comprises a pipeline (530) and a valve block (536) connected to the pipeline (530) to control the flow of milk in said pipeline in response to a control signal. 5. Анализатор молока (520) по п. 4, в котором внутренний трубопровод (530) содержит прозрачную секцию (5302), а устройство (534) для создания изображения расположено с возможностью создания изображения молока внутри прозрачной секции (5302).5. The milk analyzer (520) according to claim 4, wherein the inner conduit (530) comprises a transparent section (5302) and the imaging device (534) is arranged to image the milk within the transparent section (5302).
RU2021105196A 2018-11-07 2019-10-11 Milk analyser for milk classification RU2794708C2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DKPA201800836 2018-11-07

Publications (2)

Publication Number Publication Date
RU2021105196A RU2021105196A (en) 2022-12-07
RU2794708C2 true RU2794708C2 (en) 2023-04-24

Family

ID=

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8639043B2 (en) * 2005-01-27 2014-01-28 Cambridge Research & Instrumentation, Inc. Classifying image features
RU2543948C2 (en) * 2008-12-03 2015-03-10 Делаваль Холдинг Аб Device and method of determining quantitative indicator of body condition of animals
CN105021736A (en) * 2015-08-04 2015-11-04 内蒙古农业大学 Authenticity identifying method and system for raw milk or liquid milk

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8639043B2 (en) * 2005-01-27 2014-01-28 Cambridge Research & Instrumentation, Inc. Classifying image features
RU2543948C2 (en) * 2008-12-03 2015-03-10 Делаваль Холдинг Аб Device and method of determining quantitative indicator of body condition of animals
CN105021736A (en) * 2015-08-04 2015-11-04 内蒙古农业大学 Authenticity identifying method and system for raw milk or liquid milk

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
EP 1892043 A2. A.G DA CRUZ. et al. "Monitoring the authenticity of low-fat yogurts by artificial neural network", JOURNAL OD DAIRY SCIENCE vol 92, No. 10, 01.10.2009 на страницах 4797-4804, с. 4797, левая колонка строки 10-14, с. 4803 Раздел "Conclusion", строки 5-8, с. 4803 левая колонка раздел "Artificial Neural Modeling", левая колонка строки 5-9, правая колонка строки 1-5. *

Similar Documents

Publication Publication Date Title
KR102579783B1 (en) Vision inspection system by using remote learning of product defects image
Bargoti et al. Deep fruit detection in orchards
JP6870826B2 (en) Methods and devices configured to quantify samples from lateral multi-viewpoints
CN109550712B (en) Chemical fiber filament tail fiber appearance defect detection system and method
US11313869B2 (en) Methods and apparatus for determining label count during specimen characterization
CN109724984B (en) Defect detection and identification device and method based on deep learning algorithm
US10929716B2 (en) System and method for label-free identification and classification of biological samples
JP7324757B2 (en) Method and Apparatus for Biofluid Specimen Characterization Using Reduced-Training Neural Networks
CN110261391A (en) A kind of LED chip appearance detection system and method
JP2020042756A (en) Digital quality control using computer visioning with deep learning
JP7379478B2 (en) Milk analyzer for classifying milk
CN112257506A (en) Fruit and vegetable size identification method and device, electronic equipment and computer readable medium
Al-Saad et al. Autonomous palm tree detection from remote sensing images-uae dataset
RU2794708C2 (en) Milk analyser for milk classification
US20230152781A1 (en) Manufacturing intelligence service system connected to mes in smart factory
KR20230122916A (en) Method and apparatus for generating a deep learning model to detect defects on the surface of a three-dimensional product
JP7177917B2 (en) Visualization analyzer and visual learning method
Han et al. Real-time inspection of multi-sided surface defects based on panet model
CN112069841A (en) Novel X-ray contraband parcel tracking method and device
CN113642473A (en) Mining coal machine state identification method based on computer vision
KR102704880B1 (en) System for inspecting product defects by type based on a deep learning model
Jang et al. A defect inspection method for machine vision using defect probability image with deep convolutional neural network
CN114585443B (en) Apparatus and method for training diagnostic analyzer model
JP3539581B2 (en) Particle image analysis method
Georgiou et al. Computer Vision-based Detection and Tracking in the Olive Sorting Pipeline