Определить, что на фото (классификация)

Совет. Если вы столкнётесь со сложностями, вы можете обратиться в Лабораторию Яндекс.Толоки — мы сделаем ваше задание «под ключ». Также вы можете обратиться за помощью к нашим партнерам, подробнее в разделе Получить помощь.
  1. Создайте проект
  2. Добавьте пул заданий
  3. Загрузите задания
  4. Настройте контроль качества
  5. Добавьте обучение
  6. Запустите пул и получите результаты

Проекты с типом классификация предназначены для заданий с конечным количеством вариантов ответа. Например, модерация контента или распределение изображений по заданным категориям.

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

Предположим, у вас есть много фотографий с изображением котов и вы хотите распределить их по группам в соответствии с настроением кота. Для этого создадим задание: исполнитель видит картинку и он должен выбрать один из трех вариантов ответа. Также может отметить, понравилось ли ему изображение.
Совет.

Сначала запустите проект в Песочнице. Так вы сможете избежать ошибок и потраченных средств, если окажется, что ваше задание не работает.

Пример готового задания

Чтобы запустить задания и получить ответы:

Создайте проект

Проект определяет, как будет выглядеть задание у исполнителя.

  1. Выберите шаблон:

    1. Нажмите кнопку + Создать проект.

    2. Выберите шаблон Классификация изображений.
  2. Заполните общую информацию:

    1. Дайте проекту понятное название и краткое описание. Их увидят исполнители в списке доступных заданий.

    2. По желанию добавьте Приватный комментарий.
    3. Нажмите кнопку Сохранить.
  3. Отредактируйте интерфейс задания:

    Примечание. В этом туториале показано, как создать интерфейс задания в редакторе HTML/JS/CSS. Вы также можете попробовать создать интерфейс задания в Конструкторе шаблонов.
    1. Определите, какие объекты будете передавать исполнителю и получать от него в ответ. Для этого необходимо создать поля входных и выходных данных в блоке Спецификация данных.

      Что такое входные и выходные данные?

      Входные данные — типы объектов, которые будут подаваться исполнителю для выполнения задания. Например, текст, картинка, географические координаты.

      Выходные данные — типы объектов, которые будут получены после выполнения задания. Например, один из нескольких вариантов ответа, введенный текст или загруженный файл.

      Подробнее о полях входных и выходных данных.

      В данном случае:

      • Поле входных данных — ссылка image для загрузки картинки.
      • Поля выходных данных:
        • логическая переменная like, в которую будет записан результат флажка (checkbox);
        • строка result, в которую будет записан выбранный вариант ответа.

      Создайте интерфейс задания в блоке HTML. Он описывает, как будут расположены элементы задания.

      В HTML-интерфейсе можно использовать стандартные теги HTML и специальные выражения в двойных фигурных скобках для полей входных и выходных данных.

      {{img src=image width="100%" height="400px"}}
      
      {{field type="radio" name="result" value="OK" label="Хорошее" hotkey="1"}}
      {{field type="radio" name="result" value="BAD" label="Плохое" hotkey="2"}}
      {{field type="radio" name="result" value="404" label="Ошибка загрузки" hotkey="3"}}
      <br>
      {{field type="checkbox" name="like" label="Понравилось фото" hotkey="q"}}

      Эта запись означает, что задание будет выглядеть так:

      • картинка по ссылке image;
      • три кнопки переключателя, выбранное значение будет записано в поле result;
      • флажок, значение которого — true или false — будет записано в поле like.

      Блоки CSS и JavaScript оставьте без изменений.

    2. Нажмите кнопку , чтобы увидеть получившееся задание.

      Примечание. В предварительном просмотре проекта отображается одно задание со стандартными данными. Количество заданий на странице вы сможете настроить далее.
    3. Нажмите кнопку Сохранить.
  4. Напишите инструкцию для исполнителей:

    1. Напишите краткую и ясную инструкцию (см. советы). Опишите в ней, что надо сделать, и приведите примеры.

      Вы можете подготовить инструкцию в формате HTML и вставить её в редактор. Чтобы переключиться в режим HTML, нажмите <>.

    2. Нажмите кнопку Завершить.

Добавьте пул заданий

Пул — это набор оплачиваемых заданий, которые одновременно выдаются исполнителям.

  1. Откройте проект и нажмите Добавить пул.
  2. Дайте пулу любое удобное название и описание. Они доступны только вам, исполнитель будет видеть только название и описание проекта.
  3. Установите цену за страницу заданий, например $0.02.
    Что такое страница заданий?

    На одной странице может отображаться одно или несколько заданий. Если задания простые, то можно добавлять 10–20 заданий на одну страницу. Не рекомендуем создавать длинные страницы, поскольку это снизит скорость загрузки данных у исполнителя.

    Исполнитель получит оплату, только если выполнил все задания на странице.

    Количество заданий на странице вы определите при загрузке заданий.

    Как определить справедливую цену?

    Общее правило формирования цены — чем больше времени исполнитель тратит на выполнение, тем выше цена.

    Вы можете зарегистрироваться в Яндекс.Толоке как исполнитель и узнать, сколько платят другие заказчики за задания, а также посмотреть примеры стоимости различных типов задач.

  4. Укажите Время на выполнение страницы заданий. Его должно быть достаточно, в том числе для чтения инструкции и загрузки задания. Например, 600 секунд.
  5. Установите Перекрытие — количество исполнителей, которые должны выполнить задание. Для заданий классификации достаточно перекрытия — 3.
  6. Добавьте Фильтры для отбора исполнителей. Чтобы ваше задание было доступно только исполнителям, владеющим русским языком, установите язык и страну по номеру телефона.
  7. Сохраните пул.

Загрузите задания

Подготовьте собственный файл с заданиями. Ознакомьтесь с примером в демонстрационном TSV-файле. Его можно найти на странице пула. В верхней части страницы слева есть ссылки на TSV-файл с обычными, контрольными и обучающими заданиями.

  1. Нажмите кнопку Загрузить. В открывшемся окне также можно скачать пример TSV-файла по ссылке Пример загрузочного файла.

    Что такое TSV?
    TSV-файл — это представление электронной таблицы в виде текстового файла, в котором столбцы разделены знаком табуляции.
    Вы можете работать с ним как в редакторе электронных таблиц, так и в текстовом редакторе, а затем сохранить в нужный формат. Подробнее о работе с TSV-файлом. Существует формат CSV, схожий с TSV, но при загрузке необходимо использовать TSV-файл.
    Примечание. Перед загрузкой файла убедитесь, что он сохранен в кодировке UTF-8.
  2. Добавьте в него входные данные. Заголовок столбца с входными данными содержит слово INPUT. Остальные столбцы оставьте пустыми.
  3. Загрузите задания, выбрав Умное смешивание и указав количество заданий на странице. Например: 9 основных и 1 контрольное.
    Что такое умное смешивание?
    Умное смешивание случайным образом формирует страницы с заданиями так, чтобы задания не повторялись для каждого исполнителя.
  4. Добавьте контрольные задания. Для этого нажмите Разметить и укажите правильные ответы у нескольких заданий.
    Примечание.

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

    Что такое контрольные задания?

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

    Контрольных заданий должно быть не менее 1% от общего числа заданий, то есть на 1000 заданий нужно добавить минимум 10 контрольных.

    Подробнее о контрольных заданиях.

Настройте контроль качества

Блоки контроля качества позволяют отсеивать невнимательных исполнителей. Контроль качества можно настраивать как в проекте, так и в пуле.

Внимание.

