На кассе самообслуживания может использоваться визуальное распознавание товаров из каталога. Принцип работы:

  1. Покупатель нажимает кнопку "Каталог товаров";
  2. Касса требует взвесить товар на прикассовых весах;
  3. После получения стабильного положительного веса с весов, автоматически выполняется распознавание;
  4. Покупателю отображается список наиболее похожих товаров;
  5. Покупатель выбирает нужный товар для добавления в чек.

Настройка распознавания

В режиме формирования необходимо изменить команду кнопки "Каталог товаров" на GOODSDETECTOR_DETECT. Подробнее об изменении кнопок в режиме формирования можно прочитать в статье "Кнопки в режиме формирования чека".

Пример замены команды кнопки "Каталог товаров"
[Check.FormingForm.actions.1]
; Кнопка отображения каталога для ручного выбора товара
command = GOODSDETECTOR_DETECT
text = formingPickList
type = middle
 
[Check.FormingForm.actions.2]
; Кнопка ввода штрих-кода вручную
command = CHECK_MANUALINPUT
text = formingInput
 
[Check.FormingForm.actions.3]
; Кнопка получения электронного чека
command = CHECK_INPUTCUSTOMERADDRESS
text = formingElCopy

Далее необходимо включить модуль и указать сервис распознавания.

Наименование

Возможные значения

Описание

Примечание

Файл /opt/sst-sco/conf/goodsdetector.ini, секция [GoodsDetector], настройки модуля визуального распознавания товаров
enable
  • true
  • false (по умолчанию)
Включение модуля

service

  • estesis
  • smartscales
  • dummy

по умолчанию не указан

Какой сервис используется для распознавания.

  • estesis - будет использоваться сервис распознавания Estesis,
  • smartscales - будет использоваться сервис распознавания SmartScales,
  • dummy - будет использоваться заглушка сервиса распознавания


disableLearning

  • true
  • false (по умолчанию)
Отключить обучение сервиса распознавания.
Если true, то после выполнения распознавания и выбора товара данные в сервис не отправляются

collectLearning

  • true
  • false (по умолчанию)

Сбор данных.

Отправлять на обучение товары, которые покупатель выбрал в каталоге товаров


onlyLearning

  • true
  • false (по умолчанию)
Только сбор данных.
Отключить распознавание; отправлять на обучение товары, которые покупатель выбрал в каталоге товаров
Если значение параметра true, то кнопка "Определить товар" не отображается
useScale
  • true (по умолчанию)
  • false
Получать вес с прикассовых весов перед распознаванием.
Кроме получения веса, факт взвешивания используется для определения момента, в который можно выполнить распознавание

autoDetection
  • true
  • false (по умолчанию)

Автоматическое распознавание товара.
Плагин периодически обращается к весам и начинает распознавание, если обнаружено изменение веса

Если значение параметра true, то кнопка "Определить товар" не отображается

detectionDelay

числовой

по умолчанию 1000

Задержка перед вызовом распознования при получении веса для настройки autoDetection (в миллисекундах)

Если за время, указанное в параметре, вес изменится, то таймер будет перезапущен


При отображении списка распознанных товаров по умолчанию не указывается наименование подкаталога. При необходимости, его можно задать, id сообщения goodsDetectorLayer. Подробнее об изменении текста в интерфейсе можно прочитать в "Язык и изменение текста".

Обучение и распознавание товаров выполняется на сервере системы распознавания товаров. На кассе осуществляется подготовка данных для отправки и обработка ответа от сервера. Данное поведение определяется комбинацией настроек кассы, указанных в таблице.

Другие комбинации значений использовать не рекомендуется.

Режим работыНастройкиПоведениеПримечания

collectLearningdisableLearningonlyLearning

Основной режим. Отправка данных при выборе товара из предложенных системой распознаванияfalsefalsefalse

При выборе одного из распознанных товаров данные о нем будут отправлены на сервер для дообучения


Без обучения. Отправка данных для обучения осуществляться не будет

falsetruefalse

При нажатии кнопки "Определить товар" будет осуществлена попытка распознавания товара.

При выборе одного из распознанных товаров данные о нем отправлены на сервер для обучения не будут


Фоновый сбор данных при добавлении товара из каталога (без распознавания)

falsefalsetrueПри выборе из каталога данные товара (в том числе его фото с камеры) будут отправлены на сервер системы распознавания для обученияКнопка "Определить товар" не отображается

Фоновый сбор данных при добавлении товара из каталога (с распознаванием и обучением)

truefalsefalse

При выборе из каталога данные товара (в том числе его фото с камеры) будут отправлены на сервер системы распознавания для обучения.

При нажатии кнопки "Определить товар" будет осуществлена попытка распознавания товара.


Система Estesis

В системе распознавания товаров Estesis реализована возможность автоматического добавления товара, которая задается настройкой instantAddingLevel. Данная настройка устанавливает порог уровня распознавания товара, при достижении которого товар будет автоматически добавлен в чек.

Пример

При instantAddingLevel = 50:

  • если от сервера получены товары с уровнями распознавания 40 и 50, то товар с уровнем 50 будет автоматически добавлен в чек;
  • если от сервера получены товары с уровнями распознавания 50 и 55, то необходимо выбрать нужный товар из списка.

Настройка сервиса.

Наименование

Возможные значения

Описание

Файл /opt/sst-sco/conf/goodsdetector.ini, секция [GoodsDetector.Estesis], настройки сервиса распознавания Estesis
urlhttp://адрес:порт
по умолчанию не указан
Адрес сервера Estesis
cameraIpip
по умолчанию 127.0.0.1
Адрес web-камеры
cameraPortпорт
по умолчанию 8080
Порт web-камеры
instantAddingLevelот 0 до 100
по умолчанию 0
Порог уровня распознавания для автоматического добавления товара
Пример настройки Estesis
[GoodsDetector]
enable = true
service = estesis

[GoodsDetector.Estesis]
url = http://127.0.0.1:4001
cameraIp = 127.0.0.1
cameraPort = 8080
instantAddingLevel = 0

Система SmartScales

Настройка сервиса.

Наименование

Возможные значения

Описание

Файл /opt/sst-sco/conf/goodsdetector.ini, секция [GoodsDetector.SmartScales], настройки сервиса распознавания SmartScales
cashboxIdуникальный Id SmartScales
по умолчанию не указан
Уникальный идентификатор кассы в системе SmartScales
urlhttp://адрес:порт
по умолчанию не указан
Адрес сервера в формате http://адрес:порт, например http://smartscales.infertech.ru:80
camera
  • модель камеры
  • адрес на шине USB
  • rtsp-поток в формате rtsp://127.0.0.1:8554/mystream

по умолчанию камера не используется

Камера.
В root.log пишется модель и адрес каждой найденной камеры

cameraResolution

Список доступных разрешений камеры
по умолчанию 640x480

Разрешение получаемого изображения.
Список доступных разрешений указывается в root.log при подключении камеры

Пример настройки с использованием камеры на стороне сервера SmartScales
[GoodsDetector]
enable = true
service = smartscales

[GoodsDetector.SmartScales]
cashboxId = <уникальный идентификатор>
url = http://smartscales.infertech.ru:80
Пример настройки с использованием камеры на стороне кассы
[GoodsDetector]
enable = true
service = smartscales

[GoodsDetector.SmartScales]
cashboxId = <уникальный идентификатор>
url = http://smartscales.infertech.ru:80
camera = /dev/video0
cameraResolution = 1920x1080

Для работы системы распознавания SmartScales необходимо:

  1. Настроить секцию [GoodsDetector.SmartScales].
  2. Поместить скрипт для обновления ассортимента smartscales_update.py в кассу.
  3. Запустить скрипт:

    python /<путь_до_скрипта>/smartscales_update.py

Распознавание без прикассовых весов

Распознавание можно использовать и без прикассовых весов, но покупателю необходимо самому нажимать на кнопку "Определить товар".

Этот вариант использования не очевидный для покупателя, он, как правило, не будет нажимать на кнопку "Определить товар".

Принцип работы:

  1. Покупатель нажимает кнопку "Каталог товаров";
  2. Сразу отображается каталог, сверху отображается кнопка "Определить товар";
  3. Покупатель располагает товар под камерой и нажимает кнопку;
  4. Покупателю отображается список наиболее похожих товаров;
  5. Покупатель выбирает товар для добавления в чек.

Для использования распознавания без весов необходимо установить настройку useScale в значение false. Кнопка "Каталог товаров" в режиме формирования при этом не меняется. 

Распознавание товаров из многоуровневого каталога по штрих-коду (Artix SCO)

Поиск товаров в каталоге при распознавании выполняется по кодам, полученным от сервиса распознавания.

По умолчанию в многоуровневом каталоге указываются только коды товаров. После выполнения распознавания и выбора товара будет отправлен в сервис код выбранного товара.
Если в многоуровневом каталоге используются штрих-коды товара вместо кодов, то для корректного поиска необходимо включить настройку pickListCodesIsBarcodes. После выполнения распознавания и выбора товара будет отправлен в сервис штрих-код выбранного товара. Для отключения отправки данных используется параметр disableLearning.

НаименованиеВозможные значенияОписание
Файл /linuxcash/cash/conf/ncash.ini.d/sstsco.ini, секция [SstSco], настройки интеграции с SCO
pickListCodesIsBarcodes
  • true
  • false (по умолчанию)

Расценивать коды в таблице picklist как штрих-коды
Работает только для распознавания товаров многоуровневого каталога

  • No labels