computer vision engineer в Parascript LLC
  • LLM, VLM чи Computer Vision: як обрати правильну модель для візуальної задачі

    А ось @Dmytro Voitekh з вами не згоден. Бо у своїй статті описує (dou.ua/forums/topic/59990), що можливо детектувати зони на зображенні. При цьому, цих зон більше десятка.
    P.S> Я скільки не пробував, звагілі ніяк. Хоч few-shot з прикладами, будь шо. Тільки класичний YOLO нормально детектує. Чогось ми не знаємо, або хтось лукавить ))

  • Як створювався RUKOPYS — перший відкритий датасет українського рукописного тексту. Частина 2

    Цікавий підхід.

    У своїй роботі я бачу багато перетинів із вашою: використовую Label Studio для виправлення помилок розмітки, human-in-the-loop валідацію, а також VLM-моделі, але для іншої задачі — коли потрібно за crop’ом і повним текстом сторінки вибрати саме ту частину тексту, яка зображена на crop’і.

    Я все ж вважаю, що більш правильний шлях — детектувати не рядки, а окремі слова.

    Причини:
    1. Дугообразний текст. Якщо детектувати цілий рядок, у bounding box часто потраплятиме частина верхнього або нижнього рядка. Приклади:

    2. Розширення датасету. Якщо врахувати, що рядок складається, наприклад, із 7 слів, то можна програмно формувати crop’и, які складаються з 1—2—3 слів, 3—4—5 слів, 5—6—7 слів або за іншою схемою. У вашому підході потрібно передавати всю строку цілком, бо іншого варіанту немає, але це складніше для навчання OCR. У своїх експериментах я дійшов висновку, що OCR-модель, попередньо навчена на невеликих crop’ах і потім донавчена на повних рядках,
    зазвичай на кілька відсотків точніша, ніж модель, яку одразу навчали лише на довгих рядках.

    3. Якщо якесь слово є нерозбірливим `[illegible]`, можна все одно використати інші слова з цього рядка.

    Але в розмітки на рівні слів також є мінуси:
    1. Не існує моделей на кшталт YOLO, EAST тощо, які давали б 100% точність при розмітці окремих слів. Результати все одно потрібно перевіряти й виправляти.

    До речі, я намагався за допомогою few-shot промпта перевіряти свої bounding boxes, але це не спрацювало ні з GPT-4o, ні з Gemini. Можливо, має сенс ще раз перевірити цей підхід із Qwen3-VL-8B, який згадується у статті.

    2. Складніший код для об’єднання окремих слів у рядки.

  • Як створювався RUKOPYS — перший відкритий датасет українського рукописного тексту. Частина 1

    На мою думку, це складне й важке завдання.

    Причини:

    1. Мова написання. Тут їх за замовчуванням може бути чотири: польська, українська, російська та староруська. Навіть якщо форма анкети після 1918 року українською, заповнювати її могли російською — і навпаки. Іноді анкету заповнювали кількома мовами: ПІБ українською, а інші слова — російською. Усе це до того, що просто добре навчений OCR взагалі не варіант. Після розпізнавання там використовуються словники, але як зрозуміти, яке саме слово ми очікуємо і якою мовою?

    2. Брудні форми. Через давність років матеріал вицвів, іноді рукописного тексту майже не видно. Часто ставлять печатки й штампи, які накладаються на рукописний текст. Є великий розкид у рукописному тексті: перетин друкованого й рукописного. Усе це до того, що потрібно використовувати окремі нейромережі для сегментації, щоб відокремити рукописний текст від друкованого, штампів і просто сміття — артефактів зберігання.

    3. OCR сама по собі частково обмежена й ніколи не зможе дати 100% точності. І тут не допоможе навіть величезний датасет із мільйонами сніпетів для навчання. У мене було 4 мільйони англійською, і я не можу сказати, що досяг видатного результату й обійшов усіх. Це не так.

    Водночас, зі свого досвіду можу сказати, що поєднання OCR і LLM завжди дає хороший результат. Коли ми даємо мультимодальній моделі — GPT, Qwen, Gemini та іншим — не просто картинку, а картинку, варіанти розпізнавання від OCR і few-shot приклади, це завжди виграшний підхід. Це краще, ніж просто OCR, і краще, ніж просто модель. Але знову ж таки, 100% точність недосяжна і в цьому варіанті.

    Підтримав: Olena Sydorenko
  • Як створювався RUKOPYS — перший відкритий датасет українського рукописного тексту. Частина 1

    Дякую. Нажаль я вже не встигну прийняття участь у змаганні, бо тільки сьогодні дізнався про нього. Але дуже цікаво буде порівняти свої результати з конкурсантами.

    Підтримав: Dmytro Voitekh
  • Як створювався RUKOPYS — перший відкритий датасет українського рукописного тексту. Частина 1

    А ще питання, Дмитро. На вашому датасеті який результат метрик (CER, WER, Accuracy) на тесті? Чи це не публічна інформація?

  • Як створювався RUKOPYS — перший відкритий датасет українського рукописного тексту. Частина 1

    Дуже дякую! Обов’язково скачаю, зроблю тести, повідомлю свої поточні результати, якщо цікаво. Щодо моєї розмітки, я не проти поділитися. Напишу в приватні повідомлення.
    Ще раз дякую за цю роботу. Я знаю скільки часу вона займає, бо сам працював з власним датасетом на тисячах зображень.

    Підтримав: Dmytro Voitekh
  • Як створювався RUKOPYS — перший відкритий датасет українського рукописного тексту. Частина 1

    Вибачаюсь, не тому відповів.

  • Як створювався RUKOPYS — перший відкритий датасет українського рукописного тексту. Частина 1

    О як цікаво! Я теж займався українським рукописом, теж маю власний датасет зі шкільними зошитами та бухгалтерськими документами, купу моделей для розмітки, моделі для OCR. А де саме можна подивитися ваш відкритий датасет та спробувати на тестах мій OCR, наприклад?
    До речі, ще почав працювати над відкритим та публічним датасетом (вже частково оцифрованим) з метричними даними народжених у 1920..30 роках. Детектую там потрібні зони, перевіряю співпадіння зони сніппета та вже готову розмітку за допомогою LLM.
    Можу частково передати свою розмітку та датасет, якщо є бажання співпрацювати.
    P.S. Також є датасати з рукописом лікарів, та окремий датасет з цифрами (телефони, дати народження та інше)

  • Затишний світ ІТ проти реалій Defence tech: записки з «фронту» найму

    Різні ситуації бувають: я, наприклад, навпаки, шукаю роботу в miltech, але нікому не потрібен. Хоча майже 10+ років у computer vision, deeep learning і зараз AI.
    Деякі компанії шукають працівників тільки у Києві та Львові. Я з Харкова, наприклад. Віддалено немає посад.
    Деякі пропонують тільки full-time. Навіщо мені втрачати існуючу роботу, коли я невпевнений у перспективах нового роботодавця. Може мій досвід буде не цікавий або ще щось.
    Якось так...