Во-первых, спасибо за активный интерес к модели, очень рад ответить на возникшие вопросы! Думаю, во многом я ответил на них в комментарии к предыдущему вопросу. Могу добавить, что для особо нетривиальных кейсов(рисунок марсохода, безусловно, к таковым отнести можно) для более точного распознавания я бы рекомендовал обучать традиционные варианты детекторов с фиксированными классами, особенно если число таких классов невелико. При обучении OVD детекторов находить паттерны текст-картинка, хоть и использовались десятки тысяч различных пар, но все же они были основаны на классах общедоступных датасетов(ImageNet, LVIS и другие). Такие датасеты содержат некие базовые классы, поэтому "сложные" сопоставления(без дообучения) детекторы вряд ли будут находить.
Для данного кейса, я также убрал все лишнее и теперь вместо класса clock он стал находить корректный класс wheel:
В конце пайплайна модель пытается сопоставить эмбеддинги отдельных боксов на изображении c эмбеддингами текстов из офлайн словаря. По факту, для того чтобы с высокой вероятностью правильно классифицировать объект, она должна сформировать эти векторы так, чтобы они относительно точно определяли друг друга. Но этого эффекта можно достичь, если модель в ходе обучения видела хотя бы примерно похожие сопоставления. Например, для класса "колесо" ей нужно видеть не только колеса классических авто, но и какие-то конструкции, хотя бы отдаленно напоминающие колеса марсохода.
Таким образом, однозначно заявлять о работе модели с совсем неизвестными классами нельзя. В ходе обучения, она, как минимум, должна усвоить основные паттерны сопоставления. Но уникальность таких OVD моделей как раз в том, что они способны формировать эти паттерны, в то время как традиционные детекторы работают со строго фиксированной выборкой классов.
Касательно данного примера, то если вы точно знаете наименования классов, которые хотите искать, то имеет смысл оставить только их, формируя тем самым "максимально" подходящий офлайн словарь.
Неплохая статья, но обнаружил неточность в описании пункта 4(__getitem__ ). Все-таки к элементам по индексу в словаре мы не можем обращаться, только по ключу.
Information
Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Во-первых, спасибо за активный интерес к модели, очень рад ответить на возникшие вопросы!
Думаю, во многом я ответил на них в комментарии к предыдущему вопросу. Могу добавить, что для особо нетривиальных кейсов(рисунок марсохода, безусловно, к таковым отнести можно) для более точного распознавания я бы рекомендовал обучать традиционные варианты детекторов с фиксированными классами, особенно если число таких классов невелико.
При обучении OVD детекторов находить паттерны текст-картинка, хоть и использовались десятки тысяч различных пар, но все же они были основаны на классах общедоступных датасетов(ImageNet, LVIS и другие). Такие датасеты содержат некие базовые классы, поэтому "сложные" сопоставления(без дообучения) детекторы вряд ли будут находить.
Для данного кейса, я также убрал все лишнее и теперь вместо класса clock он стал находить корректный класс wheel:
В конце пайплайна модель пытается сопоставить эмбеддинги отдельных боксов на изображении c эмбеддингами текстов из офлайн словаря. По факту, для того чтобы с высокой вероятностью правильно классифицировать объект, она должна сформировать эти векторы так, чтобы они относительно точно определяли друг друга. Но этого эффекта можно достичь, если модель в ходе обучения видела хотя бы примерно похожие сопоставления.
Например, для класса "колесо" ей нужно видеть не только колеса классических авто, но и какие-то конструкции, хотя бы отдаленно напоминающие колеса марсохода.
Таким образом, однозначно заявлять о работе модели с совсем неизвестными классами нельзя. В ходе обучения, она, как минимум, должна усвоить основные паттерны сопоставления. Но уникальность таких OVD моделей как раз в том, что они способны формировать эти паттерны, в то время как традиционные детекторы работают со строго фиксированной выборкой классов.
Касательно данного примера, то если вы точно знаете наименования классов, которые хотите искать, то имеет смысл оставить только их, формируя тем самым "максимально" подходящий офлайн словарь.
Неплохая статья, но обнаружил неточность в описании пункта 4(__getitem__ ).
Все-таки к элементам по индексу в словаре мы не можем обращаться, только по ключу.