LINUX.ORG.RU

office hell — программа для разметки данных на изображениях

 , , ,


0

1

Приветсвую, так получилось, что код программы office hell, который разрабытывался мной большую часть в свободное время в итоге теперь принадлежит мне. Кратко, это программа для разметки, которая поддерживает только ббоксы, и заточена на разметку изображений содержащих технологические схемы и пока работает только с yolo. Тесты, которые я проводил они чисто на моих данных и проведены мной, моя программа позволяет ускорять разметку моих изображений в 4 раза по сравнению с тем же labelme. Проверка и правка предварительной разметки, сделанной моделью обученной на малом датасете, ускоряется на моих данных в 10 раз. Я вот думаю, похоронить этот проект или все таки выложить в опенсорс под mit? Задача, под которую он создавался довольно специфичная в компьютерном зрении с применением ИНС.

ЗЫ: т.к. руководство изначально планировало клиент-серверную архитектуру, то так и было сделано, фронтент на чистом js, html, css, бэкент на питоне fastapi, никаких бд, в качестве бд файловая система. можно сделать минимальный проект который будет только один html файл, можно дальше развивать в плане командной работы для разметки, если кому это будет интересно. еще раз, на кошечках-собачках ускорение разметки будет максимум в два раза быстрее тоже – это так я предполагаю, но не уверен.



Последнее исправление: cluge (всего исправлений: 1)

ничего не понятно, но ты просишь незнакомую публику решить за тебя.

либо ты презентуешь нормально, либо сам решаешь, выложить или похоронить

/thread

aol ★★★★★
()
Ответ на: комментарий от aol

ок. я спрашиваю конкретно. программа для разметки изображений заточенная под ббоксы, чертежи и схемы, которая ускоряет работу разметчика именно для таких данных кому-нибудь будет нужна, кроме меня?

cluge
() автор топика
Ответ на: комментарий от sin_a

я сам придумал это название: hell – high effective labeling lab. да, hell – это шутка.

cluge
() автор топика
Ответ на: комментарий от cluge

Если задача редкая, то тот кому это интересно может найтись через год или два.

Если у вас выкладывание ресурсов не отъедает, по-моему всегда лучше выложить.

unDEFER ★★★★★
()
Ответ на: комментарий от cluge

программа для разметки изображений заточенная под ббоксы

Папа, ты с кем сейчас разговаривал?

Ну ладно, я поискал ббоксы, гугль нашёл https://habr.com/ru/articles/789942/ , ббоксы это что-то про нейросети?

sin_a ★★★★★
()
Ответ на: комментарий от aol

ты прав, надо нормальную презентацию типа видео с экрана, где на моих данных программа реально позволяет проводить разметку и валидацию быстрее, чем аналоги типа labelme.

прошу прощения, что задал вопрос раньше, чем сделал презентацию.

cluge
() автор топика
Ответ на: комментарий от sin_a

а ты в каком разделе форума отвечаешь? «искусственный интеллект», который подразумевает нейронные сети. если ты не в курсе темы, то зачем ты вообще сюда полез? я реально задал вопрос не ради смехуечков, а ты если не в теме, то не надо отвечать вообще.

cluge
() автор топика
Последнее исправление: cluge (всего исправлений: 2)
Ответ на: комментарий от cluge

уже лучше )

идеально вот так: «чюваки, вот преза, вот код. надеюсь, теперь всё понятно. если кому-то пригодится - буду рад»

но и будь готов, что (особенно на лоре) абсиратели найдутся, которые не знают не только про разметку данных, но и про конкретные bounding box-ы. Однако, мнение своё про код будут иметь обязательно :)

aol ★★★★★
()
Ответ на: комментарий от aol

я уже готов к хейту :-))) «жабаскрипт не нужен», «тормозит» и прочее. но дело в том, что тупо написанное на js не тормозит на моем древнем компе, по сравнению с другими инструментами разметки на веб-стеке. приложение изначално планировалось для командной работы, поэтому веб.

Однако, мнение своё про код будут иметь обязательно :)

это ясно, я за три месяца самостоятельно не смог бы освоить cv, html, css, js, естественно большая часть кода написана с помощью ии-ассистентов, и он плохой, но работает, и работает быстрее, чем существующие решения.

cluge
() автор топика
Последнее исправление: cluge (всего исправлений: 2)
Ответ на: комментарий от cluge

