Comments 14
интересно с какой точностью определиться как пикет какая-нибудь случайная бочка\ёмкость или иной округлый предмет с белым\светлым верхом в сумерках?
Насчет неправильной детекции, нужно много собранных данных, чтобы ставить такие эксперименты, а у меня их, к сожалению, нет. По поводу темноты, туман, дождь и прочие плохие условия съемки для камеры, тоже надо тренировать и в таких условиях. Но в целом, зачем запускать БПЛА в плохих условиях, когда его можно запусть в хороших?)
Работаю в аэросъемочной компании. Вы не представляете сколько заказов приходит в октябре. Нужно срочно снять и чтобы с солнцем и без снега. Сами понимаете, что на большей части страны погода в ноябре не предлагает идеальные условия для съемки. Приходится выкручиваться
А ежели столбик не на бетонном круге? Или бетон не белый, или основание снегом занесло?
Например
в ф-ии save_patches избыточное приведение к RGB формату при чтении и обратно при записи делается.
в ф-ии detect_image не хватает приведения к RGB
у меня вопрос по confusion_matrix. А почему там единицы не по диагонали? Почему background напротив piket? Это означает, что piket видится там, где должен быть background?
Согласен, к этой матрице есть вопросы. Возможно, данных всё-таки недостаточно, т.к. на фотографиях есть много объектов очень похожих на пикетные столбики. Разметку я делал сам вручную и у этих столбиков есть особенность - возле них шпалы помечены белой краской, что по идее для модели тоже как-то надо указать, чтобы она лучше понимала, а объекты похожие на пикет вдали от пути, чтобы игнорировала.
Вот что на это говорит ЧатГПТ:
В представленной confusion matrix действительно есть единицы не только на диагонали, но и в ячейке, соответствующей классу piket по строке и background по столбцу. Такое расположение значений может указывать на одну из следующих причин:
Ошибка классификации: Модель может ошибочно распознавать объекты как piket, когда на изображении фактически находится background (фон). Это указывает на ложные срабатывания (false positives) для класса piket.
Неправильное построение матрицы: Возможна ошибка при построении самой матрицы, когда предсказанные и истинные классы перепутаны. Если значения классов были перепутаны в коде визуализации, то это может привести к неверной интерпретации матрицы.
Чтобы исключить вторую причину, стоит проверить код, использованный для построения этой матрицы. Убедитесь, что классы piket и background обозначены корректно и не перепутаны местами.
Очень подробно все расписано, спасибо, будем опираться, когда забудем терминологию.
По поводу yolo:
- yolo v11 "на дворе".
- у yolo есть такой "инструмент" как "sahi" - попробуйте, он как раз и выполняет "кадрирование". А по сути метод скользящего окна по картинке высокого разрешения позволяет применять ранее обученную модель без необходимости нарезки изображения.
- по поводу разметки как самого нудного процесса - попробуйте yolo world. Она позволяет с помощью промтов выделять объекты, предварительно из не размечая вообще.
- скорее всего модель будет плохо работать в разных погодных условиях и при разной освещенности (не говоря уже о тенях, которые отбрасывают столбики). Поэтому нужны будут дублирующие модели, которые будут делать тоже самое, но для разных обстоятельств.
Сколько времени заняло обучение модели? Какой GPU использовали?
Распознавание ж/д пикетных столбиков по фотографиям с беспилотника на основе PyTorch и YOLOv5