RU2775808C9 - Neural network-based systems and computer-implemented methods for identifying and/or evaluating one or more food items present in a visual input - Google Patents

Neural network-based systems and computer-implemented methods for identifying and/or evaluating one or more food items present in a visual input Download PDF

Info

Publication number
RU2775808C9
RU2775808C9 RU2018130482A RU2018130482A RU2775808C9 RU 2775808 C9 RU2775808 C9 RU 2775808C9 RU 2018130482 A RU2018130482 A RU 2018130482A RU 2018130482 A RU2018130482 A RU 2018130482A RU 2775808 C9 RU2775808 C9 RU 2775808C9
Authority
RU
Russia
Prior art keywords
pizza
processor
cnn
slices
video frames
Prior art date
Application number
RU2018130482A
Other languages
Russian (ru)
Other versions
RU2018130482A (en
RU2018130482A3 (en
RU2775808C2 (en
Inventor
Леонид Александрович Шангин
Илья Евгеньевич Иванов
Уильям Кристофер УИНН
Original Assignee
Флорент Текнолоджиз, ЭлЭлСи
Filing date
Publication date
Application filed by Флорент Текнолоджиз, ЭлЭлСи filed Critical Флорент Текнолоджиз, ЭлЭлСи
Priority to RU2018130482A priority Critical patent/RU2775808C9/en
Priority to PCT/US2019/047171 priority patent/WO2020050973A2/en
Publication of RU2018130482A publication Critical patent/RU2018130482A/en
Priority to US17/179,771 priority patent/US11775908B2/en
Publication of RU2018130482A3 publication Critical patent/RU2018130482A3/ru
Application granted granted Critical
Publication of RU2775808C2 publication Critical patent/RU2775808C2/en
Publication of RU2775808C9 publication Critical patent/RU2775808C9/en

Links

Images

Abstract

FIELD: data processing.
SUBSTANCE: invention relates to a method, a system and a data medium for processing a video stream for identifying and evaluating the quality of pizza production. Method comprises receiving, by a processor, a continuous video stream from at least one camera position above a table configured to receive ready pizzas; collecting, using the processor, a plurality of video frames of the pizza containing video frames of the selected pizza from the video stream; using the processor to use a first convolutional neural network (CNN) to select a set of video frames of the selected pizza with the highest rating from the plurality of video frames of the pizza; using the processor first CNN to identify the image of the selected pizza with the highest rating from the set of video frames of the highest rated pizza; using the processor first CNN to localize at least one portion of the selected pizza in the identified image with the highest rating pizza; using the processor of the first CNN to determine the type of the selected pizza from the identified image with the highest rating pizza; using the processor to use a second convolutional neural network (CNN) to set a map of components of the selected pizza as a result of automatically performing segmentation of the image of the portion of pizza based on at least the type of pizza; and applying, by means of a processor, a second CNN for automatically scoring a selected pizza based on a given pizza component map, comprising: dividing, using a processor, a portion of pizza from the identified best image into a plurality of slices; calculating, using the processor, gradients of one of the plurality of slices of the selected pizza; repeating, by the processor, the step for calculating gradients of the remaining slices from the plurality of slices; and determining, using the processor, the final score of the selected pizza based on the calculation of gradients of the plurality of slices.
EFFECT: high accuracy of recognizing objects in a video stream.
30 cl, 23 dwg, 1 tbl

Description

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕFIELD OF TECHNOLOGY TO WHICH THE INVENTION RELATES

Настоящее изобретение, в основном, относится к процессам производства пищевых изделий и, в частности, к использованию одного или более методов машинного обучения (например, нейронной сети) для идентификации и/или оценки одного или более пищевых изделий в визуальной входной информации, генерируемой в процессе производства.The present invention generally relates to food production processes, and in particular to the use of one or more machine learning techniques (e.g., a neural network) to identify and/or evaluate one or more food products in visual input information generated in the process. production.

ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯBACKGROUND OF THE INVENTION

Быстро растущий спрос на пиццу создают для производителей пиццы стимулы к повышению качества и эффективности производства пиццы. Уровень техники, включающий разработки, посвященные проблеме оптимизации производства и повышению качества производимой пиццы, можно представить следующими техническими решениями - RU 2654199 C1 (Samsung Electronics Co., Ltd.), 16.05.2018; CN 106529564 A (Universal Zhejiang Technology), 22.03.2017; CN 108335300 A (Universal Beijing Technology & Business), 27.07.2018; CN 107563439 A (Hunan Luchuan Information Technology Co. Ltd.), 09.01.2018; US 2018/0122063 A1 (Roche Diabetes Care, Inc.), 03.05.2018: WO 2018/148740 A1 (Iceberg Luxembourg), 16.08.2018; US 9977980 B2 (Microsoft Technology Licensing, LLC), 22.05.2018; US 9659225 B2 (Microsoft Corporation), 23.05.2017; CN 1147723 С (Huazhong Science & Engineering), 28.04.2004; WO 2016/077934 A1 (Le Henaff, Guy), 26.05.2016. Однако большинство производителей пиццы по-прежнему использует ручной мониторинг процесса производства пиццы, являющийся причиной изменения качества пиццы и затрат времени и человеческого труда.The rapidly growing demand for pizza creates incentives for pizza producers to improve the quality and efficiency of pizza production. The level of technology, including developments devoted to the problem of optimizing production and improving the quality of pizza produced, can be represented by the following technical solutions - RU 2654199 C1 (Samsung Electronics Co., Ltd.), 05/16/2018; CN 106529564 A (Universal Zhejiang Technology), 03/22/2017; CN 108335300 A (Universal Beijing Technology & Business), 07/27/2018; CN 107563439 A (Hunan Luchuan Information Technology Co. Ltd.), 01/09/2018; US 2018/0122063 A1 (Roche Diabetes Care, Inc.), 05/03/2018: WO 2018/148740 A1 (Iceberg Luxembourg), 08/16/2018; US 9977980 B2 (Microsoft Technology Licensing, LLC), 05/22/2018; US 9659225 B2 (Microsoft Corporation), 05/23/2017; CN 1147723 C (Huazhong Science & Engineering), 04/28/2004; WO 2016/077934 A1 (Le Henaff, Guy), 05/26/2016. However, most pizza manufacturers still use manual monitoring of the pizza production process, which causes changes in the quality of the pizza and the cost of time and human labor.

КРАТКОЕ ИЗЛОЖЕНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION

В некоторых вариантах осуществления настоящее изобретение относится к типовым компьютерным системам и способам поиска и подсчета баллов пиццы, поддерживаемым видеокамерами и реализуемым с помощью усовершенствованных алгоритмов на основе сверточной нейронной сети (CNN), что обеспечивает преимущества точного подсчета баллов пиццы и позволяет повысить точность, эффективность и качество процессов производства пиццы.In some embodiments, the present invention relates to exemplary pizza retrieval and scoring computer systems and methods supported by video cameras and implemented with advanced convolutional neural network (CNN) algorithms that provide the benefits of accurate pizza scoring and improve accuracy, efficiency, and the quality of pizza production processes.

В некоторых вариантах осуществления настоящее изобретение относится к типовому заявленному, основанному на сверточной нейронной сети, компьютерно-реализуемому способу идентификации и оценки производства пищевых продуктов, такого как производство пиццы, включающему в себя: прием с помощью процессора непрерывного видеопотока, по меньшей мере, из одного положения камеры над столом, сконфигурированным для приема готовых пицц; сбор с помощью процессора множества видеокадров пиццы, содержащих видеокадры выбранной пиццы, из этого видеопотока; применение с помощью процессора первой CNN для выбора набора видеокадров выбранной пиццы с пиццей с самым высоким рейтингом из множества видеокадров пиццы; применение с помощью процессора первой CNN для идентификации изображения выбранной пиццы с пиццей с самым высоким рейтингом; применение с помощью процессора первой CNN для локализации, по меньшей мере, одной порции выбранной пиццы в идентифицированном изображении с пиццей с самым высоким рейтингом; применение с помощью процессора первой CNN для определения типа выбранной пиццы из идентифицированного изображения с пиццей с самым высоким рейтингом; применение с помощью процессора второй CNN для задания карты компонентов выбранной пиццы в результате автоматического выполнения сегментации изображения порции пиццы на основе, по меньшей мере, типа пиццы; и применение с помощью процессора второй CNN для автоматического подсчета баллов выбранной пиццы на основе заданной карты компонентов пиццы.In some embodiments, the present invention relates to an exemplary convolutional neural network-based, computer-implemented method for identifying and evaluating food production, such as pizza production, comprising: receiving, by means of a processor, a continuous video stream from at least one camera positions above a table configured to receive ready-made pizzas; collecting by the processor a plurality of pizza video frames containing video frames of the selected pizza from the video stream; applying, by the processor, the first CNN to select a set of video frames of the selected pizza with the highest rated pizza from the plurality of pizza video frames; applying by the processor the first CNN to identify the image of the selected pizza with the highest rated pizza; using the processor on the first CNN to localize at least one portion of the selected pizza in the identified image with the highest rated pizza; using the first CNN with the processor to determine the type of pizza selected from the identified image with the highest rated pizza; applying, by the processor, a second CNN to define a component map of the selected pizza by automatically performing image segmentation of the pizza portion based on at least the type of pizza; and using the second CNN by the processor to automatically score the selected pizza based on the predetermined pizza ingredients map.

В некоторых вариантах осуществления применение с помощью процессора второй CNN для автоматического подсчета баллов выбранной пиццы на основе заданной карты компонентов пиццы включает себя: разделение с помощью процессора порции пиццы из идентифицированного наилучшего изображения на множество ломтиков; вычисление с помощью процессора градиентов одного из множества ломтиков выбранной пиццы; повторение с помощью процессора этапа вычисления градиентов оставшихся ломтиков из множества ломтиков; и определение с помощью процессора итогового балла выбранной пиццы на основе вычисления градиентов множества ломтиков.In some embodiments, the processor's application of a second CNN to automatically score a selected pizza based on a given pizza component map includes: dividing the pizza slice from the identified best image into a plurality of slices by the processor; calculating with the gradient processor one of the plurality of slices of the selected pizza; repeating by the processor the step of calculating the gradients of the remaining slices from the plurality of slices; and determining, with the processor, a final score of the selected pizza based on the calculation of the gradients of the plurality of slices.

В некоторых вариантах осуществления видеокадры видеопотока распределяются по категориям в случаях, включающих в себя:In some embodiments, video frames of a video stream are categorized in cases including:

i) первый случай для изображений без пиццы;i) first case for images without pizza;

ii) второй случай для нецентрированных изображений пиццы;ii) second case for non-centered pizza images;

iii) третий случай для центрированных изображений пиццы и качеством разрешения, составляющим X;iii) the third case for centered pizza images and a resolution quality of X;

iv) четвертый случай для центрированных изображений пиццы и качеством разрешения, составляющим Y, где Υ выше чем X;iv) the fourth case for centered pizza images and a resolution quality of Y, where Υ is higher than X;

v) пятый случай для центрированных изображений пиццы первого типа и требуемым качеством разрешения; иv) the fifth case for centered pizza images of the first type and the required resolution quality; and

vi) шестой случай для центрированных изображений пиццы второго типа и требуемым качеством разрешения.vi) the sixth case for centered pizza images of the second type and the required resolution quality.

В некоторых вариантах осуществления применение первой CNN для выбора набора видеокадров пиццы с самым высоким рейтингом из видеокадров пиццы и идентификации наилучшего изображения выполняется с помощью графического процессора (GPU).In some embodiments, the application of the first CNN to select the highest rated set of pizza video frames from the pizza video frames and identify the best image is performed by a graphics processing unit (GPU).

В некоторых вариантах осуществления применение первой CNN для выбора набора видеокадров пиццы с самым высоким рейтингом из видеокадров пиццы выполняется с помощью неточного детектора высокого быстродействия.In some embodiments, applying the first CNN to select the highest rated set of pizza video frames from the pizza video frames is performed with a high speed imprecise detector.

В некоторых вариантах осуществления выбор набора видеокадров пиццы с самым высоким рейтингом включает в себя обесценивание каждого видеокадра пиццы с размытостью вследствие движения и/или размытостью вследствие расфокусировки.In some embodiments, selecting the highest rated set of pizza video frames includes discounting each pizza video frame with motion blur and/or defocus blur.

В некоторых вариантах осуществления применение первой CNN для идентификации наилучшего изображения выполняется с помощью точного детектора низкого быстродействия.In some embodiments, the application of the first CNN to identify the best image is performed with an accurate low speed detector.

В некоторых вариантах осуществления число элементов множества ломтиков составляет 8.In some embodiments, the number of elements of the slice set is 8.

В некоторых вариантах осуществления вторая CNN имеет путь сжатия и путь расширения.In some embodiments, the second CNN has a compression path and an extension path.

В некоторых вариантах осуществления путь сжатия включает в себя множество слоев свертки и активации.In some embodiments, the compression path includes a plurality of convolution and activation layers.

В некоторых вариантах осуществления путь сжатия дополнительно включает в себя слой субдискретизации и пакетной нормализации, следующий за первым слоем свертки и активации.In some embodiments, the compression path further includes a downsampling and batch normalization layer following the first convolution and activation layer.

В некоторых вариантах осуществления путь сжатия дополнительно включает в себя слой выпрямленных линейных единиц (ReLU) и слой подвыборки, следующие за каждым слоем свертки и активации перед переходом к следующему слою свертки и активации.In some embodiments, the compression path further includes a Rectified Linear Units (ReLU) layer and a subsampling layer following each convolution and activation layer before moving on to the next convolution and activation layer.

В некоторых вариантах осуществления путь расширения включает в себя последовательность повышающих сверток и конкатенаций, сконфигурированную для объединения пространственной информации о признаках с признаками высокого разрешения от пути сжатия.In some embodiments, the extension path includes a sequence of upconvolutions and concatenations configured to combine spatial feature information with high resolution features from the compression path.

В некоторых вариантах осуществления применение первой CNN для локализации, по меньшей мере, одной порции определенной пиццы в идентифицированном изображении с пиццей с самым высоким рейтингом включает в себя: определение ограничивающей рамки и использование одной или более предварительно заданных двоичных масок.In some embodiments, applying the first CNN to localize at least one serving of a particular pizza in the identified top rated pizza image includes: defining a bounding box and using one or more predefined binary masks.

В некоторых вариантах осуществления настоящее изобретение относится к типовой заявленной, основанной на сверточной нейронной сети, компьютерно-реализуемой системе идентификации и оценки производства пищевых продуктов, такого как производство пиццы, включающей в себя: по меньшей мере, одно устройство захвата изображения; долговременное запоминающее устройство; один или более процессоров; и компьютерный программный код, хранимый в этом долговременном запоминающем устройстве, обеспечивающий при исполнении одним или более процессорами выполнение одним или более процессорами: приема непрерывного видеопотока, по меньшей мере, из одного положения камеры над столом, сконфигурированным для приема готовых пицц; сбора множества видеокадров пиццы, содержащих видеокадры выбранной пиццы, из этого видеопотока; применение первой CNN для выбора набора видеокадров выбранной пиццы с пиццей с самым высоким рейтингом из множества видеокадров с пиццей; применение первой CNN для идентификации изображения выбранной пиццы с пиццей с самым высоким рейтингом из набора видеокадров пиццы с самым высоким рейтингом; применение первой CNN для локализации, по меньшей мере, одной порции выбранной пиццы в идентифицированном изображении с пиццей с самым высоким рейтингом; применение первой CNN для определения типа выбранной пиццы из идентифицированного изображения с пиццей с самым высоким рейтингом; применение второй CNN для задания карты компонентов выбранной пиццы в результате автоматического выполнения сегментации изображения порции пиццы на основе, по меньшей мере, типа пиццы; и применение второй CNN для автоматического подсчета баллов выбранной пиццы на основе заданной карты компонентов пиццы.In some embodiments, the present invention relates to an exemplary convolutional neural network-based, computer-implemented system for identifying and evaluating food production, such as pizza production, comprising: at least one image capture device; long-term storage device; one or more processors; and computer program code stored in the long-term memory, causing, when executed by the one or more processors, the one or more processors to: receive a continuous video stream from at least one camera position above a table configured to receive finished pizzas; collecting a plurality of pizza video frames containing video frames of the selected pizza from the video stream; applying the first CNN to select a set of video frames of the selected pizza pizza with the highest rating from the plurality of pizza video frames; applying the first CNN to identify an image of the selected pizza with the highest rated pizza from the set of video frames of the highest rated pizza; applying the first CNN to localize at least one portion of the selected pizza in the identified image with the highest rated pizza; applying the first CNN to determine the type of pizza selected from the identified image with the highest rated pizza; applying the second CNN to define a component map of the selected pizza by automatically performing image segmentation of the pizza portion based on at least the type of pizza; and applying the second CNN to automatically score the selected pizza based on the given pizza ingredients map.

В некоторых вариантах осуществления компьютерный программный код включает в себя инструкции по: применению второй CNN для автоматического подсчета баллов выбранной пиццы на основе заданной карты компонентов пиццы, включающему в себя: деление порции пиццы в идентифицированном наилучшем изображении на множество ломтиков; вычисление градиентов одного из множества ломтиков выбранной пиццы; повторение шага вычисления градиентов для вычисления градиентов оставшихся ломтиков из множества ломтиков; и определение итогового балла выбранной пиццы на основе вычисления градиентов множества ломтиков.In some embodiments, the computer program code includes instructions for: applying a second CNN to automatically score a selected pizza based on a given map of pizza ingredients, including: dividing the pizza portion in the identified best image into a plurality of slices; calculating gradients of one of the plurality of selected pizza slices; repeating the gradient calculation step to calculate gradients of the remaining slices from the plurality of slices; and determining the final score of the selected pizza based on the calculation of the gradients of the plurality of slices.

В некоторых вариантах осуществления компьютерный программный код включает в себя инструкции по применению первой CNN на GPU для выбора набора видеокадров пиццы с самым высоким рейтингом из видеокадров пиццы и идентификации наилучшего изображения.In some embodiments, the computer program code includes instructions for applying the first CNN on the GPU to select the highest rated set of pizza video frames from the pizza video frames and identify the best image.

В некоторых вариантах осуществления компьютерный программный код включает в себя инструкции по применению первой CNN для выбора набора видеокадров пиццы с самым высоким рейтингом из видеокадров пиццы, выполняемого с помощью неточного детектора высокого быстродействия.In some embodiments, the computer program code includes instructions for using the first CNN to select the highest rated set of pizza video frames from the pizza video frames performed by the high speed inaccurate detector.

В некоторых вариантах осуществления компьютерный программный код включает в себя инструкции по применению первой CNN для идентификации наилучшего изображения, выполняемой с помощью точного детектора низкого быстродействия.In some embodiments, the computer program code includes instructions for using the first CNN to identify the best image, performed with an accurate low speed detector.

