Как да добавите машинно обучение към приложенията си за Android

Автор: Peter Berry
Дата На Създаване: 16 Lang L: none (month-012) 2021
Дата На Актуализиране: 1 Юли 2024
Anonim
ПРИЛОЖЕНИЕ ДЛЯ ПЕРЕВОДА СУБТИТРОВ ВИДЕО НА YOUTUBE + ОЗВУЧКА
Видео: ПРИЛОЖЕНИЕ ДЛЯ ПЕРЕВОДА СУБТИТРОВ ВИДЕО НА YOUTUBE + ОЗВУЧКА

Съдържание


Машинното обучение (ML) може да ви помогне да създадете иновативни, завладяващи и уникални изживявания за вашите мобилни потребители.

След като усвоите ML, можете да го използвате за създаване на широк спектър от приложения, включително приложения, които автоматично организират снимки въз основа на темата им, идентифицират и проследяват лицето на човек в реално течение, извличат текст от изображение и много други ,

Но ML не е точно начинаещ приятелски! Ако искате да подобрите приложенията си за Android с мощни възможности за машинно обучение, тогава откъде точно започвате?

В тази статия ще предоставя преглед на SDK (Kit за разработка на софтуер), който обещава да поставите мощността на ML под ръка, дори ако имате нула ML опит. В края на тази статия ще имате основата, от която се нуждаете, за да започнете да създавате интелигентни приложения, работещи на ML, които могат да етикетират изображения, сканиране на баркодове, разпознаване на лица и известни ориентири и извършване на много други мощни задачи на ML.


Запознайте се с комплекта за машинно обучение на Google

С пускането на технологии като TensorFlow и CloudVision, ML става все по-широко използвана, но тези технологии не са за слабо сърце! Обикновено се нуждаете от дълбоко разбиране на невронните мрежи и анализ на данни, само за да получите започна с технология като TensorFlow.

Дори ако ти правя имате известен опит с ML, създаването на мобилно приложение, задвижвано от машинно обучение, може да отнеме време, сложен и скъп процес, изискващ от вас да предоставите достатъчно данни, за да обучите собствените си модели на ML, и след това да оптимизирате тези модели на ML, за да работят ефективно в мобилна среда. Ако сте индивидуален предприемач или имате ограничени ресурси, може да не е възможно да приложите вашите знания за МЛ на практика.

ML Kit е опитът на Google да доведе машинното обучение до масите.

Под капака ML Kit обединява няколко мощни ML технологии, които обикновено изискват обширни познания за ML, включително Cloud Vision, TensorFlow и API на Neural Networks за Android. ML Kit съчетава тези специализирани ML технологии с предварително обучени модели за обикновени случаи за мобилни приложения, включително извличане на текст от изображение, сканиране на баркод и идентифициране на съдържанието на снимка.


Независимо дали имате някакви предишни познания за ML, можете да използвате ML Kit, за да добавите мощни възможности за машинно обучение към вашия Android и Приложения за iOS - просто предайте някои данни в правилната част на ML Kit, като например API за разпознаване на текст или идентификация на езика и този API ще използва машинно обучение, за да върне отговор.

Как да използвам API на ML Kit?

ML Kit е разделен на няколко API, които се разпространяват като част от платформата Firebase. За да използвате някой от ML Kit API, ще трябва да създадете връзка между вашия Android Studio проект и съответния проект Firebase и след това да комуникирате с Firebase.

Повечето модели ML Kit са налични като модели на устройството, които можете да изтеглите и използвате локално, но някои модели са налични и в облака, което позволява на приложението ви да изпълнява задачи, работещи с ML, чрез интернет връзката на устройството.

Всеки подход има свой уникален набор от силни и слаби страни, така че ще трябва да решите дали локалната или отдалечената обработка има най-голям смисъл за вашето конкретно приложение. Можете дори да добавите поддръжка и за двата модела и след това да позволите на потребителите си да решат кой модел да използват по време на изпълнение. Друга възможност е да конфигурирате приложението си да избере най-добрия модел за текущите условия, например само с помощта на облачен модел, когато устройството е свързано към Wi-Fi.

