Kuidas lisada masinõpe oma Androidi rakendustesse

Autor: Peter Berry
Loomise Kuupäev: 16 August 2021
Värskenduse Kuupäev: 1 Juuli 2024
Anonim
Kuidas lisada masinõpe oma Androidi rakendustesse - Rakendused
Kuidas lisada masinõpe oma Androidi rakendustesse - Rakendused

Sisu


Masinõpe (ML) aitab teil luua oma mobiilikasutajatele uuenduslikke, köitvaid ja ainulaadseid kogemusi.

Kui olete omandanud ML-i, saate selle abil luua laia valiku rakendusi, sealhulgas rakendusi, mis korraldavad fotod vastavalt nende objektile automaatselt, tuvastavad ja jälgivad inimese nägu reaalajas, eraldavad pildilt teksti ja palju muud .

Kuid ML pole täpselt algaja sõbralik! Kui soovite täiustada oma Androidi rakendusi võimsate masinõppe võimalustega, siis kust te täpselt alustate?

Selles artiklis annan ülevaate SDK-st (tarkvaraarenduse komplekt), mis lubab panna ML-i käeulatusesse, isegi kui teil on null ML kogemus. Selle artikli lõpuks on teil olemas vundament, mida peate kasutama intelligentsete, ML-toega rakenduste loomiseks, mis on võimelised pilte märgistama, skannima vöötkoode, tuvastama nägusid ja kuulsaid maamärke ning täitma paljusid muid võimsaid ML-i ülesandeid.


Tutvuge Google'i masinõppe komplektiga

Selliste tehnoloogiate nagu TensorFlow ja CloudVision väljalaskega on ML üha laiemalt kasutusel, kuid need tehnoloogiad ei ole südame jaoks nõrgad! Tavaliselt vajate neurovõrkude ja andmeanalüüsi põhjalikku tundmist algas sellise tehnoloogiaga nagu TensorFlow.

Isegi kui sina teha teil on mõningaid kogemusi ML-iga, masinõppega mobiilirakenduse loomine võib olla aeganõudev, keeruline ja kallis protsess, mille jaoks peate oma ML-mudelite koolitamiseks hankima piisavalt andmeid ja optimeerima need ML-mudelid siis, et need saaksid tõhusalt töötada mobiilne keskkond. Kui olete isiklik arendaja või teil on piiratud ressursse, ei pruugi teie ML-i teadmisi olla võimalik praktikas rakendada.

ML-komplekt on Google'i katse tuua masinõpe massidesse.

Kapoti alla koondab ML Kit mitu võimsat ML-tehnoloogiat, mis tavaliselt nõuavad põhjalikke ML-teadmisi, sealhulgas Cloud Vision, TensorFlow ja Android Neural Networks API. ML-komplekt ühendab need spetsiaalsed ML-tehnoloogiad eelkoolitatud mudelitega, mis on ette nähtud tavaliseks mobiilikasutuseks, sealhulgas teksti eraldamine pildilt, vöötkoodi skannimine ja foto sisu tuvastamine.


Sõltumata sellest, kas teil on varasemaid teadmisi ML-i kohta, saate ML-komplekti abil oma Androidile lisada võimsaid masinõppe võimalusi ja iOS-i rakendused - edastage lihtsalt mõned andmed ML-i komplekti õigesse ossa, näiteks tekstituvastuse või keele tuvastamise API-le ja see API kasutab vastuse tagastamiseks masinõpet.

Kuidas kasutada ML Kit API-sid?

ML-komplekt on jagatud mitmeks API-ks, mida levitatakse Firebase'i platvormi osana. ML Kit-i API-de kasutamiseks peate looma ühenduse oma Android Studio projekti ja vastava Firebase-projekti vahel ning seejärel Firebase-iga suhtlema.

Enamik ML-komplekti mudeleid on saadaval seadmes kasutatavate mudelitena, mida saate kohapeal alla laadida ja kasutada, kuid mõned mudelid on saadaval ka pilves, mis võimaldab teie rakendusel täita ML-toega ülesandeid seadme Interneti-ühenduse kaudu.