В некоторых вариантах осуществления настоящее изобретение относится к типовому заявленному, основанному на сверточной нейронной сети, компьютерно-реализуемому, долговременному, считываемому компьютером носителю информации для идентификации и оценки производства пищевых продуктов, такого как производство пиццы, включающего в себя исполняемые процессором инструкции по: приему непрерывного видеопотока, по меньшей мере, из одного положения камеры над столом, сконфигурированным для приема готовых пицц; сбору множества видеокадров пиццы, содержащих видеокадры выбранной пиццы, из этого видеопотока; выбору набора видеокадров выбранной пиццы с пиццей с самым высоким рейтингом из множества видеокадров с пиццей; применения первой CNN для идентификации изображения выбранной пиццы с пиццей с самым высоким рейтингом из набора видеокадров с пиццей с самым высоким рейтингом; применению первой CNN для локализации, по меньшей мере, одной порции выбранной пиццы в идентифицированном изображении с пиццей с самым высоким рейтингом; применению первой CNN для определения типа выбранной пиццы из идентифицированного изображения с пиццей с самым высоким рейтингом; применению второй CNN для задания карты компонентов выбранной пиццы в результате автоматического выполнения сегментации изображения порции пиццы на основе, по меньшей мере, типа пиццы; и применению второй CNN для автоматического подсчета баллов выбранной пиццы на основе заданной карты компонентов пиццы.In some embodiments, the present invention relates to an exemplary convolutional neural network-based, computer-realizable, durable, computer-readable storage medium for identifying and evaluating food production, such as pizza production, comprising processor-executable instructions for: receiving a continuous a video stream from at least one camera position above a table configured to receive finished pizzas; collecting a plurality of pizza video frames containing video frames of the selected pizza from the video stream; selecting a set of video frames of the selected pizza pizza with the highest rating from the plurality of pizza video frames; applying the first CNN to identify an image of the selected top rated pizza pizza from the set of top rated pizza video frames; applying the first CNN to localize at least one serving of the selected pizza in the identified image with the highest rated pizza; applying the first CNN to determine the type of pizza selected from the identified image with the highest rated pizza; applying a second CNN to define a component map of the selected pizza by automatically performing image segmentation of the pizza portion based on at least the type of pizza; and applying the second CNN to automatically score the selected pizza based on the given pizza ingredients map.

В некоторых вариантах осуществления долговременный считываемый компьютером носитель информации включает в себя исполняемые процессором инструкции по применению второй CNN для автоматического подсчета баллов выбранной пиццы на основе заданной карты компонентов пиццы, включающему в себя: деление порции пиццы в идентифицированном наилучшем изображении на множество ломтиков; вычисление градиентов одного из множества ломтиков выбранной пиццы; повторение шага вычисления градиентов для вычисления градиентов оставшихся ломтиков из множества ломтиков; и определение итогового балла выбранной пиццы на основе вычисления градиентов множества ломтиков.In some embodiments, the non-volatile computer-readable storage medium includes processor-executable instructions for applying a second CNN to automatically score a selected pizza based on a predetermined map of pizza ingredients, including: dividing the pizza portion in the identified best image into a plurality of slices; calculating gradients of one of the plurality of selected pizza slices; repeating the gradient calculation step to calculate gradients of the remaining slices from the plurality of slices; and determining the final score of the selected pizza based on the calculation of the gradients of the plurality of slices.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS

Дополнительное объяснение настоящего изобретения может быть сделано со ссылками на прилагаемые чертежи, на которых одинаковые структуры обозначены одинаковыми цифрами на всех отдельных видах. Представленные чертежи выполнены не обязательно в масштабе, причем с акцентом, как правило, на иллюстрации принципов настоящего изобретения. Поэтому выбранные структурные и функциональные детали, раскрываемые в данном документе, должны интерпретироваться не как ограничивающие, а исключительно в качестве представительной основы для обучения специалистов в данной области техники разнообразному применению настоящего изобретения.Further explanation of the present invention can be made with reference to the accompanying drawings, in which the same structures are indicated by the same numbers in all individual views. The drawings shown are not necessarily drawn to scale, with emphasis generally on illustrating the principles of the present invention. Therefore, the selected structural and functional details disclosed herein should not be interpreted as limiting, but solely as a representative basis for teaching those skilled in the art the various uses of the present invention.

На фиг. 1-9 показаны блок-схемы и/или определенные компьютерные архитектуры, являющиеся представительными для некоторых типовых объектов настоящего изобретения в соответствии, по меньшей мере, с некоторыми принципами, по меньшей мере, в некоторых вариантах осуществления настоящего изобретения.In FIG. 1-9 show block diagrams and/or certain computer architectures that are representative of some exemplary aspects of the present invention, in accordance with at least some principles in at least some embodiments of the present invention.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯDETAILED DESCRIPTION OF THE INVENTION

Среди преимуществ и усовершенствований, которые были раскрыты, другие объекты и преимущества этого изобретения могут стать очевидными из приводимого ниже описания, сопровождаемого прилагаемыми фигурами. В данном документе раскрыты детализированные варианты осуществление настоящего изобретения; однако, следует понимать, что раскрытые варианты осуществления представляют собой исключительно иллюстрации изобретения, которое может быть осуществлено в различных формах. Кроме того, каждый из примеров, приведенных в различных вариантах осуществления настоящего изобретения, носит исключительно иллюстративный, а не ограничивающий характер. Например, многочисленные варианты осуществления и примеры настоящего изобретения касаются оценки пицц, однако понятно, что многие модификации могут стать очевидными для специалистов в данной области техники, в том числе, применение принципов настоящего изобретения для подсчета баллов других пищевых изделий, которые могут быть подвергнуты визуальной классификации и подсчету баллов (например, пирожных, хлеба и других печеных изделий; различных приготовленных продуктов (например, жареного цыпленка) и т.д.).Among the advantages and improvements that have been disclosed, other objects and advantages of this invention may become apparent from the description below, accompanied by the accompanying figures. This document discloses detailed embodiments of the present invention; however, it should be understood that the disclosed embodiments are merely illustrative of the invention, which may be embodied in various forms. In addition, each of the examples given in the various embodiments of the present invention is for illustrative purposes only and is not restrictive. For example, numerous embodiments and examples of the present invention relate to the scoring of pizzas, however, it is understood that many modifications may become apparent to those skilled in the art, including the application of the principles of the present invention to scoring other foods that may be subjected to visual grading. and scoring (eg cakes, breads and other baked goods; various cooked foods (eg fried chicken), etc.).

По всему описанию каждый из приводимых ниже терминов имеет значения в данном документе одно смысловое значение, если в контексте ясно не оговорено иное. Фразы "в одном варианте осуществления" и "в некоторых вариантах осуществления", используемые в данном документе, необязательно относятся к одному и тому же варианту(ам) осуществления, однако это не исключено. Кроме того, фразы "в другом варианте осуществления" и "в некоторых других вариантах осуществления" в данном документе необязательно относятся к разным вариантам осуществления, однако это не исключено. Таким образом, как описано ниже, различные варианты осуществления изобретения могут быть без труда объединены без выхода за пределы объема или сущности изобретения.Throughout the description, each of the following terms has the same meaning in this document, unless the context clearly states otherwise. The phrases "in one embodiment" and "in some embodiments" as used herein do not necessarily refer to the same embodiment(s), but this is not excluded. In addition, the phrases "in another embodiment" and "in some other embodiments" in this document do not necessarily refer to different embodiments, but this is not excluded. Thus, as described below, various embodiments of the invention can be easily combined without departing from the scope or essence of the invention.

Кроме того, термин "на основе" носит неисключительный характер и предусматривает возможность учета дополнительных неописанных факторов, если в контексте ясно не оговорено иное. Кроме того, по всему описанию значения существительных с неопределенным и определенным артиклями включают в себя множественное число, а значение "в" включает в себя "в" и "на".In addition, the term "based on" is non-exclusive and includes the possibility of taking into account additional factors not described, unless the context clearly indicates otherwise. In addition, throughout the description, the meanings of nouns with indefinite and definite articles include the plural, and the meaning of "in" includes "in" and "on".

Следует понимать, что, по меньшей мере, один объект/функциональность различных вариантов осуществления, описанных в данном документе, может выполняться в реальном времени и/или в динамике. В данном документе, термин "в реальном времени" относится к событию/действию, которое может происходить мгновенно или почти мгновенно во время наступления другого события. Например, фразы "обработка в реальном времени", "вычисление в реальном времени" и "выполнение в реальном времени" относятся к производительности вычислений в течение фактического времени протекания связанного физического процесса обработки (например, в процессе взаимодействия пользователя с приложением на мобильном устройстве), чтобы обеспечить возможность использования результатов вычисления для управления этим физическим процессом обработки.It should be understood that at least one object/functionality of the various embodiments described herein may be performed in real time and/or dynamically. As used herein, the term "real time" refers to an event/action that may occur instantly or almost instantly at the time of another event. For example, the phrases "real-time processing", "real-time computing", and "real-time execution" refer to the performance of computing during the actual time of the associated physical processing (for example, during user interaction with an application on a mobile device), to enable the results of the calculation to be used to control this physical processing.

Используемый в данном документе термин "время выполнения" соответствует любому действию, динамически определяемому во время выполнения программного приложения или, по меньшей мере, части программного приложения.As used herein, the term "runtime" refers to any action that is dynamically determined during the execution of a software application, or at least a portion of a software application.

Термин, "динамичный (в динамике)" означает возможность инициирования и/или наступления событий и/или действий без какого-либо вмешательства человека. В некоторых вариантах осуществления события и/или действия в соответствии с настоящим изобретением могут происходить в реальном времени и/или с предварительно заданной периодичностью, по меньшей мере, в течение: наносекунды, нескольких наносекунд, миллисекунд, нескольких миллисекунд, секунд, несколько секунд, минут и/или нескольких минут, ежечасно, с периодичностью в несколько часов, ежедневно, с периодичностью в несколько дней, еженедельно и/или ежемесячно и т.д.The term "dynamic (in dynamics)" means the possibility of initiating and/or occurrence of events and/or actions without any human intervention. In some embodiments, events and/or actions in accordance with the present invention may occur in real time and/or at predetermined intervals of at least: nanoseconds, multiple nanoseconds, milliseconds, multiple milliseconds, seconds, multiple seconds, minutes and/or several minutes, hourly, several hours apart, daily, several days apart, weekly and/or monthly, etc.

В некоторых вариантах осуществления заявленные электронные системы имеют связь с электронными мобильными устройствами (например, смартфонами и т.д.) пользователей и сервером(ами) в распределенной сетевой среде, обеспечивающую обмен данными через подходящую сеть передачи данных (например, интернет и т.д.) с использованием, по меньшей мере, одного подходящего протокола передачи данных (например, IPX/SPX, Х.25, АХ.25, AppleTalk(TM), TCP/IP (например, HTTP) и т.д.). В некоторых вариантах осуществления допускается множество параллельных пользователей (например, линий/станций по производству пиццы), в том числе, по меньшей мере, 2 (например, в том числе, 2-10), по меньшей мере, 10 (например, в том числе, 10-100), по меньшей мере, 100 (например, в том числе, 100-1000), по меньшей мере, 1000 (например, в том числе, 1000-10000) и т.д.In some embodiments, the claimed electronic systems are in communication with the electronic mobile devices (e.g., smartphones, etc.) of users and the server(s) in a distributed network environment, allowing data to be exchanged over a suitable data network (e.g., the Internet, etc.). .) using at least one suitable communication protocol (eg IPX/SPX, X.25, AX.25, AppleTalk(TM), TCP/IP (eg HTTP), etc.). In some embodiments, multiple concurrent users (e.g., pizza lines/station) are allowed, including at least 2 (e.g., including 2-10), at least 10 (e.g., including including 10-100), at least 100 (for example, including 100-1000), at least 1000 (for example, including 1000-10000), etc.

В некоторых вариантах осуществления заявленные специально запрограммированные вычислительные системы со связанными устройствами сконфигурированы для работы в распределенной сетевой среде, обеспечивающей обмен данными через подходящую сеть передачи данных (например, интернет и т.д.) с использованием, по меньшей мере, одного подходящего протокола передачи данных (например, IΡΧ/SPX, Х.25, АХ25, AppleTalk(TM), TCP/IP (например, HTTP) и т.д.). Следует отметить, что описанные в данном документе варианты осуществления, разумеется, могут быть реализованы с использованием любых подходящих языков аппаратного и/или компьютерного программного обеспечения. При этом специалисты в данной области хорошо разбираются в типе используемого компьютерного оборудования, типе методов компьютерного программирования, которые могут быть использованы (например, объектно-ориентированного программирования) и типе языков компьютерного программирования которые могут быть использованы (например, С ++, Objective-C, Swift, Java, Javascript, Python, Perl). Разумеется, приведенные примеры носят иллюстративный, а не ограничительный характер.In some embodiments, the claimed specially programmed computing systems with associated devices are configured to operate in a distributed network environment enabling data to be exchanged over a suitable data network (e.g., the Internet, etc.) using at least one suitable data transfer protocol. (e.g. IO/SPX, X.25, AX25, AppleTalk(TM), TCP/IP (e.g. HTTP), etc.). It should be noted that the embodiments described herein can, of course, be implemented using any suitable hardware and/or computer software languages. However, those skilled in the art are well versed in the type of computer hardware used, the type of computer programming techniques that can be used (e.g., object-oriented programming), and the type of computer programming languages that can be used (e.g., C++, Objective-C). , Swift, Java, Javascript, Python, Perl). Of course, the examples given are illustrative and not restrictive.

Термины "изображение(я)" и "данные изображения" в данном являются взаимозаменяемыми и служат для идентификации данных, представляющих визуальный контент, который включает в себя, в том числе, изображения, закодированные в различных компьютерных форматах (например, ".jpg", ".bmp" и т.д.), потоковое видео на основе различных протоколов (например, протокола потоковой передачи в реальном времени (RTSP), протокола передачи в реальном времени (RTP), протокола управления передачей в реальном времени (RTCP) и т.д.), записанное/генерируемое непотокового видео различных форматов (например, ".mov", ".mpg", ".wmv", ".avi", ".flv" и т.д.), и визуальные образы в реальном времени, полученные через приложения для камеры на мобильном устройстве.The terms "image(s)" and "image data" are used interchangeably herein and serve to identify data representing visual content, which includes, but is not limited to, images encoded in various computer formats (e.g., ".jpg", ".bmp", etc.), video streaming based on various protocols (such as Real Time Streaming Protocol (RTSP), Real Time Transfer Protocol (RTP), Real Time Transmission Control Protocol (RTCP), etc.) .d.), recorded/generated non-streaming video in various formats (e.g. ".mov", ".mpg", ".wmv", ".avi", ".flv" etc.), and visual images in real-time received through the camera applications on a mobile device.

Раскрытые в данном документе объекты изобретения могут быть реализованы в виде программного обеспечении или встроенного программного обеспечения или их комбинации или в виде инструкций, хранимых на машиночитаемом носителе, с возможностью считывания и исполнения с помощью одного или более процессоров. Машиночитаемый носитель может включать в себя любой носитель и/или механизм для хранения или передачи информации в форме, доступной для считывания машиной (например, вычислительным устройством). Например, машиночитаемый носитель может включать в себя постоянную память (ROM); оперативную память (RAM); накопители на магнитных дисках; оптические носители; устройства флэш-памяти; электрические, оптические, акустические или другие формы распространяемых сигналов (например, несущие волны, инфракрасные сигналы, цифровые сигналы и т.д.) и другие.The subject matter disclosed herein may be implemented in software or firmware, or a combination thereof, or as instructions stored on a computer-readable medium that can be read and executed by one or more processors. A computer-readable medium may include any medium and/or mechanism for storing or transmitting information in a machine-readable (eg, computing device) form. For example, the computer-readable medium may include Read Only Memory (ROM); random access memory (RAM); magnetic disk drives; optical media; flash memory devices; electrical, optical, acoustic or other forms of propagated signals (eg carrier waves, infrared signals, digital signals, etc.) and others.

В любом из упомянутых выше примеров или в других примеры в качестве машиночитаемого носителя другой формы может быть использован долговременный считываемый компьютером носитель. Исключение составляют случаи использования транзиторного сигнала как такового. В качестве такого носителя могут быть использованы элементы, отличные от элементов с использованием сигнала как такового, с возможностью временного хранения данных "в течение короткого времени", такие как RAM и т.д.In any of the examples mentioned above, or in other examples, a non-transitory computer-readable medium can be used as another form of computer-readable medium. The exception is when using a transient signal as such. As such a carrier, elements other than elements using a signal as such, with the ability to temporarily store data "for a short time", such as RAM, etc., can be used.

Термины "компьютерный двигатель" и "двигатель" идентифицируют в данном документе, по меньшей мере, один программный компонент и/или комбинацию, по меньшей мере, одного программного компонента и, по меньшей мере, одного аппаратного компонента, которые спроектированы/запрограммированы/сконфигурированы для управления/контроля других программных и/или аппаратных компонентов (таких как библиотеки, комплекты разработки программного обеспечения (SDK), объекты и т.д.).The terms "computer engine" and "engine" identify herein at least one software component and/or a combination of at least one software component and at least one hardware component that is designed/programmed/configured to management/control of other software and/or hardware components (such as libraries, software development kits (SDKs), objects, etc.).

Примеры аппаратных элементов могут включать в себя процессоры, микропроцессоры, схемы, элементы схем (например, транзисторы, резисторы, конденсаторы, индуктивности и т.д.), интегральные схемы, специализированные интегральные схемы (ASIC), программируемые логические устройства (PLD), цифровые сигнальные процессоры (DSP), программируемые вентильные матрицы (FPGA), логические вентили, регистры, полупроводниковые приборы, чипы, микрочипы, чипсеты и т.д. В некоторых вариантах осуществления один или более процессоров могут быть реализованы как процессоры с полным набором команд (CISC) или процессоры с сокращенным набором команд (RISC), х86-совместимые процессоры, многоядерные или любые другие микропроцессоры, центральные процессоры (CPU) или графические процессоре (GPU).Examples of hardware elements may include processors, microprocessors, circuits, circuit elements (e.g., transistors, resistors, capacitors, inductors, etc.), integrated circuits, application specific integrated circuits (ASICs), programmable logic devices (PLDs), digital signal processors (DSPs), field programmable gate arrays (FPGAs), logic gates, registers, semiconductors, chips, microchips, chipsets, etc. In some embodiments, one or more of the processors may be implemented as full instruction set (CISC) or reduced instruction set (RISC) processors, x86 compatible processors, multi-core, or any other microprocessor, central processing unit (CPU), or graphics processor ( GPU).

В различных примерах реализации один или более процессоров могут представлять собой двухъядерный процессор(ы), двухъядерный мобильный процессор(ы) и т.д.In various embodiments, one or more processors may be dual core processor(s), dual core mobile processor(s), etc.

Примеры программного обеспечения могут включать в себя компоненты программного обеспечения, программы, приложения, компьютерные программы, прикладные программы, системные программы, машинные программы, программное обеспечение операционных систем, промежуточное программное обеспечение, встроенное программное обеспечение, программные модули, стандартные программы, стандартные подпрограммы, функции, методы, процедуры, программные интерфейсы, интерфейсы прикладных программ (API), наборы инструкций, вычислительный код, машинный код, сегменты кода, сегменты машинного кода, слова, значения, символы или любую их комбинацию. Решение о реализации варианта осуществления с использованием аппаратных элементов и/или элементов программного обеспечения может варьироваться в зависимости от немалого числа факторов, таких как требуемая скорость вычислений, уровни мощности, допуски температурного режима, бюджет цикла обработки, скорости входных данных, скорости выходных данных, ресурсы памяти, скорости шины данных и другие ограничения по конструкции или производительности.Examples of software may include software components, programs, applications, computer programs, application programs, system programs, machine programs, operating system software, middleware, firmware, program modules, routines, routines, functions , methods, procedures, programming interfaces, application program interfaces (APIs), instruction sets, computational code, machine code, code segments, machine code segments, words, values, symbols, or any combination thereof. The decision to implement an implementation using hardware and/or software elements may vary depending on a number of factors such as required computational speed, power levels, thermal tolerances, processing cycle budget, input data rates, output data rates, resources. memory, data bus speed, and other design or performance limitations.

