АНАЛИЗАТОР МОЛОКА ДЛЯ КЛАССИФИКАЦИИ МОЛОКА
MILK ANALYSER FOR MILK CLASSIFICATION

[0001] Настоящее изобретение относится к способу и системам для классификации молока и анализатору молока, в котором они используются.
[0002] Плохое молоко - это молоко, которое непреднамеренно закисло, свернулось, содержит посторонние вещества или испорчено иным образом. Существуют различные причины возникновения плохого молока. К ним относятся неправильная мойка животных (коров, коз, овец и т.п.) до и после доения, больные особи и отсутствие контроля за условиями перевозки или нарушение условий перевозки. Белки могут разлагаться под действием ферментов или под воздействием света. Преобладающей причиной разложения белка являются ферменты, называемые протеазами. Нежелательное разложение (протеолиз) приводит к получению молока с неприятным привкусом и низким качеством.. Плохое молоко часто проявляется в виде небольших кластеров или сгустков, которые затем можно использовать для визуальной классификации. Кроме того, экстремальные температурные циклы во время хранения или транспортировки, неочищенные контейнеры, неправильное количество консерванта, разбавителя или другой добавки, добавленной в молоко перед отправкой в Центральную лабораторию тестирования молока (Central Milk Testing, CMT) или другие лаборатории или анализатор, ускоряют разложение.
[0003] Какими бы ни были причины, плохие образцы молока неизбежно попадают в CMT и другие лаборатории или места проведения анализов для анализа с помощью более или менее автоматизированных аналитических приборов. Поскольку эти образцы плохого молока обычно не проверяются визуально перед анализом, они становятся частью обычного рабочего процесса, который впоследствии содержит смесь хороших и плохих образцов молока. Однако, когда эти плохие образцы молока пропускаются через анализатор, они могут вызвать серьезную закупорку приборов. В некоторых случаях инструменты могут быть выведены из строя на срок до нескольких дней, что может серьезно повлиять на работу лаборатории. Плохие образцы молока в зависимости от их природы и/или степени «недоброкачественности» либо могут вызвать несложную неисправность, например, закупорку всасывающей части анализатора, такого как пипетка, или закупорить более сложные узлы глубоко внутри прибора.
[0004] Иногда закупоренную пипетку можно очистить с помощью процедуры автоматической очистки, но это не всегда получается. Если автоматическая очистка не может обеспечить надлежащую чистоту, оператор должен использовать механические инструменты для очистки системы впуска. То же самое происходит, если закупорка происходит глубже в анализаторе, и устранение любой такой закупорки может быть затруднено, а также может потребовать много времени. Такие закупорки могут привести к длительному простою, что снижает производительность аналитического прибора и увеличивает эксплуатационные расходы лаборатории CMT. Более того, нормальный рабочий процесс после засорения заключается в выполнении различных контрольных измерений для подтверждения тщательности очистки. Эти контрольные измерения увеличивают стоимость эксплуатации указанного прибора для лаборатории, поскольку для проверки эффективности очистки перед повторным вводом в эксплуатацию используются дополнительные пробы, такие как стандартные и контрольные пробы.
[0005] Часто плохое молоко имеет не только явный отличительный внешний вид, но также и явные отличительные обонятельные характеристики. Однако такое положение имеет место не всегда, и обнаружение плохого молока или молока, имеющего другие характеристики, в частности, нежелательные, которые проявляются визуально, может оказаться затруднительным. Например, для людей с ослабленным зрением или в случаях, когда визуальные проявления едва различимы и, возможно, заметны только хорошо обученному человеку, например, на ферме, где фермер заинтересован в знании определенных характеристик молока до того, как оно будет загружено в транспортную цистерну, или у потребителя, когда может быть полезным определять плохое молоко перед употреблением.
[0006] В соответствии с настоящим изобретением обеспечен анализатор молока, содержащий блок анализа молока, имеющий средство для анализа, при этом блок анализа молока также содержит систему для классификации молока, имеющую: устройство для получения изображений, выполненное с возможностью получения изображения молока для генерации данных цифрового изображения; процессор, выполненный с возможностью исполнения программного кода для реализации классификатора нейронной сети с глубоким обучением, обученного с использованием помеченных изображений молока из молока в пределах классов, в которые может быть классифицировано изображаемое молоко в соответствии с характеристиками классов, которые визуально проявляются в изображенном молоке и могут генерировать классификацию изображенного молока; и контроллер, выполненный с возможностью вывода управляющего сигнала в зависимости от сгенерированной классификации для управления подачей молока в блок анализа.
[0007] В некоторых вариантах реализации устройство для отбора пробы содержит сортирующее устройство, выполненное с возможностью отделения образца от других образцов массива образцов в зависимости от выходного сигнала от устройства вывода, указывающего заранее определенный класс, причем указанный заранее определенный класс может быть таким же, как и заранее определенный класс, от которого зависит операция отбора пробы, или может отличаться от него.
[0008] Реализуемый компьютером способ классификации молока может включать следующие этапы:
- реализация в процессоре, который может содержать один или более взаимодействующих друг с другом обрабатывающих модулей, первого классификатора нейронной сети с глубоким обучением, обученного с использованием набора обучающих данных, содержащего цифровые представления изображений молока, при этом каждое изображение помечено классом молока, к которому оно принадлежит;
- получение процессором данных цифрового изображения, содержащих представление молока, подлежащего классификации; и
- обработка процессором данных цифрового изображения с использованием реализованного первого классификатора нейронной сети с глубоким обучением для создания классификации молока, представленного в данных цифрового изображения, как принадлежащего к классу в указанном наборе классов.
[0009] В некоторых вариантах реализации данные цифрового изображения обрабатывают с использованием реализованной первой нейронной сети глубокого обучения для: извлечения вектора признаков для данных цифрового изображения; определения для извлеченного вектора признаков вероятности для каждого класса из набора классов указанного вектора признаков, принадлежащих этому классу; и генерации классификации в зависимости от определенных вероятностей.
[0010] В некоторых вариантах реализации классификатор нейронной сети с глубоким обучением выполнен с возможностью классифицирования молока как принадлежащего к одному из классов «ХОРОШЕЕ» и «ПЛОХОЕ» или аналогичных названий, указывающих, имеет ли молоко нежелательные характеристики. В других вариантах реализации классификатор нейронной сети с глубоким обучением может быть выполнен с возможностью классифицирования молока по различным или дополнительным классам, таким как «посторонний объект», «тип постороннего объекта», «комкование» или цвет, и молоко может быть классифицировано как принадлежащее к одному или более классам классификатора нейронной сети глубокого обучения.
[0011] В некоторых вариантах реализации классификатор нейронной сети глубокого обучения содержит один или более слоев, обученных определять одно или оба из: наличия контейнера для образца и наличия образца молока в данных изображения, при этом способ включает генерирование классификации образца молока в зависимости от определенного присутствия образца молока в данных изображения. Классификатор нейронной сети с глубоким обучением может содержать более слоев, обученных классифицировать по данным изображения контейнер с образцом как содержащий достаточный или недостаточный образец молока.
[0012] В некоторых вариантах реализации классификатор нейронной сети с глубоким обучением может быть сгенерирован с использованием любого трансферного обучения. В некоторых вариантах реализации классификатор нейронной сети с глубоким обучением может содержать сверточную нейронную сеть (convolutional neural network, CNN). В некоторых вариантах реализации классификатор нейронной сети с глубоким обучением может быть сгенерирован с использованием сети глубокого доверия или другой многослойной архитектуры нейронной сети, в которой входные данные одного слоя являются выходными данными предыдущего слоя.
[0013] Модели глубокого обучения требуют значительного количества операций обучения, чтобы избежать переобучения. Таким образом, глубокое обучение требует значительного количества данных обучающего изображения и значительных затрат времени. Для снижения этой нагрузки может быть полезным использовать трансферное обучение, особенно в случаях, когда количество обучающих образов ограничено. Трансферным обучением является метод машинного обучения, при котором модель, разработанная для одной задачи, повторно используется в качестве отправной точки для модели, которая будет использоваться для второй задачи. В контексте настоящего изобретения модель глубокого обучения сначала обучается на большом количестве иррелевантно помеченных («классифицированных») изображений, не связанных с изображениями молока, для построения классификатора. Затем предоставляется набор обучающих данных с помеченными изображениями молока (каждое помеченное изображение также называется «данными обучающего образа»), где каждое изображение помечено как принадлежащее одному или более классам, а модель глубокого обучения дополнительно обучается с использованием набора обучающих данных для изменения классификатора, чтобы он был полезен при идентификации классов, связанных с набором обучающих данных.
[0014] В сети CNN более низкие сверточные слои захватывают низкоуровневые функции изображения, в то время как более высокие сверточные слои захватывают все более и более сложные детали изображения, причем конечное количество слоев задано сложностью деталей изображения, требуемой для определения необходимого количества классов. Архитектура сети CNN, как правило, состоит из сверточных слоев и слоев объединения (или субдискретизации), которые сгруппированы в модули или блоки. За этими модулями CNN следуют один или более полностью связанных слоев, как в стандартной нейронной сети с прямой связью. Модули накладываются друг на друга, образуя глубокую модель. Изображение вводится непосредственно в сеть, после чего следует несколько этапов свертывания и объединения в модули CNN. Затем представления этих операций вносят в один или более полностью связанных слоев. Наконец, последний полностью связанный слой выводит метку класса. Сверточные модули служат экстракторами признаков и, таким образом, обучают представления признаков своих входных изображений. Нейроны в сверточных слоях, которые составляют сверточные модули, организованы в карты признаков. Каждый нейрон на карте признаков имеет рецептивное поле, которое связано с окрестностями нейронов в предыдущем слое через набор обучаемых весов. Входные данные свертываются с обученными весами для вычисления новой карту признаков. Целью слоев объединения является уменьшение пространственного разрешения карт признаков и, таким образом, достижение пространственной инвариантности к входным искажениям и перемещениям. Обычно могут использоваться слои агрегации с объединением средних значений, которые распространяют среднее значение всех входных значений небольшой окрестности изображения на следующий слой. Альтернативно могут использоваться слои агрегации с максимальным объединением, которые распространяют максимальное значение в пределах принимающего поля на следующий слой. Полностью связанные слои, которые следуют за этими слоями, интерпретируют представления абстрактных функций, извлеченные модулями, и выполняют функцию высокоуровневого обоснования и классификации и часто реализуются как машина опорных векторов или конфигурируются для реализации функции приложения Softmax.
[0015] В некоторых вариантах реализации данные цифрового изображения представляют монохромное изображение (или по меньшей мере, уменьшенную информацию о цвете), причем указанный монохромный цвет или уменьшенная цветовая палитра могут быть выбраны для улучшения видимости соответствующих признаков в изображении (т.е. тех признаков, которые вносят вклад в классификацию).
[0016] В некоторых вариантах реализации данные цифрового изображения могут представлять изображение, полученное из пропускания света через слой молока.
[0017] В некоторых вариантах реализации устройство ввода может быть, например, сканером, выполненным с возможностью преобразования записанного изображения пробы молока в цифровое представление, может быть видеокамерой, такой как цифровая видеокамера, и устройством захвата кадров, выполненные с возможностью преобразования одного кадра движущегося изображения, содержащего образец молока, в цифровое представление, или может быть цифровой фотокамерой, выполненной с возможностью создания цифрового представления образца молока, находящегося в ее поле зрения. В некоторых вариантах реализации устройство ввода может содержать интерфейс связи, выполненный с возможностью доступа к удаленно созданным данным цифрового изображения по сети, такой как помимо прочего телефонная сеть, локальная сеть или сеть Интернет, либо посредством фиксированной проводной связи, беспроводной связи, либо с использованием сочетания указанных двух видов связи, и предоставления удаленно сгенерированных данных цифрового изображения в качестве входных данных для сетевого классификатора глубокого обучения.
[0018] В некоторых вариантах реализации для обнаружения присутствия пробы молока в поле зрения цифровой камеры может использоваться обнаружительное устройство, причем указанная цифровая камера выполнена с возможностью сбора данных цифрового изображения в зависимости от обнаружительного устройства, обнаруживающего присутствие пробы молока. В некоторых вариантах реализации обнаружительное устройство может быть обнаружительным устройством прерывистого типа, в котором прерывание луча света, проходящего между излучателем и обнаружительным устройством, контейнером для образца, генерирует сигнал, указывающий на наличие контейнера для образца, который можно использовать для инициализации захвата изображения молока для генерации данных цифрового изображения.
[0019] Несмотря на то, что выше кратко изложены некоторые аспекты вариантов реализации настоящего изобретения, следует понимать, что это краткое изложение не предназначено для ограничения настоящего изобретения, объем которого в достаточной мере определен приложенной формулой.
[0020] Приведенные для примера варианты реализации, содержащие настоящее изобретение, описаны более подробно ниже со ссылкой на сопроводительные чертежи, на которых:
На ФИГ. 1 показан приведенный для примера способ классификации молока в анализаторе молока согласно настоящему изобретению;
На ФИГ. 2 схематично изображен классификатор DLNN, используемый в способе, показанном на ФИГ. 1;
На ФИГ. 3 показана система классификации молока для классификации молока в анализаторе молока согласно настоящему изобретению;
На ФИГ. 4 схематично показан анализатор молока согласно настоящему изобретению;
На ФИГ. 5 схематично показана часть двух других вариантов реализации анализатора молока в соответствии с настоящим изобретением; и
На ФИГ. 6 показан еще один вариант реализации системы классификации молока согласно настоящему изобретению.
[0021] Следует понимать, что объем охраны настоящего изобретения не ограничивается конфигурациями, компонентами и этапами способа, проиллюстрированными и обсуждаемыми ниже. Напротив, они раскрыты только как примеры, попадающие в объем охраны приложенной формулы.
[0022] На ФИГ. 1 изображен один вариант реализации способа классификации молока согласно настоящему изобретению. Способ включает этап 100 реализации модели, на котором получают доступ к программному коду указанного этапа и исполняют указанный код процессором вычислительного устройства для реализации классификатора нейронной сети с глубоким обучением (deep learning neural network, DLNN) в процессоре. Классификатор DLNN, введенный таким образом в процессор, представляет собой классификатор, который обучен извлекать вектор признаков из данных цифрового изображения, содержащих представление отображаемого молока, подлежащего классификации, и определять из извлеченного вектора признаков вероятность для каждого класса набор классов любого молока, представленного в данных цифрового изображения, принадлежащих этому классу. Каждый класс из набора классов указывает на свойство молока. На этапе 102 получения данных в процессор вводят данные цифрового изображения, содержащие представление образца молока. На этапе 104 извлечения признаков данные цифрового изображения молока обрабатывают в процессоре с использованием полученного классификатора DLNN для извлечения вектора признаков для данных цифрового изображения молока. На этапе 106 назначения извлеченный вектор признаков обрабатывают процессором с использованием полученного классификатора DLNN для определения вероятности для каждого класса набора классов извлеченного вектора признаков, принадлежащего этому классу. На этапе 108 классификации определенные вероятности обрабатывают процессором с использованием полученного классификатора DLNN для генерации классификации для образца молока, представленного в данных цифрового изображения, как принадлежащего к классу набора классов в зависимости от определенных вероятностей. На этапе 110 вывода генерируют сигнал, представляющий классификацию, и выводят его для использования вне процессора.
[0023] В некоторых вариантах реализации и как показано на ФИГ. 1, способ также включает полезный, но не существенный этап 112 подтверждения, на котором данные цифрового изображения, полученные на этапе 102 получения, обрабатывают для классификации изображения как включающего или не включающего образец молока перед обработкой указанного изображения на этапах 104, 106 для классификации данного образца молока на этапе 108. В некоторых вариантах реализации могут использоваться данные цифрового изображения, отличные от данных, полученных на этапе 102 получения, при условии, что эти другие данные цифрового изображения представляют изображение того же образца молока, которое представлено данными цифрового изображения, полученными ранее на этапе 102, но при других условиях. Следует понимать, что этими условиями могут быть, например, разные точки обзора, разные времена экспозиции или разные условия освещения, каждое из которых выбрано для предоставления данных цифрового изображения, наиболее подходящих для последующих этапов обработки, описанных ниже.
[0024] На этом этапе 112 подтверждения выполняют подэтап 1122 обнаружения объекта. На этом подэтапе 1122 обнаружения объекта данные цифрового изображения вводят в классификатор, предпочтительно классификатор DLNN, который обучен идентифицировать наличие или отсутствие представления контейнера для образцов во входных данных цифрового изображения, которые введены в процессор. Классификатор DLNN, который используется на этом подэтапе 1122, в некоторых вариантах реализации может быть классификатором DLNN, который реализован для классификации молока на этапе 100 реализации, описанном выше, или в других вариантах реализации может быть отдельным классификатором DLNN.
[0025] На этом подэтапе 1122 обнаружения объекта классификатор DLNN действует для извлечения признаков, относящиеся к контейнеру для образца, представленному в данных цифрового изображения, и генерирования соответствующего вектора признаков. На подэтапе 1124 принятия решения вектор признаков, извлеченный на подэтапе 1122 обнаружения объекта, обрабатывают для определения наличия или отсутствия представления контейнера для образцов в данных цифрового изображения. Если контейнер для образца отсутствует, как показано ветвью N на подэтапе 1124 принятия решения, выполнение обработки данных цифрового изображения (на этапах 104-110) для классификации молока не требуется, и способ завершается на подэтапе 1126 завершения.
[0026] Если контейнер для образца присутствует, как показано ветвью Y на подэтапе 1124 принятия решения, управление способом переходит к подэтапу 1128 обнаружения второго объекта.
[0027] На этом подэтапе 1128 обнаружения второго объекта данные цифрового изображения вводят в классификатор, предпочтительно классификатор DLNN, который обучен идентифицировать присутствие или отсутствие (в некоторых вариантах реализации дополнительно или альтернативно количество) представления молока во входных данных цифрового изображения, которое реализовано в процессоре. Классификатор DLNN, который используется на этом подэтапе 1128, в некоторых вариантах реализации может быть выполнен с возможностью классификации молока на этапе 100 реализации, описанном выше, в других вариантах реализации он может быть отдельным классификатор DLNN, а в еще одних вариантах реализации он может быть тем же классификатором DLNN, который используется при обнаружении контейнера для образца на подэтапе 1124 обнаружения объекта. Преимущество использования разных классификаторов DLNN для классификации молока при обнаружении контейнера для образца и обнаружении молока в данных цифрового изображения состоит в том, что каждый классификатор DLNN может быть обучен специально для выполнения индивидуальной задачи классификации и, таким образом, может быть лучше оптимизирован для выполнения этой задачи.
[0028] На этом подэтапе 1128 обнаружения второго объекта классификатор DLNN действует для извлечения признаков, относящихся к молоку, представленных в данных цифрового изображения, и генерирования соответствующего вектора признаков. На втором подэтапе 1130 принятия решения вектор признаков, сгенерированный на подэтапе 1128 обнаружения второго объекта, обрабатывают для определения наличия или отсутствия представления молока в данных цифрового изображения. Если нет, как показано ветвью N на втором подэтапе 1130 принятия решения, выполнение обработки данных цифрового изображения (на этапах 104-110) для классификации молока не требуется, и способ завершается на подэтапе 1126 завершения.
[0029] Если молоко присутствует, как показано ветвью Y на втором подэтапе 1130 принятия решения, способ продолжается (на этапах 104-110) с осуществлением классификации молока, представленного в данных цифрового изображения молока, полученных на этапе 102.
[0030] За счет использования необязательного этапа 112 подтверждения можно избежать ненужной обработки и классификации изображений, что снижает затраты на обработку и время обработки. В некоторых вариантах реализации дополнительное сокращение затрат на обработку и времени может быть получено путем пропуска этапов 1122, 1124 обнаружения контейнера для образцов, поскольку классификация молока не может выполняться при отсутствии представления молока в данных цифрового изображения.
[0031] Пример классификатора 200 DLNN, который реализован в одном или более процессорах и который может использоваться в способе согласно настоящему изобретению, например, способе, описанном со ссылкой на ФИГ. 1, ниже описан более подробно со ссылкой на ФИГ. 2. Приведенный для примера классификатор 200 DLNN содержит: экстрактор 202, который в настоящем варианте реализации реализован с использованием архитектуры сверточной нейронной сети (convolutional neural network, CNN); входной модуль 204, предшествующий экстрактору 202; и выходной модуль 206, следующий за экстрактором 202. Во время классификации данные в классификаторе 200 DLNN проходят в прямом направлении от входного модуля 204 через экстрактор 202 к выходному модулю 206.
[0032] В настоящем примере входной модуль 204 выполнен с возможностью преобразования изображения 208 в матрицу M, содержащую данные цифрового изображения, и ее передачи экстрактору 202. Каждая ячейка матрицы M принимает и хранит различное значение интенсивности пикселя входного изображения 208. Таким образом, для входного изображения размером, например, 720 пикселей в ширину и 480 пикселей в высоту потребуется матрица M размером 720x480. Когда входное изображение 208 является цветным изображением, каждый пиксель может быть представлен тремя значениями интенсивности: красным, зеленым и синим значениями интенсивности, и в некоторых вариантах реализации (как показано на ФИГ. 2) матрица M, следовательно, будет иметь размер 720x480x3 ячеек, где 3 - количество каналов, включая в данном случае красный, зеленый и синий каналы. В некоторых вариантах реализации изображение может быть гиперспектральным изображением, и матрица обязательно будет иметь более трех каналов для представления изображения. В некоторых вариантах реализации входной модуль 204 также может быть реализован известным способом для выполнения обработки изображения, такой как, например, изменение размера изображения, чтобы гарантировать, что каждая матрица M, переданная экстрактору 202, имеет одинаковый объем данных или изменение цвета в порядке для улучшения определенных функций изображения.
[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.
[0034] В некоторых вариантах реализации, а также как известно в данной области техники, один или более скрытых сверточных модулей C1, C2 могут содержать другие слои, обеспеченные для повышения устойчивости модели, такие как слои, называемые «функциями активации» для обеспечения нелинейности, например, слои с блоком линейной ректификации (Rectified Linear Unit, ReLU), которые способствуют преобразованию отрицательных значений в нулевые, и/или нормализационные слои, которые могут обеспечивать отбеливание или латеральное торможение.
[0035] Затем признаки оконечной сокращенной карты признаков, в данном случае карты RFM2 признаков, сгенерированной после обработки всеми сверточными модулями C1, C2, объединяют в последний слой данного основанного на CNN экстрактора 202 для генерации вектора F признаков, распространяемый на имеющий скрытую метку слой L предсказания выходного модуля 206. Слой L предсказания с меткой содержит один или более слоев полносвязных узлов, которые также могут включать в себя функции активации. Каждый узел одного слоя связан с каждым узлом предыдущего слоя посредством индивидуально взвешенного соединения, а каждый узел может иметь индивидуальное смещение. В некоторых вариантах реализации могут использоваться дополнительные данные обучающего изображения для обновления указанных весов и/или смещений с целью улучшения предсказания классификатора 200 DLNN.
[0036] Слой L предсказания метки обеспечивает генерацию n-мерного вектора, где n - количество возможных классов, на которые может быть классифицировано входное изображение 208 (в настоящем варианте реализации имеются два возможных класса: ХОРОШИЙ/ПЛОХОЙ). Каждое число в этом n-мерном векторе представляет вероятность того, что изображение 208 (или его части) принадлежит конкретному классу из n классов. Этот слой L предсказания меток, например, может быть выполнен с возможностью использования так называемой функции активации «SOFTMAX» или выполнен в виде так называемой машины опорных векторов (Support Vector Machine, SVM) для получения этих вероятностей. В настоящем варианте реализации выходные данные O1, O2 для каждого возможного класса заполняются оценкой вероятности в n-мерном векторе. Эти выходные данные O1 и O2 или в некоторых вариантах реализации только один набор выходных данных, имеющий наивысшую вероятность, заданы так, что являются доступными вне классификатора 200 DLNN, например, для использования при генерации одного или более зависимых сообщений для отображения на экране отображающего устройства или при генерации управляющего сигнала для управления работой внешних устройств для отвода пробы молока.
[0037] Следует понимать, что для извлечения из входного изображения 208 информации о признаках могут использоваться сети, отличные от сетей сверточной обработки. Например, для выполнения этой функции могут использоваться сети глубокого доверия, которые представляют собой сложенные слои ограниченных машин Больцмана, а также автоэнкодеры и генеративно-состязательные сети.
[0038] Классификатор нейронной сети с глубоким обучением в соответствии с настоящим изобретением, например, классификатор 200 DLNN на ФИГ. 2, может быть обучен (или переобучен) путем трансферного обучения для генерирования взвешенных фильтров сверточных модулей C1, C2. Веса и/или смещения каждого соединения слоя L предсказания метки могут быть дополнительно или альтернативно переобучены таким образом. Обычно взвешенные фильтры сверточных модулей C1, C2 остаются фиксированными, и только веса и/или смещения соединений в слое L предсказания метки регулируются во время последующей точной настройки, как будет описано ниже.
[0039] Ниже исключительно для примера будет описано обучение классификатора нейронной сети с глубоким обучением со ссылкой на классификацию образцов молока только по двум классам, например, ХОРОШО или ПЛОХО, но понятно, что классификатор можно обучить классифицировать пробы молока как принадлежащие к одному классу или любому количеству классов при условии, что характеристики класса визуально проявляются на изображении молока.
[0040] Классификатор нейронной сети с глубоким обучением, например классификатор 200 DLNN, может быть обучен без использования предыдущих данных или информации (т.е. с нуля) или может быть точно настроен в зависимости от размера обучающего набора в домене приложения. Обучение классификатора нейронной сети с глубоким обучением может включать две фазы. В фазе инициализации обучения классификатору нейронной сети с глубоким обучением в качестве обучающих данных может быть передан очень большой набор изображений с множеством предметов, не связанных с молоком. Например, для инициализации взвешенных фильтров, а также весов и смещений классификатора нейронной сети с глубоким обучением могут служить изображения из коллекции ImageNet. В фазе настройки обучения специализированные изображения образцов молока, содержащие ожидаемые отклонения и аннотированные как таковые (данные обучающего изображения), могут быть переданы классификатору нейронной сети с глубоким обучением в качестве обучающих данных. Обучающие данные могут включать в себя набор изображений образцов молока, которые известны как не имеющие аномалий и аннотированы как таковые. На основе присутствия каких-либо аномальных частей в изображении для всего обучающего изображения может быть определена метка, которая может быть легко получена в режиме реального времени без значительных усилий при маркировке. Аномальные области на обучающих изображениях не нуждаются в определении, сегментировании или очерчивании. Адекватный обучающий образ может быть определен как имеющий по меньшей мере один аномальный пиксель. Каждый обучающий образ может быть помечен или аннотирован и сохранен перед обучением классификатора DLNN. Например, обучающее изображение образца молока, имеющего аномальные области, может быть аннотировано как «ПЛОХОЕ», а обучающее изображение образца молока, не имеющего аномальных областей, может быть аннотировано как «ХОРОШЕЕ». Благодаря применению аннотаций на уровне изображений процесс обучения значительно упрощается и может быть завершен с меньшими усилиями. Обучающие данные с метками уровня изображения могут состоять из значительного количества выборок, например нескольких сотен выборок, для каждого класса с метками уровня изображения. Изображения, выбранные для обучающих данных с метками ограничивающего прямоугольника, могут состоять из меньшего количества выборок, например около 20 изображений для каждого класса, с ограничивающими прямоугольниками, охватывающими ключевые маркеры на изображении, которые помогают обнаруживать отклонения. Из образцов изображений каждого класса могут быть вырезаны фрагменты изображения, которые могут быть помечены с включением маркеров с той же самой меткой класса уровня изображения, соответствующей изображению, из которого вырезаны указанные фрагменты. Размер фрагментов изображения может быть изменен в соответствии с размером исходного изображения. После того, как все наборы изображений обучающих данных сгенерированы и изменен их размер, классификатор нейронной сети глубокого обучения может быть обучен путем применения обучающих данных. Классификатор DLNN 200 может быть обучен с использованием известных методологий трансферного обучения, причем в данном случае данные обучения применяются как переобучение или «настройка» после фазы инициализации обучения классификатора нейронной сети с глубоким обучением с использованием одного из общедоступных наборов обучающих данных, например, сети ImageNet, ImageNet или Microsoft Common Objects in Context. Обычно взвешенные фильтры, обученные во время этой фазы инициализации обучения, остаются фиксированными, и только веса и смещения соединений между узлами слоев в слое L предсказания метки впоследствии могут быть изменены во время фазы уточнения или «настройки». Набор обучающих данных из помеченных изображений молока может быть расширен или заменен другими помеченными изображениями молока и применен к существующему классификатору DLNN молока для его переобучения или улучшения обучения.
[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.
[0042] На ФИГ.3 схематично изображен вариант реализации системы 300 классификации молока согласно настоящему изобретению, подходящей для реализации классификатора 200 DLNN, показанного на ФИГ. 2, для классификации молока, представленного в данных цифрового изображения, как принадлежащего к классу среди множества классов.
[0043] Система 300 содержит устройство 302 ввода, вычислительное устройство 304 и устройство 306 вывода.
[0044] Устройство 302 ввода выполнено с возможностью генерирования цифрового представления изображения образца 208 молока и обеспечения этого представления для обработки в вычислительном устройстве 304.
[0045] В некоторых вариантах реализации устройство 302 ввода содержит цифровую камеру или другое обнаружительное устройство 3022, включая в случае необходимости элементы оптического кондиционирования (такие как линзы и фильтры), адаптированные для создания цифровых изображений образцов молока, которые могут быть расположены на столике 3024 для создания изображения в поле обзора цифровой камеры или обнаружительного устройства 3022. Столик 3024 для создания изображения в некоторых вариантах реализации может быть областью в пространстве, в которой размещен образец молока или через которую он транспортируется, например, на перемещаемой ленте или дорожке, или распылен или иным образом протекает через указанное свободное пространство, или может быть держателем, на котором закреплен или размещен образец молока. В случае необходимости устройство 302 ввода может включать в себя источник 3026 освещения, приспособленный для освещения образцов, расположенных на столике 3024 для формирования изображения. Кондиционирующие оптические элементы и/или источник 3026 освещения могут быть адаптированы для обеспечения того, чтобы в детектор (камеру или обнаружительное устройство) попадал только свет в пределах определенного диапазона длин волн, например, путем обеспечения того, чтобы свет этого диапазона длин волн освещал образец через выбранные соответствующим образом фильтры и/или испускался источником 3026 излучения соответствующих длин волн. Этот выбор только ограниченного диапазона длин волн также может быть достигнут путем соответствующей обработки данных цифрового изображения после его захвата, чтобы удалить информацию из полученного изображения, которая не связана с интересующей областью длин волн. В некоторых вариантах реализации источник 3026 освещения и камера/обнаружительное устройство 3022 могут быть ориентированы относительно столика 3024 для создания изображения таким образом, что только свет, прошедший через образец на столике 3024 для создания изображения, обнаруживается камерой/обнаружительным устройством 3022, причем в других вариантах реализации конфигурация может быть такой, что обнаруживается свет, отраженный от образца, при этом еще в одних вариантах реализации конфигурация может быть такой, что для каждого из прошедшего и отраженного света генерируются отдельные изображения.
[0046] В некоторых вариантах реализации устройство 302 ввода может быть обычным цифровым преобразователем, например, планшетным сканером, который выполнен с возможностью преобразования бумажной копии изображения пробы молока в цифровое представление этого изображения.
[0047] В некоторых вариантах реализации устройство 302 ввода может содержать запоминающее устройство и считывающее устройство. Запоминающее устройство выполнено с возможностью хранения цифровых изображений образцов молока в материальном машиночитаемом носителе и, например, может содержать привод CD-ROM или другой оптический носитель, запоминающее устройство USB или другое твердотельное запоминающее устройство или удаленные запоминающие устройства массовой информации, реализованные в одном или более серверов. Считывающее устройство выполнено с возможностью доступа к устройству хранения и получения цифрового изображения пробы молока, хранящейся в указанном устройстве, для передачи в качестве данных цифрового изображения вычислительному устройству 304.
[0048] Вычислительное устройство 304 содержит: один или более интерфейсов 3042 связи для одного или обоих из принимаемых данных и передаваемых данных вычислительного устройства 304; процессор 3044, который может содержать один или более обрабатывающих блоков, таких как, например, один или более выделенных микропроцессоров, обычных одноядерных или многоядерных компьютерных процессоров (ЦП), соответствующим образом адаптированный графический процессор (ГП) или блок нейронной обработки (НПУ); системную память 3046 и в случае необходимости внутреннее или удаленно доступное запоминающее устройство 3048.
[0049] Программный код в настоящем варианте реализации загружают в системную память 3046 для исполнения процессором 3044. Этот программный код может храниться временно или постоянно в системной памяти 3046, может быть сделан доступным для системной памяти 3046 (или непосредственно для процессора 3044) из внутреннего или внешнего запоминающего устройства 3048, если таковое присутствует, или может храниться частично внутри вычислительного устройства 304 и частично вне вычислительного устройства 304. Указанный программный код, хранящийся во внешнем запоминающем устройстве, имеет то преимущество, что переобучение или дополнительное обучение классификатора DLNN, например, классификатора 200 DLNN, показанного на ФИГ. 2, может выполняться централизованно, и та же самая новая модель может быть развернута в одном или более вычислительных устройствах 304 одной или более систем 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.
[0051] Устройство 306 вывода согласно настоящего варианта реализации содержит интерфейс 3062 связи, отображающее устройство 3064 и генератор 3066 сигналов управления. Цифровая информация, доступная с внешней стороны через интерфейс 3042 связи вычислительного устройства 304, (т.е. классификация пробы молока, присутствующая на изображении, полученном устройством 302 ввода, и в случае необходимости вероятности пробы молока, принадлежащие некоторым или всем из классов, доступных для классификатора DLNN, как определено программируемым процессором 3044), принимается устройством 306 вывода через его интерфейс 3062 связи. Генератор 3066 управляющих сигналов принимает цифровую информацию от интерфейса 3062 связи и генерирует сигнал в зависимости от этой информации, как приведено для примера и изображено в настоящем варианте реализации, для управления отображающим устройством 3064 для отображения информации, относящейся к классификации пробы молока, которая была сгенерирована классификатором DLNN, реализованным процессором 3044. Такая отображаемая информация может быть непосредственно самой классификацией (например, альтернативными двоичными классификациями, такими как «ХОРОШИЙ» или «ПЛОХОЙ», «ПОДХОДЯЩИЙ» или «НЕПОДХОДЯЩИЙ») или может быть инструкциями для оператора, управляющего указанной классификацией, (например, командой «УДАЛИТЬ ОБРАЗЕЦ», если указанный образец классифицируется как «ПЛОХОЙ» или «НЕПОДХОДЯЩИЙ»). В некоторых вариантах реализации отображающее устройство 3064 может быть последовательностью световых индикаторов, например, красным световым индикатором для результата классификации «ПЛОХО» и зеленым световым индикатором для результата классификации «ХОРОШО», которые испускают свет по отдельности в зависимости от управляющего сигнала. В некоторых вариантах реализации отображающее устройство 3064 может быть звуковым генератором для звукового отображения результатов классификации.
[0052] Дополнительно или альтернативно генератор 3066 управляющего сигнала может быть выполнен с возможностью генерации управляющего сигнала, используемого для управления одним или более внешними устройствами, в зависимости от классификации, сгенерированной вычислительным устройством 304, как описано ниже. В таких вариантах реализации сигнал управления может быть доступен снаружи устройства 306 вывода через интерфейс 3062 связи, а в некоторых вариантах реализации отображающее устройство 3064 не служит полезной цели и может быть опущено.
[0053] Система 300 может быть реализована с использованием стационарных компьютеров, портативных электронных устройств, портативных или мобильных компьютеров, сетевых или серверных компьютеров или мэйнфреймовых компьютеров. Определенные функции описаны как выполняемые одним устройством, но следует понимать, что настоящее изобретение не ограничивается этим, и понятно, что настоящее изобретение также может быть практически реализовано в распределенных вычислительных средах, в которых функции могут быть распределены среди разрозненных, но связанных друг с другом устройств цифровой обработки и запоминающих устройств, которые могут быть локальными или удаленными. Эти устройства обработки и запоминающие устройства могут быть связаны через сеть связи, такую как локальная сеть, глобальная сеть или Интернет.Инструкции, которые должны исполняться подходящим процессором, могут храниться на материальных машиночитаемых носителях, таких как компьютерные диски, предварительно запрограммированные компьютерные микросхемы или съемные твердотельные запоминающие устройства (такие как устройства памяти USB). Дополнительно или альтернативно инструкции могут передаваться по сети и распространяться как сигнал в подходящей среде распространения (например, с использованием электромагнитных или звуковых волн).
[0054] Передача цифровой информации от устройства 302 ввода к вычислительному устройству 304, от вычислительного устройства 304 к устройству 306 вывода и от внешнего вычислительного устройства 304 к его системной памяти 3046 или его процессору 3044, и вообще любая передача цифровой информации в системе согласно настоящему изобретению может осуществляться посредством фиксированной линии связи, такой как проводная сеть или проводное телекоммуникационное соединение, несущее модулированные сигналы данных, или может осуществляться посредством беспроводной линии связи для передачи одного или более модулированных сигналов данных или несущих волн, таких как радиочастота или инфракрасная оптическая связь.
[0055] На ФИГ. 4 показан (не в масштабе) пример анализатора 400 молока согласно настоящему изобретению. Анализатор 400 молока содержит блок 402 анализа молока и систему 404 классификации молока, в рабочем состоянии соединенную с ним. Блок 402 анализа молока включает в себя систему 4022 забора пробы, выполненную с возможностью управления работой перемещаемой пипетки 4024, через которую молоко подается из контейнера для пробы в средство для анализа (не показано) в блоке 402 анализа. Пипетка 4024 выполнена с возможностью перемещения для регулировки высоты ее наконечника 4026 над поверхностью. Следует понимать, что в блоке 402 анализа молока можно использовать любые методы анализа, такие как известные методы инфракрасной спектроскопии или проточной цитометрии.
[0056] Система 404 классификации молока выполнена с возможностью: получения изображения молока из контейнера для пробы; создания классификации изображаемого молока с использованием классификатора DLNN, такого как классификатор 200 DLNN, описанный выше со ссылкой на ФИГ. 2, обученного с использованием помеченных изображений молока из классов, в которые изображаемое молоко может быть классифицировано, и реализованной в процессоре системы 404 для классификации молока; и управления подачей молока в блок анализа в зависимости от сгенерированной классификации.
[0057] В настоящем варианте реализации анализатор 400 молока расположен относительно транспортирующей системы 406, такой как ленточный транспортер, с возможностью размещения его пипетки 4024 над горизонтальной поверхностью 4062 транспортирующей системы 406, так что пипетка при ее перемещении может входить в контейнеры 408a..d для образца и выходить из контейнеров 408a..d для образца, удерживаемых в штативе 410 для образцов, когда они последовательно проходят под пипеткой 4024 при перемещении транспортирующей системы 406 в направлении стрелки, показанной на чертеже. Контейнеры 408a..d для образцов могут содержать молоко (например, контейнеры 408a, 408b и 408d), однако контейнеры для образцов (например, контейнер 408b) могут содержать недостаточное количество молока для анализа, контейнеры для образцов (например, контейнер 408c) могут быть пустыми, или контейнеры для образцов могут отсутствовать, а штатив 410 имеет свободное место держателя (например, 4102).
[0058] Только для примера и простоты описания, система 404 классификации молока согласно настоящего варианту реализации описана ниже как содержащая функциональные элементы системы 300 для классификации молока, уже описанные выше со ссылкой на ФИГ. 3. Таким образом, система 404 для классификации молока содержит устройство 302 ввода, вычислительное устройство 304 и устройство 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.
[0060] Следует принять во внимание, что могут использоваться другие расположения цифровых камер 4042, 4044, так что контейнеры с пробами можно рассматривать под разными углами, или можно использовать больше или меньше цифровых камер или других обнаружительных устройств, таких как неподвижная фотокамера или ПЗС-матрица (CCD sensor array). ПЗС-матрица может быть заменена видеокамерами 4042, 4044 без отклонения от заявленного изобретения. В настоящем варианте реализации изображения должны быть получены при окружающем свете, но в других вариантах реализации устройство 302 ввода также может включать в себя один или более источников освещения, которые могут включать в себя источники, адаптированные для испускания света в определенных узких спектральных областях, вместе с другими элементами оптического кондиционирования, такими как один или более оптических полосовых фильтров и/или линз.
[0061] Устройство 306 вывода системы для классификации в данном случае содержит контроллер 3066, который генерирует управляющий сигнал в зависимости от результатов двоичной классификации молока, сгенерированной в вычислительном устройстве 304. Управляющий сигнал выводится в систему 4022 отбора пробы, которая выполнена с возможностью работы в зависимости от этого управляющего сигнала для управления отбором пробы молока в блок 402 анализа молока. В настоящем варианте реализации, когда сгенерированная классификация указывает на присутствие неподходящей пробы молока (молока, классифицированного как «ПЛОХОЕ»), генерируемый управляющий сигнал будет интерпретироваться в системе 4022 для отбора пробы как препятствующий подаче любой пробы молока из пипетки 4042 в средство для анализа блока 402 анализа молока.
[0062] В некоторых вариантах реализации управляющий сигнал может быть передан за пределы блока 402 анализа молока в сортировочное устройство (не показано), такое как роботизированная рука или дефлектор, для отклонения контейнеров с пробами от следования по пути, указанному стрелкой, действующее в ответ на управляющий сигнал для удаления из транспортирующей системы 406 контейнеров, например, контейнеров 408b, 408c, которые классифицированы как содержащие неподходящий или недостаточный образец молока, и, таким образом, препятствующее подаче неподходящего образца в средство для анализа блока 402 анализа молока.
[0063] В некоторых вариантах реализации, как показано на ФИГ. 4 прерывистой линией, структуры 412, 304', весь классификатор DLNN или его часть может быть реализован или реализована в удаленном вычислительном устройстве 304'. Изображения, захваченные устройством 302 ввода, в данном случае передаются через Интернет 412 в удаленное вычислительное устройство 304'. Удаленное вычислительное устройство 304', как и вычислительное устройство 304, описанное выше, реализует классификатор DLNN для обработки захваченных изображений и выполнения двоичной классификации изображений, которые передаются обратно в качестве входных данных в устройство 306 вывода для использования при построении управляющего сигнала, как обсуждалось выше. Альтернативно удаленное вычислительное устройство 304' также может генерировать управляющий сигнал и передавать его назад в блок 402 анализа молока для использования при управлении захватом пробы молока (например, путем управления секцией 4022 забора пробы или сортировочным устройством).
[0064] На ФИГ. 5a показана часть еще одного варианта реализации анализатора 500 молока. Анализатор 500 молока содержит блок 502 анализа молока (показан только частично), который включает в себя систему 504 отбора пробы. Система 504 отбора пробы содержит держатель 506 контейнера и выполненную с возможностью перемещения пипетку 508, с помощью которой молоко из контейнера для пробы (не показан), размещенного в держателе 506 контейнера, транспортируется в средство для анализа в блоке 502 для анализа молока. Пипетка 508 может перемещаться под управлением системы 504 для забора пробы вдоль оси А с изменением ее высоты над основанием 5062 держателя 506 контейнера и, таким образом, может входить в контакт/выходить из контакта с молоком в контейнере для пробы, размещенном в держателе 506 контейнера.
[0065] Устройство 510 ввода системы для классификации молока согласно настоящему изобретению, описанное выше со ссылкой на ФИГ. 3, расположено по меньшей мере частично внутри системы 504 для отбора пробы. Устройство 510 ввода в данном случае содержит цифровую фотокамеру 5102, выполненную с возможностью получения изображений сверху контейнера для пробы молока, размещенного в держателе 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) согласно настоящему изобретению.
[0067] На ФИГ. 5b показана часть еще одного варианта реализации анализатора 520 молока. В настоящем варианте реализации система классификации описана со ссылкой на систему 300 для классификации молока, показанную на ФИГ. 3 и описанную выше со ссылкой на этот чертеж.
[0068] Анализатор 520 молока содержит блок 522 анализа молока (показан только частично), сообщающийся по текучей среде с молоком в магистральном трубопроводе 524 (или в другом источнике сборного молока) через отводной трубопровод 528. Отводной трубопровод 528 соединен (в некоторых вариантах реализации соединен рассоединяемым способом) с внутренним трубопроводом 530 в блоке 522 анализа молока. Источник 532 освещения и обнаруживающая матрица 534 взаимодействуют с образованием части устройства ввода системы классификации согласно настоящему изобретению. Источник освещения может содержать множество отдельных генераторов 5322 света, каждый из которых может излучать свет с одинаковой или различной длиной волны, и каждый из которых может быть активирован для излучения света в любой последовательности, например, индивидуально последовательно или в сочетании, или одновременно, для обеспечения освещения желаемым спектром длин волн. Обнаруживающая матрица 534 в некоторых вариантах реализации может содержать выполненную известным способом матрицу индивидуально адресуемых сенсорных элементов, выходные сигналы которых зависят от интенсивности света, падающего на светочувствительную поверхность, и имеют значение, которое может находиться, например, в диапазоне значений от 0 до 256. Эти значения для отдельных сенсорных элементов передаются для заполнения ячеек входного матричного массива M, имеющего подходящий размер, классификатора DLNN согласно настоящему изобретению (например, классификатора 200 DLNN, показанного на ФИГ. 2), реализованного в вычислительном устройстве (например, вычислительном устройстве 304) системы 300 классификации.
[0069] В настоящем варианте реализации источник 532 освещения и обнаруживающая матрица 534 расположены напротив друг друга с противоположных сторон прозрачной секции 5302 внутреннего трубопровода 530, так что обнаруживающая матрица 534 генерирует изображение в проходящем свете молока, находящегося в прозрачной секции 5302.
[0070] Многоходовой клапан 536 расположен в точке разветвления внутреннего трубопровода 530 и выполнен с обеспечением возможности выбора направления потока молока в трубе 530 либо в первую ветвь 5304, либо во вторую ветвь 5306 внутреннего трубопровода 530. Первая ветвь 5304 может быть подключена к выпуску для отходов (не показан), а вторая ветвь 5306 может быть подключена к средству для анализа (не показано) в блоке 522 анализа молока.
[0071] Как и система 300 для классификации молока, вычислительное устройство 304 содержит процессор, имеющий один или несколько блоков обработки, которые исполняют программный код для реализации классификатора DLNN, такого как классификатор 200, показанный на ФИГ. 2 и описанный выше, обученного для выполнения двоичной классификации образцов молока, представленных в данных цифрового изображения, сгенерированных обнаруживающей матрицей 534.
[0072] Выходные данные вычислительного устройства 304, зависящие от классификации, сгенерированной вычислительным устройством 304, передаются в устройство вывода (например, устройство 306 вывода), которое выполнено с возможностью генерации управляющего сигнала в ответ на выход вычислительного устройства 304 для использования в управлении работой многоходового клапана 536. В случае, когда классификация, созданная классификатором DLNN, реализованным в вычислительном устройстве 304, связана с молоком, представленным в данных изображения, непригодным для анализа, многоходовым клапаном 536 управляют в ответ на управляющий сигнал, передаваемый из устройства 306 вывода, для обеспечения потока молока через первую ветвь 5304, а не вторую ветвь 5306. И наоборот, если классификация связана с подходящим молоком, многоходовым клапаном 536 управляют в ответ на управляющий сигнал, передаваемый от устройства 306 вывода, для направления потока молока через вторую ветвь 5306, а не первую ветвь 5304.
[0073] На ФИГ. 6 показан еще один вариант реализации системы классификации молока согласно настоящему изобретению, например, системы 300 классификации, показанной на ФИГ. 3, реализованной в виде прибора 700 для определения загрязненности сборного молока, например, расположенного на ферме или станции приема молока для сортировки сборного молока. Прибор 700 для определения загрязненности сборного молока содержит: прозрачный столик 702 для захвата изображения; распылительный блок 704; генератор цифровых изображений, в данном случае цифровую камеру (фотокамеру или видеокамеру) 706; источник 708освещения; и вычислительное устройство 710, которое может содержать персональный компьютер, такой как стационарный компьютер или портативный компьютер, или которое может быть выделенным вычислительным устройством или может быть удаленным вычислительным устройством, подключенным через сеть связи.
[0074] Распылительный блок 704 содержит набор сопел (в данном случае линейный массив из шести сопел) (например, сопла 7042), предназначенных для распыления молока по ширине (или части ширины) верхней поверхности 7022 прозрачного столика 702 для создания изображения в данном случае в направлении его первого конца 7024. Молоко при распылении на поверхность 7022 перемещается тонким слоем по поверхности 7022 в направлении к второму концу 7026 прозрачного столика 702 для создания изображения, после чего молоко стекает со столика 702 для создания изображения и в настоящем варианте реализации собирается в лотке 712, который в некоторых вариантах реализации сообщается по текучей среде с системой 714 для удаления отходов, а в некоторых вариантах реализации выборочно соединен с системой 714 для удаления отходов или с возвратной линией для возврата молока в лоток 712 для дальнейшего использования. Для способствования перемещению распыленного молока по верхней поверхности 7022 прозрачный столик 702 для создания изображения, как показано на чертеже для настоящего варианта реализации, может быть расположен так, что его верхняя поверхность 7022 проходит под углом к горизонтали. Распылительный блок 704 может быть соединен с источником 718 молока, который в настоящем варианте реализации представляет собой линию подачи сборного молока, через впускное отверстие, в данном случае через клапан 7044 управления потоком.
[0075] Цифровая камера 706 расположена на одной стороне прозрачного столика 702 для создания изображения таким образом, что имеет поле обзора, включающее по меньшей мере часть молока, когда оно перемещается тонким слоем по верхней поверхности 7022. Источник 708 освещения расположен на противоположной стороне прозрачного столика 702 для создания изображения для освещения по меньшей мере части молока, находящейся в поле зрения цифровой камеры 706, через нижнюю поверхность 7028 прозрачного столика 702 для создания изображения, расположенную напротив верхней поверхности 7022. Цифровая камера 706 и источник 708 освещения взаимодействуют друг с другом для генерации данных цифрового изображения с помощью цифровой камеры 706, обнаруживающей свет, передаваемый от источника 708 освещения через тонкий слой молока на верхней поверхности 7022 прозрачного столика 702 для создания изображения.
[0076] Цифровая камера 706 может быть снабжена интерфейсом связи, в данном случае беспроводным интерфейсом 7062, по которому сгенерированные данные цифрового изображения молока передают в вычислительное устройство 710. Интерфейс связи, в данном случае беспроводной интерфейс 7102, вычислительного устройства 710 принимает данные цифрового изображения молока, сгенерированные цифровой камерой 706, и передает их во внутреннее хранилище 7104 вычислительного устройства, где они остаются доступными для обработки процессором 7106, который может содержать один или более процессоров, таких как центральный процессор (CPU) и/или графический процессор (GPU) вычислительного устройства 710, подходящим образом сконфигурированные для реализации классификатора DLNN согласно настоящему изобретению, обученного классифицировать молоко как принадлежащее к одному из множества классов, например, классификатора 200 DLNN, описанного выше.
[0077] В некоторых вариантах реализации этап 702 формирования прозрачного изображения может отсутствовать, а цифровая камера 706 и источник 708 освещения могут быть выполнены с возможностью генерирования изображений в свете, проходящем через молоко в свободном пространстве, например, молоко, которое распыляют в виде завесы из распылительного устройства 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.
[0079] Например, в случае, когда классификатор DLNN, реализованный процессором 7106, классифицирует молоко в данных цифрового изображения молока как непригодное (например, испорченное), генератор 7112 управляющего сигнала может вырабатывать сигнал управления для закрытия запорного клапана 720, чтобы предотвратить протекание молока в линии 718 (например, в контейнер для хранения или на транспортер), в то время как адаптер отображающего устройства автоматически генерирует одно или более сообщений на основе указанной классификации, например, предупреждающую метку 7118 (например, СТОП (HALT или STOPPED), которая отображается на блоке 7116 визуального отображения и может служить предупреждением пользователю о нежелательном состоянии отображаемого молока.
[0080] Следует принимать во внимание, что в то время как аспекты настоящего изобретения могли быть описаны выше в общем контексте машиноисполняемых инструкций, таких как процедуры, выполняемые устройством обработки данных общего назначения, например персональным компьютером, специалистам в данной области техники понятно, что настоящее изобретение может быть реализовано с использованием других средств связи, средств для обработки данных или компьютерных систем, включая: беспроводные устройства, многопроцессорные системы, сетевые ПК, мини-компьютеры, мэйнфреймы и т.п.
[0081] Несмотря на то, что аспекты настоящего изобретения, такие как определенные функции, описаны как выполняемые исключительно в одном устройстве или блоке, настоящее изобретение также может быть реализовано на практике в распределенных средах, в которых функциональные возможности разделены между разными устройствами обработки и распределены между несколькими устройствами или блоками. Разрозненные процессоры, блоки и устройства могут быть связаны через сеть связи, такую как локальная сеть (LAN), глобальная сеть (WAN) или сеть Интернет, или они могут иметь проводную связь.
[0082] Программный код для реализации классификатора DLNN согласно настоящему изобретению может храниться или распространяться материальными машиночитаемыми носителями, включая магнитные или оптические компьютерочитаемые диски, жестко смонтированные или предварительно запрограммированные микросхемы (например, полупроводниковые микросхемы EEPROM), запоминающие устройства, изготовленные с использованием нанотехнологий, биологические запоминающие устройства или другой носитель данных. Альтернативно программный код и другие данные, относящиеся к изобретению, могут быть распределены через Интернет или другие сети (включая беспроводные сети) в распространяемом сигнале в среде распространения, такой как электромагнитная волна.
[0083] Модули, блоки и устройства, составляющие варианты реализации настоящего изобретения, в некоторых случаях могут быть интегрированными, а в других случаях некоторые или все и з них могут быть соединены между собой отдельными модулями, блоками и устройствами.