Igal lähenemisel on oma ainulaadne tugevate ja nõrkade külgede komplekt, nii et peate otsustama, kas kohalik või kaugtöötlus on teie konkreetse rakenduse jaoks kõige mõistlikum. Võite isegi lisada mõlemale mudelile tugiteenused ja seejärel lubada kasutajatel otsustada, millist mudelit käitusel kasutada. Teise võimalusena võite oma rakenduse konfigureerida valima praeguste tingimuste jaoks parima mudeli, näiteks kasutades ainult pilvepõhist mudelit, kui seade on ühendatud WiFi-ga.

Kui valite kohaliku mudeli, on teie rakenduse masinõppe funktsioonid alati saadaval, olenemata sellest, kas kasutajal on aktiivne Interneti-ühendus. Kuna kogu töö toimub kohapeal, on seadmemudelid ideaalsed, kui teie rakendus peab töötlema suuri andmemahte kiiresti, näiteks kui kasutate reaalajas videovoo manipuleerimiseks ML-komplekti.

Samal ajal pakuvad pilvepõhised mudelid tavaliselt suuremat täpsust kui nende seadmed mujal, kuna pilvemudelid kasutavad ära Google Cloud Platformi masinõppe tehnoloogia jõudu. Näiteks sisaldab Image Labiling API seadmemudel 400 silti, kuid pilvemudel funktsioneerib 10 000 silti.

Sõltuvalt API-st võib olla ka mõni funktsioon, mis on saadaval ainult pilves, näiteks saab tekstituvastuse API tuvastada mitte-ladina tähemärke ainult siis, kui kasutate selle pilvepõhist mudelit.

Pilvepõhised API-liidesed on saadaval ainult Blaze'i taseme Firebase'i projektide jaoks, nii et enne ML Kit'i pilvemudelite kasutamist peate üle minema tasulisele Blaze'i plaanile.

Kui otsustate pilvemudeleid uurida, oli selle kirjutamise ajal kõikidele ML Kit API-dele saadaval tasuta kvoot. Kui soovite lihtsalt katsetada pilvepõhist pildimärgistamist, siis saate oma Firebase'i projekti Blaze'i plaanile uuendada, testida API-d vähem kui 1000 pildil ja seejärel minna tagasi tasuta Sparki plaani, ilma et peaksite midagi laadima. Tingimustel on aga vastik komme aja jooksul muutuda, nii et lugege enne Blaze'ile üleviimist kindlasti läbi väike trükk ja veenduge, et teid ei taba ootamatud arved!

Tuvastage suvalise pildi tekst tuvastamise API abil

Tekstituvastuse API abil saab teksti intelligentselt tuvastada, analüüsida ja töödelda.

Selle API abil saate luua rakendusi, mis eraldavad pildilt teksti, nii et teie kasutajad ei pea kulutama aega tüütutele käsitsi sisestamisele. Näiteks võite kasutada tekstituvastuse API-d, et aidata kasutajatel kasutajatel välja võtta ja salvestada teave kviitungite, arvete, visiitkaartide või isegi toitumissiltide kohta, tehes lihtsalt kõnealusest üksusest foto.

Võiksite tõlkerakenduse esimese sammuna kasutada isegi tekstituvastuse API-d, kus kasutaja teeb mõne harjumatu teksti foto ja API ekstraheerib pildilt kogu teksti, mis on valmis tõlketeenusele edastamiseks.

ML-Kit seadme tekstituvastuse API abil saab teksti tuvastada mis tahes ladina keeles, samas kui pilvepõhine vaste tunneb ära suuremat hulka keeli ja tähemärke, sealhulgas hiina, jaapani ja korea tähemärke. Pilvepõhine mudel on optimeeritud ka hõreda teksti eraldamiseks piltidest ja tekstidest tihedalt pakitud dokumentidest, mida peaksite oma rakenduses kasutatava mudeli valimisel arvestama.

Kas soovite selle API-ga saada praktilisi kogemusi? Seejärel vaadake meie samm-sammulist juhendit rakenduse loomiseks, mis teksti tuvastamise API abil võimaldab mis tahes pildilt teksti ekstraheerida.

