Найти тему
Когда скучно SDET`у

Первая нейросеть...

Разметил с помощью cvat 100 изображений для тренировки, 20 для валидации и 10 для теста. Собственно, это было самое сложное. Я ОЧЕНЬ не люблю нудную работу (Именно поэтому и стал автоматизатором 8) )Даже завидую людям которые работают\подрабатывают разметчиками. Хотя, так как это простой текстовый блок и не пришлось выделять по контуру - по времени вышло где-то час. Мангу специально взял не сложную, главное было понять общий подход.

Как пример.
Как пример.

Нейросеть сделал на основе YOLOv8. Как мне показалось, самая простая модель для сегментирования. Код простой до ужаса:

!pip install ultralytics

from ultralytics import YOLO

model = YOLO('yolov8s-seg.pt')

results = model.train(data = '/path/to/dataset/', epochs=400, batch=16)

И все! Модель обучалась где-то 20 минут и довольно уверенно находила блоки теста на страницах. Но, по факту, она бесполезна. Не сказать чтобы совсем, но применить ее в проекте будет сложно. В процессе просмотра обучающих видео я понял что данную идею лучше пока отложить.


Во-первых это чужая сеть 8) Я не против подхода: "Не нужно писать то что уже написано до тебя", но не в данном случае. Проект так-то и задумывался как основа для изучения нейросетей. И реализовывать это на сторонних продуктах этому противоречит


Во-вторых, архитектура неудачна. Слишком много удаляется и корректно восстановить фон будет сложнее. Лучше смотреть в сторону генеративно-состязательные сети для восстановления фона и easyocr для распознавания текста. Ну как вариант, если не получится обучить на большом размере добавить нейронку для отделения фреймов манги. В общем случае решение будет таким:


Разбиваем на фреймы -> ищем текст в фрейме -> скармливаем маску и фрейм нейросети для удаления текста и восстановления фона.


Пошел копать в сторону генеративно-состязательные сети (GAN) так как примеров я пока что-то не нашел

Вторая версия нейросети: