Machine leren. Diep leren. Natuurlijke taalverwerking. Computer visie. Automatisering. Spraakherkenning. Je hebt waarschijnlijk onlangs al deze en vele andere voorwaarden gehoord, allemaal onder de paraplu van kunstmatige intelligentie. In feite groeit het veld zo snel, het wordt steeds moeilijker om een definitieve definitie te spijkeren. AI wordt een deel van bijna elk aspect van ons leven, van e-commerce websites en zoekmachines om je telefoon te ontgrendelen.
Uw websites en apps kunnen API's gebruiken om rechtstreeks in de kracht van AI te tikken. Zonder een AI-agenten te hoeven "trainen, kunt u profiteren van enorme hoeveelheden gegevens die al worden geanalyseerd. Google, Amazon, IBM en vele anderen hebben eindpunten gemaakt voor ontwikkelaars om in te haken en meteen met AI te gaan.
Aan de voorkant kunt u spraakopdrachten, chatbot-interfaces of reactieve WebGL creatieve elementen aansluiten. Op het achtereinde gebruiken databases intelligente algoritmen om snelheid en analyse te maximaliseren. API's kunnen een laag abstractie bieden van een breed scala aan AI-functies, van voorspellingen tot collectieve training.
Denk eraan, als u uw site complexer maakt, is het van vitaal belang dat u uw keuze van beoordeelt web hosting Service om ervoor te zorgen dat het het aankan. Een site helemaal opnieuw maken? Overweeg het proces met een top te vereenvoudigen website bouwer En als je een nieuw maakt ontwerpsysteem , het is belangrijk om het veilig en toegankelijk te houden in fatsoenlijk cloud opslag
Computervisie is het onderzoek en de oprichting van kunstmatige systemen die informatie uitbeelden uitpakken. Het kan ook het mechanische systeem van visie zelf omvatten. In termen van erkenning is het het proces van het analyseren en bepalen van de inhoud van een afbeelding of reeks afbeeldingen (inclusief video). Dit kan medische scans, foto's, 360-graden video en vrijwel elke vorm van beelden die je maar kunt voorstellen.
AI-Powered Computer Vision kan:
Er zijn veel keuzes voor Vision API's, maar we gebruiken Google's Cloud Vision API. Google hosts veel AI API's, inclusief natuurlijke taalverwerking, spraakherkenning, diep leren en visie.
De Cloud Vision API maakt uw sites en apps in staat om te begrijpen wat er in een afbeelding zit. Het classificeert de inhoud in categorieën, het labelen van alles wat het ziet. Het biedt ook een betrouwbaarheidsscore, dus je weet hoe waarschijnlijk het is dat wat het gelooft in een afbeelding er daadwerkelijk verschijnt. U kunt dit gebruiken om intelligent te communiceren met betrekking tot de camera-invoer in AR- of VIDEO-apps. Je zou hulpmiddelen kunnen maken om degenen te helpen die visueel aangetast zijn. Je zou assistenten kunnen creëren om gebouwen of bezienswaardigheden te identificeren voor toeristen. De mogelijkheden zijn eindeloos.
Als u eerder Google-API's hebt gebruikt, zijn sommige van deze eerste stappen bekend. Net als bij andere Google-services, moet u een cloudproject instellen. Ga naar de Google Cloud Platform Console en maak een nieuw project of selecteer een bestaande. Zoals de meeste van de diensten van Google, is de Cloud Vision API vrij om te gebruiken totdat u veel API-verzoeken gaat maken. Mogelijk moet u factureringsinformatie invoeren wanneer u de API activeert, maar dit wordt niet in rekening gebracht met een laag volume aanvragen en u kunt de services verwijderen nadat u klaar bent met het testen.
Blader door de API-bibliotheek en selecteer de Cloud Vision API voor uw project.
Eenmaal ingeschakeld, zou u een beetje groene cheque en het bericht 'API' hiernaast moeten zien.
Vervolgens moet je een opzetten serviceaccount Denk aan de API als een webservice die u aan het maken bent. Omdat we het gebruik als een typische service gaan opzetten, is dit de beste praktijk. Het werkt ook het beste met authenticatiestroom.
Zodra u een project hebt met de API-ingeschakelde en een servicekening, kunt u uw privésleutel downloaden als een JSON-bestand. Let op de locatie van het bestand, zodat u het in de volgende stappen kunt gebruiken.
Als je problemen hebt met de eerste paar stappen is er een snelle startgids Dat helpt en eindigt met het downloaden van de JSE-sleutel.
Je moet de Google_Application_credentials Milieuvariabele, dus het is toegankelijk via onze API-oproepen. Dit wijst op het JSON-bestand dat u zojuist hebt gedownload en bespaart u elke keer het pad te typen. Open een nieuw terminalvenster en gebruik de exporteren opdracht zoals SO:
export GOOGLE_APPLICATION_CREDENTIALS="/Users/[username]/Downloads/[file name].json"
Vervang de [Gebruikersnaam] met je gebruikersnaam. Zorg ervoor dat het pad naar de plaats die u hebt opgeslagen het privésleutelbestand correct is. Vervang de [bestandsnaam] Met uw privésleutelbestand en gebruik het pad naar uw bestand.
Op Windows kunt u hetzelfde doen via de opdrachtregel, zoals dit:
$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\[username]\Downloads\[FILE_NAME].json"
Opmerking: als u uw Terminal- of Console-venster sluit, moet u mogelijk dat opnieuw uitvoeren om de variabele opnieuw in te stellen. We zullen dit ook in onze PHP-code toevoegen, dus u hoeft er geen zorgen over te maken.
Nu ben je klaar om in de Cloud Vision API te graven. U gebruikt Curl om snelle tests van de API te doen. U kunt ook deze methode ook vanuit uw code gebruiken.
De Curl-aanvragen kunnen in de meeste talen worden gemaakt, of dat nu PHP, Python of Node is. Op deze manier kunt u de oproepen direct in de opdrachtregel maken of het resultaat toewijzen aan een variabele in de taal van uw keuze. Zoek enkele snelle tips voor het gebruik van Curl hier
Maak een eenvoudig JSON-bestand om de details van het verzoek te houden. Noem het google_vision.json Bewaar het lokaal voor waar u de opdrachten van de terminal wilt uitvoeren.
{
"Verzoeken": [
"beeld":{
"bron":{
"Imageuri":
"https://upload.wikimedia.org/wikipedia/commons/9/93/golden_retriever_carlos_%2810581910556%29.jpg"
"Kenmerken": [{
"Type": "Type_UNSPECIFICEERD",
"Maxresults": 50
"Type": "Landmark_Detection",
"Maxresults": 50
"Type": "Face_Detection",
"Maxresults": 50
"Type": "Label_Detection",
"Maxresults": 50
"Type": "Text_Detection",
"Maxresults": 50
"Type": "Safe_search_Detection",
"Maxresults": 50
"Type": "Image_Properties",
"Maxresults": 50
}
In de bovenstaande code, hebt u een afbeelding aangegeven om te analyseren, evenals specifieke API-kenmerken die moeten worden gebruikt, inclusief detectie voor gezichtsdetectie en bezienswaardigheden. Safe_search_Detection is geweldig om te weten of het beeld veilig is en in welke categorie het behoort, zoals volwassen inhoud of gewelddadig. Image_properties vertelt u over de details van de kleuren en pixelniveau.
Voer het volgende in om de Curl-opdracht uit te voeren in uw Terminal- of Command Line-interface.
Curl -x Post -H "Autorisatie: drager" $ (gcloud AUTH-applicatie-standaard print-access-token) -H "Content-Type: Toepassing / JSON; CharsSet = UTF-8" - DATA-BINARY @ google_vision.json "https://vision.gogleapis.com/v1/images:annotate" & GT; Resultaten
Door de & GT; resultaten Syntaxis, u hebt de resultaten opgeslagen in een nieuw bestand met de naam resultaten voor u. U hebt de URL aangegeven aan de API ( "https://vision.gogleapis.com/v1/images:annotate" ) en inclusief uw JSON-gegevens aan POST eraan.
U kunt erop worden gevraagd de eerste keer dat u dit gebruikt om de API te activeren of toegang toe te staan. Antwoord Ja of Y tot die prompt en het zou de JSON moeten retourneren.
Als u het resultatenbestand opent, krijgt u JSON-gegevensresultaten van het Vision API-aanvraag. Hier is een fragment:
"Reacties": [
"Labelannotations": [
"MID": "/ M / 0BT9LR",
"Beschrijving": "Hond",
"Score": 0.982986,
"Topicality": 0.982986
"Midden": "/ m / 01t032",
"Beschrijving": "Golden Retriever",
"Score": 0.952482,
"Topicality": 0.952482
...
Je ziet meteen een aantal zeer nuttige resultaten. Onder de Labelannotations Knooppunt, je kunt een 98 procent bekijken die overeenkomen met de afbeelding bevat een "hond" en een 95 procent match die het een "golden retriever" bevat! De AI identificeerde al de inhoud van het beeld en ander detail, inclusief een "snuit" en het feit dat het waarschijnlijk een "sporthond" is.
Dit vereiste geen training van uw kant vanwege het reeds opgeleide Google Vision AI-systeem. Door de resultaten te scannen, ziet u alles van aanbevolen gewassenregio's - voor het automatisch bijsnijden van afbeeldingen aan onderwerpen - tot ongelooflijk detail van wat in de afbeeldingen is, inclusief kleuren en inhoud. Probeer het uit met andere afbeeldingen om te zien hoe krachtig de API is.
U kunt deze methode blijven gebruiken om de oproepen te testen die we gebruiken. U kunt ook een lokale SDK instellen in een taal die u verkiest en integreert in uw app.
Vervolgens maakt u een eenvoudige webgebaseerde app om te laten zien hoe u de API in uw project kunt integreren.
Er zijn een aantal SDK's verkrijgbaar in verschillende talen om integratie eenvoudig te maken. U gebruikt de PHP SDK voor dit volgende gedeelte. Als u de code wilt aanpassen die volgt in een andere taal, is er een geweldige bron van SDK's hier
Begin met ervoor te zorgen dat u een projectmap hebt ingesteld op uw lokale of externe server. Als u het nog niet hebt, ontvang u Composer en installeert u deze op uw projectmap. Optioneel heeft u mogelijk componist die al globaal is geïnstalleerd en dat is ook goed.
Voer de volgende componistopdracht uit om de leveranciersbestanden te installeren voor de Cloud Vision SDK.
PHP -R "kopiëren ('https://getcomposer.org/installer', 'componer-setup.php');"
PHP -R "IF (HASH_FILE ('SHA384', 'Composer-Setup.php') === '93B54496392C0627746 70AC18B134C3B3A95E5A5E5C8
F1A9F115F203B75BF9A129D5DAA8BA6A13E2CC8A1DA080
6388A8 ') {echo' installer geverifieerd '; } anders {echo 'installateur corrupt'; ontkoppelen ('componer-setup.php'); } echo PHP_EOL; "
PHP Composer-Setup.php
PHP -R "ontkoppelen ('componer-setup.php');"
PHP Composer.Phar vereist Google / Cloud-Vision
Componist maakt een leveranciersmap in uw projectmap en installeert alle afhankelijkheden voor u. Als je vastloopt, instellen dit en wil je PHP gebruiken, kun je dit bekijken Composeerresource installeren
Maak een nieuw PHP-bestand in uw projectmap. Stel het in dat je het leuk vindt, maar neem een eenvoudig HTML-formulier op om afbeeldingen te uploaden voor snel testen. Hier is een voorbeeld PHP-bestand met het meegeleverde formulier:
& LT;! DOCTYPE HTML & GT;
& lt; html & gt;
& LT; HOOFD & GT;
& LT; TITLE & GT; NET - Computer Vision Tutorial & LT; / TITLE & GT;
& LT; / HOOFD & GT;
& LT; BODY & GT;
& LT; Form Action = "Index.php" encyPe = "Multipart / Form-data" -methode = "Post" & GT;
& LT; H1 & GT; Selecteer beeld & lt; / H1 & GT;
& LT; INPUT TYPE = "Bestand" Naam = "Bestand" & GT; & LT; BR / & GT; & LT; BR / & GT;
& LT; INPUT Type = "Verzenden" Waarde = "Naam uploaden" uploaden = "Verzenden" & GT; & LT; BR / & GT;
& LT; / Form & GT;
& lt; div class = "resultaten" & GT;
& lt;? php
// PHP-code gaat hier //
if (! isset ($ _ post ['submit'])) {dobbelsteen ();
? & GT;
& LT; / DIV & GT;
& LT; / BODY & GT;
& LT; / HTML & GT;
De code bevat een standaard HTML-bestand met een formulier en een tijdelijke aanduiding voor PHP-code. De code begint te controleren op het bestaan van de afbeelding, ingediend vanuit het formulier. Als het nog niet is ingediend, doet het niets.
Als u liever online of op uw systeem wijzigt, slaat u deze stap over. Als u afbeeldingen wilt verwerken die u selecteert, voegt u deze code toe om de geselecteerde afbeelding op te slaan.
// opslaan afbeelding
$ FilePath = $ _files ["Bestand"] ["Naam"];
if (MOVE_UPLOADED_FILE ($ _-bestanden ["Bestand"] ["TMP_NAME"], $ FILEPATH)) {
echo "& lt; p & gt; & lt; img src =". $ FilePath. "Stijl = 'Breedte: 400px; Hoogte: Auto; / & GT; & LT; / P & GT; ";
} anders {
ECHO "FOUT !!";
}
Je moet de Google_Application_credentials variabele om te verifiëren. In PHP gebruiken we de PUTENV opdracht om een omgevingsvariabele in te stellen. Voeg deze code volgende toe in uw PHP-code:
PUTENV ('Google_Application_credentials = / Gebruikers / Richardmattka / Downloads / Vision Tutorial 1-0F464A9A0F7B.JSON');
Vervang het pad en de bestandsnaam naar uw JSON-privésleutelbestand.
Voeg de bibliotheek toe en initialiseer de Languageclient Klasse in uw code. Voeg deze code volgende toe:
eisen __DIR__. '/ventor/autoload.php';
Gebruik Google \ Cloud \ Vision \ V1 \ ImageOnNotatorclient;
$ projectid = 'vision-tutorial-1';
$ ImageAnnotator = New ImageOnNotatorclient ([
'Projectid' = & GT; $ projectid
]);
Begin met het vereisen van de Autoload van de Verkoper. Dit is vergelijkbaar in Python of Knooppunt wanneer u uw afhankelijkheden nodig hebt. Importeer de ImageOnNotatorclient Vervolgens om gebruik te maken van de klas. Definieer je projectid Als u niet zeker weet wat dit is, zoek het dan op in uw Google Cloud Project Console. Maak eindelijk een nieuwe ImageOnNotatorclient object met behulp van uw projectid en toewijzing aan de $ imageAnnotator variabele.
Begin met het indienen van de afbeelding aan de API voor analyse. U toont het resultaat als JSON naar het scherm voorlopig, maar in de praktijk zou u de resultaten kunnen beoordelen en ze gebruiken die u wenst.
Voeg het volgende toe om de afbeelding in te dienen bij de API.
$ Image = File_Get_Contents ($ FilePath);
$ respons = $ $ imageOnNotator- & gt; labeldetection ($ imago);
$ labels = $ respons- & gt; getlabelannotaties ();
Foreach ($ labels als $ label) {
echo "& lt; div class = 'resultaat' & GT;";
$ resultaat = $ label- & gt; getdeScription ();
echo $ resultaat. "(". $ Label- & GT; GETSCORE (). ")";
echo "& lt; / div & gt;";
}
Dit dient de inhoud van het ingediende formulier in aan de ImageSnotator eindpunt en slaat het resultaat op in de $ reactie variabele. Het specificeert de labeldetectie voorzien zijn van. Je kan ook gebruiken gezichtsherkenning logo Textdetectie en vele andere functies. Voor een volledige lijst, kijk hier
Volgende, itereren over de lijst met labels. Dit is slechts een voorbeeld om te laten zien hoe het moet worden gebruikt: u kunt het verwerken en reageren op de resultaten, maar u nodig hebt.
Een ander kort voorbeeld van hoe krachtig de API ligt in de gezichtsherkenning functie. Dit zal emotiegegevens terugkeren, evenals locatie-informatie van waar in de afbeelding de gezichten zijn. Probeer deze code uit om te zien hoe het werkt.
$ reactie = $ imageOnNotator- & gt; facedetection ($ imago);
$ gezichten = $ respons- & gt; get faceannotations ();
$ likelihoodName = ['onbekend', 'erg_unlikely', 'onwaarschijnlijk',
'Mogelijk', 'waarschijnlijk', 'erg_likely'];
// var_dump ($ labels);
foreach ($ gezichten als $ face) {
echo "& lt; div class = 'resultaat' & GT;";
$ Anger = Face- & GT; GetangerLikelihood ();
PrintF ("Woede:% S". PHP_EOL, $ LikelihoodName [$ Anger]);
$ vreugde = face- & gt; getjoylikelihood ();
printf ("Joy:% S". PHP_EOL, $ LikelihoodName [$ vreugde]);
$ hoektices = $ face- & gt; GetboundingPoly () - & GT; Getvertices ();
$ grenzen = [];
foreach ($ hoekpunten als $ vertex) {
$ grenzen [] = Sprintf ('(% D,% D)', $ vertex- & GT; GETX (), $ vertex- & GT; GETY ());
Print ('Bounds:'. Join ('', ', $ grenzen). PHP_EOL);
echo "& lt; / div & gt;";
}
Je begint met het gebruik van de gezichtsherkenning Functie van de annotator en passeer de afbeelding zoals het vorige voorbeeld. Dan krijg je het faceaannotons U gebruikt een reactiesgewichten in vaker, zodat u de waarschijnlijkheid van bepaalde emoties kunt zien. Hierna volg je het antwoord zoals eerder. Je controleert twee van verschillende mogelijke emoties, woede en vreugde en retourneren van de resultaten van die. Dit geeft u ook de hoeken van de begrenzingsdozen die elk gezicht definiëren.
Dit artikel is oorspronkelijk gepubliceerd in kwestie 316 van netto- , 's werelds best verkochte magazine voor webontwerpers en ontwikkelaars. Koop hier nummer 316 of Abonneer hier
Gerelateerde artikelen:
Je kunt veel doen met CSS - Misschien meer dan je zou denken - maar de eerbiedwaardige taal van de stijlbladen heeft zijn beperki..
Ik studeerde beeldende kunst en Schilderstechnieken En voor een lange tijd was volledig tegen het idee om digitaal..
Een van de belangrijkste dingen die in CGI werken, is groter is, is een grotere precisie. Het is echter verbazingwekkend hoe moei..
Leren hoe je kleurpotloden kunt mengen, helpt je meer uit je gereedschap te krijgen. In plaats van te vertrouwen op de individuele, platte kleur van elk potlood, kunnen we ze samen mixen om d..
Ik wou dat je een nieuwe vaardigheid kon ophalen, maar kan niet lijken de tijd te vinden om te gaan zitten en te leren? Adobe's Maak het nu afspeellijst is misschien precies wa..
De recente pre-release van Adobe's nieuwe Felix 3D-pakket Maakt dit een geweldige tijd om de sprong te nemen van 2D naar 3D-beeld maken. Project Felix is ontworpen voor o..
Een succesvol webproduct voldoet niet alleen aan de behoeften van uw organisatie, maar ook de behoeften van uw gebruikers. Bruikbaarheid testen - vroeg gedaan en vaak - is een kritieke manier..
Houdini is een krachtig beest, met tools voor het bouwen van VFX die wordt gebruikt in veel Hollywood-films. Maar de initiële leercurve is steil, dus we hebben deze lijst met tutorials gecom..