Настройки контроля качества в проекте будут действовать во всех пулах проекта, и изменить их настройку в одном из пулов будет невозможно.

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

    Перейдите к редактированию пула (кнопка Редактировать в верхнем правом углу страницы) и нажмите Добавить блок контроля качества.

    Вы можете скопировать настройки контроля качества из другого пула. Для этого в разделе Исполнители нажмите кнопку Скопировать настройки из....

  1. Добавьте блок Контрольные задания и укажите следующие значения:

    Это означает, что если исполнитель даст больше 40% неправильных ответов на контрольные вопросы, то он будет заблокирован и не сможет больше выполнять задания этого проекта в течение пяти дней.

  2. Добавьте блок Быстрые ответы.

    Значение параметра Минимальное время на страницу зависит от количества заданий на этой странице. Чтобы определить настроение кота, достаточно 2-4 секунды. Значит, на страницу с 10-ю заданиями может хватить 20-30 секунд.

    Один раз можно ошибиться неумышленно, а вот после 2-3 закономерных раз можно и заблокировать исполнителя на какое-то время.

    Укажите следующие значения:

    Это означает, что если исполнитель выполнит 2 страницы заданий быстрее чем за 20 секунд, он будет заблокирован и не сможет больше выполнять ваши задания 10 дней.

Добавьте обучение

Создайте обучающий пул:

  1. Откройте страницу проекта.

  2. Перейдите на вкладку Обучения

  3. Нажмите кнопку Добавить обучение.

  4. Заполните поля с настройками обучения.

    С помощью поля Повторное прохождение вы можете настроить переобучение.
  5. Выберите тип пула.
  6. Нажмите кнопку Создать обучение.
После создания обучающего пула:
  1. Скачайте шаблон задания (TSV) или отредактируйте тот, в котором загружали задания для основного пула.
    Примечание. TSV-файлы для всех пулов одного проекта имеют одинаковую структуру.
  2. Добавьте в TSV-файл ссылки на картинки для обучающих заданий.
  3. Загрузите файл, указав количество заданий на странице. Например, 10. Это число не должно превышать количество заданий на странице в основном пуле.
  4. Нажмите Загрузить и укажите количество обучающих заданий на странице.
  5. Нажмите Добавить.
  6. Нажмите кнопку Разметить, а затем кнопку Создать обучающие. Далее добавьте правильный ответ и подсказку для всех загруженных заданий.
  7. После успешной загрузки откройте Предпросмотр и проверьте, что задания отображаются корректно.
  8. Откройте основной пул с заданиями, привяжите Обучение и установите Уровень прохождения 55. Тогда пул будет доступен исполнителям, допустившим не более 45% ошибок при обучении.

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

Подробнее о создании пула с обучением.

Запустите пул и получите результаты

  1. Запустите пул, нажав кнопку .
  2. Следите за выполнением в блоке Статистика пула.
  3. Запустите агрегацию результатов, когда пул будет полностью выполнен. Для этого около кнопки Скачать результаты нажмите  → Агрегация результатов по методу Дэвида — Скина.

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

  4. Отслеживайте ход агрегации на странице Операции. По завершении нажмите кнопку Скачать.

Решение проблем

Загрузка файлов с Яндекс.Диска
Не загружаются файлы с Яндекс.Диска

Если картинки, аудио или видео с Яндекс.Диска не отображаются в инструкции или на странице задания, убедитесь, что вы правильно подключили Диск и загрузили файлы.

Как сделать задание, в котором исполнитель должен просматривать видео с Яндекс.Диска?

Для создания задания возьмите за основу шаблон для разметки видео.

Чтобы разместить ваши видеоролики на Яндекс.Диске, его нужно подключить и настроить проект.

Подробная видеоинструкция об этом в нашем блоге.

Почему в задании по выделению объектов на изображении не отображаются изображения с Яндекс.Диска?
Проблема в шаблоне задания. Проверьте, что:
  • Для поля входных данных, куда вы передаете ссылку на файл, в проекте указан тип «строка».
  • В компоненте в шаблоне задания используется выражение proxy.
  • Формат относительных ссылок в TSV-файле с заданиями указан верно: <уникальное имя>/<путь и имя файла>.
