Технологии Denis Shiryaev
5 174

Facebook показал нейронку которая генерирует рецепты на основе фото

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

В закладки
Аудио

Пару дней назад Facebook презентовал и поделился исходным кодом своей нейронкой, которая на основе фотографии генерирует рецепт блюда, я о ней писал в канале:

Facebook AI поделился своим исследованием которое позволяет по фотографии еды сгенерировать рецепт (!) приготовления этого блюда.

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

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

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

Почитать исследование можно тут:
https://ai.facebook.com/blog/inverse-cooking/

Звучит довольно перспективно, но как оказалось, в этот датасет из миллиона пока не вошли знакомые нам всем блюда.

На самом деле, я конечно шучу, нейронка правда хорошо работает с популярными блюдами, просто она не знает про дошик, пельмешки и блюда вида «чисто показать мастерство». А в конце статьи вы можете найти инструкцию, как запустить нейронку самому (придется ковырять код).

Нейронка выдает несколько вариантов на выходе, я выбрал наиболее подходящие и перевел их.

Самое главное, нейронка генерирует рецепт под блюдо на основе ингредиентов, а не ищет подходящий по фото блюда.

Чебуреки

Что увидела нейронка:

Простые и легкие в готовке блины

Ингредиенты:

сахар, яйцо, мука, масло сливочное, соль, молоко

Инструкция:

  • Взбейте ингредиенты вместе.
  • Теперь взбейте все в топленом масле.
  • Разлейте в смазанную жиром 8-дюймовую сковороду (я использую антипригарную сковороду обработанную кулинарным спреем) или креповую сковороду толщиной около 3/4 дюйма.
  • (У меня нет масла, но смазывать сковороду не обязательно).
  • Готовить блюдо около 5 минут в духовке при 350 градусах.

Шаурма

Тут я сам виноват, на фото больше тако с говядиной и нейронка его угадала верно, почти все 4 рецепта в результате были на тему этого блюда.

Что увидела нейронка:

Говяжье тако

Ингредиенты:

лук, тортилья, салат, говядина, сыр, помидор, перец, стейк

Инструкция:

  • Разогрейте гриль на среднем огне.
  • Посыпьте стейк солью и перцем.
  • Обжаривайте стейк в течение 10 минут.
  • Или до желаемого состояния готовки мяса, время от времени поворачивая.
  • В то же время смешайте а.1. (wtf???)
  • И лук; мясо охладите до готовности к использованию.
  • Разложите лепешки равномерно с заправочной смесью.
  • нарежьте мясо, смешайте с сыром, и разложите; сверните тако.

Шашлычок

В оригинале это был шашлык из кабана

Что увидела нейронка:

Греческий шашлык

Ингредиенты: перец, масло, соль, гвоздика (приправа), мясо, уксус, помидор, лимонный сок

Инструкция:

  • В маленькой миске смешайте томатный соус, оливковое масло, лимонный сок, бальзамический уксус, чеснок, соль и перец и взбейте вместе.
  • Добавьте мясо, положите в маринад и переверните, чтобы полностью покрыть маринадом.
  • Закройте миску и оставьте мариноваться в холодильнике на 2 часа.
  • Подогрейте гриль на сильном огне.
  • Нанизывайте мясо на шампуры и смажьте маринадом.
  • Готовьте на сильном огне в течение 6 минут, пока мясо не подрумянится, поворачивать шампур нужно один раз.

Лучший салат в мире – Оливьешка

Помимо трех вариантов картофельных салатов, один рецепты был который переводится как «Салат из кораблекрушения», но это оказался реальный салат – Shipwreck salad.

Что увидела нейронка:

Картофельный салат

Ингредиенты: лук, перец, майонез, помидор, соль, картофель, сельдерей, горох

Инструкция:

  • Отварить картофель до готовности.
  • Подсушите его и дайте остынуть.
  • Далее картофель нарежьте и добавьте в большую миску.
  • Добавьте оставшиеся ингредиенты в эту же миску и хорошо перемешайте.
  • Дайте немного настояться салату.

