Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 30
×

Поиск в галерее при помощи нейронных сетей под Андроид

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

Недавно возникла мысль, почему до сих пор в 2018 году в стандартной галерее под Андроид нет поиска по содержимому изображений. В то время в маркете тоже ничего похожего не нашлось.
Поэтому в свободное время для развлечения сделал поиск по галерее.
Может кому-то тоже пригодится.

Приложение сканирует фото локально, без отправки на удаленные сервера, поэтому достаточно большое по размеру (150МБ, т.к. facenet и mobilenet_v2) и ресурсоемкое (начальное сканирование 3к фото может занять несколько часов).

Пока выложена *бета-версия* программы, тестирование проводилось только на нескольких домашних устройствах.
После обкатки сделаю production релиз на Google Play.
Буду благодарен за багрепорты, отзывы и предложения.
Это мой первый проект под Андроид, поэтому не судите строго :)

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

play.google.com/...​testing/com.algr.gallerai

Текущие возможности:
— поиск людей (выбор из списка по фото)
— поиск объектов
— поиск по нескольким категориям (например, «машина, еда»)
— распознавание голоса
— фильтрация по году
— сортировка по релевантности/дате
— сканирование только выбранных папок
— настройки распознавания объектов/лиц
— использование встроенного/внешнего просмотрщика
— функция отправки изображений в другие приложения

Всем хорошего дня!

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

прочитал как
Поиск галеры при помощи нейронных сетей под Андроид

поиск по Фрейду при помощи нейронных сетей под Андроид

смотря какого. автомобильного на чуток подольше

вот вот. ради андроида фанатты готовы на все

Чукча писатель, комменты не читает, сразу рубит истину? В топике с сырами такое прокатывает лучше.

Поиск в галерее при помощи нейронных сетей под Андроид

Я это как-то так вижу

Які бібліотеки використовували для нейронної мережі? Модель тренована, чи самі тренували?

tensorflow-android, предобученные facenet, mobilenet_v2

а что такое стандартная галлерея в андроид? у меня гугл нексус и там по дефолту google photo — и оно умеет искать по изображениям.
Приложение play.google.com/...​android.apps.photos&hl=ru

Но конечно вся обработка происходит не локально

В Xiaomi тоже в некоторых странах доступен поиск по изображениям, загруженным в облачное хранилище. Но сам пока не пробовал.
Да и грузить 8ГБ фото туда не собираюсь пока.

а у меня наоборот все там — овер 30 ГБ )

Коментар порушує правила спільноти і видалений модераторами.

большое по размеру (150МБ, т.к. facenet и mobilenet_v2) и ресурсоемкое (начальное сканирование 3к фото может занять несколько часов).

сами же себе и ответили
не факт, что такое вообще примут в гп

Примут. Для этого есть файлы расширения, если вы не в курсе.

Там, вроде, есть еще нюансы, связанные с энергопотреблением фоновых задач.

Согласен, для прошлогодних телефонов пока, может, и тяжеловат.
Но полное сканирование проходит один раз после установки, да и 150МБ уже не такая большая проблема.
С появлением у производителей и в TF под Андроид аппаратной поддержки нейронных сетей все должно стать намного быстрее.
Но ждать еще Н лет, пока это все произойдет, я не хочу.
Лично мне удобно иметь такой поиск в телефоне уже сейчас.

Скільки заряду використовує?

У меня на Xiaomi 4/5 процентов 30% заряда на сканирование 3к файлов. Но проблема небольшая оставить его на ночь на зарядке, чтобы просканировал.

Потому что фото перед распознаванием даунсемплятся. Распознавать лица и предметы в прыщах непрактично.

Не буду спорить со спецами.

Сорри, не выделил иронию.
Ресемплинг занимает десятки миллисекунд. Предобработка уже уменьшенного изображения — еще меньше. А тот же фейснет отрабатывает за полсекунды. Разница минимум на порядок.

Ну, а чуть посложнее сетки и уже GPU по плешку будет загружено даже на Теслах.

Не нужно мешать в кучу learning и inference.
Мобильные устройства уже вполне в состоянии использовать обученные сети. Да, реалтайм процессинг достаточно больших сетей на них пока невозможен, но оффлайн обработка данных вполне реальна.
Про реальное энергопотребление (а не фантазии на тему) я уже написал выше.
Конечно, с появлением аппаратной поддержки производительность вырастет в десятки раз, а энергопотребление значительно упадет.
Но уже сейчас все не так плохо, как кажется тому, кто ни разу не запускал сети на мобильном устройстве.

Підписатись на коментарі