Подробная инструкцию и видео на странице Использование файлов с Яндекс.Диска.
Частые ошибки при подключении Диска и загрузке файлов
  • В настройках проекта в поле Входные данные указан тип ссылка. Необходимо выбрать тип строка.
  • В TSV-файле указаны абсолютные ссылки на файлы для заданий. Необходимо вставить ссылку вида <уникальное имя>/<путь и имя файла>. Например: yadisk/image1.jpg или yadisk/photos/image1.png.
  • Фото с Яндекс.Диска используются в инструкции к заданию в мобильном приложении. Чтобы фото отобразилось в инструкции, используйте только прямые ссылки.
  • Файлы удалены или находятся не в той папке на Диске, на которую ведет ссылка.
  • OAuth-токен не активен. Обновите токен на странице Интеграция с внешними сервисами.
Чтобы файлы, загруженные на Яндекс.Диск (картинки, аудио, видео), отображались у исполнителя, нужно:
  1. Подключить Яндекс.Диск в профиле.
  2. Установить тип строка для поля входных данных.
  3. Вставлять ссылку на файл при помощи компонента proxy.

Подробная инструкция

Файлы на Яндекс.Диск загружаются слишком медленно. Как ускорить загрузку?

Попробуйте воспользоваться рекомендациями с этой страницы или написать в службу поддержки Яндекс.Диска.

Частые ошибки при подключении Диска и загрузке файлов
  • В настройках проекта в поле Входные данные указан тип ссылка. Необходимо выбрать тип строка.
  • В TSV-файле указаны абсолютные ссылки на файлы для заданий. Необходимо вставить ссылку вида <уникальное имя>/<путь и имя файла>. Например: yadisk/image1.jpg или yadisk/photos/image1.png.
  • Фото с Яндекс.Диска используются в инструкции к заданию в мобильном приложении. Чтобы фото отобразилось в инструкции, используйте только прямые ссылки.
  • Файлы удалены или находятся не в той папке на Диске, на которую ведет ссылка.
  • OAuth-токен не активен. Обновите токен на странице Интеграция с внешними сервисами.
Чтобы файлы, загруженные на Яндекс.Диск (картинки, аудио, видео), отображались у исполнителя, нужно:
  1. Подключить Яндекс.Диск в профиле.
  2. Установить тип строка для поля входных данных.
  3. Вставлять ссылку на файл при помощи компонента proxy.

Подробная инструкция

Почему в предпросмотре заданий не отображаются изображения с Яндекс.Диска?
Проблема в шаблоне задания. Проверьте, что:
  • Для поля входных данных, куда вы передаете ссылку на файл, в проекте указан тип «строка».
  • В компоненте в шаблоне задания используется выражение proxy.
  • Формат относительных ссылок в TSV-файле с заданиями указан верно: <уникальное имя>/<путь и имя файла>.

Подробная инструкция и видео.

Как в инструкцию встроить несколько картинок с помощью ссылок на Яндекс.Диск?
Чтобы добавить картинки с помощью ссылок на Яндекс.Диск:
  1. Используйте ссылку, например: /api/proxy/yadisk/image1.jpg .
  2. В настройках профиля заказчика перейдите в Интеграция с внешними сервисами → Настройки прокси.
  3. Настройте интеграцию с внешними сервисами.

    Подробно об использовании файлов с Яндекс.Диска.

Почему при загрузке задания, в котором нужно просмотреть изображение и написать фидбэк, появляется ошибка синтаксиса?

Ошибка будет возникать, если на вход ожидается тип URL, а приходит строка.

Причин может быть две:
  • Входное поле имеет тип "ссылка".
  • Пул работает на неактуальной версии проекта. То есть создан до того, как вы изменили тип входного поля.
Почему в задании с классификацией фотографий, если на странице больше 5-ти фотографий, то Толока разделяет их на 2 страницы?

Загруженные ссылки на картинки в файле Толока разделит на страницы в зависимости от того, какой способ их формирования вы указали при загрузке TSV-файла. Подробнее о трех способах загрузки можно узнать в Руководстве.

Как сделать так, чтобы при нажатии на изображение оно увеличивалось максимально?

Добавьте к компоненту для вставки картинки параметры real-size=true и screenshot=true.

Нужно ли подгонять все изображения для задания под один размер, или они могут быть разные?
Размеры изображений могут быть разные.