Борщ

Обратите внимание, в таком борще ложка не стоит, такой борщ нельзя подавать

К сожалению про борщ в Facebook AI не знают. Но нейронка увидела что-то похожее в мексиканской кухне.

Что увидела нейронка:

Легкий суп из тортильи

Ингредиенты: лук, перец, помидор, гвоздика (приправа), масло, бульон, тмин, перец чили, соль, вода

Инструкции:

  • Разогрейте масло в большой кастрюле на среднем огне.
  • Добавьте лук и чеснок.
  • Готовьте и размешивайте, пока лук не станет мягким, около 5 минут.
  • Добавьте помидоры, куриный бульон, воду, порошок чили, тмин, соль и перец.
  • Доведите до кипения.
  • Уменьшите огонь до средне-минимального уровня, накройте крышкой и варите на медленном огне около 30 минут.

Пельмени

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

Что увидела нейронка:

Норвежские сырные шарики

Ингредиенты: сыр, укроп, перец, масло сливочное, соль, яйцо

Инструкция:

  • Подогрейте духовку до 200С.
  • Смешайте сыр, укропную траву и перец в маленькой миске с яйцом.
  • Раскатайте слоеное тесто на маленькие шарики и выложите их на противень для выпечки.
  • Смажьте маслом и посыпьте сыром пармезан.
  • Пеките до пышной и золотой корочки.

Дошик

К сожалению этот не с курицей, не самый лучший в мире

Что увидела нейронка:

Азиатский суп с лапшой

Ингредиенты: масло, лапша, морковь, соевый соус, перец, лук, гвоздика (приправа), бульон, имбирь, вода, рыба, кинза

Инструкция:

  • В большой кастрюле разогрейте масло на среднем огне.
  • Добавьте чеснок, имбирь и красный перец.
  • Варите 1 минуту.
  • Добавьте бульон, воду, соевый соус, рыбный соус и рыбный соус.
  • Доведите до кипения.
  • Добавьте лапшу и морковь.
  • Уменьшите огонь до минимума и варите 10 минут.
  • Добавьте зеленый лук и кинзу.
  • Варите 5 минут.

А вы думали дошик это просто? Дошик это искусство!

Закуска

Я подумал, почему бы не порадовать нейронку чем-то славянско-красивым.

Все 4 рецепта были на тему «Сырный шарик с ветчиной», поэтому я решил даже их не брать сюда.

Чисто показать мастерство I

Что увидела нейронка:

Легко приготовленные в микроволновке яйца

Ингредиенты: сахар, яйцо, масло, вода

Инструкция:

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

Хоть и звучит так себе, но это реальное блюдо.

Чисто показать мастерство II

Что увидела нейронка:

Клубничные блинчики

Ингредиенты: сахар, мука, яйцо, соль, молоко

Инструкция:

  • В средней миске смешайте яйца, молоко, муку, сахар и соль.
  • Подогрейте слегка смазанную маслом сковороду или сковороду на среднем огне.
  • Вылейте или выложите тесто на сковородку, используя примерно 1/4 чашки для каждого блинчика.
  • Готовьте, пока края блинчика не высохнут и центр не зафиксируется, примерно 1 или 1/2 минуты.
  • Переверните и готовьте пока другая сторона не станет золотисто-коричневой.

Чисто показать мастерство III

Что увидела нейронка:

Легкий бенто на день Святого Валентина

Ингредиенты: помидор, сыр, нори (водоросль)

Инструкция:

  • Нарежьте сливочный сыр на 4 равные части.
  • Оберните один кусочек нори вокруг сливочного сыра.
  • Установите тарелку так, чтобы она выглядела так как на фотографии.
  • Поместите ломтик помидора вдоль верхнего края нори.
  • Добавьте другие ингредиенты.
  • Сверните это.

Звучит просто, добавьте в избранное на случай важных переговоров в день святого валентина.

Чисто показать мастерство IV

Что увидела нейронка:

Копченая икра лосося