Kujutise sisu mõistmine: Image Labiling API

Kujutiste sildistamise API saab pildil olevaid üksusi, sealhulgas asukohti, inimesi, tooteid ja loomi ära tunda, ilma et oleks vaja täiendavaid kontekstilisi metaandmeid. Image Labelling API tagastab teabe tuvastatud üksuste kohta siltide kujul. Näiteks järgmises ekraanipildis esitasin API-le loodusfoto ja sellele reageeriti selliste siltidega nagu “Mets” ja “Jõgi”.

See võime pildi sisu ära tunda aitab teil luua rakendusi, mis märgistavad fotod nende sisu põhjal; filtrid, mis tuvastavad automaatselt kasutaja sobimatu sisu ja eemaldavad selle teie rakendusest; või täpsema otsingu funktsionaalsuse alusena.

Paljud ML Kit API-st annavad mitu võimalikku tulemust koos kaasnevate usaldusvahemikega - sealhulgas Image Labelling API. Kui läbite pildimärgistuse abil puudli foto, võib see tagastada sildid, nagu „puudel”, „koer”, „lemmikloom” ja „väike loom”, erineva hindega, mis näitab API usaldust iga sildi suhtes. Loodetavasti on selle puuduse korral “puudli” usaldus kõige suurem!

Selle usaldusnumbri abil saate luua läve, mis peab olema täidetud enne, kui teie rakendus tegutseb teatud sildil, näiteks kuvatakse see kasutajale või märgistatakse foto sellel sildil.

Kujutiste sildistamine on saadaval nii seadmes kui ka pilves, ehkki kui valite pilvemudeli, saate juurdepääsu üle 10 000 sildile, võrreldes 400 sildiga, mis seadmesse on lisatud.

Kujutiste sildistamise API-le põhjalikuma ülevaate saamiseks vaadake teemat Kujutise sisu määramine masinõppe abil. Selles artiklis loome pildi töötleva rakenduse ja tagastame siis selle pildi iga tuvastatud olemi sildid ja usaldusvahemikud. Samuti rakendame selles rakenduses seadme- ja pilvemudeleid, nii et näete täpselt, kuidas tulemused erinevad, sõltuvalt sellest, millise mudeli valite.

Väljendite mõistmine ja nägude jälgimine: näotuvastuse API

Näotuvastuse API abil saab inimeste nägusid fotode, videote ja reaalajas voogude abil üles leida ning seejärel ekstraheerida teavet iga tuvastatud näo kohta, sealhulgas selle asukoht, suurus ja suund.

Saate seda API-d kasutada selleks, et aidata kasutajatel oma fotosid redigeerida, näiteks kärpides automaatselt viimase tühja pildi ümber kogu tühja ruumi.

Näotuvastuse API ei ole piiratud piltidega - saate seda API-d rakendada ka videote jaoks, näiteks võite luua rakenduse, mis tuvastab kõik videovoo näod ja hägustab seejärel kõik välja arvatud need näod, mis sarnanevad Skype'i tausta hägususe funktsiooniga.

Näotuvastus on alati teostatakse seadmes, kus see on piisavalt kiire, et seda saaks reaalajas kasutada, nii et erinevalt enamikust ML Kit'i API-dest teeb näotuvastus mitte lisada pilvemudel.

Lisaks nägude tuvastamisele on sellel API-l veel mõned lisafunktsioonid, mida tasub uurida. Esiteks saab näotuvastuse API tuvastada näo orientiire, nagu silmad, huuled ja kõrvad, ning seejärel leida kõigi nende vaatamisväärsuste täpsed koordinaadid. See maamärkide äratundmine pakub teile iga tuvastatud näo täpse kaardi - sobib suurepäraselt liitreaalsuse (AR) rakenduste loomiseks, mis lisavad kasutaja kaameravoogu Snapchati-laadseid maske ja filtreid.

Näotuvastuse API pakub ka nägu klassifikatsioon. Praegu toetab ML Kit kahte näoklassifikatsiooni: silmad lahti ja naeratavad.

Saate seda klassifikatsiooni kasutada juurdepääsetavusteenuste, näiteks käed-vabad-juhtelementide, alusena või mängude loomiseks, mis vastavad mängija näoilmele. Kaamerarakenduse loomisel võib abi olla ka võimalusest tuvastada, kas keegi naeratab või kellel on silmad lahti - pole ju midagi hullemat kui hunniku fotode tegemine, et alles hiljem teada saada, et kellelgi olid silmad kinni sisse iga üksik lask.

Lõpuks sisaldab näotuvastuse API näojälgimiskomponent, mis määrab näole ID ja jälgib seda nägu mitme järjestikuse pildi või videoraami kaudu. Pange tähele, et see on nägu jälgimine ja mitte päris nägu tunnustus. Stseenide taga jälgib näotuvastuse API näo positsiooni ja liikumist ning järeldab siis, et see nägu kuulub tõenäoliselt samale inimesele, kuid ta pole lõppkokkuvõttes teadlik inimese identiteedist.

Proovige ise näotuvastuse API-t! Siit saate teada, kuidas masinõppe ja Firebase ML komplekti abil näotuvastuse rakendust luua.

Vöötkoodi skaneerimine Firebase'i ja ML-iga

Vöötkoodi skannimine ei pruugi kõlada nii põnevalt kui mõned muud masinõppe API-d, kuid see on üks ML-komplekti kõige kättesaadavamaid osi.

Vöötkoodi skannimine ei vaja spetsiaalset riistvara ega tarkvara, nii et võite kasutada vöötkoodi skannimise API-d, tagades samal ajal, et teie rakendus jääb juurdepääsetavaks võimalikult paljudele inimestele, sealhulgas vanemate või eelarves olevate seadmete kasutajatele. Kuni seadmel on toimiv kaamera, ei tohiks sellel vöötkoodi skaneerimisega probleeme olla.

ML-Kit vöötkoodi skaneerimise API-l on võimalik trükitud ja digitaalsetest vöötkoodidest saada palju teavet, mis teeb selle kiireks, lihtsaks ja juurdepääsetavaks viisiks teabe edastamise kaudu pärismaailmast teie rakendusele, ilma et kasutajad peaksid tegema tüütuid käsitsi sisestatavaid andmeid. .

Seal on üheksa erinevat andmetüüpi, mida vöötkoodi skaneerimise API suudab vöötkoodi tuvastada ja parsida:

  • TYPE_CALENDAR_EVENT. See sisaldab teavet, näiteks sündmuse asukoht, korraldaja ning algus- ja lõpuaeg.Kui reklaamite sündmust, võite lisada plakatitele või lendlehtedele trükitud vöötkoodi või oma veebisaidil digitaalse vöötkoodi. Potentsiaalsed osalejad saavad kogu sündmuse kohta teabe koguda, lihtsalt skannides selle vöötkoodi.
  • TYPE_CONTACT_INFO. See andmetüüp hõlmab sellist teavet nagu kontakti e-posti aadress, nimi, telefoninumber ja pealkiri.
  • TYPE_DRIVER_LICENSE. See sisaldab teavet, näiteks tänav, linn, osariik, nimi ja juhiloaga seotud sünniaeg.
  • TYPE_EMAIL. See andmetüüp sisaldab e-posti aadressi, e-posti teemarea ja põhiteksti.
  • TYPE_GEO. See sisaldab konkreetse geopunkti laius- ja pikkuskraadi, mis on lihtne viis asukoha jagamiseks kasutajatega või kasutajatele oma asukoha jagamiseks. Võite asukohapõhiste sündmuste käivitamiseks potentsiaalselt kasutada ka geograafilisi vöötkoode, näiteks kuvada kasulikku teavet kasutaja praeguse asukoha kohta või asukohapõhiste mobiilimängude alusena.
  • TYPE_PHONE. See sisaldab telefoninumbrit ja numbri tüüpi, näiteks kas see on töö või kodune telefoninumber.
  • TYPE_SMS. See sisaldab SMS-i tekstiosa ja SMS-iga seotud telefoninumbrit.
  • TYPE_URL. See andmetüüp sisaldab URL-i ja URL-i pealkirja. TYPE_URL vöötkoodi skaneerimine on palju lihtsam, kui loota kasutajatele pika keeruka URL-i käsitsi sisestamisele ilma kirjavigu või kirjavigu tegemata.
  • TYPE_WIFI. See sisaldab WiFi-võrgu SSID-d ja parooli ning selle krüptimistüüpi nagu AVATUD, WEP või WPA. Wi-Fi vöötkood on üks lihtsamaid viise WiFi mandaatide jagamiseks, vältides samas täielikult ka riski, et kasutajad sisestavad selle teabe valesti.

