Как стать автором
Обновить

Комментарии 6

С помощью данной библиотеки можно сделать опредение конкретного человека по видеопотоку с ИК камеры?

Добрый день.

Библиотека позволяет использовать модели YOLO на Rust для детекции объектов, включая людей.

Для определения конкретного человека по видеопотоку с ИК-камеры YOLO недостаточно, так как она не выполняет идентификацию личности — только обнаружение объекта класса «человек».

Возможные варианты:

  1. Обучить YOLO с каждым человеком как отдельным классом.
    Работает, если людей немного и есть достаточно ИК-данных на каждого. Но плохо масштабируется.

  2. YOLO + модель распознавания лиц.
    YOLO находит лицо, дальше подключается модель (например, ArcFace или LightCNN), обученная на ИК-данных, для идентификации.

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

Почему вся статья и комментарий выглядит как будто написана гптшкой? Почему этот крейт выглядит как простой враппер над крейтом opencv, при этом здесь указывается, что крейт написан на чистом расте и без танцами с OpenCV, при этом в гитхабе первое требование это скачать OpenCV зависимость. При этом в самом OpenCV указано, что это просто биндинги с библиотеки на C++. В https://docs.rs/yolo_detector/latest/yolo_detector/ нет никакой документации. Больше выглядит либо как не самая лучшая библиотека, которая может быть просто сгенеренна гптшкой, при том что всё лежит в одном файле без каких-либо тестов без глубокой проработки и нормальной доки. Пойдет для обычного пет проекта для гитхаба, но смысла загружать в crates.io особо не было.

А вердикт пусть вынесет 4o:

💬 Вердикт

Проект yolo_detector оставляет крайне спорное впечатление.

  • Заявляется "чистый Rust без танцев с OpenCV", но на GitHub в первом же пункте — требование установить OpenCV, а сам крейт по сути — враппер над C++-биндингами.

  • Документации на docs.rs нет совсем.

  • Структура проекта примитивна: один файл, ни тестов, ни модульности, ни комментариев.

  • Описание и статья выглядят как автогенерация — не хватает технической глубины и честного раскрытия деталей.

  • Для pet-проекта — нормально, но выкладывать такой код на crates.io без должной доработки и описания — преждевременно.

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

Добрый день.

  1. GPT использовался только как удобное структурирование мыслей и более красивое и упорядоченное оформление к статье, сам текст, структура и опыт создания и работы с библиотекой — мой.

  2. Сама библиотека использует только Rust. То, что используют под капотом другие библиотеки к ней, меня не интересует. Я пишу только про саму библиотеку.

  3. В https://docs.rs/yolo_detector/latest/yolo_detector/ нет документации, она есть на основной странице проекта — https://crates.io/crates/yolo_detector — и в файле README.md проекта: https://github.com/Elieren/yolo_detector/blob/main/README.md.

  4. Ну, если, по вашему мнению, ChatGPT настолько хорош, что может писать полноценные 1000+ строк кода, при этом чтобы они работали, и настолько хорошо разбирается с возвращаемыми данными модели YOLO (при том, что данной информации нет на официальном сайте YOLO (Ultralytics), по крайней мере я её не нашёл, — и приходилось самому подбирать, что значат данные для каждой модели и как с ними работать), — то пусть будет так.

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

  6. В репозитории тестов нет, они проводились локально.

  7. Доки, как уже упоминалось, лежат (см. пункт 3).

Если бы библиотека была настолько плохой, как вы говорите (pet-проект), то она бы вряд ли так быстро заняла первые позиции на crates.io по хэштегам #yolo, #object-detection и второе место по #opencv. Так что я считаю, что библиотека не настолько плоха, раз она так быстро взлетела в crates.io и обогнала другие библиотеки для работы с моделями yolo.

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

  2. Да, я понимаю, что сама библиотека написана на расте, но писать "полностью" жирным цветом и говорить как избавление от C++ зависимостей (которые все равно так же под капотом) как фичу я бы не стал, т.к. они всё ещё под капотом и могут попортить жизнь для кросс-компиляции.

  3. Могу посоветовать использовать хотя бы #![doc(include = "README.md")], чтобы там тоже была документация с гитхаба.

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

  5. См пункт 4, но в общем случае писать один такой файл можно, с этим я согласен, если его конечно нельзя поделить на полноценные логические модули

  6. Когда есть возможность написать тесты это всегда плюс для вашей библиотеки ;)

  7. См пункт 3

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

(по крайней мере это не leftpad по смыслу и размеру :) )

P.s. Популярность сложно измерять количеством скачиваний на crates.io, так как у небольших крейтов обычно большое количество загрузок занимает загрузки на альтернативные регистры.

Ну библиотека на 1.5к строчек в 1 файле это сильно

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации