Работал раньше код решения капчи, капчи поменялись, надо натренировать новую модель для yolo.
Примеры капч по ссылке
Код который работал в конце, в нем файл модели надо заменить, что бы он продолжил работать.
Капчи достаточно простые, решались в 97%
В результате нужно:
1. Файл модели
2. Датасет размеченный и код обучения
'''
from ultralytics import YOLO
def predict(img):
if isinstance(img, BytesIO):
img.seek(0)
img = cv2.imdecode(np.asarray(bytearray(img.read()), dtype=np.uint8), cv2.IMREAD_COLOR)
elif isinstance(img, bytes):
img = cv2.imdecode(np.asarray(bytearray(img), dtype=np.uint8), cv2.IMREAD_COLOR)
global model_slow
model_slow = YOLO(ABSOLUTE_PATH("models/best_s_20.pt"), verbose=False)
return predict_slow(img)
def predict_slow(img):
res = model_slow.predict(source=img, conf=0.3, verbose=False)[0]
symbols = sorted([(res.boxes.xyxy.tolist()[i][0], res.boxes.cls.tolist()[i]) for i in range(len(res.boxes.xyxy))],
key=lambda x: x[0])
symbols = [res.names[elem[1]] for elem in symbols]
return ''.join(symbols)
'''