А, ну да, не обратил внимания, зашёл потому что название очень понравилось.

sin_a ★★★★★
()

Выложить, но под GNU GPL v3 или LGPL, если не позволяют условия лицензирования задействованных компонент.

https://lukesmith.xyz/articles/why-i-use-the-gpl-and-not-cuck-licenses/

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 3)

Я так понял штуковина сильно нишевая, но все равно выкладывай, с видеодемонстрацией, хоронить свои поделки как-то печально.

goingUp ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

почему для любого продукта нужны вирусные GPL? я полагаю, что в данном случае весьма ограниченный продукт под лицензией mit будет востребован еще парой землекопов кроме меня.

cluge
() автор топика
Ответ на: комментарий от cluge

По ссылке аргументация, почему GPL лучше MIT.

Если вкратце – под GPL есть шанс, что проект будет развиваться общими усилиями сперва сообщества, потом компаний.

Под MIT есть риск того, что код закроют, на его основе создадут более успешный проприетарный продукт, а оригинальный проект станет никому не нужен.

То есть ты даром напишешь проприетарное ПО для какой-то корпорации, что будет на нем зарабатывать, а тебе и спасибо не скажут.

В случае с GPL ты тоже без денег, зато твой продукт доступен даром всем и развивается дальше.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

на его основе создадут более успешный проприетарный продукт, а оригинальный проект станет никому не нужен.

я не очень хороший программист, но мой ui действительно ускоряет разметку и валидацию, даже если это мне не принесет никакого бабла и известновсти, то может поможет каким-нибудь разметчикам, которые сейчас мучаются в том же labelme, вместо того чтобы двойным кликом прилепить ббкокс к объекту.

cluge
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

тут диллема, продукт который нужен всем типа ядра линукс – GPL, нишевый продукт который никому кроме инженеров ml и разметчиков, да и то в определенной области никому больше не нужен, вероятность того что его подхватят немного выше.

cluge
() автор топика
Ответ на: комментарий от cluge

Я ж не отговораиваю тебя от СПО, напротив. Я за то, чтобы твой проект всегда им был, а не стал закрытым и затух.

К слову, я полагаю, что одна из главных причин того, почему Linux обогнал FreeBSD в развитии – это GNU GPL.

Ведь изначально FreeBSD был более развитым. Но многие компании, что делали продукты на основе его, просто закрывали код, не возвращая наработки.

А с Linux – все, что делали на его основе, развивало материнский проект. Именно за счет вирусной GPL, что требовала того, чтобы наработки оставались доступными.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от cluge

Для людей, что захотят развивать твой продукт как СПО, GPL не помеха. Он мешает лишь тем, кто захочет его закрыть.

Vsevolod-linuxoid ★★★★★
()

под mit

лучше под GPL3 или выше

тогда коммерческие фирмы будут обращаться к тебе как к автору и платить миллионы, чтобы получить копию перелицензированную под что-то другое

Bad_ptr ★★★★★
()
Последнее исправление: Bad_ptr (всего исправлений: 1)
Ответ на: комментарий от cluge

такие вещи интересны, как вьювер САПР, либо как ГИС + меркатор. По идее, у тебя должен быть стек (я сильно сомневаюсь, что с нуля что-то написали самостоятельно.)

anonymous
()
Ответ на: комментарий от anonymous

ты прав, 95% это код сгенерированный ии-ассистентами, может быть это и плохо, но код работает, каждая строка сгенерированная ии-ассистентами была проверена. 25 лет писал говеный код, ии-ассистенты ничего не добавили, но стало гораздо быстрее. никакого стека нет, современные js, html, css сами по себе позволяют делать все без жирных фреймворков. за три месяца был создано работающее приложение, да в нем пока куча багов и глюков, но от labelme отказался и пока работал, работал в office hell, как только он стал работоспособен, и на моих данных было реальное ускорение разметки. labelme – mario, office hell – quake на моих данных.

=== 2026-04-30 === 14:36:47 [8927c56e21] CURRENT обновлен TODO (user: cluge tags: trunk)

=== 2026-04-25 === 08:15:39 [7be041b4b2] добавлен TODO (user: cluge tags: trunk)

07:46:57 [7fbaa3c25d] в левую панель добавлены кнопки переключения изображений, добавлена навигация и управление блоком клавиш между основной клавиатурой и нумпадом (user: cluge tags: trunk)