Ако изберете местния модел, функциите за машинно обучение на приложението ви винаги ще са налице, независимо дали потребителят има активна интернет връзка. Тъй като цялата работа се извършва локално, моделите на устройства са идеални, когато приложението ви трябва бързо да обработва големи количества данни, например, ако използвате ML Kit за манипулиране на видеопоток на живо.

Междувременно облачните модели обикновено осигуряват по-голяма точност от техните колеги на устройството, тъй като облачните модели използват мощността на технологията за машинно обучение на Google Cloud Platform. Например, моделът на устройството на API на Image Labeling API включва 400 етикета, но облачният модел има над 10 000 етикета.

В зависимост от приложния програмен интерфейс (API), може да има и някаква функционалност, която е достъпна само в облака, например API за разпознаване на текст може да идентифицира нелатински знаци само ако използвате неговия модел в облака.

Облачните базирани API са достъпни само за проекти на Firebase на ниво Blaze, така че ще трябва да надстроите до плановия план на Blaze, преди да можете да използвате някой от облачните модели на ML Kit.

Ако все пак решите да изследвате облачните модели, тогава към момента на писането е била налична безплатна квота за всички API на ML Kit. Ако просто сте искали да експериментирате с облачно базирано етикетиране на изображения, тогава можете да надстроите своя Firebase проект до плана Blaze, да тествате API на по-малко от 1000 изображения и след това да превключите обратно към безплатния Spark план, без да бъдете таксувани. Условията обаче имат гаден навик да се променят във времето, така че не забравяйте да прочетете дребния шрифт, преди да надстроите до Blaze, само за да сте сигурни, че няма да бъдете засегнати от неочаквани сметки!

Идентифицирайте текст във всяко изображение с API за разпознаване на текст

API за разпознаване на текст може интелигентно да идентифицира, анализира и обработва текст.

Можете да използвате този API за създаване на приложения, които извличат текст от изображение, така че потребителите ви не трябва да губят време при досадно ръчно въвеждане на данни. Например, можете да използвате API за разпознаване на текст, за да помогнете на потребителите си да извличат и записват информацията от разписки, фактури, визитки или дори хранителни етикети, просто като направите снимка на въпросния артикул.

Можете дори да използвате API за разпознаване на текст като първа стъпка в приложението за превод, където потребителят прави снимка на някакъв непознат текст и API извлича целия текст от изображението, готов да бъде предаден на услуга за превод.

API за разпознаване на текст на ML Kit може да идентифицира текст на всеки език, базиран на латиница, докато неговият колега може да разпознава по-голямо разнообразие от езици и знаци, включително китайски, японски и корейски. Облачният модел също е оптимизиран за извличане на оскъден текст от изображения и текст от плътно пакетирани документи, което трябва да вземете предвид, когато решавате кой модел да използвате в приложението си.

Искате ли практически опит с този API? След това разгледайте нашето стъпка по стъпка ръководство за създаване на приложение, което може да извлече текста от всяко изображение, използвайки API за разпознаване на текст.

Разбиране на съдържанието на изображението: API за етикетиране на изображението

API за етикетиране на изображения може да разпознава образувания в изображение, включително местоположения, хора, продукти и животни, без да са необходими допълнителни контекстуални метаданни. API за етикетиране на изображения ще върне информация за откритите обекти под формата на етикети. Например в следната екранна снимка предоставих на API на снимка с природата и отговорът му беше с етикети като „Forest“ и „River“.

Тази способност за разпознаване на съдържанието на изображението може да ви помогне да създадете приложения, които маркират снимки въз основа на темата им; филтри, които автоматично идентифицират неподходящо подадено от потребители съдържание и го премахват от приложението ви; или като основа за функционалност за разширено търсене.

Много от ML Kit API връщат множество възможни резултати, заедно със съпътстващи оценки за доверие - включително API за етикетиране на изображения. Ако предадете изображението с етикет на снимка на пудел, то може да върне етикети като "пудел", "куче", "домашен любимец" и "малко животно", всички с различни оценки, показващи доверието на API на всеки етикет. Да се ​​надяваме, че в този сценарий „пуделът“ ще има най-високата оценка за доверие!