В одном примере реализации многопроцессорная система может включать в себя множество процессорных чипов, каждый из которых включает в себя, по меньшей мере, один компонент ввода/вывода, который предназначен для непосредственного соединения с фотонными компонентами для соединения, по меньшей мере, с устройством ввода/вывода. В некоторых вариантах осуществления устройство ввода/вывода может представлять собой стандартный интерфейс, такой как интерфейс, регламентируемый стандартом (PCIe) периферийных компонентов, универсальная последовательная шина (USB), Ethernet, Infiniband и т.п. В некоторых вариантах осуществления устройство ввода/вывода может включать в себя запоминающее устройство.In one embodiment, a multiprocessor system may include a plurality of processor chips, each of which includes at least one input/output component that is designed to be directly connected to photonic components for connection to at least an input/output device. output. In some embodiments, the I/O device may be a standard interface, such as a Peripheral Components Defined Interface (PCIe), Universal Serial Bus (USB), Ethernet, Infiniband, and the like. In some embodiments, the implementation of the input/output device may include a storage device.

В одном примере реализации многопроцессорная система может включать в себя множество фотонных компонентов и память вне чипа. Память вне чипа может совместно использоваться более чем одним из процессорных чипов. Память вне чипа может непосредственно соединяться с одним процессорным чипом и совместно использоваться с другими процессорными чипами с использованием архитектуры глобальной памяти, реализованную с использованием подхода "процессор к процессору". Многопроцессорная система может также включать в себя кэш-память и множество процессорных чипов, каждый из которых включает в себя, по меньшей мере, один компонент ввода/вывода, предназначенный для непосредственного соединения с фотонными компонентами для обмена данными с одним или несколькими другими процессорными чипами. По меньшей мере, один компонент ввода/вывода, по меньшей мере, одного из процессорных чипов может быть сконфигурирован для использования протокола когерентности кэш-памяти. В некоторых вариантах осуществления кэш-память, по меньшей мере, одного из процессорных чипов может быть сконфигурирована для хранения информации каталогов. В некоторых вариантах осуществления память вне чипа может включать в себя DRAM (динамическую оперативную память). В некоторых вариантах осуществления информация каталогов может храниться в памяти вне чипа и в кэш-памяти на чипе, по меньшей мере, одного из процессорных чипов. В некоторых вариантах осуществления многопроцессорная система может дополнительно включать в себя подсистему каталогов, сконфигурированную с некоторой частью подсистемы, реализованной на высокопроизводительном чипе, который является частью стека памяти 3D DRAM. В некоторых вариантах осуществления многопроцессорная система может дополнительно включать в себя подсистему каталогов, сконфигурированную для поддержки различного числа разделителей на блок памяти. В некоторых вариантах осуществления многопроцессорная система может дополнительно включать в себя подсистему каталогов, сконфигурированную для поддержки различного числа разделителей на блок памяти с использованием хеширования для записей с памятью для различного числа указателей для разделителей. В некоторых вариантах осуществления многопроцессорная система может дополнительно включать в себя подсистему каталогов, сконфигурированную для использования хеширования для уменьшения объема памяти, выделенной для блоков памяти с нулевым числом разделителей.In one embodiment, a multiprocessor system may include a plurality of photonic components and off-chip memory. Off-chip memory can be shared by more than one of the processor chips. Off-chip memory can be directly coupled to one processor chip and shared with other processor chips using a global memory architecture implemented using a processor-to-processor approach. The multiprocessor system may also include a cache memory and a plurality of processor chips, each of which includes at least one input/output component for direct communication with photonic components for communication with one or more other processor chips. At least one I/O component of at least one of the processor chips may be configured to use a cache coherency protocol. In some embodiments, a cache memory of at least one of the processor chips may be configured to store directory information. In some embodiments, off-chip memory may include DRAM (Dynamic Random Access Memory). In some embodiments, the directory information may be stored in an off-chip memory and an on-chip cache of at least one of the processor chips. In some embodiments, the multiprocessor system may further include a directory subsystem configured with some portion of the subsystem implemented on a high performance chip that is part of the 3D DRAM memory stack. In some embodiments, the multiprocessor system may further include a directory subsystem configured to support a different number of delimiters per memory block. In some embodiments, the multiprocessor system may further include a directory subsystem configured to support a different number of delimiters per memory block using hashing for memory entries for a different number of delimiter pointers. In some embodiments, the multiprocessor system may further include a directory subsystem configured to use hashing to reduce the amount of memory allocated to zero delimiter memory blocks.

Один или более объектов, по меньшей мере, одного варианта осуществления может быть реализован при помощи представительных инструкций, хранимых на машиночитаемом носителе, представляющем различную логику в процессоре, которые при считывании машиной инициируют эту машину на создание логики выполнения технических решений, описываемых в данном документе. Такие представления, известные как "IP-ядра", могут храниться на материальном машиночитаемом носителе и представляться различным клиентами или производственным объектам для загрузки в машины-изготовители, которые фактически создают логику или процессор.One or more objects of at least one embodiment may be implemented by representative instructions stored on a machine-readable medium representing various logic in a processor, which, when read by a machine, cause that machine to generate logic for executing the technical solutions described herein. Such representations, known as "IP cores", may be stored on a tangible computer-readable medium and presented to various clients or manufacturing entities for download to manufacturing machines that actually create the logic or processor.

Иллюстративные примеры заявленных, основанных на CNN,Illustrative examples of claimed, based on CNN,

компьютерно-реализуемых способов поиска и подсчета баллов пиццы в видеопотокеcomputer-implemented methods for searching and counting pizza points in a video stream

Иллюстративные примеры общей заявленной архитектурыIllustrative Examples of the General Stated Architecture

В некоторых вариантах осуществления в настоящем изобретении предлагается типовая заявленная, основанная на CNN, компьютерно-реализуемая система, сконфигурированная для идентификации и оценки производства пищевых изделий, такого как производство пиццы на основе визуальной входной информации (например, видеопотока и т.д.). На фигуре 1 представлена типовая общая архитектура 100, позволяющая реализовать типовую заявленную, основанную на CNN, компьютерно-реализуемую систему для идентификации и оценки производства пищевых изделий, такого как производство пиццы. В некоторых вариантах осуществления архитектура сохраняет видеопоток с помощью модуля Smart Video Saver 1, описанного в данном документе со ссылками фигуры 2А-В и 3А-В. Сохраненный видеопоток содержит один или более видеокадров Video 1, 2, 3, … N.In some embodiments, the present invention provides a generic, claimed, CNN-based, computer-implemented system configured to identify and evaluate food production, such as pizza production, based on visual input (eg, video stream, etc.). Figure 1 shows an exemplary general architecture 100 for implementing an exemplary claimed CNN-based computer-implemented system for identifying and evaluating food production, such as pizza production. In some embodiments, the architecture stores the video stream using the Smart Video Saver 1 module described herein with reference to Figures 2A-B and 3A-B. The saved video stream contains one or more video frames Video 1, 2, 3, … N.

В некотором варианте осуществления кадры Video 1, 2, 3, … N видеопотока представляются в качестве входной информации в типовой заявленный модуль Pizza Detector 2, в котором видеокадры - один или более из видеокадров Video 1, 2, 3, … Ν, не имеющие размытости вследствие движения и/или расфокусировки, обрабатываются детектором 2 пиццы для идентификации одного или более наилучших потенциальных видеокадров. В некотором варианте осуществления наилучшие потенциальные видеокадры затем обрабатываются детектором 2 пиццы путем применения типовой обучаемой заявленной сверточной нейронной сети для идентификации наилучшего видеокадра с изображением пиццы наилучшего разрешения.In some embodiment, Video 1, 2, 3, ... N frames of a video stream are provided as input to a generic claimed Pizza Detector 2 module, in which the video frames are one or more of the Video 1, 2, 3, ... N video frames that do not have motion blur. due to motion and/or out of focus are processed by the pizza detector 2 to identify one or more of the best potential video frames. In some embodiment, the best potential video frames are then processed by the pizza detector 2 by applying a generic trainable claimed convolutional neural network to identify the best video frame of the best resolution pizza.

В некоторых вариантах осуществления типовой заявленный модуль Pizza Detector 2 сконфигурирован для классификации видеокадров Video 1, 2, 3, … N в случаях, которые могут быть определены как, в том числе:In some embodiments, the exemplary claimed Pizza Detector 2 module is configured to classify video frames Video 1, 2, 3, ... N in cases that can be defined as, including:

случай 1: отсутствие изображения пиццы;case 1: no pizza image;

случай 2: изображение пиццы имеется, но расположено не в центре кадра;case 2: there is a pizza image, but it is not located in the center of the frame;

случай 3: изображение пиццы имеется, располагается в центре кадра и имеет качество разрешения X;case 3: the pizza image is available, located in the center of the frame and has a resolution quality of X;

случай 4: изображение пиццы имеется, располагается в центре кадра и имеет качество разрешения Y, где Υ выше чем X;case 4: there is a pizza image, located in the center of the frame, and has a resolution quality of Y, where Υ is higher than X;

случай 5: изображение пиццы имеется, располагается в центре кадра, имеет требуемое качество разрешения, и пицца представляет собой обычный тип пиццы;case 5: a pizza image is present, located in the center of the frame, has the required resolution quality, and the pizza is a normal type of pizza;

случай 6: изображение пиццы имеется, располагается в центре кадра, имеет требуемое качество разрешения, и пицца представляет собой белый (рикотта) тип пиццы; … и т.д.case 6: a pizza image is present, centered in the frame, has the required resolution quality, and the pizza is a white (ricotta) type of pizza; … etc.

В некоторых вариантах осуществления типовой заявленный модуль Pizza Detector 2 использует типовую заявленную CNN, обученную классификации видеокадров Video 1, 2, 3, … N на основе предварительно заданных случаев, для идентификации, по меньшей мере, одного кадра с наилучшим изображением пиццы определенного типа (например, изображение располагается в центре, имеет требуемое качество разрешения, и пицца представляет собой белый (рикотта) тип пиццы). В некоторых вариантах осуществления в случае видеокадров с изображением пиццы для идентификации положения (локализации) типовая заявленная CNN может быть обучена, по меньшей мере, частично, на основе определения ограничивающей рамки 102 и одной или более двоичных масок, обеспечивающих возможность обесценения, например, в том числе, фоновых пикселов в кадре.In some embodiments, a typical claimed Pizza Detector 2 module uses a generic claimed CNN trained to classify Video 1, 2, 3, ... N video frames based on predefined cases to identify at least one frame with the best image of a certain type of pizza (e.g. , the image is centered, has the required resolution quality, and the pizza is a white (ricotta) type of pizza). In some embodiments, in the case of pizza video frames for position identification (localization), a typical claimed CNN may be trained at least in part based on the definition of a bounding box 102 and one or more binary masks enabling impairment, for example, in that number of background pixels in the frame.

В некоторых вариантах осуществления одна или более двоичных масок представляют данные в двоичной форме, используемой для битовых операций, в частности, в битовом поле. Использование маски позволяет установить несколько битов в байте, полубайте, слове и т.д. на включение, выключение или инвертирование с включения на выключение (или наоборот) в одной битовой операции. В соответствии с одним вариантом осуществления типовой заявленной, основанной на CNN, компьютерно-реализуемой системы одна или более двоичные маски состоят из нулей и цифр, где каждая цифра указывает на соответствие этого пиксела пицце.In some embodiments, one or more binary masks represent data in a binary form used for bit operations, in particular in a bit field. Using a mask allows you to set multiple bits in a byte, nibble, word, and so on. to turn on, turn off, or invert from turn on to turn off (or vice versa) in a single bit operation. In accordance with one embodiment of an exemplary claimed CNN-based computer-implemented system, one or more binary masks are composed of zeros and digits, where each digit indicates that pixel corresponds to a pizza.

В некоторых вариантах осуществления типовой заявленный модуль Pizza Detector 2 сконфигурирован для применения типовой заявленной CNN для выделения наилучших изображений (например, 10 наилучших изображений) из видеокадров Video 1, 2, 3, … N. В некоторых вариантах осуществления выделение наилучших изображений выполняют на GPU.In some embodiments, the exemplary claimed Pizza Detector 2 module is configured to use the exemplary claimed CNN to extract the best images (e.g., 10 best images) from Video 1, 2, 3, ... N video frames. In some embodiments, best image extraction is performed on the GPU.

В некоторых вариантах осуществления типовой заявленный модуль Pizza Detector 2 содержит два детектора: типовой заявленный неточный детектор высокого быстродействия и типовой заявленный точный детектор низкого быстродействия. В некоторых вариантах осуществления типовой неточный детектор высокого быстродействия использует типовую заявленную CNN, обученную применению подхода на основе типовых заявленных машин опорных векторов (SVM, а также сетей опорных векторов) и типовой заявленной гистограммы направленных градиентов (HOG) и сконфигурированную на выделение наилучших изображений (например, 10 наилучших изображений) из видеокадров Video 1, 2, 3, … N.In some embodiments, a typical claimed Pizza Detector 2 module contains two detectors: a typical claimed high speed inaccurate detector and a typical claimed slow slow detector. In some embodiments, a generic high-speed inaccurate detector uses a generic claimed CNN trained to apply a generic claimed support vector machines (SVMs as well as support vector networks) approach and a generic advertised directional gradients (HOG) histogram and configured to extract the best images (e.g., , 10 best images) from Video 1, 2, 3, … N.

При машинном обучении типовая заявленная SVM использует типовую заявленную CNN, обученную контролируемым обучающим моделям с ассоциированными обучающими алгоритмами, которые анализируют данные, используемые для классификации и регрессионного анализа. С учетом набора примеров обучения, каждый из которых отмечен как относящийся к одной или другой из двух категорий, алгоритм обучения типовой заявленной SVM создает модель, которая относит новые примеры к одной или другой категории, и делает ее невариантным двоичным линейным классификатором (несмотря на существованием методов, таких как масштабирование Plat, t для использования SVM в настройке вероятностной классификации). Модель типовой заявленной SVM является представлением примеров как точек в пространстве с картированием, обеспечивающим разделение примеров отдельных категорий пробелами максимально возможной ширины. Новые примеры при этом отображаются в этом пространстве и, как предполагается, относятся к категории, определяемой стороной пробела, на который эти примеры приходятся.In machine learning, a generic claimed SVM uses a generic claimed CNN trained by supervised learning models with associated learning algorithms that analyze data used for classification and regression analysis. Given a set of training examples, each marked as belonging to one or the other of two categories, the generic claimed SVM learning algorithm creates a model that assigns new examples to one or the other category, and makes it a non-variant binary linear classifier (despite the existence of methods , such as scaling Plat, t to use SVM in probabilistic classification tuning). The generic claimed SVM model is a representation of examples as points in space, with a mapping to ensure that examples of individual categories are separated by as wide spaces as possible. New examples are then displayed in this space and are assumed to be in a category determined by the side of the space on which the examples fall.

В некоторых вариантах осуществления в качестве используемых в настоящем изобретении при применении типовой заявленной CNN модели обучаются на наборе данных, полученном от одной или более камер, таких как как IP-камера 202 на фигуре 2, описываемой в данном документе. В некоторых вариантах осуществления модели обучаются с использованием SVM.In some embodiments, as used in the present invention, when applying the exemplary claimed CNN, the model is trained on a data set obtained from one or more cameras, such as IP camera 202 in Figure 2 described herein. In some embodiments, the models are trained using SVM.

В некоторых вариантах осуществления набор данных содержит приблизительно 9000 изображений с ограничивающими рамками 102 разметки. В некоторых вариантах осуществления для каждой пиццы существует метка типа, подлежащая идентификации типовым заявленным модулем Pizza Classifier 3, подробно описываемым в данном документе. Затем создается одна или более типовых заявленных двоичных масок пиццы приблизительно для 90 изображений (приблизительно 1%) из 9000 изображений набора данных.In some embodiments, the data set contains approximately 9000 images with markup bounding boxes 102 . In some embodiments, for each pizza, there is a type label to be identified by the Pizza Classifier 3 type claimed module detailed herein. One or more generic declared binary pizza masks are then created for approximately 90 images (approximately 1%) of the 9000 images of the dataset.

В некоторых вариантах осуществления типовая заявленная HOG представляет собой дескриптор гистограммы направленных градиентов, используемый в компьютерном зрении и при обработке изображений с целью обнаружения объекта. Типовая заявленная HOG использует типовую заявленную CNN, обученную подсчету случаев ориентации градиента на локализованных участках изображения. В некоторых вариантах осуществления типовая заявленная HOG использует типовую заявленную CNN, обученную описанию внешнего вида и формы локального объекта в изображении с помощью распределения градиентов интенсивности или направлений края. Изображение разделяется на небольшие связанные области, называемые ячейками, и для пикселов в каждой ячейке составляется гистограмма направлений градиента. Дескриптор представляет собой конкатенацию этих гистограмм. Для повышения точности локальные гистограммы могут быть контрастно-нормализованы путем вычисления меры интенсивности в большей области изображения, называемой блоком, а затем с использованием этого значения для нормализации всех ячеек в блоке. Эта нормализация приводит к лучшей инвариантности к изменениям освещения и затенения.In some embodiments, the exemplary claimed HOG is a directional gradient histogram descriptor used in computer vision and image processing for object detection. The Generic Claimed HOG uses a Generic Claimed CNN trained to count gradient orientation occurrences in localized image regions. In some embodiments, a generic claimed HOG uses a generic claimed CNN trained to describe the appearance and shape of a local object in an image using intensity gradient distributions or edge directions. The image is divided into small connected regions called cells, and a histogram of gradient directions is plotted for the pixels in each cell. The descriptor is a concatenation of these histograms. To improve accuracy, local histograms can be contrast-normalized by computing a measure of intensity over a larger region of the image, called a block, and then using that value to normalize all cells in the block. This normalization results in better invariance to lighting and shading changes.

В некоторых вариантах осуществления типовая заявленная CNN была обучена на применение к наилучшим изображениям для выполнения точной локализации. Типовая заявленная CNN дополнительно была обучена проверке размытости или неразмытости изображения перед подачей этих изображений к детекторам в соответствии с некоторыми вариантами осуществления.In some embodiments, the exemplary claimed CNN has been trained to apply to the best images to perform fine localization. The exemplary claimed CNN has been further trained to check for blurry or non-blurry images prior to feeding those images to detectors, in accordance with some embodiments.

В некоторых вариантах осуществления типовой заявленный точный детектор низкого быстродействия основан на типовой заявленной CNN, которая была обучена на применения к наилучшим изображениям для выполнения точной локализации. Типовой заявленный точный детектор низкого быстродействия дополнительно использует типовую заявленную CNN, которая была обучена проверке размытости или неразмытости этих изображений перед подачей этих изображений к детекторам в соответствии с некоторыми вариантами осуществления.In some embodiments, the generic claimed low speed accurate detector is based on a generic claimed CNN that has been trained to apply to the best images to perform fine localization. The exemplary low speed claimed accurate detector further utilizes a exemplary claimed CNN that has been trained to test whether or not these images are blurred before feeding those images to detectors, in accordance with some embodiments.