Ингредиенты: лосось, укроп, сахар, яйцо, икра, сливки

Инструкция:

  • Смешайте все ингредиенты вместе.
  • Охладите не менее 2х часов.
  • Подайте с крекерами.

Дмитрий Маликов

↑ Маликов

Что увидела нейронка:

Суп с жареным красным перцем и луком

Ингредиенты: масло, перец, соль, лук

Инструкция:

  • Подогрейте духовку до 400 градусов F.
  • Положите перец на противень и сбрызните оливковым маслом.
  • Готовьте 20 минут или до готовности.
  • Выньте из духовки и отложите противень в сторону.
  • В большой кастрюле разогрейте оливковое масло на среднем огне.
  • Добавьте лук и чеснок и готовьте в течение 5 минут или пока он не станет мягким.
  • Добавьте жареный перец и соль, готовьте 5 минут.
  • Добавьте жареный перец и готовьте еще 5 минут.
  • Подайте горячим 🔥

Лично мне кажется, что Дмитрий и так горячий, как его можно подать по другому.

И последнее, потому что мне надоело.

Что увидела нейронка:

Водочный тоник

Ингредиенты:

вода, водка

Инструкция:

  • Наполните стакан хэйбол льдом.
  • Залейте водкой и тоником.
  • Размешайте.

Поздравляю, вы машинист.

Как запустить нейронку самому

Довольно просто, откройте этот репозиторий с нотбуком:

Далее нажмите кнопочку:

После этого вас перенесет в сервис Colab от Google который позволяет запускать такие вещи в облаке.

Прогоните тестовый запуск нотбука открыв вкладку Runtime и выбрав там Run all.

После тестового прогона, вы получите какие-то тестовые результаты:

Если все хорошо, то в блоке [22] можете прописать свои ссылки на картинки через запятые и в кавычках.

После этого, кликните в Runtime еще раз и выберете там Run after.

Поздравляю, вы ML инженер и не согласны с шуткой «Ты же просто рандомно подбираешь коэффициенты пока кросс-валидация не даст нормальный результат».

Делитесь скриншотами рецептов в комментариях 💖

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы рассказать свою историю.