Можете да използвате този резултат за доверие, за да създадете праг, който трябва да бъде спазен, преди приложението ви да действа върху определен етикет, например да го покаже на потребителя или да маркира снимка с този етикет.

Етикетирането на изображения е достъпно както на устройство, така и в облака, въпреки че ако изберете облачния модел, тогава ще получите достъп до над 10 000 етикета в сравнение с 400 етикета, които са включени в модела на устройството.

За по-задълбочен поглед върху API за етикетиране на изображения, проверете Определете съдържанието на изображението чрез машинно обучение. В тази статия създаваме приложение, което обработва изображение, след което връща етикетите и оценките на доверие за всяко образувание, открито в рамките на това изображение. В това приложение прилагаме и модели на устройства и облаци, така че можете да видите как точно се различават резултатите в зависимост от модела, който сте избрали.

Разбиране на изрази и проследяване на лица: API за разпознаване на лица

API за разпознаване на лица може да намира човешки лица в снимки, видеоклипове и потоци на живо, а след това извлича информация за всяко засечено лице, включително неговата позиция, размер и ориентация.

Можете да използвате този API, за да помогнете на потребителите да редактират снимките си, например като автоматично подрязват цялото празно пространство около най-новата си глава.

API за разпознаване на лица не е ограничен до изображения - можете също да приложите този API към видеоклипове, например можете да създадете приложение, което идентифицира всички лица във видео емисия и след това размива всичко с изключение тези лица, подобно на функцията за размазване на фона на Skype.

Разпознаването на лица е винаги извършва се на устройство, където е достатъчно бързо, за да се използва в реално време, така че за разлика от повечето API на ML Kit, разпознаването на лица прави не включете модел на облака.

В допълнение към откриването на лица, този API има няколко допълнителни функции, които си струва да проучите. Първо, API за разпознаване на лица може да идентифицира ориентири на лицето, като очи, устни и уши, след което извлича точните координати за всяка от тези ориентири. Това признание за забележителност Ви предоставя точна карта на всяко открито лице - идеално за създаване на приложения за разширена реалност (AR), които добавят маски и филтри в стил Snapchat към емисията на камерата на потребителя.

API за разпознаване на лица предлага и лицеви класификация, В момента ML Kit поддържа две класификации на лицето: отворени очи и усмихнати.

Можете да използвате тази класификация като основа за услуги за достъпност, като контроли за свободни ръце или за създаване на игри, които отговарят на изражението на лицето на играча. Възможността да разпознаете дали някой е усмихнат или има отворени очи също може да ви бъде полезна, ако създавате приложение за камера - в края на краищата няма нищо по-лошо от правенето на куп снимки, само че по-късно ще откриете, че някой е затворил очите си в всеки един изстрел.

И накрая, API за разпознаване на лица включва компонент за проследяване на лица, който присвоява ID на лице и след това го проследява в множество последователни изображения или видеокадри. Обърнете внимание, че това е лице проследяване а не истинско лицево признаване, Зад кулисите API за разпознаване на лица проследява позицията и движението на лицето и след това заключава, че това лице вероятно принадлежи на един и същи човек, но в крайна сметка не е наясно с неговата идентичност.

Опитайте API за разпознаване на лица за себе си! Разберете как да създадете приложение за разпознаване на лица с машинно обучение и Firebase ML Kit.

Сканиране с баркод с Firebase и ML

Сканирането с баркод може да не звучи толкова вълнуващо, колкото някои други API за машинно обучение, но това е една от най-достъпните части на ML Kit.

Сканирането на баркод не изисква специализиран хардуер или софтуер, така че можете да използвате API за сканиране на баркод, като същевременно гарантирате, че приложението ви остава достъпно за възможно най-много хора, включително потребители на по-стари или бюджетни устройства. Докато дадено устройство има работеща камера, то не трябва да има проблеми със сканирането на баркод.

API за сканиране на баркод на ML Kit може да извлече широк спектър от информация от печатни и цифрови баркодове, което го прави бърз, лесен и достъпен начин за предаване на информация от реалния свят, към приложението ви, без потребителите да извършват никакво досадно ръчно въвеждане на данни ,

