Распознавание предметов камерой

429
24 марта 2017, 23:18

Задание от ментора.

Андроид

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

До этого написал только приложение, которое по кнопке выводит HelloWorld. Посоветуйте что использовать, может алгоритм какой то подскажете, что почитать :)

Answer 1

Я видел пару статей, в которых делали приложение под андроид с распознавание объектов с помощью TensorFlow.

Нашел одну из статей Android TensorFlow Machine Learning Example и исходники приложения к ней.

Answer 2

Сходите на Vuforia API - там есть распознавание образов - не уверен, что бесплатно, поскольку образ надо все равно засылать на сервер Vuforia, где он и обрабатывается.

Поройтесь еще здесь - Google Cloud Vision API - также облачное распознавание.

Ну и на закуску соберите это приложение: Android Object Detection - и поройтесь в его исходниках - как он работает.

Answer 3

Ваш вопрос звучит примерно так: "Я знаю, как перемножить 2 числа. Пожалуйста, подскажите, как доказать гипотезу Пуанкаре." Для начала, сделайте распознование рукописных цифр что ли (база данных MNIST). Вопрос слишком абстрактный. В текущей постановке задачи Вы никогда не решите проблему, так как даже не очерчен круг предметов, которые Вы хотите обнаруживать.

Если Вы хотите выделять машины в видео потоке, то можете почитать огромное количество статей на Хабре. Но ещё раз подчёркну: если Вы берётесь за область, связанную с нечёткими задачами, множествами, машинным обучением, то Вам нужно начинать с простых задач, с решения примеров, а не с задач высокго класса сложности.

Answer 4

"Ты наводишь на предмет, оно в нотификации или еще как пишет предмет на который ты навел"

В общем случае - нет, не реализовать :-) . Но вот распознавать конкретные классы объектов с хорошей долей вероятности в некоторых случаях реально.

Я бы посмотрел в следующие стороны :

  • соответвующие api. Вроде имелись у IBM в его Watson, Google и Microsoft - и наверняка я перечислил не всех.
  • (думаю, смартфоны не потянут, но - возможно - ошибаюсь) - ИНС, работающие как object detector-ы. Какие из них дают лучший результат я не скажу. Навскидку назову SSD (single shot multibox detector) и RCNN (вот тут могу ошибаться). Ну и как минимум - у первой - есть доступная "предобученная" конфигурация.

Ну и да - что до ИНС - возможно - сразу искал бы готовые реализации на tensorflow. Вроде у него есть версия для android.

з.ы. не то, чтобы я призывал копипастить, да и вообще был уверен в том, что это ваш случай - но - https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android - TF_Classify вроде подходит под описание,

READ ALSO
Проверка работы X-сервера

Проверка работы X-сервера

Периодически зависает X-серверКаким образом можно проверить завис он или работает? Проверку необходимо реализовать на python, но и не откажусь...

210
Не могу понять, почему не работают maven-плагины

Не могу понять, почему не работают maven-плагины

Всем приветНа работе поставил IntellijIDEA, maven, jdk

236
Управление выводом дробной части double в Java

Управление выводом дробной части double в Java

Как вывести дробную часть double в Java? Что бы число d было равно 17890 а не 178

381