Как да открием съдържанието на изображението от Ruby с Amazon Rekogservation

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

Ако някога преди сте използвали AWS услуга от Ruby, правите просто възстановяване на изображението (sic) е ясно.

Създайте .env файл с вашите AWS идентификационни данни

AWS_REGION = нас-изток-1
AWS_ACCESS_KEY_ID = [поставете този ключ тук]
AWS_SECRET_ACCESS_KEY = [и другият тук]

Вземете пълномощията от AWS, както бихте направили за всяка друга услуга. (За допълнителна сигурност използвайте IAM за създаване на идентификационни данни единствено за Rekogservation.) Обърнете внимание, че понастоящем той е наличен само в регионите на Запад от САЩ, Изток на САЩ и Ирландия на ЕС.

Създайте Gemfile, за да постигнете прост проект

източник „https://rubygems.org“
скъпоценен камък 'dotenv'
скъпоценен камък 'aws-sdk'

Скъпоценният камък dotenv дърпа във файла .env като променливи на средата за вашата програма. Aws-sdk скъпоценният камък е официалният Ruby SDK на Amazon за AWS.

Напишете програма Ruby, за да заявите Amazon Rekogservation

изискват 'dotenv'
Dotenv.load
изискват „aws-sdk“
client = Aws :: Възстановяване :: Client.new
resp = client.detect_labels (
         изображение: {байтове: File.read (ARGV.first)}
       )
resp.labels.each do | label |
  поставя "# {label.name} - # {label.confidence.to_i}"
край

Първо, ние зареждаме нашите библиотеки и зареждаме в променливите на средата от .env. AWS SDK автоматично ще използва вашите идентификационни данни.

След това създаваме клиентски обект и извикваме неговия метод detect_labels (наистина методът DetectLabels на Rekogservation) с необработените данни на файл, чието име се предава чрез първия аргумент на командния ред (ARGV.first). Накрая разпечатваме етикетите и нивата на доверие се връщат.

Направете малко откриване

Ако горният файл се нарича например detect.rb, можете да стартирате това:

ruby detect.rb myimage.jpg

Нека да кажем, че myimage.jpg изглеждаше така:

Горният сценарий Ruby ще произведе:

Магистралата-64
Пътно-64
Черен път-63
Чакъл-63
Асфалт-56
Tarmac-56
Пътен възел-55

Етикетите на откритото са отляво, като процентът „достоверност“ на алгоритъма за откриване е отдясно.

Забавлявайте се и не забравяйте, че Amazon ще ви таксува $ 1 за 1000 обработени изображения, освен ако не сте на свободен ред.

Случайни ужасни идеи за тези неща, ако ви е скучно

  • Сканирайте Twitter / Instagram за снимки, открийте какво има в тях, след това автоматизирайте отговорите, като използвате откритите етикети, като „Обичам [етикет!“ Или „О, уау вашият [етикет] е [превъзходен]!“ И направете Twitter / Instagram дори по-лоши, отколкото са вече. Но ще получите повече последователи ..
  • Обходете всеки източник на снимки и изберете всички онези с високо ниво на доверие както за „котки“, така и за „пица“. След това създайте Facebook акаунт или имейл бюлетин, който публикува само снимки на котки, които са в близост до пица.
  • Методът detect_labels връща дали ориентацията на изображението трябва да се коригира, за да се извърши откриването, така че можете да го използвате като скъп детектор за ориентация на изображението.
  • Сканирайте аватарите, които вашите потребители качват и не позволявайте на кенгурута или кучета в смокинги да използват приложението ви. Те са трудни за осигуряване на приходи.
  • Използвайте уеб камера плюс цифрова брава на вратата и отключете автоматично вратата, когато камерата вижда вашите деца. ОК, може да се провали част от времето, но децата ви ще намерят спането на открито да бъде чудесно приключение!
  • Правете зли неща с разпознаването и разпознаването на лица, които не разбрах по-горе. Сигурен съм, че видях Amazon да предполага използването на тази технология в „дигитални билбордове“, за да открие неща за демографията на хората, минаващи покрай тях или нещо подобно - подобни неща със сигурност имат само положителни резултати.
  • Сега ми е скучно, иди да слушаш Попи, тя ще бъде голяма звезда.