Комментарии 6
С помощью данной библиотеки можно сделать опредение конкретного человека по видеопотоку с ИК камеры?
Добрый день.
Библиотека позволяет использовать модели YOLO на Rust для детекции объектов, включая людей.
Для определения конкретного человека по видеопотоку с ИК-камеры YOLO недостаточно, так как она не выполняет идентификацию личности — только обнаружение объекта класса «человек».
Возможные варианты:
Обучить YOLO с каждым человеком как отдельным классом.
Работает, если людей немного и есть достаточно ИК-данных на каждого. Но плохо масштабируется.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
без должной доработки и описания — преждевременно.
Пока это выглядит как черновик или эксперимент, а не как библиотека, пригодная для использования. Хотелось бы увидеть честное позиционирование и улучшения в структуре, документации и тестировании.
Добрый день.
GPT использовался только как удобное структурирование мыслей и более красивое и упорядоченное оформление к статье, сам текст, структура и опыт создания и работы с библиотекой — мой.
Сама библиотека использует только Rust. То, что используют под капотом другие библиотеки к ней, меня не интересует. Я пишу только про саму библиотеку.
В 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.
Ну, если, по вашему мнению, ChatGPT настолько хорош, что может писать полноценные 1000+ строк кода, при этом чтобы они работали, и настолько хорошо разбирается с возвращаемыми данными модели YOLO (при том, что данной информации нет на официальном сайте YOLO (Ultralytics), по крайней мере я её не нашёл, — и приходилось самому подбирать, что значат данные для каждой модели и как с ними работать), — то пусть будет так.
Не вижу смысла разбивать не самый большой код на 100 подфайлов, когда у проекта довольно удобная структура.
В репозитории тестов нет, они проводились локально.
Доки, как уже упоминалось, лежат (см. пункт 3).
Если бы библиотека была настолько плохой, как вы говорите (pet-проект), то она бы вряд ли так быстро заняла первые позиции на crates.io по хэштегам #yolo, #object-detection и второе место по #opencv. Так что я считаю, что библиотека не настолько плоха, раз она так быстро взлетела в crates.io и обогнала другие библиотеки для работы с моделями yolo.
Может быть мой мозг уже глючит, поэтому очень хорошо видет паттерны чатгптшки, которое часто ассоциируется с красными флагами о качестве самой статьи, поэтому меня в этом случае заставило насторожиться.
Да, я понимаю, что сама библиотека написана на расте, но писать "полностью" жирным цветом и говорить как избавление от C++ зависимостей (которые все равно так же под капотом) как фичу я бы не стал, т.к. они всё ещё под капотом и могут попортить жизнь для кросс-компиляции.
Могу посоветовать использовать хотя бы #![doc(include = "README.md")], чтобы там тоже была документация с гитхаба.
К моему большому сожалению, я пока не разбираюсь в этой теме настолько, чтобы судить о вашем коде, поэтому мои притензии насчёт качества вашего кода могут быть необоснованны, так что прошу меня извинить в этом случае.
См пункт 4, но в общем случае писать один такой файл можно, с этим я согласен, если его конечно нельзя поделить на полноценные логические модули
Когда есть возможность написать тесты это всегда плюс для вашей библиотеки ;)
См пункт 3
Я не хочу осуждать или как-то вас оскорблять, это всегда хорошо, когда кто-то пытается что-то сделать и поделиться этим. Возможно мой первый комментарий прозвучал грубовато, но я просто посмотрел на код глазами обычного обывателя и хотел поделиться тем, что мне сразу не понравилось как обычному пользователю библиотек. Считаю хоть ваш проект и мал, но всё-таки имеет шанс на жизнь и дальнейшее улучшение :)
(по крайней мере это не leftpad по смыслу и размеру :) )
P.s. Популярность сложно измерять количеством скачиваний на crates.io, так как у небольших крейтов обычно большое количество загрузок занимает загрузки на альтернативные регистры.
Ну библиотека на 1.5к строчек в 1 файле это сильно
YOLO на Rust: производительность, удобство и открытость