КАССОВАЯ СИСТЕМА И СПОСОБ ДЛЯ ИДЕНТИФИКАЦИИ БЛЮД НА ПОДНОСЕ
CASH REGISTER SYSTEM AND METHOD FOR IDENTIFICATION OF COURSES ON TRAY

Настоящее изобретение относится к области использования искусственных нейронных сетей в компьютерном зрении, а более конкретно к системам и способам обработки видеоданных, полученных от видеокамер, для автоматической идентификации блюд на подносе и последующего автоматического подсчета стоимости обеда покупателя на предприятии общественного питания.
УРОВЕНЬ ТЕХНИКИ
Кассовые системы - это программно-аппаратные комплексы, обеспечивающие продажи товаров (в данном случае продажу блюд) с использованием, как наличных, так и безналичных денежных средств. Товар должен быть зарегистрирован, и эта информация должна быть занесена в торговую систему и отражена в чеке.
Рассматривая предприятия общественного питания, такие как столовые или кафе, часто возникает проблема, связанная с большим потоком людей в обеденные часы. Кассиры стараются как можно скорее производить подсчет стоимости товаров/блюд на подносе покупателей, но все равно данная процедура занимает очень много времени, при том что обеденный перерыв у потребителей ограничен по времени и мало кому хочется проводить по пол часа и более в очереди. Для решения подобный проблем на кассе, а именно для сокращения времени оплаты и увеличения проходимости людей, а также для повышения точности подсчета стоимости обеда и исключения ошибок, связанных с человеческим фактором, в настоящее время распространено использовать автоматизированные видеосистемы, помогающие кассиру справляться со своей задачей быстрее, а иногда и заменяющие кассира полностью.
Из уровня техники известно решение, раскрытое в патенте US 9734426 В2, G06K 9/00, опубл. 15.08.2017, в котором описан помощник по распознаванию пищи, воплощенный в одном или нескольких машиночитаемых носителях данных, причем помощник по распознаванию пищи содержит инструкции, выполняемые одним или несколькими процессорами, вынуждающие персональное мобильное электронное устройство: получать цифровое изображение; выполнять один или более алгоритмов обнаружения признаков, используя, по меньшей мере, два разных масштаба разрешения изображения, чтобы определить одну или несколько значимых областей изображения, при этом не полагаясь на то, чтобы пользователь сам указывал одну или несколько значимых областей, причем одна или несколько значимых областей представляют собой изображения пищи; выполнять идентификацию пищи, присутствующей на изображении с использованием семантических техник мышления, путем сравнения характеристики одной или нескольких значимых областей с характеристиками известной пищи; а также с помощью устройства вывода персонального мобильного электронного устройства выводить наименование идентифицированного продукта питания на экран.
Данное решение хоть и характеризует идентификацию пищи, однако существенно отличается от заявляемого решения как минимум принципом идентификации и предшествующими идентификации операциями по обработке изображений. Кроме того, данное решение характеризует мобильное устройство, которое из-за своей узкой специализации не подходит для использования в качестве кассовых систем. Оно позволяет только идентифицировать продукты питания, однако не осуществляет идентификацию нескольких блюд на одном подносе, что не позволяет рассчитать общую стоимость обеда.
Из уровня техники также известно решение, раскрытое в заявке US 2010/0173269 A1, G09B 19/00, опубл. 08.07.2010, в котором раскрыты способ и система для анализа по меньшей мере одного продукта питания на тарелке. Множество изображений тарелки с пищей принимается устройством захвата изображения. Далее устройством распознавания принимается описание по меньшей мере одного продукта питания на тарелке, причем описание представляет собой, по меньшей мере, одно из голосового описания и текстового описания. По меньшей мере один процессор извлекает список продуктов питания из описания, классифицирует и сегментирует, по меньшей мере, один элемент питания из списка, используя признаки цвета и текстуры, полученные из множества изображений, и оценивает объем классифицированного и сегментированного по меньшей мере одного продукта питания. Процессор также сконфигурирован для оценки калорийности по меньшей мере одного пищевого продукта.
Данное решение сконфигурировано главным образом для помощи пользователю в определении веса и калорийности потребляемой пищи. В известном решении производится распознавание пищи, а также получение дополнительной информации от пользователя, для упрощения сопоставления изображения продукта питания с имеющимися в базе данных. Такое решение также не применимо для кассовых систем и существенно отличается от заявляемого решения.
Что касается именно кассовых систем, то в Китае имеется очень много идей и разработок на этот счет. Например, уже давно используются системы, основанные на считывании RFID - меток, которые предварительно размещены на посуде (см. CN 104715540 А). Однако это очень сложные решения, поскольку все блюда должны располагаться на своей посуде, а вся посуда в свою очередь должна быть оснащена такими метками. Сложность реализации повышает вероятность ошибки при использовании такого способа для подсчета стоимости обеда.
Также в Китае совсем недавно стали использоваться специализированные терминалы, которые способны распознавать еду на подносе и далее выводить общую стоимость обеда. Более того, такие терминалы также способны распознавать личность покупателя и автоматически списывать средства с его личного счета. Однако такое решение дорогостоящее как минимум потому, что предприятию общественного питания нужно приобрести программное обеспечение и сами терминалы, производство которых не является дешевым. Кроме того, такие терминалы требуют специализированного обслуживания. Следует отметить, что подобные решения описаны только как идеи, без конкретных подробностей реализации (нет запатентованных решений), поэтому их невозможно сравнить с заявляемым нами решением.
Заявляемое же решение существенно отличается от описанных выше известных из уровня техники решений. Как минимум тем, что для его реализации не требуется приобретать какие-либо специализированные терминалы или дополнительные дорогостоящие и сложные в обслуживании устройства. В настоящее время уже практически не осталось кафе, ресторанов или столовых, которые не оборудованы стандартными камерами видеонаблюдения, которые используются для обеспечения безопасности на кассе и в зале. Следовательно, любое предприятие общественного питания уже оборудовано видеосистемой, а именно камерами и средствами обработки изображений, которые можно использовать и для идентификации блюд и подсчета стоимости посредством использования специализированного программного обеспечения.
Под видеосистемами в контексте данной заявки подразумеваются программно-аппаратные средства, использующие методы компьютерного зрения для автоматизированного сбора данных на основании анализа потокового видео (видеоанализа). Такие видеосистемы опираются на алгоритмы обработки изображений, в том числе на алгоритмы распознавания, сегментации, классификации и идентификации изображений, позволяющие анализировать видео без прямого участия человека. Современные видеосистемы позволяют автоматически анализировать видеоданные с камер и сопоставлять указанные данные с данными, имеющимися в базе данных.
Таким образом, заявляемое нами решение основано на использовании уже имеющихся стандартных средств видеонаблюдения. Такой подход позволяет сократить расходы предприятия общественного питания на оборудование, при этом значительно увеличить проходимость людей на кассе, что способствует повышению дохода. Развитие данной технологии и качественная наладка системы позволит со временем полностью отказаться от кассиров или как минимум от их большого количества.
Наиболее близким по технической сущности к заявляемому решению является известное из уровня техники решение, раскрытое в патенте Китая CN 103034839 В, G06K 9/00, опубл. 03.08.2016, в котором раскрыта платежная система для столовой, основанная на технологии распознавания изображений, содержащая: камеру, датчик давления, сетевое устройство (хост), устройство для считывания кредитных карт и дисплей. Камера, датчик давления, устройство для считывания кредитных карт и дисплей подключены к хосту. После того, как датчик давления активируется, датчик давления отправляет информацию о текущем давлении хосту. После получения информации о текущем давлении хост оценивает изменение давления в течение предварительно установленного времени. Если информация о давлении датчика изменилась и не равна нулю, то в этом случае камера запускается для сбора общей информации об изображении текущей сцены и всех блюд на нем, после чего захваченные общие данные изображения отправляются на хост. После того, как хост получает полные данные изображения, он берет блюдо из образца базы данных «Образец блюда», анализирует общие данные изображения, сравнивает общие данные изображения с данными образца блюда в базе данных и когда сходство между изображением блюда в общих данных изображения и данными образца блюда превышает 80%, считается, что текущее блюдо и образец блюда - это одно и то же блюдо. Принимающая сторона получает соответствующую информацию блюда из успешно подобранного образца блюда из базы данных и выводит на экран информацию о блюде и о его количестве, а также сохраняет информацию о блюде и его количестве в базе данных потребления. Когда все блюда в общем изображении идентифицированы, рассчитывается и выводится общая цена блюда, и хост предоставляет возможность потребителю оплатить сумму заказа через терминал для кредитных карт.
Известное из уровня техники решение использует сложные техники анализа, обработки, распознавания и масштабирования изображений для последующей идентификации блюд и пополнения базы данных образцов. Кроме того, данное решение использует датчик давления, который запускает работу системы распознавания, что существенно отличается от заявляемого решения, для реализации которого нет необходимости в дополнительных датчиках и терминалах.
Наше решение главным образом направлено на упрощение, ускорение и повышение точности процесса идентификации, а соответственно на ускорение процесса обслуживания покупателей на кассе. В настоящее время в современных видеосистемах для распознавания и идентификации изображений все чаще применяются искусственные нейронные сети.
Искусственная нейронная сеть (ИНС) - это математическая модель, а также ее аппаратное и/или программное воплощение, построенное по принципу организации и функционирования биологических нейронных сетей (сетей нервных клеток живых организмов). Одним из главных преимуществ ИНС является возможность их обучения, в процессе которого ИНС способна самостоятельно выявлять сложные зависимости между входными и выходными данными.
Именно использование одной или даже нескольких ИНС для обработки изображений и дальнейшего подсчета стоимости обеда потребителя, а также использование стандартных средств видеонаблюдения и обработки видеоданных делает заявляемое решение экономически выгодным и более простым для осуществления на любом предприятии общественного питания.
РАСКРЫТИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
Заявляемое техническое решение направлено на устранение недостатков, присущих предшествующему уровню техники и на развитие уже известных решений.
Техническим результатом заявленной группы изобретений является повышение скорости и точности идентификации всех блюд на подносе за счет использования по меньшей мере одной искусственной нейронной сети, для последующего автоматического расчета общей стоимости обеда покупателя.
Заявленный технический результат достигается за счет того, что кассовая система предприятия общественного питания для идентификации блюд на подносе содержит: память, сконфигурированную для хранения базы данных блюд, которая включает в себя по меньшей мере выборку эталонных изображений блюд и соответствующую каждому блюду стоимость; по меньшей мере одно устройство захвата изображений, сконфигурированное для получения видеоданных из области, в которой располагается поднос, содержащий все взятые покупателем блюда; и по меньшей мере, одно устройство обработки данных, содержащее: модуль получения видеоданных, сконфигурированный для получения видеоданных от устройства захвата изображений в режиме реального времени; модуль анализа изображений, сконфигурированный для анализа видеоданных с целью обнаружения в кадре подноса с едой, после чего полученное изображение упомянутого подноса передается в модуль обнаружения отдельных предметов; модуль обнаружения отдельных предметов, сконфигурированный по меньшей мере для определения на полученном изображении подноса отдельных предметов посуды; модуль идентификации блюд, сконфигурированный для идентификации с использованием искусственной нейронной сети всех блюд на каждом из полученных изображений отдельных предметов посуды, причем идентификация осуществляется путем сравнения изображения каждого блюда с по меньшей мере одним эталонным изображением блюда, содержащимся в базе данных блюд; модуль расчета стоимости, сконфигурированный для получения из базы данных блюд стоимости каждого идентифицированного блюда и подсчета общей стоимости всех блюд, располагающихся на подносе; модуль отображения, выполненный с возможностью отображения полученной общей стоимости на экране.
Указанный технический результат также достигается за счет способа идентификации блюд на подносе, выполняемого кассовой системой, содержащей, по меньшей мере одно устройство обработки данных, по меньшей мере одно устройство захвата изображений и память, хранящую базу данных блюд, причем способ содержит этапы, на которых: получают видеоданные от устройства захвата изображений в режиме реального времени, причем упомянутое устройство захвата изображений получает видеоданные из области, в которой располагается поднос, содержащий все взятые покупателем блюда; выполняют анализ полученных видеоданных с целью обнаружения в кадре подноса с едой и получения изображения упомянутого подноса; определяют на полученном изображении подноса с едой отдельные предметы посуды; выполняют идентификацию с использованием искусственной нейронной сети всех блюд на каждом из полученных изображений отдельных предметов посуды, причем идентификация осуществляется путем сравнения изображения каждого блюда с по меньшей мере одним эталонным изображением блюда, содержащимся в базе данных блюд; получают из базы данных блюд стоимость каждого идентифицированного блюда и подсчитывают общую стоимость всех блюд, располагающихся на подносе; отображают полученную общую стоимость на экране.
В одном частном варианте заявленного решения модуль анализа изображений анализирует видеоданные в режиме реального времени для выявления события попадания подноса в предварительно заданную область на кадре, после чего модуль анализа изображений передает полученное по меньшей мере одно изображение подноса с едой в модуль обнаружения отдельных предметов.
В другом частном варианте заявленного решения модуль обнаружения отдельных предметов сконфигурирован с возможностью сегментации изображения для определения отдельных предметов посуды, причем упомянутая сегментация выполняется по цвету и/или форме и/или текстуре с использованием отдельной искусственной нейронной сети.
Еще в одном частном варианте заявленного решения все блюда в базе данных блюд разделены на классы.
В другом частном варианте заявленного решения модуль обнаружения отдельных предметов дополнительно сконфигурирован с возможностью классификации изображений отдельных предметов посуды по классам блюд, причем для упомянутой классификации предусмотрена отдельная искусственная нейронная сеть.
Еще в одном частном варианте заявленного решения для каждого класса блюд имеется своя искусственная нейронная сеть, используемая для идентификации блюд в модуле идентификации блюд.
А еще в одном частном варианте заявленного решения модуль идентификации блюд сконфигурирован с возможностью идентификации отдельных блюд как на разных тарелках, так и на одной тарелке.
В другом частном варианте заявленного решения при классификации изображения отдельного предмета посуды как второго блюда в модуле обнаружения отдельных предметов, данное изображение далее дополнительно сегментируется для последующей идентификации отдельных блюд на одной тарелке в модуле идентификации блюд.
Еще в одном частном варианте заявленного решения данные о каждом блюде включают в себя по меньшей мере: наименование, стоимость, вес и выборку эталонных изображений.
В другом частном варианте заявленного решения кассовая система дополнительно сконфигурирована для автоматического пополнения выборки эталонных изображений блюд для обучения по меньшей мере одной искусственной нейронной сети, причем упомянутая выборка содержит множество изображений блюд.
Еще в одном частном варианте заявленного решения пополнение выборки эталонных изображений блюд и обучение по меньшей мере одной искусственной нейронной сети являются постоянными процессами, поскольку набор блюд и их внешний вид меняются со временем.
В другом частном варианте заявленного решения выборка эталонных изображений каждого блюда содержит N последних загруженных изображений для этого блюда, где N является положительным целым числом, предварительно заданным пользователем.
Еще в одном частном варианте заявленного решения кассовая система дополнительно содержит платежный терминал для предоставления покупателю возможности совершать оплату, при этом модуль отображения дополнительно сконфигурирован для вывода полученной общей стоимости на платежный терминал.
А в другом частном варианте заявленного решения модуль отображения дополнительно сконфигурирован с возможностью отображения главного эталонного изображения каждого идентифицированного на подносе блюда и соответствующей ему стоимости на экране для проверки покупателем перед оплатой.
Помимо указанного выше, данный технический результат также достигается за счет считываемого компьютером носителя данных, содержащего исполняемые процессором компьютера инструкции для осуществления способов идентификации блюд на подносе по любому.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 - блок-схема кассовой системы предприятия общественного питания для идентификации блюд на подносе.
Фиг. 2 - блок-схема способа идентификации блюд на подносе.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Ниже будет приведено описание примерных вариантов осуществления заявленной группы изобретений. Однако заявленная группа изобретений не ограничивается только этими вариантами осуществления. Специалистам будет очевидно, что под объем заявленной группы изобретений, описанной в формуле, могут попадать и другие варианты реализаций.
Заявляемое техническое решение в различных своих вариантах осуществления может быть выполнено в виде кассовых систем и способов, реализуемых различными компьютерными средствами, а также в виде считываемого компьютером носителя данных, хранящего исполняемые процессором компьютера инструкции.
На фиг. 1 представлена блок-схема кассовой системы предприятия общественного питания для идентификации блюд на подносе. Кассовая система в общем случае включает в себя: память (10), сконфигурированную для хранения базы данных блюд (DB); по меньшей мере одно устройство захвата изображений (20, …, 2n); и по меньшей мере, одно устройство обработки данных (30, …, 3m), содержащее: модуль получения видеоданных (40), модуль анализа изображений (50), модуль обнаружения отдельных предметов (60), модуль идентификации блюд (70), модуль расчета стоимости (80) и модуль отображения (90).
В данном контексте под кассовыми системами понимаются любые вычислительные системы, построенные на базе программно-аппаратных взаимосвязанных технических средств.
Под устройством захвата изображений в контексте данной заявки подразумевается видеокамера.
В качестве устройства обработки данных может выступать процессор, микропроцессор, ЭВМ (электронно-вычислительная машина), ПЛК (программируемый логический контроллер) или интегральная схема, сконфигурированные для исполнения определенных команд (инструкций, программ) по обработке данных.
В роли устройства памяти, сконфигурированного для хранения данных, могут выступать, но, не ограничиваясь, жесткие диски (HDD), флеш-память, сервер, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические накопители информации и т.д.
В контексте данной заявки память хранит базу данных блюд (DB), которая включает в себя, по меньшей мере, выборку эталонных изображений блюд и соответствующую каждому блюду стоимость.
Следует отметить, что в указанную кассовую систему предприятия общественного питания могут входить и любые другие известные в данном уровне техники устройства, например, такие как датчики, устройства ввода/вывода, устройства считывания штрих-кодов, дополнительные устройства отображения и т.п.
Далее будет подробно описан пример работы вышеупомянутой кассовой системы предприятия общественного питания для идентификации блюд на подносе. Все нижеописанные этапы работы системы также применимы и к реализации заявляемого способа идентификации блюд на подносе, который будет рассмотрен более подробно ниже.
Рассмотрим принцип работы кассовой системы предприятия общественного питания. Предположим, покупатель/потребитель пришел в столовую, чтобы пообедать. Покупатель взял поднос и прошел в раздаточный пункт, где набрал себе необходимое количество блюд для обеда. После этого покупатель подошел к кассе со своим подносом, поставил его в зону видимости устройства захвата изображений (а также в зону видимости кассира или администратора системы) для расчета общей стоимости обеда и последующей его оплаты.
Устройство захвата изображений, в данном случае видеокамера, расположена таким образом, чтобы непрерывно в режиме реального времени получать видеоданные из области, в которой располагается поднос, содержащий все взятые покупателем блюда. Следует отметить, что кассовая система может включать в себя несколько дополнительных видеокамер, например, для более точного распознавания объема и веса блюд или для контроля и обеспечения безопасности других зон в радиусе кассы.
Далее основную работу выполняет по меньшей мере одно устройство обработки данных, например, такое как процессор компьютера. Упомянутое устройство обработки данных включает в себя отдельные программные или аппаратные модули/блоки, каждый из которых сконфигурирован для выполнения определенной задачи. В описываемом решении, как представлено на фиг. 1, устройство обработки данных содержит такие модули как: модуль получения видеоданных (40), модуль анализа изображений (50), модуль обнаружения отдельных предметов (60), модуль идентификации блюд (70), модуль расчета стоимости (80) и модуль отображения (90). Далее будет подробно описана работа каждого модуля.
Модуль получения видеоданных (40) непрерывно получает все видеоданные, поступающие от по меньшей мере одного устройства захвата изображений в режиме реального времени. Затем все получаемые видеоданные анализируются модулем анализа изображений (50) для выявления/обнаружения кадров, отображающих/характеризующих поднос с едой. Более конкретно, как указано в частном варианте исполнения системы, модуль анализа изображений анализирует видеоданные для выявления события попадания подноса в предварительно заданную область на кадре. Упомянутая область заранее настраивается пользователем системы из расчета необходимого расстояния от камеры до подноса с едой, которого будет достаточно для распознавания и идентификации блюд. После того, как обнаружен кадр с подносом, полученное по меньшей мере одно изображение/кадр упомянутого подноса автоматически передается в модуль обнаружения отдельных предметов.
Модуль обнаружения отдельных предметов (60) сконфигурирован для определения на полученном изображении подноса с едой отдельных предметов посуды. Для этого упомянутый модуль с использованием отдельной (своей) искусственной нейронной сети выполняет сегментацию полученного изображения подноса. Следует отметить, что сегментация выполняется по цвету и/или форме и/или текстуре. Пользователь системы может задать любой вид сегментации, или же сегментация может выполняться последовательно каждым из перечисленных способов. Например, сначала по форме посуды, потом по текстуре посуды (для более лучшего различения посуды и подноса), а затем по цвету (такой вариант наиболее актуален, если в столовой используется однотонная посуда). Таким образов происходит детектирование и выделение на изображении отдельных предметов, таких как тарелки (большие и маленькие), кружки, стаканы, чашки, супницы, салатники, бутылки, банки и т.д. После чего изображение подноса разделяется на несколько изображений, каждое из которых характеризует отдельный предмет посуды.
Далее каждое полученное изображение отдельного предмета на рассматриваемом подносе передается в модуль идентификации блюд (70). Упомянутый модуль выполняет идентификацию всех блюд на каждом из полученных изображений отдельных предметов посуды с использованием своей по меньшей мере одной искусственной нейронной сети. Идентификация осуществляется путем сравнения изображения каждого блюда с по меньшей мере, одним эталонным изображением блюда, содержащимся в базе данных блюд. При этом если изображение блюда совпадает в достаточной степени хотя бы с одним изображением из базы данных блюд, то система сразу же прекращает процесс идентификации. Такой подход позволяет не тратить впустую имеющиеся вычислительные ресурсы системы и ускоряет процесс сравнения.
А принцип идентификации следующий: искусственная нейронная сеть получает изображение предмета посуды с едой, после чего выдает некоторый вектор чисел - дескриптор изображения. База данных блюд хранит выборку эталонных изображения всех блюд, включающую соответствующий каждому изображению дескриптор. Для сравнения изображений ИНС использует именно эти дескрипторы. Причем ИНС обучена так, что чем меньше угол между этими векторами чисел в пространстве, тем больше вероятность совпадения изображений блюд. В качестве метрики для сравнения используется косинус угла между векторами чисел (векторами из базы данных и полученным вектором изображения блюда). Соответственно, чем ближе косинус угла между векторами к единице, тем больше вероятность, что блюдо является одним и тем же на сравниваемой паре изображений. Пользователь при настройке системы может задать диапазон значений, при котором система будет принимать решение о совпадении блюд. Следует отметить, что искусственная нейронная сеть сравнивает последовательно полученное изображение со всеми имеющимися в базе данными изображениями до тех пор, пока не получит достаточного совпадения.
Следует отметить, что для повышения точности работы системы и улучшения и ускорения идентификации блюд перед непосредственной идентификацией в некоторых реализациях заявляемого решения может осуществляться классификация изображений. Для этого в модуле обнаружения отдельных предметов (60) предусмотрена отдельная ИНС, сконфигурированная для распределения полученных изображений отдельных предметов посуды с блюдами по классам блюд. Например, таким как: первое блюдо, второе блюдо, десерт, салат, напиток (в кружке или стакане, или чашке), бутылка (или банка) и т.д., в зависимости от ассортимента на каждом отдельном предприятии общественного питания. Каждому классу блюд присуща своя ИНС для идентификации. Чем больше разновидностей блюд на предприятии, тем более актуально использование нескольких ИНС.
При этом в базе данных блюд все файлы блюд также разделены на классы. Как уже было отмечено выше, для каждого класса блюд может быть использована своя искусственная нейронная сеть, которая используется в дальнейшем для идентификации блюд в модуле идентификации блюд (70). Следует отметить, что данные о каждом блюде в базе данных блюд включают в себя по меньшей мере: наименование, стоимость, вес и выборку эталонных изображений. При этом каждое изображение в выборке эталонных изображений блюд включает в себя дескриптор, характеризующий вектор чисел данного изображения.
Кассовая система также сконфигурирована для автоматического пополнения выборки эталонных изображений блюд и для обучения по меньшей мере одной используемой искусственной нейронной сети. При этом процессы пополнения выборки эталонных изображений блюд, обучения искусственной нейронной сети и непосредственного подсчета общей стоимости обеда в режиме реального времени могут выполняться параллельно, по меньшей мере, одним устройством обработки данных. То есть после того, как устройство обработки данных получило изображение подноса с едой, это изображение используется параллельно и для идентификации, и для пополнения выборки эталонных изображений блюд. При этом каждое новое изображение блюда добавляется в эталонную выборку изображений блюд только после завершения процесса идентификации.
Обучение искусственной нейронной сети в контексте заявляемого решения выполняется на основании пополняемой базы данных товаров. Пользователь кассовой системы может задать определенное время, в которое будет выполняться обучение искусственной нейронной сети. Например, один раз в день. При этом упомянутое обучение может выполняться, например, устройством обработки данных кассовой системы или же облачным сервисом кассовой системы или любым другим вычислительным устройством.
Следует обратить внимание, что выборка эталонных изображений содержит множество изображений блюд. Пользователь системы может при настройке ее работы задать конкретное число изображений, которое должно содержаться в выборке (для поддержания актуальности данных в базе данных). Таким образом, выборка эталонных изображений каждого блюда содержит только N последних загруженных изображений для этого блюда, где N является положительным целым числом, предварительно заданным пользователем.
Предположим, пользователь задал N=25. После идентификации конкретного блюда устройство обработки данных анализирует выборку эталонных изображений этого блюда. Если количество изображений в выборке изображений для считанного товара равно 25, то устройство обработки данных удаляет самое давнее (старое) изображение и сохраняет новое, только полученное изображение блюда в выборку. Таким образом удается поддерживать актуальность информации о блюдах. Это необходимо, поскольку набор блюд и их внешний вид меняются со временем. В связи с чем пополнение выборки эталонных изображений блюд и обучение по меньшей мере одной искусственной нейронной сети являются постоянными процессами.
Кроме того, в отдельном частном варианте исполнения кассовой системы, модуль идентификации блюд (70) может быть сконфигурирован для идентификации отдельных блюд не только на разных тарелках (когда на одной тарелке размещено только одно блюдо, например, суп или салат или компот), но и на одной тарелке. Чаще всего такое решение актуально именно для вторых блюд или же для десерта. Для примера рассмотрим ситуацию, когда на тарелке второго блюда есть макароны, котлета и хлеб. Все эти три отдельных элемента обладают своей стоимостью и соответственно являются отдельными блюдами. Таким образом, если на этапе классификации изображения отдельного предмета посуды определено, что на изображении представлено второе блюдо, то модуль обнаружения отдельных предметов (60) выполняет дополнительную сегментацию/разделение данного изображения второго блюда на части для получения отдельных изображений каждой части тарелки с различными блюдами для дальнейшей идентификации блюд на каждом полученном изображении каждой части тарелки в модуле идентификации блюд (70). Следует отметить, что в данном случае приоритет имеет сегментация по текстуре и по цвету, хотя также применима и сегментация по форме.
После идентификации всех блюд, представленных на подносе покупателя, в работу вступает модуль расчета стоимости (80), сконфигурированный для получения из базы данных блюд стоимости каждого идентифицированного блюда. После чего упомянутый модуль осуществляет подсчет/расчет общей стоимости всех блюд, располагающихся на подносе путем суммирования цены каждого из представленных и идентифицированных на подносе блюд.
Далее полученная общая стоимость передается в модуль отображения (90) для отображения полученной общей стоимости на экране устройства обработки данных кассовой системы или же на отдельном устройстве отображения (дисплее). При этом модуль отображения может быть в отдельных своих реализациях дополнительно сконфигурирован с возможностью отображения главного эталонного изображения каждого идентифицированного на подносе блюда и соответствующей ему стоимости на экране для предоставления покупателю возможности проверить все данные перед оплатой обеда. Главное изображение в выборке может задавать пользователь системы или же нейронная сеть сама может выбирать лучшее изображение из имеющихся в настоящий момент в выборке эталонных изображений блюда. Кроме того, может быть задано постоянное главное изображение блюда, хранящееся отдельно от выборки изображений блюда и не меняющееся со временем.
При несовпадении данных, представленных на экране, с блюдами на подносе покупатель может обратиться к кассиру или администратору, для решения проблемы и для повторной идентификации и подсчета общей стоимости обеда. Следует отметить, что такие ситуации крайне редки, но нельзя исключать малейшую вероятность ошибки. После успешного подсчета общей стоимости обеда покупатель оплачивает счет наличными или безналичными средствами и получает чек от кассира или непосредственно из платежного терминала.
Кроме того, как сейчас принято на множестве предприятий общественного питания, в меню часто присутствуют комплексные обеды (действующие в определенные часы). Для такого случая модуль подсчета общей стоимости (80) может также обладать своей ИНС, сконфигурированной для сопоставления названий идентифицированных блюд с названиями блюд, входящих в комплексный обед. Если все блюда на подносе соответствуют категории комплексного обеда, то модуль расчета общей стоимости автоматически выдает установленную стоимость. В этом случае на экране может просто высветиться надпись: «Комплексный обед» и его стоимость, что упрощает проверку покупателем, поскольку он знает, что взял блюда комплексного обеда. Следует отметить, что данная ИНС настроена на работу только в определенно заданные часы, заданные заранее пользователем системы.
В отдельных реализациях кассовая система дополнительно содержит платежный терминал (не показан на фиг. 1) для предоставления покупателю возможности совершать оплату, при этом модуль отображения (90) устройства обработки данных дополнительно сконфигурирован для вывода полученной общей стоимости на платежный терминал. В таком случае, по факту, кассовая система может сама выполнить все необходимые операции автоматически, а, следовательно, кассир на таком предприятии общественного питания не требуется. То есть сама кассовая система выступает в качестве «автоматического кассира». Такое решение способствует повышению точности и скорости обслуживания покупателей. Но, как отмечено ранее, нельзя исключать вероятность ошибки, так что человек для контроля работы системы все-таки требуется. При этом заявляемое решение экономически выгодно особенно для большого предприятия общественного питания, поскольку кассовая система реализована стандартными средствами видеонаблюдения и для ее обслуживания и контроля нужен только один человек, а не несколько кассиров, чья вероятность ошибки тоже присутствует.
Далее будет описан пример конкретной реализации способа идентификации блюд на подносе. На фиг. 2 представлена блок-схема одного из вариантов реализации способа идентификации блюд на подносе.
Указанный способ выполняется уже описанной выше кассовой системой, содержащей, по меньшей мере одно устройство обработки данных, по меньшей мере одно устройство захвата изображений и память, хранящую базу данных блюд. Способ содержит этапы, на которых:
(100) получают видеоданные от устройства захвата изображений в режиме реального времени, причем упомянутое устройство захвата изображений получает видеоданные из области, в которой располагается поднос, содержащий все взятые покупателем блюда;
(200) выполняют анализ полученных видеоданных с целью обнаружения в кадре подноса с едой и получения изображения упомянутого подноса;
(300) определяют на полученном изображении подноса с едой отдельные предметы посуды;
(400) выполняют идентификацию с использованием искусственной нейронной сети всех блюд на каждом из полученных изображений отдельных предметов посуды, причем идентификация осуществляется путем сравнения изображения каждого блюда с по меньшей мере, одним эталонным изображением блюда, содержащимся в базе данных блюд;
(500) получают из базы данных блюд стоимость каждого идентифицированного блюда и
(600) подсчитывают общую стоимость всех блюд, располагающихся на подносе; а также
(700) отображают полученную общую стоимость на экране.
Следует еще раз отметить, что данный способ может быть реализован посредством использования охарактеризованной ранее кассовой системы и, следовательно, может быть расширен и уточнен всеми теми же частными вариантами исполнения, которые уже были описаны выше для реализации кассовой системы предприятия общественного питания для идентификации блюд на подносе.
Кроме того, варианты осуществления настоящей группы изобретений могут быть реализованы с использованием программного обеспечения, аппаратных средств, программной логики или их комбинации. В данном примере осуществления программная логика, программное обеспечение или набор инструкций хранятся на одном или более из различных традиционных считываемых компьютером носителе данных.
В контексте данного описания «считываемым компьютером носителем данных» может быть любая среда или средства, которые могут содержать, хранить, передавать, распространять или транспортировать инструкции (команды) для их использования (исполнения) компьютерной системой, например, такой как компьютер. При этом носитель данных может являться энергонезависимым машиночитаемым носителем данных.
При необходимости, по меньшей мере, часть различных операций, рассмотренных в описании данного решения, может быть выполнена в отличном от представленного порядке и/или одновременно друг с другом.
Хотя данное техническое решение было описано подробно в целях иллюстрации наиболее необходимых в настоящее время и предпочтительных вариантов осуществления, следует понимать, что данное изобретение не ограничивается раскрытыми вариантами осуществления и более того, предназначено для модификации и различных других комбинаций признаков из описанных вариантов осуществления. Например, следует понимать, что настоящее изобретение предполагает, что в возможной степени, один или более признаков любого варианта осуществления могут быть объединены с другим одним или более признаками любого другого варианта осуществления.