В некотором варианте осуществления выбранный наилучший кадр направляется в типовой заявленный модуль Pizza Classifier 3 с использованием CNN для определения: типа пиццы и/или типа корочки, такой как, в том числе, тонкая корочка, традиционная корочка и толстая корочка. Некоторые типовые виды пиццы, которые могут быть идентифицированы с помощью типового заявленного модуля Pizza Classifier 3 типовой заявленной, основанной на CNN, компьютерно-реализуемой системы, включают в себя, в том числе, с пепперони, с колбасой, с грибами, с зеленым перцем, с помидорами, с канадским беконом, с пепперони/колбасой (только с качественным пепперони), с пепперони/помидорами (только с качественным пепперони), с пепперони/грибами (только с качественным пепперони), с пепперони/беконом (только с качественным пепперони), с пепперони/луком (только с качественным пепперони), с пепперони/канадским беконом (только с качественным пепперони), с пепперони/зеленым перцем (только с качественным пепперони), с помидорами/колбасой, с помидорами/грибами, с помидорами/луком (только с качественными помидорами), с помидорами/беконом (только с качественными помидорами), с помидорами/канадским беконом, с грибами/колбасой, с грибами/беконом (только с качественными грибами), с грибами/канадским беконом, с зеленым перцем/колбасой, с зеленым перцем/помидорами, с зеленым перцем/беконом (только с качественным зеленым перцем), с зеленым перцем/луком (только с качественным зеленым перцем), с зеленым перцем/канадским беконом, с канадским беконом/луком (только с качественным канадским беконом), с канадским беконом/беконом (только с качественным канадским беконом качественного), с канадским беконом/колбасой.In some embodiment, the selected best frame is sent to a generic claimed Pizza Classifier 3 module using a CNN to determine: pizza type and/or crust type, such as, but not limited to, thin crust, traditional crust, and thick crust. Some pizza types that can be identified using the Pizza Classifier 3 Type Claimed CNN-based computer-implemented system include, but are not limited to, pepperoni, sausage, mushroom, green pepper, with tomatoes, with Canadian bacon, with pepperoni / sausage (only with quality pepperoni), with pepperoni / tomatoes (only with quality pepperoni), with pepperoni / mushrooms (only with quality pepperoni), with pepperoni / bacon (only with quality pepperoni) , with pepperoni/onions (only with quality pepperoni), with pepperoni/Canadian bacon (only with quality pepperoni), with pepperoni/green peppers (only with quality pepperoni), with tomatoes/sausage, with tomatoes/mushrooms, with tomatoes/onions (only with quality tomatoes), with tomatoes/bacon (only with quality tomatoes), with tomatoes/Canadian bacon, with mushrooms/sausage, with mushrooms/bacon (only with quality mushrooms), with mushrooms/Canadian Bacon, Green Peppers/Sausage, Green Peppers/Tomatoes, Green Peppers/Bacon (only with quality green peppers), Green Peppers/Onions (only with quality green peppers), Green Peppers/Canadian Bacon, Canadian Bacon /onions (only with quality Canadian bacon), with Canadian bacon/bacon (only with quality Canadian bacon), with Canadian bacon/sausage.

В некоторых вариантах осуществления типовой заявленный модуль Pizza Classifier 3 использует типовую заявленную CNN, обученную идентифицировать до 21 типа пиццы с предварительно заданной точностью. В некоторых вариантах осуществления точность может достигать, по меньшей мере, 80%. В некоторых вариантах осуществления точность может достигать, по меньшей мере, 85%. В некоторых вариантах осуществления точность может достигать, по меньшей мере, 90%. В некоторых вариантах осуществления точность может достигать, по меньшей мере, 95%. В некоторых вариантах осуществления точность может достигать 80-100%. После определения типа пиццы выбранный наилучший кадр направляется на вход следующей CNN типового заявленного модуля Scorer 4, который применяет усовершенствованную архитектуру CNN. Типовой заявленный модуль Scorer 4 использует типовую заявленную CNN, обученную представлению карты теста, сыра и других ингредиентов для выполнения проверки качества пиццы и подсчета баллов на основе карты теста, сыра и других ингредиентов, иллюстрированной в данном документе на фигурах 4-5.In some embodiments, the generic claimed Pizza Classifier 3 module uses a generic advertised CNN trained to identify up to 21 types of pizza with a predetermined accuracy. In some embodiments, the accuracy may be at least 80%. In some embodiments, the implementation of the accuracy can reach at least 85%. In some embodiments, the accuracy may be at least 90%. In some embodiments, the accuracy may be at least 95%. In some embodiments, the accuracy can be as high as 80-100%. After determining the type of pizza, the selected best frame is sent to the input of the next CNN of the type claimed module Scorer 4, which uses the advanced CNN architecture. The generic claimed Scorer 4 module uses a generic claimed CNN trained to represent the dough, cheese, and other ingredients map to perform a pizza quality check and scoring based on the dough, cheese, and other ingredients map illustrated herein in Figures 4-5.

Поиск пиццы в видеопотокеSearch for pizza in the video stream

В некоторых вариантах осуществления типовая заявленная, основанная на CNN, компьютерно-реализуемая система может быть выполнена на одной или более камерах, установленных поблизости от пиццы, подлежащей поиску. На фигуре 2А показано типовое заявленное устройство 200, позволяющее реализовать основанную на CNN, компьютерно-реализуемую систему для идентификации и оценки производства пищевых продуктов, такого как производство пиццы.In some embodiments, the exemplary claimed CNN-based computer-implemented system may be implemented on one or more cameras installed in the vicinity of the pizza to be searched. Figure 2A shows an exemplary claimed device 200 for implementing a CNN-based, computer-implemented system for identifying and evaluating food production, such as pizza production.

В некоторых вариантах осуществления типовая заявленная, основанная на CNN, компьютерно-реализуемая система использует камеру интернет-протокола или IP-камеру 202, которая является цифровой видеокамерой, используемой для наблюдения, и которая может отправлять и принимать данные через компьютерную сеть и интернет. Такая IP-камера является либо централизованной (требуется центральный сетевой видеомагнитофон (NVR) для управления записью и воспроизведением видеоинформации и сигнализацией) в соответствии с некоторыми вариантами осуществления, либо децентрализованной (нет необходимости в NVR, поскольку камера может записывать на любой локальный или удаленный носитель информации) в соответствии с некоторыми другими вариантами осуществления. В некоторых вариантах осуществления используемая камера имеет разрешение 4 мегапиксела - 1920x1080 (Full High-Definition (HD)) и до 4 потоков H.264/MJPEG, 25 кадр/с. В некоторых вариантах осуществления угол обзора камеры составляет не менее чем 32-87° (по горизонтали) и 18-46° (по вертикали). В некоторых вариантах осуществления минимальное расстояние между камерой и объектом (например, пиццей) составляет приблизительно 1 м.In some embodiments, the exemplary claimed CNN-based computer-implemented system utilizes an Internet protocol camera or IP camera 202, which is a digital video camera used for surveillance that can send and receive data over a computer network and the internet. Such an IP camera is either centralized (requires a central network video recorder (NVR) to control video recording and playback and alarms) according to some embodiments, or decentralized (no need for an NVR since the camera can record to any local or remote media ) according to some other embodiments. In some embodiments, the camera used has a resolution of 4 megapixels - 1920x1080 (Full High-Definition (HD)) and up to 4 streams H.264/MJPEG, 25 fps. In some embodiments, the camera's viewing angle is at least 32-87° (horizontally) and 18-46° (vertically). In some embodiments, the minimum distance between the camera and an object (such as a pizza) is approximately 1 m.

Вышеупомянутая конфигурация обеспечивает возможность доступа типовой заявленной, основанной на CNN, компьютерно-реализуемой системы к веб-интерфейсу и настройкам камеры, доступа к потоковой передаче видео (по меньшей мере, по одному каналу) и изображения пиццы с достаточно высоким разрешением в соответствии с некоторыми вариантами осуществления.The above configuration allows a typical claimed CNN-based computer-implemented system to access a web interface and camera settings, access video streaming (on at least one channel) and pizza images at a sufficiently high resolution, in accordance with some embodiments. implementation.

В некоторых вариантах осуществления одна или более видеокамер 202 закреплены над столом 204 для резки для регистрации активности на этом столе. В некоторых вариантах осуществления камера смонтирована на потолочной панели 206 прямо над столом 204 для резки с помощью двух самонарезающих винтов. Вся проводка может быть скрыта внутри потолка. Розетка для подключения камеры может находиться внутри потолка. Камера 202 смонтирована на потолке 206 и направлена на середину разделочной доски 208, установленной на столе 204 для резки. В некоторых вариантах осуществления камера смонтирована с небольшим наклоном, составляющим 2-5 см.In some embodiments, one or more video cameras 202 are mounted above the cutting table 204 to record activity on the cutting table. In some embodiments, the camera is mounted on the ceiling panel 206 directly above the cutting table 204 with two self-tapping screws. All wiring can be hidden inside the ceiling. The socket for connecting the camera can be located inside the ceiling. The camera 202 is mounted on the ceiling 206 and is directed towards the middle of the cutting board 208 mounted on the cutting table 204. In some embodiments, the camera is mounted at a slight inclination of 2-5 cm.

На фигуре 2В показана разделочная доска 208, установленная на столе 204 для резки в типовом заявленном устройстве, как показано на фигуре 2А, в соответствии с некоторыми вариантами осуществления. В некоторых вариантах осуществления разделочная доска 208 закреплена на столе 204 с помощью алюминиевых стержней 210а-с, которые могут быть скрыты внутри разделочной доски. Стержни 210а-с могут быть приклеены с помощью, в том числе, безопасного. Черный круг 212 на разделочной доске 208 на фигуре 2А представляет собой пиццу. Камера 202 сконфигурирована для захвата пиццы, размещенной в любом месте на разделочной доске 208.Figure 2B shows a cutting board 208 mounted on a cutting table 204 in an exemplary claimed apparatus as shown in Figure 2A, in accordance with some embodiments. In some embodiments, the cutting board 208 is secured to the table 204 by aluminum rods 210a-c, which may be hidden within the cutting board. The rods 210a-c can be glued using, among other things, a secure one. The black circle 212 on the cutting board 208 in Figure 2A represents a pizza. Camera 202 is configured to capture pizza placed anywhere on cutting board 208.

В некоторых вариантах осуществления возможно изменение настроек сети в соответствии с выбранными конфигурациями сети или выбранным внешним -адресом каждого ресторана.In some embodiments, it is possible to change the network settings according to the selected network configurations or the selected external address of each restaurant.

В случае, когда продолжительность активности захвата превышает предварительно заданный промежуток времени, например, 3 секунды, такой видеокадр загружается на сервер и затем подвергается обработке с помощью алгоритма поиска. В некоторых вариантах осуществления каждая камера может сохранять до 1-1500 коротких видеокадров в день. В некоторых вариантах осуществления каждая камера может сохранять, по меньшей мере, до 500 коротких видеокадров в день. В некоторых вариантах осуществления каждая камера может сохранять, по меньшей мере, до 1000 коротких видеокадров в день.In the case where the duration of the capture activity exceeds a predetermined period of time, such as 3 seconds, such a video frame is uploaded to the server and then processed by the search algorithm. In some embodiments, each camera can store up to 1-1500 short video frames per day. In some embodiments, each camera can store at least 500 short video frames per day. In some embodiments, each camera can store at least 1000 short video frames per day.

В некоторых вариантах осуществления алгоритм поиска выполняется с помощью типового заявленного модуля Pizza Detector 2 на фигуре 1, применяющего типовую заявленную CNN. Все видеокадры без размытости вследствие движения и/или расфокусировки подвергаются обработки с помощью типовой заявленной CNN для процедуры принятия решения.In some embodiments, the search algorithm is performed by the generic claimed Pizza Detector 2 module in Figure 1 using the generic claimed CNN. All video frames without motion blur and/or out of focus are processed by the generic claimed CNN for the decision procedure.

В некоторых вариантах осуществления алгоритм поиска выполняется с помощью типового заявленного неточного детектора высокого быстродействия в составе типового заявленного модуля Pizza Detector 2 на фигуре 1. Все видеокадры без размытости вследствие движения и/или расфокусировки подвергаются обработке помощью детектора высокого быстродействия на основе типовых заявленных дескрипторов HOG с использованием типовой заявленный линейный SVM в качестве процедуры принятия решения.In some embodiments, the search algorithm is performed using a typical claimed high speed inaccurate detector as part of a typical claimed Pizza Detector 2 module in Figure 1. All video frames without motion blur and/or out of focus are processed by a high speed detector based on typical claimed HOG descriptors with using the generic claimed linear SVM as the decision procedure.

Набор N наилучших видеокадров выбирается по значению достоверности, при котором N является отличным от 0 целым числом (например, 3, 5, 10, 15 и т.д.). В некотором варианте осуществления N может быть любым целым числом в диапазоне 1-20. В некотором варианте осуществления N может составлять, по меньшей мере, 5. В некотором варианте осуществления N может составлять, по меньшей мере, 10. В некотором варианте осуществления достоверность составляет 95%. В некотором варианте осуществления достоверность может быть изменена после повторного обучения алгоритма.The best video frame set N is selected by a confidence value where N is an integer other than 0 (eg, 3, 5, 10, 15, etc.). In some embodiment, N can be any integer in the range 1-20. In some embodiment, N may be at least 5. In some embodiment, N may be at least 10. In some embodiment, the confidence is 95%. In some embodiment, the confidence may be changed after retraining the algorithm.

В некоторых вариантах осуществления набор N наилучших видеокадров обрабатывается и выбирается с помощью типового заявленного модуля Pizza Detector 2 на фигуре 1, применяющего CNN. Наилучший видеокадр выбирается из набора с достоверностью, превышающей предварительно заданное значение достоверности, такого как 95%. В случае отсутствия видеокадра с достоверностью, превышающей это предварительно заданное значение достоверности алгоритм заканчивает свою работу.In some embodiments, the N best video frame set is processed and selected using the exemplary claimed Pizza Detector 2 module in Figure 1 using a CNN. The best video frame is selected from a set with a confidence greater than a predetermined confidence value, such as 95%. If there is no video frame with a certainty greater than this predetermined certainty value, the algorithm terminates.

В некоторых вариантах осуществления набор N наилучших видеокадров обрабатывается и выбирается с помощью типового заявленного точного детектора низкого быстродействия в составе типового заявленного модуля Pizza Detector 2 на фигуре 1. Наилучший видеокадр выбирается из набора с достоверностью, превышающей предварительно заданное значение достоверности, такого как 95%. В случае отсутствия видеокадра с достоверностью, превышающей это предварительно заданное значение достоверности алгоритм заканчивает свою работу.In some embodiments, the N best video frame set is processed and selected by a typical low speed claimed accurate detector within the generic claimed Pizza Detector 2 module in Figure 1. The best video frame is selected from the set with a confidence greater than a predetermined confidence value, such as 95%. If there is no video frame with a certainty greater than this predetermined certainty value, the algorithm terminates.

Подсчет баллов пиццыPizza scoring

На фигуре 3А представлен типовой выбранный наилучший кадр с изображением 300 пиццы, который может быть далее подвергнут проверке с помощью основанной на CNN, компьютерно-реализуемой системы в соответствии с некоторыми вариантами осуществления. В некоторых вариантах осуществления вид и размер пиццы определяется по выбранному кадру 300 с помощью типовой заявленной, основанной на CNN, компьютерно-реализуемой системы. В некоторых вариантах осуществления размер определяется по диаметру пиццы на выбранном кадре в пикселах.Figure 3A shows an exemplary selected best frame of a pizza image 300, which may be further tested by a CNN-based, computer-implemented system, in accordance with some embodiments. In some embodiments, the type and size of the pizza is determined from the selected frame 300 using an exemplary claimed CNN-based computer-implemented system. In some embodiments, the size is determined by the diameter of the pizza in the selected frame in pixels.

В некоторых вариантах осуществления модуль Pizza Classifier 3 на фигуре 1 использует типовую заявленную CNN, обученную определению типа пиццы, как отмечалось выше со ссылками на фигуру 1. В случае невозможности достоверного распознавания типа пиццы алгоритм заканчивает свою работу.In some embodiments, the implementation of the Pizza Classifier 3 module in figure 1 uses a generic claimed CNN trained to determine the type of pizza, as noted above with reference to figure 1. If it is not possible to reliably recognize the type of pizza, the algorithm terminates.

Затем выбранный кадр направляется на вход следующей CNN, управляемой модулем Scorer 4 на фигуре 1, использующим типовую заявленную CNN, обученную выполнению сегментации изображения пиццы, и, таким образом, представляющим в качестве выходных данных карты теста/корочки, сыра и наполнителей. Тесто/корочка, наполнители, сыр и готовность пиццы подвергаются проверке, и каждый из этих компонентов оценивается в баллах, как описывается в данном документе. Общая оценка в баллах, представляющая собой комбинацию оценок в баллах теста/корочки, наполнителей, сыра и готовности образует общую оценку качества пиццы. В некоторых вариантах осуществления модуль Scorer 4 на фигуре 1 использует типовую заявленную CNN, обученную оценке качества пиццы в баллах по карте ингредиентов.The selected frame is then routed to the input of the next CNN, driven by the Scorer 4 module in Figure 1, using the generic advertised CNN trained to perform pizza image segmentation, and thus output dough/crust, cheese, and toppings maps. The dough/crust, toppings, cheese, and doneness of the pizza are tested and each of these components is scored as described in this document. The overall score, which is a combination of the dough/crust, toppings, cheese, and doneness scores, forms an overall pizza quality score. In some embodiments, the Scorer 4 module in Figure 1 uses a generic advertised CNN trained to score the quality of a pizza in terms of an ingredient map.

Типовой способ обработки порции пиццы на изображении содержит: 1) определение корочки; 2) определение наплыва сыра, как описывается в данном документе; 3) определение количества наполнителей в сырной кромке; 4) оценку теста пиццы в результате проверки пиццы и определения цвета теста; и 5) оценку в баллах каждого ломтика порции пиццы на изображении для определения высоты подъема корочки и ее размера.A typical method for processing a portion of pizza in the image contains: 1) determining the crust; 2) determining the flow of cheese, as described in this document; 3) determination of the amount of fillers in the cheese edge; 4) assessment of the pizza dough as a result of the pizza inspection and determination of the color of the dough; and 5) scoring each pizza slice in the image to determine the height of the rise of the crust and its size.

В соответствии с некоторыми вариантами осуществления типовой заявленной, основанной на CNN, компьютерно-реализуемой системы в процессе подсчета баллов или проверки круг пиццы, представляющий собой порцию пиццы на наилучшем изображении, идентифицированном с помощью типовой заявленной CNN, определяется внешней окружностью 302. Сырная кромка определяется окружностями 304 и 306 с допуском порядка ±3 мм. Порция пиццы на изображения делится на 8 равных ломтиков/секторов 1-8, как показано на фигуре 3А. В некоторых, вариантах осуществления круг пиццы делится на N равных ломтиков/секторов, где N является отличным от 0 целым числом. В некоторых вариантах осуществления каждый сектор оценивается независимо от других.In accordance with some embodiments of the exemplary CNN-based computer-implemented system, during the scoring or checking process, the pizza circle representing the pizza slice in the best image identified by the exemplary CNN claim is defined by the outer circle 302. The cheese edge is defined by the circles 304 and 306 with a tolerance of about ±3 mm. The portion of pizza on the images is divided into 8 equal slices/sectors 1-8, as shown in figure 3A. In some embodiments, the pizza circle is divided into N equal slices/sectors, where N is a non-0 integer. In some embodiments, each sector is evaluated independently of the others.

В соответствии с картой компонентов пиццы типовой контур пиццы может быть определен более детально линиями, показанными на фигуре 3В. Как показано на фигуре 3В, NTZ показывает зону без наполнителей. Линия 1 определяет окружность максимального диаметра за границами круга пиццы. Участки 2 определяют внутреннее поле и внешнее поле порции пиццы в соответствии с одним вариантом осуществления. Участок 3 определяет внешний край предварительно запеченной пиццы. В некоторых вариантах осуществления этот внешний край имеет некоторый допуск. В некотором варианте осуществления этот допуск может составлять, в том числе, ±3 мм. Участок 4 определяет границу соуса пиццы. В некоторых вариантах осуществления граница 4 может иметь допуск порядка ±3 мм. Линия 5 показывает стандартную внешнюю окружность круга пиццы. Участок 6 показывает допустимый стандартный радиус края пиццы. В некотором варианте осуществления допустимый стандартный радиус края пиццы составляет 5 см. Участок 7 определяет линию сырной кромки. В некоторых вариантах осуществления сырная кромка 7 имеет некоторый допуск. В некотором варианте осуществления этот допуск составляет ±3 мм. Пороговое значение допустимого допуска порядка ±3 мм, обеспечивают возможность практического определения размера. В частности, радиус концентрических окружностей изменяется в пределах идеального радиуса ±3 мм.According to the pizza ingredients map, a typical pizza outline can be defined in more detail by the lines shown in Figure 3B. As shown in figure 3B, NTZ shows a zone without fillers. Line 1 defines the maximum diameter circle outside the pizza circle. Regions 2 define the inner margin and outer margin of the pizza portion, in accordance with one embodiment. Plot 3 defines the outer edge of the pre-baked pizza. In some embodiments, this outer edge has some tolerance. In some embodiment, this tolerance may be, including, ±3 mm. Plot 4 defines the boundary of the pizza sauce. In some embodiments, boundary 4 may have a tolerance on the order of ±3 mm. Line 5 shows the standard outer circumference of a pizza circle. Plot 6 shows the allowable standard pizza edge radius. In some embodiment, the allowable standard pizza edge radius is 5 cm. Region 7 defines the cheese edge line. In some embodiments, the implementation of the cheese edge 7 has some tolerance. In some embodiment, this tolerance is ±3 mm. The threshold value of the allowable tolerance is of the order of ±3 mm, providing the possibility of practical determination of the size. In particular, the radius of the concentric circles varies within an ideal radius of ±3 mm.

В соответствии с одним вариантом осуществления первоначально пицца оценивается в 10 баллов, а затем оценка в баллах уменьшается вследствие штрафных баллов, начисляемых в процессе оценки каждого сектора пиццы.In accordance with one embodiment, the pizza is initially scored at 10 points, and then the score is reduced due to penalty points awarded in the process of scoring each sector of the pizza.

В некоторых вариантах осуществления типовая заявленная CNN была обучена выполнению проверки корочки пиццы для определения высоты подъема корочки и ее размера. Проверка корочки включает в себя, в том числе, проверку размера и проверку чистоты корочки.In some embodiments, an exemplary advertised CNN has been trained to perform a pizza crust test to determine the rise height of the crust and its size. The crust check includes, among other things, a size check and a check for the cleanliness of the crust.

В соответствии с некоторыми вариантами осуществления типовая заявленная CNN была обучена выполнению проверки размера по карте компонентов пиццы, содержащей изображения с одной или более двоичными масками. Например, центр пиццы определяется как центр масс карты компонентов пиццы. Например, размер пиццы (например, 23 см, 30 см, 35 см, 40 см и т.д.) определяется по числу пикселов изображения пиццы в кадре.In accordance with some embodiments, a generic claimed CNN has been trained to perform a size check against a pizza ingredients map containing images with one or more binary masks. For example, the center of pizza is defined as the center of mass of the pizza components map. For example, the size of a pizza (for example, 23 cm, 30 cm, 35 cm, 40 cm, etc.) is determined by the number of pixels of the pizza image in the frame.

На фигуре 4А показаны изображения типовой пиццы, по которым типовая заявленная CNN была обучена оценке на основе внешней окружности круга пиццы по линии 5, имеющей допуск ±Z мм (например, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1-15), в соответствии с некоторыми вариантами осуществления. В случае, когда более чем Υ % (например, 5%, 10%, 15%, 20%, 25% и т.д.) контура некоторого сектора располагается за границами концентрических окружностей, за этот сектор начисляется штраф в X баллов (например, 0,1).Figure 4A shows images of a generic pizza from which a generic claimed CNN has been trained to estimate based on the outer circumference of the pizza circle along line 5 with a tolerance of ±Z mm (e.g., 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1-15), in accordance with some embodiments. In the case when more than Υ% (for example, 5%, 10%, 15%, 20%, 25%, etc.) of the contour of a certain sector is located outside the boundaries of concentric circles, a penalty of X points is charged for this sector (for example , 0.1).

Некоторые стандарты оценки, применяемые с помощью типовой заявленной CNN, показаны на фигуре 4В, на которой ломтики сверху имеют корочку допустимого размера, ломтики снизу слева иллюстрируют корочку маленького размера, а ломтики снизу справа иллюстрируют типовые корочки большого размера.Some of the scoring standards applied by the generic claimed CNN are shown in Figure 4B, in which the top slices have an acceptable crust size, the bottom left slices illustrate a small crust size, and the bottom right slices illustrate typical large crust sizes.

В некоторых вариантах осуществления типовая заявленная CNN была обучена выполнению проверки чистоты корочки. Положение корочки определяется по центру пиццы и ее радиусу в соответствии с некоторым вариантом осуществления. В случае, когда более чем 50% участка корочки некоторого сектора покрыты сыром или наполнителем, за этот сектор начисляется штраф в 0,1 балла. Некоторые стандарты оценки применялись с помощью типовой заявленной CNN, показанной на фигуре 4С, на которой ломтики сверху имеют допустимую чистоту корочки, ломтики снизу слева иллюстрируют типовые загрязненные корочки, а ломтики снизу справа иллюстрируют типовые чистые корочки.In some embodiments, the exemplary claimed CNN has been trained to perform a crust cleanliness check. The position of the crust is determined by the center of the pizza and its radius, in accordance with some embodiment. In the case when more than 50% of the crust of a sector is covered with cheese or filler, a penalty of 0.1 points is charged for this sector. Some scoring standards were applied using the generic claimed CNN shown in Figure 4C, in which slices on top have acceptable crust clarity, slices on the bottom left illustrate typical soiled crusts, and slices on the bottom right illustrate typical clean crusts.

В некоторых вариантах осуществления типовая заявленная CNN была обучена выполнению проверке наполнителей пиццы для определения равномерного или неравномерного распределения наполнителей и сыра.In some embodiments, the exemplary claimed CNN has been trained to perform a pizza topping test to determine if the toppings and cheese are distributed evenly or unevenly.

Некоторые типовые распределения наполнителей по ломтикам пиццы показаны на фигуре 4D, на которой ломтики сверху имеют равномерное распределение наполнителей, а ломтики снизу имеют неравномерное распределение наполнителей.Some typical distributions of toppings on pizza slices are shown in Figure 4D, in which the top slices have an even distribution of toppings and the bottom slices have an uneven distribution of toppings.

В некотором варианте осуществления в процессе проверки наполнителей каждый из этих восьми секторов разделяется окружностью на две части: внутреннее поле и внешнее поле, показанные как участки 2 на фигуре 3В, как отмечалось в данном документе. Количество пикселов для каждого типа наполнителей вычисляется для каждого внутреннего поля и внешнего поля по отдельности. В случае, когда количество некоторых наполнителей на внутреннем поле или на внешнем поле меньше, чем указано в правилах, за этот участок сектора начисляется штраф в 0,25 балла. Минимальное количество наполнителей для каждого типа и размера пиццы задается в процессе обучения алгоритма (в соответствии с условиями минимизации ошибок на обучающей выборке).In some embodiment, during the filling process, each of these eight sectors is divided by a circle into two parts: an inner field and an outer field, shown as sections 2 in figure 3B, as noted herein. The number of pixels for each type of filler is calculated for each inner margin and outer margin separately. In the event that the number of some fillers on the inner field or on the outer field is less than specified in the rules, a penalty of 0.25 points is charged for this section of the sector. The minimum number of toppings for each type and size of pizza is set in the process of learning the algorithm (in accordance with the conditions for minimizing errors on the training set).

В некоторых вариантах осуществления типовая заявленная CNN была обучена выполнению проверке сыра пиццы для определения равномерного или неравномерного распределения сыра при его достаточном количестве, то есть без красного края. Некоторые типовые распределения сыра на ломтиках пиццы показаны на фигуре 4Е, на которой ломтики сверху имеют требуемое распределение. Ломтик в середине имеет недопустимое распределение, а ломтик снизу не имеет требуемого распределения, но имеет допустимое распределение.In some embodiments, the exemplary claimed CNN has been trained to perform a pizza cheese test to determine whether cheese is evenly or unevenly distributed when there is enough cheese, ie, no red edge. Some typical cheese distributions on pizza slices are shown in Figure 4E, in which the top slices have the desired distribution. The slice in the middle has an invalid distribution, and the slice at the bottom does not have the required distribution, but has a valid distribution.

В некотором варианте осуществления типовая заявленная CNN была обучена проверке границы между корочкой и сыром: по меньшей мере, 75% сыра должно располагаться внутри зоны заполнения меньшей концентрической окружности круга или на внутреннем поле (и не выходить за границу более чем на 3 мм, например в том числе), в противном случае за этот сектор начисляется штраф в 0,1 балла, который может достигать 0,8 балла для всей пиццы).In some embodiment, a typical claimed CNN has been trained to check the boundary between the crust and the cheese: at least 75% of the cheese must be located inside the fill zone of the smaller concentric circle circle or in the inner margin (and not exceed the border by more than 3 mm, for example in otherwise), a penalty of 0.1 points is charged for this sector, which can reach 0.8 points for the entire pizza).

В случае, когда менее чем 75% участка без наполнителей в каждом сегменте каждого внутреннего поля и внешнего поля покрыто сыром (излишнее количество корочки), начисляется штраф в 0,1 балла, который может достигать 1,6 балла для всей пиццы. За сектора с подгоревшим/полузапеченным/сыром и сыром с дырочками также начисляется штраф в 0,1 балла, который может достигать 0,8 для всей пиццы.In the event that less than 75% of the unfilled area in each segment of each inner field and outer field is covered with cheese (excessive crust), a penalty of 0.1 points is awarded, which can be up to 1.6 points for the entire pizza. Burnt/half-baked/cheese and perforated cheese sectors also incur a penalty of 0.1 points, which can be as high as 0.8 for the whole pizza.

В некоторых вариантах осуществления типовая заявленная CNN была обучена выполнению проверки готовности корочки пиццы для определения готовности корочки до степени обеспечения полного расплавления сыра, отсутствия подгоревших наполнителей и наличия золотистого цвета корочки.In some embodiments, the exemplary claimed CNN has been trained to perform a pizza crust readiness test to determine if the crust is done to the point of ensuring that the cheese is completely melted, no burnt toppings are present, and the crust is golden brown.

Некоторые типовые ломтики пиццы с разными степенями готовности показаны на фигуре 4F, на которой ломтики сверху слева являются подгоревшими, ломтики сверху справа имеют нормальную/хорошую степень готовности, а ломтики снизу являются непропеченными.Some exemplary pizza slices in varying degrees of doneness are shown in Figure 4F, in which the top left slices are burnt, the top right slices are normal/good, and the bottom slices are uncooked.

В некоторых вариантах осуществления тесто/корочка пиццы оценивается по цвету как в верхней части пиццы, так и в нижней части пиццы. На фигуре 4G показана типовая карта цветов, являющаяся стандартом для принятия решений и вычисления градиентов готовности пиццы. Карта цветов состоит из верхней таблицы и нижней таблицы, показывающих разные цвета, которые указывают на разные степени готовности соответственно верхней части и нижней части пиццы и соответствующие оценки в баллах для каждого диапазона цветов.In some embodiments, the pizza dough/crust is judged by the color of both the top of the pizza and the bottom of the pizza. Figure 4G shows a generic color map that is the standard for making decisions and calculating pizza doneness gradients. The color chart consists of an upper table and a lower table showing different colors that indicate the different degrees of doneness of the top and bottom of the pizza, respectively, and the corresponding scores for each range of colors.

На фигуре 4Н показана типовая идеально изготовленная пицца, внешняя окружность которой располагается на стандартной внешней кромке (на тонкой [красной] линии), а начинки и сыр однородно распределены по 16 участкам, определяемым этой внешней кромкой и сырной кромкой (толстой [красной] линией).Figure 4H shows a typical perfectly made pizza with the outer circumference at the standard outer edge (thin [red] line) and toppings and cheese uniformly distributed over 16 areas defined by this outer edge and the cheese edge (thick [red] line) .

На фигуре 5 представлена типовая таблица 500, показывающая вычисление общей оценки типовой пиццы в баллах по оценкам в баллах, вычисленным при проверке корочки, проверке наполнителей, проверке сыра и проверке готовности корочки, выполненной с помощью типовой заявленной CNN в соответствии с некоторыми вариантами осуществления.Figure 5 is an exemplary table 500 showing the calculation of a typical pizza's overall score from the scores calculated from the crust check, toppings check, cheese check, and crust readiness check performed with a typical claimed CNN in accordance with some embodiments.

В описываемом в данном документе примере на фигуре 5 каждой из общих баллов корочки, общих баллов наполнителей, общих баллов сыра и общих баллов готовности корочки вычисляется в соответствии с правилами, как указано выше со ссылками на фигуру 4.In the example described herein in Figure 5, each of the Total Crust Score, Total Fillers Score, Total Cheese Score, and Total Crust Ready Score is calculated according to the rules as described above with reference to Figure 4.

Общая оценка пиццы в баллах представляет собой в сумму оценок в баллах, полученных при проверке корочки, проверке наполнителей, проверке сыра и проверке готовности корочки. В описываемом в данном документе примере на фигуре 5 общая оценка в баллах (6,65) = общие баллы корочки (1,4) + общие баллы наполнителей (1,75) + общие баллы сыра (2,3) + общие баллы готовности корочки (1,2).The total pizza score is the sum of the scores obtained from the crust test, toppings test, cheese test, and crust readiness test. In the example described herein in Figure 5, total score (6.65) = total crust score (1.4) + total filler score (1.75) + total cheese score (2.3) + total crust readiness score (1,2).

На фигуре 6А представлена типовая заявленная архитектура 600 подсчета баллов, которая использует типовую заявленную CNN, обученную реализации описанных выше методов в соответствии с некоторыми вариантами осуществления. На этапе 602 выбранное наилучшее изображение пиццы представляется в качестве входной информации типовой заявленной архитектуры подсчета баллов. При этом процедура подсчета баллов содержит два основных этапа: этап 604 операции сегментации и этап 606 операции вычисления градиентов/подсчета баллов (оба с увеличением на фигуре 6В).Figure 6A shows a typical claimed scoring architecture 600 that uses a generic claimed CNN trained to implement the methods described above, in accordance with some embodiments. At block 602, the selected best pizza image is provided as input to the exemplary claimed scoring architecture. Here, the scoring procedure comprises two main steps: a segmentation operation step 604 and a gradient calculation/scoring step 606 (both magnified in FIG. 6B).

Этап 604 заключается в сегментации изображения пиццы. В некотором варианте осуществления типовая заявленная CNN U-net была обучена выполнению этого этапа. В соответствии с некоторым вариантом осуществления на подэтапе 604а типовая заявленная архитектура 600 подсчета баллов использует типовую заявленную CNN U-net, обученную сегментации изображения пиццы на N ломтиков, где N является отличным от 0 целым числом. В некотором варианте осуществления N = 8, и эти восемь ломтиков представляют собой определенный слой для дальнейшей обработки по определению соответствующего показателя для каждого сегментированного кусочка.Step 604 is to segment the pizza image. In some embodiment, a generic advertised U-net CNN has been trained to perform this step. In accordance with an embodiment, in sub-step 604a, the generic claimed scoring architecture 600 uses a generic claimed U-net CNN trained to segment a pizza image into N slices, where N is a non-zero integer. In some embodiment, N = 8, and these eight slices represent a specific layer for further processing to determine the appropriate index for each segmented slice.

В некотором варианте осуществления типовая заявленная CNN U-net была обучена реализации сети, состоящей от пути сжатия и пути расширения, которые придают этой сети U-образную архитектуру. На протяжении типового заявленного пути сжатия типовой заявленной CNN U-net происходит уменьшение пространственной информации и увеличение информации о признаках.In an embodiment, a typical claimed U-net CNN has been trained to implement a network consisting of a compression path and an extension path that give the network a U-shaped architecture. Along the typical claimed U-net CNN compression path, there is a reduction in spatial information and an increase in feature information.

В частности, типовой заявленный путь сжатия представляет собой сверточную сеть, которая состоит из повторного применения слоев свертки и активации (подэтапы 604b, 604d и 604е). В некоторых вариантах осуществления после первого подэтапа 604а слоев свертки и активации применяется подэтап 604 с слоев субдискретизации и пакетной нормализации.In particular, the exemplary claimed compression path is a convolutional network, which consists of reapplying convolution and activation layers (sub-steps 604b, 604d and 604e). In some embodiments, after the first sub-step 604a of the convolution and activation layers, sub-step 604 c of the downsampling and batch normalization layers is applied.

В некоторых вариантах осуществления за каждым типовым заявленным слоем свертки и активации следует типовой заявленной слой выпрямленных линейных единиц (ReLU) и типовой заявленный слой подвыборки перед переходом к следующему слою свертки и активации. Типовой заявленный слой ReLU использует типовую заявленную CNN U-net, обученная применению ненасыщаемой функции активации f(x) = max(0, x). Это увеличивает нелинейные свойства решающей функции и общей сети без оказания воздействия на восприимчивые поля типового заявленного слоя свертки и активации.In some embodiments, each Type Notified Convolution and Activation layer is followed by a Type Notified Rectified Linear Units (ReLU) layer and a Type Notified subsampling layer before proceeding to the next convolution and activation layer. The generic claimed ReLU layer uses a generic claimed U-net CNN trained to apply a non-saturable activation function f(x) = max(0, x). This enhances the non-linear properties of the decision function and the overall network without affecting the receptive fields of the typically claimed convolution and activation layer.

В некоторых вариантах осуществления типовой заявленный слой подвыборки использует типовую заявленную CNN U-net, обученную представлению формы нелинейной субдискретизации за счет объединения выходных сигналов нейронных кластеров в одном слое в один нейрон в следующем слое. В некоторых вариантах осуществления типовая заявленная CNN U-net может быть обучена реализации типовой заявленной максимизационной подвыборке, заключающейся в разделении входного изображения на набор неперекрывающихся прямоугольников и выводе для каждой такой подобласти максимального значения от каждого кластера нейронов в предшествующем слое. Типовой заявленный слой подвыборки служит для постепенного сокращения пространственного размера представления, уменьшения числа параметров и объема вычислений в сети и, следовательно, также для контроля переобучения.In some embodiments, a generic claimed subsampling layer uses a generic claimed U-net CNN trained to represent a non-linear subsampling shape by combining the outputs of neural clusters in one layer into a single neuron in the next layer. In some embodiments, a typical claimed U-net CNN can be trained to implement a generic claimed maximization subsampling of dividing the input image into a set of non-overlapping rectangles and outputting, for each such subregion, the maximum value from each cluster of neurons in the previous layer. The exemplary claimed subsampling layer serves to gradually reduce the spatial size of the representation, reduce the number of parameters and the amount of computation in the network, and hence also to control overfitting.

