Dostal som úlohu rýchlo pripraviť bare-metal Linux stroj na spúšťanie Tesseract OCR pre optické rozpoznávanie znakov. Kritériom bolo vykonať rozpoznávanie čo najrýchlejšie. V mojich testoch bol Tesseract 5 oveľa presnejší ako Tesseract 4, bez ohľadu na to, aké možnosti, konfigurácie a predspracovanie som skúšal (a skúšal som ich veľa!). Ďalšou požiadavkou bolo použiť Ubuntu 18.04 LTS. Nie je to najnovšie, ale stále je pomerne dobre podporované (apr 2028). Zhromaždil som niekoľko poznámok z procesu, tak som si myslel, že ich zdieľam. Možno pomôžu niekomu inému.

Manuál HP 290 G4 #

Pre túto úlohu som získal stanicu HP 290 G4 v midi-tower prevedení ako hotový produkt a trochu narýchlo. Tesseract potrebuje hlavne CPU a táto stanica prišla s relatívne novým viacvláknovým procesorom Intel i3, čo sa neskôr ukázalo ako dobrá investícia.

Mal som však problémy s inštaláciou Ubuntu. Relevantné výňatky z manuálu HP 290 G4:

  • Zapnite alebo reštartujte počítač alebo tablet, rýchlo stlačte Esc a potom stlačte F9 pre možnosti bootovania.
  • Zapnite alebo reštartujte počítač a keď sa zobrazí logo HP, stlačte F10 pre vstup do Computer Setup (UEFI BIOS).

Klávesy nie sú príliš bežné na základe mojich predchádzajúcich skúseností

  • očakával som F12 a F2.

Inštalácia OpenSSH #

Ubuntu zjavne prišlo bez povoleného SSH štandardne zdroj:

sudo apt install openssh-server
sudo systemctl enable ssh.service --now

Node 16 LTS #

node v repozitári bol verzie 8. Bola potrebná verzia 16 LTS zdroj:

curl -sL https://deb.nodesource.com/setup_16.x | sudo bash -
sudo apt -y install nodejs

Node-red #

Na inštaláciu node-red [zdroj](sudo npm install -g —unsafe-perm node-red):

sudo npm install -g --unsafe-perm node-red

PM2 správca procesov pre node-red #

Na spustenie node-red pri štarte na Ubuntu (na rozdiel od Raspbianu) je potrebné vlastné riešenie. Bol použitý PM2 zdroj:

sudo npm install -g pm2
pm2 start $(which node-red) -- -v
pm2 save
pm2 startup
# Now run the command displayed on the screen

Automatické spustenie PM2 pri štarte #

Dôležitá poznámka k chybe PID file not readable zdroj:

pm2 kill
sudo systemctl start pm2-USERNAME.service

Tesseract 5.1 #

Inštalácia Tesseract OCR 5.1 na Ubuntu 18.04 zdroj:

sudo apt update
sudo add-apt-repository ppa:alex-p/tesseract-ocr-devel
sudo apt install -y tesseract-ocr

tessdata_ocrb #

Dáta trénované špeciálne pre písmo používané v občianskych preukazoch a pasoch. Toto je rovnaké písmo, ktoré sa použilo aj v tomto produkte. Zrýchlenie bolo veľmi badateľné!

https://github.com/Shreeshrii/tessdata_ocrb

Použite takto:

TESSDATA_PREFIX=/home/peterbabic/tessdata_ocrb tesseract /home/peterbabic/PHOTO.jpg - -l ocrb_int

Klikanie PC reproduktora #

Po spustení Ubuntu PC reproduktor vydával veľmi otravné pravidelné “klikanie”. Problém na chvíľu zmizol po úprave hlasitosti alebo po spustení hudby. Problém nezmizol ani po vypnutí PC reproduktora v BIOSe, čo bolo veľmi prekvapujúce. Problém nebol prítomný v BIOSe, GRUBe ani v predinštalovanom prostredí FreeDOS (o ktorom som zistil, že je pravdepodobne postavené na Debiane). Problém spočíval v možnostiach úspory energie zdroj:

echo 'options snd-hda-intel power_save=0' | sudo tee /etc/modprobe.d/alsa-info.conf

Ďalšie odkazy #