Comments (10)
Не совсем понятен ваш вопрос.
from nomeroff-net.
Хочу проверить работу обученных ocr на фотографиях, которые содержат только номер( обрезанные)
Понимаю,что это возможно сделать, но можно ли как-то вытащить из демо только работу ocr на фотографиях, без детектирования объектов на ней. Т.к. насколько я понимаю, сначала в демо детектируются объекты : машины, номера. А потом только применяется ocr
спасибо!
from nomeroff-net.
Возмите скрипт для тренировки и положите примеры с описанием в папку test. Вместо тренировки загрузите модель
model = ocrTextDetector.load("/var/www/nomeroff-net/NomeroffNet/mcm/models/TextDetector/ru/anpr_ocr_ru_3-cpu.h5")
Потом запустите
ocrTextDetector.test(verbose=True)
Там вам покажет что распознается неправильно.
from nomeroff-net.
Спасибо большое за ответ!
Да, но тогда у меня выдается та же ошибка, что и при обучении через ipynb
AttributeError: 'ru' object has no attribute 'tiger_test'
Пыталась исправить это ошибку, скопировав tiger_test из функции prepare в функцию test. Но мне кажется, что этот костыль только провоцирует будущие ошибки( но эта ошибка исчезает)
Вероятно, у меня что-то не так импортируется. Думала изначально, что это ошибка импортов, присущая формату ipynb
изначально хочется именно проверять фотографию без описания: использовать уже обученную модель, чтобы облегчить разметку новых данных
Вероятно, можно так сделать, просто не написав аннотации к этим файлам, тогда в графе True не будет выводиться ничего. Правильно ли понимаю это?
from nomeroff-net.
Попробуйте так
from NomeroffNet import TextDetector
import matplotlib.pyplot as plt
#Initialize text detector.
textDetector = TextDetector.get_static_module("ru")()
textDetector.load("latest")
zones=plt.imread('number_plate.jpg')
textArr = textDetector.predict([zones])
#textArr = textPostprocessing(textArr)
print(textArr)
from nomeroff-net.
Спасибо!
from nomeroff-net.
А возможно ли вырезать номера из картинок, где присутствует только номер на каком-либо фоне, а не машина целиком?
Пыталась использовать такие фото для модели. Она не распознает на них номера
from nomeroff-net.
Сделайте так
import os
import numpy as np
import sys
import matplotlib.image as mpimg
import cv2
import glob
from datetime import datetime
#change this property
NOMEROFF_NET_DIR = os.path.abspath('../../')
#specify the path to Mask_RCNN if you placed it outside Nomeroff-net project
MASK_RCNN_DIR = os.path.join(NOMEROFF_NET_DIR, 'Mask_RCNN')
MASK_RCNN_LOG_DIR = os.path.join(NOMEROFF_NET_DIR, 'logs')
#sys.path.append(NOMEROFF_NET_DIR)
#Import license plate recognition tools.
from NomeroffNet import filters, RectDetector, TextDetector, OptionsDetector, Detector, textPostprocessing, textPostprocessingAsync
#from OptionsDetector import OptionsDetector
#Initialize npdetector with default configuration file.
nnet = Detector(MASK_RCNN_DIR, MASK_RCNN_LOG_DIR)
nnet.loadModel("latest")
rectDetector = RectDetector()
optionsDetector = OptionsDetector()
optionsDetector.load("latest")
#Initialize text detector.
textDetector = TextDetector.get_static_module("kz")()
textDetector.load("latest")
images = glob.glob('images500/*.jpg')
for img_path in images:
img = cv2.imread(img_path)
#img = [img]
#Detect numberplate
NP = nnet.detect([img])
#Generate image mask.
cv_img_masks = filters.cv_img_mask(NP)
photo_time = datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S")
arrPoints = rectDetector.detect(cv_img_masks)
zones = rectDetector.get_cv_zonesBGR(img, arrPoints)
regionIds, stateIds, countLines = optionsDetector.predict(zones)
regionNames = optionsDetector.getRegionLabels(regionIds)
#print("CL: "+str(countLines))
textArr = textDetector.predict(zones, countLines)
textArr = textPostprocessing(textArr, regionNames)
#print(textArr)
print(img_path)
if len(zones)>0:
cv2.imwrite("number_plates/car"+str(photo_time)+'-'+str(textArr[0]+'.jpg'), zones[0])
else:
continue
from nomeroff-net.
Если не ошибаюсь номер должен составлять не более 10% изображения, проверьте сколько процентов от изображения составляет номер.
from nomeroff-net.
А возможно ли вырезать номера из картинок, где присутствует только номер на каком-либо фоне, а не машина целиком?
Пыталась использовать такие фото для модели. Она не распознает на них номера
Мы натренировали Mask RCNN модель под нужды сайта AUTO.RIA.com, наши пользователи не фотографируют крупным планом номер, а, обычно, автомобиль на котором (в том числе) видно номер, поэтому наилучшый выход из ситуации, натренировать свою модель.
Вы можете внимательно изучить мои статьи на хабре и вот этот скрипт, с помощью которого можно создать свою модель, которая сможет искать по вашему датасету.
Для этого нужно разметить хотя бы 300 фото (а лучше около 1000) из вашего датасета, можете дотренировать нашу модель с этими данными или дотренировать coco-датасет (в конфиг в параметр "WEIGHTS" пишем значение "coco"), после этого подключите созданую вами модель и все будет находить.
from nomeroff-net.
Related Issues (20)
- ModuleNotFoundError: No module named 'modelhub_client' HOT 6
- Failed to run get-started-demo.py in docker container HOT 3
- обучать пользовательский набор данных HOT 7
- I have error about checkpoint HOT 5
- KeyError: 'pytorch-lightning_version' HOT 3
- How to train OCR model? HOT 3
- ImportError: cannot import name 'efficientnet_v2_s' from 'torchvision.models' HOT 1
- when change name of folder nomer_net code not work HOT 5
- Size of docker image HOT 1
- Multiline example doesn't return correct recognitions
- draw rectangle bbox on plate HOT 4
- Некорректное распознавание российских номер с регионом 799, 977 HOT 1
- Некорректное распознавание номеров в 3 строки
- Ошибка при установке пакета в req.txt HOT 1
- Columns and DataType Not Explicitly Set on line 157 of datasets_tools.py
- Error in nomeroff-net setup command: 'install_requires' HOT 1
- Label 'md' not in dict_keys && Label changed on default 'eu_ua_2015'
- Realtime Video performance / Benchmrk
- Getting OCR score
- Performance question
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nomeroff-net.