RU2819619C2 - Systems and methods of training generative-adversarial networks, as well as use of trained generative-adversarial networks - Google Patents
Systems and methods of training generative-adversarial networks, as well as use of trained generative-adversarial networks Download PDFInfo
- Publication number
- RU2819619C2 RU2819619C2 RU2020141335A RU2020141335A RU2819619C2 RU 2819619 C2 RU2819619 C2 RU 2819619C2 RU 2020141335 A RU2020141335 A RU 2020141335A RU 2020141335 A RU2020141335 A RU 2020141335A RU 2819619 C2 RU2819619 C2 RU 2819619C2
- Authority
- RU
- Russia
- Prior art keywords
- images
- network
- interest
- feature
- anomaly
- Prior art date
Links
- 238000012549 training Methods 0.000 title claims abstract description 49
- 238000000034 method Methods 0.000 title claims description 64
- 238000001514 detection method Methods 0.000 claims abstract description 148
- 238000009434 installation Methods 0.000 claims abstract 2
- 230000003902 lesion Effects 0.000 claims description 42
- 238000013528 artificial neural network Methods 0.000 claims description 35
- 230000008447 perception Effects 0.000 claims description 28
- 230000005856 abnormality Effects 0.000 claims description 22
- 238000001839 endoscopy Methods 0.000 claims description 19
- 238000003384 imaging method Methods 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 14
- 238000013527 convolutional neural network Methods 0.000 claims description 11
- 208000037062 Polyps Diseases 0.000 claims description 9
- 238000012360 testing method Methods 0.000 claims description 9
- 210000000056 organ Anatomy 0.000 claims description 8
- 238000002052 colonoscopy Methods 0.000 claims description 7
- 230000002496 gastric effect Effects 0.000 claims description 6
- 238000002575 gastroscopy Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 230000015572 biosynthetic process Effects 0.000 claims description 3
- 210000001035 gastrointestinal tract Anatomy 0.000 claims description 3
- 230000005055 memory storage Effects 0.000 claims description 2
- 210000002438 upper gastrointestinal tract Anatomy 0.000 claims 1
- 239000000126 substance Substances 0.000 abstract 1
- 230000006870 function Effects 0.000 description 39
- 230000004913 activation Effects 0.000 description 16
- 238000012546 transfer Methods 0.000 description 14
- 210000001519 tissue Anatomy 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 210000004027 cell Anatomy 0.000 description 8
- 238000010191 image analysis Methods 0.000 description 7
- 230000035945 sensitivity Effects 0.000 description 7
- 239000013598 vector Substances 0.000 description 7
- 206010028980 Neoplasm Diseases 0.000 description 6
- 230000008901 benefit Effects 0.000 description 6
- 230000007423 decrease Effects 0.000 description 5
- 238000002059 diagnostic imaging Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000009826 neoplastic cell growth Effects 0.000 description 5
- 206010058314 Dysplasia Diseases 0.000 description 4
- 230000001788 irregular Effects 0.000 description 4
- 230000003211 malignant effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 206010048832 Colon adenoma Diseases 0.000 description 3
- 238000002591 computed tomography Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 208000003200 Adenoma Diseases 0.000 description 2
- 206010001233 Adenoma benign Diseases 0.000 description 2
- 201000009030 Carcinoma Diseases 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 210000003238 esophagus Anatomy 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 208000017819 hyperplastic polyp Diseases 0.000 description 2
- 201000004933 in situ carcinoma Diseases 0.000 description 2
- 238000002595 magnetic resonance imaging Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 208000009458 Carcinoma in Situ Diseases 0.000 description 1
- 208000034656 Contusions Diseases 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 210000000601 blood cell Anatomy 0.000 description 1
- 208000034526 bruise Diseases 0.000 description 1
- 239000002775 capsule Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000994 depressogenic effect Effects 0.000 description 1
- 230000003328 fibroblastic effect Effects 0.000 description 1
- 238000005755 formation reaction Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 208000024312 invasive carcinoma Diseases 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 210000004877 mucosa Anatomy 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000008467 tissue growth Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Abstract
Description
ОБЛАСТЬ ТЕХНИКИTECHNICAL FIELD
[01] Настоящее изобретение в целом относится к области нейронных сетей и использованию таких сетей для анализа изображений и обнаружения объектов. Более конкретно и без ограничения это изобретение относится к компьютерным системам и способам обучения генеративно-состязательных сетей и их использования. Описанные в данном документе системы и способы, а также обученные нейронные сети могут использоваться в различных приложениях и системах технического зрения, таких как анализ медицинских изображений и системах, которые извлекают выгоду из возможностей точного обнаружения объектов.[01] The present invention generally relates to the field of neural networks and the use of such networks for image analysis and object detection. More specifically and without limitation, this invention relates to computer systems and methods for training and using generative adversarial networks. The systems and methods described herein, as well as trained neural networks, can be used in a variety of vision applications and systems, such as medical image analysis and systems that benefit from accurate object detection capabilities.
УРОВЕНЬ ТЕХНИКИBACKGROUND OF THE ART
[02] Во многих системах обнаружения объектов объект обнаруживается на изображении. Объектом интереса может быть человек, место или вещь. В некоторых приложениях, таких как анализ и диагностика медицинских изображений, также важно местоположение объекта. Однако компьютерные системы, использующие классификаторы изображений, обычно не могут идентифицировать или предоставить местоположение обнаруженного объекта. Соответственно, существующие системы, которые используют только классификаторы изображений, не очень полезны.[02] In many object detection systems, an object is detected in an image. The object of interest can be a person, place or thing. In some applications, such as medical image analysis and diagnostics, object location is also important. However, computer systems using image classifiers typically cannot identify or provide the location of a detected object. Accordingly, existing systems that only use image classifiers are not very useful.
[03] Кроме того, способы обучения для обнаружения объектов могут полагаться на обучающие наборы, аннотированные вручную. Такие аннотации занимают много времени, когда обучаемая сеть обнаружения основана на ограничивающем прямоугольнике, например, архитектура You Only Look Once (YOLO), архитектура Single Shot Detector (SSD) и т.п. Соответственно, большие наборы данных трудно аннотировать для обучения, что часто приводит к тому, что нейронная сеть обучается на меньшем наборе данных, а это снижает точность.[03] Additionally, learning methods for object detection can rely on manually annotated training sets. Such annotations take a long time when the detection network being trained is based on bounding box, such as You Only Look Once (YOLO) architecture, Single Shot Detector (SSD) architecture, etc. Accordingly, large datasets are difficult to annotate for training, which often results in the neural network being trained on a smaller dataset, which reduces accuracy.
[04] Для компьютерных систем существующие медицинские изображения обычно строятся на основе одной сети детекторов. Соответственно, как только обнаружение выполнено, сеть просто передает данные об обнаружении, например, врачу или другому специалисту в области здравоохранения. Однако такое обнаружение может быть ложноположительным, например, отсутствие полипов при эндоскопии и т.п. Такие системы не обеспечивают отдельной сети для различения ложноположительных срабатываний от истинно положительных срабатываний.[04] For computer systems, existing medical images are typically built on a single network of detectors. Accordingly, once detection is completed, the network simply transmits the detection data to, for example, a physician or other healthcare professional. However, such a detection may be false positive, for example, the absence of polyps during endoscopy, etc. Such systems do not provide a separate network for distinguishing false positives from true positives.
[05] Кроме того, детекторы объектов на основе нейронных сетей обычно передают функции, идентифицированные нейронной сетью, в детектор, который может содержать вторую нейронную сеть. Однако такие сети часто неточны, потому что обнаружение признаков выполняется обобщенной сетью, при этом специализированной является только часть детектора.[05] In addition, neural network-based object detectors typically pass features identified by the neural network to the detector, which may contain a second neural network. However, such networks are often inaccurate because feature detection is performed by a generalized network, with only part of the detector being specialized.
[06] Наконец, многие существующие детекторы объектов работают с задержкой. Например, медицинские изображения могут быть захвачены и сохранены перед анализом. Однако некоторые медицинские процедуры, такие как эндоскопия, осуществляются в режиме реального времени. Следовательно, эти системы обычно трудно применять в режиме реального времени.[06] Finally, many existing object detectors operate with a delay. For example, medical images can be captured and stored before analysis. However, some medical procedures, such as endoscopy, are performed in real time. Consequently, these systems are usually difficult to apply in real time.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯDISCLOSURE OF INVENTION
[07] Ввиду вышеизложенного, варианты воплощения настоящего изобретения предоставляют реализованные на компьютере системы и способы для обучения генеративно-состязательной сети и их использования для таких приложений, как анализ медицинских изображений. Системы и способы настоящего изобретения обеспечивают преимущества по сравнению с существующими системами и методами, включая улучшенное обнаружение объекта и информацию о местоположении.[07] In view of the above, embodiments of the present invention provide computer-implemented systems and methods for training a generative adversarial network and using them for applications such as medical image analysis. The systems and methods of the present invention provide advantages over existing systems and methods, including improved object detection and location information.
[08] В соответствии с некоторыми вариантами воплощения предоставляется компьютерная система, содержащая сеть обнаружения объектов, которая идентифицирует интересующие особенности (т.е. аномалии или объекты, представляющие интерес), а также их местоположения, и состязательная сеть, которая отличает истинно положительные срабатывания от ложноположительные срабатываний. Более того, варианты воплощения настоящего изобретения предоставляют двухконтурную технику для обучения сети обнаружения объектов. В этом процессе обучения используются аннотации, основанные на просмотре обнаружения, поэтому ручное аннотирование может выполняться намного быстрее и, следовательно, с большим набором данных. Более того, этот процесс можно использовать для обучения генеративно-состязательной сети, чтобы отличать ложноположительные срабатывания от истинно положительных срабатываний.[08] According to some embodiments, a computer system is provided comprising an object detection network that identifies features of interest (i.e., anomalies or objects of interest) as well as their locations, and an adversarial network that distinguishes true positives from false positives. Moreover, embodiments of the present invention provide a two-loop technique for training an object detection network. This training process uses detection view-based annotations, so manual annotation can be done much faster and therefore with a larger dataset. Moreover, this process can be used to train a generative adversarial network to distinguish false positives from true positives.
[09] Кроме того, предложены раскрытые системы, которые объединяют сеть обнаружения объектов с генеративно-состязательной сетью. Комбинируя такие сети, можно отличать ложноположительные срабатывания от истинно положительных срабатываний, тем самым обеспечивая более точные результаты. Уменьшая количество ложных срабатываний, врач или другой медицинский работник может уделять повышенное внимание выходным данным сети, чему способствует существенно повышенная точность.[09] In addition, disclosed systems are proposed that combine an object detection network with a generative adversarial network. By combining such networks, it is possible to distinguish false positives from true positives, thereby providing more accurate results. By reducing the number of false positives, a physician or other healthcare professional can pay increased attention to the network output, resulting in significantly increased accuracy.
[010] Кроме того, варианты воплощения настоящего изобретения включают в себя нейронные сети, которые не используют идентификацию общих признаков одной нейронной сетью в сочетании со специализированным детектором. Скорее, единая бесшовная нейронная сеть обучается для части детектора объектов, что приводит к большей специализации, а также к повышенной точности и эффективности.[010] Additionally, embodiments of the present invention include neural networks that do not use common feature identification by a single neural network in combination with a dedicated detector. Rather, a single, seamless neural network is trained for the object detector portion, resulting in greater specialization as well as increased accuracy and efficiency.
[011] Наконец, варианты воплощения настоящего изобретения выполнены с возможностью отображения видео в реальном времени (например, видео эндоскопии или других медицинских изображений) вместе с обнаружениями объектов на одном дисплее. Соответственно, варианты воплощения настоящего изобретения обеспечивают обход видео для минимизации потенциальных проблем из-за ошибок и других недостатков, связанных с детектором объекта. Более того, обнаруженные объекты могут отображаться особым образом, чтобы больше привлечь внимание врача или другого медицинского работника. [011] Finally, embodiments of the present invention are configured to display real-time video (eg, endoscopy video or other medical images) along with object detections on a single display. Accordingly, embodiments of the present invention provide video bypass to minimize potential problems due to errors and other deficiencies associated with the object detector. Moreover, detected objects can be displayed in a special way to better attract the attention of a doctor or other healthcare professional.
[012] В одном из вариантов воплощения, система для обучения генеративно-состязательной сети с использованием изображений, содержащих представления интересующей особенности, может содержать по меньшей мере один блок памяти, выполненный с возможностью хранения инструкций, и по меньшей мере один процессор, выполненный с возможностью вызова инструкций, предназначенных для выполнения операций. Операции могут включать: предоставление первого множества изображений, содержащего представления интересующего объекта, индикаторы местоположения интересующей особенности в изображениях первого множества изображений, и использование первого множества изображений, а также индикаторов интересующей особенности, обучение сети обнаружения объектов идентификации интересующей особенности. Операции могут дополнительно включать: предоставление второго множества изображений, которое содержит представления интересующей особенности, и задействование обученной сети обнаружения объектов ко второму множеству изображений для создания первого множества обнаружений интересующей особенности. Второе множество изображений может содержать большее количество изображений, чем то, которое содержится в первом множестве изображений. Операции могут дополнительно включать: обеспечение установленных вручную проверок истинно положительных срабатываний и ложноположительных срабатываний по отношению к первому множеству обнаружений; использование проверок истинно положительных срабатываний и ложноположительных срабатываний по отношению к первому множеству обнаружений, обучение генеративно-состязательной сети; и переобучение генеративно-состязательной сети, используя по меньшей мере один дополнительный набор изображений и обнаружений интересующей особенности, вместе с дополнительными вручную установленными проверками истинно положительных и ложноположительных срабатываний относительно дальнейших обнаружений интересующей особенности.[012] In one embodiment, a system for training a generative adversarial network using images containing representations of a feature of interest may comprise at least one memory unit configured to store instructions and at least one processor configured to calling instructions intended to perform operations. Operations may include: providing a first set of images containing representations of an object of interest, indicators of the location of the feature of interest in the images of the first set of images, and using the first set of images, as well as indicators of the feature of interest, training an object detection network to identify the feature of interest. The operations may further include: providing a second set of images that contains representations of the feature of interest, and applying a trained object detection network to the second set of images to generate a first set of detections of the feature of interest. The second set of images may contain more images than those contained in the first set of images. The operations may further include: providing manual checks for true positives and false positives against the first set of detections; using true positive and false positive tests against the first set of detections, training a generative adversarial network; and retraining the generative adversarial network using at least one additional set of images and detections of the feature of interest, together with additional manually set true positive and false positive tests against further detections of the feature of interest.
[013] В некоторых вариантах воплощения, по меньшей мере один процессор может быть дополнительно выполнен с возможностью переобучения генеративно-состязательной сети путем обеспечения проверки ложноотрицательных результатов для пропущенных обнаружений интересующей особенности в двух или более изображениях.[013] In some embodiments, the at least one processor may be further configured to retrain the generative adversarial network by providing false negative checking for missed detections of a feature of interest in two or more images.
[014] В любом из вариантов воплощения, сеть обнаружения объектов может быть сверточной нейронной сетью.[014] In any embodiment, the object detection network may be a convolutional neural network.
[015] В любом из вариантов воплощения, количество изображений во втором множестве изображений может быть по меньшей мере в 100 раз больше, чем количество изображений, содержащихся в первом множестве изображений.[015] In any embodiment, the number of images in the second set of images may be at least 100 times greater than the number of images contained in the first set of images.
[016] В любом из вариантов воплощения, первое множество изображений и второе множество изображений могут содержать медицинские изображения. Например, медицинские изображения могут содержать изображения органов желудочно-кишечного тракта.[016] In any embodiment, the first set of images and the second set of images may comprise medical images. For example, medical images may contain images of the gastrointestinal tract.
[017] В любом из вариантов воплощения, по меньшей мере одно из первого множества изображений и второго множества изображений содержит изображения, полученные с эндоскопического устройства. Дополнительно или альтернативно по меньшей мере одно из первого множества изображений и второго множества изображений могут содержать изображения, полученные с устройства формирования изображений, используемого во время выполнения по меньшей мере одной из следующих процедур: гастроскопия, колоноскопия, энтероскопия или эндоскопия верхних отделов пищеварительного тракта, такая как эндоскопия пищевода.[017] In any of the embodiments, at least one of the first set of images and the second set of images comprises images obtained from the endoscopic device. Additionally or alternatively, at least one of the first set of images and the second set of images may comprise images obtained from an imaging device used during at least one of the following procedures: gastroscopy, colonoscopy, enteroscopy, or upper gastrointestinal endoscopy, such like endoscopy of the esophagus.
[018] В любом из вариантов воплощения, интересующей особенностью может быть аномалия. Например, аномалия может представлять собой изменение в человеческой ткани, когда один тип клеток превращается в другой тип клеток. Дополнительно или альтернативно, аномалия может представлять собой отсутствие человеческой ткани в том месте, где она предполагается. Дополнительно или альтернативно, аномалия может представлять собой образование в ткани человека или за пределами ткани человека.[018] In any of the embodiments, the feature of interest may be an anomaly. For example, an abnormality may represent a change in human tissue where one type of cell changes into another type of cell. Additionally or alternatively, the anomaly may represent the absence of human tissue at the site where it is suspected. Additionally or alternatively, the abnormality may be an entity within or outside of human tissue.
[019] В любом из вариантов воплощения, аномалия может представлять собой участок поражения. В частности, поражение может представлять собой полиповидное поражение или неполиповидное поражение.[019] In any embodiment, the abnormality may be a lesion site. Specifically, the lesion may be a polypoid lesion or a non-polypoid lesion.
[020] В одном варианте воплощения, способ обучения системы обнаружения аномалий в изображениях человеческого органа, созданной на основе нейронной сети, может включать сохраненное в базе данных множество видео, в том числе представления аномалий; выборка первого поднабора из множества видео; и задействование ветви восприятия сети обнаружения объектов к кадрам первого поднабора множества видео, чтобы сгенерировать первое множество обнаруженных аномалий. Способ может дополнительно включать выборку второго поднабора из множества видео; и использование первого множества обнаружений и кадров из второго поднабора множества видео, обучая генеративную сеть генерировать множество искусственных представлений аномалий. Множество искусственных представлений может быть создано посредством остаточного обучения. Способ может дополнительно включать обучение состязательной ветви дискриминаторной сети различению искусственных представлений аномалий и истинных представлений аномалий; задействование состязательной ветви дискриминаторной сети к множеству искусственных представлений для создания индикаторов различия между искусственными представлениями аномалий и истинными представлениями аномалий, содержащихся в кадрах второго подмножества множества видео; задействование ветви восприятия дискриминаторной сети к искусственным представлениям для получения второго множества обнаружений аномалий; и переобучение ветви восприятия на основе индикаторов различия и второго множества обнаружений. Эти шаги могут выполняться по меньшей мере одним процессором.[020] In one embodiment, a method for training a neural network-based human organ image anomaly detection system may include a plurality of videos stored in a database, including representations of the anomalies; sampling the first subset from the plurality of videos; and applying a perception branch of the object detection network to frames of a first subset of the plurality of videos to generate a first plurality of detected anomalies. The method may further include selecting a second subset of the plurality of videos; and using the first set of detections and frames from a second subset of the plurality of videos, training the generative network to generate a plurality of artificial anomaly representations. Many artificial representations can be created through residual learning. The method may further include training an adversarial branch of the discriminator network to distinguish between artificial anomaly representations and true anomaly representations; applying an adversarial branch of the discriminator network to the plurality of artificial representations to create indicators of difference between the artificial representations of anomalies and the true representations of anomalies contained in frames of a second subset of the plurality of videos; applying the perception branch of the discriminator network to the artificial representations to obtain a second set of anomaly detections; and retraining the perception branch based on the difference indicators and the second set of detections. These steps may be performed by at least one processor.
[021] В некоторых вариантах воплощения, аномалия может представлять собой изменение в человеческой ткани от одного типа клетки к другому типу клеток. Дополнительно или альтернативно аномалия может представлять собой отсутствие человеческой ткани в том месте, где она предполагается. Дополнительно или альтернативно аномалия может представлять собой образование в области человеческой ткани или вне ее.[021] In some embodiments, the abnormality may be a change in human tissue from one cell type to another cell type. Additionally or alternatively, the anomaly may be the absence of human tissue at the site where it is suspected. Additionally or alternatively, the abnormality may be a mass within or outside of human tissue.
[022] В любом из вариантов воплощения, аномалия может представлять собой участок поражения. Например, поражение может представлять собой полиповидное поражение или неполиповидное поражение.[022] In any of the embodiments, the abnormality may be a lesion site. For example, the lesion may be a polypoid lesion or a non-polypoid lesion.
[023] В любом из вариантов воплощения, каждое искусственное представление может обеспечивать ложное представление аномалии, которое очень похоже на истинное представление аномалии.[023] In any embodiment, each artificial representation may provide a false representation of the anomaly that is very similar to the true representation of the anomaly.
[024] В любом из вариантов воплощения, сеть генератора может содержать генеративно-состязательную сеть.[024] In any embodiment, the generator network may comprise a generative adversarial network.
[025] В любом из вариантов воплощения, дискриминаторная сеть может содержать сверточную нейронную сеть.[025] In any embodiment, the discriminator network may comprise a convolutional neural network.
[026] В одном варианте воплощения, система для обнаружения интересующей особенности в изображениях человеческого органа может содержать по меньшей мере одну инструкцию хранения в памяти и по меньшей мере один процессор, выполненный с возможностью вызова инструкций, предназначенных для выполнения операций. Операции могут включать: выборку кадров из видео человеческого органа; задействование, обученной системы нейронной сети, к кадрам для выполнения по меньшей мере одного обнаружения интересующей особенности; генерирование индикатора местоположения по меньшей мере одного обнаружения на одном из кадров; перекодирование кадров в видео; и вывод перекодированного видео с индикатором. Система нейронной сети может быть обучена согласно любому из вариантов воплощения, изложенных в этом документе.[026] In one embodiment, a system for detecting a feature of interest in images of a human organ may comprise at least one memory storage instruction and at least one processor configured to invoke instructions for performing operations. Operations may include: sampling frames from a video of a human organ; applying the trained neural network system to the frames to perform at least one detection of a feature of interest; generating a location indicator of at least one detection on one of the frames; transcoding frames into video; and output of recoded video with indicator. The neural network system may be trained according to any of the embodiments set forth herein.
[027] Дополнительные цели и преимущества настоящего изобретения будут изложены частично в нижеследующем подробном описании и частично будут очевидны из описания или могут быть изучены при практическом использовании настоящего изобретения. Цели и преимущества настоящего изобретения будут реализованы и достигнуты посредством элементов и комбинаций, конкретно указанных в прилагаемой формуле изобретения.[027] Additional objects and advantages of the present invention will be set forth in part in the detailed description that follows, and in part will be apparent from the description or may be learned by practice of the present invention. The objects and advantages of the present invention will be realized and achieved by the elements and combinations specifically set forth in the appended claims.
[028] Следует понимать, что приведенное выше общее описание и последующее подробное описание являются только примерными и пояснительными и не ограничивают предлагаемые варианты воплощения.[028] It should be understood that the above general description and the following detailed description are exemplary and explanatory only and are not limiting of the proposed embodiments.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS
[029] Прилагаемые чертежи, которые составляют часть этого описания, иллюстрируют несколько вариантов воплощения и вместе с описанием служат для объяснения принципов и особенностей предлагаемых вариантов воплощения. На чертежах:[029] The accompanying drawings, which form a part of this specification, illustrate several embodiments and, together with the description, serve to explain the principles and features of the proposed embodiments. On the drawings:
[030] На Фиг. 1 проиллюстрировано схематическое представление приведенной в качестве примера реализованной на компьютере системы наложения обнаруженных объектов на видеопоток согласно вариантам воплощения настоящего изобретения.[030] In FIG. 1 illustrates a schematic diagram of an exemplary computer-implemented system for overlaying detected objects on a video stream in accordance with embodiments of the present invention.
[031] На Фиг. 2 проиллюстрирован приводимый в качестве примера двухфазный обучающий цикл для сети обнаружения объектов согласно вариантам воплощения настоящего изобретения.[031] In FIG. 2 illustrates an exemplary two-phase training loop for an object detection network according to embodiments of the present invention.
[032] На Фиг. 3 проиллюстрирована блок-схема приводимого в качестве примера способа обучения сети обнаружения объектов согласно вариантам воплощения настоящего изобретения.[032] In FIG. 3 illustrates a flowchart of an exemplary method for training an object detection network according to embodiments of the present invention.
[033] На Фиг. 4 проиллюстрировано схематическое представление приводимого в качестве примера детектора объекта с дискриминаторной сетью и генеративной сетью согласно вариантам воплощения настоящего изобретения.[033] In FIG. 4 illustrates a schematic diagram of an exemplary object detector with a discriminator network and a generative network according to embodiments of the present invention.
[034] На Фиг. 5 проиллюстрирована блок-схема приводимого в качестве примера способа обнаружения интересующей особенности с использованием сети дискриминатора и сети генератора, согласно вариантам воплощения настоящего изобретения.[034] In FIG. 5 illustrates a flow diagram of an exemplary method for detecting a feature of interest using a discriminator network and a generator network, according to embodiments of the present invention.
[035] На Фиг. 6 проиллюстрировано схематическое представление реализованной на компьютере системы, использующей сеть обнаружения объектов, согласно вариантам воплощения настоящего изобретения.[035] In FIG. 6 illustrates a schematic diagram of a computer-implemented system using an object detection network according to embodiments of the present invention.
[036] На Фиг. 7 проиллюстрирована блок-схема приводимого в качестве примера способа наложения индикаторов объектов на видеопоток с использованием сети обнаружения объектов согласно вариантам воплощения настоящего изобретения.[036] In FIG. 7 illustrates a flowchart of an exemplary method for overlaying object indicators on a video stream using an object detection network according to embodiments of the present invention.
[037] На Фиг. 8A проиллюстрирован пример отображения с наложением для обнаружения объекта в видео согласно вариантам воплощения настоящего изобретения.[037] In FIG. 8A illustrates an example of an overlay display for object detection in a video according to embodiments of the present invention.
[038] На Фиг. 8B проиллюстрирован еще один пример отображения с наложением для обнаружения объекта в видео согласно вариантам воплощения настоящего изобретения.[038] In FIG. 8B illustrates another example of an overlay display for object detection in a video according to embodiments of the present invention.
[039] На Фиг. 8C проиллюстрирован пример отображения с наложением для обнаружения объекта в видео согласно вариантам воплощения настоящего изобретения.[039] In FIG. 8C illustrates an example of an overlay display for object detection in a video according to embodiments of the present invention.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯDETAILED DESCRIPTION OF THE INVENTION
[040] Раскрытые варианты воплощения относятся к компьютерно-реализуемым системам и способам для обучения генеративных состязательных сетей и их использования. Преимущественно приводимые в качестве примера варианты воплощения могут обеспечивать улучшенные обученные сети и быстрое и эффективное обнаружение объектов. Варианты воплощения настоящего изобретения также могут обеспечить улучшенное обнаружение объекта для анализа медицинских изображений с уменьшенным количеством ложных срабатываний.[040] The disclosed embodiments relate to computer-implementable systems and methods for training and using generative adversarial networks. Advantageously, exemplary embodiments can provide improved trained networks and fast and efficient object detection. Embodiments of the present invention may also provide improved object detection for medical image analysis with a reduced number of false positives.
[041] Варианты воплощения настоящего изобретения могут быть реализованы и использованы в различных приложениях и системах технического зрения. Например, варианты воплощения настоящего изобретения могут быть реализованы для систем анализа медицинских изображений и других типов систем, которые извлекают выгоду из обнаружения объекта, причем объекты могут быть истинно положительными или ложноположительными. Хотя варианты воплощения настоящего изобретения описаны в данном документе в целом со ссылкой на анализ медицинских изображений и эндоскопию, следует понимать, что варианты воплощения могут применяться к другим процедурам получения медицинских изображений, таким как гастроскопия, колоноскопия, энтероскопия и эндоскопия верхних отделов пищеварительного тракта, например эндоскопия пищевода. Кроме того, варианты воплощения настоящего изобретения не ограничиваются другими средами и системами видения, такими как системы лазерных дальномеров, наблюдения, автопилотирования и другие системы визуализации или содержащие их системы.[041] Embodiments of the present invention can be implemented and used in a variety of vision applications and systems. For example, embodiments of the present invention may be implemented for medical image analysis systems and other types of systems that benefit from object detection, where the objects may be true positives or false positives. Although embodiments of the present invention are described herein generally with reference to medical image analysis and endoscopy, it should be understood that embodiments may be applied to other medical imaging procedures such as gastroscopy, colonoscopy, enteroscopy and upper gastrointestinal endoscopy, for example endoscopy of the esophagus. Moreover, embodiments of the present invention are not limited to other vision environments and systems, such as laser rangefinder, surveillance, autopilot, and other imaging systems or systems containing them.
[042] Согласно одному из аспектов настоящего изобретения, реализованная на компьютере система предоставляется для обучения генеративно-состязательной сети с использованием изображений, содержащих представления интересующего объекта. Система может содержать по меньшей мере один блок памяти, выполненный с возможностью хранения инструкций, и по меньшей мере один процессор, выполненный с возможностью вызова инструкций (как проиллюстрировано, например на Фиг. 1 и 6). По меньшей мере один процессор может предоставлять первое множество изображений. Например, по меньшей мере один процессор может извлекать первое множество изображений из одной или более баз данных. Дополнительно или альтернативно, первое множество изображений может содержать множество кадров, извлеченных из одного или более видео.[042] According to one aspect of the present invention, a computer-implemented system is provided for training a generative adversarial network using images containing representations of an object of interest. The system may include at least one memory unit configured to store instructions and at least one processor configured to recall instructions (as illustrated, for example, in FIGS. 1 and 6). The at least one processor may provide the first plurality of images. For example, the at least one processor may retrieve the first plurality of images from one or more databases. Additionally or alternatively, the first plurality of images may comprise a plurality of frames extracted from one or more videos.
[043] В контексте данного документа, термин «изображение» относится к любому цифровому представлению сцены или поля зрения. Цифровое представление может быть закодировано в любом подходящем формате, таком как формат, разработанный Объединенной экспертной группой по фотографии (JPEG), формат обмена графической информацией (GIF), формат растрового изображения, формат масштабируемой векторной графики (SVG), формат инкапсулированного PostScript (EPS) и т.п. Точно так же термин «видео» относится к любому цифровому представлению сцены или интересующей области, состоящему из множества последовательно расположенных изображений. Цифровое представление может быть закодировано в любом подходящем формате, таком как формат группы экспертов по движущимся изображениям (MPEG), формат флэш-видео, формат аудио-видео с чередованием (AVI) и т.п. В некоторых вариантах воплощения последовательность изображений может быть скомбинирована со звуком.[043] As used herein, the term "image" refers to any digital representation of a scene or field of view. The digital representation may be encoded in any suitable format, such as Joint Photographic Experts Group (JPEG), Graphics Interchange Format (GIF), bitmap format, Scalable Vector Graphics (SVG) format, Encapsulated PostScript (EPS) format. and so on. Similarly, the term "video" refers to any digital representation of a scene or region of interest consisting of many sequential images. The digital representation may be encoded in any suitable format, such as Moving Picture Experts Group (MPEG) format, Flash video format, Audio Video Interleaved (AVI) format, and the like. In some embodiments, the sequence of images may be combined with sound.
[044] Первое множество изображений может содержать представления интересующей особенности (то есть аномалии или интересующего объекта) и индикаторы местоположений интересующей особенности в изображениях первого множества изображений. Например, интересующая особенность может представлять собой аномалию человеческой ткани или за пределами ткани. В некоторых вариантах воплощения интересующая особенность может содержать объект, такой как транспортное средство, человека или другой объект.[044] The first set of images may include representations of a feature of interest (ie, an anomaly or object of interest) and indicators of locations of the feature of interest in images of the first set of images. For example, the feature of interest may be an abnormality in human tissue or outside of tissue. In some embodiments, the feature of interest may comprise an object, such as a vehicle, person, or other object.
[045] В соответствии с настоящим изобретением, «аномалия» может включать образования, сформированные в области человеческой ткани или вне ее, изменение в человеческой ткани одного типа клетки на другой и/или отсутствие человеческой ткани в том месте, где она ожидается. Например, опухоль или рост другой ткани может содержать аномалию, поскольку присутствует больше клеток, чем ожидалось. Точно так же синяк или другое изменение типа клеток может содержать аномалию, поскольку клетки крови присутствуют там, где их быть не должно (то есть вне капилляров). Точно так же впадина в человеческой ткани может представлять собой аномалию, поскольку в этом случае клетки отсутствуют в ожидаемом месте, что приводит к появлению впадины.[045] In accordance with the present invention, an "abnormality" may include formations formed in or outside the human tissue, a change in the human tissue from one cell type to another, and/or the absence of human tissue where it is expected. For example, a tumor or other tissue growth may contain an abnormality because more cells are present than expected. Likewise, a bruise or other change in cell type may contain an abnormality because blood cells are present where they should not be (that is, outside the capillaries). Similarly, a depression in human tissue may represent an anomaly because in this case the cells are missing from the expected location, resulting in the appearance of a depression.
[046] В некоторых вариантах воплощения, аномалия может представлять собой участок поражение. Поражения могут представлять собой поражения слизистой оболочки желудочно-кишечного тракта. Поражения могут быть классифицированы гистологически (например, согласно Венской классификации), морфологически (например, согласно Парижской классификации) и/или классифицированы структурно (например, как зубчатые или не зубчатые). Парижская классификация описывает полиповидные и неполиповидные поражения. Полиповидные поражения могут быть выступающими, выступающими на ножке или сидячими поражениями. Неполиповидные поражения могут представлять собой поверхностные приподнятые, плоские, поверхностные, неглубоко вдавленные или углубленные поражения.[046] In some embodiments, the abnormality may be a lesion. The lesions may represent lesions of the gastrointestinal mucosa. Lesions may be classified histologically (eg, Vienna classification), morphologically (eg, Paris classification), and/or classified structurally (eg, serrated or non-serrated). The Paris classification describes polypoid and non-polypoid lesions. Polypoid lesions may be raised, pedunculated, or sessile lesions. Nonpolypoid lesions may present as superficial raised, flat, superficial, shallowly depressed, or indented lesions.
[047] Что касается обнаруженных аномалий, зубчатые поражения могут представлять собой сидячие зубчатые аденомы (SSA); традиционные зубчатые аденомы (TSA); гиперпластические полипы (ГП); фибробластические полипы (ФП); или смешанные полипы (МП). В соответствии с Венской классификацией аномалии делятся на пять следующих категорий: (категория 1) - отрицательные на неоплазию/дисплазию; (категория 2) бессрочные в плане неоплазии/дисплазии; (категория 3) неинвазивная неоплазия низкой степени злокачественности (аденома/дисплазия низкой степени); (категория 4) неоплазия слизистой оболочки высокой степени, такая как аденома/дисплазия высокой степени, неинвазивная карцинома (карцинома in-situ) или подозрение на инвазивную карциному; и (категория 5) инвазивная неоплазия, внутрислизистая карцинома, подслизистая карцинома и т.п.[047] Regarding the abnormalities found, serrated lesions may be sessile serrated adenomas (SSAs); traditional serrated adenomas (TSA); hyperplastic polyps (HP); fibroblastic polyps (FP); or mixed polyps (MP). In accordance with the Vienna classification, anomalies are divided into the following five categories: (category 1) - negative for neoplasia/dysplasia; (category 2) indefinite in terms of neoplasia/dysplasia; (category 3) low-grade noninvasive neoplasia (low-grade adenoma/dysplasia); (category 4) high-grade mucosal neoplasia, such as high-grade adenoma/dysplasia, noninvasive carcinoma (carcinoma in situ), or suspected invasive carcinoma; and (category 5) invasive neoplasia, intramucosal carcinoma, submucosal carcinoma, etc.
[048] Индикаторы местоположения аномалии или интересующей особенности могут содержать точки (например, координаты) или области (например, прямоугольник, квадрат, овал или любую другую правильную или неправильную форму). Индикаторы могут содержать ручные аннотации на или к изображениям. В некоторых вариантах воплощения, первое множество изображений может содержать медицинские изображения, такие как изображения желудочно-кишечного тракта или другого органа или области ткани человека. Изображения могут быть созданы с помощью медицинского устройства визуализации, такого как те, которые используются во время эндоскопии, гастроскопии, колоноскопии, энтероскопии или процедуры эндоскопии верхних отделов пищеварительного тракта, такой как процедура эндоскопии пищевода. В таких вариантах воплощения, если интересующей особенностью является поражение или другая аномалия, врач или другой медицинский работник может аннотировать изображения, чтобы разместить на изображениях индикаторы аномалии.[048] The location indicators of an anomaly or feature of interest may comprise points (eg, coordinates) or areas (eg, rectangle, square, oval, or any other regular or irregular shape). Indicators can contain manual annotations on or to images. In some embodiments, the first set of images may comprise medical images, such as images of the gastrointestinal tract or other organ or area of human tissue. The images may be created by a medical imaging device such as those used during an endoscopy, gastroscopy, colonoscopy, enteroscopy, or an upper gastrointestinal endoscopy procedure such as an esophageal endoscopy procedure. In such embodiments, if the feature of interest is a lesion or other abnormality, a physician or other healthcare professional may annotate the images to place indicators of the abnormality on the images.
[049] Процессор(ы) системы может использовать первое множество изображений и индикаторов интересующей особенности для обучения сети обнаружения объектов детектированию интересующей особенности. Например, сеть обнаружения объектов может содержать нейронную сеть с одним или более слоями, выполненную с возможностью приема изображения в качестве входных данных и для вывода индикатора местоположения интересующего объекта. В некоторых вариантах воплощения, сеть обнаружения объектов может содержать сверточную сеть.[049] The system processor(s) may use the first plurality of images and indicators of the feature of interest to train an object detection network to detect the feature of interest. For example, an object detection network may comprise a neural network with one or more layers configured to receive an image as input and to output an indicator of the location of an object of interest. In some embodiments, the object detection network may comprise a convolutional network.
[050] Обучение сети обнаружения объектов может предусматривать настройку весов одного или более узлов сети и/или настройку функций активации (или передачи) одного или более узлов сети. Например, веса сети обнаружения объектов могут быть скорректированы для минимизации функции потерь, связанной с сетью. В некоторых вариантах воплощения, функция потерь может содержать квадратную функцию потерь, кусочно-линейную функцию потерь, функцию логистических потерь, функцию кросс-энтропийных потерь или любую другую подходящую функцию потерь или комбинацию функций потерь. В некоторых вариантах воплощения, функции активации (или передачи) сети обнаружения объектов могут быть изменены, чтобы улучшить соответствие между одной или более моделями узла(ов) и входом в узел (узлы). Например, процессор(ы) может увеличивать или уменьшать мощность полиномиальной функции, связанной с узлом(ами), может изменять ассоциированную функцию с одного типа на другой (например, с полинома на экспоненциальную функцию, с логарифмической функции полинома или тому подобное) или выполнить любую другую настройку модели(ей) узла(ов).[050] Training an object detection network may include adjusting the weights of one or more network nodes and/or adjusting the activation (or transmission) functions of one or more network nodes. For example, the weights of an object detection network can be adjusted to minimize the loss function associated with the network. In some embodiments, the loss function may comprise a quadratic loss function, a piecewise linear loss function, a logistic loss function, a cross-entropy loss function, or any other suitable loss function or combination of loss functions. In some embodiments, the activation (or transmission) functions of the object detection network may be modified to improve the correspondence between one or more node(s) models and the input to the node(s). For example, the processor(s) may increase or decrease the power of the polynomial function associated with the node(s), may change the associated function from one type to another (for example, from a polynomial to an exponential function, from a logarithmic polynomial function, or the like), or perform any different configuration of the node(s) model(s).
[051] Процессор(ы) системы может дополнительно предоставить второе множество изображений, которое содержит представления интересующей особенности. Например, процессор(ы) может извлекать первое множество изображений из одной или более баз данных, будь то одна и та же база данных, которая хранила первое множество изображений, или одна или более разных баз данных. Дополнительно или альтернативно, второе множество изображений может содержать множество кадров, извлеченных из одного или более видео, независимо от того, использовалось ли одно и то же видео для извлечения первого множества изображений или одного или более разных видео.[051] The system processor(s) may further provide a second set of images that contains representations of the feature of interest. For example, the processor(s) may retrieve the first set of images from one or more databases, whether the same database that stored the first set of images or one or more different databases. Additionally or alternatively, the second set of images may comprise a plurality of frames extracted from one or more videos, regardless of whether the same video was used to extract the first set of images or one or more different videos.
[052] В некоторых вариантах воплощения, второе множество изображений может содержать медицинские изображения, такие как изображения с эндоскопического устройства. В таких вариантах воплощения, интересующая особенность может представлять собой поражение или другую аномалию.[052] In some embodiments, the second set of images may comprise medical images, such as images from an endoscopic device. In such embodiments, the feature of interest may be a lesion or other abnormality.
[053] В некоторых вариантах воплощения, второе множество изображений может содержать большее количество изображений, чем то, которое находится в первом множестве изображений. Например, второе множество изображений может содержать по меньшей мере в сто раз больше изображений, чем первое множество изображений. В некоторых вариантах воплощения, второе множество изображений может содержать первое множество, по меньшей мере частично, или может быть изображениями, отличными от первого множества. В вариантах воплощения, где второе множество изображений извлекается, по меньшей мере частично, из одного или более видеороликов, из которых была извлечена по меньшей мере часть первого множества изображений, второе множество изображений может содержать кадры, отличные от первого множества из такого же видео.[053] In some embodiments, the second set of images may contain a greater number of images than those found in the first set of images. For example, the second set of images may contain at least one hundred times more images than the first set of images. In some embodiments, the second set of images may contain the first set, at least in part, or may be images different from the first set. In embodiments where the second set of images is extracted, at least in part, from one or more videos from which at least a portion of the first set of images was extracted, the second set of images may comprise frames different from the first set from the same video.
[054] Процессор(ы) системы может задействовать сеть обнаружения обученных объектов ко второму множеству изображений, чтобы произвести первое множество обнаружений интересующей особенности. Например, в вариантах воплощения, когда сеть обнаружения обученных объектов содержит нейронную сеть, по меньшей мере один процессор может добавлять второе множество изображений в сеть и принимать результаты обнаружения. Обнаружения могут содержать индикаторы местоположения интересующего объекта во втором множестве изображений. Если второе множество изображений не содержит интересующую особенность, индикатор может содержать нулевой индикатор или другой индикатор отсутствия интересующей особенности.[054] The system processor(s) may apply the trained object detection network to the second set of images to produce a first set of detections of the feature of interest. For example, in embodiments where the trained object detection network comprises a neural network, the at least one processor may add a second set of images to the network and receive detection results. The detections may include indicators of the location of an object of interest in the second set of images. If the second set of images does not contain the feature of interest, the indicator may include a null indicator or other indicator of the absence of the feature of interest.
[055] Процессор(ы) системы может дополнительно обеспечивать вручную установленные проверки истинно положительных и ложноположительных срабатываний в отношении первого множества обнаружений. Например, подтверждения могут быть извлечены из одной или более баз данных или получены в качестве входных данных. В вариантах воплощения, когда интересующая особенность представляет собой поражение или другую аномалию, подтверждения может вводить врач или другой медицинский работник. Например, процессор(ы) может выводить результаты обнаружения для отображения врачу или другому специалисту в области здравоохранения и принимать подтверждения в ответ на отображаемые обнаружения.[055] The system processor(s) may further provide manually set true positive and false positive checks against the first set of detections. For example, confirmations may be retrieved from one or more databases or received as input. In embodiments, when the feature of interest is a lesion or other abnormality, confirmation may be entered by a physician or other health care professional. For example, the processor(s) may output detection results for display to a physician or other healthcare professional and receive acknowledgments in response to the displayed detections.
[056] Процессор(ы) системы может использовать проверки истинно положительных и ложноположительных срабатываний по отношению к первому множеству обнаружений для обучения генеративно-состязательной сети. Например, порождающая ветвь сети может быть обучена генерированию искусственных представлений интересующей особенности. Соответственно, генеративная ветвь может содержать сверточную нейронную сеть.[056] The system processor(s) may use true positive and false positive tests against the first set of detections to train the generative adversarial network. For example, the generative branch of the network can be trained to generate artificial representations of a feature of interest. Accordingly, the generative branch may contain a convolutional neural network.
[057] Подобно сети обнаружения объектов, обучение генеративной ветви может предусматривать настройку весов одного или более узлов сети и/или настройку функций активации (или передачи) одного или более узлов сети. Например, как рассмотрено в этом документе, веса порождающей ветви можно регулировать, чтобы минимизировать функцию потерь, связанную с сетью. Дополнительно или альтернативно, функции активации (или передачи) генеративной ветви могут быть изменены, чтобы улучшить соответствие между одной или более моделями узла(ов) и входом в узел(ы).[057] Similar to an object detection network, training a generative branch may involve adjusting the weights of one or more network nodes and/or adjusting the activation (or transfer) functions of one or more network nodes. For example, as discussed in this document, the weights of the parent branch can be adjusted to minimize the loss function associated with the network. Additionally or alternatively, the activation (or transfer) functions of the generative branch can be modified to improve the correspondence between one or more models of the node(s) and the input to the node(s).
[058] Более того, состязательная ветвь сети может быть обучена отличать ложноположительные срабатывания от истинно положительных с помощью проверок, выполняемых вручную. Например, состязательная ветвь может содержать нейронную сеть, принимающую изображение и одно или более соответствующих обнаружений, используемых в качестве входных данных, а в качестве выходных данных будет выполняться проверка. В некоторых вариантах воплощения, процессор(ы) может дополнительно переобучать генеративную сеть, обеспечивая проверки ложноотрицательных результатов для пропущенных обнаружений интересующей особенности в двух или более изображениях. Предоставляя искусственные представления из порождающей ветви в качестве входных данных для состязательной ветви и рекурсивно используя выходные данные из состязательной ветви, состязательная ветвь и порождающая ветвь могут выполнять неконтролируемое обучение.[058] Moreover, the adversarial branch of the network can be trained to distinguish false positives from true positives using manual checks. For example, the adversarial branch may contain a neural network that takes an image and one or more corresponding detections as input, and will perform verification as output. In some embodiments, the processor(s) may further retrain the generative network by providing false negative checks for missed detections of a feature of interest in two or more images. By providing artificial representations from the parent branch as input to the adversarial branch and recursively using the outputs from the adversarial branch, the adversarial branch and the parent branch can perform unsupervised learning.
[059] Подобно генеративной ветви, обучение состязательной ветви может предусматривать настройку весов одного или более узлов сети и/или настройку функций активации (или передачи) одного или более узлов сети. Например, как рассмотрено в данном документе, веса состязательной ветви могут быть скорректированы, чтобы минимизировать функцию потерь, связанную с сетью. Дополнительно или альтернативно, функции активации (или передачи) состязательной ветви могут быть изменены, чтобы улучшить соответствие между одной или более моделями узла(ов) и входом в узел(ы).[059] Similar to the generative branch, training the adversarial branch may involve adjusting the weights of one or more network nodes and/or adjusting the activation (or transfer) functions of one or more network nodes. For example, as discussed herein, the weights of the adversarial branch can be adjusted to minimize the loss function associated with the network. Additionally or alternatively, the activation (or transfer) functions of the adversarial branch can be modified to improve the correspondence between one or more models of the node(s) and the input to the node(s).
[060] Соответственно, в вариантах воплощения, где интересующая особенность включает поражение или другую аномалию, генеративная ветвь может быть обучена генерировать представления не-аномалий, которые выглядят аналогичными аномалиям, а состязательная ветвь может быть обучена отличать искусственные не-аномалии от аномалий во втором множестве изображений.[060] Accordingly, in embodiments where the feature of interest includes a lesion or other anomaly, the generative branch can be trained to generate representations of non-anomalies that appear similar to the anomalies, and the adversarial branch can be trained to distinguish artificial non-anomalies from anomalies in the second set images.
[061] Процессор(ы) системы может повторно обучать генеративно-состязательную сеть, используя по меньшей мере один дополнительный набор изображений и обнаружений интересующей особенности, вместе с дополнительными вручную установленными проверками истинно положительных и ложноположительных срабатываний в отношении дополнительных обнаружений интересующей особенности. Например, процессор(ы) может извлекать дополнительный набор изображений из одной или более баз данных, будь то одна и та же база данных, которая хранит первое множество изображений и/или второе множество изображений, или одну или более других баз данных. Дополнительно или альтернативно, дополнительный набор изображений может содержать множество кадров, извлеченных из одного или более видео, независимо от того, использовалось ли одно и то же видео для извлечения первого множества изображений и/или второго множества изображений, или одного или более других видео. Подобно обучению, повторное обучение состязательной ветви может включать дополнительные корректировки весов одного или более узлов сети и/или дополнительные корректировки функций активации (или передачи) одного или более узлов сети.[061] The system processor(s) may retrain the generative adversarial network using at least one additional set of images and detections of the feature of interest, along with additional manually set true positive and false positive checks on the additional detections of the feature of interest. For example, the processor(s) may retrieve an additional set of images from one or more databases, whether the same database that stores the first set of images and/or the second set of images, or one or more other databases. Additionally or alternatively, the additional set of images may comprise a plurality of frames extracted from one or more videos, regardless of whether the same video was used to extract the first set of images and/or the second set of images, or one or more other videos. Similar to training, retraining an adversarial branch may involve additional adjustments to the weights of one or more network nodes and/or additional adjustments to the activation (or transfer) functions of one or more network nodes.
[062] В соответствии с другим аспектом настоящего изобретения, предоставляется компьютерно-реализуемый способ для обучения нейросетевой системы обнаружению аномалий в изображениях человеческого органа. Способ может быть реализован по меньшей мере одним процессором (см., например, процессор 607, проиллюстрированный на Фиг. 6).[062] In accordance with another aspect of the present invention, a computer-implemented method is provided for training a neural network system to detect anomalies in images of a human organ. The method may be implemented by at least one processor (see, for example, processor 607 illustrated in FIG. 6).
[063] Согласно приведенному в качестве примера способу, процессор(ы) может хранить в базе данных множество видео, включая представления аномалий. Например, видео могут представлять собой видео эндоскопии. Видео могут быть закодированы в одном или более форматах, таких как формат Группы экспертов по движущимся изображениям (MPEG), формат флэш-видео, формат аудио-видео с чередованием (AVI) и т.п.[063] According to the exemplary method, the processor(s) may store a plurality of videos, including anomaly views, in a database. For example, the videos may be endoscopy videos. The videos may be encoded in one or more formats, such as the Moving Picture Experts Group (MPEG) format, Flash video format, Audio Video Interleaved (AVI) format, and the like.
[064] Способ может дополнительно включать выборку с помощью процессора(ов) первого подмножества множества видео. Например, процессор(ы) может случайным образом осуществлять выборку первого подмножества. Альтернативно, процессор(ы) может использовать один или более индексов базы данных для выборки первого подмножества. Например, процессор(ы) может осуществить выборку первого подмножества в качестве видео, проиндексированного как содержащее представления аномалий.[064] The method may further include sampling, by the processor(s), a first subset of the plurality of videos. For example, the processor(s) may randomly sample the first subset. Alternatively, the processor(s) may use one or more database indexes to fetch the first subset. For example, the processor(s) may sample the first subset as a video indexed as containing anomaly representations.
[065] Способ может дополнительно включать задействование, вместе с процессором (ами), ветви восприятия сети обнаружения объектов, к кадрам первого поднабора множества видео, чтобы произвести первое множество обнаружений аномалий. Например, сеть обнаружения объектов может содержать нейронную сеть, обученную принимать изображения в качестве входных данных и выводить первое множество обнаружений. Первое множество обнаружений может содержать индикаторы местоположений аномалий в кадрах, таких как точка или область обнаруженной аномалии. Отсутствие аномалии может привести к появлению нулевого индикатора или другого индикатора отсутствия аномалии. Ветвь восприятия может содержать нейронную сеть (например, сверточную нейронную сеть), выполненную с возможностью обнаружения аномалий и выходных индикаторов местоположений любых обнаруженных аномалий.[065] The method may further include engaging, in conjunction with the processor(s), a perception branch of the object detection network to frames of a first subset of the plurality of videos to produce a first plurality of anomaly detections. For example, an object detection network may comprise a neural network trained to take images as input and output a first set of detections. The first detection set may include indicators of locations of anomalies in the frames, such as a point or area of the detected anomaly. The absence of an anomaly may result in a null indicator or other indicator of the absence of an anomaly. The perception branch may comprise a neural network (eg, a convolutional neural network) configured to detect anomalies and output indicators of the locations of any detected anomalies.
[066] Способ может дополнительно включать выборку с помощью процессора(ов) второго поднабора из множества видео. В некоторых вариантах воплощения, второе подмножество может содержать, по меньшей мере частично, первое подмножество или может представлять собой видео, отличающиеся от первого подмножества.[066] The method may further include sampling, by the processor(s), a second subset of the plurality of videos. In some embodiments, the second subset may comprise, at least in part, the first subset or may be videos different from the first subset.
[067] Способ может дополнительно включать использование первого множества обнаружений и кадров из второго подмножества множества видео для обучения сети генератора генерированию множества искусственных представлений аномалий. Например, генераторная сеть может содержать нейронную сеть, выполненную с возможностью создания искусственных представлений. В некоторых вариантах воплощения, генераторная сеть может содержать сверточную нейронную сеть. Множество искусственных представлений может быть создано посредством остаточного обучения.[067] The method may further include using the first set of detections and frames from a second subset of the plurality of videos to train the generator network to generate a plurality of artificial anomaly representations. For example, the generator network may comprise a neural network configured to create artificial representations. In some embodiments, the generator network may comprise a convolutional neural network. Many artificial representations can be created through residual learning.
[068] Как упоминалось выше, обучение генеративной сети может включать в себя настройку весов одного или более узлов сети и/или настройку функций активации (или передачи) одного или более узлов сети. Например, как упоминалось выше, веса генеративной сети могут быть скорректированы для минимизации функции потерь, связанной с сетью. Дополнительно или альтернативно, функции активации (или передачи) генеративной сети могут быть изменены, чтобы улучшить соответствие между одной или более моделями узла(ов) и входом в узел(ы).[068] As mentioned above, training a generative network may include adjusting the weights of one or more network nodes and/or adjusting the activation (or transfer) functions of one or more network nodes. For example, as mentioned above, the weights of the generative network can be adjusted to minimize the loss function associated with the network. Additionally or alternatively, the activation (or transfer) functions of the generative network can be modified to improve the correspondence between one or more models of the node(s) and the input to the node(s).
[069] Способ может дополнительно включать обучение с помощью процессора(ов) состязательной ветви сети дискриминатора, чтобы отличать искусственные представления аномалий и истинные представления аномалий. Например, состязательная ветвь может содержать нейронную сеть, которая принимает представления в качестве входных данных и выводит индикаторы того, является ли входное представление искусственным или истинным. В некоторых вариантах воплощения, нейронная сеть может содержать сверточную нейронную сеть.[069] The method may further include training, by the processor(s), an adversarial leg of the discriminator network to distinguish between artificial anomaly representations and true anomaly representations. For example, the adversarial branch may contain a neural network that takes representations as input and outputs indicators of whether the input representation is artificial or true. In some embodiments, the neural network may comprise a convolutional neural network.
[070] Подобно генеративной ветви, обучение состязательной ветви сети дискриминатора может включать в себя настройку весов одного или более узлов сети и/или настройку функций активации (или передачи) одного или более узлов сети. Например, как упоминалось выше, веса состязательной ветви сети дискриминатора могут быть скорректированы для минимизации функции потерь, связанной с сетью. Дополнительно или альтернативно, функции активации (или передачи) состязательной ветви сети дискриминатора могут быть изменены для улучшения соответствия между одной или более моделями узла(ов) и входом в узел(узлы).[070] Similar to the generative branch, training the adversarial branch of the discriminator network may include adjusting the weights of one or more network nodes and/or adjusting the activation (or transfer) functions of one or more network nodes. For example, as mentioned above, the weights of the adversarial branch of the discriminator network can be adjusted to minimize the loss function associated with the network. Additionally or alternatively, the activation (or transfer) functions of the adversarial leg of the discriminator network can be modified to improve the correspondence between one or more node(s) models and the input to the node(s).
[071] Способ может дополнительно включать задействование, вместе с процессором(ами), состязательной ветви сети дискриминатора, к множеству искусственных представлений для создания индикаторов различия между искусственными представлениями аномалий и истинными представлениями аномалий, содержащихся в кадрах второго подмножества множества видео. Например, искусственные представления могут содержать представления не-аномальных состояний, которые выглядят подобными аномалиям. Соответственно, каждое искусственное представление может обеспечивать ложное представление аномалии, которое очень похоже на истинное представление аномалии. Состязательная ветвь может научиться определять различия между не-аномалиями (ложными представлениями) и аномалиями (истинными представлениями), особенно между не-аномалиями, которые похожи на аномалии.[071] The method may further include applying, in conjunction with the processor(s), an adversarial branch of the discriminator network to the plurality of artificial representations to create indicators of the difference between the artificial anomaly representations and the true anomaly representations contained in frames of a second subset of the plurality of videos. For example, artificial representations may contain representations of non-anomalous states that appear similar to the anomalies. Accordingly, each artificial representation can provide a false representation of the anomaly that is very similar to the true representation of the anomaly. The adversarial branch can learn to distinguish between non-anomalies (false beliefs) and anomalies (true beliefs), especially between non-anomalies that are similar to anomalies.
[072] Способ может дополнительно включать задействование, вместе с процессором(ами), ветви восприятия дискриминаторной сети, к искусственным представлениям, чтобы произвести второе множество обнаружений аномалий. Подобно первому множеству обнаружений, второе множество обнаружений может содержать индикаторы местоположений аномалий в искусственных представлениях, таких как точка или область обнаруженной аномалии. Отсутствие аномалии может привести к появлению нулевого индикатора или другого индикатора отсутствия аномалии.[072] The method may further include applying, in conjunction with the processor(s), the perception branch of the discriminator network to the artificial representations to produce a second set of anomaly detections. Similar to the first detection set, the second detection set may contain indicators of anomaly locations in artificial representations, such as a point or area of the detected anomaly. The absence of an anomaly may result in a null indicator or other indicator of the absence of an anomaly.
[073] Способ может дополнительно включать повторное обучение ветви восприятия на основе индикаторов различия и второго множества обнаружений. Например, повторное обучение ветви восприятия может включать настройку весов одного или более узлов сети и/или настройку функций активации (или передачи) одного или более узлов сети. Например, как упоминалось выше, веса ветви восприятия могут быть отрегулированы для минимизации функции потерь, связанной с сетью. Дополнительно или альтернативно, функции активации (или передачи) ветви восприятия могут быть изменены, чтобы улучшить соответствие между одной или более моделями узла(ов), индикаторами разности и вторым множеством обнаружений.[073] The method may further include retraining the perception branch based on the difference indicators and the second set of detections. For example, retraining a perceptual branch may include adjusting the weights of one or more network nodes and/or adjusting the activation (or transfer) functions of one or more network nodes. For example, as mentioned above, the weights of the perception branch can be adjusted to minimize the loss function associated with the network. Additionally or alternatively, the activation (or transfer) functions of the perception branch can be modified to improve the correspondence between one or more node(s) models, difference indicators, and the second set of detections.
[074] Пример способа обучения, рассмотренного в этом документе, может создавать обученную систему нейронной сети. Обученная нейронная сетевая система может составлять часть системы, используемой для обнаружения интересующей особенности в изображениях человеческого органа (например, нейросетевая система может быть реализована как часть устройства наложения 105, проиллюстрированного на Фиг. 1). Например, такая система может содержать по меньшей мере единственный блок памяти, выполненный с возможностью хранения инструкций, и по меньшей мере один процессор, выполненный с возможностью выполнения инструкций. По меньшей мере один процессор может осуществлять выборку кадров из видео человеческого органа. В частности, видео может представлять собой видео эндоскопии.[074] An example of a learning method discussed in this document may create a trained neural network system. The trained neural network system may be part of a system used to detect a feature of interest in images of a human organ (eg, the neural network system may be implemented as part of the overlay device 105 illustrated in FIG. 1). For example, such a system may include at least a single memory unit configured to store instructions and at least one processor configured to execute the instructions. The at least one processor may sample frames from the video of the human organ. In particular, the video may be an endoscopy video.
[075] Процессор(ы) системы может задействовать обученную систему нейронной сети к кадрам, чтобы выполнить по меньшей мере одно обнаружение интересующей особенности. В некоторых вариантах воплощения, интересующая особенность может быть аномалией. По меньшей мере одно обнаружение может включать в себя индикатор местоположения интересующей особенности. Например, местоположение может содержать точку или область, включающую обнаруженный интересующий объект. Система нейронной сети может быть обучена обнаружению аномалий, как упомянуто выше.[075] The system processor(s) may apply a trained neural network system to the frames to make at least one detection of a feature of interest. In some embodiments, the feature of interest may be an anomaly. The at least one detection may include an indicator of the location of a feature of interest. For example, the location may contain a point or area that includes a detected object of interest. A neural network system can be trained to detect anomalies as mentioned above.
[076] В некоторых вариантах воплощения, процессор(ы) системы может дополнительно применять один или более дополнительных классификаторов и/или нейронных сетей к обнаруженной интересующей особенности. Например, если интересующая особенность включает поражение, по меньшей мере один процессор может классифицировать поражение в соответствии с одним или более типами (например, злокачественный или незлокачественный или тому подобное). Дополнительно или альтернативно, система нейронной сети может дополнительно выводить, является ли обнаруженная интересующая особенность ложноположительной или истинно положительной.[076] In some embodiments, the system processor(s) may further apply one or more additional classifiers and/or neural networks to the detected feature of interest. For example, if the feature of interest includes a lesion, the at least one processor may classify the lesion according to one or more types (eg, malignant or non-malignant or the like). Additionally or alternatively, the neural network system may further infer whether the detected feature of interest is a false positive or a true positive.
[077] Процессор(ы) системы может генерировать индикатор местоположения по меньшей мере одного обнаружения, находящегося в одном из кадров. Например, местоположение интересующего объекта может быть определено на основе индикатора и графического индикатора местоположения, размещенного на кадре. В вариантах воплощения, где местоположение содержит точку, графический индикатор может содержать круг, звезду или любую другую форму, помещенную в точке. В вариантах воплощения, когда местоположение содержит область, графический индикатор может содержать границу вокруг области. В некоторых вариантах воплощения, форма или граница могут быть анимированы; соответственно, форма или граница могут быть сгенерированы для множества кадров, так что они отслеживают местоположение интересующего объекта в кадрах, а также появляются анимированными, когда кадры отображаются последовательно. Как дополнительно упомянуто ниже, графический индикатор может быть скомбинирован с другими индикаторами, такими как звуковой и/или вибрационный индикатор.[077] The system processor(s) may generate a location indicator of at least one detection located in one of the frames. For example, the location of an object of interest can be determined based on an indicator and a graphical location indicator placed on the frame. In embodiments where the location contains a point, the graphical indicator may include a circle, a star, or any other shape placed at the point. In embodiments, when the location contains an area, the graphical indicator may include a border around the area. In some embodiments, the shape or border may be animated; accordingly, a shape or boundary can be generated for multiple frames so that it tracks the location of an object of interest across the frames and also appears animated when the frames are displayed sequentially. As further mentioned below, the graphical indicator may be combined with other indicators, such as an audible and/or vibration indicator.
[078] Любой аспект индикатора может зависеть от классификации интересующего свойства, например соответствующему одному или более типам или являющемуся ложноположительным или истинно положительным признаком. Соответственно, цвет, форма, узор или другой аспект графического индикатора может зависеть от классификации. В вариантах воплощения, использующих также звуковой и/или вибрационный индикатор, продолжительность, частота и/или амплитуда звука и/или вибрации могут зависеть от имеющейся классификации.[078] Any aspect of the indicator may depend on the classification of the property of interest, such as corresponding to one or more types or being a false positive or true positive feature. Accordingly, the color, shape, pattern, or other aspect of the graphical indicator may depend on the classification. In embodiments that also use a sound and/or vibration indicator, the duration, frequency and/or amplitude of the sound and/or vibration may depend on the classification available.
[079] Процессор(ы) системы может перекодировать кадры в видео. Соответственно, после генерации (графического) индикатора и наложения его на кадр(ы) кадры могут быть повторно собраны в последовательность видео. Таким образом, процессор(ы) системы может выводить перекодированное видео вместе с индикатором.[079] The system processor(s) can transcode the frames into video. Accordingly, after generating a (graphic) indicator and overlaying it on the frame(s), the frames can be reassembled into a video sequence. In this way, the system processor(s) can output the re-encoded video along with the indicator.
[080] В соответствии с другим аспектом настоящего изобретения описывается реализованная на компьютере система (см., например, проиллюстрированная на Фиг. 1 и 6) для обработки видео в реальном времени. Система может содержать входной порт для приема видео в реальном времени. Например, входной порт может содержать порт видеографического массива (VGA), порт мультимедийного интерфейса высокой четкости (HDMI), порт цифрового визуального интерфейса (DVI), последовательный цифровой интерфейс (SDI) и т.п. Видео в реальном времени может содержать медицинское видео. Например, система может получать видео в реальном времени с эндоскопического устройства.[080] In accordance with another aspect of the present invention, a computer-implemented system (see, for example, illustrated in FIGS. 1 and 6) for real-time video processing is described. The system may include an input port for receiving live video. For example, the input port may include a video graphics array (VGA) port, a high-definition multimedia interface (HDMI) port, a digital visual interface (DVI) port, a serial digital interface (SDI), and the like. The live video may contain medical video. For example, the system can receive real-time video from an endoscopy device.
[081] Система может дополнительно содержать первую шину для передачи принятого видео в реальном времени. Например, первая шина может содержать параллельное соединение или последовательное соединение и может быть подключена в многоточечной топологии или топологии гирляндного подключения. Первая шина может содержать шину PCI Express (экспресс-соединение периферийных компонентов), универсальную последовательную шину (USB), интерфейс IEEE 1394 (FireWire) и т.п.[081] The system may further comprise a first bus for transmitting received video in real time. For example, the first bus may comprise a parallel connection or a series connection and may be connected in a multidrop or daisy chain topology. The first bus may include a PCI Express (Peripheral Component Express) bus, a Universal Serial Bus (USB), an IEEE 1394 (FireWire) interface, etc.
[082] Система может содержать по меньшей мере один процессор, выполненный с возможностью приема видео в реальном времени с первой шины, выполнения обнаружения объектов на кадрах принятого видео в реальном времени и наложения границы, указывающей местоположение по меньшей мере одного обнаруженного объекта в кадрах. Процессор(ы) может выполнять обнаружение объекта, используя систему нейронной сети, обученную выполнять по меньшей мере одно обнаружение объекта. В некоторых вариантах воплощения, по меньшей мере один объект может включать поражение или другую аномалию. Соответственно, система нейронной сети может быть обучена обнаруживать аномалии, как рассмотрено в этом документе.[082] The system may include at least one processor configured to receive real-time video from the first bus, perform object detection on frames of the received real-time video, and overlay a boundary indicating the location of the at least one detected object within the frames. The processor(s) may perform object detection using a neural network system trained to perform at least one object detection. In some embodiments, the at least one object may include a lesion or other abnormality. Accordingly, a neural network system can be trained to detect anomalies, as discussed in this document.
[083] Процессор(ы) может перекрывать границу, как рассмотрено в этом документе. Например, граница может окружать область, содержащую объект, причем эта область принимается по меньшей мере с одним обнаружением процессором(ами).[083] The processor(s) may span the boundary as discussed herein. For example, a boundary may surround an area containing an object, which area is received with at least one detection by the processor(s).
[084] Система может дополнительно содержать вторую шину для приема видео с наложенной границей. Например, как и первая шина, вторая шина может содержать параллельное соединение или последовательное соединение и может быть подключена в многоточечной топологии или топологии гирляндного подключения. Соответственно, как и первая шина, вторая шина может содержать шину PCI Express (Peripheral Component Interconnect Express), универсальную последовательную шину (USB), интерфейс IEEE 1394 (FireWire) и т.п. Вторая шина может содержать шину того же типа, что и первая шина, или может содержать шину другого типа.[084] The system may further comprise a second bus for receiving edge overlay video. For example, like the first bus, the second bus may contain a parallel connection or a series connection and may be connected in a multidrop or daisy chain topology. Accordingly, like the first bus, the second bus may contain a PCI Express (Peripheral Component Interconnect Express) bus, a universal serial bus (USB), an IEEE 1394 (FireWire) interface, etc. The second bus may comprise a bus of the same type as the first bus, or may comprise a different type of bus.
[085] Система может дополнительно содержать порт вывода для вывода видео с перекрытой границей со второй шины на внешний дисплей. Выходной порт может представлять собой порт VGA, порт HDMI, порт DVI, порт SDI и т.п. Соответственно, выходной порт может быть того же типа, что и входной порт, или может быть портом другого типа.[085] The system may further include an output port for outputting edge occluded video from the second bus to an external display. The output port may be a VGA port, an HDMI port, a DVI port, an SDI port, etc. Accordingly, the output port may be the same type as the input port, or may be a different type of port.
[086] Система может содержать третью шину для прямой передачи принятого видео в реальном времени на выходной порт. Третья шина может передавать видео в реальном времени от входного порта к выходному порту пассивно, чтобы работать даже тогда, когда вся система выключена. В некоторых вариантах воплощения, третья шина может быть шиной по умолчанию, которая активна, когда вся система выключена. В таких вариантах воплощения, первая и вторая шина могут быть активированы, когда активирована вся система, а третья шина может быть соответственно деактивирована. Третья шина может быть повторно активирована, когда вся система выключена или после получения сигнала ошибки от процессора(ов). Например, если обнаружение объекта, выполняемое процессором, дает сбой, процессор(ы) может активировать третью шину, тем самым позволяя продолжать вывод видеопотока в реальном времени без прерывания из-за неисправности.[086] The system may include a third bus for directly transmitting received video in real time to an output port. The third bus can transmit real-time video from the input port to the output port passively, so that it operates even when the entire system is turned off. In some embodiments, the third bus may be a default bus that is active when the entire system is turned off. In such embodiments, the first and second buses may be activated when the entire system is activated, and the third bus may be deactivated accordingly. The third bus can be re-enabled when the entire system is shut down or after receiving an error signal from the processor(s). For example, if object detection performed by the processor fails, the processor(s) may activate a third bus, thereby allowing the real-time video stream to continue to be output without interruption due to the failure.
[087] В некоторых вариантах воплощения, наложенная граница может быть изменена по кадрам. Например, наложенная граница может содержать двухмерную форму, которая отображается вокруг области изображения, содержащей по меньшей мере один обнаруженный объект, причем граница является первым цветом. По истечении определенного периода времени процессор(ы) может изменить границу на второй цвет, если по меньшей мере один обнаруженный объект является истинно положительным, и на третий цвет, если по меньшей мере один обнаруженный объект является ложноположительным. Дополнительно или альтернативно, процессор(ы) может изменять границу на основе классификации обнаруженного объекта. Например, если объект содержит поражение или другую аномалию, модификация может быть основана на том, является ли поражение или образование злокачественным или ненормальным в каком-либо другом смысле.[087] In some embodiments, the imposed boundary may be varied on a frame-by-frame basis. For example, the overlay border may comprise a two-dimensional shape that is displayed around an area of the image containing at least one detected object, the border being the first color. After a certain period of time, the processor(s) may change the boundary to a second color if at least one detected object is a true positive, and to a third color if at least one detected object is a false positive. Additionally or alternatively, the processor(s) may change the boundary based on the classification of the detected object. For example, if an object contains a lesion or other abnormality, the modification may be based on whether the lesion or lesion is malignant or abnormal in some other sense.
[088] В любом из вариантов воплощения, описанных в этом документе, наложенный индикатор может быть спарен с одним или более дополнительными индикаторами. Например, процессор(ы) может передать команду одному или более динамикам для воспроизведения звука при обнаружении по меньшей мере одного объекта. В вариантах воплощения, когда изменена граница, процессор(ы) может передать команду об изменении границы. В таких вариантах воплощения, по меньшей мере один из признаков, а именно: длительность, тон, частота и амплитуда звука, может зависеть от того, является ли по меньшей мере один обнаруженный объект истинно положительным или ложноположительным результатом. Дополнительно или альтернативно, по меньшей мере один из признаков, а именно: длительность, тон, частота и амплитуда звука, может зависеть от классификации обнаруженного объекта.[088] In any of the embodiments described herein, the overlay indicator may be paired with one or more additional indicators. For example, the processor(s) may command one or more speakers to play a sound when at least one object is detected. In embodiments, when the boundary is changed, the processor(s) may issue a command to change the boundary. In such embodiments, at least one of the sound duration, tone, frequency, and amplitude may depend on whether the at least one detected object is a true positive or a false positive. Additionally or alternatively, at least one of the duration, tone, frequency and amplitude of the sound may depend on the classification of the detected object.
[089] Дополнительно или альтернативно, процессор(ы) может передать команду выполнять вибрацию по меньшей мере одному носимому устройству при обнаружении по меньшей мере одного объекта. В вариантах воплощения, когда изменена граница, процессор(ы) может передавать команду в случае изменения границы. В таких вариантах воплощения, по меньшей мере один из признаков, таких как: длительность, частота и амплитуда вибрации, может зависеть от того, является ли по меньшей мере один обнаруженный объект истинно положительным или ложноположительным результатом. Дополнительно или альтернативно, по меньшей мере один из признаков, таких как: продолжительность, тон, частота и амплитуда вибрации, может зависеть от классификации обнаруженного объекта.[089] Additionally or alternatively, the processor(s) may command the at least one wearable device to vibrate when the at least one object is detected. In embodiments when the boundary is changed, the processor(s) may issue a command if the boundary changes. In such embodiments, at least one of the vibration duration, frequency, and amplitude may depend on whether the at least one detected object is a true positive or a false positive. Additionally or alternatively, at least one of the duration, tone, frequency and amplitude of the vibration may depend on the classification of the detected object.
[090] Согласно другому аспекту настоящего изобретения описывается система для обработки видео в реальном времени. Подобно системе обработки, описанной в этом документе, система может содержать входной порт для приема видео в реальном времени; по меньшей мере один процессор, выполненный с возможностью приема видео в реальном времени из входного порта, выполнения обнаружения объекта путем задействования обученной нейронной сети к кадрам принятого видео в реальном времени и наложения границы, указывающей местоположение по меньшей мере одного обнаруженного объекта в кадрах; и порт вывода для вывода видео с наложенной границей из процессора на внешний дисплей.[090] According to another aspect of the present invention, a system for processing video in real time is described. Similar to the processing system described in this document, the system may include an input port for receiving real-time video; at least one processor configured to receive real-time video from an input port, perform object detection by applying a trained neural network to frames of the received real-time video, and applying a boundary indicating the location of the at least one detected object in the frames; and an output port for outputting edge-overlaid video from the processor to an external display.
[091] Система может дополнительно содержать устройство ввода для приема настройки чувствительности от пользователя. Например, устройство ввода может содержать переключатель, одну или более кнопок или любое другое устройство, подходящее для приема одной команды для увеличения значения настройки и другой команды для уменьшения значения настройки.[091] The system may further include an input device for receiving a sensitivity setting from a user. For example, the input device may include a switch, one or more buttons, or any other device suitable for receiving one command to increase a setting value and another command to decrease a setting value.
[092] Системный процессор(ы) может регулировать по меньшей мере один параметр обученной нейронной сети в ответ на настройку чувствительности. Например, процессор(ы) может регулировать один или более весов одного или более узлов сети, чтобы увеличить или уменьшить количество обнаружений, производимых сетью, в зависимости от настройки чувствительности. Дополнительно или альтернативно, одно или более пороговых значений выходного уровня сети и/или применяемых к обнаружениям, принятым с выходного уровня сети, могут быть увеличены или уменьшены в ответ на настройку чувствительности. Соответственно, если настройка чувствительности увеличивается, процессор(ы) может уменьшать порог(и), так что количество обнаружений, производимых сетью, увеличивается. Аналогично, если настройка чувствительности уменьшается, процессор(ы) может увеличить порог(и), так что количество обнаружений, производимых сетью, уменьшается.[092] The system processor(s) may adjust at least one parameter of the trained neural network in response to the sensitivity adjustment. For example, the processor(s) may adjust one or more weights of one or more network nodes to increase or decrease the number of detections produced by the network, depending on the sensitivity setting. Additionally or alternatively, one or more network output layer thresholds and/or applied to detections received from the network output layer may be increased or decreased in response to the sensitivity setting. Accordingly, if the sensitivity setting is increased, the processor(s) may decrease the threshold(s) so that the number of detections produced by the network increases. Likewise, if the sensitivity setting is decreased, the processor(s) may increase the threshold(s) so that the number of detections made by the network decreases.
[093] На Фиг. 1 проиллюстрировано схематическое представление рассматриваемой в качестве примера системы 100, содержащей конвейер для наложения обнаруженных объектов на видеопоток, в соответствии с вариантами воплощения настоящего изобретения. Как показано в примере, проиллюстрированном на Фиг. 1, система 100 содержит оператора 101, который управляет устройством визуализации 103. В вариантах воплощения, когда видеопоток представляет собой медицинское видео, оператором 101 может быть врач или другой медицинский работник. Устройство визуализации 103 может содержать устройство медицинской визуализации, такое как рентгеновский аппарат, компьютер компьютерной томографии (КТ), аппарат магнитно-резонансной томографии (МРТ), эндоскопический аппарат или другое устройство медицинской визуализации, которое выдает видео или одно или более изображений человеческого тела или его части. Оператор 101 может управлять устройством визуализации 103, изменяя скорость захвата устройства 103 и/или перемещая устройство 103, например, сквозь тело человека или относительно него. В некоторых вариантах воплощения, устройство визуализации 103 может содержать устройство Pill-Cam™ или другую форму капсульного эндоскопического устройства, вместо внешнего устройства визуализации, такого как рентгеновский аппарат или устройства визуализации, вводимого через полость человеческого тела, например, эндоскопического устройства.[093] In FIG. 1 illustrates a schematic diagram of an exemplary system 100 comprising a pipeline for overlaying detected objects onto a video stream, in accordance with embodiments of the present invention. As shown in the example illustrated in FIG. 1, system 100 includes an operator 101 who operates an imaging device 103. In embodiments where the video stream is a medical video, the operator 101 may be a physician or other healthcare professional. The imaging device 103 may include a medical imaging device, such as an X-ray machine, a computed tomography (CT) machine, a magnetic resonance imaging (MRI) machine, an endoscopic machine, or other medical imaging device that provides video or one or more images of the human body or its parts. The operator 101 may control the imaging device 103 by changing the grip speed of the device 103 and/or moving the device 103, for example, through or relative to the human body. In some embodiments, imaging device 103 may comprise a Pill-Cam™ device or other form of capsule endoscopic device, rather than an external imaging device, such as an X-ray machine or an imaging device inserted through a human body cavity, such as an endoscopic device.
[094] Как дополнительно проиллюстрировано на Фиг. 1, устройство визуализации 103 может передавать захваченное видео или изображения устройству наложения 105. Устройство наложения 105 может содержать один или более процессоров для обработки видео, как описано в данном документе. Кроме того, в некоторых вариантах воплощения, оператор 101 может управлять устройством наложения 105 в дополнение к устройству визуализации 103, например, посредством управления чувствительностью детектора объекта (не проиллюстрирован) устройства наложения 105.[094] As further illustrated in FIG. 1, renderer 103 may transmit captured video or images to overlay device 105. Overlay device 105 may include one or more processors for processing video, as described herein. Additionally, in some embodiments, operator 101 may control overlay device 105 in addition to imaging device 103, for example, by controlling the sensitivity of an object detector (not illustrated) of overlay device 105.
[095] Как проиллюстрировано на Фиг. 1, устройство наложения 105 может расширять видео, полученное от устройства визуализации 103, а затем передавать расширенное видео на дисплей 107. В некоторых вариантах воплощения, расширение может включать наложение, описанное в данном документе. Как дополнительно проиллюстрировано Фиг. 1, устройство наложения 105 также может быть выполнено с возможностью выполнения ретрансляции видео с устройства визуализации 103 непосредственно на дисплей 107. Например, устройство наложения 105 может выполнять прямую ретрансляцию при заранее определенных условиях, например, если детектор объекта (не показан), содержащийся в устройстве наложения 105, неисправен. Дополнительно или альтернативно, устройство наложения 105 может выполнять прямую ретрансляцию, если оператор 101 вводит команду в устройство наложения105, чтобы выполнить эту операцию. Команда может быть получена с помощью одной или более кнопок, находящихся в устройстве наложения 105, и/или через устройство ввода, такое как клавиатура или подобное устройство.[095] As illustrated in FIG. 1, overlay device 105 may expand the video received from renderer 103 and then transmit the expanded video to display 107. In some embodiments, the expansion may include an overlay described herein. As further illustrated by FIG. 1, overlay device 105 may also be configured to perform video relay from renderer 103 directly to display 107. For example, overlay device 105 may perform live relay under predetermined conditions, such as if an object detector (not shown) contained in the device overlay 105, faulty. Additionally or alternatively, overlay device 105 may perform direct relay if operator 101 enters a command into overlay device 105 to perform this operation. The command may be received through one or more buttons located in the overlay device 105 and/or through an input device such as a keyboard or the like.
[096] На Фиг. 2 проиллюстрировано схематическое представление двухфазного обучающего цикла 200 для сети обнаружения объектов в соответствии с вариантами воплощения настоящего изобретения. Цикл 200 может быть реализован одним или более процессорами. Как проиллюстрировано на Фиг. 2, фаза I цикла 200 может использовать базу данных изображений 201, в том числе интересующий элемент. В вариантах воплощения, когда изображения содержат медицинские изображения, интересующий элемент может представлять собой, аномалию, такую как поражение.[096] In FIG. 2 illustrates a schematic representation of a two-phase training loop 200 for an object detection network in accordance with embodiments of the present invention. Loop 200 may be implemented by one or more processors. As illustrated in FIG. 2, phase I of loop 200 may use the image database 201, including the item of interest. In embodiments where the images comprise medical images, the element of interest may be an abnormality, such as a lesion.
[097] Как упомянуто выше, база данных 201 может хранить отдельные изображения и/или одно либо более видео, каждое видео содержит множество кадров. Во время фазы I цикла 200 один или более процессоров могут извлекать поднабор 203 изображений и/или кадров из базы данных 201. Один или более процессоров могут осуществлять выборку поднабора 203 случайным образом или, по меньшей мере частично, используя один или более шаблонов. Например, если база данных 201 хранит видео, один или более процессоров могут выбрать не более одного, двух или подобного количества кадров из каждого видео поднабора 203.[097] As mentioned above, the database 201 may store individual images and/or one or more videos, each video containing a plurality of frames. During Phase I of cycle 200, one or more processors may retrieve a subset 203 of images and/or frames from the database 201. One or more processors may sample the subset 203 randomly or at least in part using one or more templates. For example, if database 201 stores video, one or more processors may select at most one, two, or a similar number of frames from each video subset 203.
[098] Как дополнительно проиллюстрировано на Фиг. 2, индикаторы особенностей 205 могут содержать аннотации к подмножеству 203. Например, аннотации могут содержать точку или область, содержащую интересующий объект. В некоторых вариантах воплощения, оператор может просматривать видео или изображения и вручную вводить аннотации через устройство ввода (например, любую комбинацию клавиатуры, мыши, сенсорного экрана и дисплея) в процессор(ы). Аннотации могут храниться как структура данных, отдельная от изображения, в таких форматах, как JSON, XML, текст и т.п. Например, в вариантах воплощения, когда изображения являются медицинскими изображениями, оператор может быть врачом или другим специалистом в области здравоохранения. Хотя это и показано как добавление к подмножеству 203 после извлечения, подмножество 203 могло быть аннотировано перед сохранением в базе данных 201 или в другое более раннее время. В таких вариантах воплощения, один или более процессоров могут осуществлять выборку подмножества 203 путем выбора изображений в базе данных 201, имеющих индикаторы особенностей 205.[098] As further illustrated in FIG. 2, feature indicators 205 may include annotations about a subset 203. For example, the annotations may include a point or region containing an object of interest. In some embodiments, an operator may view video or images and manually enter annotations via an input device (eg, any combination of keyboard, mouse, touch screen and display) into the processor(s). Annotations can be stored as a data structure separate from the image, in formats such as JSON, XML, text, etc. For example, in embodiments where the images are medical images, the operator may be a physician or other health care professional. Although shown as being added to subset 203 after retrieval, subset 203 could have been annotated before being stored in database 201 or at some earlier time. In such embodiments, one or more processors may sample a subset 203 by selecting images in a database 201 having feature indicators 205.
[099] Подмножество 203 вместе с индикаторами особенностей 205 содержит обучающий набор 207. Один или более процессоров могут обучать сеть дискриминатора 209 с использованием обучающего набора 207. Например, сеть дискриминатора 209 может содержать сеть обнаружения объектов, как описано выше. Как упомянуто выше, обучение сети дискриминатора может предусматривать настройку весов одного или более узлов сети и/или настройку функций активации (или передачи) одного или более узлов сети. Например, веса сети обнаружения объектов могут быть скорректированы для минимизации функции потерь, связанной с сетью. В другом примере функции активации (или передачи) сети обнаружения объектов могут быть изменены, чтобы улучшить соответствие между одной или более моделями узла(ов) и входом в узел(ы).[099] Subset 203, along with feature indicators 205, contains a training set 207. One or more processors may train the discriminator network 209 using the training set 207. For example, the discriminator network 209 may comprise an object detection network, as described above. As mentioned above, training the discriminator network may include adjusting the weights of one or more network nodes and/or adjusting the activation (or transfer) functions of one or more network nodes. For example, the weights of an object detection network can be adjusted to minimize the loss function associated with the network. In another example, the activation (or transfer) functions of an object detection network may be modified to improve the correspondence between one or more models of the node(s) and the input to the node(s).
[0100] Как проиллюстрировано на Фиг. 2, во время фазы II цикла 200 один или более процессоров могут извлекать подмножество 211 изображений (и/или кадров) из базы данных 201. Подмножество 211 может содержать, по меньшей мере частично, некоторые или все изображения из подмножества 203 или может содержать другое подмножество. В вариантах воплощения, когда поднабор 203 содержит множество кадров из одного или более видео, подмножество 211 может содержать смежные или другие кадры из одного или более таких же видео. Подмножество 211 может содержать большее количество изображений, чем поднабор 203, например, по меньшей мере в 100 раз больше изображений.[0100] As illustrated in FIG. 2, during phase II of cycle 200, one or more processors may retrieve a subset 211 of images (and/or frames) from database 201. Subset 211 may contain, at least in part, some or all of the images from subset 203 or may contain another subset . In embodiments where subset 203 contains multiple frames from one or more videos, subset 211 may contain adjacent or other frames from one or more of the same videos. Subset 211 may contain more images than subset 203, for example, at least 100 times more images.
[0101] Один или более процессоров могут задействовать дискриминаторную сеть 209' (которая представляет дискриминаторную сеть 209 после завершения фазы обучения I) к подмножеству 211 для создания множества индикаторов особенностей 213. Например, индикаторы особенностей 213 могут содержать точку или область, содержащую интересующий объект, обнаруженный дискриминаторной сетью 209'.[0101] One or more processors may apply the discriminator network 209' (which represents the discriminator network 209 after completion of training phase I) to the subset 211 to create a plurality of feature indicators 213. For example, the feature indicators 213 may include a point or region containing an object of interest, detected by the discriminator network 209'.
[0102] Как дополнительно проиллюстрировано на Фиг. 2, проверки 215 могут содержать аннотации к индикаторам особенности 213. Например, аннотации могут содержать индикатор, который указывает, является ли каждый индикатор особенности истинно положительным или ложноположительным результатом. Изображение, на котором не было обнаружено интересующего объекта, но которое содержит интересующий объект, может быть аннотировано как ложноотрицательное.[0102] As further illustrated in FIG. 2, tests 215 may include annotations for feature indicators 213. For example, the annotations may include an indicator that indicates whether each feature indicator is a true positive or a false positive. An image in which no object of interest was detected, but which contains an object of interest, may be annotated as a false negative.
[0103] Подмножество 211 вместе с индикаторами особенностей 213 и проверками 215 формируют обучающий набор 217. Один или более процессоров могут обучать генеративно-состязательную сеть 219 с использованием обучающего набора 217. Например, генеративно-состязательная сеть 219 может содержать генеративную сеть и состязательную сеть 219, как описано выше. Обучение генеративно-состязательной сети может включать в себя обучение генеративной сети для создания искусственных представлений интересующей особенности или ложной интересующей особенности, которая похожа на истинную интересующую особенность, и обучение состязательной сети распознаванию искусственных представлений из реальных представлений, например, содержащихся в подмножестве 211.[0103] The subset 211 along with the feature indicators 213 and tests 215 form a training set 217. One or more processors may train the generative adversarial network 219 using the training set 217. For example, the generative adversarial network 219 may comprise a generative network and an adversarial network 219 , as described above. Training the generative adversarial network may include training the generative network to create artificial representations of a feature of interest or a false feature of interest that is similar to the true feature of interest, and training the adversarial network to recognize the artificial representations from real representations, such as those contained in subset 211.
[0104] Хотя это не проиллюстрировано на Фиг. 2, проверки 213 могут дополнительно использоваться для повторного обучения дискриминаторной сети 209'. Например, весовые коэффициенты и/или функции активации (или переноса) дискриминаторной сети 209' могут быть отрегулированы для устранения обнаружений в изображениях, аннотированных как ложные срабатывания, и/или отрегулированы для создания обнаружений на изображениях, аннотированных как ложноотрицательные.[0104] Although not illustrated in FIG. 2, tests 213 may further be used to retrain the discriminator network 209'. For example, the weights and/or activation (or transfer) functions of the discriminator network 209' may be adjusted to eliminate detections in images annotated as false positives and/or adjusted to generate detections in images annotated as false negatives.
[0105] На Фиг. 3 проиллюстрирована блок-схема рассмотренного в качестве примера способа 300 обучения сети обнаружения объектов. Способ 300 может выполняться одним или более процессорами. На этапе 301, проиллюстрированном на Фиг. 3, по меньшей мере один процессор может предоставлять первое множество изображений, которые содержат представления интересующей особенности и индикаторы местоположения интересующей особенности среди изображений первого множества изображений. Индикаторы могут содержать индикаторы, устанавливаемые вручную. Индикаторы, установленные вручную, могут быть извлечены из базы данных или получены как ввод от оператора.[0105] In FIG. 3 illustrates a flow diagram of an exemplary method 300 for training an object detection network. Method 300 may be performed by one or more processors. At step 301, illustrated in FIG. 3, the at least one processor may provide a first plurality of images that include representations of a feature of interest and indicators of the location of the feature of interest among images of the first plurality of images. Indicators may include manually set indicators. Manually set indicators can be retrieved from a database or received as operator input.
[0106] На этапе 303, по меньшей мере один процессор может, используя первое множество изображений и индикаторов интересующей особенности, обучить сеть обнаружения объектов идентифицировать интересующую особенность. В частности, сеть обнаружения объектов может быть обучена, как упомянуто выше.[0106] At step 303, the at least one processor may, using the first set of images and indicators of the feature of interest, train an object detection network to identify the feature of interest. In particular, an object detection network can be trained as mentioned above.
[0107] На этапе 305, по меньшей мере один процессор может предоставить второе множество изображений, которые содержат представления интересующего объекта, второе множество изображений содержит большее количество изображений, чем то, которое содержится в первом множестве изображений. В некоторых вариантах воплощения, второе множество изображений может перекрываться, по меньшей мере частично, с первым множеством изображений. Альтернативно, второе множество изображений может состоять из изображений, отличных от изображений, относящихся к первому множеству.[0107] At step 305, the at least one processor may provide a second set of images that contain representations of an object of interest, the second set of images containing a greater number of images than those contained in the first set of images. In some embodiments, the second set of images may overlap, at least partially, with the first set of images. Alternatively, the second set of images may consist of images different from those belonging to the first set.
[0108] На этапе 307, по меньшей мере один процессор может задействовать сеть обнаружения обученных объектов ко второму множеству изображений, чтобы произвести первое множество обнаружений интересующей особенности. Как упоминалось выше, в некоторых вариантах воплощения, обнаружения могут содержать индикаторы местоположения обнаруженных интересующих особенностей. Например, сеть обнаружения объектов может содержать сверточную нейронную сеть, выводящую одну или более матриц, каждая из которых определяет координаты и/или области любых обнаруженных интересующих особенностей, необязательно с одной или более связанными оценками достоверности для каждого обнаружения.[0108] At step 307, the at least one processor may apply the trained object detection network to the second set of images to produce a first set of detections of the feature of interest. As mentioned above, in some embodiments, detections may include indicators of the location of detected features of interest. For example, an object detection network may comprise a convolutional neural network outputting one or more matrices, each of which defines the coordinates and/or regions of any detected features of interest, optionally with one or more associated confidence scores for each detection.
[0109] На этапе 309 по меньшей мере один процессор может предоставить вручную установленные проверки истинно положительных и ложноположительных срабатываний по отношению к первому множеству обнаружений. Например, по меньшей мере один процессор может извлекать установленные вручную проверки из базы данных или принимать их в качестве входных данных от оператора.[0109] At step 309, the at least one processor may provide manually set true positive and false positive checks against the first set of detections. For example, the at least one processor may retrieve manually installed checks from a database or receive them as input from an operator.
[0110] На этапе 311 по меньшей мере один процессор может, используя проверки истинно положительных срабатываний и ложноположительных срабатываний относительно первого множества обнаружений, обучать генеративно-состязательную сеть. В частности, генеративно-состязательная сеть может быть обучена, как описано в этом документе.[0110] At step 311, the at least one processor may, using tests of true positives and false positives relative to the first set of detections, train a generative adversarial network. In particular, a generative adversarial network can be trained as described in this document.
[0111] На этапе 313, по меньшей мере один процессор может повторно обучить генеративно-состязательную сеть, используя по меньшей мере один дополнительный набор изображений и обнаружений интересующей особенности, вместе с дополнительной ручной установкой проверок истинно положительных и ложноположительных срабатываний в отношении дальнейшего обнаружения интересующей особенности. В некоторых вариантах воплощения, дополнительный набор изображений может перекрываться, по меньшей мере частично, с первым множеством изображений и/или вторым множеством изображений. Альтернативно, дополнительный набор изображений может состоять из изображений, отличающихся от первого множества изображений и второго множества изображений. Таким образом, этап 313 может включать задействование сети обнаружения обученных объектов к дополнительному набору изображений для получения дополнительных обнаружений интересующей особенности, обеспечения вручную установленных проверок истинно положительных и ложноположительных срабатываний относительно дальнейших обнаружений и повторного обучения генеративно-состязательной сети, использующей проверки относительно дальнейших обнаружений.[0111] At step 313, the at least one processor may retrain the generative adversarial network using at least one additional set of images and detections of the feature of interest, along with additional manual setting of true positive and false positive checks regarding further detections of the feature of interest. . In some embodiments, the additional set of images may overlap, at least partially, with the first set of images and/or the second set of images. Alternatively, the additional set of images may consist of images different from the first set of images and the second set of images. Thus, step 313 may include applying the trained object detection network to an additional set of images to obtain additional detections of the feature of interest, providing manually set true positive and false positive checks against further detections, and retraining the generative adversarial network using the checks against further detections.
[0112] В соответствии с настоящим изобретением, рассмотренный в качестве примера способ 300 может включать дополнительные этапы. Например, в некоторых вариантах воплощения, способ 300 может включать повторное обучение генеративно-состязательной сети путем предоставления проверок ложноотрицательных результатов для пропущенных обнаружений интересующего объекта на двух или более изображениях. Соответственно, установленные вручную проверки, извлеченные из базы данных или полученные в качестве входных данных, могут предусматривать проверки ложноотрицательных результатов, а также проверки истинно положительных и ложноположительных срабатываний. Ложноотрицательные результаты могут быть использованы для переобучения генеративно-состязательной сети. Дополнительно или в качестве альтернативы ложноотрицательные результаты могут быть использованы для переобучения сети обнаружения объектов.[0112] In accordance with the present invention, the exemplary method 300 may include additional steps. For example, in some embodiments, method 300 may include retraining a generative adversarial network by providing false negative checks for missed detections of an object of interest in two or more images. Accordingly, manually installed checks, extracted from a database or received as input, may include checks for false negatives, as well as checks for true positives and false positives. False negatives can be used to retrain the generative adversarial network. Additionally or alternatively, false negatives can be used to retrain an object detection network.
[0113] На Фиг. 4 проиллюстрировано схематическое представление детектора объекта 400. Детектор объекта 400 может быть реализован с помощью одного или более процессоров. Как проиллюстрировано на Фиг. 4, детектор объектов может 400 использовать базу данных видео 401, содержащую интересующую функцию. В вариантах воплощения, когда изображения содержат медицинское изображение, интересующий элемент может представлять собой аномалию, такую как поражение. В примере, проиллюстрированном на Фиг. 4 база данных 401 содержит базу данных эндоскопических видео.[0113] In FIG. 4 illustrates a schematic representation of an object detector 400. The object detector 400 may be implemented using one or more processors. As illustrated in FIG. 4, the object detector may 400 use a video database 401 containing the feature of interest. In embodiments where the images comprise a medical image, the element of interest may be an abnormality such as a lesion. In the example illustrated in FIG. 4, database 401 contains a database of endoscopic videos.
[0114] Как дополнительно проиллюстрировано на Фиг. 4, детектор 400 может извлекать подмножество 403 видео из базы данных 401. Как рассмотрено выше со ссылкой на Фиг. 2, подмножество 403 может быть выбрано случайным образом и/или с использованием одного или более шаблонов. Детектор 400 может вводить в действие ветвь восприятия 407 сети дискриминатора 405 по отношению к кадрам поднабора 403. Ветвь восприятия 407 может содержать сеть обнаружения объектов, как описано выше. Ветвь восприятия 407 может быть обучена обнаруживать интересующую особенность и идентифицировать местоположение (например, точку или регион), связанное с обнаруженной интересующей особенностью. Например, ветвь восприятия 407 может обнаруживать аномалии и ограничивающие границы вывода, включая обнаруженные аномалии.[0114] As further illustrated in FIG. 4, detector 400 may retrieve a subset 403 of videos from database 401. As discussed above with reference to FIG. 2, subset 403 may be selected randomly and/or using one or more templates. The detector 400 may operate a perception branch 407 of the discriminator network 405 with respect to frames of the subset 403. The perception branch 407 may comprise an object detection network as described above. The perception branch 407 may be trained to detect a feature of interest and identify a location (e.g., a point or region) associated with the detected feature of interest. For example, the perception branch 407 may detect anomalies and output bounds, including detected anomalies.
[0115] Как проиллюстрировано на Фиг. 4, ветвь восприятия 407 может выводить обнаружения 413. Как упомянуто выше, обнаружения 413 могут содержать точки или области, идентифицирующие местоположения обнаруженных интересующих особенностей в подмножестве 403. Как дополнительно проиллюстрировано на Фиг. 4, детектор 400 может извлекать подмножество 411 видео из базы данных 401. Например, подмножество 411 может перекрывать, по меньшей мере частично, подмножество 403 или состоять из разных видео. Подмножество 411 может содержать большее количество видео, чем поднабор 403, например, по меньшей мере в 100 раз больше видео. Детектор 400 может использовать подмножество 411 и детекторы 413 для обучения генеративной сети 415. Генеративная сеть 415 может быть обучена создавать искусственные представления 417 интересующих особенностей, например аномалий. Искусственные представления 417 могут содержать ложные представления интересующей особенности, которые выглядят аналогично истинным представлениям интересующей особенности. Соответственно, генеративная сеть 415 может быть обучена, чтобы обмануть ветвь восприятия 407, заставляя обнаруживать ложные срабатывания.[0115] As illustrated in FIG. 4, perception branch 407 may output detections 413. As mentioned above, detections 413 may include points or regions identifying locations of detected features of interest in subset 403. As further illustrated in FIG. 4, detector 400 may retrieve a subset 411 of videos from database 401. For example, subset 411 may overlap at least partially with subset 403 or consist of different videos. Subset 411 may contain more videos than subset 403, for example, at least 100 times more videos. The detector 400 may use the subset 411 and detectors 413 to train the generative network 415. The generative network 415 may be trained to create artificial representations 417 of features of interest, such as anomalies. Artificial representations 417 may contain false representations of a feature of interest that appear similar to true representations of the feature of interest. Accordingly, the generative network 415 can be trained to trick the perception branch 407 into detecting false positives.
[0116] Как дополнительно проиллюстрировано на Фиг. 4, генеративная сеть 415 после обучения может создавать искусственные представления 417. Детектор 400 может использовать искусственные представления 417 для обучения состязательной ветви 409 дискриминаторной сети 405. Как описано выше, состязательную ветвь 409 можно обучить отличать искусственные представления 417 от подмножества 411. Соответственно, состязательная ветвь 409 может определять индикаторы различия 419. Индикаторы различия 419 могут представлять любые векторы признаков или другие аспекты изображения, которые присутствуют в искусственных представлениях 417, но не в подмножестве 411, присутствуют в подмножестве 411, но не в искусственных представлениях 417, либо субтрактивные векторы или другие аспекты, представляющие различия между векторами признаков или другими аспектами искусственных представлений 417 и таковыми из поднабора 411.[0116] As further illustrated in FIG. 4, the generative network 415, after training, can create artificial representations 417. The detector 400 can use the artificial representations 417 to train an adversarial branch 409 of the discriminator network 405. As described above, the adversarial branch 409 can be trained to distinguish the artificial representations 417 from the subset 411. Accordingly, the adversarial branch 409 may define difference indicators 419. Distinction indicators 419 may represent any feature vectors or other aspects of the image that are present in the artificial representations 417 but not in the subset 411, are present in the subset 411 but not in the artificial representations 417, or subtractive vectors or others aspects representing differences between feature vectors or other aspects of artificial representations 417 and those of the subset 411.
[0117] Как проиллюстрировано на Фиг. 4, детектор 400 может повторно обучить ветвь восприятия 407, используя индикаторы различия 419. Например, в вариантах воплощения, когда искусственные представления 417 содержат ложные представления интересующей особенности, детектор 400 может повторно обучать ветвь восприятия 407, так что ложные представления не приводят к обнаружению истинного представления в подмножестве 411.[0117] As illustrated in FIG. 4, the detector 400 may retrain the perception branch 407 using the difference indicators 419. For example, in embodiments where the artificial representations 417 contain false representations of the feature of interest, the detector 400 may retrain the perception branch 407 such that the false representations do not result in detection of the true one. representations in subset 411.
[0118] Хотя это не проиллюстрировано на Фиг. 4, детектор 400 может дополнительно использовать рекурсивное обучение для улучшения генеративной сети 415, ветви восприятия 407 и/или состязательной ветви 409. Например, детектор 400 может повторно обучать генеративную сеть 415, используя индикаторы различия 419. Соответственно, выходной сигнал состязательной ветви 409 может использоваться для переобучения генеративной сети 415 таким образом, чтобы искусственные представления выглядели еще более похожими на истинные представления. Кроме того, переобученная генеративная сеть 415 может создавать новый набор искусственных представлений, используемых для переобучения состязательной ветви 409. Соответственно, состязательная ветвь 409 и генеративная сеть 415 могут участвовать в неконтролируемом обучении, когда выходные данные каждой сети используются для переобучения другой сети рекурсивным образом. Это рекурсивное обучение может повторяться до тех пор, пока не будет достигнуто пороговое количество циклов и/или пока функция потерь, связанная с генеративной сетью 415, и/или функция потерь, связанная со состязательной ветвью 409, не достигнет порога. Более того, во время этого рекурсивного обучения ветвь восприятия 407 также может быть повторно обучена с использованием каждого нового выходного сигнала индикаторов различия, так что новое подмножество с новыми обнаружениями может использоваться для дальнейшего повторного обучения генеративной сети 415.[0118] Although not illustrated in FIG. 4, detector 400 may further use recursive learning to improve generative network 415, perception branch 407, and/or adversarial branch 409. For example, detector 400 may retrain generative network 415 using difference indicators 419. Accordingly, the output of adversarial branch 409 may be used to retrain the generative network 415 so that the artificial representations look even more similar to the true representations. In addition, the retrained generative network 415 may create a new set of artificial representations used to retrain the adversarial branch 409. Accordingly, the adversarial branch 409 and the generative network 415 may engage in unsupervised learning where the output of each network is used to retrain the other network in a recursive manner. This recursive training may be repeated until a threshold number of cycles is reached and/or until the loss function associated with the generative network 415 and/or the loss function associated with the adversarial branch 409 reaches the threshold. Moreover, during this recursive training, the perception branch 407 can also be retrained using each new output of the difference indicators, so that a new subset with new detections can be used to further retrain the generative network 415.
[0119] На Фиг. 5 проиллюстрирована блок-схема приведенного в качестве примера способа 500 для обнаружения интересующей особенности с использованием дискриминаторой и генеративной сети. Способ 500 может выполняться одним или более процессорами.[0119] In FIG. 5 illustrates a flow diagram of an exemplary method 500 for detecting a feature of interest using a discriminator and a generative network. Method 500 may be performed by one or more processors.
[0120] Как проиллюстрировано Фиг. 5, на этапе 501, по меньшей мере один процессор может хранить в базе данных множество видео, в том числе представления интересующей особенности, такой как аномалии. Например, видео могло быть снято во время эндоскопических процедур. Как часть этапа 501, по меньшей мере один процессор может дополнительно осуществить выборку первого подмножества из множества видео. Как упомянуто выше, по меньшей мере один процессор может осуществлять выборку случайным образом и/или с использованием одного или более шаблонов.[0120] As illustrated in FIG. 5, at block 501, the at least one processor may store a plurality of videos in a database, including representations of a feature of interest, such as anomalies. For example, the video could have been taken during endoscopic procedures. As part of step 501, the at least one processor may further sample a first subset of the plurality of videos. As mentioned above, the at least one processor may sample randomly and/or using one or more patterns.
[0121] На этапе 503, по меньшей мере один процессор может задействовать ветвь восприятия сети обнаружения объектов к кадрам первого поднабора множества видео, чтобы произвести первое множество обнаружений аномалий. В некоторых вариантах воплощения, как упоминалось выше, обнаружениями могут быть индикаторы местоположений обнаруженных аномалий. Кроме того, в некоторых вариантах воплощения, ветвь восприятия может содержать сверточную нейронную сеть, как упоминалось выше.[0121] At step 503, the at least one processor may apply a perception branch of the object detection network to frames of a first subset of the plurality of videos to produce a first plurality of anomaly detections. In some embodiments, as mentioned above, the detections may be indicators of locations of detected anomalies. Additionally, in some embodiments, the perception branch may comprise a convolutional neural network, as mentioned above.
[0122] На этапе 505, по меньшей мере один процессор может осуществить выборку второго поднабора из множества видео. Как упоминалось выше, по меньшей мере один процессор может осуществлять выборку случайным образом и/или с использованием одного или более шаблонов. Используя первое множество обнаружений и кадры из второго подмножества множества видео, по меньшей мере один процессор может дополнительно обучить генеративную сеть генерировать множество искусственных представлений аномалий, причем множество искусственных представлений генерируется посредством остаточного обучения. Как упомянуто выше, каждое искусственное представление обеспечивает ложное представление аномалии, которое очень похоже на истинное представление аномалии.[0122] At step 505, the at least one processor may select a second subset of the plurality of videos. As mentioned above, the at least one processor may sample randomly and/or using one or more patterns. Using the first set of detections and frames from a second subset of the set of videos, the at least one processor may further train the generative network to generate a plurality of artificial anomaly representations, the plurality of artificial representations being generated through residual learning. As mentioned above, each artificial representation provides a false representation of the anomaly that is very similar to the true representation of the anomaly.
[0123] На этапе 507, по меньшей мере один процессор может обучить состязательную ветвь дискриминаторной сети различать искусственные представления аномалий и истинные представления аномалий. Например, как упомянуто выше, состязательная ветвь может быть обучена идентификации различий между искусственными представлениями и истинными представлениями в кадрах. В некоторых вариантах воплощения, состязательная ветвь может представлять собой сверточную нейронную сеть, как упомянуто выше.[0123] At step 507, the at least one processor may train an adversarial branch of the discriminator network to distinguish between artificial anomaly representations and true anomaly representations. For example, as mentioned above, the adversarial branch can be trained to identify differences between artificial representations and ground truth representations in frames. In some embodiments, the adversarial branch may be a convolutional neural network, as mentioned above.
[0124] На этапе 509, по меньшей мере один процессор может ввести в действие состязательную ветвь дискриминаторной сети к множеству искусственных представлений, чтобы создать индикаторы различия между искусственными представлениями аномалий и истинными представлениями аномалий, содержащихся в кадрах второго подмножества из множества видео. Например, как упомянуто выше, индикаторы различия могут представлять любые векторы признаков или другие аспекты изображения, которые присутствуют в искусственных представлениях, но не в кадрах, присутствуют в кадрах, но не в искусственных представлениях, или являются субтрактивными векторами или другими аспектами, представляющими различия между векторами признаков или другими аспектами искусственных представлений и репрезентациями кадров.[0124] At step 509, the at least one processor may implement an adversarial branch of the discriminator network to the plurality of artificial representations to create indicators of difference between the artificial anomaly representations and the true anomaly representations contained in frames of a second subset of the plurality of videos. For example, as mentioned above, difference indicators may represent any feature vectors or other aspects of an image that are present in artificial representations but not in frames, are present in frames but not in artificial representations, or are subtractive vectors or other aspects representing differences between feature vectors or other aspects of artificial representations and frame representations.
[0125] На этапе 511, по меньшей мере один процессор может ввести в действие ветвь восприятия дискриминаторной сети применительно к искусственным представлениям, чтобы произвести второе множество обнаружений аномалий. Подобно первому множеству обнаружений, обнаружения могут содержать индикаторы местоположений обнаруженных аномалий в искусственных представлениях.[0125] At step 511, the at least one processor may operate the perception branch of the discriminator network in relation to the artificial representations to produce a second set of anomaly detections. Similar to the first set of detections, the detections may contain indicators of locations of detected anomalies in the artificial representations.
[0126] На этапе 513, по меньшей мере один процессор может повторно обучить ветвь восприятия на основе индикаторов различия и второго множества обнаружений. Например, в вариантах воплощения, когда каждое искусственное представление обеспечивает ложное представление аномалии, которое очень похоже на истинное представление аномалии, по меньшей мере один процессор может повторно обучить ветвь восприятия, чтобы уменьшить количество обнаружений, возвращаемых из искусственных представлений и соответственно, чтобы увеличить количество нулевых индикаторов или других индикаторов отсутствия аномалии, возвращаемых из искусственных представлений.[0126] At step 513, the at least one processor may retrain the perception branch based on the difference indicators and the second set of detections. For example, in embodiments where each artificial representation provides a false anomaly representation that is very similar to a true anomaly representation, the at least one processor may retrain the perception branch to reduce the number of detections returned from the artificial representations and, accordingly, to increase the number of null ones indicators or other indicators of the absence of an anomaly returned from artificial representations.
[0127] В соответствии с настоящим изобретением, приведенный в качестве примера способ 500 может включать в себя дополнительные этапы. Например, в некоторых вариантах воплощения, способ 500 может включать повторное обучение генеративной сети на основе индикаторов различия. В таких вариантах воплощения, способ 500 может дополнительно включать в себя задействование генеративной сети для генерирования дополнительного множества искусственных представлений аномалий и повторное обучение состязательной ветви на основе дополнительного множества искусственных представлений аномалий. Такие шаги переобучения могут быть рекурсивными. Например, способ 500 может включать в себя задействование повторно обученной состязательной ветви к дополнительному множеству искусственных представлений для создания дополнительных индикаторов различия между дополнительными искусственными представлениями аномалий и истинными представлениями аномалий, находящихся в кадрах второго подмножества из множества видео, и повторное обучение генеративной сети на основе дальнейших показателей различия. Как упомянуто выше, это рекурсивное повторное обучение может повторяться до тех пор, пока не будет достигнуто пороговое количество циклов и/или пока функция потерь, связанная с генеративной сетью, и/или функция потерь, связанная с состязательной сетью, не достигнет порога.[0127] In accordance with the present invention, the exemplary method 500 may include additional steps. For example, in some embodiments, method 500 may include retraining a generative network based on difference indicators. In such embodiments, method 500 may further include employing a generative network to generate an additional set of artificial anomaly representations and retraining an adversarial branch based on the additional set of artificial anomaly representations. Such retraining steps can be recursive. For example, method 500 may include applying a retrained adversarial branch to an additional set of artificial representations to create additional indicators of the difference between the additional artificial anomaly representations and the true anomaly representations found in frames of a second subset of the plurality of videos, and retraining the generative network based on further indicators of difference. As mentioned above, this recursive retraining may be repeated until a threshold number of cycles is reached and/or until the loss function associated with the generative network and/or the loss function associated with the adversarial network reaches the threshold.
[0128] На Фиг. 6 проиллюстрировано схематическое представление системы 600, содержащей конфигурацию оборудования для видеопотока, в соответствии с вариантами воплощения настоящего изобретения. Как проиллюстрировано на Фиг. 6, система 600 может быть соединена с возможностью обмена данными с устройством визуализации 601, таким как камера или другое устройство, выводящее видеопоток. Например, устройство визуализации 601 может содержать устройство медицинской визуализации, такое как компьютерный томограф, аппарат МРТ, эндоскопическое устройство и т.п. Система 600 может быть дополнительно соединена с возможностью обмена данными с дисплеем 615 или другим устройством для отображения или хранения видео. В частности, дисплей 615 может представлять собой монитор, экран или другое устройство для отображения изображений пользователю. В некоторых вариантах воплощения, дисплей 615 может быть заменен или дополнен запоминающим устройством (не проиллюстрировано) или контроллером сетевого интерфейса (NIC), подключенным к облачной системе хранения (также не проиллюстрирована) с возможностью обмена данными.[0128] In FIG. 6 illustrates a schematic diagram of a system 600 comprising a video streaming hardware configuration in accordance with embodiments of the present invention. As illustrated in FIG. 6, system 600 may be communicatively coupled to an imaging device 601, such as a camera or other device that outputs a video stream. For example, imaging device 601 may include a medical imaging device such as a CT scanner, MRI machine, endoscopic device, or the like. System 600 may further be communicatively coupled to a display 615 or other video display or storage device. In particular, display 615 may be a monitor, screen, or other device for displaying images to a user. In some embodiments, display 615 may be replaced or supplemented by a storage device (not illustrated) or network interface controller (NIC) connected to a cloud storage system (also not illustrated) with communication capability.
[0129] Как дополнительно проиллюстрировано на Фиг. 6, система 600 может содержать порт ввода 603 для приема видеопотока с камеры 601, а также порт вывода 611 для вывода видео на дисплей 615. Как рассмотрено в этом документе, порт ввода 603 и порт вывода 611 могут содержать порты VGA, HDMI-порты, порты DVI и т.п.[0129] As further illustrated in FIG. 6, system 600 may include an input port 603 for receiving a video stream from camera 601, as well as an output port 611 for outputting video to display 615. As discussed herein, input port 603 and output port 611 may include VGA ports, HDMI ports, DVI ports, etc.
[0130] Система 600 дополнительно содержит первую шину 605 и вторую шину 613. Как проиллюстрировано на Фиг. 6, первая шина 605 может передавать видео, принятое через порт ввода 603, по меньшей мере через один процессор 607. Например, процессор(ы) 607 может реализовывать любую из сетей обнаружения объектов и/или дискриминаторных сетей, рассмотренных в этом документе. Соответственно, процессор(ы) 607 может наложить один или более индикаторов, например приведенный в качестве примера графический индикатор, который проиллюстрирован на Фиг. 8, на видео, полученное через первую шину 602, например, с использованием приведенного в качестве примера способа 700, проиллюстрированного на Фиг. 7. Затем процессор 607 может передавать наложенное видео через третью шину 609 на порт вывода 611.[0130] System 600 further includes a first bus 605 and a second bus 613. As illustrated in FIG. 6, first bus 605 may transmit video received through input port 603 through at least one processor 607. For example, processor(s) 607 may implement any of the object detection and/or discriminator networks discussed herein. Accordingly, processor(s) 607 may overlay one or more indicators, such as the exemplary graphical indicator that is illustrated in FIG. 8, in video obtained via the first bus 602, for example, using the exemplary method 700 illustrated in FIG. 7. Processor 607 can then transmit the overlay video via third bus 609 to output port 611.
[0131] В определенных обстоятельствах, детектор объекта, реализованный процессором (ами) 607, может срабатывать неправильно. Например, программное обеспечение, реализующее детектор объектов, может дать сбой или иным образом перестать работать должным образом. Дополнительно или альтернативно, процессор(ы) 607 может получить команду на остановку наложения видео (например, от оператора системы 600). В ответ на неисправность и/или команду, процессор(ы) 607 может активировать вторую шину 613. Например, процессор(ы) 607 может послать команду или другой сигнал, как проиллюстрировано на Фиг. 6, чтобы активировать вторую шину 613.[0131] Under certain circumstances, the object detector implemented by processor(s) 607 may not operate correctly. For example, software implementing an object detector may crash or otherwise stop working properly. Additionally or alternatively, processor(s) 607 may be commanded to stop video overlay (eg, from an operator of system 600). In response to a fault and/or command, processor(s) 607 may activate second bus 613. For example, processor(s) 607 may send a command or other signal, as illustrated in FIG. 6 to activate the second bus 613.
[0132] Как проиллюстрировано на Фиг. 6, вторая шина 613 может передавать принятое видео непосредственно из порта ввода 603 в порт вывода 611, тем самым позволяя системе 600 функционировать в качестве сквозного канала для устройства визуализации 601. Вторая шина 613 может обеспечивать бесшовное представление видео с устройства визуализации 601, даже если программное обеспечение, реализованное процессором 607, работает со сбоями или в случае, когда оператор аппаратного наложения 600 решает остановить наложение в середине видеопотока.[0132] As illustrated in FIG. 6, a second bus 613 may transmit received video directly from an input port 603 to an output port 611, thereby allowing the system 600 to function as a pass-through channel to the renderer 601. The second bus 613 may provide a seamless presentation of video from the renderer 601, even if software the software implemented by the processor 607 malfunctions or in the event that the hardware overlay operator 600 decides to stop the overlay in the middle of the video stream.
[0133] На Фиг. 7 проиллюстрирована блок-схема приведенного в качества примера способа 700 наложения индикаторов объектов на видеопоток с использованием сети обнаружения объектов, в соответствии с вариантами воплощения настоящего изобретения. Способ 700 может выполняться одним или более процессорами. На этапе 701, проиллюстрированном на Фиг. 7, по меньшей мере один процессор может предоставить по меньшей мере одно изображение. Например, по меньшей мере одно изображение может быть извлечено из базы данных или получено с устройства формирования изображения. В некоторых вариантах воплощения, по меньшей мере одно изображение может содержать кадр из видеопотока.[0133] In FIG. 7 illustrates a flow diagram of an exemplary method 700 of overlaying object indicators on a video stream using an object detection network, in accordance with embodiments of the present invention. Method 700 may be performed by one or more processors. At step 701, illustrated in FIG. 7, the at least one processor may provide at least one image. For example, the at least one image may be retrieved from a database or obtained from an imaging device. In some embodiments, the at least one image may comprise a frame from the video stream.
[0134] На этапе 703, по меньшей мере один процессор может наложить границу, содержащую двумерную форму, вокруг области изображения, обнаруженной как содержащей интересующий элемент, причем граница визуализируется в первом цвете. На этапе 705, по истечении истекшего периода времени, по меньшей мере один процессор может изменить границу, чтобы она отображалась во втором цвете, если интересующая особенность является истинно положительной, и чтобы отображаться в третьем цвете, если интересующая особенность демонстрирует ложноположительное срабатывание. Истекший период времени может представлять собой заранее установленный период (например, пороговое количество кадров и/или секунд) и/или может представлять собой время, прошедшее между обнаружением интересующей особенности и ее классификацией как истинно положительного или ложноположительного срабатывания.[0134] At step 703, the at least one processor may impose a boundary containing a two-dimensional shape around an image region detected to contain an element of interest, the boundary being rendered in a first color. At step 705, after the elapsed period of time, the at least one processor may change the boundary to be displayed in a second color if the feature of interest is a true positive, and to be displayed in a third color if the feature of interest exhibits a false positive. The elapsed time period may be a predetermined period (eg, a threshold number of frames and/or seconds) and/or may be the time elapsed between detection of the feature of interest and its classification as a true positive or false positive.
[0135] Дополнительно или альтернативно, по меньшей мере один процессор может изменить границу на второй цвет, если интересующий объект отнесен к первой категории, и изменить границу на третий цвет, если интересующий объект отнесен ко второй категории. Например, если интересующей особенностью является поражение, первая категория может содержать раковые поражения, а вторая категория может содержать доброкачественные поражения.[0135] Additionally or alternatively, the at least one processor may change the boundary to a second color if the object of interest is classified as a first category, and change the boundary to a third color if the object of interest is classified as a second category. For example, if the feature of interest is a lesion, the first category may contain cancerous lesions and the second category may contain benign lesions.
[0136] В соответствии с настоящим изобретением, приведенный в качестве примера способ 700 может включать дополнительные этапы. Например, в некоторых вариантах воплощения, способ 700 может включать передачу команды одному или более динамикам для воспроизведения звука при изменении границы и/или передачу команды по меньшей мере одному носимому устройству для вибрации при изменении границы. В таких вариантах воплощения, по меньшей мере одно из длительности, тона, частоты и амплитуды звука и/или вибрации может зависеть от того, является ли по меньшей мере один обнаруженный объект истинно положительным или ложноположительным результатом.[0136] In accordance with the present invention, the exemplary method 700 may include additional steps. For example, in some embodiments, method 700 may include commanding one or more speakers to play a sound when a boundary changes and/or commanding at least one wearable device to vibrate when a boundary changes. In such embodiments, at least one of the duration, tone, frequency, and amplitude of the sound and/or vibration may depend on whether the at least one detected object is a true positive or a false positive.
[0137] На Фиг. 8A проиллюстрирован пример наложения 801 для обнаружения объекта в видео в соответствии с вариантами воплощения настоящего изобретения. В примере, проиллюстрированном на Фиг. 8A, а также на Фиг. 8B и 8C, проиллюстрированные образцы видео 800a и 800b взяты из результатов процедуры колоноскопии. Из настоящего изобретения будет понятно, что видео, взятое из результатов других процедур и устройств формирования изображения, может использоваться при реализации вариантов воплощения настоящего изобретения. Таким образом, образцы 800a и 800b видео являются неограничивающими примерами настоящего изобретения. Кроме того, пример видеодисплея, проиллюстрированный на Фиг. 8A-8C, может быть представлен на устройстве визуализации, таком как дисплей 107, проиллюстрированный на Фиг. 1, или дисплей 615, проиллюстрированный на Фиг. 6.[0137] In FIG. 8A illustrates an example of an overlay 801 for detecting an object in a video in accordance with embodiments of the present invention. In the example illustrated in FIG. 8A and also in FIG. 8B and 8C, illustrated sample videos 800a and 800b are taken from the results of a colonoscopy procedure. It will be appreciated from the present invention that video taken from the results of other imaging procedures and devices may be used in implementing embodiments of the present invention. Thus, video samples 800a and 800b are non-limiting examples of the present invention. Moreover, the video display example illustrated in FIG. 8A-8C may be presented on a display device such as the display 107 illustrated in FIG. 1, or display 615 illustrated in FIG. 6.
[0138] Наложение 801 представляет один пример графической границы, используемой в качестве индикатора для обнаруженной аномалии или интересующей особенности в видео. Как проиллюстрировано на Фиг. 8A, изображения 800a и 800b содержат кадры видео, содержащие обнаруженную интересующую особенность. Изображение 800b содержит графическое наложение 801 и соответствует кадру, который находится дальше по последовательности или позже по времени, чем изображение 800a.[0138] Overlay 801 represents one example of a graphical boundary used as an indicator for a detected anomaly or feature of interest in a video. As illustrated in FIG. 8A, images 800a and 800b contain video frames containing the detected feature of interest. Image 800b contains a graphic overlay 801 and corresponds to a frame that is further down the sequence or later in time than image 800a.
[0139] Как проиллюстрировано на Фиг. 8A, изображения 800a и 800b содержат видеокадры из колоноскопии, а интересующий объект представляет собой поражение или полип. В других вариантах воплощения, как упомянуто выше, можно использовать изображения из других медицинских процедур, таких как гастроскопия, энтероскопия, эндоскопия верхних отделов желудочно-кишечного тракта, такая как эндоскопия пищевода и т.п., и наложить их на графический индикатор, такой как наложение 801. В некоторых вариантах воплощения, индикатор 801 может быть наложен после обнаружения аномалии и истечения времени (например, определенного количества кадров и/или секунд между изображением 800a и изображением 800b). В примере, проиллюстрированном на Фиг. 8A, наложение 801 содержит индикатор в виде прямоугольной границы с заданным рисунком (то есть сплошными углами). В других вариантах воплощения, наложение 801 может иметь другую форму (правильную или неправильную). Кроме того, наложение 801 может отображаться в заранее заданном цвете или переходить от первого цвета к другому цвету.[0139] As illustrated in FIG. 8A, images 800a and 800b contain video frames from a colonoscopy and the object of interest is a lesion or polyp. In other embodiments, as mentioned above, images from other medical procedures such as gastroscopy, enteroscopy, upper gastrointestinal endoscopy such as esophageal endoscopy, etc. can be used and overlaid on a graphical indicator such as overlay 801. In some embodiments, indicator 801 may be overlaid after an anomaly is detected and time has elapsed (eg, a certain number of frames and/or seconds between image 800a and image 800b). In the example illustrated in FIG. 8A, overlay 801 includes an indicator in the form of a rectangular border with a specified pattern (ie, solid corners). In other embodiments, the overlay 801 may have a different shape (regular or irregular). In addition, the overlay 801 may be displayed in a predetermined color or transition from a first color to another color.
[0140] В примере, проиллюстрированном на Фиг. 8A, наложение 801 содержит индикатор со сплошными углами, окружающими обнаруженное местоположение интересующего объекта в видеокадре. Наложение 801 появляется в видеокадре 800b, который может последовательно следовать за видеокадром 800a.[0140] In the example illustrated in FIG. 8A, overlay 801 includes an indicator with solid corners surrounding the detected location of an object of interest in a video frame. Overlay 801 appears in video frame 800b, which may sequentially follow video frame 800a.
[0141] На Фиг. 8B проиллюстрирован другой пример отображения с наложением для обнаружения объекта в видео согласно вариантам воплощения настоящего изобретения. На Фиг. 8B проиллюстрировано изображение 810a (подобное изображению 800a) и более позднее изображение 810b (подобное изображению 800b), на которое накладывается индикатор 811. В примере, проиллюстрированном на Фиг. 8B, наложение 811 содержит прямоугольную рамку со сплошными линиями со всех сторон. В других вариантах воплощения, наложение 811 может иметь первый цвет и / или другую форму (правильную или неправильную). Кроме того, наложение 811 может отображаться в заранее заданном цвете или переходить от первого цвета к другому цвету. Как проиллюстрировано на Фиг. 8B, наложение 811 помещается поверх обнаруженной аномалии или интересующей особенности в видео. Наложение 811 появляется в видеокадре 810b, который может последовательно следовать за видеокадром 810a.[0141] In FIG. 8B illustrates another example of an overlay display for object detection in a video according to embodiments of the present invention. In FIG. 8B illustrates an image 810a (similar to image 800a) and a later image 810b (similar to image 800b) on which indicator 811 is superimposed. In the example illustrated in FIG. 8B, overlay 811 includes a rectangular frame with solid lines on all sides. In other embodiments, the overlay 811 may have a first color and/or a different shape (regular or irregular). In addition, the overlay 811 may be displayed in a predetermined color or transition from a first color to another color. As illustrated in FIG. 8B, an overlay 811 is placed over a detected anomaly or feature of interest in the video. Overlay 811 appears in video frame 810b, which may sequentially follow video frame 810a.
[0142] На Фиг. 8C проиллюстрирован другой пример изображения с наложением для обнаружения объекта в видео согласно вариантам воплощения настоящего изобретения. На Фиг. 8C проиллюстрировано изображение 820a (подобное изображению 800a) и более позднее изображение 820b (подобное изображению 800b), на которое накладывается индикатор 821. В примере, проиллюстрированном на Фиг. 8C, наложение 821 содержит прямоугольную границу с пунктирными линиями со всех сторон. В других вариантах воплощения, индикатор 821 может иметь другую форму (правильную или неправильную). Кроме того, наложение 821 может отображаться в заранее заданном цвете или переходить от первого цвета к другому цвету. Как проиллюстрировано на Фиг. 8C, наложение 821 помещается поверх обнаруженной аномалии или интересующей особенности в видео. Наложение 821 появляется в видеокадре 820b, который может последовательно следовать за видеокадром 820a.[0142] In FIG. 8C illustrates another example of an overlay image for object detection in a video according to embodiments of the present invention. In FIG. 8C illustrates an image 820a (similar to image 800a) and a later image 820b (similar to image 800b) on which indicator 821 is superimposed. In the example illustrated in FIG. 8C, overlay 821 includes a rectangular border with dotted lines on all sides. In other embodiments, the indicator 821 may have a different shape (regular or irregular). In addition, the overlay 821 may be displayed in a predetermined color or transition from a first color to another color. As illustrated in FIG. 8C, an overlay 821 is placed over a detected anomaly or feature of interest in the video. Overlay 821 appears in video frame 820b, which may sequentially follow video frame 820a.
[0143] В некоторых вариантах воплощения, графический индикатор (то есть наложение 801, 811 или 821) может изменять узор и/или цвет. Например, узор и/или цвет границы узора можно изменять в зависимости от периода времени (например, определенного количества кадров и/или секунд между изображением 800a и изображением 800b, изображением 810a и изображением 810b, или изображением 820a и изображением 820b). Дополнительно или в качестве альтернативы узор и/или цвет индикатора могут быть изменены в соответствии с конкретной классификацией интересующей особенности (например, если интересующая особенность представляет собой полип, классификация полипа как злокачественного или незлокачественного и т.п.). Более того, узор и/или цвет индикатора могут зависеть от классификации интересующей особенности. Соответственно, индикатор может иметь первый узор или цвет, если интересующая особенность отнесена к первой категории, второй узор или цвет, если интересующая особенность отнесена ко второй категории и т.п. В качестве альтернативы, узор и/или цвет индикатора может зависеть от того, идентифицирована ли интересующая особенность как истинно положительная или ложноположительная. Например, интересующая особенность может быть обнаружена сетью обнаружения объектов (или ветвью восприятия дискриминаторной сети), как упомянуто выше, что приводит к появлению индикатора, но затем определяется как ложноположительное срабатывание состязательной ветви или сети, как упомянуто выше, в результате чего индикатор представляет собой первый узор или цвет. Индикатор может отображаться во втором узоре или цвете, если вместо этого интересующая особенность определена состязательной ветвью или сетью как истинно положительная.[0143] In some embodiments, the graphical indicator (ie, overlay 801, 811, or 821) may change pattern and/or color. For example, the pattern and/or color of the pattern border may vary depending on the period of time (eg, a certain number of frames and/or seconds between image 800a and image 800b, image 810a and image 810b, or image 820a and image 820b). Additionally or alternatively, the pattern and/or color of the indicator may be changed according to the particular classification of the feature of interest (eg, if the feature of interest is a polyp, classification of the polyp as malignant or non-cancerous, etc.). Moreover, the pattern and/or color of the indicator may depend on the classification of the feature of interest. Accordingly, the indicator may have a first pattern or color if the feature of interest is classified in a first category, a second pattern or color if the feature of interest is classified in a second category, and the like. Alternatively, the pattern and/or color of the indicator may depend on whether the feature of interest is identified as a true positive or a false positive. For example, a feature of interest may be detected by an object detection network (or the perception branch of a discriminatory network) as mentioned above, resulting in an indicator, but is then detected as a false positive by the adversarial branch or network, as mentioned above, resulting in the indicator being the first pattern or color. The indicator may appear in a second pattern or color if the feature of interest is instead determined to be a true positive by the adversarial branch or network.
[0144] Вышеприведенное описание было представлено в целях иллюстрации. Оно не является исчерпывающим и не ограничивается раскрытыми точными формами или вариантами воплощения. Модификации и адаптации вариантов воплощения будут очевидны из рассмотрения спецификации и практики раскрытых вариантов воплощения. Например, описанные варианты воплощения включают в себя аппаратное обеспечение, однако, системы и способы, соответствующие настоящему изобретению, могут быть реализованы с помощью и аппаратного и программного обеспечения. Кроме того, хотя некоторые компоненты описаны как связанные друг с другом, такие компоненты могут быть, как интегрированы друг с другом, таки и распределены любым подходящим способом.[0144] The above description has been presented for purposes of illustration. It is not exhaustive and is not limited to the precise forms or embodiments disclosed. Modifications and adaptations of the embodiments will be apparent from consideration of the specification and practice of the disclosed embodiments. For example, the described embodiments include hardware, however, systems and methods in accordance with the present invention can be implemented using both hardware and software. In addition, although some components are described as being associated with each other, such components may be either integrated with each other or distributed in any suitable manner.
[0145] Кроме того, хотя в данном документе были описаны иллюстративные варианты воплощения, объем включает любые и все варианты воплощения, имеющие эквивалентные элементы, модификации, пропуски, комбинации (например, аспекты в различных вариантах воплощения), адаптации и/или изменения на основе настоящего изобретения. Элементы в формуле изобретения следует интерпретировать в широком смысле на основе языка, используемого в формуле изобретения, и не ограничиваться примерами, описанными в настоящем описании или во время рассмотрения заявки, причем эти примеры следует рассматривать как неисключительные. Кроме того, этапы раскрытых способов могут быть изменены любым способом, включая этапы переупорядочения и/или этапы вставки или удаления.[0145] Additionally, while illustrative embodiments have been described herein, the scope includes any and all embodiments having equivalent elements, modifications, omissions, combinations (e.g., aspects in different embodiments), adaptations, and/or changes based on of the present invention. Elements in the claims should be interpreted broadly based on the language used in the claims and not be limited to the examples described herein or at the time of examination of the application, which examples should be considered non-exclusive. In addition, the steps of the disclosed methods may be modified in any way, including rearrangement steps and/or insertion or deletion steps.
[0146] Признаки и преимущества изобретения очевидны из подробного описания, и, таким образом, подразумевается, что прилагаемая формула изобретения охватывает все системы и способы, попадающие в истинный дух и объем изобретения. В контексте данного документа, термины в единственном числе означают «один или более». Точно так же, использование термина во множественном числе не обязательно означает множество, если оно не является однозначным в данном контексте. Такие слова, как «и» или «или» означают «и/или», если специально не указано иное. Кроме того, поскольку многочисленные модификации и вариации будут легко иметь место при изучении настоящего изобретения, нежелательно ограничивать раскрытие точными конструкциями и операциями, проиллюстрированными и описанными, и, соответственно, могут быть применены все подходящие модификации и эквиваленты, подпадающие под действие объема изобретения.[0146] The features and advantages of the invention will be apparent from the detailed description, and it is therefore intended that the appended claims cover all systems and methods falling within the true spirit and scope of the invention. As used herein, singular terms mean “one or more.” Likewise, the use of a term in the plural does not necessarily mean plurality unless it is unambiguous in the context. Words such as “and” or “or” mean “and/or” unless specifically stated otherwise. In addition, since numerous modifications and variations will readily occur upon examination of the present invention, it is not desirable to limit the disclosure to the precise structures and operations illustrated and described and, accordingly, all suitable modifications and equivalents may be made within the scope of the invention.
[0147] Другие варианты воплощения будут очевидны из рассмотрения спецификации и практики раскрытых в данном документе вариантов воплощения. Предполагается, что описание и примеры следует рассматривать только как пример, при этом истинный объем и сущность раскрытых вариантов воплощения указаны в нижеследующей формуле изобретения.[0147] Other embodiments will be apparent from consideration of the specification and practice of the embodiments disclosed herein. It is intended that the description and examples be construed as exemplary only, with the true scope and spirit of the disclosed embodiments set forth in the following claims.
Claims (46)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/008,006 | 2018-06-13 | ||
EP18180570.6 | 2018-06-28 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2024113427A Division RU2024113427A (en) | 2018-06-13 | 2019-06-11 | SYSTEMS AND METHODS OF TRAINING GENERATIVE ADVANCED NETWORKS, AS WELL AS USING TRAINED ADVANCED NETWORKS |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2020141335A RU2020141335A (en) | 2022-07-13 |
RU2819619C2 true RU2819619C2 (en) | 2024-05-22 |
Family
ID=
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2493593C2 (en) * | 2007-12-13 | 2013-09-20 | Конинклейке Филипс Электроникс Н.В. | Method of extracting data from set of data of medical images |
RU2526892C2 (en) * | 2010-02-10 | 2014-08-27 | Кэнон Кабусики Кайся | Method of analysing phase information, data medium and x-ray imaging device |
US20180075599A1 (en) * | 2015-03-31 | 2018-03-15 | Mayo Foundation For Medical Education And Research | System and methods for automatic polyp detection using convulutional neural networks |
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2493593C2 (en) * | 2007-12-13 | 2013-09-20 | Конинклейке Филипс Электроникс Н.В. | Method of extracting data from set of data of medical images |
RU2526892C2 (en) * | 2010-02-10 | 2014-08-27 | Кэнон Кабусики Кайся | Method of analysing phase information, data medium and x-ray imaging device |
US20180075599A1 (en) * | 2015-03-31 | 2018-03-15 | Mayo Foundation For Medical Education And Research | System and methods for automatic polyp detection using convulutional neural networks |
Non-Patent Citations (2)
Title |
---|
AHN JUNGMO. et al. "Finding Small-Bowel Lesions: Challenges in Endoscopy-Image-Based Learning Systems", COMPUTER, IEEE COMPUTER SOCIETY, USA, vol. 51, no. 5, 24.05.2018. * |
ROSS TOBIAS. et al. "Exploiting the potential of unlabeled endoscopic video data with self-supervised learning", INTERNATIONAL JOURNAL OF COMPUTER ASSISTED RADIOLOGY AND SURGERY, SPRINGER, DE, vol. 13, no. 6. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11195052B2 (en) | Systems and methods for training generative adversarial networks and use of trained generative adversarial networks | |
US11574403B2 (en) | Systems and methods for processing real-time video from a medical image device and detecting objects in the video | |
RU2819619C2 (en) | Systems and methods of training generative-adversarial networks, as well as use of trained generative-adversarial networks | |
CN112567381B (en) | System and method for processing real-time video from a medical imaging device and detecting objects in the video |