Vöötkoodi skaneerimise API saab sõeluda paljude erinevate vöötkoodide andmeid, sealhulgas lineaarsed vormingud nagu Codabar, kood 39, EAN-8, ITF ja UPC-A ning 2D vormingud nagu Aztec, Data Matrix ja QR Koodid.

Lõppkasutajate jaoks hõlpsamaks muutmiseks skannib see API kõiki toetatud vöötkoode korraga ja saab andmeid ka sõltumata vöötkoodi orientatsioonist välja tõmmata - seega pole vahet, kas vöötkood on kasutaja skaneerimisel täiesti tagurpidi!

Masinõpe pilves: maamärkide tuvastuse API

Kujutises tuntud looduslike ja ehitatud maamärkide tuvastamiseks võite kasutada ML Kit'i maamärkide tunnustamise API-d.

Kui edastate selle API-st pildi, mis sisaldab kuulsat maamärki, tagastab see selle maamärgi nime, maamärgi laius- ja pikkuskraadi väärtused ning piirdekasti, mis näitab, millal maamärk maapinnast leiti.

Landmark Recognition API abil saate luua rakendusi, mis automaatselt märgistavad kasutaja fotod, või kohandatud kogemuse pakkumiseks, näiteks kui teie rakendus tuvastab, et kasutaja pildistab Eiffeli torni, siis võib see pakkuda huvitavaid fakte seda vaatamisväärsust või soovitada sarnaseid lähedal asuvaid turismiatraktsioone, mida kasutaja võiks järgmisena külastada.

Ebatavaliselt ML-komplekti jaoks on maamärkide tuvastamise API saadaval ainult pilvepõhise API-na, nii et teie rakendus saab maamärkide tuvastamist teostada ainult siis, kui seadmel on aktiivne Interneti-ühendus.

Keeletuvastuse API: arendamine rahvusvahelise publiku jaoks

Tänapäeval kasutavad Androidi rakendusi kõikjal maailmas kasutajad, kes räägivad paljusid erinevaid keeli.

ML-i komplekti keeletuvastusliides aitab teie Androidi rakendusel pöörduda rahvusvahelise publiku poole, võttes teksti stringi ja määrates kindlaks keele, milles see on kirjutatud. Keele tuvastamise API abil saab tuvastada üle saja erineva keele, sealhulgas latiniseeritud tekst araabia, bulgaaria, Hiina, kreeka, hindi, jaapani ja vene keeles.

See API võib olla väärtuslik lisand kõigile rakendustele, mis töötlevad kasutaja edastatud teksti, kuna see tekst sisaldab harva mis tahes keeleteavet. Tõlkimise esimese sammuna võite kasutada ka keele tuvastamise API-d ükskõik mida, on teada, mis keeles te töötate! Näiteks kui kasutaja osutab oma seadme kaamera menüüle, võib teie rakendus kasutada keele tuvastamise API-d, et teha kindlaks, kas menüü on kirjutatud prantsuse keeles, ja siis pakkuda seda menüüd tõlkida, kasutades sellist teenust nagu pilve tõlke API ( võib-olla pärast teksti ekstraheerimist tekstituvastuse API abil?)