Написать
{ "author_name": "Denis Shiryaev", "author_type": "editor", "tags": [], "comments": 86, "likes": 49, "favorites": 31, "is_advertisement": false, "subsite_label": "tech", "id": 102605, "is_wide": false, "is_ugc": false, "date": "Wed, 19 Jun 2019 18:15:31 +0300" }
{ "id": 102605, "author_id": 68856, "diff_limit": 1000, "urls": {"diff":"\/comments\/102605\/get","add":"\/comments\/102605\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/102605"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 214344, "last_count_and_date": null }
86 комментариев

Популярные

По порядку

Написать комментарий...
5

чтобы создать Чумакова нужно всего лишь напоить Анну Гласс ледяной водой

Ответить
1

Глотнуть и подышать.

Ответить
1

Пирожочек

Ответить
0

Ты его сюда не приплетай!

Ответить
0

Это идеальное фото для тиндера.

Ответить
19

Моя нейронка ебашит вообще адовые блюда.

Ответить
13

К сожалению этот не с курицей, не самый лучший в мире

Если что, в палате мер и весов хранится именно говяжий дошик

Ответить
2

Не буду больше лайкать твои комментарии и отписался от тебя!

Ответить
2

Не я его туда положила!

Ответить
2

Я все сказал!

Ответить
0

Напросился: напишу фанфик, где ты ешь говяжий дошик

Ответить
0

💖 ето катастрофа

Ответить
0

А мне понравился рыбный с тофу.

Ответить
1

Мог бы просто написать: А Я ВЕГАН

Ответить
0

Хм, а рыба - это веганство?

Ответить
0

Если пиранья, то вряд ли...

Ответить
9

Ингредиенты: вода, водка

Да

Ответить
2

домашнее молоко

ингредиенты: молоко и сахар

🤔

Ответить
1

окрошку проверб

Ответить
3

Я не извращенец

Ответить
0

так не на квасе же

Ответить
3

НЕ НАЧИНАЙ!!

Ответить
1

спасибо богу, что я не ингуш

Ответить
1

ой, не то

Ответить
0

Тогда дикпик попробуй

Ответить
2

Ага, с солью

Ответить
0

я тоже, но проверить любопытно

Ответить
2

Всеми силами пытался понять, что же такое это "Чисто показать мастерство I". Манная каша с шротными хвостиками?

Ответить
2

Денис, если что, то в Окружающем СНГ мире оливье и называется картофельный салат.

Ответить
1

чет оливье захотелось

Ответить
1

откройте этот репозиторий с нотбуком

До чего техника дошла! Ноутбуки уже через репозитории на гитхабе раздают

Ответить
0

Тест, достойный ТЖ
Теперь можно козырять не только широкой русской душой, но и загадочной русской кухней, не понятной иностранным нейроумам.
Пысы. За пельмени особенно обидно, утешу их сегодня на ужин

Ответить
1

Лучше вареники с потрошками
Топ весч

Ответить
0

Да, сто лет не ела. Жаль, что эта крымская хуйня полностью убила гастрономический туризм в Киев

Ответить
0

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

Ответить
0

ГАСТРОНОМИЧЕСКОГО ТУРИЗМА ТАМ НЕТ!!11

Ответить
0

Нихуя не понял

Ответить
0

А тигра с гали.ру прогоняли?

Ответить
0

Че за тигр?

Ответить
0

Торт-тигр

Ответить
2

Их тут много...

Ответить
0

И все охуенные.

Ответить
0

Да, ток леопарда, твой тигр не настолько всрат

Ответить
–1

«Поиск рецепта по фото» тоже мне нейронка...

Ответить
–1

Ага. На первой презентации айфона Стив Жопс показывал неработающий макет.

Ответить
1

Там код выложен исходный же, ну.
Из него видно, что принцип работы другой совсем.

Ответить
1

И каков он?

Ответить
1

Я повторю: каков принцип?

Ответить
0

Да все описано же по ссылкам, и в комменте выше и в статье Facebook AI, что ты ленишься то

Ответить
1

Признайся, ты просто не можешь (ни понять, ни) сформулировать своими словами?

Ответить
0

Я ленивее чем ты и мне не нужно объяснять тебе что-то

Ответить
–1

в общем "рецепт по фото" было правильной версией. закрыли тему.

Ответить
0

которая на основе фотографии генерирует рецепт блюда,

откуда ты знаешь, может нейронка просто угадывает блюдо на фотке и дальше выдает рецепт этого блюда.

Ответить
0

Исходный код открыт, его уже ковыряло сообщество

Ответить
0

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

Ответить
1

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

Ответить
0

Хайпослэшер сегодня тупит, оставь его.

Ответить
1

не, в этой ветке мне действительно интересно узнать про эту нейронку

Ответить
0

А ты читал? И как нейронка это понимает?

Ответить
0

Я читал пост на который дал ссылку в своем телеграм канале и знаю как это работает.

Ответить
0

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

Ответить
0

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

Ответить
0

очень просто, да, спасибо

Ответить
0

в общем сначала фото надо прогонять через нейронку "еда/не_еда"

Ответить
0

Видеоигровая кухня пошла

Ответить
0

«К сожалению этот не с курицей, не самый лучший в мире»
Совсем ёбнулся? За такое надо в палату к Дыркину упечь.
Онли красный. Чтоб слезы из глаз.

Ответить
0

Мест нет уже

Ответить
0

Кто-нибудь знает ещё подобные проекты в Colab, где можно с нейронками поиграться?

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfk" } } }, { "id": 6, "disable": true, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byswn", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "cndo", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223677-0", "render_to": "inpage_VI-223677-0-130073047", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=cndo&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudv", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "ccydt", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fzvc" } } } ]
Не пропустите самое важное,
что происходит в интернете
Подписаться на push-уведомления