Има девет различни типа данни, които API за сканиране на баркод може да разпознае и анализира от баркод:

  • TYPE_CALENDAR_EVENT. Това съдържа информация като местоположението на организатора, организатора и началния и крайния час.Ако популяризирате събитие, тогава можете да включите отпечатан баркод в своите плакати или флаери или да включите цифров баркод на уебсайта си. След това потенциалните участници могат да извлекат цялата информация за вашето събитие, просто като сканират неговия баркод.
  • TYPE_CONTACT_INFO. Този тип данни обхваща информация като имейл адреса на контакта, име, телефонен номер и заглавие.
  • TYPE_DRIVER_LICENSE. Това съдържа информация като улица, град, щат, име и дата на раждане, свързани с шофьорската книжка.
  • TYPE_EMAIL. Този тип данни включва имейл адрес, плюс темата и основния текст на имейла.
  • TYPE_GEO. Това съдържа географската ширина и дължина за определена географска точка, което е лесен начин да споделите местоположение с вашите потребители или да споделят местоположението си с други. Можете дори потенциално да използвате гео баркодове, за да задействате събития, базирани на местоположението, като например показване на полезна информация за текущото местоположение на потребителя или като основа за мобилни игри, базирани на местоположението.
  • TYPE_PHONE. Това съдържа телефонния номер и типа на номера, например дали е работен или домашен телефонен номер.
  • TYPE_SMS. Това съдържа текст на основния текст на SMS и телефонния номер, свързан с SMS.
  • TYPE_URL. Този тип данни съдържа URL адрес и заглавието на URL адреса. Сканирането на TYPE_URL баркод е много по-лесно, отколкото да разчитате на потребителите си да въвеждат ръчно дълъг, сложен URL адрес, без да правите грешки в грешки или правопис.
  • TYPE_WIFI. Това съдържа SSID и парола за Wi-Fi мрежа, както и нейния тип криптиране, като OPEN, WEP или WPA. Wi-Fi баркодът е един от най-лесните начини за споделяне на идентификационни данни за Wi-Fi, като същевременно премахва напълно риска от това вашите потребители да въвеждат тази информация неправилно.

API за сканиране на баркод може да анализира данни от редица различни баркодове, включително линейни формати като Codabar, Code 39, EAN-8, ITF и UPC-A, и 2D формати като Aztec, Data Matrix и QR кодове.

За да улесни нещата за крайните си потребители, този API сканира за всички поддържани баркодове едновременно и също така може да извлича данни независимо от ориентацията на баркода - така че няма значение дали баркодът е напълно наопаки, когато потребителят го сканира!

Машинно обучение в облака: API за разпознаване на ориентири

Можете да използвате API за разпознаване на забележителности на ML Kit, за да идентифицирате добре известни природни и изградени ориентири в изображението.

Ако предадете на този API изображение, съдържащо известна ориентир, то той ще върне името на тази ориентир, стойностите на географската ширина и дължина и ориентиращото поле, показващо къде е била открита ориентирът в изображението.

Можете да използвате API за разпознаване на забележителности, за да създадете приложения, които автоматично маркират снимките на потребителя или за предоставяне на по-персонализирано изживяване, например, ако приложението ви разпознае, че потребителят прави снимки на Айфеловата кула, то може да предложи някои интересни факти за тази забележителност или да предложи подобни, близки туристически атракции, които потребителят може да иска да посети следващия.

Необичайно за ML Kit, API за откриване на ориентир е наличен само като облачен API, така че вашето приложение ще може да извършва откриване на ориентир само когато устройството има активна интернет връзка.

API за идентификация на езика: Разработване за международна аудитория

Днес приложенията за Android се използват във всяка част на света от потребители, които говорят много различни езици.

API за идентификация на езика на ML Kit може да помогне на приложението ви за Android да се хареса на международна аудитория, като поеме низ от текст и определи езика, на който е написан. API за идентификация на езика може да идентифицира над сто различни езика, включително романизиран текст за арабски, български, Китайски, гръцки, хинди, японски и руски.