=== 2026-04-21 === 05:02:36 [fbe5b9e426] Edit [c44d8a4a98a45ddd|c44d8a4a98]: Edit check-in comment. (user: cluge)

04:58:41 [c44d8a4a98] реализован режим добавления объектов по двум точкам (user: cluge tags: trunk)

02:04:42 [edc7e5bc47] добавлен единый обработчик клавиатуры вместо множества (user: cluge tags: trunk)

=== 2026-04-17 ===

07:19:48 [555dfddbe0] окончательный переход на spa (user: cluge tags: trunk)

=== 2026-04-15 ===

18:56:04 [13d83f789c] промежуточноый этап перехода на spa (одна html страница в которой весь интерфейс) архитекуру веб-приложения (user: alexey tags: trunk)

03:27:45 [62c2ad8cb3] все изменения и в домашней и рабочей версии полностью синхронизированы, работа приложения восстановлена (user: cluge tags: trunk)

02:29:27 [ce4a8cd89a] MERGE неудачное слияние домашней и рабочей ветки (user: cluge tags: trunk)

00:34:06 [6e6e6e69fa] структура файлов приведена в в соответствие с основной веткой (user: cluge tags: home-work-changes)

00:22:44 [111bcc85e7] весь объем домашних доработок по проекту (user: cluge tags: home-work-changes)

00:11:58 [39df178c04] Create new branch named «home-work-changes» (user: cluge tags: home-work-changes)

=== 2026-04-14 ===

19:07:30 [778312d9dd] добавлены файлы, которые были забыты в прошлом коммите (user: alexey tags: trunk)

=== 2026-04-10 ===

20:22:36 [1c93194d94] BRANCH сохранение состояния сессии при перезагрузке страницы, функционал для будущей опции «переход к проектам или остаться в редакторе» (user: alexey tags: trunk)

14:04:44 [7432aff817] устранение бага сессионной работы при создании нового проекта; реорганизация структуры проекта: выделение интерфейса и логики в отдельные файлы (user: alexey tags: trunk)

10:00:41 [97a05933ad] неудачная попытка исправить баг сессионой работы при создании нового проекта (user: cluge tags: trunk)

=== 2026-04-09 ===

20:07:10 [3432a96f39] внедрена защита от блокировки проектов при разрыве сетевых соединений и падении браузера (user: alexey tags: trunk)

17:28:19 [87b6b6fa02] закрытие сессии при закрытии вкладки или браузера, автообновление списка проектов при закрытии или изменении сессий (user: alexey tags: trunk)

15:21:01 [7d369292a9] багфиксы: сохранение выделения при прилипании ббокса по даблклику; устранен конфликт хоткеев Ctrl+Z и Z (user: alexey tags: trunk)

12:43:26 [0d313a13b3] багфикс: устранение дублей запросов на сохранения и undo/redo для прилипания по даблклику (user: cluge tags: trunk)

04:29:59 [e96338f6ce] внедрена поддержка сессий: изоляция вкладок и окон через session_id, блокировка открытых проектов в списке (user: cluge tags: trunk)

=== 2026-04-08 ===

20:13:40 [019585c061] добавлены функции копирования и изменения проекта на странице проектов (user: alexey tags: trunk)

18:42:54 [81169b9eee] реализована функция удаления проектов с опциональным созданием архива проекта (7zip). (user: alexey tags: trunk)

13:46:27 [2e11911ff2] добавлена мета-информация для проектов (.project.json), переработан диалог создания проекта, изменена логика получения списка проектов. (user: alexey tags: trunk)

10:03:52 [0c2f248bc7] Edit [aa77abfcc8cb7505|aa77abfcc8]: Edit check-in comment. (user: cluge)

08:38:20 [aa77abfcc8] добавлена страница проектов, в редактор добавлена кнопка меню, в меню — переход к проектам, в диалог создания — загрузка файлов разметки. (user: cluge tags: trunk)

=== 2026-03-19 ===

14:36:16 [22ad41dd6b] Edit [4569bfb65a7378c5|4569bfb65a]: Edit check-in comment. (user: cluge)

=== 2026-03-16 ===

00:04:51 [c15ee12d6b] фикс скролла таблицы объектов к первой строке таблицы при переключении изображения (user: cluge tags: trunk)

=== 2026-03-10 ===

02:25:25 [85576f425b] добалена пара хоткееу, исправлена ошибка вставки объекта цифрами (user: cluge tags: trunk)