После типового заявленного пути сжатия типовая заявленная CNN U-net переходит к типовому заявленному пути расширения и представляет полносвязный слой на подэтапе 604f в соответствии с некоторым вариантом осуществления. В процессе расширения типовая заявленная CNN U-net была обучена объединению признака и пространственной информации через последовательность повышающих сверток и конкатенаций с признаками высокого разрешения с пути сжатия.After the generic advertised compression path, the generic advertised CNN U-net proceeds to the generic advertised extension path and presents a fully connected layer in substep 604f, in accordance with some embodiment. In the expansion process, a generic claimed U-net CNN was trained to combine the feature and spatial information through a sequence of upconvolutions and concatenations with high resolution features from the compression path.

В некоторых вариантах осуществления полносвязные слои состоят из нейронов в типовом заявленном полносвязном слое и имеют связи со всеми слоями активации в предыдущих слоях. В соответствии с некоторым вариантом осуществления нейроны типовых заявленных полносвязных слоев соответствуют карте ингредиентов пиццы, основанной на классификации каждого пиксела изображения, выполненной с помощью типовой заявленной CNN U-net. Карта ингредиентов пиццы включает в себя, в том числе, корочку, сыр и наполнители, такие как пепперони и ветчина.In some embodiments, fully connected layers consist of neurons in a typical fully connected layer claimed and have connections to all activation layers in previous layers. In accordance with an embodiment, the neurons of the generic claimed fully connected layers correspond to a pizza ingredient map based on the classification of each pixel in the image, performed by the generic claimed U-net CNN. The pizza ingredient list includes crust, cheese, and toppings such as pepperoni and ham.

В таблице 1 показана типовая заявленная схема данных для иллюстративной модели сегментации, реализованной на этапе 604, как описано в данном документе.Table 1 shows an exemplary declared data schema for an exemplary segmentation model implemented at 604, as described herein.

Figure 00000001
Figure 00000001

Figure 00000002
Figure 00000002

С помощью карты ингредиентов, полученной на этапе 604, на этапе 606 типовая заявленная CNN U-net была обучена применению типовых правил подсчета баллов, как детализировано в данном документе, для вычисления градиентов пиццы, в результате которого получают столбец баллов для одного ломтика из восьми ломтиков пиццы. Выходные результаты вычисления градиентов от типовой заявленный CNN U-net для одного кусочка пиццы далее иллюстрированы с увеличением на фигуре 6С.Using the ingredient map obtained in step 604, in step 606, a generic claimed CNN U-net was trained to apply the generic scoring rules, as detailed herein, to calculate pizza gradients, resulting in a scoring column for one slice of eight slices. pizza. The output results of computing gradients from a typical reported CNN U-net for one slice of pizza are further illustrated with magnification in Figure 6C.

После вычисления градиентов всех ломтиков типовая заявленная CNN U-net вырабатывает на выходе матрицу с восемью столбцами, каждый из которых соответствует каждому из восьми ломтиков, на этапе 608 (в увеличенном виде с увеличением на фигуре 6D). Затем заявленная CNN U-net подвергает эту матрицу последующей обработке с использованием статистических моделей, обеспечивающей повышение качества подсчета баллов на этапе 610 (в увеличенном виде на фигуре 6Е). На этапе 612 (в увеличенном виде на фигуре 6F) типовая заявленная CNN U-net вырабатывает на выходе улучшенную матрицу подсчета баллов в двоичной форме, состоящей из только нулей и единиц. По этой улучшенной матрице подсчета баллов на этапе 614 определяется итоговый балл.After computing the gradients of all slices, a typical U-net CNN claims to output an eight-column matrix, each corresponding to each of the eight slices, in step 608 (expanded and enlarged in Figure 6D). The claimed CNN U-net then post-processes this matrix using statistical models to improve the scoring at step 610 (expanded in Figure 6E). At step 612 (expanded in Figure 6F), a typical claimed U-net CNN outputs an improved scoring matrix in binary form consisting of only 0s and 1s. From this improved scoring matrix, a final score is determined at step 614.

На фигуре 7 представлен моментальный снимок диаграммы рабочего процесса 700 идентификации и оценки производства пищевых продуктов, такого как производство пиццы, с применением типовой заявленной CNN, описанной в данном документе, в соответствии с некоторыми вариантами осуществления. Этот процесс начинается с этапа 702, на котором видеопоток, содержащий, по меньшей мере, видеокадр с изображением пиццы, сохраняется с использованием модуля Smart Video Saver 1, как отмечалось со ссылками на фигуру 1. На этапе 704 определяется, содержит ли каждый из видеокадров видеопотока изображение пиццы или нет. В случае отсутствия изображения пиццы в видеокадре на этапе 706 этот видеокадр отбрасывается. В случае наличия изображения пиццы в видеокадре на этапе 708 осуществляется сбор видеокадров с изображением пиццы, которые используются для поиска наилучших изображений. На этапе 710 создается набор видеокадров с наилучшим изображением пиццы, выбранных из всех видеокадров с изображением пиццы. В некотором варианте осуществления создание набора видеокадров пиццы с самым высоким рейтингом выполняется с помощью типового заявленного неточного детектора высокого быстродействия в составе типового заявленный модуля Pizza Detector 2, как отмечалось со ссылками на фигуру 1. В некотором варианте осуществления создание набора видеокадров пиццы с самым высоким рейтингом, включает в себя, в том числе, определение размытости видеокадров вследствие движения или расфокусировки. На этапе 712 набор из выбранных видеокадров с наилучшим изображением пиццы подвергается обработке на основе первой обученной типовой заявленной CNN для идентификации наилучшего изображения пиццы из видеокадров пиццы с самым высоким рейтингом, локализации пиццы в границах наилучшего изображения пиццы, и определения типа пиццы по выбранному наилучшему изображению. В некотором варианте осуществления идентификация наилучшего изображения пиццы выполняется с помощью типового заявленного точного детектора низкого быстродействия в составе типового заявленного модуля Pizza Detector 2, как отмечалось со ссылками на фигуру 1. В некотором варианте осуществления локализация пиццы включает в себя определение ограничивающей рамки и одной или более двоичных масок на изображении.Figure 7 is a diagrammatic snapshot of a workflow 700 for identifying and evaluating food production, such as pizza production, using the generic claimed CNN described herein, in accordance with some embodiments. This process begins at step 702, where a video stream containing at least a video frame of a pizza image is stored using the Smart Video Saver 1 module, as noted with reference to Figure 1. At step 704, it is determined whether each of the video frames contains a video stream image of pizza or not. If there is no pizza image in the video frame, at block 706, the video frame is discarded. If there is a pizza image in the video frame, at step 708, pizza video frames are collected and used to find the best images. At step 710, a set of video frames with the best pizza image is created, selected from all pizza video frames. In some embodiment, the creation of the highest rated pizza video frame set is performed using the exemplary claimed high speed inaccurate detector within the exemplary claimed Pizza Detector 2 module, as noted with reference to Figure 1. In an embodiment, the creation of the highest rated pizza video frame set , includes, among other things, determining the blurring of video frames due to movement or defocus. In step 712, the set of selected video frames with the best pizza image is processed based on the first trained generic claimed CNN to identify the best pizza image from the highest rated pizza video frames, locate the pizza within the best pizza image boundaries, and determine the type of pizza from the selected best image. In some embodiment, identification of the best pizza image is performed using a typical low speed claimed accurate detector as part of a typical claimed Pizza Detector 2 module, as noted with reference to Figure 1. In some embodiment, pizza localization includes defining a bounding box and one or more binary masks on the image.

После определения типа пиццы процесс затем выполняет автоматическую сегментацию изображения пиццы с применением второй обученной типовой заявленной CNN на этапе 714. В некоторых вариантах осуществления такая сегментация выполняется с помощью типового заявленного модуля Scorer 4, как отмечалось со ссылками на фигуру 1. В некоторых вариантах осуществления эта сегментация задает карту компонентов пиццы, таких как тесто, сыры и наполнители. Затем на этапе 716 по этой карте компонентов пиццы выполняется автоматический подсчет баллов. В некоторых вариантах осуществления подсчет баллов выполняется с помощью типового заявленного модуля Scorer 4, как отмечалось со ссылками на фигуру 1.Once the pizza type is determined, the process then performs automatic segmentation of the pizza image using the second trained Generic Claimed CNN at 714. In some embodiments, this segmentation is performed using a Generic Claimed Scorer 4 module, as noted with reference to Figure 1. In some embodiments, this segmentation defines a map of pizza ingredients such as dough, cheeses, and toppings. Then, at step 716, automatic scoring is performed on this pizza ingredients map. In some embodiments, scoring is performed using the exemplary claimed Scorer 4 module, as noted with reference to Figure 1.

На фигуре 8 представлен моментальный снимок диаграммы рабочего процесса 800 автоматического подсчета баллов с реализацией второй обученной типовой заявленной CNN, описанной в данном документе, в соответствии с некоторыми вариантами осуществления. На этапе 802 выбранное наилучшее изображение пиццы представляется в качестве входной информации для процесса подсчета баллов. Затем на этапе 804 осуществляется переход к разделению этого изображения пиццы на N ломтиков, где N является отличным от 0 целым числом. В некотором варианте осуществления N = 8. На этапе 806 один из N ломтиков подвергается обработке для задания карты компонентов пиццы за счет применения типового заявленного пути сжатия и типового заявленного пути расширения второй обученной типовой заявленной CNN в соответствии с некоторыми вариантами осуществления.Figure 8 is a diagrammatic snapshot of an automatic scoring workflow 800 with an implementation of the second trained generic claimed CNN described herein, in accordance with some embodiments. At block 802, the selected best pizza image is provided as input to the scoring process. Next, at step 804, a transition is made to dividing this pizza image into N slices, where N is an integer other than 0. In an embodiment, N = 8. In step 806, one of the N slices is processed to define a pizza component map by applying a generic claimed compression path and a generic claimed expansion path of a second trained generic claimed CNN, in accordance with some embodiments.

В некотором варианте осуществления типовой заявленный путь сжатия состоит из повторных применений слоев свертки и активации. В некоторых вариантах осуществления вслед за первым слоем свертки и активации может быть применен слой субдискретизации и пакетной нормализации. В некоторых вариантах осуществления за каждым типовым заявленным слоем свертки и активации следует типовой заявленной слой выпрямленных линейных единиц (ReLU) и типовой заявленный слой подвыборки перед переходом к следующему слою свертки и активации.In some embodiment, a typical claimed compression path consists of repeated applications of convolution and activation layers. In some embodiments, a downsampling and batch normalization layer may be applied following the first convolution and activation layer. In some embodiments, each Type Notified Convolution and Activation layer is followed by a Type Notified Rectified Linear Units (ReLU) layer and a Type Notified subsampling layer before proceeding to the next convolution and activation layer.

В некотором варианте осуществления на протяжении типового заявленного пути расширения процесс объединяет признак и пространственную информацию через последовательность повышающих сверток и конкатенаций с признаками высокого разрешения от типового заявленного пути сжатия.In some embodiment, over a typical claimed expansion path, the process combines the feature and spatial information through a sequence of upconvolutions and concatenations with high resolution features from a typical claimed compression path.

С помощью карты компонентов пиццы от этапа 806 на этапе 808 типовой заявленный процесс может применять одно или более правил подсчета баллов пиццы, детализированных в данном документе для вычисления градиентов ломтика. Затем этапы 806-808 повторяются на этапе 810 вычисления градиентов оставшихся ломтиков пиццы. В заключение на этапе 812 по градиентам всех ломтиков пиццы определяется итоговый балл.With the pizza ingredients map from block 806 at block 808, the exemplary claimed process may apply one or more of the pizza scoring rules detailed herein to compute slice gradients. Steps 806-808 are then repeated at step 810 for computing the gradients of the remaining pizza slices. Finally, at step 812, a final score is determined from the gradients of all pizza slices.

На фигуре 9 показана типовая заявленная, основанная на CNN, компьютерно-реализуемая система 900, обученная выполнению поиска и подсчета баллов пищевого объекта 902, например, пицц, изготовленных ресторанами. Видеокадры Video 1, 2, 3, … N видеопотока захватываются одной или более видеокамерами: видеокамерой А 904а, видеокамерой В 904b … видеокамерой N 904n (например, IP-камерой 202 на фигуре 2А), как отмечалось в данном документе в соответствии с некоторыми вариантами осуществления. Видеопоток представляется в качестве входной информации 906 и передается через сеть 908 для процессов дальнейшего поиска и подсчета баллов. В некоторых вариантах осуществления видеокадры Video 1, 2, 3, … N видеопотока сохраняются в запоминающем устройстве 910 для последующего извлечения. Запоминающее устройство 910 может представлять собой, в том числе, локальное запоминающее устройство или удаленный носитель информации и/или базу данных. В некоторых вариантах осуществления входная информация 906 передается через сеть 1008 на сервер 912 для обработки. Сервер 912 выбирает наилучшее изображение пиццы из кадров видеопотока и определяет местоположение порции пиццы на наилучшем изображении. Наилучшее изображение затем подвергается обработке с помощью сервера 912 для подсчета баллов, результаты которого передаются в качестве выходной информации 914. В некотором варианте осуществления возможно сохранение выходной информации 914 в запоминающем устройстве 910 для последующего извлечения для контроля и/или улучшения процессов производства пищевых изделий.Figure 9 shows an exemplary claimed CNN-based computer-implemented system 900 trained to search and score a food item 902, such as pizzas made by restaurants. Video frames Video 1, 2, 3, ... N of the video stream are captured by one or more video cameras: video camera A 904a, video camera B 904b ... video camera N 904n (for example, IP camera 202 in figure 2A), as noted in this document in accordance with some options implementation. The video stream is presented as input 906 and transmitted through the network 908 for further search and scoring processes. In some embodiments, video frames Video 1, 2, 3, ... N of the video stream are stored in storage device 910 for later retrieval. The storage device 910 may include, but is not limited to, a local storage device or a remote storage medium and/or a database. In some embodiments, input 906 is transmitted via network 1008 to server 912 for processing. The server 912 selects the best pizza image from the frames of the video stream and locates the pizza slice in the best image. The best image is then processed by the scoring server 912, the results of which are transmitted as output information 914. In some embodiment, it is possible to store the output information 914 in the memory device 910 for later retrieval to control and/or improve food production processes.

В некоторых вариантах осуществления настоящее изобретение относится к типовым компьютерным системам и способам поиска и подсчета баллов пиццы, поддерживаемым видеокамерами и реализуемым с помощью усовершенствованных алгоритмов на основе сверточной нейронной сети (CNN), которая обеспечивает преимущества точного подсчета баллов пиццы и, таким образом, повышения точности, эффективности и качества процессов производства пиццы.In some embodiments, the present invention relates to exemplary pizza retrieval and scoring computer systems and methods supported by video cameras and implemented with advanced convolutional neural network (CNN) algorithms that provide the benefits of accurate pizza scoring and thus improved accuracy. , efficiency and quality of pizza production processes.

В некоторых вариантах осуществления настоящее изобретение относится к типовому заявленному, основанному на сверточной нейронной сети, компьютерно-реализуемому способу идентификации и оценки производства пищевых продуктов, такого как производство пиццы, включающему в себя: прием с помощью процессора непрерывного видеопотока, по меньшей мере, из одного положения камеры над столом, сконфигурированным для приема готовых пицц; сбор с помощью процессора множества видеокадров пиццы, содержащих видеокадры выбранной пиццы, из этого видеопотока; применение с помощью процессора первой CNN для выбора набора видеокадров выбранной пиццы с пиццей с самым высоким рейтингом из множества видеокадров с пиццей; применение с помощью процессора первой CNN для идентификации изображения выбранной пиццы с пиццей с самым высоким рейтингом из набора видеокадров с пиццей с самым высоким рейтингом; применение с помощью процессора первой CNN для локализации, по меньшей мере, одной порции выбранной пиццы в идентифицированном изображении с пиццей с самым высоким рейтингом; применение с помощью процессора первой CNN для определения типа выбранной пиццы из идентифицированного изображения с пиццей с самым высоким рейтингом; применение с помощью процессора второй CNN для задания карты компонентов выбранной пиццы в результате автоматического выполнения сегментации изображения порции пиццы на основе, по меньшей мере, типа пиццы; и применение с помощью процессора второй CNN для автоматического подсчета баллов выбранной пиццы на основе заданной карты компонентов пиццы.In some embodiments, the present invention relates to an exemplary convolutional neural network-based, computer-implemented method for identifying and evaluating food production, such as pizza production, comprising: receiving, by means of a processor, a continuous video stream from at least one camera positions above a table configured to receive ready-made pizzas; collecting by the processor a plurality of pizza video frames containing video frames of the selected pizza from the video stream; applying, by the processor, the first CNN to select a set of video frames of the selected pizza pizza with the highest rating from the plurality of pizza video frames; applying, by the processor, the first CNN to identify an image of the selected highest rated pizza pizza from the set of highest rated pizza video frames; using the processor on the first CNN to localize at least one portion of the selected pizza in the identified image with the highest rated pizza; using the first CNN with the processor to determine the type of pizza selected from the identified image with the highest rated pizza; applying, by the processor, a second CNN to define a component map of the selected pizza by automatically performing image segmentation of the pizza portion based on at least the type of pizza; and using the second CNN by the processor to automatically score the selected pizza based on the predetermined pizza ingredients map.

В некоторых вариантах осуществления применение с помощью процессора второй CNN для автоматического подсчета баллов выбранной пиццы на основе заданной карты компонентов пиццы включает себя: разделение с помощью процессора порции пиццы из идентифицированного наилучшего изображения на множество ломтиков; вычисление с помощью процессора градиентов одного из множества ломтиков выбранной пиццы; повторение с помощью процессора этапа вычисления градиентов оставшихся ломтиков из множества ломтиков; и определение с помощью процессора итогового балла выбранной пиццы на основе вычисления градиентов множества ломтиков.In some embodiments, the processor's application of a second CNN to automatically score a selected pizza based on a predetermined pizza component map includes: dividing the pizza slice from the identified best image into a plurality of slices by the processor; calculating with the gradient processor one of the plurality of slices of the selected pizza; repeating by the processor the step of calculating the gradients of the remaining slices from the plurality of slices; and determining, with the processor, a final score of the selected pizza based on the calculation of the gradients of the plurality of slices.

В некоторых вариантах осуществления видеокадры видеопотока распределены по категориям в случаях, включающих в себя:In some embodiments, video frames of a video stream are categorized in cases including:

i) первый случай для изображений без пиццы;i) first case for images without pizza;

ii) второй случай для нецентрированных изображений пиццы;ii) second case for non-centered pizza images;

iii) третий случай для центрированных изображений пиццы и качеством разрешения, составляющим X;iii) the third case for centered pizza images and a resolution quality of X;

iv) четвертый случай для центрированных изображений пиццы и качеством разрешения, составляющим Y, где Υ выше чем X;iv) the fourth case for centered pizza images and a resolution quality of Y, where Υ is higher than X;

v) пятый случай для центрированных изображений пиццы первого типа и требуемым качеством разрешения; иv) the fifth case for centered pizza images of the first type and the required resolution quality; and

vi) шестой случай для центрированных изображений пиццы второго типа и требуемым качеством разрешения.vi) the sixth case for centered pizza images of the second type and the required resolution quality.

В некоторых вариантах осуществления применение первой CNN для выбора набора видеокадров пиццы с самым высоким рейтингом из видеокадров пиццы и идентификации наилучшего изображения выполняется с помощью графического процессора (GPU).In some embodiments, the application of the first CNN to select the highest rated set of pizza video frames from the pizza video frames and identify the best image is performed by a graphics processing unit (GPU).

