Постеры фильмов — это, как правило, первое впечатление, которое мы получаем от фильма. Плакат должен привлечь внимание зрителей и попытаться убедить нас купить билет. Более того, с учетом того, сколько продакшн-компании тратят на маркетинг (около половины бюджета фильма), они, как правило, предпочитают использовать проверенные методы при разработке своего постера. Это то, что приводит к тому, что многие постеры фильмов кажутся похожими. Канал YouTube «Чеддер» исследует распространенные клише, которые используют постеры фильмов в своем видео Почему все постеры фильмов выглядят одинаково — объясняет Чеддер. Это была интересная идея для меня; Если постеры могут с первого взгляда передать историю, тему и жанр, сможете ли вы научить модель глубокого машинного обучения предсказывать жанр фильма, основываясь исключительно на постере фильма?

Как работает модель?

Тип модели, которую я использовал для этой задачи, называется сверточной нейронной сетью или CNN (а не вещательной компанией). Если вас интересует этот тип модели, я дам вам ссылку на бесплатную статью на Medium по этому вопросу в конце этой статьи. Изображение ниже является моим грубым упрощением того, как работает модель:

В «мозге» модели есть сеть узлов (нейронов), соединенных ребрами (нейронными путями). Постер фильма разбивается на изображение самого себя, раскрашенное по номерам. Затем модель смотрит в увеличительное стекло и начинает запоминать числа, связанные с разными фрагментами плаката. Проведя увеличительным стеклом по всему изображению, модель делает предположение, к каким жанрам, по ее мнению, относится фильм. Если он угадывает правильно, то укрепляются эти нервные пути, а если неверно, то укрепляются другие нейронные пути. Этот процесс повторяется с тысячами движущихся плакатов до тех пор, пока модель не станет уверенной в своей способности предсказывать жанр плаката.

Дилемма постера фильма

В видеоролике Чеддера на канале Youtube, Почему все постеры фильмов выглядят одинаково — Чеддер объясняет, они обсуждают шаблонные образы романтических комедийных плакатов, на которых они помещают двух главных героев спиной к спине, чтобы сигнализировать зрителям о надвигающемся конфликте между главным героем и их любовным увлечением. Что ж, люди были приучены распознавать этот стиль постера фильма как ромком, что является лишь половиной проблемы. Жанры фильмов могут быть немного более нюансированными.

Например:

Учитывая, что на этих двух плакатах главные звезды стоят спиной к спине, большинство людей правильно догадаются, что эти фильмы — романтические комедии. Однако Без оговорок на самом деле считается ромком-драмой, а Как отделаться от парня за 10 дней — только ромкомом. Постеры фильмов не всегда передают правильный жанр фильма на первый взгляд, и может потребоваться просмотр фильма, чтобы понять, почему один фильм считается драмой, а другой - нет.

Проверка модели

Предсказать жанр фильма по постеру — непростая задача. Я хотел разработать тест для сравнения производительности машины и человека при маркировке. Я выложил восемь постеров к фильмам перед пятью друзьями и членами семьи, чтобы обозначить жанр(ы) фильма. Если вы хотите играть дома, вы можете сделать паузу и назначить постеру каждого фильма от одного до трех жанров.

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

Результаты

После запуска восьми постеров фильма через мою модель вот результаты:

В восьми фильмах было объединено девятнадцать жанров, состоящих из шести уникальных жанров [драма, комедия, романтика, семейный, фэнтези и криминал]. Если вы рассматриваете только три его лучших предсказания, то он правильно угадывает 12/19 жанров фильмов, а если рассматриваете свои первые четыре предсказания, то он правильно угадывает 14/19 жанров фильмов. Более того, я подозреваю, что моя модель помечает Призраки бывших подружек как фильм ужасов, потому что на плакате использовались темные и красные цвета. Но как он оценивается по сравнению с людьми, назначающими ярлыки вручную?

Моя модель немного отстает по сравнению с тем, что люди вручную определяют жанр фильма. За неправильные предположения баллы не снимались. Жанры плакатов, с которыми все боролись, были лейблами My Girl [Drama, Family], лейблом Ghosts of Girlfriends Past [Fantasy] и Intolerable Cruelty. Ярлык [Преступление]. Следовательно, почему трудно набрать 100% по этой проблеме. Кроме того, если бы вы предсказывали ромком-драму в каждом фильме, вы бы получили 16/19.

Ограничения модели

Моя модель почти всегда выбирает драму в качестве одного из своих четырех прогнозов на любом постере фильма, потому что она перетренирована на плакатах драмы. Из примерно 3000 постеров к фильмам, на которых он обучался, 70% этих фильмов имели ярлык жанра драмы по сравнению с 1% фильмов, которые имели ярлык жанра научной фантастики. Это похоже на то, как если бы я сказал кому-то, что 70% фильмов помечены как драма, и попросил бы их пройти тест. Если участники хотели быть в безопасности, они всегда считали драму одним из своих ярлыков. Я использовал набор данных Kaggle в качестве обучающего набора для этой модели. В наборе данных вместо постера была куча случайных кадров из фильма, которые нужно было отфильтровать. Я использовал этот обучающий набор Kaggle на полную мощность, и чтобы попытаться решить эту несбалансированную маркировку жанра драмы, мне пришлось бы создать свой собственный набор данных, который сам по себе является целым проектом.

Вывод

Я был рад, что у меня появилась еще одна возможность снова объединить две мои страсти — науку о данных и кино. Обучение сверточной нейронной сети проверило мои способности к моделированию изображений при работе с большим набором данных из 40 000 изображений. Я надеюсь и дальше расширять свой набор инструментов для науки о данных, предоставляя моим читателям больше образовательных и развлекательных материалов.

Модельный код CNN

Прогноз модельного плаката

Гитхаб Репо

Полное объяснение ELI5 сверточной нейронной сети

Томас Пин

Под редакцией Сары Галлахер