=== 2026-03-06 ===

18:53:30 [11c33b5164] bbox при выделении всплывают поверх всех остальных (при наложении объектов позволяет редактировать выбранный) (user: cluge tags: trunk)

=== 2026-03-05 ===

09:04:55 [4569bfb65a] Numpad-сетка 3x3, навигация W, быстрый выбор классов 1-10 и серийное добавление объектов. (WASD в планах) (user: cluge tags: trunk)

=== 2026-03-04 ===

23:58:12 [2446fea2c4] тест добавления объекта по цифре, расширение рабочей области, вертикальная уменьшенная панель с кнопками зума и д.т. (user: cluge tags: trunk)

=== 2026-03-03 ===

18:49:49 [a35ee9ae64] исправление некоторых ошибок в интерфейсе, умное прилипание bbox к границе объекта, авто-рескейл разметки (user: cluge tags: trunk)

=== 2026-03-02 ===

17:29:26 [083d9eec40] оптимизация рендеринга изображения, исправление захвата углов и сторон, добалены курсоры для изменения и перетаскивания (user: cluge tags: trunk)

=== 2026-03-01 ===

17:02:04 [1960a89699] исправлена ошибка сохранения разметки в файлы json (labelme) и txt (yolo) (user: cluge tags: trunk)

16:50:23 [5d5b381ce5] финализация интерфейса: динамический список изображений, pixelated-рендеринг и сквозная навигация (user: cluge tags: trunk)

=== 2026-02-27 ===

18:47:08 [0f4ed138d5] интеграция с YOLO: загрузка классов из YAML, сохранение в JSON/TXT, динамический список PNG (user: cluge tags: trunk)

=== 2026-02-26 ===

19:52:17 [f60aae18a3] добавлена логика для работы с таблицей объектов, логика добавления объектов, заглушки для сохранения работы (user: cluge tags: trunk)

18:22:52 [347f7e0154] исправлено undo/redo при перемещении объекта, добавлена таблица объектов, проект разделен на файлы (user: cluge tags: trunk)

=== 2026-02-25 ===

20:26:34 [1c25d1808b] исправлен баг с двойным кликом, для диалога использован современный html тег dialog (user: cluge tags: trunk)

03:10:06 [f6492beaf0] приближение и масштабирование объекта по кнопке (даблклик по объекту глючит, его убрал) (user: cluge tags: trunk)

=== 2026-02-24 ===

10:02:08 [9a0ccf7357] приближение и центрирование объекта по даблклику (появился баг изменением размера) (user: cluge tags: trunk)

=== 2026-02-23 ===

15:34:15 [8a33f71faa] реализован функционал Undo/Redo (кнопки и стандартные сочетания клавишь) (user: cluge tags: trunk)

13:59:29 [e268f97635] добавлено поле для редактирования имени при изменении типа объекта (user: cluge tags: trunk)

13:14:40 [1e8abe6919] добавлено поле ввода имени объекта при добавлении (user: cluge tags: trunk)

07:10:56 [5cbd3b9606] исправлены функции редактирования, улучшено масштабирование (user: cluge tags: trunk)

07:09:33 [06e50e8bcc] убрано предупреждение из лога об остутсвии com.chrome.devtools.json (user: cluge tags: trunk)

=== 2026-02-22 ===

19:31:36 [76e754b247] svg масштабирование без пересчета координа вручную (user: cluge tags: trunk)

12:11:00 [30bb75f3e4] замена оверлея с div в рабочей области на svg слой (user: cluge tags: trunk)

02:27:34 [d33b1dd749] ничего не меняющая фигня (user: cluge tags: trunk)

=== 2026-02-21 ===

20:54:31 [d799d787e0] initial (user: cluge tags: trunk)

20:35:36 [e92b2c799d] initial empty check-in (user: cluge tags: trunk)

+++ end of timeline (53) +++

cluge
() автор топика
Последнее исправление: cluge (всего исправлений: 4)
Ответ на: комментарий от cluge

Например, https://docs.djangoproject.com/en/5.0/ref/contrib/gis/tutorial/ + opencv «скрещивай».

Если кто-то захочет, то ок.

Объясню «от противного» корпус ИИ включает и человеческие ошибки, что эквивалентно: все что навайбкожено, было подсмотрено в открытых источниках.

anonymous
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария