Първа статия

И така, какво имаме за момента?
До голяма степен завършихме нашия сценарий. Това е, което знам досега. Изображения (списъци с хранителни стоки), конвертирани в JSON или TXT файл.

Но данните, които имаме в нашия изходен файл, са необработени. Трудно е да прочетем файла или да работим с него, както искаме. Данните трябва да бъдат преобразувани в js обекти и ние трябва да можем да вкараме тези обекти в нашата база данни. Структурата на базата данни може да бъде коригирана в бъдеще, така че трябва да имаме способността да променяме логиката на изхода.

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

Изглежда просто, а? Не толкова бързо.

Списък на етапите за нашия OCR скрипт

  1. ✅ Настройте проект с модули, свързани с OCR конвертиране
  2. ✅ Коригиране на проблем, свързан с малки шрифтове, така че всички изображения, които имаме, да могат да бъдат конвертирани
  3. ✅ Вземете изходен файл с данни
  4. ✅ Разбор на измервания от списъци
  5. Изпълнете тестове с различни случаи и разберете, че всичко работи както трябва.
  6. Нашият изходен файл съдържа данни от 30 изображения. Структурата на данните трябва да съответства на схемата на нашата база данни
  7. Този скрипт ще бъде завършен, когато изходът съответства на текущата ни структура на база данни.
  8. Имаме 100 конвертирани и импортирани списъци с хранителни стоки в нашата база данни. Всички импортирани данни се показват добре в нашия проект.

Данните, които имаме, са разделени между хранилищата.
Това ни дава възможност да бъдем по-гъвкави. Нашият код може да бъде споделян между различни екипи.
Както мога да предавам данни между разработчиците на React Frontend и екипа за машинно обучение.

В първата статия споменах плъгин за „извличане“, който съхранява данни от списъци с хранителни стоки.
Накратко, това е плъгин, който чете JSON файл и връща данни във формат, от който се нуждаем в нашите NodeJS проекти.

Ако нямаме този плъгин - ще се затрудним с тестването. В този случай ще бъдем принудени да тестваме всичко от страна на сървъра, преди или след импортиране в база данни. Това ще изяде много време и ще генерира много разговори между различни екипи. С този плъгин нашите екипи са независими, но свързани чрез логиката на този плъгин.

Пример:
ML екипът може да генерира данни и да ги сравни с данните, които имаме в нашия плъгин.
JS разработчиците могат да използват този плъгин, без да мислят за идентификационни данни, връзка с нашия API, и т.н.

Представете си тази ситуация — генерираме файл с данни от OCR скрипт — импортираме го в нашия сървър и всичко започва да се срива. и ще бъде трудно да се отстранят грешки там, където имаме проблем. Този плъгин се опитва да предотврати това.

Нашата текуща DB схема в Groceristar

Нашият плъгин за извличане имитира тази структура. Данните за списъка с хранителни стоки, разделени между няколко файла.

Не искам да споделям връзки към кодова база в тази статия. Това ще го направи по-трудно за разбиране. Всички връзки към нашите хранилища в Github ще споделя в следващата статия.

В идеалния свят резултатът трябва да е нещо подобно.

Структура на списъка с хранителни стоки

Структура на отделите

Структура на съставките

Забележка: Структурата на измерване в момента е спорна. Нямаме завършена версия и тествана версия на нашия сървър. Може да е подобно на това изображение.

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

Резюме

Така че имаме код, съхранен в нашето хранилище в Github.
Имаме подробности как да го направим.
Имаме изображения, които могат да се използват, за да тестваме как работи скриптът.
Имаме нужда да форматираме нашия изход и да го направим равен на структура, която показвам. Освен това трябва да има добро ниво на точност, така че всички необходими данни от изображението на Pinterest да бъдат преместени в JSON масив.

Благодаря, че прочетохте, моля, пляскайте, ако ви харесва