В некоторых вариантах осуществления применение первой CNN для выбора набора видеокадров пиццы с самым высоким рейтингом из видеокадров пиццы выполняется с помощью неточного детектора высокого быстродействия.In some embodiments, applying the first CNN to select the highest rated set of pizza video frames from the pizza video frames is performed with a high speed imprecise detector.

В некоторых вариантах осуществления выбор набора видеокадров пиццы с самым высоким рейтингом включает в себя обесценивание каждого видеокадра пиццы с размытостью вследствие движения и/или размытостью вследствие расфокусировки.In some embodiments, selecting the highest rated set of pizza video frames includes discounting each pizza video frame with motion blur and/or defocus blur.

В некоторых вариантах осуществления применение первой CNN для идентификации наилучшего изображения выполняется с помощью точного детектора низкого быстродействияIn some embodiments, the application of the first CNN to identify the best image is performed with an accurate low speed detector.

В некоторых вариантах осуществления число элементов множества ломтиков составляет 8.In some embodiments, the number of elements of the slice set is 8.

В некоторых вариантах осуществления вторая CNN имеет путь сжатия и путь расширения.In some embodiments, the second CNN has a compression path and an extension path.

В некоторых вариантах осуществления путь сжатия включает в себя множество слоев свертки и активации.In some embodiments, the compression path includes a plurality of convolution and activation layers.

В некоторых вариантах осуществления путь сжатия дополнительно включает в себя слой субдискретизации и пакетной нормализации, следующий за первым слоем свертки и активации.In some embodiments, the compression path further includes a downsampling and batch normalization layer following the first convolution and activation layer.

В некоторых вариантах осуществления путь сжатия дополнительно включает в себя слой выпрямленных линейных единиц (ReLU) и слой подвыборки, следующие за каждым слоем свертки и активации перед переходом к следующему слою свертки и активации.In some embodiments, the compression path further includes a Rectified Linear Units (ReLU) layer and a subsampling layer following each convolution and activation layer before moving on to the next convolution and activation layer.

В некоторых вариантах осуществления путь расширения включает в себя последовательность повышающих сверток и конкатенаций, сконфигурированных для объединения пространственной информации о признаках с признаками высокого разрешения от пути сжатия.In some embodiments, the extension path includes a sequence of upconvolutions and concatenations configured to combine spatial feature information with high resolution features from the compression path.

В некоторых вариантах осуществления применение первой CNN для локализации, по меньшей мере, одной порции определенной пиццы в идентифицированном изображении пиццы с самым высоким рейтингом, включает в себя: определение ограничивающей рамки; и использование одной или более предварительно заданных двоичных масок.In some embodiments, applying the first CNN to localize at least one serving of a particular pizza in the identified highest rated pizza image includes: defining a bounding box; and using one or more predefined binary masks.

В некоторых вариантах осуществления настоящее изобретение относится к типовой заявленной, основанной на сверточной нейронной сети, компьютерно-реализуемой системе идентификации и оценки производства пищевых продуктов, такого как производство пиццы, включающей в себя: по меньшей мере, одно устройство захвата изображения; долговременное запоминающее устройство; один или более процессоров; и компьютерный программный код, хранимый в этом долговременном запоминающем устройстве, обеспечивающий при исполнении одним или более процессорами выполнение одним или более процессорами: приема непрерывного видеопотока, по меньшей мере, из одного положения камеры над столом, сконфигурированным для приема готовых пицц; сбора множества видеокадров пиццы, содержащих видеокадры выбранной пиццы, из этого видеопотока; применение первой CNN для выбора набора видеокадров выбранной пиццы с пиццей с самым высоким рейтингом из множества видеокадров пиццы; применение первой CNN для идентификации изображения выбранной пиццы с пиццей с самым высоким рейтингом из набора видеокадров пиццы с самым высоким рейтингом; применение первой CNN для локализации, по меньшей мере, одной порции выбранной пиццы в идентифицированном изображении с пиццей с самым высоким рейтингом; применение первой CNN для определения типа выбранной пиццы из идентифицированного изображения с пиццей с самым высоким рейтингом; применение второй CNN для задания карты компонентов выбранной пиццы в результате автоматического выполнения сегментации изображения порции пиццы на основе, по меньшей мере, типа пиццы; и применение второй CNN для автоматического подсчета баллов выбранной пиццы на основе заданной карты компонентов пиццы.In some embodiments, the present invention relates to an exemplary convolutional neural network-based, computer-implemented system for identifying and evaluating food production, such as pizza production, comprising: at least one image capture device; long-term storage device; one or more processors; and computer program code stored in the long-term memory, causing, when executed by the one or more processors, the one or more processors to: receive a continuous video stream from at least one camera position above a table configured to receive finished pizzas; collecting a plurality of pizza video frames containing video frames of the selected pizza from the video stream; applying the first CNN to select a set of video frames of the selected pizza pizza with the highest rating from the plurality of pizza video frames; applying the first CNN to identify an image of the selected pizza with the highest rated pizza from the set of video frames of the highest rated pizza; applying the first CNN to localize at least one portion of the selected pizza in the identified image with the highest rated pizza; applying the first CNN to determine the type of pizza selected from the identified image with the highest rated pizza; applying the second CNN to define a component map of the selected pizza by automatically performing image segmentation of the pizza portion based on at least the type of pizza; and applying the second CNN to automatically score the selected pizza based on the given pizza ingredients map.

В некоторых вариантах осуществления компьютерный программный код включает в себя инструкции по: применению второй CNN для автоматического подсчета баллов выбранной пиццы на основе заданной карты компонентов пиццы, включающему в себя: деление порции пиццы в идентифицированном наилучшем изображении на множество ломтиков; вычисление градиентов одного из множества ломтиков выбранной пиццы; повторение шага вычисления градиентов для вычисления градиентов оставшихся ломтиков из множества ломтиков; и определение итогового балла выбранной пиццы на основе вычисления градиентов множества ломтиков.In some embodiments, the computer program code includes instructions for: applying a second CNN to automatically score a selected pizza based on a given map of pizza ingredients, including: dividing the pizza portion in the identified best image into a plurality of slices; calculating gradients of one of the plurality of selected pizza slices; repeating the gradient calculation step to calculate gradients of the remaining slices from the plurality of slices; and determining the final score of the selected pizza based on the calculation of the gradients of the plurality of slices.

В некоторых вариантах осуществления компьютерный программный код включает в себя инструкции по применению первой CNN на GPU для выбора набора видеокадров пиццы с самым высоким рейтингом из видеокадров пиццы и идентификации наилучшего изображения.In some embodiments, the computer program code includes instructions for applying the first CNN on the GPU to select the highest rated set of pizza video frames from the pizza video frames and identify the best image.

В некоторых вариантах осуществления компьютерный программный код включает в себя инструкции по применению первой CNN для выбора набора видеокадров пиццы с самым высоким рейтингом из видеокадров пиццы, выполняемого с помощью неточного детектора высокого быстродействия.In some embodiments, the computer program code includes instructions for using the first CNN to select the highest rated set of pizza video frames from the pizza video frames performed by the high speed inaccurate detector.

В некоторых вариантах осуществления компьютерный программный код включает в себя инструкции по применению первой CNN для идентификации наилучшего изображения, выполняемой с помощью точного детектора низкого быстродействия.In some embodiments, the computer program code includes instructions for using the first CNN to identify the best image, performed with an accurate low speed detector.

В некоторых вариантах осуществления настоящее изобретение относится к типовому заявленному, основанному на сверточной нейронной сети, компьютерно-реализуемому, долговременному, считываемому компьютером носителю информации для идентификации и оценки производства пищевых продуктов, такого как производство пиццы, включающего в себя исполняемые процессором инструкции по: приему непрерывного видеопотока, по меньшей мере, из одного положения камеры над столом, сконфигурированным для приема готовых пицц; сбору множества видеокадров пиццы, содержащих видеокадры выбранной пиццы, из этого видеопотока; выбору набора видеокадров выбранной пиццы с пиццей с самым высоким рейтингом из множества видеокадров пиццы; применения первой CNN для идентификации изображения выбранной пиццы с пиццей с самым высоким рейтингом из набора видеокадров пиццы с самым высоким рейтингом; применению первой CNN для локализации, по меньшей мере, одной порции выбранной пиццы в идентифицированном изображении с пиццей с самым высоким рейтингом; применению первой CNN для определения типа выбранной пиццы из идентифицированного изображения с пиццей с самым высоким рейтингом; применению второй CNN для задания карты компонентов выбранной пиццы в результате автоматического выполнения сегментации изображения порции пиццы на основе, по меньшей мере, типа пиццы; и применению второй CNN для автоматического подсчета баллов выбранной пиццы на основе заданной карты компонентов пиццы.In some embodiments, the present invention relates to an exemplary convolutional neural network-based, computer-realizable, durable, computer-readable storage medium for identifying and evaluating food production, such as pizza production, comprising processor-executable instructions for: receiving a continuous a video stream from at least one camera position above a table configured to receive finished pizzas; collecting a plurality of pizza video frames containing video frames of the selected pizza from the video stream; selecting a set of video frames of the selected pizza with the highest rated pizza from the plurality of pizza video frames; applying the first CNN to identify an image of the selected pizza with the highest rated pizza from the set of video frames of the highest rated pizza; applying the first CNN to localize at least one serving of the selected pizza in the identified image with the highest rated pizza; applying the first CNN to determine the type of pizza selected from the identified image with the highest rated pizza; applying a second CNN to define a component map of the selected pizza by automatically performing image segmentation of the pizza portion based on at least the type of pizza; and applying the second CNN to automatically score the selected pizza based on the given pizza ingredients map.

В некоторых вариантах осуществления долговременный считываемый компьютером носитель информации включает в себя исполняемые процессором инструкции по применению второй CNN для автоматического подсчета баллов выбранной пиццы на основе заданной карты компонентов пиццы, включающему в себя: деление порции пиццы в идентифицированном наилучшем изображении на множество ломтиков; вычисление градиентов одного из множества ломтиков выбранной пиццы; повторение шага вычисления градиентов для вычисления градиентов оставшихся ломтиков из множества ломтиков; и определение итогового балла выбранной пиццы на основе вычисления градиентов множества ломтиков.In some embodiments, the non-volatile computer-readable storage medium includes processor-executable instructions for applying a second CNN to automatically score a selected pizza based on a given map of pizza ingredients, including: dividing the pizza portion in the identified best image into a plurality of slices; calculating gradients of one of the plurality of selected pizza slices; repeating the gradient calculation step to calculate gradients of the remaining slices from the plurality of slices; and determining the final score of the selected pizza based on the calculation of the gradients of the plurality of slices.

Публикации, цитируемые в этом документе, полностью включены в настоящее описание посредством ссылок. Выше со ссылками на примеры и варианты осуществления были проиллюстрированы различные объекты изобретения. Однако очевидно, что объем изобретения определяется не приведенным выше описанием, а приводимой ниже формулой изобретения, надлежащим образом истолкованной в соответствии с принципами патентного права. Кроме того, многие модификации могут стать очевидными для специалистов в данной области техники, в том числе, возможность использования различных вариантов осуществления заявленных методологий заявленных систем и заявленных устройств, описываемых в данном документе, в любой комбинации друг с другом. Кроме того, возможно выполнение различных этапов в любом желательном порядке (и добавление любые желательных этапов и/или устранение любых нежелательных этапов в выбранном варианте осуществления).Publications cited in this document are incorporated herein by reference in their entirety. The various aspects of the invention have been illustrated above with reference to examples and embodiments. However, it is clear that the scope of the invention is not defined by the above description, but by the following claims, properly construed in accordance with the principles of patent law. In addition, many modifications may become apparent to those skilled in the art, including the possibility of using various embodiments of the claimed methodologies of the claimed systems and claimed devices described herein in any combination with each other. In addition, it is possible to perform the various steps in any desired order (and add any desired steps and/or eliminate any undesirable steps in the chosen embodiment).

Claims (94)

