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
Esca potom stlačteF9pre možnosti bootovania. - Zapnite alebo reštartujte počítač a keď sa zobrazí logo HP, stlačte
F10pre 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
F12aF2.
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