Closed TryAnotherName closed 2 years ago
Added example how to disable the region detection and use only the Russian model through pipeline https://github.com/ria-com/nomeroff-net/blob/master/examples/ju/inference/get-started-demo-ocr-custom.ipynb
Added example how to disable the region detection and use only the Russian model through pipeline https://github.com/ria-com/nomeroff-net/blob/master/examples/ju/inference/get-started-demo-ocr-custom.ipynb
Wow, cool. Thanks a lot!
I tried including your example in my code, but I got an error. When using the photo "test_2.jpeg" of about 720p quality, an error appeared, as in the first photo. When using a photo quality of approximately 1080p, the number was determined as Soviet, as in the second photo. But if you use a 2k quality photo, the number was already determined as Russian. The text of the number was determined incorrectly in all cases. Can this be somehow corrected by the settings or is it just because the training is done only on a good quality photo or the photo itself is initially of poor quality?
p.s. We can switch to Russian, if it's more convenient for you.
Screenshot1 Screenshot 2
Can you send the original photo for testing?
Yes, of course
Can you send the original photo for testing?
Hello. Did anything work?
In the new release, we updated the models, now ru ocr works better (now your example is working correctly)
In the new release, we updated the models, now ru ocr works better (now your example is working correctly)
Hello again. I'm back to you) I collected a selection of photos of different quality with numbers from the Internet. There are a couple of new bugs. I found out that the errors are associated with certain photos, but have not yet determined which ones. I send you a link to the sample and screenshots of errors. I also have other questions like this. How to use my trained model? In your example, I tried to insert the path to the model trained for the previous version of the library, but I got an error, as in photo №3. And a question about the automatic marking of the number and the creation of a sample. I saw a closed thread with a similar question, but the answer in it referred to a previous version of the library. As I understand it, you did not add this utility in the new version? Is it still relevant or is it worth waiting for the update and its appearance for the updated version of the library?
https://drive.google.com/drive/folders/1M0lMYeVRhLpxuujN5882qfnzAK-bVYHk?usp=sharing
Error 1 Error 2 Error 3
p. s. Are you tired of me yet? :)
And a question about the automatic marking of the number and the creation of a sample. I saw a closed thread with a similar question, but the answer in it referred to a previous version of the library.
Can you post a thread with a similar question to understand what we are talking about?
As for the third error, unfortunately the ocr models from previous versions are not compatible with the current one.
p. s. Are you tired of me yet? :)
Thanks for helping us make our product better!
Can you post a thread with a similar question to understand what we are talking about?
Can you post a thread with a similar question to understand what we are talking about?
170
Usage example: https://github.com/ria-com/nomeroff-net/blob/master/examples/ju/dataset_tools/auto_number_grab.ipynb
auto_number_grab tool source code https://github.com/ria-com/nomeroff-net/blob/master/nomeroff_net/tools/datasets_tools.py#L118
As for the third error, unfortunately the ocr models from previous versions are not compatible with the current one.
That is, in order to use my own model, did I correctly indicate everything in the screenshot with error No. 3?
Usage example: https://github.com/ria-com/nomeroff-net/blob/master/examples/ju/dataset_tools/auto_number_grab.ipynb
auto_number_grab tool source code https://github.com/ria-com/nomeroff-net/blob/master/nomeroff_net/tools/datasets_tools.py#L118
Thanks. Sorry I didn't notice. Do I understand correctly that for the correct work, it is enough for me to indicate the correct number in the photo title?
Hello. I tried to train my model and got this error. Interestingly, the letters in the class ru(OCR) do not match what is written in the execution log.
PATH_TO_DATASET = os.path.abspath("/content/autoriaNumberplateOcrRu-2021-09-01")
Thanks. Sorry I didn't notice. Do I understand correctly that for the correct work, it is enough for me to indicate the correct number in the photo title?
No, the correct license plate is taken from photos_dataset.csv Example https://github.com/ria-com/nomeroff-net/blob/master/data/dataset/Detector/autoria_numberplate_dataset_example/train/photos_dataset.csv
But you can change the script to your liking.
Can you show the entire error stack?
Try just Install the latest version of pillow pip3 install --upgrade Pillow. And Restart your runtime
Thanks. Sorry I didn't notice. Do I understand correctly that for the correct work, it is enough for me to indicate the correct number in the photo title?
No, the correct license plate is taken from photos_dataset.csv Example https://github.com/ria-com/nomeroff-net/blob/master/data/dataset/Detector/autoria_numberplate_dataset_example/train/photos_dataset.csv
But you can change the script to your liking.
Thank you, I already found and figured out how to do this conveniently.
Can you show the entire error stack?
Try just Install the latest version of pillow pip3 install --upgrade Pillow. And Restart your runtime
It seems that the last error is related to the update of some library. Same error in auto_grabber. I work in google.collab and every time I start I just setup the requirements.txt.
This is how the error looks in the train module.
Can you send the result of the commands?
python --version
pip --version
pip list
I will try to reproduce the error
Can you send the result of the commands?
Python 3.7.13
pip 21.1.3 from /usr/local/lib/python3.7/dist-packages/pip (python 3.7)
Package Version
----------------------------- ---------------------
absl-py 1.0.0
aiohttp 3.8.1
aiosignal 1.2.0
alabaster 0.7.12
albumentations 0.1.12
altair 4.2.0
appdirs 1.4.4
argon2-cffi 21.3.0
argon2-cffi-bindings 21.2.0
arviz 0.11.4
astor 0.8.1
astropy 4.3.1
astunparse 1.6.3
async-timeout 4.0.2
asyncio 3.4.3
asynctest 0.13.0
atari-py 0.2.9
atomicwrites 1.4.0
attrs 21.4.0
audioread 2.1.9
autograd 1.3
Babel 2.9.1
backcall 0.2.0
beautifulsoup4 4.6.3
bleach 4.1.0
blis 0.4.1
bokeh 2.3.3
Bottleneck 1.3.4
branca 0.4.2
bs4 0.0.1
CacheControl 0.12.10
cached-property 1.5.2
cachetools 4.2.4
catalogue 1.0.0
certifi 2021.10.8
cffi 1.15.0
cftime 1.6.0
chardet 3.0.4
charset-normalizer 2.0.12
click 7.1.2
cloudpickle 1.3.0
cmake 3.12.0
cmdstanpy 0.9.5
colorcet 3.0.0
colorlover 0.3.0
community 1.0.0b1
contextlib2 0.5.5
convertdate 2.4.0
coverage 3.7.1
coveralls 0.5
crcmod 1.7
cufflinks 0.17.3
cupy-cuda111 9.4.0
cvxopt 1.2.7
cvxpy 1.0.31
cycler 0.11.0
cymem 2.0.6
Cython 0.29.28
daft 0.0.4
dask 2.12.0
datascience 0.10.6
debugpy 1.0.0
decorator 4.4.2
defusedxml 0.7.1
descartes 1.1.0
dill 0.3.4
distributed 1.25.3
dlib 19.18.0
dm-tree 0.1.6
docopt 0.6.2
docutils 0.17.1
dopamine-rl 1.0.5
earthengine-api 0.1.303
easydict 1.9
ecos 2.0.10
editdistance 0.5.3
en-core-web-sm 2.2.5
entrypoints 0.4
ephem 4.1.3
et-xmlfile 1.1.0
fa2 0.3.5
fastai 1.0.61
fastdtw 0.3.4
fastprogress 1.0.2
fastrlock 0.8
fbprophet 0.7.1
feather-format 0.4.1
filelock 3.6.0
firebase-admin 4.4.0
fix-yahoo-finance 0.0.22
Flask 1.1.4
flatbuffers 2.0
folium 0.8.3
frozenlist 1.3.0
fsspec 2022.2.0
future 0.18.2
gast 0.5.3
GDAL 2.2.2
gdown 4.2.2
gensim 3.6.0
geographiclib 1.52
geopy 1.17.0
gevent 21.12.0
gin-config 0.5.0
gitdb 4.0.9
GitPython 3.1.18
glob2 0.7
google 2.0.3
google-api-core 1.26.3
google-api-python-client 1.12.11
google-auth 1.35.0
google-auth-httplib2 0.0.4
google-auth-oauthlib 0.4.6
google-cloud-bigquery 1.21.0
google-cloud-bigquery-storage 1.1.0
google-cloud-core 1.0.3
google-cloud-datastore 1.8.0
google-cloud-firestore 1.7.0
google-cloud-language 1.2.0
google-cloud-storage 1.18.1
google-cloud-translate 1.5.0
google-colab 1.0.0
google-pasta 0.2.0
google-resumable-media 0.4.1
googleapis-common-protos 1.56.0
googledrivedownloader 0.4
graphviz 0.10.1
greenlet 1.1.2
grpcio 1.44.0
gspread 3.4.2
gspread-dataframe 3.0.8
gym 0.17.3
h5py 3.1.0
HeapDict 1.0.1
hijri-converter 2.2.3
holidays 0.10.5.2
holoviews 1.14.8
html5lib 1.0.1
httpimport 0.5.18
httplib2 0.17.4
httplib2shim 0.0.3
humanize 0.5.1
hyperopt 0.1.2
ideep4py 2.0.0.post3
idna 2.10
imageio 2.4.1
imagesize 1.3.0
imbalanced-learn 0.8.1
imblearn 0.0
imgaug 0.4.0
importlib-metadata 4.11.3
importlib-resources 5.4.0
imutils 0.5.4
inflect 2.1.0
iniconfig 1.1.1
intel-openmp 2022.0.2
intervaltree 2.1.0
ipykernel 4.10.1
ipython 5.5.0
ipython-genutils 0.2.0
ipython-sql 0.3.9
ipywidgets 7.7.0
itsdangerous 1.1.0
jax 0.3.4
jaxlib 0.3.2+cuda11.cudnn805
jedi 0.18.1
jieba 0.42.1
Jinja2 2.11.3
joblib 1.1.0
jpeg4py 0.1.4
jsonpickle 2.1.0
jsonschema 4.3.3
jupyter 1.0.0
jupyter-client 5.3.5
jupyter-console 5.2.0
jupyter-core 4.9.2
jupyterlab-pygments 0.1.2
jupyterlab-widgets 1.1.0
kaggle 1.5.12
kapre 0.3.7
keras 2.8.0
Keras-Preprocessing 1.1.2
keras-vis 0.4.1
kiwisolver 1.4.0
korean-lunar-calendar 0.2.1
libclang 13.0.0
librosa 0.8.1
lightgbm 2.2.3
llvmlite 0.34.0
lmdb 0.99
LunarCalendar 0.0.9
lxml 4.2.6
Markdown 3.3.6
MarkupSafe 2.0.1
matplotlib 3.2.2
matplotlib-inline 0.1.3
matplotlib-venn 0.11.6
missingno 0.5.1
mistune 0.8.4
mizani 0.6.0
mkl 2019.0
mlxtend 0.14.0
modelhub-client 1.1.0
more-itertools 8.12.0
moviepy 0.2.3.5
mpmath 1.2.1
msgpack 1.0.3
multidict 6.0.2
multiprocess 0.70.12.2
multitasking 0.0.10
murmurhash 1.0.6
music21 5.5.0
natsort 5.5.0
nbclient 0.5.13
nbconvert 5.6.1
nbformat 5.2.0
nest-asyncio 1.5.4
netCDF4 1.5.8
networkx 2.6.3
nibabel 3.0.2
nltk 3.2.5
notebook 5.3.1
numba 0.51.2
numexpr 2.8.1
numpy 1.21.5
nvidia-ml-py3 7.352.0
oauth2client 4.1.3
oauthlib 3.2.0
okgrade 0.4.3
opencv-contrib-python 4.1.2.30
opencv-python 4.1.2.30
openpyxl 3.0.9
opt-einsum 3.3.0
osqp 0.6.2.post0
packaging 21.3
palettable 3.3.0
pandas 1.3.5
pandas-datareader 0.9.0
pandas-gbq 0.13.3
pandas-profiling 1.4.1
pandocfilters 1.5.0
panel 0.12.1
param 1.12.0
parso 0.8.3
pathlib 1.0.1
patsy 0.5.2
pep517 0.12.0
pexpect 4.8.0
pickleshare 0.7.5
Pillow 9.0.1
pip 21.1.3
pip-tools 6.2.0
plac 1.1.3
plotly 5.5.0
plotnine 0.6.0
pluggy 0.7.1
pooch 1.6.0
portpicker 1.3.9
prefetch-generator 1.0.1
preshed 3.0.6
prettytable 3.2.0
progressbar2 3.38.0
prometheus-client 0.13.1
promise 2.3
prompt-toolkit 1.0.18
protobuf 3.17.3
psutil 5.4.8
psycopg2 2.7.6.1
ptyprocess 0.7.0
py 1.11.0
pyarrow 6.0.1
pyasn1 0.4.8
pyasn1-modules 0.2.8
pycocotools 2.0.4
pycparser 2.21
pyct 0.4.8
pydata-google-auth 1.4.0
pyDeprecate 0.3.1
pydot 1.3.0
pydot-ng 2.0.0
pydotplus 2.0.2
PyDrive 1.3.1
pyemd 0.5.1
pyerfa 2.0.0.1
pyglet 1.5.0
Pygments 2.6.1
pygobject 3.26.1
pymc3 3.11.4
PyMeeus 0.5.11
pymongo 4.0.2
pymystem3 0.2.0
PyOpenGL 3.1.6
pyparsing 3.0.7
pyrsistent 0.18.1
pysndfile 1.3.8
PySocks 1.7.1
pystan 2.19.1.1
pytest 3.6.4
python-apt 0.0.0
python-chess 0.23.11
python-dateutil 2.8.2
python-louvain 0.16
python-slugify 6.1.1
python-utils 3.1.0
pytorch-lightning 1.5.10
PyTurboJPEG 1.6.6
pytz 2018.9
pyviz-comms 2.1.0
PyWavelets 1.3.0
PyYAML 6.0
pyzmq 22.3.0
qdldl 0.1.5.post0
qtconsole 5.2.2
QtPy 2.0.1
regex 2019.12.20
requests 2.23.0
requests-oauthlib 1.3.1
resampy 0.2.2
rpy2 3.4.5
rsa 4.8
scikit-image 0.18.3
scikit-learn 1.0.2
scipy 1.4.1
screen-resolution-extra 0.0.0
scs 3.2.0
seaborn 0.11.2
semver 2.13.0
Send2Trash 1.8.0
setuptools 59.5.0
setuptools-git 1.2
Shapely 1.8.1.post1
simplegeneric 0.8.1
six 1.15.0
sklearn 0.0
sklearn-pandas 1.8.0
smart-open 5.2.1
smmap 5.0.0
snowballstemmer 2.2.0
sortedcontainers 2.4.0
SoundFile 0.10.3.post1
soupsieve 2.3.1
spacy 2.2.4
Sphinx 1.8.6
sphinxcontrib-serializinghtml 1.1.5
sphinxcontrib-websupport 1.2.4
SQLAlchemy 1.4.32
sqlparse 0.4.2
srsly 1.0.5
statsmodels 0.10.2
sympy 1.7.1
tables 3.7.0
tabulate 0.8.9
tblib 1.7.0
tenacity 8.0.1
tensorboard 2.8.0
tensorboard-data-server 0.6.1
tensorboard-plugin-wit 1.8.1
tensorflow 2.8.0
tensorflow-datasets 4.0.1
tensorflow-estimator 2.8.0
tensorflow-gcs-config 2.8.0
tensorflow-hub 0.12.0
tensorflow-io-gcs-filesystem 0.24.0
tensorflow-metadata 1.7.0
tensorflow-probability 0.16.0
termcolor 1.1.0
terminado 0.13.3
testpath 0.6.0
text-unidecode 1.3
textblob 0.15.3
Theano-PyMC 1.1.2
thinc 7.4.0
threadpoolctl 3.1.0
tifffile 2021.11.2
tomli 2.0.1
toolz 0.11.2
torch 1.10.0+cu111
torchaudio 0.10.0+cu111
torchmetrics 0.7.3
torchsummary 1.5.1
torchtext 0.11.0
torchvision 0.11.1+cu111
tornado 5.1.1
tqdm 4.63.0
traitlets 5.1.1
tweepy 3.10.0
typeguard 2.7.1
typing-extensions 3.10.0.2
tzlocal 1.5.1
ujson 5.1.0
uritemplate 3.0.1
urllib3 1.24.3
vega-datasets 0.9.0
wasabi 0.9.0
wcwidth 0.2.5
webencodings 0.5.1
Werkzeug 1.0.1
wheel 0.37.1
widgetsnbextension 3.6.0
wordcloud 1.5.0
wrapt 1.14.0
xarray 0.18.2
xgboost 0.90
xkit 0.0.0
xlrd 1.1.0
xlwt 1.3.0
yarl 1.7.2
yellowbrick 1.4
zict 2.1.0
zipp 3.7.0
zope.event 4.5.0
zope.interface 5.4.0
No, the correct license plate is taken from photos_dataset.csv Example https://github.com/ria-com/nomeroff-net/blob/master/data/dataset/Detector/autoria_numberplate_dataset_example/train/photos_dataset.csv
But you can change the script to your liking.
Can you please explain what the auto_number_grab does? It seemed to me that it was enough for him to give a photo and a label of the correct number, and the model herself would find the number in the photo, cut it out and save it in a separate folder, creating an annotation file. I didn't create a .json file for each photo like in the train folder and I don't know how. But I checked with the files from the example and the error persisted.
As a result, you will get cut and aligned license plates in the res_dir folder in the format {origbasename}{numberplate}.png
Next, you must create image annotation json files and split the dataset into train, test, and val.
For example, you can do this with our node-js scripts, correcting them: https://github.com/ria-com/nomeroff-net/blob/master/moderation/app_console/controllers/defaultController.js#L31 https://github.com/ria-com/nomeroff-net/blob/master/moderation/app_console/controllers/defaultController.js#L114 Or write your own.
An example of the final dataset https://github.com/ria-com/nomeroff-net/tree/master/data/dataset/TextDetector/ocr_example
Sorry, we can't reproduce your bug with Pillow. But we will be glad if you share, having found a solution, as it may be useful to someone else.
Try looking at similar issues https://github.com/facebookresearch/detectron2/issues/2231
As a result, you will get cut and aligned license plates in the res_dir folder in the format {origbasename}{numberplate}.png
Next, you must create image annotation json files and split the dataset into train, test, and val.
For example, you can do this with our node-js scripts, correcting them: https://github.com/ria-com/nomeroff-net/blob/master/moderation/app_console/controllers/defaultController.js#L31 https://github.com/ria-com/nomeroff-net/blob/master/moderation/app_console/controllers/defaultController.js#L114 Or write your own.
An example of the final dataset https://github.com/ria-com/nomeroff-net/tree/master/data/dataset/TextDetector/ocr_example
I meant a little different. The Detector\autoria_numberplate_dataset_example\train folder contains the via_region_data.json file. Does it need to be created using VIA, or is it only needed for manual markup? Because it seemed to me that the model itself should find the number, and it was enough for me to write the correct number label. But thanks for explaining how to create an annotation file for each photo, since I thought they should be created automatically too.
Sorry, we can't reproduce your bug with Pillow. But we will be glad if you share, having found a solution, as it may be useful to someone else.
Try looking at similar issues facebookresearch/detectron2#2231
Hmm. I'm a fool. Sorry for wasting your time. I thought that in the collab, restarting the environment resets all local files and all installed libraries. After installing the requirements.txt, you just had to click on the restart of the environment and nothing was reset. But now everything is working. Sorry again.
Hello. There was an error when running auto_number_grab. I can guess why this might be. Most likely, the model could not find the number in the photo. Could you add an exclusion of such photos and display a title or some kind of label so that this photo can be marked up manually?
Hello. There was an error when running auto_number_grab. I can guess why this might be. Most likely, the model could not find the number in the photo. Could you add an exclusion of such photos and display a title or some kind of label so that this photo can be marked up manually?
Hello. Haven't looked at anything about the error in the last comment?
Added example how to disable the region detection and use only the Russian model through pipeline https://github.com/ria-com/nomeroff-net/blob/master/examples/ju/inference/get-started-demo-ocr-custom.ipynb
There is another question. What do I need to write to use my model to define the license plate frame in the pipeline? Could you add such an example with both a specific region and a specific model selection?
Hello. Did you find anything?
Hello. I really liked your library. I'm not very experienced and I don't understand a lot of things in the code. I ran into a problem that many Russian numbers are erroneously identified as Soviet Union numbers. Could this affect the quality? Is it possible to disable the region detection and use only the Russian model?