Модели

вы модель/фотомодель? вас ищут в этом разделе!
3 229 объявлений найдено за последние 3 дня
Здесь показаны примеры поиска клиентов недельной давности.
Подписывайся, чтобы получать информацию обо всех новых клиентах в режиме реального времени!
YOLO расшифровывается как You Only Look Once. Это широко известная архитектура компьютерного зрения, которая знаменита в том числе своим огромным количеством версий: первая из них вышла в 2016 году и решала только задачу детекции объектов на изображении, а последняя – одиннадцатая – появилась в сентябре этого года и уже представляет из себя целую фундаментальную модель, которую можно использовать для классификации, трекинга объектов на видео, задач pose estimation и тд. Все это – в реальном времени. Да, скорость – это именно то, что выделило YOLO среди других моделей восемь лет назад. До нее в мире CV существовали и другие архитектуры детекции. Например, в 2015 году лучшей считалась Faster R-CNN. Но, несмотря на слово "faster" в названии, эта моделька все еще тормизила на онлайн-тестах из-за своей нагроможденной структуры. Поэтому когда ученые из Вашингтона предложили YOLO, которая рвала конкурентов по времени и при этом показывала хорошие метрики, – это, фактически, перевернуло СV. За следующие 8 лет своего существования YOLO стала своеобразным трансформером во вселенной компьютерного зрения: ее любят и используют повсеместно. Эта статья – полноценная техно-история YOLO. Мы расскажем, что представляет из себя задача детекции, как работала самая первая YOLO и как ее дорабатывали во всех последующих версиях. Дисклеймер: далее в тексте иногда будут встречаться термины из машинного обучения, ссылки на модели, методы или имена. При написании мы старались сделать так, чтобы текст был понятен и интересен как опытным читателям, так и начинающим или просто интересующимся специалистам. Но если вы все-таки захотите о чем-то (или ком-то) узнать подробнее, то советуем заглянуть в наш тг-канал Data Secrets. Мы – команда практикующих ML-инженеров, и канал ведем уже больше двух лет: каждый день выкладываем разборы ML-статей и моделей, новости и полезные материалы по Data Science. Так что он уже превратился в своеобразную энциклопедию, и вы точно сможете найти что-то по вашему вопросу :)А теперь – поехали! Задача детекции – как ее решать? Детекция – это один из подвидов проблемы нахождения объектов на изображении. Почему "подвидов"? Потому что несмотря на то, что найти объект на изображении – задача вроде понятная, если вдуматься, звучит она достаточно размыто. Что значит найти? Просто определить, есть ли определенный объект на фото? Найти все объекты на фото? А найти – это просто перечислить или еще и обозначить прямо на изображении? А как обозначить?.. Оказывается, в зависимости от ответов на эти вопросы и задача формально называется по-разному: Если нужно определить наличие или отсутствие объекта определённого домена на изображении – это классификация (classification)Если нужно выполнить классификацию, и к тому же определить рамку, ограничивающую местоположение экземпляра одиночного объекта на картинке, – это классификация с локализацией (classification and localization)Если нужно для каждого пикселя на картинке определить его принадлежность к определённой категории – это семантическая сегментация (semantic segmentation)Если нужно выполнить сегментацию, но при этом дифференцировать только объекты определенной сущности – это сегментация экземпляров (instance segmentation)Детекцией (object detection) же традиционно называют задачу, в которой необходимо выделить несколько объектов на изображении посредством нахождения координат их ограничивающих рамок и классификации этих ограничивающих рамок из множества заранее известных классов. При этом, в отличие от задачи классификации с локализацией, количество объектов на изображении заранее неизвестно. Рамки, в которые нужно заключать объекты, называются bounding boxes или просто b-boxes. Б-боксы традиционно имеют прямоугольную форму и располагаются так, чтобы стороны прямоугольника были параллельны рамкам изображения. Так же интуитивно понятно, что рамка должна быть "минимальной", то есть захватывать объект полностью так, чтобы при этом иметь минимальную площадь. То, как мы задаем б-бокс – зависит уже от нашей архитектуры, но обычно выбирают один из двух вариантов: координаты центра (x0, y0) + ширина(l) и высота(h), либо координаты верхнего левого пикселя (x1,y1) + координаты нижнего правого (x2,y2).Обратите внимание, что в задаче детекции модель должна уметь решать сразу две проблемы: поиск оптимальных б-боксов и классификация. Тут самый наивный подход, приходящий в голову, – перебрать всевозможные б-боксы и прогнать каждый из них через классификатор на основе сверток. Но всем известно, что почти любой полный перебор – это невозможно долгий и неэффективный процесс. Поэтому в реальных архитектурах его немного докручивают. Например, есть группа методов, называемых двухэтапными, которые на первом шаге отбирают только некоторые б-боксы, с высокой вероятностью содержащие объект, а на втором такие избранные рамки скармливают классификатору. К таким методам относится R-CNN и его потомки Fast R-CNN и Faster R-CNN. YOLO же стала первым представителем другой группы методов – одноэтапных алгоритмов, в которых отдельная модель для отбора регионов вообще не используется. Вместо этого YOLO представляет из себя единую сеть, которая сразу предсказывает координаты некоторого количества б-боксов вместе с их характеристиками, такими, как вероятность класса.YOLOv1Итак, в основе YOLOv1 лежит следующая архитектура: Это немного видоизмененный GoogLeNet: в оригинальной СNN 22 сверточных слоя, но создатели YOLO добавили еще два + полносвязные слои в конце. На вход этой сети подается изображение 448x448 (да, если подать изображение другого размера, то оно просто обрежется и/или отправится на съедение функции resize), которое предварительно было разделено на одинаковые квадратные ячейки размера 64x64 таким образом, что получается как бы таблица 7х7 (нет, 7x7 – не волшебная константа, вы можете использовать и другой размер ячеек, но как это повлияет на сеть – никто особо не исследовал). Ячейки нам нужны для того, чтобы все операции далее происходили как бы на "клеточном" уровне. В этом заключено главное новшество YOLO: ее создатели смогли сформулировать и решать задачу детекции как задачу регрессии. Если вы обратите внимание на последний слой схемы, то заметите, что выходной тензор сети имеет размер 7х7х30. То есть для каждой из 7х7 ячеек нашего изображения модель предсказывает вектор из 30 чисел. Внутри этого вектора и скрывается описание б-боксов и меток классов. Если точнее, то первые 10 значений отвечают за координаты двух б-боксов-кандидатов: координаты центра + ширина + высота + confidence score, то есть уверенность модели в том, что внутри б-бокса находится центр объекта. Оставшиеся 20 значений вектора ответственны за метки классов, то есть оценку вероятности того, что объект определенного класса присутствует в ячейке. Почему 20? Потому что столько было классов в оригинальном датасете.С архитектурой – все. Теперь посмотрим, как она обучается. Надо упомянуть, что перед тем, как обучать модель полностью, исследователи сначала дообучали 4 слоя в конце на размере изображений 448х448 (в отличие от первых 20 классификационных слоев, обученных на 224х224 ImageNet). Но вернемся к основному лоссу YOLO. Он представляет из себя сложную склейку классических лоссов классификации и детекции и выглядит довольно устрашающе: Будем разбираться по частям. С первой частью, которая помечена как regression loss, все довольно просто. Это ошибка в предсказании координат центра (x,y), высоты (h) и ширины (w) б-боксов. Индекс i отвечает за объекты, индекс j – за боксы. Жирная красивая единица здесь – это индикаторная функция, которая позволяет учитывать в выражении только ячейки, в которых есть объекты, и только вклад рассматриваемого б-бокса j (если это все тот же объект i, но бокс другой, выражение обнулится, чтобы дважды не учитывать одну и ту же ошибку). Что касается корней, которые применяются к высоте и ширине б-боксов, то это просто мера масштабирования, необходимая для того, чтобы больше штрафовать маленькие б-боксы за несоответствие реальной разметке. С последней частью – classification loss – все тоже понятно. Это классический квадратичный лосс, в котором мы считаем ошибки на тех самых двадцати метках классов. При этом индикаторная функция здесь снова гарантирует, что будут учтены только те ячейки, в которых действительно есть объект. Ячейки без объектов мы, конечно, тоже учитываем далее, но для лосса важно сохранение баланса, и так как в большинстве ячеек объектов вообще не будет, то клеткам, содержащим что-либо, необходимо отдавать больший вес. Наконец, Confidence loss. Это та часть функции потерь, которая отвечает за оценки "уверенности" модели в том, что внутри б-бокса находится центр объекта (они обозначены желтым на предыдущей схеме). При этом это не просто вероятность. Это предсказанное значение функции IoU, то есть Intersection over Union. Эта одна из определяющих метрик компьютерного зрения, и проще всего ее понять, просто посмотрев на картинку: В терминах б-боксов IoU – это перекрытие между прогнозируемой рамкой и истинным прямоугольником из трейна. Получается, что если модель предсказывает высокое IoU, то она "верит" в то, что перекрытие будет большим, и, иными словами, сильнее уверена в существовании определенного б-бокса. И наоборот, если предсказывает низкое IoU, то уверена, что в ячейке объекта вообще нет. Именно поэтому в этой части лосса учитываются также клетки, в которых нет объектов (красивая единица с индексом noobj): на них мы учим модель давать меньше ложноположительных ответов. Такие ячейки мы взвешиваем с помощью константы λ_noobj, которая обычно примерно в 10 раз меньше λ_coord. Таким образом, наша функция потерь "учит модель" правильно располагать в пространстве б-боксы и считать их размер, верно классифицировать найденные объекты, а также просто точно определять факт наличия объекта в ячейке и тем самым не переобучаться. Итак, с трейном тоже разобрались. Осталось неочевидное: инференс. Предположим, мы обучили модель, и она дает нам на выходе некоторый тензор. Как собрать из него окончательный ответ, который должен содержать отфильтрованные б-боксы с метками классов?Для начала, нужно привязать метки классов к определенным б-боксам. Ведь сейчас в каждом выходном векторе у нас две рамки, а вероятность для каждого класса всег...
11 декабря 19:33
США, Йоло
ВНИМАНИЕ, МОСКВА❗❗❗ На Федеральном Телеканале Дистанционный Кастинг Юридическое телевизионное игровое шоу ‼️ДОБОР ‼️ ‼️СРОЧНО ‼️ 1️⃣2️⃣ декабря Оплата 3500 12 дек в 17.30 муж- 35-37 лет, положительный, – детский тренер по футболу 12 декабря в 15.00 Жен 22 года. Красивая стройная гламур – довольно жесткий человек 12 декабря в 10.30 муж 44 года бизнес. Брат увел жену. Мстит брату 12 дек в 17.00 Муж 45. Вспыльчивый, эмоциональный, темпераментный мужчина. С нестабильной психикой и резкой сменой настроений. 12 дек Муж 40. Жёсткий, вспыльчивый. Возмущён предательством родной матери. Анкеты ждём на Ватсап , Телеграм 8-910-334-77-97 Форма заполнения анкеты 1.ФИО 2.Число, месяц, год рождения. 3.Рост, размер одежды. 4.Контакты (телефон и ПОЧТА ОБЯЗАТЕЛЬНО). 5.ФОТО (портрет и полный рост). 6.ВИДЕОВИЗИТКА- ВИДЕОСЕЛФИ (от 20сек), желательно 7.Опыт сцен., ТВ. или другой. Спец. образования, актёр.курсы, театр.школ., обучение в театр.учереждениях и т.д.(указать, если есть) 8.От кого узнали о кастинге. Пишем Рубан Елена. Актёры, снимавшиеся в судебных проектах могут повторно сниматься только через 12 месяцев.
11 декабря 17:50
Москва
Подписывайся, чтобы получать информацию обо всех новых клиентах в режиме реального времени!