1. Способ обработки видеопотока для идентификации и оценки качества производства пиццы, содержащий:1. A method for processing a video stream for identifying and assessing the quality of pizza production, comprising: прием с помощью процессора непрерывного видеопотока, по меньшей мере, из одного положения камеры над столом, сконфигурированным для приема готовых пицц;receiving by the processor a continuous video stream from at least one camera position above a table configured to receive finished pizzas; сбор с помощью процессора множества видеокадров пиццы, содержащих видеокадры выбранной пиццы, из этого видеопотока;collecting by the processor a plurality of pizza video frames containing video frames of the selected pizza from the video stream; применение с помощью процессора первой сверточной нейронной сети (CNN) для выбора набора видеокадров выбранной пиццы с пиццей с самым высоким рейтингом из множества видеокадров пиццы;using the processor with a first convolutional neural network (CNN) to select a set of video frames of the selected pizza with the highest rated pizza from the plurality of pizza video frames; применение с помощью процессора первой CNN для идентификации изображения выбранной пиццы с пиццей с самым высоким рейтингом из набора видеокадров пиццы с самым высоким рейтингом;applying, by the processor, the first CNN to identify an image of the selected pizza with the highest rated pizza from the set of video frames of the highest rated pizza; применение с помощью процессора первой CNN для локализации, по меньшей мере, одной порции выбранной пиццы в идентифицированном изображении с пиццей с самым высоким рейтингом;using the processor on the first CNN to localize at least one portion of the selected pizza in the identified image with the highest rated pizza; применение с помощью процессора первой CNN для определения типа выбранной пиццы из идентифицированного изображения с пиццей с самым высоким рейтингом;using the first CNN with the processor to determine the type of pizza selected from the identified image with the highest rated pizza; применение с помощью процессора второй сверточной нейронной сети (CNN) для задания карты компонентов выбранной пиццы в результате автоматического выполнения сегментации изображения порции пиццы на основе, по меньшей мере, типа пиццы; иusing the processor with a second convolutional neural network (CNN) to define a component map of the selected pizza by automatically performing image segmentation of the pizza portion based on at least the type of pizza; and применение с помощью процессора второй CNN для автоматического подсчета баллов выбранной пиццы на основе заданной карты компонентов пиццы, содержащее:applying, by means of a processor, a second CNN to automatically score a selected pizza based on a given map of pizza ingredients, comprising: разделение с помощью процессора порции пиццы из идентифицированного наилучшего изображения на множество ломтиков;dividing, by the processor, the pizza portion from the identified best image into a plurality of slices; вычисление с помощью процессора градиентов одного из множества ломтиков выбранной пиццы;calculating with the gradient processor one of the plurality of slices of the selected pizza; повторение с помощью процессора этапа вычисления градиентов оставшихся ломтиков из множества ломтиков; иrepeating by the processor the step of calculating the gradients of the remaining slices from the plurality of slices; and определение с помощью процессора итогового балла выбранной пиццы на основе вычисления градиентов множества ломтиков.determining, by means of the processor, a final score of the selected pizza based on the calculation of the gradients of the plurality of slices. 2. Способ по п. 1, отличающийся тем, что видеокадры видеопотока распределяются по категориям в случаях, содержащих:2. The method according to claim 1, characterized in that the video frames of the video stream are categorized in cases containing: i) первый случай для изображений без пиццы;i) first case for images without pizza; ii) второй случай для нецентрированных изображений пиццы;ii) second case for non-centered pizza images; iii) третий случай для центрированных изображений пиццы и с качеством разрешения, составляющим X;iii) the third case for centered pizza images and with a resolution quality of X; iv) четвертый случай для центрированных изображений пиццы и с качеством разрешения, составляющим Y, где Υ выше чем X;iv) the fourth case for centered pizza images and with a resolution quality of Y, where Υ is higher than X; v) пятый случай для центрированных изображений пиццы первого типа и с требуемым качеством разрешения; иv) the fifth case for centered pizza images of the first type and with the required resolution quality; and vi) шестой случай для центрированных изображений пиццы второго типа и с требуемым качеством разрешения.vi) the sixth case for centered pizza images of the second type and with the required resolution quality. 3. Способ по п. 1, отличающийся тем, что выбор набора видеокадров пиццы с самым высоким рейтингом дополнительно содержит обесценивание каждого видеокадра пиццы с размытостью вследствие движения и/или размытостью вследствие расфокусировки.3. The method of claim 1, wherein selecting the highest rated set of pizza video frames further comprises discounting each pizza video frame with motion blur and/or defocus blur. 4. Способ по п. 1, отличающийся тем, что число элементов множества ломтиков составляет 8.4. The method according to claim 1, characterized in that the number of elements of the set of slices is 8. 5. Способ по п. 1, отличающийся тем, что вторая CNN имеет путь сжатия и путь расширения.5. The method of claim 1, wherein the second CNN has a compression path and an expansion path. 6. Способ по п. 5, отличающийся тем, что путь сжатия содержит множество слоев свертки и активации.6. The method of claim 5, wherein the compression path contains a plurality of convolution and activation layers. 7. Способ по п. 6, отличающийся тем, что путь сжатия дополнительно содержит слой субдискретизации и пакетной нормализации, следующий за первым слоем свертки и активации.7. The method of claim 6, wherein the compression path further comprises a subsampling and batch normalization layer following the first convolution and activation layer. 8. Способ по п. 6, отличающийся тем, что путь сжатия дополнительно содержит слой выпрямленных линейных единиц (ReLU) и слой подвыборки, следующие за каждым слоем свертки и активации перед переходом к следующему слою свертки и активации.8. The method of claim 6, wherein the compression path further comprises a Rectified Linear Units (ReLU) layer and a subsampling layer following each convolution and activation layer before proceeding to the next convolution and activation layer. 9. Способ по п. 5, отличающийся тем, что путь расширения содержит последовательность повышающих сверток и конкатенаций, сконфигурированных для объединения пространственной информации о признаках с признаками предварительно заданного разрешения от пути сжатия.9. The method of claim 5, wherein the extension path comprises a sequence of upconvolutions and concatenations configured to combine spatial feature information with predetermined resolution features from the compression path. 10. Способ по п. 1, отличающийся тем, что применение первой CNN для локализации, по меньшей мере, одной порции выбранной пиццы в идентифицированном наилучшем изображении пиццы дополнительно содержит:10. The method of claim 1, wherein applying the first CNN to localize at least one portion of the selected pizza in the identified best pizza image further comprises: определение ограничивающей рамки; иdefining a bounding box; and использование одной или более предварительно заданных двоичных масок.using one or more predefined binary masks. 11. Система обработки видеопотока для идентификации и оценки качества производства пиццы, содержащая:11. A video stream processing system for identifying and evaluating the quality of pizza production, comprising: по меньшей мере, одно устройство захвата изображения;at least one image capture device; долговременное запоминающее устройство;long-term storage device; один или более процессоров; иone or more processors; and компьютерный программный код, хранимый в этом долговременном запоминающем устройстве, обеспечивающий при исполнении одним или более процессорами выполнение одним или более процессорами:computer program code stored in this long-term storage device, which, when executed by one or more processors, causes one or more processors to execute: приема с помощью процессора непрерывного видеопотока, по меньшей мере, из одного положения камеры над столом, сконфигурированным для приема готовых пицц;receiving by the processor a continuous video stream from at least one camera position above a table configured to receive finished pizzas; сбора с помощью процессора множества видеокадров пиццы, содержащих видеокадры выбранной пиццы, из этого видеопотока;collecting by the processor a plurality of pizza video frames containing video frames of the selected pizza from the video stream; применения с помощью процессора первой сверточной нейронной сети (CNN) для выбора набора видеокадров выбранной пиццы с пиццей с самым высоким рейтингом из множества видеокадров пиццы;using a first convolutional neural network (CNN) processor to select a set of video frames of the selected pizza pizza with the highest rating from the plurality of pizza video frames; применения с помощью процессора первой CNN для идентификации изображения выбранной пиццы с пиццей с самым высоким рейтингом из набора видеокадров пиццы с самым высоким рейтингом;using the processor of the first CNN to identify an image of the selected pizza with the highest rated pizza from the set of video frames of the highest rated pizza; применения с помощью процессора первой CNN для локализации, по меньшей мере, одной порции выбранной пиццы в идентифицированном изображении с пиццей с самым высоким рейтингом;using the processor on the first CNN to localize at least one portion of the selected pizza in the identified image with the highest rated pizza; применения с помощью процессора первой CNN для определения типа выбранной пиццы из идентифицированного изображения с пиццей с самым высоким рейтингом;using the processor on the first CNN to determine the type of pizza selected from the identified image with the highest rated pizza; применения с помощью процессора второй сверточной нейронной сети (CNN) для задания карты компонентов выбранной пиццы в результате автоматического выполнения сегментации изображения порции пиццы на основе, по меньшей мере, типа пиццы; иusing a second convolutional neural network (CNN) processor to define a component map of the selected pizza by automatically performing image segmentation of the pizza portion based on at least the type of pizza; and применения с помощью процессора второй CNN для автоматического подсчета баллов выбранной пиццы на основе заданной карты компонентов пиццы, содержащего:application by the processor of the second CNN to automatically calculate the points of the selected pizza based on the given map of pizza ingredients, containing: разделение с помощью процессора порции пиццы из идентифицированного наилучшего изображения на множество ломтиков;dividing, by the processor, the pizza portion from the identified best image into a plurality of slices; вычисление с помощью процессора градиентов одного из множества ломтиков выбранной пиццы;calculating with the gradient processor one of the plurality of slices of the selected pizza; повторение с помощью процессора этапа вычисления градиентов оставшихся ломтиков из множества ломтиков; иrepeating by the processor the step of calculating the gradients of the remaining slices from the plurality of slices; and определение с помощью процессора итогового балла выбранной пиццы на основе вычисления градиентов множества ломтиков.determining, by means of the processor, a final score of the selected pizza based on the calculation of the gradients of the plurality of slices. 12. Система по п. 11, отличающаяся тем, что видеокадры видеопотока распределяются по категориям в случаях, содержащих:12. The system according to claim 11, characterized in that the video frames of the video stream are categorized in cases containing: i) первый случай для изображений без пиццы;i) first case for images without pizza; ii) второй случай для нецентрированных изображений пиццы;ii) second case for non-centered pizza images; iii) третий случай для центрированных изображений пиццы и с качеством разрешения, составляющим X;iii) the third case for centered pizza images and with a resolution quality of X; iv) четвертый случай для центрированных изображений пиццы и с качеством разрешения, составляющим Y, где Υ выше чем X;iv) the fourth case for centered pizza images and with a resolution quality of Y, where Υ is higher than X; v) пятый случай для центрированных изображений пиццы первого типа и с требуемым качеством разрешения; иv) the fifth case for centered pizza images of the first type and with the required resolution quality; and vi) шестой случай для центрированных изображений пиццы второго типа и с требуемым качеством разрешения.vi) the sixth case for centered pizza images of the second type and with the required resolution quality. 13. Система по п. 11, отличающаяся тем, что инструкции по выбору набора видеокадров пиццы с самым высоким рейтингом дополнительно содержат обесценивание каждого видеокадра пиццы с размытостью вследствие движения и/или размытостью вследствие расфокусировки.13. The system of claim 11, wherein the instructions for selecting the highest rated set of pizza video frames further comprise discounting each pizza video frame with motion blur and/or defocus blur. 14. Система по п. 11, отличающаяся тем, что число элементов множества ломтиков составляет 8.14. The system according to claim 11, characterized in that the number of elements of the set of slices is 8. 15. Система по п. 11, отличающаяся тем, что вторая CNN имеет путь сжатия и путь расширения.15. The system of claim 11, wherein the second CNN has a compression path and an expansion path. 16. Система по п. 15, отличающаяся тем, что путь сжатия содержит множество слоев свертки и активации.16. The system according to claim 15, characterized in that the compression path contains a plurality of convolution and activation layers. 17. Система по п. 16, отличающаяся тем, что путь сжатия дополнительно содержит слой субдискретизации и пакетной нормализации, следующий за первым слоем свертки и активации.17. The system of claim 16, wherein the compression path further comprises a subsampling and batch normalization layer following the first convolution and activation layer. 18. Система по п. 16, отличающаяся тем, что путь сжатия дополнительно содержит слой выпрямленных линейных единиц (ReLU) и слой подвыборки, следующие за каждым слоем свертки и активации перед переходом к следующему слою свертки и активации.18. The system of claim 16, wherein the compression path further comprises a Rectified Linear Units (ReLU) layer and a subsampling layer following each convolution and activation layer before proceeding to the next convolution and activation layer. 19. Система по п. 15, отличающаяся тем, что путь расширения содержит последовательность повышающих сверток и конкатенаций, сконфигурированных для объединения пространственной информации о признаках с признаками предварительно заданного разрешения от пути сжатия.19. The system of claim 15, wherein the extension path comprises a sequence of upconvolutions and concatenations configured to combine spatial feature information with predetermined resolution features from the compression path. 20. Система по п. 11, отличающаяся тем, что применение первой CNN для локализации, по меньшей мере, одной порции выбранной пиццы в идентифицированном наилучшем изображении пиццы дополнительно содержит:20. The system of claim. 11, characterized in that the use of the first CNN to localize at least one serving of the selected pizza in the identified best pizza image further comprises: определение ограничивающей рамки; иdefining a bounding box; and использование одной или более предварительно заданных двоичных масок.using one or more predefined binary masks. 21. Долговременный считываемый компьютером носитель информации, содержащий исполняемые процессором инструкции по:21. A long-term computer-readable storage medium containing instructions executable by the processor for: приему с помощью процессора непрерывного видеопотока, по меньшей мере, из одного положения камеры над столом, сконфигурированным для приема готовых пицц;receiving by the processor a continuous video stream from at least one camera position above a table configured to receive finished pizzas; сбору с помощью процессора множества видеокадров пиццы, содержащих видеокадры выбранной пиццы, из этого видеопотока;collecting, by the processor, a plurality of pizza video frames containing video frames of the selected pizza from the video stream; применению с помощью процессора первой сверточной нейронной сети (CNN) для выбора набора видеокадров выбранной пиццы с пиццей с самым высоким рейтингом из множества видеокадров пиццы;using a first convolutional neural network (CNN) processor to select a set of video frames of the selected pizza with the highest rated pizza from the plurality of pizza video frames; применению с помощью процессора первой CNN для идентификации изображения выбранной пиццы с пиццей с самым высоким рейтингом из набора видеокадров пиццы с самым высоким рейтингом;applying by the processor the first CNN to identify an image of the selected pizza with the highest rated pizza from the set of video frames of the highest rated pizza; применению с помощью процессора первой CNN для локализации, по меньшей мере, одной порции выбранной пиццы в идентифицированном изображении с пиццей с самым высоким рейтингом;applying by the processor the first CNN to localize at least one portion of the selected pizza in the identified image with the highest rated pizza; применению с помощью процессора первой CNN для определения типа выбранной пиццы из идентифицированного изображения с пиццей с самым высоким рейтингом;applying by the processor the first CNN to determine the type of pizza selected from the identified image with the highest rated pizza; применению с помощью процессора второй сверточной нейронной сети (CNN) для задания карты компонентов выбранной пиццы в результате автоматического выполнения сегментации изображения порции пиццы на основе, по меньшей мере, типа пиццы; иapplying, by means of the processor, a second convolutional neural network (CNN) to define a component map of the selected pizza by automatically performing image segmentation of the pizza portion based on at least the type of pizza; and применению с помощью процессора второй CNN для автоматического подсчета баллов выбранной пиццы на основе заданной карты компонентов пиццы, содержащему:application by the processor of the second CNN to automatically calculate the points of the selected pizza based on the given map of pizza components, containing: разделение с помощью процессора порции пиццы из идентифицированного наилучшего изображения на множество ломтиков;dividing, by the processor, the pizza portion from the identified best image into a plurality of slices; вычисление с помощью процессора градиентов одного из множества ломтиков выбранной пиццы;calculating with the gradient processor one of the plurality of slices of the selected pizza; повторение с помощью процессора этапа вычисления градиентов оставшихся ломтиков из множества ломтиков; иrepeating by the processor the step of calculating the gradients of the remaining slices from the plurality of slices; and определение с помощью процессора итогового балла выбранной пиццы на основе вычисления градиентов множества ломтиков.determining, by means of the processor, a final score of the selected pizza based on the calculation of the gradients of the plurality of slices. 22. Долговременный считываемый компьютером носитель информации по п. 21, отличающийся тем, что видеокадры видеопотока распределяются по категориям в случаях, содержащих:22. A long-term computer-readable storage medium according to claim 21, characterized in that the video frames of the video stream are categorized in cases containing: i) первый случай для изображений без пиццы;i) first case for images without pizza; ii) второй случай для нецентрированных изображений пиццы;ii) second case for non-centered pizza images; iii) третий случай для центрированных изображений пиццы и с качеством разрешения, составляющим X;iii) the third case for centered pizza images and with a resolution quality of X; iv) четвертый случай для центрированных изображений пиццы и с качеством разрешения, составляющим Y, где Υ выше чем X;iv) the fourth case for centered pizza images and with a resolution quality of Y, where Υ is higher than X; v) пятый случай для центрированных изображений пиццы первого типа и с требуемым качеством разрешения; иv) the fifth case for centered pizza images of the first type and with the required resolution quality; and vi) шестой случай для центрированных изображений пиццы второго типа и с требуемым качеством разрешения.vi) the sixth case for centered pizza images of the second type and with the required resolution quality. 23. Долговременный считываемый компьютером носитель информации по п. 21, отличающийся тем, что исполняемые процессором инструкции по выбору набора видеокадров пиццы с самым высоким рейтингом дополнительно содержат обесценивание каждого видеокадра пиццы с размытостью вследствие движения и/или размытостью вследствие расфокусировки.23. The durable computer-readable storage medium of claim 21, wherein the processor-executable instructions for selecting the highest rated set of pizza video frames further comprise devaluing each pizza video frame with motion blur and/or defocus blur. 24. Долговременный считываемый компьютером носитель информации по п. 21, отличающийся тем, что число элементов множества ломтиков составляет 8.24. A long-term computer-readable storage medium according to claim 21, characterized in that the number of elements of the plurality of slices is 8. 25. Долговременный считываемый компьютером носитель информации по п. 21, отличающийся тем, что вторая CNN имеет путь сжатия и путь расширения.25. The durable computer-readable storage medium of claim 21, wherein the second CNN has a compression path and an expansion path. 26. Долговременный считываемый компьютером носитель информации по п. 25, отличающийся тем, что путь сжатия содержит множество слоев свертки и активации.26. The durable computer-readable storage medium of claim 25, wherein the compression path comprises a plurality of convolution and activation layers. 27. Долговременный считываемый компьютером носитель информации по п. 26, отличающийся тем, что путь сжатия дополнительно содержит слой субдискретизации и пакетной нормализации, следующий за первым слоем свертки и активации.27. The durable computer-readable storage medium of claim 26, wherein the compression path further comprises a subsampling and batch normalization layer following the first convolution and activation layer. 28. Долговременный считываемый компьютером носитель информации по п. 26, отличающийся тем, что путь сжатия дополнительно содержит слой выпрямленных линейных единиц (ReLU) и слой подвыборки, следующие за каждым слоем свертки и активации перед переходом к следующему слою свертки и активации.28. The non-volatile computer-readable storage medium of claim 26, wherein the compression path further comprises a Rectified Linear Units (ReLU) layer and a subsampling layer following each convolution and activation layer before proceeding to the next convolution and activation layer. 29. Долговременный считываемый компьютером носитель информации по п. 25, отличающийся тем, что путь расширения содержит последовательность повышающих сверток и конкатенаций, сконфигурированных для объединения пространственной информации о признаках с признаками предварительно заданного разрешения от пути сжатия.29. The durable computer-readable storage medium of claim 25, wherein the extension path comprises a sequence of upconvolutions and concatenations configured to combine spatial feature information with predetermined resolution features from the compression path. 30. Долговременный считываемый компьютером носитель информации по п. 21, отличающийся тем, что исполняемые процессором инструкции по применению первой CNN для локализации, по меньшей мере, одной порции выбранной пиццы в идентифицированном наилучшем изображении пиццы дополнительно содержат:30. The durable computer-readable storage medium of claim 21, wherein the processor-executable instructions for using the first CNN to localize at least one serving of the selected pizza in the identified best pizza image further comprise: определение ограничивающей рамки; иdefining a bounding box; and использование одной или более предварительно заданных двоичных масок.using one or more predefined binary masks.
RU2018130482A 2018-08-22 2018-08-22 Neural network-based systems and computer-implemented methods for identifying and/or evaluating one or more food items present in a visual input RU2775808C9 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
RU2018130482A RU2775808C9 (en) 2018-08-22 Neural network-based systems and computer-implemented methods for identifying and/or evaluating one or more food items present in a visual input
PCT/US2019/047171 WO2020050973A2 (en) 2018-08-22 2019-08-20 Neural network-based systems and computer-implemented methods for identifying and/or evaluating one or more food items present in a visual input
US17/179,771 US11775908B2 (en) 2018-08-22 2021-02-19 Neural network-based systems and computer-implemented methods for identifying and/or evaluating one or more food items present in a visual input

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2018130482A RU2775808C9 (en) 2018-08-22 Neural network-based systems and computer-implemented methods for identifying and/or evaluating one or more food items present in a visual input

Publications (4)

Publication Number Publication Date
RU2018130482A RU2018130482A (en) 2020-02-25
RU2018130482A3 RU2018130482A3 (en) 2021-08-27
RU2775808C2 RU2775808C2 (en) 2022-07-11
RU2775808C9 true RU2775808C9 (en) 2022-09-27

Family

ID=

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1147723C (en) * 2000-03-14 2004-04-28 华中理工大学 Automatic product image detecting system
WO2016077934A1 (en) * 2014-11-21 2016-05-26 Le Henaff Guy System and method for detecting the authenticity of products
CN106529564A (en) * 2016-09-26 2017-03-22 浙江工业大学 Food image automatic classification method based on convolutional neural networks
US9659225B2 (en) * 2014-02-12 2017-05-23 Microsoft Technology Licensing, Llc Restaurant-specific food logging from images
CN107563439A (en) * 2017-08-31 2018-01-09 湖南麓川信息科技有限公司 A kind of model for identifying cleaning food materials picture and identification food materials class method for distinguishing
US20180122063A1 (en) * 2013-07-02 2018-05-03 Roche Diabetes Care, Inc. Estimation of food volume and carbs
RU2654199C1 (en) * 2017-07-18 2018-05-16 Самсунг Электроникс Ко., Лтд. Segmentation of human tissues in computer image
CN108335300A (en) * 2018-06-22 2018-07-27 北京工商大学 A kind of food hyperspectral information analysis system and method based on CNN
WO2018148740A1 (en) * 2017-02-13 2018-08-16 Iceberg Luxembourg S.A.R.L. Computer vision based food system and method

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1147723C (en) * 2000-03-14 2004-04-28 华中理工大学 Automatic product image detecting system
US20180122063A1 (en) * 2013-07-02 2018-05-03 Roche Diabetes Care, Inc. Estimation of food volume and carbs
US9659225B2 (en) * 2014-02-12 2017-05-23 Microsoft Technology Licensing, Llc Restaurant-specific food logging from images
US9977980B2 (en) * 2014-02-12 2018-05-22 Microsoft Technology Licensing, Llc Food logging from images
WO2016077934A1 (en) * 2014-11-21 2016-05-26 Le Henaff Guy System and method for detecting the authenticity of products
CN106529564A (en) * 2016-09-26 2017-03-22 浙江工业大学 Food image automatic classification method based on convolutional neural networks
WO2018148740A1 (en) * 2017-02-13 2018-08-16 Iceberg Luxembourg S.A.R.L. Computer vision based food system and method
RU2654199C1 (en) * 2017-07-18 2018-05-16 Самсунг Электроникс Ко., Лтд. Segmentation of human tissues in computer image
CN107563439A (en) * 2017-08-31 2018-01-09 湖南麓川信息科技有限公司 A kind of model for identifying cleaning food materials picture and identification food materials class method for distinguishing
CN108335300A (en) * 2018-06-22 2018-07-27 北京工商大学 A kind of food hyperspectral information analysis system and method based on CNN

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Cheng-Jin Du et al., "Recent developments in the applications of image processing techniques for food quality evaluation", Trends in Food Science & Technology, Май 2004, доступно: https://www.sciencedirect.com/science/article/pii/S0924224403002711. Cheng-Jin Du et al., "Learning techniques used in computer vision for food quality evaluation: a review", Journal of Food Engineering, Январь 2006, доступно: https://www.sciencedirect.com/science/article/pii/S0260877404005904. Da-Wen Sun et al., "Pizza quality evaluation using computer vision--part 1: Pizza base and sauce spread", Journal of Food Engineering, Март 2003, доступно: https://www.sciencedirect.com/science/article/pii/S0260877402002753. Da-Wen Sun et al., "Pizza quality evaluation using computer vision--Part 2: Pizza topping analysis", Journal of Food Engineering, Март 2003, доступно: https://www.sciencedirect.com/science/article/pii/S0260877402002765. Noah Picard, "Smooth Segmentation in Videos: Blind Consistency Over Semantic Se *

Similar Documents

Publication Publication Date Title
JP7236545B2 (en) Video target tracking method and apparatus, computer apparatus, program
US11967151B2 (en) Video classification method and apparatus, model training method and apparatus, device, and storage medium
CN109740670B (en) Video classification method and device
WO2021004402A1 (en) Image recognition method and apparatus, storage medium, and processor
CN109325954B (en) Image segmentation method and device and electronic equipment
US10979622B2 (en) Method and system for performing object detection using a convolutional neural network
US11775908B2 (en) Neural network-based systems and computer-implemented methods for identifying and/or evaluating one or more food items present in a visual input
WO2021068618A1 (en) Method and device for image fusion, computing processing device, and storage medium
Aslan et al. Benchmarking algorithms for food localization and semantic segmentation
CN113128368B (en) Method, device and system for detecting character interaction relationship
EP3001354A1 (en) Object detection method and device for online training
CN107563299B (en) Pedestrian detection method using RecNN to fuse context information
CN113439227B (en) Capturing and storing enlarged images
CN110176024A (en) Method, apparatus, equipment and the storage medium that target is detected in video
CN113784171A (en) Video data processing method, device, computer system and readable storage medium
Hou et al. Detecting diseases in apple tree leaves using FPN–ISResNet–Faster RCNN
CN111368634A (en) Human head detection method, system and storage medium based on neural network
CN109934072B (en) Personnel counting method and device
CN114841974A (en) Nondestructive testing method and system for internal structure of fruit, electronic equipment and medium
Mannaro et al. A robust svm color-based food segmentation algorithm for the production process of a traditional carasau bread
Lu et al. Lightweight green citrus fruit detection method for practical environmental applications
RU2775808C9 (en) Neural network-based systems and computer-implemented methods for identifying and/or evaluating one or more food items present in a visual input
RU2775808C2 (en) Neural network systems and computer-implemented methods of identifying and/or evaluating one or more food products in visual input information
CN115512207A (en) Single-stage target detection method based on multipath feature fusion and high-order loss sensing sampling
CN113706390A (en) Image conversion model training method, image conversion method, device and medium