EA048383B1 - Платформы глубокого обучения для автоматизированного визуального контроля - Google Patents
Платформы глубокого обучения для автоматизированного визуального контроля Download PDFInfo
- Publication number
- EA048383B1 EA048383B1 EA202293187 EA048383B1 EA 048383 B1 EA048383 B1 EA 048383B1 EA 202293187 EA202293187 EA 202293187 EA 048383 B1 EA048383 B1 EA 048383B1
- Authority
- EA
- Eurasian Patent Office
- Prior art keywords
- image
- images
- container
- training
- defects
- Prior art date
Links
Abstract
В изобретении описаны методики, которые облегчают разработку и/или модификацию системы автоматизированного визуального контроля (AVI), реализующей глубокое обучение. Некоторые аспекты облегчают генерирование большой и разнообразной библиотеки обучающих изображений, например, путем цифровой модификации изображений реальных емкостей и/или генерирования синтетических изображений емкости с использованием глубокой генеративной модели. Другие аспекты сокращают использование ресурсов обработки для обучения и/или осуществления выводов с помощью нейронных сетей в системе AVI, например, путем автоматического уменьшения размеров пикселей обучающих изображений (например, путем понижающей дискретизации и/или выборочной обрезки изображений емкости). Еще одни аспекты облегчают тестирование или квалификацию нейронной сети AVI путем автоматического анализа тепловой карты или граничной рамки, сгенерированной нейронной сетью. В данном изобретении также описаны различные другие методики.
Description
Область техники, к которой относится изобретение
Настоящая заявка в целом относится к автоматизированному визуальному контролю, а более конкретно к методикам обучения, тестирования и использования моделей глубокого обучения для обнаружения дефектов (например, дефектов емкости и/или инородных частиц) в фармацевтических или других приложениях.
Предпосылки создания изобретения
В некоторых контекстах, таких как процедуры контроля качества в отношении произведенных лекарственных продуктов, необходимо осматривать образцы (например, емкости, такие как шприцы или флаконы, и/или их содержимое, такое как текучая среда или лиофилизированные лекарственные продукты) на наличие дефектов, при этом любой образец, имеющий дефекты, отклоняется, сбрасывается и/или подвергается дополнительному анализу. Для обработки объемов, обычно связанных с промышленным производством фармацевтических препаратов, задача по контролю на наличие дефектов все больше автоматизируется (автоматизированный визуальный контроль или AVI). Некоторые производители разработали специализированное оборудование, которое может обнаруживать широкий диапазон дефектов, включая дефекты целостности емкости, такие как трещины, косметические дефекты емкости, такие как царапины или пятна на поверхности емкости, и дефекты, связанные с самим лекарственным продуктом, такие как нетипичные цвета жидкости или наличие инородных частиц. Однако специализированное оборудование такого рода занимает большую занимаемую площадь на производственном объекте и является очень сложным и дорогим. В качестве лишь одного примера, оборудование промышленной линейки Bosch® 5023, которое используется для этапа контроля наполнения/укупорки шприцев, наполняемых лекарственным средством, содержит 15 отдельных станций визуального контроля, имеющих в общей сложности 23 камеры (т.е. одна или две камеры на станцию). Большое количество станций с камерой продиктовано не только диапазоном перспектив, необходимых для хорошего охвата всего диапазона дефектов, но и ограничениями обработки. В частности, временное окно для вычислений может быть относительно коротким при высоких скоростях производства. Это может ограничить сложность отдельных алгоритмов обработки изображений для данной станции, что, в свою очередь, требует наличия множества станций, каждая из которых запускает алгоритмы обработки изображений, разработанные для поиска только определенного класса дефектов. В дополнение к тому, что такое оборудование является большим и дорогим, оно обычно требует значительных инвестиций в рабочую силу и другие ресурсы для квалификации и ввода в эксплуатацию каждой новой линейки продуктов. Техническое обслуживание таких систем AVI и переход на новую линейку продуктов, как правило, требуют высококвалифицированных и опытных инженеров и часто сопряжены со значительными дополнительными расходами, когда требуется помощь инженеров по эксплуатации, связанных с поставщиком систем AVI.
Сущность изобретения
Варианты осуществления, описанные в данном документе, относятся к системам и способам, которые реализуют глубокое обучение для уменьшения размера/занимаемой площади, сложности, стоимости и/или требуемого технического обслуживания для оборудования AVI, для повышения точности обнаружения дефектов оборудования AVI и/или для упрощения задачи адаптации оборудования AVI для использования с новой линейкой продуктов. Одним из потенциальных преимуществ глубокого обучения является то, что его можно обучить одновременно отличать хорошие продукты от продуктов, которые демонстрируют любой из ряда разных дефектов. Это распараллеливание в сочетании с возможностью того, что алгоритмы глубокого обучения будут менее чувствительны к нюансам перспективы и освещения, также может позволить существенно сократить количество станций с камерами. Это, в свою очередь, позволяет значительно уменьшить требуемый объем механической транспортировки/обработки (например, посредством звездочек, каруселей и т. д.), тем самым дополнительно уменьшая размер системы AVI и удаляя или уменьшая потенциальный источник варьируемости и/или неисправностей. В качестве одного примера, промышленное оборудование AVI с занимаемой площадью порядка 3 х 5 м может быть уменьшено до занимаемой площади порядка 1 х 1,5 м или меньше. Глубокое обучение также может снизить нагрузку при переходе на новую линейку продуктов. Например, ранее обученные нейронные сети и связанные с ними библиотеки изображений могут быть использованы для снижения нагрузки на обучение для новой линейки продуктов.
Хотя недавно были выдвинуты обобщенные предложения по использованию глубокого обучения в задаче визуального контроля, реализация глубокого обучения в этом контексте порождает ряд существенных технических проблем, любая из которых может помешать реализации перечисленных выше преимуществ на практике. Например, хотя может быть относительно просто определить, обеспечивает ли конкретная модель глубокого обучения достаточную точность обнаружения в конкретном случае использования (например, для конкретного лекарственного продукта), модель может быть гораздо менее точной в других случаях использования (например, для другого лекарственного продукта). Например, в то время как так называемая матрица неточностей, указывающая точные и
- 1 048383 неточные классификации (включая ложноположительные и ложноотрицательные результаты), может показать, что модель глубокого обучения корректно делает вывод о большинстве или всех дефектах в конкретном наборе изображений емкости, модель может сделать это путем закрепления/фокусирования на характеристиках, которые не связаны по своей сути или обязательно с наличием или отсутствием этих дефектов. В качестве более конкретного примера, если емкости, изображенные в конкретном наборе обучающих изображений, демонстрируют корреляцию между местоположением мениска и наличием инородных частиц внутри емкости, модель глубокого обучения может сделать вывод о наличии или отсутствии таких частиц на основе местоположения мениска. Однако, если будущий продукт не демонстрирует такой же корреляции между наличием частиц и местоположением мениска, модель может плохо работать для этой новой линейки. Чтобы избежать результатов такого рода, в некоторых вариантах осуществления система AVI может генерировать тепловую карту, указывающую, какая часть (какие части) изображения емкости в наибольшей степени способствовала (способствовали) конкретному выводу для этого изображения (например, дефект или нет дефекта). Более того, система AVI может автоматически оценивать тепловую карту, чтобы подтвердить, что модель глубокого обучения закрепляется на ожидаемой/подходящей части изображения при осуществлении вывода. В реализациях, которые используют обнаружение объектов, а не классификацию, система AVI может вместо этого оценивать эксплуатационные характеристики модели обнаружения объектов, сравнивая граничные рамки, которые модель генерирует для обнаруженных объектов (например, частиц), с идентифицированными пользователем местоположениями объектов. В каждой из этих реализаций получают понимание о рассуждениях или функционировании модели глубокого обучения, и их можно использовать для повышения вероятности того, что модель глубокого обучения будет продолжать работать хорошо в будущем.
Еще одна техническая проблема, возникающая при реализации глубокого обучения в AVI, относится к требованиям к обработке как на этапе обучения, так и на этапе производства/осуществления вывода. В частности, обучение и использование нейронной сети может легко превысить аппаратные возможности (например, объем оперативного запоминающего устройства), связанные с системой AVI. Более того, аппаратные ограничения могут привести к длительному времени обработки, что неприемлемо в определенных сценариях, например, при контроле продуктов в промышленных количествах/скоростях производства. Это может быть особенно проблематично, когда необходимо обнаружить небольшие дефекты, такие как мелкие частицы, для которых может потребоваться гораздо более высокое разрешение изображения, чем для других типов дефектов. В некоторых вариантах осуществления, чтобы не требовать, чтобы все обучающие изображения имели максимальное необходимое разрешение, и/или чтобы избежать захвата множества изображений каждой емкости с разным разрешением, одно или несколько обучающих изображений меньшего размера (т. е. изображений с меньшим количеством пикселей) получаются из каждого изображения с более высоким разрешением. Для этой цели могут использоваться различные техники. Если одна нейронная сеть предназначена для обнаружения относительно грубого дефекта, не требующего высокого разрешения (например, отсутствие колпачка иглы), например, обучающие изображения могут быть сгенерированы путем понижающей дискретизации исходных изображений емкости. В качестве другого примера, если конкретная нейронная сеть предназначена для обнаружения дефектов в относительно небольшом/ограниченном участке емкости, обучающие изображения для этой модели могут быть сгенерированы путем автоматической обрезки исходных изображений емкости, чтобы исключить по меньшей мере некоторые области за пределами интересующего участка. Более того, если конкретный тип дефекта связан с варьируемым интересующим участком (например, дефекты на поршне, которые могут находиться в любом месте в диапазоне возможных положений вдоль цилиндра шприца), обрезке может предшествовать операция обработки изображения, при которой интересующий участок автоматически идентифицируется внутри исходного изображения (например, с использованием обнаружения объектов глубокого обучения или более традиционной методики, такой как сопоставление с шаблоном или blob-анализ).
Еще одна техническая проблема, возникающая при реализации глубокого обучения в AVI, связана с генерированием библиотеки изображений для обучения и/или проверки нейронной сети (нейронных сетей). В частности, может быть чрезмерно времязатратным и/или дорогостоящим генерирование и курирование библиотеки изображений емкости, которая является достаточно большой и разнообразной, чтобы обучить нейронную сеть обрабатывать множество разных способов, которыми могут проявляться дефекты (например, находящиеся в разных местоположениях на или в емкости, имеющие разные размеры, формы и/или другие оптические качества и так далее), и, возможно, также разные способы, которыми могут проявляться недефектные признаки (например, из-за варьируемости уровней заполнения емкости, положения поршня и т. д.). Более того, задача, как правило, должна повторяться каждый раз, когда для новой и существенно отличающейся линейки продуктов (и/или существенного изменения аппаратного обеспечения или процесса контроля) требуется новая библиотека обучающих изображений. Чтобы решить эти проблемы, различные методики, раскрытые в данном документе, упрощают генерирование более крупной и разнообразной библиотеки изображений. Например, исходные изображения емкости могут быть модифицированы путем виртуального/цифрового
- 2 048383 перемещения положения признака емкости, изображенного на изображениях (например, положения поршня, положения мениска и т.д.), в новые положения внутри изображений. В качестве другого примера исходные изображения емкости могут быть модифицированы путем генерирования зеркального изображения, перевернутого относительно оси изображения, которая соответствует продольной оси емкости. В еще одних вариантах осуществления изображения реальных емкостей используются для обучения глубоких генеративных моделей (например, генеративно-состязательных сетей (GAN) или вариационных автокодировщиков (VAE)) для создания синтетических изображений емкости для использования в библиотеке обучающих изображений (например, вместе с исходными/реальными изображениями емкости). Синтетические изображения могут включать изображения, на которых изображены виртуальные емкости/содержимое с дефектами, и/или изображения, на которых изображены виртуальные емкости/содержимое без дефектов.
В данном документе также обсуждаются другие методики улучшения обучения и/или использования моделей глубокого обучения в системе AVI. Используя глубокое обучение с некоторыми или всеми передовыми технологиями, описанными в данном документе, количество станций с камерой и/или механическая сложность промышленной системы AVI могут быть существенно уменьшены, что приведет к уменьшению занимаемой площади, снижению затрат и упрощению проблем с долгосрочным техническим обслуживанием. Более того, использование глубокого обучения и передовых технологий может повысить универсальность промышленной линейки, упростив ее адаптацию к новым продуктам и/или вариациям процессов. Например, обучение системы новым продуктам или процессам (или вариациям существующих продуктов или процессов) может быть выполнено путем модификации библиотек изображений дефектов и/или точной настройки параметров модели, а не обычного процесса ручного перепрограммирования, характеристики и квалификации традиционных алгоритмов обработки изображений. Более того, использование глубокого обучения и передовых технологий может повысить точность обнаружения дефектов, в том числе категорий дефектов, которые традиционно было трудно надежно обнаружить (например, за счет предотвращения относительно высоких процентных значений ложноположительных результатов, когда в емкости присутствуют безвредные пузырьки).
Краткое описание графических материалов
Специалисту в данной области техники будет понятно, что фигуры, описанные в настоящем документе, включены для целей иллюстрации и не ограничивают настоящее изобретение. Графические материалы не обязательно изображены в масштабе, и вместо этого акцент делается на иллюстрацию принципов настоящего изобретения. Следует понимать, что в некоторых случаях различные аспекты описанных вариантов реализации могут быть укрупнены или увеличены для способствования пониманию описанных вариантов реализации. На графических материалах подобные ссылочные позиции на различных фигурах в целом выполняют одинаковые функции и/или являются структурно одинаковыми компонентами.
На фиг. 1 представлена упрощенная структурная схема примерной системы, которая может реализовывать различные методики, описанные в данном документе, относящиеся к обучению, проверке и/или квалификации одной или нескольких нейронных сетей для автоматизированного визуального контроля (AVI).
На фиг. 2 изображена примерная система визуального контроля, которая может использоваться в системе по фиг. 1.
На фиг. 3 изображена еще одна примерная система визуального контроля, которая может использоваться в системе по фиг. 1.
На фиг. 4A и 4B изображен вид в перспективе и вид сверху соответственно другой примерной системы визуального контроля, которая может быть использована в системе по фиг. 1.
На фиг. 5 изображено примерное изображение емкости, сгенерированное камерой с однострочной разверткой.
На фиг. 6A-6C изображены различные примерные типы емкостей, контроль которых может быть осуществлен с использованием системы по фиг. 1.
На фиг. 7A-7C изображены различные примерные дефекты, которые могут быть связаны с типами емкостей по фиг. 6A-6C (или их содержимым).
На фиг. 8 изображена примерная автоматизированная методика обрезки, которая может быть применена к изображению емкости.
На фиг. 9A изображены различные признаки примерного типа емкости, которые могут демонстрировать варьируемость между емкостями или партиями емкости.
На фиг. 9B изображена примерная автоматизированная методика динамической обрезки, которая может быть применена к изображению емкости.
На фиг. 10 изображено использование примерного показателя для обеспечения разнообразия изображений емкости в библиотеке обучающих изображений.
На фиг. 11A изображена примерная методика модификации изображения емкости для расширения и обеспечения разнообразия библиотеки обучающих изображений.
- 3 048383
На фиг. 11B изображены различные признаки примерного типа емкости, которые могут варьироваться для расширения и обеспечения разнообразия библиотеки обучающих изображений.
На фиг. 12 изображена примерная методика генерирования синтетических изображений емкости с использованием генеративно-состязательной сети (GAN).
На фиг. 13 изображена примерная методика генерирования синтетических изображений емкости с использованием вариационного автокодировщика (VAE).
На фиг. 14A и 14B изображена примерная методика выравнивания изображения емкости с использованием методики обнаружения краев.
На фиг. 15 изображена примерная методика исключения использования смещенных изображений емкости при обучении и/или проверке нейронных сетей AVI.
На фиг. 16A изображено упрощенное представление тепловой карты, которую нейронная сеть может сгенерировать для изображения емкости.
На фиг. 16B изображена примерная фактическая тепловая карта, сгенерированная нейронной сетью для изображения емкости.
На фиг. 17 изображены примерные зоны емкости, каждая из которых может быть связана с разной категорией дефектов.
На фиг. 18A-18D изображены различные примерные процессы для выполнения автоматизированного анализа тепловой карты.
На фиг. 19A изображены примерные граничная рамка и аннотации изображений со степенью достоверности, выводимые нейронной сетью AVI, обученной выполнять обнаружение объектов.
На фиг. 19B изображены примерные выходные данные нейронной сети AVI, обученной выполнять сегментирование.
На фиг. 19C изображена матрица неточностей, сравнивающая разные методики обнаружения дефектов.
На фиг. 20 представлена блок-схема примерного способа сокращения использования ресурсов обработки при обучении нейронных сетей выполнять AVI для соответственных категорий дефектов.
На фиг. 21 представлена блок-схема примерного способа обучения нейронной сети AVI более точно обнаруживать дефекты путем расширения и обеспечения разнообразия библиотеки обучающих изображений.
На фиг. 22 представлена блок-схема еще одного примерного способа обучения нейронной сети AVI более точно обнаруживать дефекты путем расширения и обеспечения разнообразия библиотеки обучающих изображений.
На фиг. 23 представлена блок-схема примерного способа оценки надежности обученной нейронной сети AVI, выполняющей классификацию изображений.
На фиг. 24 представлена блок-схема примерного способа оценки надежности обученной нейронной сети AVI, выполняющей обнаружение объекта.
Подробное описание
Различные концепции, представленные выше и более подробно описанные ниже, могут быть реализованы многими способами, и описанные концепции не ограничены каким-либо конкретным способом реализации. Примеры вариантов реализации представлены для иллюстративных целей.
На фиг. 1 представлена упрощенная структурная схема примерной системы 100, которая может реализовывать различные методики, относящиеся к обучению, проверке и/или квалификации одной или нескольких нейронных сетей для автоматизированного визуального контроля (AVI) (также называемых в данном документе нейронной сетью (нейронными сетями) AVI). После обучения и квалификации нейронную сеть (нейронные сети) AVI можно использовать в производстве для обнаружения дефектов, связанных с емкостями и/или содержимым этих емкостей. В фармацевтическом контексте, например, нейронная сеть (нейронные сети) AVI может (могут) использоваться для обнаружения дефектов, связанных со шприцами, картриджами, флаконами или другими типами емкостей (например, трещин, царапин, пятен, отсутствующих компонентов и т.д. емкостей), и/или для обнаружения дефектов, связанных с жидкими или лиофилизированными лекарственными продуктами внутри емкостей (например, наличия волокон и/или других инородных частиц, вариаций цвета продукта и т.д.). Как описано в данном документе, обнаружение дефектов может относиться к классификации изображений емкости как имеющих или не имеющих дефекты (или конкретные категории дефектов) и/или может относиться к обнаружению конкретных объектов или признаков (например, частиц или трещин), которые имеют отношение к тому, следует ли считать емкость и/или ее содержимое дефектными, в зависимости от варианта осуществления.
Система 100 содержит систему 102 визуального контроля, соединенную с возможностью связи с компьютерной системой 104. Система 102 визуального контроля содержит аппаратное обеспечение (например, транспортировочный механизм, источник (источники) света, камеру (камеры) и т.д.), а также программно-аппаратное обеспечение и/или программное обеспечение, которое выполнено с возможностью захвата цифровых изображений образца (например, емкости с текучей средой или лиофилизированным веществом). Система 102 визуального контроля может представлять собой любую
- 4 048383 из систем визуального контроля, описанных ниже со ссылкой на фиг. 2-4, например, или может представлять собой какую-то другую подходящую систему. Для простоты объяснения система 100 описана в данном документе как обучающая и проверяющая одну или несколько нейронных сетей AVI с использованием изображений емкости из системы 102 визуального контроля. Однако следует понимать, что это не обязательно. Например, обучение и/или проверка могут выполняться с использованием изображений емкости, сгенерированных рядом разных систем визуального контроля, вместо системы 102 визуального контроля или в дополнение к ней. В некоторых вариантах осуществления некоторые или все изображения емкости, используемые для обучения и/или проверки, генерируются с использованием одной или нескольких автономных (например, лабораторных) имитирующих станций, которые точно воспроизводят важные аспекты станций оборудования промышленной линейки (например, оптика, освещение и т.д.), тем самым расширяя библиотеку обучения и/или проверки, не вызывая чрезмерного время простоя оборудования промышленной линейки. Разработка, компоновка и использование примерных имитирующих станций показаны и обсуждаются в заявке на патент РСТ № PCT/US 20/59776 (озаглавленной Offline Troubleshooting and Development for Automated Visual Inspection Stations и поданной 10 ноября 2020 г.), полное содержание которой включено в данный документ посредством ссылки. Система 102 визуального контроля может быть такой имитирующей станцией, например.
Система 102 визуального контроля может последовательно формировать изображение каждой из ряда емкостей. Поэтому система 102 визуального контроля может включать или работать в сочетании с роботом, работающим в декартовой системе координат, каруселью, звездочкой и/или другими средствами транспортировки, которые последовательно перемещают каждую емкость в подходящее положение для формирования изображения, а затем перемещают емкость в сторону после завершения формирования изображения емкости. Хотя это не показано на фиг. 1, система 102 визуального контроля может содержать интерфейс связи и процессоры для обеспечения связи с компьютерной системой 104.
Компьютерная система 104 в целом может быть выполнена с возможностью управления/автоматизации работы системы 102 визуального контроля, а также с возможностью приема и обработки изображений, захваченных/сгенерированных системой 102 визуального контроля, как дополнительно обсуждается ниже. Компьютерная система 104 может быть компьютером общего назначения, который специально запрограммирован на выполнение обсуждаемых в данном документе операций, или может быть вычислительным устройством специального назначения. Как видно на фиг. 1, компьютерная система 104 содержит узел 110 обработки и узел 114 памяти. Однако в некоторых вариантах осуществления компьютерная система 104 содержит два или более компьютеров, которые либо расположены вместе, либо удалены друг от друга. В этих распределенных вариантах осуществления описанные в данном документе операции, относящиеся к узлу 110 обработки и узлу 114 памяти, могут быть разделены между множеством узлов обработки и/или узлов памяти соответственно.
Узел 110 обработки содержит один или несколько процессоров, каждый из которых может представлять собой программируемый микропроцессор, который исполняет программные инструкции, хранящиеся в узле 114 памяти, с целью исполнения некоторых или всех функций компьютерной системы 104, как описано в данном документе. Узел 110 обработки может содержать, например, один или несколько графических процессоров (GPU) и/или один или несколько центральных процессоров (CPU). Альтернативно или в дополнение некоторые из процессоров в узле 110 обработки могут представлять собой процессоры других типов (например, специализированные интегральные микросхемы (ASIC), вентильные матрицы с эксплуатационным программированием (FPGA) и т.д.), и некоторые функциональные возможности компьютерной системы 104, как описано в данном документе, альтернативно могут быть реализованы в аппаратном обеспечении.
Узел 114 памяти может содержать одно или несколько энергозависимых и/или энергонезависимых запоминающих устройств. Узел 114 памяти может содержать память любого подходящего типа или типов, например, постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), флеш-память, твердотельный накопитель (SSD), накопитель на жестком диске (HDD) и так далее. В совокупности узел 114 памяти может хранить одно или несколько программных приложений, данные, принятые/используемые этими приложениями, и данные, выводимые/генерируемые этими приложениями.
В узле 114 памяти хранятся программные инструкции различных модулей, которые при исполнении узлом 110 обработки выполняют различные функции с целью обучения, проверки и/или квалификации одной или нескольких нейронных сетей AVI. В частности, в примерном варианте осуществления по фиг. 1 узел 114 памяти содержит модуль 116 нейронной сети AVI, модуль 120 управления системой визуального контроля (VIS), модуль 132 предварительной обработки изображений, модуль 134 расширения библиотеки и модуль 136 оценки нейронной сети. В других вариантах осуществления узел 114 памяти может не содержать один или несколько из модулей 120, 132, 134 и 136 и/или содержать один или несколько дополнительных модулей. В дополнение или альтернативно один, некоторые или все из модулей 116, 120, 132, 134 и 136 могут быть реализованы другой компьютерной системой (например, удаленным сервером, соединенным с компьютерной системой 104 посредством
- 5 048383 одной или нескольких проводных и/или беспроводных сетей связи). Более того, функциональность любого из модулей 116, 120, 132, 134 и 136 может быть разделена между разными программными приложениями и/или компьютерными системами. В качестве лишь одного примера в варианте осуществления, где компьютерная система 104 осуществляет доступ к веб-сервису для обучения и использования одной или нескольких нейронных сетей AVI, программные инструкции модуля 116 нейронной сети AVI могут храниться на удаленном сервере.
Модуль 116 нейронной сети AVI содержит программное обеспечение, которое использует изображения, хранящиеся в библиотеке 140 изображений, для обучения одной или нескольких нейронных сетей AVI. Библиотека 140 изображений может храниться в узле 114 памяти или в другом локальном или удаленном запоминающем устройстве (например, в запоминающем устройстве, подключенном к удаленному серверу библиотеки и т.д.). В дополнение к обучению модуль 116 может реализовывать/запускать обученную нейронную сеть (обученные нейронные сети) AVI, например, путем применения изображений, недавно полученных системой 102 визуального контроля (или другой системой визуального контроля), к нейронной сети (нейронным сетям), возможно, после того как на изображениях будет выполнена определенная предварительная обработка, как обсуждается ниже. В различных вариантах осуществления нейронная сеть (нейронные сети) AVI, обученная (обученные) и/или запускаемая (запускаемые) модулем 116, может классифицировать целые изображения (например, дефект или отсутствие дефекта, либо наличие или отсутствие конкретного типа дефекта и т.д.), обнаруживать объекты на изображениях (например, обнаруживать положение инородных объектов, которые не являются пузырьками внутри изображений емкости) или какую-то их комбинацию (например, одна нейронная сеть классифицирует изображения, а другая выполняет обнаружение объектов). Как описано в данном документе, если контекст явно не указывает на более конкретное использование, обнаружение объекта в широком смысле относится к методикам, которые идентифицируют конкретное местоположение объекта (например, частицы) внутри изображения и/или идентифицируют конкретное местоположение признака более крупного объекта (например, трещины или скола на шприце или цилиндрическом картридже и т.д.), и может включать, например, методики, которые выполняют сегментирование изображения емкости или части изображения (например, попиксельная классификация), или методики, которые идентифицируют объекты и размещают граничные рамки (или другие формы границы) вокруг этих объектов. В некоторых вариантах осуществления узел 114 памяти также содержит один или несколько других типов моделей, таких как модель для обнаружения отклонений от нормального состояния (обсуждается ниже).
Модуль 116 может запускать обученную нейронную сеть (обученные нейронные сети) AVI для целей проверки, квалификации и/или контроля во время промышленного производства. В одном варианте осуществления, например, модуль 116 используется только для обучения и проверки нейронной сети (нейронных сетей) AVI, и обученная нейронная сеть (обученные нейронные сети) затем транспортируется (транспортируются) в другую компьютерную систему для квалификации и контроля во время промышленного производства (например, с использованием другого модуля, подобного модулю 116). В некоторых вариантах осуществления, где модуль 116 нейронной сети AVI обучает/запускает множество нейронных сетей, модуль 116 содержит отдельное программное обеспечение для каждой нейронной сети.
В некоторых вариантах осуществления модуль 120 управления VIS управляет/автоматизирует работу системы 102 визуального контроля, так что изображения емкости могут генерироваться практически без вмешательства человека. Модуль 120 управления VIS может предписывать данной камере захватить изображение емкости, отправив на эту камеру команду или другой электронный сигнал (например, генерируя импульс на линии управления и т. д.). Система 102 визуального контроля может отправлять захваченные изображения емкости в компьютерную систему 104, которая может сохранять изображения в узле 114 памяти для локальной обработки (например, модулем 132 или модулем 134, как обсуждается ниже). В альтернативных вариантах осуществления система 102 визуального контроля может управляться локально, и в этом случае модуль 120 управления VIS может иметь меньшую функциональность, чем описано в данном документе (например, обрабатывать только извлечение изображений из системы 102 визуального контроля), или может быть полностью исключен из узла 114 памяти.
Модуль 132 предварительной обработки изображений обрабатывает изображения емкости, сгенерированные системой 102 визуального контроля (и/или другими системами визуального контроля), чтобы сделать изображения подходящими для включения в библиотеку 140 изображений. Как дополнительно обсуждается ниже, такая обработка может включать извлечение определенных частей изображений емкости и/или генерирование множества производных изображений, например, для каждого исходного изображения емкости. Модуль 134 расширения библиотеки обрабатывает изображения емкости, сгенерированные системой 102 визуального контроля (и/или другими системами визуального контроля), для генерирования дополнительных синтетических изображений емкости для библиотеки 140 изображений. Используемый в данном документе термин синтетические изображения емкости относятся к изображениям емкости, на которых изображены емкости (и, возможно, также
- 6 048383 содержимое емкости), которые либо представляют собой модифицированные в цифровом виде версии реальных емкостей, либо вообще не соответствуют какой-либо реальной емкости (например, полностью цифровые/виртуальные емкости).
В ходе работы компьютерная система 104 сохраняет изображения емкости, собранные системой 102 визуального контроля (возможно, после обработки модулем 132 предварительной обработки изображений), а также любые синтетические изображения емкости, сгенерированные модулем 134 расширения библиотеки, и, возможно, реальные и/или синтетические изображения емкости из одного или нескольких других источников в библиотеке 140 изображений. Затем модуль 116 нейронной сети AVI использует по меньшей мере некоторые из изображений емкости в библиотеке 140 изображений для обучения нейронной сети (нейронных сетей) AVI и использует другие изображения емкости в библиотеке 140 (или в другой библиотеке, не показанной на фиг. 1) для проверки обученной нейронной сети (обученных нейронных сетей) AVI. Используемые в данном документе термины обучение или проверка нейронной сети охватывают непосредственный запуск программного обеспечения, которое обучает или проверяет/запускает нейронную сеть, а также охватывает инициирование обучения или проверки (например, путем подачи команды или запроса удаленному серверу на обучение и/или запуск нейронной сети). В некоторых вариантах осуществления, например, компьютерная система 104 может обучать нейронную сеть, получая доступ к удаленному серверу, который содержит модуль 116 (например, получая доступ к веб-сервису, поддерживаемому удаленным сервером).
В некоторых вариантах осуществления модуль 136 оценки нейронной сети (и/или один или несколько других модулей, не показанных на фиг. 1) может помочь в фазе обучения и/или в тестировании/квалификации обученной модели (например, для одной обученной нейронной сети AVI или нескольких обученных нейронных сетей AVI). Например, модуль 136 оценки нейронной сети может обрабатывать тепловые карты (например, тепловые карты окклюзии или тепловые карты градиентновзвешенного отображения активации классов (grad-CAM)), сгенерированные модулем 116 нейронной сети AVI, когда нейронная сеть AVI делает вывод (например, когда делает вывод о наличии или отсутствии дефекта) для реального и/или синтетического изображения емкости, чтобы определить, был ли этот вывод сделан по корректной причине. Если нейронная сеть делает вывод о присутствие дефекта поршня шприца, например, модуль 136 оценки нейронной сети может анализировать соответствующую тепловую карту, чтобы определить, сфокусирована/закреплена ли нейронная сеть на части изображения емкости, на которой изображен поршень, а не на какой-либо другой части изображения. Альтернативно или в дополнение модуль 136 оценки нейронной сети может обрабатывать данные, указывающие граничную рамку, сгенерированную модулем 116 нейронной сети AVI, когда нейронная сеть AVI обнаруживает объект (например, инородную частицу) внутри реального или синтетического изображения емкости, чтобы определить, был ли объект корректно идентифицирован. Как будет видно из следующего описания, модуль 136 оценки нейронной сети обычно оценивает тепловые карты, если нейронная сеть AVI выполняет классификацию изображений, и вместо этого оценивает другие данные, указывающие конкретные области внутри изображений емкости (например, граничные рамки или попиксельно маркированные области), если нейронная сеть AVI выполняет обнаружение объектов. Работа каждого из модулей 116-136 более подробно обсуждается ниже со ссылкой на различные признаки по фиг. 2-24.
На фиг. 2-4 изображены различные примерные системы визуального контроля, любая из которых может использоваться в качестве системы 102 визуального контроля по фиг. 1. Обратимся сначала к фиг. 2, где примерная система 200 визуального контроля содержит камеру 202, объектив 204, наклоненные вперед источники 206a и 206b света, наклоненные назад источники 208a и 208b света, источник 210 подсветки и механизм 212 встряхивания. Камера 202 захватывает одно или несколько изображений емкости 214 (например, шприца, флакона, картриджа или емкости любого другого подходящего типа), в то время как емкость 214 удерживается механизмом 212 встряхивания и освещается источниками 206, 208 и/или 210 света (например, с модулем 120 управления VIS, активирующим разные источники света для разных изображений, последовательно или одновременно). Емкость 214 может содержать, например, жидкий или лиофилизированный фармацевтический продукт.
Камера 202 может быть высокоэффективной промышленной камерой или смарт-камерой, и объектив 204 может быть, например, высококачественным телецентрическим объективом. В одном варианте осуществления камера 202 содержит датчик на приборах с зарядовой связью (CCD). Например, камера 202 может представлять собой монохромную промышленную CCD-камеру со сканированием по вертикали и горизонтали Basler® pilot piA2400-17gm с разрешением 2448x2050 пикселей. Используемый здесь термин камера может относиться к любому подходящему типу устройства формирования изображения (например, к камере, которая захватывает часть частотного спектра, видимого человеческому глазу, или к инфракрасной камере и т.д.).
Разные источники 206, 208 и 210 света могут использоваться для сбора изображений для обнаружения дефектов разных категорий. Например, наклоненные вперед источники 206a и 206b света могут использоваться для обнаружения отражающих частиц или других отражающих дефектов, наклоненные назад источники 208a и 208b света могут использоваться для частиц в целом, и источник
- 7 048383
210 подсветки может использоваться для обнаружения непрозрачных частиц и/или для обнаружения некорректных параметров и/или других дефектов емкостей (например, емкости 214). Источники 206 и 208 света могут содержать линейные светодиоды CCS® LDL2-74X30RD, и источником 210 подсветки может быть, например, подсветка CCS® TH-83X75RD.
Механизм 212 встряхивания может содержать патрон или другое средство для удерживания и вращения (например, раскручивания) емкостей, таких как емкость 214. Например, механизм 212 встряхивания может содержать Animatics® SM23165D SmartMotor с пружинным патроном, надежно крепящим каждую емкость (например, шприц) к двигателю.
Хотя система 200 визуального контроля может подходить для получения изображений емкости для обучения и/или проверки одной или нескольких нейронных сетей AVI, для возможности обнаружения дефектов в широком диапазоне категорий может потребоваться множество камер с разными видами в перспективе. Более того, может потребоваться автоматизированная обработка/транспортировка емкостей, чтобы получить гораздо больший набор изображений емкости и, следовательно, обучить нейронную сеть (нейронные сети) AVI более точному обнаружению дефектов. На фиг. 3 и 4 изображены другие примерные системы визуального контроля, которые могут облегчить такие признаки.
Обратимся сначала к фиг. 3, где примерная система 300 визуального контроля содержит три камеры 302a-302c, установленные на платформе 304, как правило, в радиальной конфигурации вокруг (и в направлении к) емкости 306 (например, шприца, флакона, картриджа или емкости любого другого подходящего типа). Каждая из камер 302a-302c может быть подобна камере 202 и может содержать телецентрический объектив, подобный, например, объективу 204, и емкость 306 может содержать жидкий или лиофилизированный фармацевтический продукт. Механизм 308 встряхивания удерживает и встряхивает емкость 306. Механизм 308 встряхивания может быть подобен, например, механизму 212. Напротив каждой из камер 302a-302c находится соответственный один из задних источников 312a-312c света. В изображенном варианте осуществления каждый из задних источников 312a-312c света содержит как наклоненные назад источники света (например, каждый из которых подобен комбинации источников 208a и 208b света), так и источник подсветки (например, подобный источнику 210 подсветки). В изображенном варианте осуществления камеры 302a-302c выровнены таким образом, что оптическая ось каждой из них находится в одной и той же горизонтальной плоскости и проходит через емкость 306.
На фиг. 4A и 4B изображен вид в перспективе и вид сверху соответственно другой примерной системы 400 визуального контроля, которая может быть использована в качестве системы 102 визуального контроля по фиг. 1. Система 400 визуального контроля содержит три камеры 402a-402c (возможно установленные на платформе, подобной платформе 304), как правило, в радиальной конфигурации вокруг (и в направлении к) емкости 406 (например, шприца, флакона, картриджа или емкости любого другого подходящего типа), удерживающей жидкий или лиофилизированный продукт. В изображенном варианте осуществления каждая из камер 402a-402c соединена с телецентрическим объективом с прямым углом, чтобы уменьшить общую занимаемую площадь с сохранением телецентрических эксплуатационных характеристик. Например, каждая из камер 402a-402c может представлять собой CMOS-камеру Basler® Ace, соединенную с телецентрическим объективом с прямым углом OptoEngineering® TCCR23048-C. Механизм встряхивания (не показанный на фиг. 4A или 4B) может удерживать и встряхивать емкость 406. Например, система 400 визуального контроля может содержать механизм встряхивания, подобный механизму 212.
Напротив каждой из камер 402a-402c находится соответственный один из задних источников 412a412c света. В изображенном варианте осуществления каждый из задних источников 412a-412c света содержит как наклоненные назад источники света (например, подобные источникам 208a и 208b света), так и источник подсветки (например, подобный источнику 210 подсветки), и камеры 402a-402c выровнены таким образом, что оптическая ось каждой из них находится в одной и той же горизонтальной плоскости и проходит через емкость 406. В отличие от системы 300 визуального контроля, система 400 визуального контроля также содержит наклоненные вперед источники 414a-414c света (например, каждый из которых подобен комбинации источников 206a и 206b света).
Треугольная конфигурация камеры систем 300 и 400 визуального контроля может увеличить пространство, доступное для множества станций формирования изображения, и потенциально обеспечить другие преимущества. Например, такая компоновка может позволить захватить один и тот же дефект более одного раза либо под разными углами (например, для дефектов емкости), либо на трех снимках/изображениях одновременно (например, для дефектов частиц), что, в свою очередь, может повысить точность обнаружения. В качестве другого примера, такая компоновка может облегчить транспортировку емкостей в участок формирования изображения и из него. На фиг. 4B показан один возможный путь 420 транспортировки для автоматизированной транспортировки каждой емкости в участок формирования изображения системы 400 визуального контроля и из него. Например, роботизированный манипулятор может транспортировать каждую емкость (например, из ячейки или бака с емкостями) вдоль пути 420 для формирования изображения. Как правило, автоматизированная транспортировка предпочтительна не только для увеличения пропускной способности и снижения трудозатрат, но и для улучшения чистоты и прозрачности емкостей. Например, шприцы могут быть
- 8 048383 извлечены из баков для шприцев и повторно введены в них без обработки человеком (например, в оболочке, которая чище окружающей лабораторной атмосферы). Это может уменьшить количество пыли и другого мусора (например, на поверхностях емкости), который может мешать обнаружению мелких частиц или других дефектов. Автоматизированная (например, роботизированная) транспортировка также может улучшить выравнивание емкостей внутри крепления, тем самым обеспечивая лучше выровненные изображения. Выравнивание изображения более подробно обсуждается ниже. В одном варианте осуществления для транспортировки емкостей (например, вдоль пути 420) используется трехосный робот, работающий в декартовой системе координат, IAI®.
В альтернативных вариантах осуществления система 300 визуального контроля или система 400 визуального контроля может содержать дополнительные компоненты, меньшее количество компонентов и/или другие компоненты, и/или компоненты могут быть выполнены/расположены иначе, чем показано на фиг. 3 или 4. В одном альтернативном варианте осуществления, например, система 300 или 400 визуального контроля может содержать одну или несколько дополнительных камер под одним или несколькими углами наклона/отклонения и/или в разных положениях по периметру емкости. В качестве другого примера, показанные источники света могут быть выполнены по-разному, или может использоваться другая оптика (например, объективы, зеркала и т.д.) и так далее. В качестве еще одного примера, система 300 или 400 визуального контроля может содержать кольцевые светодиодные (LED) светильники над и/или под емкостью (например, непрерывные кольцевые LED-светильники, каждый из которых имеет диаметр кольца, существенно превышающий диаметр емкости, и причем каждое кольцо расположено в плоскости, ортогональной продольной оси емкости). Однако кольцевые светильники могут мешать простой транспортировке в участок формирования изображения и из него.
В некоторых вариантах осуществления система 102 визуального контроля по фиг. 1 содержит камеру с однострочной разверткой, которая захватывает единственный одномерный (1D) линейный массив пикселей. Вращая емкость перед камерой с однострочной разверткой, можно захватить серию 1D-массивов, а затем сшить их вместе, чтобы образовать двумерное (2D) прямоугольное изображение, представляющее всю поверхность емкости. По сути, цилиндрическая поверхность емкости развернута, что делает изображение хорошо подходящим для контроля чего-либо на стенке или поверхности емкости (например, трещин или пятен на стенке емкости и, возможно, маркировок на внешней стороне емкости и т.д.). На фиг. 5 изображено примерное изображение 500 емкости, сгенерированное камерой с однострочной разверткой. В этом примере емкость представляет собой шприц, и на 2D-изображении, сгенерированном из строчных разверток (например, модулем 132), изображены мениск 502 текучей среды, поршень 504 и дефект 506. Дефект 506, который в этом примере появляется множество раз из-за многократных вращений шприца, может представлять собой, например, трещину в стекле, образующем цилиндр шприца.
Изображения строчной развертки могут иметь явное преимущество над более традиционными 2Dизображениями, поскольку одно изображение строчной развертки может показывать всю развернутую поверхность емкости. Напротив, при использовании 2D-изображений обычно требуется несколько (например, 10-20) изображений для контроля всей поверхности. Для анализа одного развернутого изображения может потребоваться гораздо меньше вычислительных ресурсов по сравнению с 10-20 изображениями. Другое преимущество присутствия одного развернутого изображения на каждую емкость связано с управлением данными. Когда для дефектной емкости получено множество 2Dизображений, на некоторых из них будет показан дефект, а на других, скорее всего, дефект не будет показан (при условии, что дефект небольшой). Таким образом, если для генерирования обучающей библиотеки захвачено много (например, тысячи) 2D-изображений, все эти изображения, как правило, следует контролировать по отдельности, чтобы определить, присутствует на изображениях дефект или нет. В отношении тех, на которых не присутствует дефект, необходимо осуществить синтаксический разбор из набора данных, прежде чем можно будет обучить модель глубокого обучения. И наоборот, изображения строчной развертки обычно должны показывать дефект (если он есть) где-то на изображении, что избавляет от необходимости отдельно определять, следует ли маркировать разные изображения для одного дефектного образца как дефектные или недефектные.
Более того, изображение строчной развертки, полученное за множество оборотов емкости (например, два или несколько оборотов на 360°), можно использовать для того, чтобы отличить объекты или дефекты на поверхности емкости (например, частицы пыли, пятна, трещины и т.д.) от объектов, суспендированных в содержимое емкости (например, плавающие частицы и т.д.). В частности, если объект или дефект расположен на внешней или внутренней стенке емкости (или встроен в стенку емкости), расстояние между множественными представлениями объекта/дефекта внутри изображения строчной развертки (например, горизонтальное расстояние) должно быть постоянным. И наоборот, если объект суспендирован внутри содержимого емкости, то расстояние между множественными представлениями объекта внутри изображения строчной развертки должно незначительно варьироваться (например, из-за движения жидкого содержимого при вращении емкости).
Компьютерная система 104 может хранить и исполнять заказное программное обеспечение, ориентированное на пользователя, которое облегчает захват обучающих изображений (для библиотеки
- 9 048383
140 изображений), для ручной маркировки этих изображений (для поддержки обучения с учителем) перед обучением нейронной сети (нейронных сетей) AVI. Например, в дополнение к управлению светильниками, двигателем встряхивания и камерой (камерами) с использованием модуля 120 управления VIS, узел 114 памяти может хранить программное обеспечение, которое при исполнении узлом 110 обработки генерирует графический пользовательский интерфейс (GUI), который позволяет пользователю инициировать различные функции и/или вводить параметры управления. Например, GUI может содержать интерактивное управление, которое позволяет пользователю задавать количество кадров/изображений, которые система 102 визуального контроля должна захватить, угол вращения между кадрами/изображениями (если желательны разные виды в перспективе) и так далее. GUI (или другой GUI, сгенерированный другой программой) также может отображать каждый захваченный кадр/изображение для пользователя и содержать пользовательское интерактивное управление для манипуляции изображением (например, масштабирования, панорамирования и т.д.) и для ручной маркировки изображения (например, обнаружен дефект или дефект отсутствует для классификации изображений, или расширения границ внутри, или попиксельной маркировки частей изображений для обнаружения объектов).
В некоторых вариантах осуществления GUI также позволяет пользователю указать, когда он или она не может с уверенностью определить наличие дефекта (например, не уверен). В фармацевтических применениях часто встречаются пограничные случаи формирования изображения, в которых ручная маркировка изображения является нетривиальной. Это может произойти, например, когда частица частично окклюзирована (например, поршнем шприца или плунжером картриджа) или когда дефект поверхности, такой как трещина, расположен на самых краях емкости, как изображено на изображении (например, для раскручивающегося шприца, картриджа или флакона, появляющегося или удаляющегося из поля зрения с вида в перспективе камеры). В таких случаях пользователь может выбрать вариант не уверен, чтобы избежать неправильного обучения любой нейронной сети AVI (любой из нейронных сетей AVI).
Также следует понимать, что может быть правильно маркировать изображение емкости как хорошее (недефектное), даже если это изображение является изображением дефектной емкости/образца. В частности, если дефект находится вне поля зрения (например, на стороне непрозрачного поршня или плунжере, скрытой от камеры), то изображение можно правильно маркировать как хорошее. Путем объединения хороших изображений такого рода библиотека хороших изображений может быть расширена без дополнительных затрат/нагрузки. Это также помогает лучше совместить библиотеку хороших изображений с запасом материалов, используемых для генерирования дефектных емкостей/образцов.
В некоторых вариантах осуществления модуль 116 нейронной сети AVI выполняет классификацию с помощью одной обученной нейронной сети AVI или нескольких обученных нейронных сетей AVI и/или генерирует (по причинам, обсуждаемым ниже) тепловые карты, связанные с работой обученной нейронной сети (обученных нейронных сетей) AVI. С этой целью модуль 116 может содержать программное обеспечение для глубокого обучения, такое как MVTec от HALCON®, Vidi® от Cognex®, Rekognition® от Amazon®, TensorFlow, PyTorch и/или любое другое подходящее, имеющееся в наличии или выполненное под заказ программное обеспечение для глубокого обучения. Программное обеспечение модуля 116 может быть построено поверх одной или нескольких предварительно обученных сетей, таких как, например, ResNet50 или VGGNet, и/или одной или нескольких заказных сетей.
В некоторых из этих вариантов осуществления нейронная сеть (нейронные сети) AVI может (могут) содержать другую нейронную сеть для классификации изображений емкости согласно каждому из ряда разных интересующих категорий дефектов. Термины категория дефектов и класс дефектов используются в данном документе взаимозаменяемо. На фиг. 6A, 6B и 6C изображен ряд примерных типов емкостей (шприц, картридж и флакон соответственно) и на фиг. 7A, 7B и 7C изображены возможные дефекты, которые могут быть связаны с этими типами емкостей. Однако следует понимать, что описанные в данном документе системы и способы могут также (или вместо этого) использоваться с другими типами емкостей и могут также (или вместо этого) использоваться для обнаружения других типов дефектов.
Обратимся сначала к фиг. 6A, где примерный шприц 600 содержит полый цилиндр 602, фланец 604, поршень 606, который обеспечивает подвижное уплотнение текучей среды внутри внутренней части цилиндра 602, и колпачок 608 иглы, закрывающий иглу шприца (не показана на фиг. 6A). Цилиндр 602 и фланец 604 могут быть образованы из стекла и/или пластика, и поршень 606 может быть образован, например, из резины и/или пластика. Колпачок 608 иглы отделен плечом 610 шприца 600 зазором 612. Шприц 600 содержит жидкость (например, лекарственный продукт) 614 внутри цилиндра 602 и над поршнем 606. Верхняя часть жидкости 614 образует мениск 616, над которым находится воздушный зазор 618.
Обратимся дальше к фиг. 6B, где примерный картридж 620 содержит полый цилиндр 622, фланец 624, плунжер 626, который обеспечивает подвижное уплотнение текучей среды внутри внутренней части
- 10 048383 цилиндра 622, и люэровский наконечник 628. Цилиндр 622, фланец 624 и/или люэровский наконечник 628 могут быть образованы из стекла и/или пластика, и плунжер 626 может быть образован, например, из резины и/или пластика. Картридж 620 содержит жидкость (например, лекарственный продукт) 630 внутри цилиндра 622 и над плунжером 626. Верхняя часть жидкости 630 образует мениск 632, над которым находится воздушный зазор 634.
Обратимся дальше к фиг. 6C, где примерный флакон 640 содержит полый корпус 642 и горлышко 644 с переходом между ними, образующим плечо 646. На дне флакона 640 корпус 642 переходит в пяту 648. Буртик 650 содержит пробку (не видна на фиг. 6C), которая обеспечивает уплотнение текучей среды в верхней части флакона 640, и откидная крышка 652 покрывает буртик 650. Корпус 642, горлышко 644, плечо 646 и пята 648 могут быть образованы из стекла и/или пластика, буртик 650 может быть образован из металла, и откидная крышка 652 может быть образована, например, из пластика. Флакон 640 может содержать жидкость (например, лекарственный продукт) 654 внутри корпуса 642. Верхняя часть жидкости 654 может образовывать мениск 656 (например, очень слегка изогнутый мениск, если корпус 642 имеет относительно большой диаметр), над которым находится воздушный зазор 658. В других вариантах осуществления жидкость 654 вместо этого представляет собой твердый материал внутри флакона 640. Например, флакон 640 может содержать лиофилизированный (высушенный посредством сублимации) лекарственный продукт 654, также называемый массой.
На фиг. 7A, 7B и 7C показана небольшая выборка возможных дефектов, которые могут быть связаны со шприцем 600, картриджем 620 или флаконом 640 соответственно. Как видно на фиг. 7A, например, шприц 600 может содержать трещину 702A на цилиндре 602 или волокно 704A, плавающее в жидкости 614. Как видно на фиг. 7B, картридж 620 может содержать трещину 702B на цилиндре 622 или небольшую частицу 704B, плавающую в жидкости 630. Как видно на фиг. 7C, флакон 640 может содержать скол 702C или маленькую частицу 704C, лежащую на дне внутренней части флакона 640.
В целом, описанные в данном документе методики глубокого обучения (например, нейронные сети для классификации изображений и/или обнаружения объектов) могут использоваться для обнаружения практически любого типа дефектов, связанных с самими емкостями, с содержимым (например, жидкими или лиофилизированными лекарственными продуктами) емкостей и/или с взаимодействием между емкостями и их содержимым (например, утечки и т.д.). В качестве неограничивающих примеров, можно использовать методики глубокого обучения для обнаружения таких дефектов шприца, как: трещина, скол, царапина и/или потертость на цилиндре, плече, горлышке или фланце; сломанный или деформированный фланец; линия воздуха в стекле цилиндра, плеча или стенки горлышка; разрыв в стекле цилиндра, плеча или горлышка; пятно на внутренней или наружной стороне (или внутри) цилиндра, плеча или стенки горлышка; наклеенное стекло на цилиндр, плечо или горлышко; узелок в цилиндре, плече или стенке горлышка; инородная частица, застрявшая в стекле цилиндра, плеча или стенки горлышка; инородный, смещенный, отсутствующий или лишний поршень; пятно на поршне, деформированные ребра поршня; неполное или отслоившееся покрытие на поршне; поршень в недопустимом положении; отсутствующий, изогнутый, деформированный или поврежденный колпачок иглы; игла, выступающая из колпачка иглы и т.д. Примерами дефектов, связанных с взаимодействием между шприцами и содержимым шприца, могут быть утечка жидкости через поршень, жидкость в ребрах поршня, утечка жидкости из-под колпачка иглы и так далее.
Неограничивающие примеры дефектов, связанных с картриджами, могут включать: трещину, скол, царапину и/или потертость на цилиндре или фланце; сломанный или деформированный фланец; линию воздуха в стекле цилиндра; разрыв в стекле цилиндра; пятно на внутренней или наружной стороне (или внутри) цилиндра; наклеенное стекло на цилиндр; узелок в стенке цилиндра; инородный, смещенный, отсутствующий или лишний плунжер; пятно на плунжере; деформированные ребра плунжера; плунжер в недопустимом положении; метку потока на стенке цилиндра; пустоту в пластике фланца, цилиндра или люэровского наконечника; неполную форму картриджа; отсутствующую, порезанную, смещенную, ослабленную или поврежденную крышку на люэровском наконечнике и т.д. Примерами дефектов, связанных с взаимодействием между картриджами и содержимым картриджа, могут быть утечка жидкости через плунжер, жидкость в ребрах плунжера и так далее.
Неограничивающие примеры дефектов, связанных с флаконами, могут включать: трещину, скол, царапину и/или потертость на корпусе; линию воздуха в стекле корпуса; разрыв в стекле корпуса; пятно на внутренней или наружной стороне (или внутри) корпуса; наклеенное стекло на корпус; узелок в стенке корпуса; метку потока на стенке корпуса; отсутствующий, смещенный, ослабленный, выступающий или поврежденный буртик; отсутствующую, смещенную, ослабленную или поврежденную откидную крышку и т.д. Примерами дефектов, связанных с взаимодействием между флаконом и содержимым флакона, могут быть утечка жидкости через буртик или крышку и так далее.
Неограничивающие примеры дефектов, связанных с содержимым емкости (например, содержимым шприцев, картриджей, флаконов или других типов емкостей), могут включать инородную частицу, суспендированную в жидком содержимом; инородную частицу, лежащую на куполе поршня, куполе плунжера или дне флакона; обесцвеченную жидкость или массу; треснутую, диспергированную или иным образом нетипично распределенную/образованную массу; мутную жидкость; высокий или низкий
- 11 048383 уровень заполнения и т.д. Инородными частицами могут быть, например, волокна, кусочки резины, металла, камня или пластика, волосы и так далее. В некоторых вариантах осуществления пузырьки считаются безвредными и не считаются дефектами.
В вариантах осуществления, в которых разные нейронные сети AVI выполняют классификацию изображений для обнаружения дефектов в разных категориях (например, классифицируя дефекты в данной категории как присутствующие или отсутствующие), каждая категория дефектов может быть определена настолько узко или широко, насколько это необходимо, чтобы соответствовать конкретной одной из нейронных сетей AVI. Если одна из нейронных сетей AVI обучена обнаруживать только волокна (в отличие от других типов частиц), например, внутри жидкого содержимого емкости, то соответствующая категория дефектов может быть узкой категорией волокон. И наоборот, если нейронная сеть AVI обучена также обнаруживать другие типы инородных частиц в жидком содержимом, категория дефектов может быть определена более широко (например, частицы). В качестве еще одного примера, если нейронная сеть AVI обучена обнаруживать еще больше типов дефектов, которые можно увидеть в определенной части емкости (например, трещины или пятна на стенке цилиндра шприца или картриджа или в корпусе флакона), категория дефектов может быть все еще определена более широко (например, дефекты цилиндра или дефекты корпуса).
Хотя во время разработки может быть преимущественно идентифицировать эксплуатационные характеристики классов дефектов по отдельности, AVI во время производства в первую очередь занимается задачей корректного отличия хороших емкостей от плохих емкостей, независимо от конкретного типа дефекта. Таким образом, в некоторых альтернативных вариантах осуществления модуль 116 нейронной сети AVI может обучать и/или запускать только одну нейронную сеть, которая выполняет классификацию изображений для всех интересующих категорий дефектов. Использование одной/универсальной нейронной сети может дать некоторые преимущества. Одним из потенциальных преимуществ является эффективность алгоритма. В частности, нейронная сеть, которая может одновременно учитывать множество типов дефектов, по своей сути быстрее (и/или требует меньше ресурсов для параллельной обработки), чем множество сетей, каждая из которых рассматривает только поднабор этих дефектов. Хотя время вывода приблизительно 50 миллисекунд (мс) является возможным и может привести к приемлемой пропускной способности для одного этапа осуществления вывода, последовательная обработка может привести к неприемлемо долгому времени контроля. Например, если для вывода каждого из 20 классов дефектов требуется 50 мс, общее время вывода (1 секунда) может привести к недопустимым узким местам во время производства.
Другое потенциальное преимущество более незначительное. Как правило, для хорошей работы модели наборы обучающих изображений должны быть сбалансированы таким образом, чтобы поднаборы изображений, соответствующие каждой маркировке (например, хорошее или дефектное), были примерно равны по размеру. Если, например, библиотека обучающих изображений содержит 4000 хороших изображений емкости (т.е. не имеющих никаких дефектов), то было бы предпочтительно также иметь что-то порядка 4000 изображений емкости, имеющих дефекты. Однако хорошие изображения емкости, как правило, гораздо легче получить, чем изображения, имеющие дефекты, потому что первые не нужно специально изготавливать. Таким образом, было бы очень неудобно, если бы, скажем, требовалось 4000 изображений для каждой и любой категории дефектов (например, приблизительно 4000 изображений дефектов для каждой из 20 категорий дефектов или всего приблизительно 80000 изображений дефектов). Задача была бы гораздо менее неудобной, если бы дефектные изображения для всех категорий дефектов можно было объединить вместе для обучения только одной нейронной сети (например, приблизительно 200 изображений для каждой из 20 категорий дефектов, чтобы получить приблизительно 4000 изображений дефектов). Объединение изображений дефектов разных категорий, чтобы сбалансировать множество хороших изображений, может привести к созданию надежной библиотеки изображений, которая инкапсулирует гораздо более широкий диапазон варьируемости и мелких деталей. Более того, объединение дефектов может существенно увеличить варьируемость в библиотеке дефектных изображений, поскольку разные емкости, из которых были получены изображения дефектов, будут из более широкого диапазона источников. В качестве лишь одного примера дефектные цилиндры шприца могут быть из разных партий, что может увеличить варьируемость диаметра цилиндра шприца и, следовательно, увеличить/улучшить разнообразие библиотеки обучающих изображений (например, библиотеки 140 изображений).
В зависимости от типа (типов) обнаруживаемых дефектов модели глубокого обучения (например, нейронная сеть (нейронные сети) AVI, поддерживаемая (поддерживаемые) модулем 116) могут полагаться на определенный уровень детализации (т.е. определенное разрешение) на каждом контролируемом изображении емкости. Там, где требуется высокое разрешение изображения, текущих возможностей памяти и обработки может быть недостаточно для поддержки выводов на высоком уровне пропускной способности (например, во время производства). В частности, для настольных компьютеров (или эквивалентно встроенных промышленных компьютеров) важным ограничением может быть встроенное RAM, привязанное к процессору (например, GPU). Процесс обучения нейронной сети может потреблять огромное количество памяти. Например, изображение размером 2400^550 пикселей может
- 12 048383 легко потреблять более 12 ГБ RAM GPU во время обучения. Более того, изображения с более высоким разрешением обычно увеличивают как время обучения нейронной сети, так и итоговое время вывода при развертывании обученной сети (например, в производстве).
Для изображений, содержащих макроскопические объекты, уменьшение разрешения изображения емкости (например, путем повторной дискретизации изображения до более низкого разрешения или в первую очередь с использованием камеры с низким разрешением) может существенно не повлиять на эффективность классификации. Однако в фармацевтических применениях некоторые классы дефектов относятся к объектам, которые очень малы по сравнению с общим изображением емкости (например, волокна, и/или другие суспендированные частицы, или пятна, и/или частицы, внедренные в стеклянную емкость и т.д.). Эти классы дефектов могут иметь параметры порядка нескольких сотен микрон в длину (и для волокон значительно меньшую ширину) и быть суспендированными в гораздо большей емкости (например, в цилиндре шприца длиной порядка 50 мм). Для некоторых из этих небольших классов дефектов уменьшение разрешения путем повторной дискретизации может потенциально ослабить изображение признака дефекта и, в крайних случаях, полностью удалить дефект из изображения. И наоборот, для классов макроскопических дефектов (например, отсутствие колпачка иглы) может быть достаточно изображения с низким разрешением.
Если класс дефектов с самым высоким требованием к разрешению используется для определения разрешения всех обучающих изображений в библиотеке 140 изображений (и всех изображений, используемых для выполнения классификации с помощью обученной нейронной сети (обученных нейронных сетей) AVI), упомянутые выше ограничения обработки/памяти могут привести к неприемлемо низкой производительности. Таким образом, в некоторых вариантах осуществления система 100 вместо этого реализует поэтапный подход, который по меньшей мере частично основан на относительных параметрах/размерах различных классов дефектов (например, разных классов дефектов, связанных с разными нейронными сетями AVI). В этом поэтапном подходе обучающие изображения для некоторых классов дефектов (т. е. изображения, используемые для обучения нейронной сети (нейронных сетей) AVI, соответствующей (соответствующих) этим классам дефектов) уменьшаются в размере за счет снижения разрешения исходного изображения емкости (понижающей дискретизации), в то время как обучающие изображения для других классов дефектов уменьшаются в размере за счет обрезки до меньшей части исходного изображения емкости. В некоторых вариантах осуществления обучающие изображения для некоторых классов дефектов уменьшают в размере путем как обрезки, так и понижающей дискретизации исходного изображения емкости.
Чтобы проиллюстрировать пример этого поэтапного подхода применительно к шприцу, на фиг. 8 изображена автоматизированная методика 800 обрезки, которую можно применить к изображению 802 емкости. На фиг. 8 часть 810 изображения представляет общую интересующую область внутри изображения 802 емкости, при этом области за пределами части 810 изображения не имеют отношения к обнаружению каких-либо категорий дефектов. Как видно на фиг. 8, часть 810 изображения может быть несколько больше емкости (в данном случае шприца), чтобы захватить интересующий участок, даже если емкость слегка смещена. Модуль 132 предварительной обработки изображений может сначала обрезать все изображения емкости из системы 102 визуального контроля до части 810 изображения.
Независимо от того, предварительно обрезает ли модуль 132 изображение 802 до части 810 изображения, модуль 132 уменьшает размеры изображения путем обрезки изображения 802 (или 810) до различных меньших частей 812, 814, 816 изображения, которые связаны с конкретными классами дефектов. Они содержат часть 812 изображения для обнаружения отсутствующего колпачка иглы, часть 814 изображения для обнаружения дефектов цилиндра шприца и часть 816 изображения для обнаружения дефектов поршня. В некоторых вариантах осуществления классы дефектов могут до некоторой степени перекрываться. Например, как часть 812 изображения, так и часть 814 изображения также могут быть связаны с инородными частицами внутри емкости. В некоторых вариантах осуществления, поскольку отсутствующий колпачок иглы является легко наблюдаемым (грубым) дефектом, модуль 132 предварительной обработки изображений также выполняет понижающую дискретизацию части 812 обрезанного изображения (или альтернативно выполняет понижающую дискретизацию изображения 802 или 810 перед обрезкой для генерирования части 812 изображения).
Затем компьютерная система 104 может сохранить обрезанные и/или подвергнутые понижающей дискретизации части 812-816 (и, возможно, также часть 810) в библиотеке 140 изображений для обучения нейронных сетей AVI. Например, модуль 116 нейронной сети AVI может использовать часть 812 изображения как часть набора обучающих изображений для первой из нейронных сетей AVI, которая должна использоваться для обнаружения отсутствующих колпачков иглы, использовать часть 814 изображения как часть набора обучающих изображений для второй из нейронных сетей AVI, которая должна использоваться для обнаружения дефектов цилиндра и/или частиц внутри цилиндра, и использовать часть 816 изображения как часть набора обучающих изображений для третьей из нейронных сетей AVI, которая должна использоваться для обнаружения дефектов поршня и/или частиц вблизи купола поршня. В зависимости от варианта осуществления части 812, 814, 816 изображения могут представлять собой полные входные данные (обучающие изображения) для соответственных из
- 13 048383 нейронных сетей AVI, или модуль 132 предварительной обработки изображений может заполнять части 812, 814, 816 изображения (например, пикселями с постоянным значением) до большего размера.
В некоторых вариантах осуществления модуль 132 предварительной обработки изображений выполняет понижающую дискретизацию определенных изображений или частей изображений не только с целью сокращения использования ресурсов памяти/обработки, но также (или вместо этого) для повышения точности обнаружения дефектов. В частности, понижающая дискретизация может улучшить способность классифицировать изображение согласно определенным категориям дефектов или обнаруживать определенные объекты (например, частицы или пузырьки) или признаки (например, трещины или пятна) путем устранения или уменьшения искажений мелкого масштаба (например, искажений, вызванных относительной конфигурацией системы освещения) и/или шума (например, шума квантования, шума камеры и т.д.) при условии, что рассматриваемые объекты или признаки достаточно большие и/или имеют достаточно высокий контраст с окружающими областями внутри изображений емкости.
Используя описанные выше методики обрезки (и, возможно, также понижающей дискретизации), сохраняется высокое разрешение для тех классов дефектов, которые могут в нем нуждаться (например, низкоконтрастные пятна или частицы, которые могут быть всего в несколько пикселей в диаметре) без ненужной нагрузки на ресурсы обработки за счет использования высокого разрешения для всех классов дефектов (например, отсутствующие колпачки иглы). Следует понимать, что промышленная система (например, с компонентами, подобными системе 100) может содержать модуль, подобный модулю 132, для обрезки и/или понижающей дискретизации изображений емкостей во время производства при выполнении классификаций с помощью обученных нейронных сетей AVI.
В примере по фиг. 8 модуль 132 предварительной обработки изображений обрезает исходное изображение 802 емкости (или предварительно обрезанное изображение 810) до фиксированного интересующего участка для каждого класса дефектов. Однако это может быть проблематичным для емкостей, признаки которых могут варьироваться по положению (например, от партии к партии или даже от емкости к емкости). Например, часть 816 изображения может нуждаться в изображении значительной длины цилиндра шприца, чтобы убедиться, что поршень показан, поскольку в разных шприцах поршень может быть вдавлен в другое местоположение внутри цилиндра. Точно так же может потребоваться, чтобы на части изображения картриджа изображалась значительная длина цилиндра картриджа, чтобы гарантировать, что плунжер будет показан. В качестве другого примера может потребоваться, чтобы на всех частях 810-816 изображения изображалась значительная дополнительная ширина за пределами диаметра цилиндра, чтобы гарантировать захват всей ширины шприца (например, из-за допусков на диаметр цилиндра и/или физического смещения шприца).
На фиг. 9A изображены примерные признаки, которые могут варьироваться по положению между емкостями или партиями емкостей для конкретного случая шприца 900. Как видно на фиг. 9, признаки шприца 900, положение которых может варьироваться, включают положение 902 мениска (например, в зависимости от уровней заполнения), положение 904 поршня (например, в зависимости от того, насколько глубоко вдавлен поршень), диаметр 906 цилиндра шприца (например, из-за допусков и/или различий в партиях или продуктах) и зазор 908 между колпачком и плечом (то есть расстояние между колпачком иглы и плечом шприца, которое может зависеть от таких факторов, как допуски, различия в партиях или продуктах, насколько плотно на шприц был надет защитный колпачок и т.д.). Другие шприцы могут также или вместо этого варьироваться по другим параметрам (например, по длине, прозрачности, форме купола поршня и т.д.). Точно так же другие типы емкостей могут варьироваться конкретным образом. Например, признаки картриджа, которые могут варьироваться, могут включать признаки, подобные признакам 902, 904 (для плунжера картриджа), 906 и/или 908 (для зазора между крышкой люэровского наконечника и плечом картриджа), и признаки флакона, которые могут варьироваться, могут включать признаки, подобные признакам 902 (для уровня заполнения жидкости или массы) и/или 906 (для ширины корпуса) и т.д. Если модуль 132 предварительной обработки изображений учитывает такую варьируемость, включая некоторое буферное пространство в обрезанные части изображения (например, части 810-816), некоторым разрешением фактически жертвуют ради заданного размера изображения, что потенциально ограничивает эффективность процесса обучения и ухудшает производительность классификации.
В некоторых вариантах осуществления для учета варьируемости признаков без ухудшения эффективности обучения и производительности классификации модуль 132 предварительной обработки изображений динамически локализует интересующие участки для классов дефектов, связанных с признаками емкости, имеющими варьируемые положения (например, любым из признаков 902-908), до обрезки, как обсуждалось выше со ссылкой на фиг. 8. На фиг. 9B изображен один пример такой методики. На фиг. 9B модуль 132 предварительной обработки изображений применяет автоматизированную методику 920 динамической обрезки к изображению 922 емкости (например, изображению, захваченному системой 102 визуального контроля). Как и в случае с методикой 800 по фиг. 8, модуль 132 предварительной обработки изображений может первоначально обрезать изображение 922 до части 930 изображения, которая исключает области изображения 922 емкости,
- 14 048383 которые не относятся к какому-либо классу дефектов. Модуль 132 может выполнять эту предварительную обрезку на основе фиксированного интересующего участка (например, с буферными зонами для учета допусков и/или смещения, как обсуждалось выше) или путем локализации шприца внутри изображения 922 (например, с использованием обнаружения краев или других подходящих методик обработки изображений).
После этого на этапе 932 обработки модуль 132 обнаруживает поршень внутри части 930 изображения (т.е. локализует положение поршня, как изображено на изображении 930). Хотя вместо этого модуль 132 может обнаруживать поршень внутри исходного изображения 922 емкости, это может потребовать большего времени обработки, чем первоначальная предварительная обрезка изображения 922 до части 930 изображения. Модуль 132 может использовать любую подходящую методику для обнаружения поршня на этапе 932. Например, модуль 132 может обнаруживать поршень, используя сопоставление с шаблоном паттерна/объекта или blob-анализ. В некоторых вариантах осуществления модуль 132 обнаруживает поршень с использованием любой подходящей методики обнаружения объектов, обсужденной в патенте США № 9881367 (озаглавленном Image Processing Techniques for Plunger Depth Measurement и выданном 30 января 2018 г.), полное раскрытие которого тем самым включено в данный документ посредством ссылки.
После того как модуль 132 предварительной обработки изображений обнаруживает поршень на этапе 932 модуль 132 обрезает эту часть изображения 930 (или изображения 922) до части 934 изображения. Как видно из сравнения с частью 816 изображения по фиг. 8, часть 934 изображения содержит меньшую окружающую область (и, возможно, не имеет окружающей области) за пределами самого поршня. Таким образом, разрешение изображенного поршня на части 934 изображения максимально (или почти максимально). Затем компьютерная система 104 может сохранить обрезанную часть 934 в библиотеке 140 изображений (например, в качестве обучающего изображения для одной из нейронных сетей AVI, которая должна использоваться для обнаружения дефектов поршня и/или частиц вблизи купола поршня). В зависимости от варианта осуществления часть 934 изображения может представлять собой полные входные данные (обучающее изображение) для соответственной одной из нейронных сетей AVI, или модуль 132 предварительной обработки изображений может заполнять часть 934 изображения (например, пикселями с постоянным значением) до большего размера. Как и в случае с методикой 800 подразумевается, что промышленная система (например, с компонентами, подобными системе 100) может содержать модуль, подобный модулю 132, для динамической обрезки изображений емкостей во время производства при выполнении классификаций с помощью обученной нейронной сети AVI.
Тогда как на фиг. 9B показано использование методики 920 для локализации поршня шприца, следует понимать, что методика 920 (или подобная методика) может быть вместо этого применена к любому признаку емкости с варьируемым положением (например, любому из признаков 902-908 или плунжеру картриджа, мениску картриджа или флакона или уровню заполнения и т.д.) или даже к признакам емкости с существенно фиксированными положениями. Любая из обсуждаемых в данном документе методик обнаружения объектов (например, сегментирование) может использоваться, например, для локализации любого признака емкости перед обрезкой. Для любой из обсуждаемых выше методик обрезки или понижающей дискретизации необходимо соблюдать осторожность, чтобы преобразования изображения не приводили к тому, что маркировка изображения (для обучения с учителем) становится неточной. Например, если частица или другой дефект, изображенный на дефектном изображении, обрезаны, может потребоваться перемаркировать изображение на хорошее.
Используя методику 800 и/или методику 920, система 100 может улучшить производительность глубокого обучения за счет увеличения разрешения для заданного количества доступных ресурсов обработки и/или заданного количества времени обработки. Более того, у этих методик могут быть и другие преимущества, такие как уменьшение объема возможных искажений изображения, шума или нерелевантных признаков, которые могут запутать процесс обучения. Как более подробно обсуждается ниже, например, нейронная сеть для обнаружения дефектов в одной области (например, частиц на поршнях) может быть непреднамеренно обучена фокусироваться/закрепляться на других характеристиках, которые не обязательно имеют отношение к классификации (например, мениск). Обрезка других областей емкости снижает вероятность того, что нейронная сеть будет закрепляться на неправильной части изображения емкости при классификации этого изображения.
В некоторых вариантах осуществления система 100 (например, модуль 116) обрабатывает каждое обрезанное изображение с использованием обнаружения отклонений от нормального состояния. Обнаружение отклонений от нормального состояния может быть особенно привлекательным, поскольку этому можно обучаться исключительно на бездефектных изображениях, тем самым устраняя необходимость создания дефектных изображений и значительно упрощая и ускоряя генерирование библиотеки обучающих изображений. Альтернативно сегментирование может быть преимущественным, поскольку оно может маскировать другие аспекты/признаки данного изображения, так что те другие аспекты/признаки можно игнорировать. Мениск, например, может сильно варьироваться. Это может часто приводить к ложным предсказаниям на основе модели, потому что мениск является довольно
- 15 048383 доминирующим аспектом изображения и потому что вариация мениска не зависит от дефекта. Такие вариации, как правило, частично связаны с производственными допусками и частично связаны с различиями в поверхностном натяжении и вязкости при использовании разных лекарственных продуктов для обучения. В результате методики классификации изображений могут иметь дополнительное ограничение использования только продуктов с одной и той же жидкостью, тем самым еще больше ограничивая и без того ограниченный набор данных. И наоборот, используя обнаружение объектов (сегментирование или иное) для игнорирования мениска и других признаков, которые варьируются, модели глубокого обучения могут добавлять большее разнообразие образцов в библиотеку обучающих изображений.
В вариантах осуществления, где модуль 116 обучает только одну универсальную нейронную сеть AVI для всех интересующих классов дефектов, разрешение изображения может быть установлено таким образом, чтобы обеспечить надежное обнаружение мельчайших/наименьших дефектов (например, пятен или частиц шириной всего в несколько пикселей). Несмотря на высокое разрешение, этот подход может привести к самому низкому общему времени вывода из-за одной модели. Более того, одна модель (нейронная сеть) может быть предпочтительна, потому что конечная желаемая классификация представляет собой просто хорошее по сравнению с плохим (или недефектное по сравнению с дефектным и т.д.). В частности, малые процентные значения ложноположительных и ложноотрицательных результатов более приемлемы для одной модели, чем для множества моделей, которые по отдельности имеют те же самые процентные значения.
В некоторых вариантах осуществления, где модуль 116 обучает разные нейронные сети AVI выполнять классификацию изображений для разных классов дефектов, как обсуждалось выше, классы дефектов могут быть разделены на разные разрешающие полосы с разными соответствующими нейронными сетями AVI (например, три разрешающих полосы для трех нейронных сетей AVI). Преимущество этой методики заключается в том, что классификация в меньших разрешающих полосах займет меньше времени. Разделение на разные разрешающие полосы может произойти после того, как изображения были сняты одной камерой (например, с использованием понижающей дискретизации для определенных обучающих или производственных изображений), или альтернативно отдельные камеры или станции с камерой могут быть выполнены с возможностью работы с разными разрешениями. Как отмечалось выше, более низкие разрешения могут в некоторых случаях повысить точность обнаружения (например, за счет уменьшения искажений/шума) даже в тех случаях, когда дефекты небольшого размера (например, мелкие частицы). Таким образом, подходящая разрешающая полоса не обязательно зависит только от размера дефекта и может также зависеть от других факторов (например, типичной яркости/контрастности).
Хотя различные методики, обсуждаемые выше (например, реализованные модулем 132 предварительной обработки изображений), могут использоваться для уменьшения вычислительной нагрузки и/или времени вычислений, необходимых для обучения модели, качество/точность обученной модели и способность обученной модели адаптироваться к разным обстоятельствам (например, разным партиям или продуктам) могут зависеть от разнообразия библиотеки обучающих изображений (например, библиотеки 140 изображений). Система 100 может использовать одну или несколько методик для обеспечения надлежащего разнообразия библиотек, как теперь будет обсуждаться в отношении фиг. 10-13.
На фиг. 10 показана методика 1000, которую можно использовать для проверки того, имеет ли собранная библиотека достаточное разнообразие. Методика 1000 может быть реализована, например, программным обеспечением (например, модулем 134) компьютерной системы 104. В методике 1000 на начальном этапе 1002 компьютерная система 104 собирает (например, запрашивает и принимает) изображения из обучающей библиотеки (например, библиотеки 140 изображений) для анализа. Изображения могут быть только недефектными изображениями, только дефектными изображениями, только изображениями, относящимися к конкретному классу дефектов, или, например, некоторым их сочетанием. На этапе 1004 для каждого собранного изображения компьютерная система 104 использует любое подходящее средство обработки изображения для определения/измерения конкретного показателя, для которого варьируемость/разнообразие является преимущественным (например, глубина/высота/положение поршня). Измерение может быть выполнено, например, путем подсчета пикселей.
На этапе 1006 компьютерная система 104 строит график зависимости показателя глубины/высоты от количества изображений шприца, и на этапе 1008 компьютерная система 104 генерирует гистограмму, показывающую, сколько изображений находится в каждой из ряда ячеек, где каждая ячейка связана с конкретной глубиной/высотой поршня (или их конкретным диапазоном). В некоторых вариантах осуществления компьютерная система 104 генерирует отображение с графиком этапа 1006 и/или гистограммой этапа 1008 для отображения пользователю (например, на экране отображения компьютерной системы 104, который не показан на фиг. 1). Затем пользователь может решить, представляют ли отображаемые график и/или гистограмма достаточное разнообразие. Альтернативно компьютерная система 104 может использовать порог (например, порог от минимального до
- 16 048383 максимального значения, порог стандартного отклонения и т.д.) или какой-либо другой подходящий алгоритм для автоматического определения того, достаточно ли варьируемость/разнообразие соответствует тому, с чем можно столкнуться во время производства. Подобные методики могут также или вместо этого использоваться в отношении одного или нескольких других признаков емкости, которые имеют варьируемые положения (например, любой из признаков 902, 904, 906 или 908 на фиг. 9A). При наличии достаточно большой совокупности изображений для извлечения такие методики также могут использоваться для создания меньших наборов изображений с тщательно подобранными характеристиками, которые лучше всего подходят для конкретного применения.
Тогда как на фиг. 10 проиллюстрирована методика, которую можно использовать для подтверждения разнообразия библиотеки обучающих изображений (и/или изображений для проверки), такой как библиотека 140 изображений, другие методики могут использоваться для активного увеличения размера и разнообразия библиотеки 140 изображений. В частности, методики автоматизированного увеличения изображения и/или синтеза изображения могут использоваться для искусственного расширения уровня разнообразия, демонстрируемого совокупностью реальных изображений емкости. Эти методики могут быть особенно полезны в фармацевтическом контексте, где генерирование дефектных образцов, необходимых как для обучения, так и для проверки нейронных сетей, обычно требует медленного и опытного физического труда. Более того, многие из обсуждавшихся выше варьируемых признаков емкости (например, любые из признаков 902-908 шприца или варьируемые признаки картриджей или флаконов) могут варьироваться в тандеме, что требует полностью надежного обучения и тестовых библиотек изображений для охвата большинства или всех возможных перестановок набора признаков. Сочетание этих факторов может сделать генерирование больших и разнообразных библиотек изображений чрезмерно времязатратным и/или дорогостоящим. Однако, следующие методики могут быть использованы для обеспечения структуры расширения библиотеки, которая специально разработана для хорошей работы в рамках ограничений фармацевтического применения и для существенного снижения нагрузки на ручное генерирование больших и разнообразных объемов обучающих данных. Более того, структура расширения библиотеки потенциально может повысить точность классификации моделей и/или снизить вероятность переобучения модели обучающими данными. Увеличение цифрового изображения для улучшения библиотеки может иметь и другие преимущества. Например, преднамеренное генерирование реальных дефектов и их обработка опасны, поскольку емкости и сами дефекты (например, осколки стекла) могут быть острыми, и/или может возникнуть необходимость разбить емкости (например, чтобы образовались трещины), что может привести к частому разрушению емкостей (например, если за нагревом следует быстрое охлаждение с образованием трещин, или если на емкости имеются надрезы, образующие линии воздуха или внешние налеты и т.д.). Увеличение цифрового изображения может уменьшить потребность в нестандартной ручной обработке такого рода. Кроме того, цифровое увеличение изображения может избежать трудностей, связанных с захватом переходных условий дефекта (например, испарение жидкости в емкости, имеющей трещину или другое нарушение целостности закрытия, испарение жидкости в ребрах поршня или плунжера, ухудшение со временем окрашенного или мутного жидкого содержимого и т.д.).
На фиг. 11A изображена одна примерная методика 1100, которую можно использовать в такой структуре для обеспечения прямого увеличения реальных изображений емкости. Методика 1100 может быть реализована, например, модулем 134 расширения библиотеки. В методике 1100 на этапе 1102 модуль 134 расширения библиотеки получает реальное изображение шприца (например, изображение, сгенерированное системой 102 визуального контроля и/или сохраненное в библиотеке 140 изображений или узле 114 памяти). Альтернативно исходное изображение, полученное на этапе 1102, может быть изображением, которое уже было увеличено (например, путем предварительного применения методики 1100 один или несколько раз).
Затем на этапе 1104 модуль 134 расширения библиотеки обнаруживает поршень внутри шприца. В некоторых вариантах осуществления или сценариях (например, если известно, что все реальные изображения шприца, используемые для обучения, имеют поршень в одном и том же фиксированном положении) этап 1104 требует только идентификации известного фиксированного положения внутри исходного изображения шприца. Однако если положение поршня может варьироваться на реальном изображении, тогда этап 1104 может быть подобен этапу 932 методики 920 (например, с использованием сопоставления с шаблоном или blob-анализа).
На этапе 1106 модуль 134 расширения библиотеки извлекает или копирует часть изображения шприца, на которой изображен поршень (и, возможно, стенки цилиндра выше и ниже поршня). Затем на этапе 1108 модуль 134 расширения библиотеки вставляет поршень (и, возможно, стенки цилиндра) в новое положение вдоль длины шприца. Чтобы избежать зазора в месте извлечения поршня, модуль 134 расширения библиотеки может расширять стенки цилиндра, чтобы покрыть исходное положение поршня (например, путем копирования из другой части исходного изображения). Модуль 134 расширения библиотеки может также предотвращать другие искажения на уровне пикселей путем применения низкочастотного (например, гауссовского) фильтра частотной области для разглаживания
- 17 048383 модифицированного изображения. Методика 1100 может быть повторена для генерирования новых изображений, показывающих поршень в ряде разных положений внутри цилиндра.
Методики, подобные методике 1100, могут быть использованы для цифрового изменения положений одного или нескольких других признаков шприца (например, признаков 902, 906 и/или 908) отдельно или в тандеме с цифровым изменением положения поршня и/или друг друга. Например, модуль 134 расширения библиотеки может увеличивать изображение шприца (или другой емкости) для достижения всех возможных перестановок различных положений признаков, используя дискретные шаги, которые достаточно велики, чтобы избежать слишком большого набора обучения или проверки (например, перемещая каждый признак с шагом в 20 пикселей, а не с шагом в один пиксель, чтобы избежать многих миллионов перестановок). Более того, методики, подобные способу 1100, могут быть использованы для цифрового изменения положений одного или нескольких признаков других типов емкостей (например, признаков картриджа или флакона).
Дополнительно или альтернативно модуль 134 расширения библиотеки может удалять случайные или заранее определенные части реального изображения емкости, чтобы улучшить чрезмерную зависимость модели (например, одной нейронной сети AVI или нескольких нейронных сетей AVI) от определенных признаков входных данных при выполнении классификации. Чтобы не чрезмерно зависеть от, например, поршня шприца или плунжера картриджа, модуль 134 расширения библиотеки может стереть часть или весь поршень или плунжер на исходном изображении (например, путем маскирования нижележащих значений пикселей с минимальными (0), максимальными (255) или случайными значениями пикселей или с повторной дискретизацией пикселей из пикселей на изображении, которые непосредственно примыкают к маскированному участку). Эта методика заставляет нейронную сеть находить другие описательные характеристики для классификации. Особенно при использовании в сочетании с тепловыми картами (как обсуждается ниже со ссылкой на фиг. 17-19) методика может гарантировать, что одна нейронная сеть AVI или несколько нейронных сетей AVI классифицируют дефекты по корректным причинам.
Модуль 134 расширения библиотеки может также или вместо этого модифицировать реальные изображения емкости и/или изображения, которые уже были изменены в цифровом виде (например, с помощью методики 1100) другими способами. Например, модуль 134 расширения библиотеки может переворачивать каждое из ряда исходных изображений емкости вокруг продольной оси емкости, так что на каждом изображении по-прежнему изображена емкость в той ориентации, которая будет иметь место во время производства (например, поршнем вниз), но при этом любые асимметричные дефекты (и, возможно, некоторые асимметричные недефектные характеристики, такие как пузырьки) перемещаются на новые положения внутри изображений. В качестве другого примера, модуль расширения библиотеки 134 может в цифровом виде изменять изображения емкости, вводя небольшие вращения и/или боковые перемещения, чтобы моделировать диапазон движения, который можно разумно ожидать из-за комбинированных допусков креплений и других компонентов в производственной системе AVI.
На фиг. 11B изображен набор 1120 признаков, которые модуль 134 расширения библиотеки может изменить в цифровом виде, например, изображения шприцев. Как видно на фиг. 11B, набор 1120 признаков может содержать длину 1122 цилиндра, диаметр 1124 цилиндра, толщину 1126 стенки цилиндра, длину 1128 поршня, длину 1130 колпачка иглы, угол 1132 шприца или цилиндра, высоту 1134 столба жидкости, глубину 1136 поршня и/или угол 1138 колпачка иглы. В других вариантах осуществления модуль 134 расширения библиотеки может изменять больше, меньше и/или другое количество признаков, таких как положение захвата (например, насколько далеко заходит захватывающий механизм на цилиндр), вращение захвата, вращение цилиндра, вращение колпачка иглы, положение вдоль оси x и/или оси y изображения, общий (или фоновый) уровень яркости и так далее. Следует понимать, что похожие признаки или разные признаки, отсутствующие на шприцах, могут варьироваться для емкостей других типов (например, для картриджей длина/диаметр/вращение цилиндра и/или длина/глубина плунжера или для флаконов длина/диаметр/вращение корпуса и/или длина горлышка, занимаемая буртиком и т.д.).
Для любой из обсуждаемых выше методик увеличения изображения необходимо соблюдать осторожность, чтобы цифровые преобразования не приводили к тому, что маркировка изображения (для целей обучения с учителем) становится неточной. Например, если дефектное изображение модифицируется путем перемещения поршня (или плунжера и т.д.) в положение, при котором полностью скрывается волокно или другой дефект внутри емкости, или путем низкочастотной фильтрации или стирания части изображения таким образом, который скрывает частицу или другой дефект, может потребоваться перемаркировать изображение на хорошее.
На фиг. 12 и 13 изображены примеры методик, которые можно использовать для генерирования синтетических изображений емкости с использованием глубоких генеративных моделей. В этих вариантах осуществления, вместо вышеописанных методик прямого увеличения изображений емкости (или в дополнение к ним), для генерирования новых изображений могут использоваться усовершенствованные методики глубокого обучения. Методики по фиг. 12 и/или 13 могут быть реализованы, например, модулем 134 расширения библиотеки.
- 18 048383
Обратимся сначала к фиг. 12, где примерная методика 1200 генерирует синтетические изображения емкости с использованием генеративно-состязательной сети (GAN). В этом варианте осуществления GAN работает путем обучения генератора 1202 изображений емкости генерировать реалистичные изображения емкости, а также обучения при этом дискриминатора 1204 изображений емкости отличать реальные изображения емкости (т.е. изображения реальных емкостей) от синтетических изображений емкости (например, изображений, сгенерированных генератором 1202). По сути, генератор 1202 и дискриминатор 1204 обучаются путем конкурирования друг с другом, при этом генератор 1202 пытается ввести в заблуждение дискриминатор 1204. Генератор 1202 может содержать первую нейронную сеть, и дискриминатор может содержать вторую нейронную сеть. Например, генератор 1202 может быть деконволюционной нейронной сетью и дискриминатор 1204 может быть сверточной нейронной сетью.
GAN работает путем ввода изображений емкости в дискриминатор 1204, где любое заданное изображение может быть одним из ряда разных реальных изображений 1208 емкости (например, изображений, захваченных системой 102 визуального контроля и, возможно, обрезанных или иным образом обработанных модулем 132 предварительной обработки изображений) или вместо этого может быть одним из ряда разных синтетических изображений емкости, сгенерированных генератором 1202. Для генерирования массива разных изображений емкости нейронная сеть генератора 1202 заполняется шумом 1206 (например, случайная дискретизация из заранее определенного скрытого пространства).
Для каждого изображения, вводимого в дискриминатор 1204, дискриминатор 1204 классифицирует изображение либо как реальное, либо как синтетическое. Поскольку известно, было ли введено реальное изображение 1208 или синтетическое изображение в дискриминатор 1204, могут использоваться методики обучения с учителем. Если на этапе 1210 определено, что дискриминатор 1204 корректно классифицировал входное изображение, то генератору 1202 не удалось ввести в заблуждение дискриминатор 1204. Поэтому нейронной сети генератора 1202 предоставляется обратная связь для дальнейшего обучения его нейронной сети (например, путем регулирования весовых значений для различных соединений между нейронами). И наоборот, если на этапе 1210 определено, что дискриминатор 1204 некорректно классифицировал входное изображение, то генератор 1202 успешно ввел в заблуждение дискриминатор 1204. В этом случае вместо этого нейронной сети дискриминатора 1204 предоставляется обратная связь для дальнейшего обучения его нейронной сети (например, путем регулирования весовых значений для различных соединений между нейронами).
Повторяя этот процесс для большого количества реальных изображений 1208 емкости и большого количества синтетических изображений из генератора 1202, можно хорошо обучить как нейронную сеть дискриминатора 1204, так и нейронную сеть генератора 1202. В случае генератора 1202 это означает, что модуль 134 расширения библиотеки может случайным образом заполнять генератор 1202 для генерирования множества синтетических изображений емкости, которые могут быть добавлены в библиотеку 140 изображений для обучения и/или проверки модулем 116 нейронной сети AVI. Сгенерированные искусственные/синтетические изображения могут варьироваться в одном или нескольких отношениях, например, по любому из различных видов дефектов (например, пятнам, трещинам, частицам и т.д.) и/или по любым недефектным вариациям (например, разные положения для любого или всех из признаков 902-908 и/или любого из признаков в наборе 1120 и/или наличие пузырьков и т.д.). В некоторых вариантах модуль 134 расширения библиотеки заполняет местоположения частиц (например, случайно или специально выбранные местоположения), а затем использует GAN для генерирования реалистичных изображений частиц.
В некоторых вариантах осуществления модуль 134 расширения библиотеки обучает и/или использует циклическую GAN (или циклически последовательную GAN). В случае с циклической GAN, как и с GAN по фиг. 12, генератор узнает, какие характеристики изображения представляют класс, повторно представляя экземпляры дискриминатору и регулируя представления генератора соответствующим образом. Однако в случае циклической GAN вводится второй дискриминатор, позволяющий циклической GAN научиться отображать/преобразовывать один класс изображения в другой класс изображения. Таким образом, например, генератор циклической GAN может преобразовывать большое количество недефектных реальных изображений емкости (которые, как отмечалось выше, обычно легче получить, чем дефектные изображения) в изображения, которые демонстрируют конкретный класс дефектов. Эти преобразованные изображения могут быть добавлены в библиотеку 140 изображений для расширения обучающих и/или проверочных данных. Более того, преобразованные изображения могут помочь любой нейронной сети (любым нейронным сетям), которая (которые) модуль 116 обучает с помощью этих изображений, быть менее смещенной (смещенными) в сторону нижележащих недефектных представлений. Например, нейронная сеть AVI, обученная на конкретном наборе реальных изображений, может ошибочно классифицировать недефекты как дефекты из-за некоторой искусственности освещения. Если бы та же нейронная сеть обучалась не только на этих изображениях, но и на версиях (по меньшей мере некоторых из) тех изображений, которые сначала преобразуются для демонстрации дефектов, классификатор можно обучить делать вывод на основе самого дефекта, а не искусственности освещения.
- 19 048383
Обратимся дальше к фиг. 13, где примерная методика 1300 генерирует синтетические изображения емкости с использованием вариационного автокодировщика (VAE). С VAE может быть проще работать, чем с GAN, поскольку они особенно хорошо подходят для сложноструктурированных данных и могут особенно хорошо работать в фармацевтических применениях, в которых изображения емкости по большей части имеют фиксированные признаки (т.е. кроме вариаций, вызванных такими факторами, как допуски и дефекты). В случае с VAE, входное изображение емкости (из реальных изображений 1302 емкости, например, сгенерированных системой 102 визуального контроля) кодируется кодером 1304 в низкоразмерное скрытое пространство (уровень 1306 дискретизации), которое представлено статистическим средством, а затем декодируется декодером 1308 обратно в выходное изображение, которое соответствует точке в этом случайно распределенном скрытом пространстве. Для данного одного из реальных изображений 1302 емкости кодер 1304 определяет, какая минимальная информация необходима для представления изображения посредством сжатия на уровне 1306 дискретизации, и декодер 1308 использует эту минимальную информацию (то есть соответствующую точку на уровне 1306 дискретизации) для восстановления изображения. Как кодер 1304, так и декодер 1308 могут представлять собой, например, нейронные сети. Восстановленные изображения, которые соответствуют тем же точкам на уровне 1306 дискретизации, что и реальные изображения 1302 емкости, не показаны на фиг. 13. Чтобы генерировать синтетические изображения 1310 емкости из одного из реальных изображений 1302 емкости, модуль 134 расширения библиотеки может случайно дискретизировать скрытое пространство (уровень 1306 дискретизации) для реального изображения 1302 емкости и запускать эту дискретизацию через обученный декодер 1308.
Выходные изображения из VAE также могут быть полезны, предоставляя указание среднего изображения среди изображений в своем классе, так что признаки, которые могут варьироваться от изображения к изображению, появляются согласно частоте этих признаков в наборе данных. Таким образом, например, величину перемещения боковой стенки шприца или перемещения поршня в библиотеке 140 изображений можно визуализировать путем наблюдения теней или размытости на синтезированном изображении, при этом более густые тени/размытости указывают на более широкий диапазон позиционной варьируемости для этого признака.
В целом, глубокие генеративные модели, подобные тем, которые обсуждались выше, могут позволить генерировать синтетические изображения, где ключевые параметры (например, положение поршня, мениск и т.д.) приблизительно ограничены путем подачи искусственно сгенерированных заполненных изображений в обученную нейронную сеть.
Как отмечалось выше, большая и разнообразная библиотека обучающих изображений, охватывающая вариации, которые, как можно ожидать, могут возникнуть в процессе производства (например, дефекты, имеющие разный внешний вид, признаки емкости, имеющие диапазон допусков, и т.д.), может быть критически важным для того, чтобы обучить нейронную сеть хорошо работать. В то же время, если можно уменьшить или избежать каких-либо потенциальных вариаций от изображения к изображению, снижается нагрузка на генерирование разнообразной библиотеки обучающих изображений. То есть можно избежать необходимости включать определенные типы вариаций и перестановок в обучающую библиотеку (например, библиотеку 140 изображений). В общих чертах, чем лучше обеспечивается управление системой визуального контроля для уменьшения вариаций на захваченных изображениях, тем меньше нагрузка на этапе обучения и, потенциально, тем больше сокращаются затраты на получение данных.
Выравнивание емкости является одним из потенциальных источников вариации между изображениями емкости, которая, в отличие от некоторых других вариаций (например, наличия/отсутствия дефектов, разных характеристики дефектов и т.д.), по сути не является необходимой для процесса AVI. Варьируемость выравнивания может быть вызвана рядом источников, таких как прецессия емкости, которая вращает емкость вокруг точки захвата (например, вращение шприца вокруг патрона, который захватывает фланец шприца), наклон емкости, разницы в расположении камеры относительно крепления емкости (например, если для сборки обучающей библиотеки используются разные станции с камерой) и так далее. В некоторых вариантах осуществления технологии используются для достижения более равномерного выравнивания емкостей внутри изображений, так что емкости на изображениях имеют по существу одинаковую ориентацию (например, одну и ту же продольную ось и вращение относительно границ изображения).
Предпочтительно методики механического выравнивания используются в качестве основного средства обеспечения постоянного позиционирования/ориентации каждой емкости относительно камеры. Например, пальцы захвата могут быть сконструированы так, чтобы прочно зажимать цилиндр шприца, включая область пальцевого контакта, которая является достаточно длинной, чтобы иметь расширенный контакт вдоль корпуса/стенки емкости (например, цилиндра шприца), но не настолько длинной, чтобы содержимое емкости было скрыто от поля зрения камеры. В некоторых вариантах осуществления пальцы покрыты тонким слоем резины или эквивалентного мягкого материала для обеспечения оптимального контакта с емкостью.
- 20 048383
Однако даже при использовании надежных методик механического выравнивания небольшие вариации в выравнивании емкости внутри изображений могут сохраняться (например, из-за незначительных вариаций между емкостями, того, насколько хорошо емкость установлена в креплении для транспортировки, вариаций в допуске наложения между последовательными креплениями и/или других факторов). Чтобы снизить эти оставшиеся вариации, в некоторых вариантах осуществления могут использоваться методики цифрового/программного выравнивания. Цифровое выравнивание может включать определение смещения и/или вращения емкости на изображении (и, возможно, масштаба/размера изображенной емкости), а затем повторную дискретизацию изображения таким образом, чтобы скорректировать смещение и/или вращение (и, возможно, регулировочную шкалу). Повторная дискретизация, особенно для вращения, сопряжена с некоторым риском появления искажений на уровне пикселей на изображениях. Таким образом, как отмечалось выше, предпочтительно используются методики механического выравнивания, чтобы свести к минимуму или избежать необходимости повторной дискретизации.
На фиг. 14A и 14B изображена примерная методика коррекции выравнивания емкости 1400 внутри изображения, которая может быть реализована, например, модулем 132 предварительной обработки изображений. В некоторых вариантах осуществления, как отмечалось выше, методика предназначена только для коррекции небольших смещений (например, вплоть до нескольких градусов наклона). Однако на фиг. 14A и 14B для наглядности показана относительно большая степень смещения. Обратимся сначала к фиг. 14A, где емкость 1400 (например, емкость 214 или 406) со стенкой, имеющей левый и правый края (в перспективе камеры) 1402a и 1402b, изображается камерой. Фиг. 14A может представлять емкость 1400, как изображено камерой 202, одной из камер 302a-302c или одной из камер 402a-402c, например. Обратимся дальше к фиг. 14B, где модуль 132 может обнаруживать края 1402a и 1402b, используя любую подходящую методику обнаружения краев, и может выводить данные, указывающие положения краев 1402a и 1402b (например, относительно центральной линии 1410, угла или другой части всего изображения). На фиг. 14B опорные линии 1412a и 1412b могут представлять ожидаемые местоположения краев (например, хранящиеся в узле 114 памяти), которые также должны соответствовать скорректированным положениям краев 1402a и 1402b соответственно.
В изображенном сценарии края 1402a и 1402b положительно сдвинуты от опорных линий 1412a и 1412b как вдоль оси x, так и вдоль оси y (т.е. в направлении правой стороны и в направлении верхней части по фиг. 14B) и вращаются приблизительно на 10° вокруг оси z относительно опорных линий 1412a и 1412b. Модуль 132 может измерять точные сдвиги (например, в пикселях) и вращение (например, в градусах) и использовать эти значения для вычисления данных коррекции (например, матрицы коррекции) для изображения. Модуль 132 может затем применить данные коррекции для повторной дискретизации изображения, причем емкость 1400 по существу выравнивается по скорректированному изображению (например, с краями 1402a и 1402b, выровненными с опорными линиями 1412a и 1412b соответственно).
В некоторых вариантах осуществления модуль 132 предварительной обработки изображений определяет положение/ориентацию емкостей внутри изображений не только для целей цифрового выравнивания изображений, но также (или вместо этого) для фильтрации изображений, которые смещены за пределы некоторого приемлемого уровня. Один из примеров методики 1500 фильтрации показан на фиг. 15. В методике 1500 на этапе 1502 модуль 132 собирает изображения емкости (например, изображения, сгенерированные системой 102 визуального контроля). На этапе 1504 модуль 132 обрабатывает собранные изображения для обнаружения сдвигов и вращений (например, как обсуждалось выше по отношению к фиг. 14A и 14B). Этап 1504 может также включать сравнение сдвигов и вращений с соответственными порогами приемлемости или сравнение одного или нескольких показателей (полученных из сдвигов и/или вращений) с порогами приемлемости. Порог (пороги) может (могут) соответствовать уровню смещения, за пределами которого, например, слишком высок риск значительных искажений изображения (при коррекции смещения). Альтернативно порог (пороги) приемлемости может (могут) быть установлен таким образом, чтобы имитировать допуски реального производства.
В вариантах осуществления, которые используют методики цифрового выравнивания, модуль 132 корректирует смещение изображений, которые демонстрируют некоторый боковой сдвиг и/или вращение, но все еще находятся в пределах порога (порогов) приемлемости. На этапе 1506 модуль 132 предписывает компьютерной системе 104 сохранить приемлемые изображения (т.е. изображения в пределах порога (порогов) приемлемости после коррекции или без нее) в библиотеке 140 изображений. На этапе 1508 модуль 132 помечает изображения за пределами порога (порогов) приемлемости. Компьютерная система 104 может сбрасывать помеченные изображения, например. Как и в случае с методикой по фиг. 14A и 14B, фильтрация смещенных изображений емкости помогает избежать ситуаций, в которых нейронная сеть обучается фокусироваться на признаках, которые не имеют отношения к наличию дефектов.
Хотя это обсуждалось выше в отношении создания библиотеки обучающих и/или проверочных изображений, следует понимать, что методики выравнивания и/или фильтрации по фиг. 14 и 15 также
- 21 048383 могут быть использованы в производстве. Например, модуль, подобный модулю 132, может корректировать небольшие смещения изображений емкости до осуществления вывода обученной нейронной сетью (обученными нейронными сетями) AVI и/или может помечать изображения емкости, которые смещены за пределы некоторого порога (некоторых порогов) приемлемости, как отклоненные (или как требующие дополнительного контроля и т.д.). Однако в производстве методики цифрового выравнивания могут быть нежелательными из-за увеличенных процентных значений ложноположительных результатов (т.е. увеличенных процентных значений отклоненных результатов для здорового продукта). Тем не менее, методики обнаружения краев и установки порога могут быть использованы для изготовления, регулирования и/или квалификации производственной системы AVI, чтобы гарантировать, что крепление емкостей относительно камеры (камер) является корректным и постоянным.
Любая из методик, описанных выше, может быть использована для создания библиотеки обучающих изображений, которая является большой и разнообразной, и/или для того, чтобы избежать обучения нейронной сети (нейронных сетей) закрепляться на признаках емкости, которые не должны иметь отношения к обнаружению дефектов. Тем не менее, важно, чтобы обученная нейронная сеть (обученные нейронные сети) AVI была (были) тщательно квалифицирована (квалифицированы). Проверка/тестирование обученной нейронной сети (обученных нейронных сетей) AVI с использованием независимых наборов изображений является критической частью (или предшествующей для) процесса квалификации. С помощью наборов проверочных изображений могут быть сгенерированы матрицы неточностей, указывающие количество и процентное значение ложноположительных результатов (т.е. которые классифицируются как дефект там, где дефект отсутствует) и ложноотрицательных результатов (т.е. которые классифицируются как недефектные там, где дефект присутствует). Однако, хотя матрицы неточностей ценны, они дают мало информации о том, как выполняются классификации, и поэтому недостаточны для надежного и оправданного процесса AVI. При рассмотрении всей емкости и ее содержимого существует множество потенциальных источников вариации на классифицируемых изображениях, помимо рассматриваемого класса дефектов (например, как обсуждалось в связи с фиг. 9A и 11B). Например, если хорошие и дефектные обучающие и проверочные изображения в среднем демонстрируют незначительную разницу в положении/высоте мениска, нейронную сеть можно обучить различать хорошие/дефектные изображения на основе уровня мениска, даже если уровень мениска теоретически не должен иметь никакого отношения к типу (типам) рассматриваемого дефекта (например, частиц, трещин и т.д.). В таком случае, в то время как обычные результаты проверки (например, матрица неточностей) могут предполагать, что модель работает хорошо, модель может не работать хорошо для производственных изображений, на которых наличие дефектов не обязательно коррелирует с высотой мениска. Варьируемость таких корреляций между партиями может возникать изза различий от партии к партии в параметрах, таких как общий объем заполнения жидкостью, размер воздушного зазора, параметры емкости и/или размещение поршня во время заполнения, любое из которых может в совокупности определять конечное положение мениска и поршня во время контроля.
В дополнение модели глубокого обучения могут быть введены в заблуждение отклонениями от нормального состояния, связанными с выравниванием части (например, как обсуждалось выше). Таким образом, критически важно, чтобы нейронная сеть (нейронные сети) AVI не только корректно отклоняла (отклоняли) дефектные образцы, но и чтобы нейронная сеть (нейронные сети) AVI отклоняла (отклоняли) дефектные образцы по корректным причинам. С этой целью могут быть использованы различные методики, использующие тепловые карты нейронной сети, которые сейчас обсуждаются со ссылкой на фиг. 16-18. Одна или несколько из следующих методик могут быть реализованы, например, модулем 116 нейронной сети AVI и/или модулем 136 оценки нейронной сети компьютерной системы 104.
Тепловая карта (или доверительная тепловая карта) для конкретной нейронной сети AVI, которая выполняет классификацию изображений, обычно указывает для каждой части множества (обычно очень небольших) частей изображения, которые вводятся в эту нейронную сеть, важность этой части для вывода/классификации, которую нейронная сеть выполняет для этого изображения (например, хорошее или дефектное). В некоторых вариантах осуществления используются тепловые карты окклюзии. Чтобы сгенерировать такую тепловую карту, модуль 116 нейронной сети AVI маскирует небольшую часть изображения и выполняет повторную дискретизацию замаскированной части из окружающих пикселей для создания гладкой замены. Форма и размер (в пикселях) маски могут варьироваться по мере пользовательского ввода. Модуль 116 затем вводит частично замаскированное изображение в нейронную сеть и генерирует степень достоверности вывода для этой версии изображения. Как правило, относительно низкая степень достоверности для конкретного вывода означает, что часть изображения, которая была замаскирована для получения этой степени, имеет относительно высокую важность для вывода.
Модуль 116 затем поступательно пошагово передвигает маску по изображению растровым способом и генерирует новую степень достоверности вывода на каждом новом шаге. Выполняя итерации таким образом, модуль 116 может построить 2D-массив степеней достоверности (или некоторого
- 22 048383 показателя, полученного из них) для изображения. В зависимости от варианта осуществления модуль 116 (или другое программное обеспечение компьютерной системы 104, такое как модуль 136) может представлять массив визуально/графически (например, путем наложения указаний степеней достоверности на исходное изображение с цветным или другим визуальным указанием каждой степени, появляющейся над участком изображения, который был замаскирован при получении этой степени) или может обрабатываться без какой-либо визуализации тепловой карты.
В других вариантах осуществления модуль 116 строит тепловые карты способом, отличным от описанного выше. Например, модуль 116 может генерировать тепловую карту градиентно-взвешенного отображения активации классов (grad-CAM) для конкретной нейронной сети и изображения емкости. В этом варианте осуществления тепловая карта grad-CAM указывает, как каждый уровень нейронной сети активируется конкретным классом, учитывая входное изображение. Фактически, это указывает интенсивность активации каждого уровня для этого входного изображения.
На фиг. 16A изображено упрощенное представление примерной тепловой карты 1600 для изображения емкости. Тепловая карта 1600 может быть сгенерирована модулем 116 нейронной сети AVI с использованием методики итеративного маскирования (окклюзии), или grad-CAM, как обсуждалось выше, или другой подходящей методики тепловой карты. Для ясности на фиг. 16A показана тепловая карта 1600, содержащая только три уровня степеней достоверности: первый уровень, представленный закрашенными черным рамками 1602, указывающий, что участок имеет относительно высокую важность для вывода (например, для тепловой карты окклюзии, где маскирование этой части изображения приводит к очень низкой степени достоверности по сравнению со степенью, когда маскирование не происходит), второй уровень, представленный незакрашенными рамками 1604, указывающий, что участок имеет умеренно высокую важность для вывода (например, для тепловой карты окклюзии, где маскирование этой части изображения приводит к умеренно более низкой степени достоверности по сравнению со степенью, когда маскирование не происходит), и третий уровень (представленный вообще без рамки), указывающий, что участок имеет низкую важность для вывода (например, для тепловой карты окклюзии, где маскирование этой части изображения приводит к степени достоверности, которая не значительно ниже, чем степень достоверности, когда маскирование не происходит). Однако, следует понимать, что простота тепловой карты 1600 на фиг. 16A преувеличена для ясности, и что вместо этого тепловая карта 1600 может указывать гораздо больше уровней или диапазонов важности каждой части изображения (например, используя почти непрерывный диапазон цветов и/или оттенков для представления уровней важности для вывода). Более того, в то время как каждая часть изображения (рамка 1602 или 1604) на фиг. 16A показана как относительно большая для ясности, в других вариантах осуществления модуль 116 генерирует тепловую карту 1600, используя меньший размер маски и/или другую форму маски. Более реалистичная тепловая карта 1620 (в данном случае полученная с помощью grad-CAM) показана на фиг. 16B в сценарии, где тепловая карта сильно (и корректно) сфокусирована на трещине 1622 в стенке цилиндра шприца.
Вернемся теперь к примерному сценарию по фиг. 16A, где изображение емкости должно быть дефектным изображением из-за наличия тяжелой частицы 1608 на куполе поршня. Однако тепловая карта 1600 указывает, что нейронная сеть вместо этого сделала свой вывод на основе главным образом части изображения 1600, на которой изображен мениск текучей среды внутри цилиндра шприца. Если (1) модуль 116 представляет пользователю тепловую карту 1600 (наложенную на изображение емкости) вместе с указанием, что конкретная нейронная сеть классифицировала изображение емкости как дефектное, и (2) пользователь знает, что конкретная нейронная сеть специально обучена обнаруживать дефекты, связанные с куполом поршня, пользователь может легко определить, что нейронная сеть корректно классифицировала изображение, но по неправильной причине. Анализируя достаточно большое количество тепловых карт и соответствующих классификаций/выводов, пользователь может быть способен с некоторым уровнем достоверности определить, классифицирует ли эта конкретная нейронная сеть изображения по правильным причинам.
Однако этот процесс может занять чрезвычайно много времени. Соответственно, в некоторых вариантах осуществления модуль 136 оценки нейронной сети автоматически анализирует тепловые карты и определяет, классифицирует ли нейронная сеть изображения по правильным причинам. Для осуществления этого модуль 136 анализирует данную тепловую карту (например, тепловую карту 1600), сгенерированную нейронной сетью, которая обучена обнаруживать конкретный класс дефектов, и определяет, являются ли части изображения, которые были наиболее важны для классификации, осуществленной этой нейронной сетью, теми частями, на которые следовало полагаться при осуществлении вывода. На фиг. 16A, например, модуль 136 может определять, что части изображения, наиболее важные для классификации дефекта (например, как указано рамками 1602 и 1604), находятся внутри зоны 1610 емкости, где зона 1610 емкости охватывает диапазон положений, в котором ожидается, что будет виден мениск. Поскольку зона 1610 не охватывает какую-либо часть поршня, модуль 136 может пометить классификацию как случай, в котором нейронная сеть осуществила классификацию по неправильной причине. И наоборот, например, по фиг. 16B, модуль 136 может определить, что части изображения, наиболее важные для классификации дефекта, находятся внутри ожидаемой зоны
- 23 048383 емкости (например, зоны, которая содержит некоторую часть или весь цилиндр шприца), и, следовательно, не помечает классификацию как осуществленную по неправильной причине.
Эта методика может быть особенно подходящей в вариантах осуществления, где нейронные сети AVI включают разную нейронную сеть, обученную обнаруживать каждый из ряда разных классов дефектов, которые, в свою очередь, связаны с рядом разных зон емкости. Один пример разрушения такой зоны показан на фиг. 17. На фиг. 17 примерная емкость 1700 (в данном случае шприц) связана с зоной 1702, в которой ожидались бы дефекты, связанные с основанием цилиндра шприца (например, трещины или сколы в цилиндре шприца, открытые внутренние линии воздуха в стенке цилиндра, пятна, грязь или другие инородные включения на внутренней поверхности цилиндра, внутренние повреждения, превышающие пороговый размер/площадь, например, более 0,225 мм2 и т.д.), зоной 1704, в которой ожидались бы дефекты, связанные с поршнем (например, деформированные поршни, пятна или тяжелые частицы на куполе поршня и т.д.), прерывистой зоной 1706, в которой ожидались бы дефекты, связанные с основной частью цилиндра шприца (например, открытые внутренние линии воздуха, сколы, внутренние или внешние прилипшие/спеченные/слитые частицы стекла, инородные объекты на внутренней поверхности стенки цилиндра и т.д.), зоной 1708, в которой ожидались бы дефекты, связанные с цилиндром шприца (например, трещины, пятна, частицы и т.д.), зоной 1710, в которой ожидались бы дефекты, связанные с мениском (например, частицы, плавающие в мениске), зоной 1712, в которой ожидались бы дефекты, связанные с колпачком иглы и областью плеча шприца (например, слишком большой промежуток/зазор между колпачком и плечом, трещины, внутренние пятна или сколы на плече или горлышке шприца, волокна или другие частицы внутри шприца вблизи плеча шприца и т.д.), и зоной 1714, в которой ожидались бы дефекты, связанные с колпачком иглы (например, отсутствие или погнутость колпачка иглы). В одном варианте осуществления, например, нейронные сети, обученные и/или используемые модулем 116 нейронной сети AVI, включают по меньшей мере семь нейронных сетей, каждая из которых обучена обнаруживать дефекты, связанные с разной одной из семи зон 1702-1714 емкости. В некоторых вариантах осуществления одна или несколько зон также или вместо этого связаны с конкретными типами искажений формирования изображения, которые не должны вызывать отклонение емкости. Например, в зависимости от конфигурации источника (источников) освещения стенки шприца внутри зоны 1706 могут выглядеть как черные полоски, причем толщина полосок варьируется в зависимости от того, присутствует ли жидкость внутри шприца.
В целом, если модуль 136 оценки нейронной сети определяет, что конкретная нейронная сеть AVI классифицирует изображение как дефектное, несмотря на соответствующую тепловую карту, показывающую первичную зависимость от частей изображения в неожиданной зоне (учитывая класс дефектов, для которого нейронная сеть была обучена), модуль 136 может пометить классификацию как случай, в котором нейронная сеть осуществила классификацию по неправильной причине. Модуль 136 может вести подсчет таких случаев для каждой из нейронных сетей AVI, например, и, возможно вычислять один или несколько показателей, указывающих то, как часто каждая из нейронных сетей осуществляет классификацию по неправильной причине. Компьютерная система 104 может затем отображать такие подсчеты и/или показатели пользователю, который может определить, следует ли дополнительно обучать конкретную нейронную сеть AVI (например, путем дополнительного разнообразия изображений в библиотеке 140 изображений и т.д.).
В некоторых вариантах соответствующие зоны емкости (например, зоны 1702-1714) сами по себе являются динамическими. Например, вместо того, чтобы использовать только заранее определенные зоны, модуль 136 оценки нейронной сети может использовать любую из методик обнаружения объектов, описанных выше (в связи с автоматизированной обрезкой изображения), чтобы определить, где находятся определенные зоны для конкретного изображения емкости. На фиг. 17, например, зона 1710 может охватывать гораздо меньшую область, которая тесно ограничивает фактическое положение мениска внутри изображения емкости, вместо того чтобы учитывать варьируемость в местоположении мениска путем использования большей заранее определенной зоны 1710.
На фиг. 18A-18D изображены различные примерные процессы для выполнения автоматизированного анализа тепловой карты. Любой или все из этих процессов могут быть реализованы, например, модулем 116 нейронной сети AVI и/или модулем 136 оценки нейронной сети. Обратимся сначала к процессу 1800 по фиг. 18A, где на этапе 1802 генерируют карту ожидаемого целевого участка (например, вводимую пользователем в компьютерную систему 104 или динамически определяемую модулем 132 или 136 с использованием обнаружения объекта). Карта определяет разные зоны емкости и может быть похожа на ту, что, например, показана на фиг. 17. На этапе 1804 тепловую карту генерируют (например, с помощью обучающего сервера 116) для изображения емкости, прогоняемого через нейронную сеть, которая обучена обнаруживать дефекты определенной категории/класса, например, при квалификации нейронной сети. Нейронная сеть может сделать вывод, что изображение показывает дефект или не показывает дефект, в зависимости от сценария. На этапе 1806 тепловую карту, сгенерированную на этапе 1804, и карту, сгенерированную на этапе 1802, выравнивают и/или проверяют на выравнивание (например, с помощью модуля 136). То есть тепловая карта эффективно накладывается на карту или наоборот, причем зоны емкости на карте выравниваются с
- 24 048383 соответствующими частями тепловой карты (например, зона 1706 карты выравнивается с частями тепловой карты, которые соответствуют стенкам емкости).
На этапе 1808 пиксели тепловой карты сравнивают (например, с помощью модуля 136) с пикселями карты. Этап 1808 может включать сравнение значений пикселей тепловой карты (указывающих важность этой части изображения для вывода, сделанного нейронной сетью) с картой, например, путем определения того, где находятся самые высокие значения пикселей по отношению к карте. В других вариантах осуществления сравнение на этапе 1808 можно выполнять на уровне размера маски, а не на попиксельной основе. На этапе 1810 результаты сравнения анализируют для генерирования одного или нескольких показателей (например, с помощью модуля 136). Показатель (показатели) может (могут) включать двоичный индикатор того, происходит ли самая высокая активность тепловой карты в ожидаемой зоне карты (с учетом сделанного вывода и класса дефекта, для которого была обучена нейронная сеть), или может (могут) включать один или несколько показателей, указывающих недвоичную меру того, сколько активности тепловой карты происходит в ожидаемой зоне (например, процентное значение и т.д.). Показатель (показатели) может (могут) быть отображен (отображены) пользователю (например, модулем 136, генерирующим значение для отображения) и/или передан (переданы) другому программному модулю (например, модулем 136, генерирующим и передающим в другой модуль данные, которые используются в сочетании с другой информацией, чтобы указать пользователю, является ли нейронная сеть достаточно обученной), например.
Переходя далее к фиг. 18B, процесс 1820 сравнивает тепловые карты для дефектных изображений с тепловыми картами для хороших (недефектных) изображений, вместо сравнения с картой зон емкости. На этапе 1822 генерируют тепловую карту хорошего (недефектного) изображения (также называемую хорошей тепловой картой). Модуль 116 нейронной сети AVI может генерировать хорошую тепловую карту путем прогона изображения емкости, которое заведомо не демонстрирует дефектов, через нейронную сеть, которая обучена обнаруживать дефекты определенной категории/класса. Эта хорошая тепловая карта может затем выступать в качестве опорной тепловой карты для многочисленных итераций процесса 1820.
На этапе 1824 генерируют тепловую карту (например, с помощью модуля 116) для другого изображения емкости, прогоняемого через ту же нейронную сеть. В этом примере нейронная сеть делает вывод, что на изображении показан дефект. На этапе 1826 тепловую карту, сгенерированную на этапе 1824, и хорошую тепловую карту, сгенерированную на этапе 1822, выравнивают и/или проверяют на выравнивание (например, с помощью модуля 136). То есть одна тепловая карта эффективно накладывается на другую, при этом соответствующие части тепловых карт (например, для стенок емкости, поршня и т.д.) выравниваются друг с другом.
На этапе 1828 пиксели двух тепловых карт сравнивают друг с другом (например, с помощью модуля 136). Этап 1828 может включать сравнение значений пикселей тепловой карты (указывающих важность этой части изображения для вывода, сделанного нейронной сетью) друг с другом, например. В других вариантах осуществления сравнение на этапе 1828 можно выполнять на уровне размера маски, а не на попиксельной основе. На этапе 1830 результаты сравнения анализируют для генерирования одного или нескольких показателей (например, с помощью модуля 136). Показатель (показатели) может (могут) включать двоичный индикатор того, перекрываются ли первичные кластеры активности тепловой карты слишком сильно (например, превышают пороговую величину) или подходящим образом смещены, или может (могут) включать один или несколько показателей, указывающих недвоичную меру того, насколько сильно перекрывается активность тепловой карты (например, процентное значение и т.д.). Показатель (показатели) может (могут) быть отображен (отображены) пользователю (например, модулем 136, генерирующим значение для отображения) и/или передан (переданы) другому программному модулю (например, модулем 136, генерирующим и передающим в другой модуль данные, которые используются в сочетании с другой информацией, чтобы указать пользователю, является ли нейронная сеть достаточно обученной), например.
Потенциальная проблема с подходом процесса 1820 заключается в том, что отдельные изображения емкости, включая любое изображение, используемое для получения хорошей/опорной тепловой карты, могут содержать остатки, тем самым искажая все последующие сравнения с тепловыми картами изображения дефектов. Чтобы устранить эту проблему, альтернативный процесс 1840, показанный на фиг. 18C, генерирует составную тепловую карту. В процессе 1840 на этапе 1842 стек/совокупность N (например, 10, 100, 1000 и т.д.) хороших тепловых карт генерируют путем прогона изображений, на которых заведомо изображены разные бездефектные емкости/образцы, через нейронную сеть, обученную обнаруживать дефекты в конкретном классе дефектов (например, с помощью модуля 116). На этапе 1844 генерируют составную тепловую карту (например, с помощью модуля 136) на основе стека N хороших тепловых карт. Например, модуль 136 может генерировать составную тепловую карту путем усреднения, добавления или взятия проекции максимальной интенсивности (MIP) значений тепловой карты из N хороших тепловых карт. Тогда этапы 1846, 1848, 1850 и 1852 могут быть подобны этапам 1824, 1826, 1828 и 1830 соответственно процесса 1820.
- 25 048383
На фиг. 18D проиллюстрирован взаимообратный процесс 1860 для анализа причины (причин), лежащей (лежащих) в основе хорошей классификации, выполненной нейронной сетью. В процессе 1860 на этапе 1862 стек/совокупность N (например, 10, 100, 1000 и т.д.) тепловых карт изображений, на которых заведомо изображены емкости/образцы, демонстрирующие дефекты в конкретном классе дефектов (которые также называются дефектными тепловыми картами), генерируют путем прогона изображений через нейронную сеть, обученную обнаруживать дефекты в этом классе (например, с помощью модуля 116). На этапе 1864 генерируют составную тепловую карту (например, с помощью модуля 136) на основе стека N дефектных тепловых карт. Этап 1864 может быть подобным этапу 1844 процесса 1840, например. На этапе 1866 генерируют тепловую карту (например, с помощью обучающего сервера 116) для другого изображения емкости, прогоняемого через ту же нейронную сеть. В этом примере нейронная сеть делает вывод, что на изображении не показан дефект. Тогда этапы 1868, 1870 и 1872 могут быть подобны этапам 1826, 1828 и 1830 соответственно процесса 1820.
Вышеприведенное обсуждение в основном было сфокусировано на использовании нейронных сетей, которые классифицируют изображение (или некоторую обрезанную часть изображения, как на фиг. 8) в его полном объеме. Эти нейронные сети, которые упоминаются в данном документе как нейронные сети классификации изображения, могут хорошо работать с использованием некоторых или всех методик, обсуждавшихся выше (например, методик сокращения использования ресурсов памяти/обработки, методик улучшения библиотеки, методик квалификации и т.д.). Однако в альтернативных вариантах осуществления некоторые или все из нейронных сетей, обученных и/или используемых модулем 116 нейронной сети AVI, могут вместо этого выполнять обнаружение объектов. Как отмечалось выше, если контекст явно не указывает более конкретное использование, обнаружение объекта, как используется в данном документе (и в отличие от классификации изображений), может в широком смысле относиться к любым методикам, которые идентифицируют конкретное местоположение объекта (например, частицы) внутри изображения и/или которые идентифицируют конкретное местоположение признака более крупного объекта (например, трещины или скола на цилиндре шприца или картриджа и т.д.), и может включать, например, методики, которые выполняют сегментирование изображения или части изображения емкости (например, попиксельную классификацию), или методики, которые идентифицируют объекты и размещают граничные рамки (или другие формы границы) вокруг этих объектов.
В вариантах осуществления, использующих обнаружение объекта, построение библиотеки 140 изображений в некоторых отношениях может быть более затруднительным, чем для классификации изображения, поскольку пользователи обычно должны вручную рисовать граничные рамки (или границы других определенных или произвольных двумерных форм) вокруг каждого соответствующего объекта или попиксельно маркировать (например, рисовать) каждый соответствующий объект, если обучаемая модель выполняет сегментирование, для создания маркированных изображений для обучения с учителем (например, при использовании GUI инструмента маркировки, такого, который может быть сгенерирован модулем 116 нейронной сети AVI). Более того, обучение и прогонная операция, как правило, требуют больше памяти и времени для обнаружения объектов, чем для классификации изображений. В настоящее время было достигнуто время вывода порядка приблизительно 50 мс, что ограничивает скорость формирования изображения емкости приблизительно до 20 в секунду. Однако в других отношениях обнаружение объекта может быть предпочтительным. Например, хотя ручная маркировка обучающих изображений, как правило, более трудоемка и требует больше времени для обнаружения объектов, чем для классификации изображений, первая более полно использует информацию, содержащуюся внутри данного обучающего изображения. В целом генерирование библиотеки 140 изображений может быть упрощено относительно классификации изображений, и/или обученная нейронная сеть (обученные нейронные сети) может (могут) быть более точной (точными), чем нейронные сети классификации изображений, особенно для небольших дефектов, таких как мелкие частицы (например, агрегаты или волокна).
При обнаружении объектов нейронная сеть AVI показывает, на какой области следует сфокусироваться (например, с помощью граничной рамки или другой границы, нарисованной вручную с помощью инструмента маркировки, или с помощью области, которая вручную нарисована с помощью инструмента маркировки), и нейронная сеть возвращает/генерирует граничную рамку (или границу какой-либо другой формы) или попиксельную классификацию изображения (если нейронная сеть выполняет сегментирование) для идентификации подобных объектов. Сравнения между сгенерированными сетью областями (например, граничными рамками или наборами пикселей, классифицированных как объект) и добавленными вручную маркировками (например, граничными рамками или пикселями внутри областей, нарисованных пользователем) могут значительно упростить квалификационные работы относительно использования тепловых карт (например, относительно методик, обсуждаемых выше в связи с фиг. 16-18, для классификации изображения). В некоторых вариантах осуществления, например, модуль 136 (или другой модуль) может автоматизировать процесс путем определения того, соответствуют ли какие-либо конкретные области, указанные данными, сгенерированными нейронной сетью (например, во время проверки или квалификации), областям,
- 26 048383 указанным вручную, для данного изображения емкости. В случае с граничными рамками, например, это может быть выполнено путем вычисления процентного перекрытия граничной рамки, сгенерированной нейронной сетью, со сгенерированной пользователем граничной рамкой (ручной маркировки) (или наоборот), например, и сравнения процентного соотношения с порогом (например, с появлением сопоставления и указанием корректной работы, если существует по меньшей мере пороговое процентное значение перекрытия). В качестве другого примера это может быть выполнено путем определения того, находится ли центральная точка граничной рамки, сгенерированной нейронной сетью, внутри граничной рамки, которая была добавлена во время маркировки (или наоборот). В других вариантах осуществления это сравнение граничных рамок (или других указаний областей изображения) может быть выполнено вручную пользователем инструмента, который представляет как сгенерированную моделью область (например, сгенерированную моделью граничную рамку), так и сгенерированную пользователем область (например, нарисованную пользователем граничную рамку) на дисплее, причем обе области накладываются на изображение емкости.
Другое потенциальное преимущество обнаружения объектов заключается в том, что обнаружение объектов может значительно меньше зависеть от варьируемости различных несвязанных признаков по сравнению с классификацией изображений. Например, такие признаки, как положение поршня или плунжера, диаметр цилиндра, длина воздушного зазора и так далее (например, любой из признаков шприца, показанных на фиг. 9A или 11B, или подобные признаки картриджа или флакона), и искажения изображения, относящиеся к этим признакам, должны оказывать относительно небольшое влияние на способность нейронной сети AVI обнаруживать объект (например, частицу) внутри содержимого емкости. Таким образом, библиотека 140 изображений, как правило, не должна демонстрировать тот же диапазон/разнообразие признаков изображения, которые требуются для точных моделей классификации изображений. Таким образом, в этом отношении время, стоимость и/или обработка, необходимые для генерирования библиотеки 140 изображений, могут быть сокращены. Например, система 100 может не использовать модуль 134 расширения библиотеки для построения библиотеки 140. Альтернативно модуль 134 все еще может использоваться, но только для более ограниченных случаев (например, с использованием GAN для генерирования синтетических изображений емкости, содержащих частицы, которые варьируются по размеру, форме, текстуре, размытости изображения и т.д.). В некоторых вариантах осуществления определенная степень варьируемости (в дополнение к внешнему виду объекта) может быть желательной даже при обнаружении объекта. Например, модуль 116 нейронной сети AVI может обучать нейронную сеть обнаруживать частицы как в неподвижных, так и в динамических (например, раскручивающихся) условиях. Альтернативно модуль 116 нейронной сети AVI может обучать отдельные нейронные сети обнаружения объектов обрабатывать неподвижные и динамические условия.
Обнаружение объекта (сегментирование или иное) также может быть преимущественным из-за соединения между условиями потери, которые учитывают классификацию и местоположение. То есть модель оптимизируется путем балансировки постепенного улучшения точности классификации с постепенным улучшением положения и размера прогнозируемого объекта. Преимущество такого соединения заключается в том, что с большей вероятностью будет идентифицирован глобальный минимум для условий потери, и, таким образом, в целом будет меньше ошибок по сравнению с независимой минимизацией условий потери классификации и местоположения.
Как обсуждалось выше, сегментирование или другие методики обнаружения объектов также могут быть преимущественно использованы, чтобы помочь обрезать изображения емкости. Поскольку динамическая обрезка удаляет ненужные искажения изображения, можно обучаться на наборе образцов, который является бездефектным или немного отличается от того, что будет тестироваться во время прогона. Текущая практика обычно требует создания полных наборов дефектов для конкретного продукта, так что все комбинации положения поршня, формы мениска и воздушного зазора должны быть захвачены для каждого набора дефектов, что может быть чрезвычайно дорогостоящим и трудоемким как для создания, так и для технического обслуживания наборов дефектов. Методики обнаружения объектов могут значительно сократить такое использование ресурсов.
Модуль 116 нейронной сети AVI может использовать одну или несколько сверточных нейронных сетей (CNN), например, для обнаружения объекта. В некоторых вариантах осуществления нейронная сеть (нейронные сети) AVI включает (включают) только одну или несколько нейронных сетей, каждая из которых обучена обнаруживать не только объекты, вызывающие отклонения (например, волокна), но и объекты, которые можно легко спутать с дефектами, но которые не должны вызывать отклонения (например, пузырьки). С этой целью библиотека 140 изображений может хранить не только изображения, демонстрирующие определенный класс объектов (например, изображения с волокнами или в более общем смысле частицами в емкостях), но также изображения, демонстрирующие объект или классы признаков, которые имеют тенденцию вызывать ложноположительные результаты (например, изображения с пузырьками различных размеров в емкостях). В качестве другого примера, в некоторых вариантах осуществления, где модуль 116 нейронной сети AVI обучает нейронную сеть обнаруживать недостатки на поверхности емкости (например, потертости или пятна на цилиндре или корпусе), модуль
- 27 048383
116 также обучает нейронную сеть обнаруживать случаи отражений/бликов света от поверхности емкостей.
На фиг. 19A изображены примерные выходные данные 1900 нейронной сети AVI, которая обучена обнаруживать как пузырьки, так и отличные от пузырьков частицы (например, волокна), суспендированные в жидком содержимом емкости 1902. Как видно на фиг. 19A, нейронная сеть выводит ряд граничных рамок 1910 разных размеров, соответствующих обнаруженным объектам разных размеров. Число рядом с каждой граничной рамкой указывает, является ли обнаруженный объект пузырьком (2) или отличной от пузырька частицей (1), и степень достоверности равна или меньше 1,00. В этом примере только один обнаруженный объект 1912 (обведенный кружком для ясности) не является пузырьком (например, является волокном). Как видно из этого примера, важно, чтобы нейронная сеть была обучена постоянно и точно различать пузырьки разных размеров (которые могут быть обычными и избыточными), с одной стороны, и инородные частицы, которые могут стать причиной отклонения образца, с другой.
На фиг. 19B изображены примерные выходных данных 1920 нейронной сети AVI, которая обучена обнаруживать объекты путем выполнения сегментирования, для шести разных изображений емкости, маркированных a-f. Как видно на фиг. 19B, нейронная сеть указывает, что каждый из различных пикселей инородной частицы классифицируется как таковой. Чтобы помочь показать очень небольшие обнаруженные частицы на фиг. 19B, на каждом из шести изображений емкости размещены окружающие круги 1922. Попиксельное указание, выводимое моделью, обеспечивает простой механизм для обеспечения причинной взаимосвязи обнаружения дефекта. Например, наблюдатель может легко увидеть, что такой признак, как мениск, не вызвал обнаружение объекта.
На фиг. 19C изображена матрица 1940 неточностей, где сравниваются разные методики обнаружения дефектов, в частности в отношении характеристик для различных типов традиционно сложных дефектов (резиновая частица 300 мкм, волокна 500 мкм, деформированных ребер, черных меток, белых меток или камушка). В матрице 1940 неточностей классификация представляет результаты, полученные с помощью методики классификации изображений, сегментирование представляет результаты, полученные с помощью методики сегментирования, которая классифицирует отдельные пиксели, и обнаружение объектов представляет результаты, полученные с помощью методики обнаружения объектов, которая размещает граничную рамку/форму вокруг обнаруженного объекта. Причинная взаимосвязь показанных результатов была проверена путем визуального подтверждения того, что предсказанный класс и тепловая карта выделяли ту часть изображения, которая содержала дефект.
Как видно на фиг. 19C, результаты классификации показывают, что ложноположительные результаты являются почти такой же большой проблемой, как и ложноотрицательные результаты для классификации изображений. И, наоборот, сегментирование и обнаружение других объектов показывают значительное улучшение по сравнению с классификацией изображений в этих результатах по каждому протестированному типу дефектов. Несмотря на заметное улучшение причинных предсказаний по сравнению с классификацией, сегментирование не позволило получить максимальный результат для всех дефектов, особенно для волокна 500 мкм. В использованном наборе изображений волокна, прилипшие к мениску или плавающие в растворе, не были обнаружены методикой сегментирования.
Обнаружение объектов без сегментирования с использованием граничных рамок (в крайних правых столбцах) также показало значительное улучшение по сравнению с классификацией изображений. Даже дефекты волокон были корректно обнаружены в относительно большом проценте случаев. Для достижения результатов, показанных на фиг. 19C, модель обнаружения объекта была обучена обнаруживать три разных класса дефектов: (1) волокна в суспензии или на стенке шприца; (2) волокна, прилипшие к мениску; и (3) небольшие пузырьки. Когда при обнаружении объекта идентифицировалось волокно в суспензии или на стенке шприца или волокно на мениске, шприц классифицировался как дефектный. Когда при обнаружении объекта идентифицировался только пузырек или вообще ничего, шприц классифицировался как хороший или бездефектный. Этот многоклассовый подход позволил достичь наилучших результатов. Без этого маленькие пузырьки часто классифицировались как волокна, и волокна, прилипшие к мениску, пропускались.
Поскольку повторный контроль вышедших из строя/выброшенных емкостей (например, шприцев), как правило, должен быть особенно тщательным, эффективность процесса AVI сильно зависит от процентного значения ложноположительных результатов/ложного выбрасывания. Таким образом, классификация изображений потенциально может привести к низкой эффективности по сравнению с сегментированием или обнаружением других объектов. Однако другие методики, описанные в другом месте данного документа, могут помочь улучшить как процентное значение ложноположительных результатов, так и процентное значение ложноотрицательных результатов для классификации изображений.
На фиг. 20-23 изображены блок-схемы примерных способов, соответствующих некоторым из методик, описанных выше. На каждой из фиг. 20-23 емкость может относиться к шприцу, картриджу,
- 28 048383 флакону или любому другому типу емкости и может относиться к емкости, удерживающей содержимое (например, фармацевтическую текучую среду или лиофилизированный продукт), или пустую емкость.
На фиг. 20 изображен примерный способ 2000 сокращения использования ресурсов обработки при обучении нейронных сетей AVI выполнять AVI для соответственных категорий дефектов, где каждая категория дефектов связана с соответственным признаком емкостей или их содержимого. Способ 2000 может быть реализован одной или нескольких частями системы 100 (например, системой 102 визуального контроля и компьютерной системой 104) или другой подходящей системой. В качестве более конкретного примера, блок 2002 способа 2000 может быть реализован по меньшей мере частью системы 102 визуального контроля (и/или узлом 110 обработки при исполнении инструкций модуля 120 управления VIS), блок 2004 может быть реализован узлом 110 обработки при исполнении инструкций модуля 132 предварительной обработки изображений, и блок 2008 может быть реализован узлом 110 обработки при исполнении инструкций модуля 116 нейронной сети AVI.
В блоке 2002 способа 2000 получают множество изображений емкости. Блок 2002 может включать генерирование изображений емкости (например, системой 102 визуального контроля и модулем 120 управления VIS) и/или может включать прием изображений емкости из другого источника (например, модулем 120 управления VIS или модулем 132 предварительной обработки изображений с сервера, поддерживающего библиотеку 140 изображений), например.
В блоке 2004 множество наборов обучающих изображений генерируют путем обработки изображений емкости, полученных в блоке 2002, где каждый из наборов обучающих изображений соответствует разному одному из изображений емкости, полученных в блоке 2002. Блок 2004 включает для каждого набора обучающих изображений блок 2006, в котором генерируют разное обучающее изображение для каждой из категорий дефектов. Например, первым признаком и первой категорией дефектов могут быть (1) мениск внутри шприца, картриджа или флакона и (2) частицы в мениске или вблизи него соответственно. В качестве другого примера первым признаком и первой категорией дефектов могут быть (1) поршень шприца или плунжер картриджа и (2) дефект поршня или плунжера и/или наличие одной или нескольких частиц на поршне или плунжере соответственно. В качестве другого примера первым признаком и первой категорией дефектов могут быть (1) цилиндр шприца или картриджа и (2) наличие одной или нескольких частиц внутри цилиндра или корпуса соответственно. В качестве еще одного примера, первым признаком и первой категорией дефектов могут быть (1) колпачок иглы шприца или крышка картриджа или флакона и (2) отсутствие колпачка иглы или крышки соответственно. В качестве еще одного примера первым признаком и первой категорией дефектов могут быть (1) лиофилизированная масса внутри флакона и (2) треснувшая масса соответственно. Первый признак и первая категория дефектов могут быть любыми из признаков емкости и категорий дефектов, обсужденных выше в связи с фиг. 8 или фиг. 17, например.
Блок 2006 включает первый блок 2006a, в котором первый признак идентифицируют на изображении емкости, соответствующем рассматриваемому набору обучающих изображений, и второй блок 2006b, в котором первое обучающее изображение генерируют таким образом, что изображение охватывает только поднабор изображения емкости, но на нем изображен, по меньшей мере, первый признак. Блок 2006a может включать использование сопоставления с шаблоном или blob-анализа для идентификации первого признака, например. Блок 2006 (т.е. блоки 2006a и 2006b) могут повторять для каждого сгенерированного набора обучающих изображений. В некоторых вариантах осуществления каждый набор обучающих изображений содержит по меньшей мере одно изображение, подвергнутое понижающей дискретизации и/или охватывающее в полном объеме изображение емкости, которое соответствует этому набору изображений.
В блоке 2008 обучают множество нейронных сетей, используя наборы обучающих изображений, сгенерированные в блоке 2004, для (в совокупности) выполнения AVI для множества категорий дефектов. Блок 2008 может включать обучение каждой из нейронных сетей делать вывод о наличии или отсутствии дефектов в разной одной из категорий дефектов (например, с использованием разного обучающего изображения в каждом наборе обучающих изображений для обучения каждой из нейронных сетей).
На фиг. 21 представлена блок-схема примерного способа 2100 обучения нейронной сети AVI более точно обнаруживать дефекты путем расширения и обеспечения разнообразия библиотеки обучающих изображений. Способ 2100 может быть реализован одной или нескольких частями системы 100 (например, системой 102 визуального контроля и компьютерной системой 104) или другой подходящей системой. В качестве более конкретного примера, блок 2102 способа 2100 может быть реализован по меньшей мере частью системы 102 визуального контроля (и/или узлом 110 обработки при исполнении инструкций модуля 120 управления VIS), блок 2104 может быть реализован узлом 110 обработки при исполнении инструкций модуля 134 расширения библиотеки, и блок 2108 может быть реализован узлом 110 обработки при исполнении инструкций модуля 116 нейронной сети AVI.
В блоке 2102 получают множество изображений емкости. Блок 2102 может быть подобным, например, блоку 2102. В блоке 2104 для каждого полученного изображения емкости генерируют соответствующий набор новых изображений. Блок 2104 включает для каждого нового изображения
- 29 048383 набора блок 2106, в котором часть изображения емкости, на которой изображен конкретный признак, перемещают в другое новое положение. Признак может быть любым из признаков емкости, обсужденных выше в связи с фиг. 8 или фиг. 17, например. В качестве более конкретного примера, блок 2106 может включать сдвиг части изображения емкости вдоль оси по существу цилиндрической части емкости, изображенной на изображении емкости (например, для цифрового сдвига положения поршня или мениска). Блок 2104 может также включать в дополнение к блоку 2106 блок, в котором в отношении каждого нового изображения набора выполняют низкочастотную фильтрацию после перемещения части изображения емкости в новое положение.
В блоке 2108 нейронную сеть AVI обучают с использованием наборов новых изображений, сгенерированных в блоке 2104. Блок 2108 может включать обучение нейронной сети AVI делать вывод о наличии или отсутствии дефектов в конкретной категории дефектов или обучение нейронной сети AVI делать вывод о наличии или отсутствии дефектов во всех интересующих категориях дефектов. В некоторых вариантах осуществления блок 2108 включает обучение нейронной сети AVI с использованием не только наборов новых изображений, но и изображений емкости, первоначально полученных в блоке 2102.
На фиг. 22 представлена блок-схема еще одного примерного способа 2200 обучения нейронной сети AVI более точно обнаруживать дефекты путем расширения и обеспечения разнообразия библиотеки обучающих изображений. Способ 2200 может быть реализован одной или нескольких частями системы 100 (например, системой 102 визуального контроля и компьютерной системой 104) или другой подходящей системой. В качестве более конкретного примера, блок 2202 способа 2200 может быть реализован по меньшей мере частью системы 102 визуального контроля (и/или узлом 110 обработки при исполнении инструкций модуля 120 управления VIS), блоки 2204 и 2206 могут быть реализованы узлом 110 обработки при исполнении инструкций модуля 134 расширения библиотеки, модуля 116 нейронной сети AVI и/или другим программным модулем, хранящимся в узле 114 памяти, и блок 2208 может быть реализован узлом 110 обработки при исполнении инструкций нейронной сети 116 AVI.
В блоке 2202 способа 2200 получают множество изображений, на которых изображены реальные емкости. Блок 2202 может включать генерирование изображений емкости (например, системой 102 визуального контроля и модулем 120 управления VIS) и/или может включать прием изображений емкости из другого источника (например, модулем 120 управления VIS или модулем 132 предварительной обработки изображений с сервера, поддерживающего библиотеку 140 изображений), например.
В блоке 2204 глубокую генеративную модель обучают генерировать синтетические изображения емкости (т.е. изображения виртуальных созданных в цифровом виде емкостей и, возможно, содержимого этих емкостей). В некоторых вариантах осуществления глубокая генеративная модель представляет собой генеративно-состязательную сеть (GAN). Например, блок 2204 может включать применение в качестве входных данных в нейронную сеть дискриминатора изображений, на которых изображены реальные емкости (и соответствующие маркировки реальных изображений), а также синтетических изображений, сгенерированных нейронной сетью генератора (и соответствующими маркировками нереальных изображений). В одном варианте осуществления GAN представляет собой циклическую GAN. Альтернативно глубокая генеративная модель может быть вариационным автокодировщиком (VAE). Например, блок 2204 может включать кодирование каждого из изображений реальных емкостей в скрытое пространство.
В блоке 2206 синтетические изображения емкости генерируют с использованием глубокой генеративной модели. Блок 2206 может включать заполнение (например, случайное заполнение) соответственного местоположения частицы для каждого из синтетических изображений емкости. В некоторых вариантах осуществления, где глубокая генеративная модель представляет собой циклическую GAN, блок 2206 включает преобразование изображений реальных емкостей, которые не связаны с какими-либо дефектами, в изображения, которые действительно демонстрируют конкретный класс дефектов. В некоторых вариантах осуществления, где глубокой генеративной моделью является VAE, блок 2206 включает случайную дискретизацию скрытого пространства.
В блоке 2208 нейронную сеть AVI обучают с использованием синтетических изображений емкости. В некоторых вариантах осуществления блок 2208 включает обучение нейронной сети AVI с использованием не только синтетических изображений емкости, но и изображений емкости, первоначально полученных в блоке 2202.
На фиг. 23 представлена блок-схема примерного способа 2300 оценки надежности обученной нейронной сети AVI, выполняющей классификацию изображений. Способ 2300 может быть реализован одной или нескольких частями системы 100 (например, системой 102 визуального контроля и компьютерной системой 104) или другой подходящей системой. В качестве более конкретного примера блок 2302 способа 2300 может быть реализован по меньшей мере частью системы 102 визуального контроля (и/или узлом 110 обработки при исполнении инструкций модуля 120 управления VIS), блок 2304 может быть реализован узлом 110 обработки при исполнении инструкций модуля 116 нейронной
- 30 048383 сети AVI или модуля 136 оценки нейронной сети, и блоки 2306 и 2308 могут быть реализованы узлом 110 обработки при исполнении инструкций модуля 136 оценки нейронной сети.
В блоке 2302 получают изображение емкости. Блок 2302 может включать генерирование изображения емкости (например, системой 102 визуального контроля и модулем 120 управления VIS) и/или может включать прием изображения емкости из другого источника (например, модулем 120 управления VIS или модулем 132 предварительной обработки изображений с сервера, поддерживающего библиотеку 140 изображений), например.
В блоке 2304 генерируют или принимают тепловую карту изображения емкости. Тепловая карта указывает, какие части изображения емкости внесли наибольший вклад в вывод, сделанный обученной нейронной сетью AVI, где вывод представляет собой вывод о том, изображен ли на изображении емкости дефект. Например, тепловая карта может представлять собой двумерный массив степеней достоверности (или показателей, обратно связанных со степенями достоверности и т.д.), как обсуждалось выше в связи с фиг. 16A. В одном варианте осуществления блок 2304 включает генерирование тепловой карты окклюзии путем последовательных для каждой части изображения из множества разных частей изображения на изображении емкости (1) маскирования части изображения, (2) генерирования заменяющей части изображения для замаскированной части изображения путем повторной дискретизации на основе пикселей, окружающих замаскированную часть изображения, и (3) генерирования соответственной степени достоверности вывода путем применения изображения емкости с заменяющей частью изображения к обученной нейронной сети AVI. В таком варианте осуществления тепловая карта может содержать указания соответственных степеней достоверности вывода для множества разных частей изображения. В других вариантах осуществления блок 2304 включает генерирование тепловой карты с использованием градиентно-взвешенного отображения активации классов (grad-CAM).
В блоке 2306 тепловую карту анализируют, чтобы определить, сделала ли обученная нейронная сеть AVI вывод для изображения емкости по корректной причине. В вариантах осуществления, где нейронная сеть AVI была обучена делать вывод о наличии или отсутствии дефектов, связанных с конкретной зоной емкости, блок 2306 может включать генерирование первого показателя, указывающего уровень активности тепловой карты в участке тепловой карты, который соответствует этой конкретной зоне емкости, и сравнение первого показателя с пороговым значением для осуществления определения, например. В некоторых вариантах осуществления блок 2306 может дополнительно включать генерирование одного или нескольких других дополнительных показателей, указывающих уровни активности тепловой карты в одном или нескольких других участках тепловой карты, соответствующих одной или нескольким другим зонам емкости, и определение того, сделала ли нейронная сеть AVI вывод по корректной причине, на основе одного или нескольких дополнительных показателей, а также первого показателя.
В некоторых вариантах осуществления блок 2306 включает сравнение тепловой карты с опорной тепловой картой. Если нейронная сеть AVI сделала вывод, что на изображении емкости изображен дефект, например, блок 2306 может включать сравнение тепловой карты с тепловой картой изображения емкости, которое заведомо не демонстрирует дефектов, или с составной тепловой картой (например, как обсуждалось выше в связи с фиг. 18C). И наоборот, если нейронная сеть AVI сделала вывод, что на изображении емкости не изображен дефект, блок 2306 может включать сравнение тепловой карты с тепловой картой изображения емкости, которое заведомо демонстрирует дефект, или с составной тепловой картой (например, как обсуждалось выше в связи с фиг. 18D).
В блоке 2308 генерируют индикатор определения (т.е. того, сделала ли обученная нейронная сеть AVI вывод по корректной причине). Например, блок 2308 может включать генерирование графического индикатора для отображения пользователю (например, неверная основа или корректная основа). В качестве другого примера, блок 2308 может включать генерирование и передачу в другое приложение или вычислительную систему данных, которые используются (возможно, в сочетании с другой информацией) для указания пользователю, достаточно ли обучена нейронная сеть AVI.
На фиг. 24 представлена блок-схема примерного способа 2400 оценки надежности обученной нейронной сети AVI, выполняющей обнаружение объекта. Способ 2400 может быть реализован одной или нескольких частями системы 100 (например, системой 102 визуального контроля и компьютерной системой 104) или другой подходящей системой. В качестве более конкретного примера блок 2402 способа 2400 может быть реализован по меньшей мере частью системы 102 визуального контроля (и/или узлом 110 обработки при исполнении инструкций модуля 120 управления VIS), блок 2404 может быть реализован узлом 110 обработки при исполнении инструкций модуля 116 нейронной сети AVI или модуля 136 оценки нейронной сети, и блоки 2406 и 2408 могут быть реализованы узлом 110 обработки при исполнении инструкций модуля 136 оценки нейронной сети.
В блоке 2402 получают изображение емкости. Блок 2402 может включать генерирование изображения емкости (например, системой 102 визуального контроля и модулем 120 управления VIS) и/или может включать прием изображения емкости из другого источника (например, модулем 120 управления VIS или модулем 132 предварительной обработки изображений с сервера, поддерживающего
-
Claims (9)
- (1) первым признаком является мениск текучей среды внутри емкости и при этом первая категория дефектов представляет собой наличие одной или нескольких частиц в мениске или вблизи него;1. Способ обучения множества нейронных сетей выполнять автоматизированный визуальный контроль для множества соответственных категорий дефектов, соответствующих нейронной сети из упомянутого множества нейронных сетей, причем каждая из множества соответственных категорий дефектов связана с соответственным признаком емкостей или содержимого емкости, относящимся к тому, следует ли рассматривать емкость и/или её содержимое дефектной/дефектным, причем способ включает получение одним или несколькими процессорами множества изображений емкости;генерирование одним или несколькими процессорами, обрабатывающими множество изображений емкости, множества наборов обучающих изображений, каждый из которых соответствует разному одному из множества изображений емкости, при этом для каждого набора обучающих изображений генерирование набора обучающих изображений включает генерирование разного обучающего изображения для каждой из множества соответственных категорий дефектов, генерирование разного обучающего изображения для каждой из множества соответственных категорий дефектов включает генерирование первого обучающего изображения для первой категории дефектов, связанной с первым признаком, и генерирование первого обучающего изображения включает идентификацию первого признака на изображении емкости, которое соответствует набору обучающих изображений, и генерирование первого обучающего изображения таким образом, что первое обучающее изображение (i) охватывает только интересующий участок на изображении емкости, которое соответствует набору обучающих изображений, и (ii) на нем изображен идентифицированный первый признак; и обучение одним или несколькими процессорами и с использованием множества наборов обучаю- 32 048383 щих изображений множества нейронных сетей выполнять автоматизированный визуальный контроль для упомянутого множества категорий дефектов.
- (2) множество изображений емкости представляет собой множество изображений шприца и при этом имеет место любое из следующего:пер вым признаком является поршень шприца и первая категория дефектов представляет собой одно или оба из (i) дефекта поршня или (ii) наличия одной или нескольких частиц на поршне шприца;пер вым признаком является цилиндр шприца и первая категория дефектов представляет собой одно или оба из (i) дефекта цилиндра или (ii) наличия одной или нескольких частиц внутри цилиндра шприца;первым признаком является колпачок иглы шприца и первая категория дефектов представляет собой одно или оба из (i) отсутствия колпачка иглы шприца или (ii) смещения колпачка иглы шприца или пер вым признаком является фланец шприца и первая категория дефектов представляет собой одно или оба из (i) деформированного фланца или (ii) дефекта на фланце шприца;2. Способ по п.1, отличающийся тем, что обучение множества нейронных сетей включает обучение каждой из множества нейронных сетей делать вывод о наличии или отсутствии дефектов в разной одной из множества соответственных категорий дефектов.
- (3) множество изображений емкости представляет собой множество изображений картриджа и при этом имеет место любое из следующего:первым признаком является плунжер картриджа, и первая категория дефектов представляет собой одно или оба из (i) дефекта плунжера или (ii) наличия одной или нескольких частиц на плунжере картриджа;первым признаком является цилиндр картриджа и первая категория дефектов представляет собой одно или оба из (i) дефекта цилиндра или (ii) наличия одной или нескольких частиц внутри цилиндра картриджа; или первым признаком является фланец картриджа и первая категория дефектов представляет собой одно или оба из (i) деформированного фланца или (ii) дефекта на фланце картриджа; или (4) множество изображений емкости представляет собой множество изображений флакона и при этом имеет место любое из следующего:пер вым признаком является корпус флакона и первая категория дефектов представляет собой одно или оба из (i) дефекта корпуса или (ii) наличия одной или нескольких частиц внутри корпуса флакона;первым признаком является буртик флакона и первая категория дефектов представляет собой дефектный буртик; или первым признаком является лиофилизированная масса и первая категория дефектов представляет собой трещину или другой дефект лиофилизированной массы.3. Способ по п.2, отличающийся тем, что обучение каждой из множества нейронных сетей включает для каждого из множества наборов обучающих изображений использование разного обучающего изображения для обучения разной одной из множества нейронных сетей.
- 4. Способ по любому из пп.1-3, отличающийся тем, что идентификация первого признака включает (i) идентификацию первого признака с использованием сопоставления с шаблоном или (ii) идентификацию первого признака с использованием blob-анализа.
- 5. Способ по любому из пп.1-4, отличающийся тем, что:
- 6. Способ по любому из пп.1-5, отличающийся тем, что генерирование разного обучающего изображения для каждой из множества соответственных категорий дефектов дополнительно включает генерирование второго обучающего изображения для второй категории дефектов, связанной со вторым признаком; и генерирование второго обучающего изображения включает генерирование второго обучающего изображения таким образом, что на втором обучающем изображении изображен второй признак.
- 7. Способ по п.6, отличающийся тем, что генерирование второго изображения включает генерирование второго изображения путем понижающей дискретизации по меньшей мере части изображения емкости, которое соответствует набору обучающих изображений, до более низкого разрешения.
- 8. Способ по п.6, отличающийся тем, что генерирование второго обучающего изображения включает идентификацию второго признака на изображении емкости, которое соответствует набору обучающих изображений.
- 9. Способ по любому из пп.1-8, отличающийся тем, что генерирование множества наборов обучающих изображений, каждый из которых соответствует разному одному из множества изображений емкости, включает в себя цифровое выравнивание, по меньшей мере, некоторых из множества изображений емкости, по меньшей мере, частично путем повторной дискретизации, по меньшей мере, некоторых из множества изображений емкости; и цифровое выравнивание по меньшей мере некоторых из множества изображений емкости включает в себя:(i) обнаружение края в пределах одного или нескольких из множества краев емкости и-
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US63/020,232 | 2020-05-05 | ||
| US63/120,505 | 2020-12-02 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EA048383B1 true EA048383B1 (ru) | 2024-11-26 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20230196096A1 (en) | Deep Learning Platforms for Automated Visual Inspection | |
| AU2021392638B2 (en) | Image augmentation techniques for automated visual inspection | |
| CN112912964B (zh) | 利用卷积神经网络对冻干药物产品的缺陷检测 | |
| CN111709948B (zh) | 容器瑕疵检测方法和装置 | |
| KR20240014575A (ko) | 안과용 렌즈들의 이미지들의 획득 및 검사 | |
| EP3977047B1 (en) | 3d particle imaging in pharmaceutical containers | |
| US20250130176A1 (en) | Visual Inspection Systems for Containers of Liquid Pharmaceutical Products | |
| JP2022509201A (ja) | クローン選択を容易にするためのシステム及び方法 | |
| CN117197550A (zh) | 基于图像立方体与深度学习的vr镜片缺陷检测方法及系统 | |
| Herve et al. | Automated particle inspection of continuously freeze-dried products using computer vision | |
| EA048383B1 (ru) | Платформы глубокого обучения для автоматизированного визуального контроля | |
| CN118864437A (zh) | 一种饮料包装缺陷的视觉检测方法、设备及介质 | |
| CN115272310B (zh) | 工件的缺陷检测方法及装置 | |
| WO2025240656A1 (en) | Automated visual inspection image processing using gradient imaging techniques | |
| TW202611875A (zh) | 使用梯度成像技術的自動視覺檢查圖像處理 | |
| Yaseen | YOLO network for defect detection in optical lenses | |
| CN118647861A (zh) | 用于液体药品容器的视觉检查系统 | |
| JP2026510261A (ja) | 自動外観検査のための固定位置撮像システム | |
| EP4388304A1 (en) | System and method for inspecting an object | |
| JP2022116695A (ja) | 画像処理方法及び画像処理装置 | |
| EA043190B1 (ru) | Системы и способы способствования клональной селекции | |
| CN121810620A (zh) | 一种基于多模板融合的芯片异常缺陷识别方法和存储介质 |