Челябинские школьники написали приложение, которое распознает растения по фотографии

Привет народ!
Сегодня увидел себя на Пикабу и решил немного поведать вам об этой истории с моей точки зрения. Кстати, автор поста просто скопировал новость отсюда.
Меня зовут Женя. Я и @alxmamaev - разработчики проекта «Botanic». Я написал android-приложение, а мой друг создал нейросеть.


- "Мальчик, ты кто? Где пруфы?"
Начну с того, что пакет android приложения (com.hackerzhenya.flower), содержит мой ник.
Мало? Вот скрин из Google Developer Console

Челябинские школьники написали приложение, которое распознает растения по фотографии Botanic, Приложение, Конкурс, Челябинск, Приложение на Android, Нейронные сети, Цветы, Грибы, Длиннопост

Хорошо, разобрались, мы - настоящие!


Собственно, сама история.
Год мы учились в IT школе Samsung. В конце года каждый должен был показать какой-либо финальный проект. Собственно, наше приложение таковым и является. Писать нужно было на java (это обязательное условие).
Вначале нейросеть умела распознавать только 5 цветков.
Мы выступили на региональном этапе и стали ждать вестей из samsung'а. Они прислали нам письмо, в котором говорилось, что мы прошли в финал. Еще там было это:

Челябинские школьники написали приложение, которое распознает растения по фотографии Botanic, Приложение, Конкурс, Челябинск, Приложение на Android, Нейронные сети, Цветы, Грибы, Длиннопост

До финала оставалось пол месяца.
Мы подумали: "Грибочки? Ну, можно и грибочки!", и добавили их. Также увеличили количество цветов с 5-ти до 9-ти. Я добавил несколько UI фич в приложение. К этому моменту время закончилось. Я сделал сборку, выложил в маркет, отправил жюри и начал медленно собирать чемодан: впереди - Москва!

Вот мы на сцене (Я слева, Саша справа)

Челябинские школьники написали приложение, которое распознает растения по фотографии Botanic, Приложение, Конкурс, Челябинск, Приложение на Android, Нейронные сети, Цветы, Грибы, Длиннопост

Тут жюри оценивает приложение. Для этого мы раздали им брошюры с фотографиями цветов и грибов.

Челябинские школьники написали приложение, которое распознает растения по фотографии Botanic, Приложение, Конкурс, Челябинск, Приложение на Android, Нейронные сети, Цветы, Грибы, Длиннопост

Да, были и интересные и сложные работы. Вот список всех финалистов с их проектами.

Всего было 3 номинации: «Социальное приложение», «Игровое приложение» и «Программирование».

Вот результат наших стараний:

Челябинские школьники написали приложение, которое распознает растения по фотографии Botanic, Приложение, Конкурс, Челябинск, Приложение на Android, Нейронные сети, Цветы, Грибы, Длиннопост

Отвечу на популярные вопросы:

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

- "Почему так мало растений?!"
- На каждое растение Саша вручную отбирал по 1-1,5k картинок, ибо было много мусора в выдаче по запросу. Источником были Google и Flickr.
Вот пример: мы ищем ромашку (daisy). Но если опуститься ниже, то можно увидеть совсем не то, что нам нужно. К примеру такое:

Челябинские школьники написали приложение, которое распознает растения по фотографии Botanic, Приложение, Конкурс, Челябинск, Приложение на Android, Нейронные сети, Цветы, Грибы, Длиннопост

Не очень похоже на ромашку, правда? :)


- "Почему не сделать ошибку при низкой вероятности?"
- Мы пытались. Все дело в особенности работы сервера. Картинка сжимается до 32x32 пикселей. Это равносильно тому, что смотреть на растение с расстояния 200м. При таком низком разрешении нейросеть не может точно определить, что находится на картинке. Поэтому она высказывает свое предположение, наиболее похожее на те материалы, которые участвовали в обучении.

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

На все вопросы я и Саша постараемся ответить в комментариях.

Спасибо за внимание!

47
Автор поста оценил этот комментарий
Грибочки... ждем первых смертей
//закадровый зловещий хохот
раскрыть ветку
15
Автор поста оценил этот комментарий
Моё мнение, если это дипломная работа, то выставлять её в свободный доступ не надо. Люди разные бывают и кто-то правда может отравиться. Многие скачивают по приколу, но могут найтись кто в это поверит.
раскрыть ветку
34
Автор поста оценил этот комментарий

Не хот-дог!

Предпросмотр
раскрыть ветку
11
Автор поста оценил этот комментарий
Ну если сжимает до 32х32 пикселя то понятно, что распознавать ничего не будет. А насколько возможно хотя бы до 100х100 пикселей сделать сжатие?
раскрыть ветку
10
Автор поста оценил этот комментарий

Студент биолог в комментариях , почти ни одно растение невозможно определить только по фотографии общего вида (даже деревья) , строение цветка , прикорневые листья , строение корневой системы и тд. обязательны для выхода на род. А определение по картинке не даёт даже 100% результат при определении семейств.

раскрыть ветку