Sõltuvalt kõnealusest stringist võib keele tuvastamise API tagastada mitu potentsiaalset keelt koos usaldusvahemikega, et saaksite kindlaks teha, milline tuvastatud keel on tõenäoliselt kõige õigem. Pange tähele, et ML Kit ei suutnud selle kirjutamise ajal tuvastada ühes jadas mitut erinevat keelt.

Tagamaks, et see API pakub keele tuvastamist reaalajas, on keele tuvastamise API saadaval ainult seadme mudelis.

Varsti: nutikas vastus

Google kavatseb tulevikus lisada ML-komplekti veel API-sid, kuid me teame juba ühest valmisolevast API-st.

ML Kit veebisaidi andmetel on tulevane Nutika vastuse API võimaldab teil oma rakendustes pakkuda kontekstipõhiseid sõnumite vastuseid, soovitades praegusesse konteksti sobivat teksti lõiku. Sellel API-l juba teada olevate andmete põhjal näib, et nutikas vastus sarnaneb soovitatud vastuse funktsiooniga, mis on juba saadaval Androidi rakenduses, Wear OS-is ja Gmailis.

Järgmine ekraanipilt näitab, kuidas soovitatud reageerimise funktsioon praegu Gmailis välja näeb.

Mis järgmiseks? TensorFlow Lite'i kasutamine koos ML-komplektiga

ML-komplekt pakub mobiiltelefonide kasutamiseks tavalisi mudeleid, kuid võiksite siiski liikuda nendest valmismudelitest kaugemale.

TensorFlow Lite abil on võimalik luua oma ML-mudelid ja seejärel neid ML-komplekti abil levitada. Pidage aga meeles, et erinevalt ML Kit'i valmis API-dest nõuab teie enda ML-mudelitega töötamine märkimisväärne ML ekspertiisi hulk.

Kui olete oma TensorFlow Lite mudelid loonud, saate need Firebase'i üles laadida ja Google haldab seejärel nende mudelite majutamist ja lõppkasutajatele teenindamist. Selle stsenaariumi korral toimib ML Kit teie kohandatud mudeli kohal API-kihina, mis lihtsustab kohandatud mudelite kasutamisel osa raskustest. Kõige olulisem on see, et ML Kit tõstab teie mudeli uusima versiooni automaatselt kasutajateni, nii et te ei pea oma rakendust iga kord värskendama, kui soovite oma mudelit näpistada.

Parima võimaliku kasutajakogemuse pakkumiseks saate täpsustada tingimused, mis peavad olema täidetud, enne kui teie rakendus TensorFlow Lite'i mudeli uued versioonid alla laadib, näiteks mudeli värskendamiseks ainult siis, kui seade on jõude, laadimisel või ühendatud Wi- Fi. Võite kasutada ka ML Kit ja TensorFlow Lite muude Firebase teenuste kõrval, näiteks kasutades Firebase Remote Config ja Firebase A / B testimist, et teenindada erinevaid mudeleid erinevatele kasutajarühmadele.

Kui soovite liikuda kaugemale eelehitatud mudelitest või kui ML-Kit olemasolevad mudelid ei vasta teie vajadustele, saate ametlike Firebase-dokumentide kaudu lisateavet oma masinõppe mudelite loomise kohta.

Pakkimine üles

Selles artiklis vaatlesime Google'i masinõppekomplekti kõiki komponente ja vaatlesime mõnda tavalist stsenaariumi, kus võiksite kasutada kõiki ML Kit-i API-sid.

Google plaanib tulevikus lisada rohkem API-sid, nii et milliseid masinõppe API-sid soovite järgmisena lisada ML-i komplekti? Andke meile allolevates kommentaarides teada!

Neljapäeval ajakirjanikega peetud briifingul paljata riigiameti küberpoliitika aekantleri aetäitja Rob trayer, et UA valitu tõenäolielt ei pikenda ajutit loobumit, mi lubab Hu...

Auguti lõpuWall treeti ajakiri avalda artikli, mi kekendu Hiina nutitelefonide tootja Huawei vatu eitatud patendiõigue rikkumie väidetele. Täna avalda ettevõte vatuek ellele a...

Rohkem Detaile