Този API може да бъде ценно допълнение към всяко приложение, което обработва предоставен от потребителя текст, тъй като този текст рядко включва каквато и да е езикова информация. Можете също така да използвате API за идентификация на езика в приложенията за превод като първа стъпка към превода нищо, е да знаете на какъв език работите! Например, ако потребителят насочи камерата на устройството си към меню, тогава приложението ви може да използва API за идентификация на езика, за да определи, че менюто е написано на френски език, и след това ще предложи да преведе това меню с помощта на услуга като API за превод в облак ( може би след извличане на текста му, използвайки API за разпознаване на текст?)

В зависимост от въпросния низ API за идентификация на езика може да върне множество потенциални езици, придружени от оценки на доверие, така че да можете да определите кой открит език е най-вероятно да е правилен. Имайте предвид, че по време на писането на ML Kit не можеше да идентифицира няколко различни езика в един и същ низ.

За да се гарантира, че този API осигурява идентификация на езика в реално време, API за идентификация на езика е достъпен само като модел на устройство.

Очаквайте скоро: Интелигентен отговор

Google планираме да добавим още API в ML Kit в бъдеще, но вече знаем за един актуален API.

Според уебсайта на ML Kit предстоящите API за интелигентен отговор ще ви позволи да предлагате контекстуални отговори за съобщения във вашите приложения, като предлагате фрагменти от текст, които отговарят на текущия контекст. Въз основа на това, което вече знаем за този API, изглежда, че Smart Reply ще бъде подобен на функцията за предложен отговор, която вече е налична в приложението за Android, Wear OS и Gmail.

Следният скрийншот показва как изглежда предлаганата функция за отговор в момента в Gmail.

Какво следва? Използване на TensorFlow Lite с ML Kit

ML Kit предлага предварително изградени модели за обикновени случаи за мобилна употреба, но в един момент може да искате да преминете отвъд тези готови модели.

Възможно е да създадете свои собствени ML модели с помощта на TensorFlow Lite и след това да ги разпространите с помощта на ML Kit. Все пак, имайте предвид, че за разлика от готовите API на ML Kit, работата с вашите собствени ML модели изисква а значителен размер на МТ експертиза.

След като създадете своите модели TensorFlow Lite, можете да ги качите в Firebase и Google ще управлява хостинга и обслужването на тези модели на крайните си потребители. В този сценарий ML Kit действа като API слой върху вашия персонализиран модел, което опростява някои от тежките повдигания, участващи в използването на персонализирани модели. Най-важното е, че ML Kit автоматично ще изпрати последната версия на вашия модел към вашите потребители, така че няма да се налага да актуализирате приложението си всеки път, когато искате да настроите вашия модел.

За да осигурите възможно най-доброто потребителско изживяване, можете да зададете условията, които трябва да бъдат изпълнени, преди приложението ви да изтегли нови версии на вашия модел TensorFlow Lite, например само актуализиране на модела, когато устройството е в режим на празен ход, зарежда се или е свързано с Wi- Fi. Можете дори да използвате ML Kit и TensorFlow Lite заедно с други Firebase услуги, например да използвате Firebase Remote Config и Firebase A / B Testing, за да обслужвате различни модели на различни групи потребители.

Ако искате да излезете извън предварително изградени модели или съществуващите модели на ML Kit не отговарят напълно на вашите нужди, можете да научите повече за създаването на собствени модели за машинно обучение, в официалните документи на Firebase.

Обобщавайки

В тази статия разгледахме всеки компонент от комплекта за машинно обучение на Google и обхванахме някои често срещани сценарии, при които може да искате да използвате всеки от API на ML Kit.

Google планира да добави още API в бъдеще, така че кои API за машинно обучение бихте искали да видите добавени към ML Kit следващия? Уведомете ни в коментарите по-долу!

На изображението по-горе ще видите доста икони на приложения в Google Play tore. tarbuck един е кръг, PUBG Mobile е квадрат, а иконата Lyft е катеричка - макар и с различна форма на катеричка в сравне...

След като Международният ден на жените е само седмица, Google иска да отбележи предстоящия повод, като представя игри, направени от жени в Play tore.Ето списъка с популярни игри и жените зад тези игри...

Препоръчано От Нас