1. 程式人生 > >如何使用Amazon Rekognition從Ruby中檢測圖像內容?

如何使用Amazon Rekognition從Ruby中檢測圖像內容?

env 自動識別 size bsp 戶外 ins 腳本 eas 分析


技術分享圖片

Rekognition是一種新的亞馬遜網絡服務,"它能使您可以輕松地將圖像分析添加到應用程序中"。同時,Rekognition可以檢測臉部和對象,甚至可以設置面部儲存庫以供將來識別。

如果您曾經使用過Ruby的AWS服務,那麽就可以直接進行簡單的圖像重新識別(sic)。

使用AWS賬號創建.env文件

AWS_REGION=us-east-1

AWS_ACCESS_KEY_ID=[put that key here]

AWS_SECRET_ACCESS_KEY=[and the other one here]

與其他服務一樣,需要先申請AWS賬號。(為了提高安全性,僅限於使用IAM創建Rekognition賬號。)但請註意,它目前僅在美國西部,美國東部和歐盟愛爾蘭地區可用。

創建Gemfile以獲取一個簡單project

技術分享圖片

將dotenv gem存入.env file作為程序的環境變量。aws-sdk gem是AWS的亞馬遜官方Ruby SDK.版本

 編寫一個Ruby程序來查詢Amazon Rekognition

技術分享圖片

首先,載入我們數據,然後存入從env是環境變量中,AWS SDK將自動識別你的身份。

接下來,創建一個客戶端對象,並使用detect_labels方法(是的,其實就是Rekognition的DetectLabels方法)通過第一個命令行參數(ARGV.first)將名稱傳入致文件的原始數據

最後,我們需要輸入返回的標簽和置信度。

做一些檢測

如果上述文件形式為detect.rb,你可以這樣運行:

ruby detect.rb myimage.jpg

myimage.jpg看起來像是這樣:

技術分享圖片

上述Ruby腳本可以像這樣輸出:

Freeway-64

Road-64

Dirt Road-63

Gravel-63

Asphalt-56

Tarmac-56

Intersection-55

檢測到的標簽在左側,檢測算法的置信度百分比在右側。

玩得開心,但要記得每1000張圖片亞馬遜會收取1美元,當然你如果是會員就不用擔心了。

 在你無聊時產生的天馬行空的想法能做的事

· 瀏覽Twitter / Instagram上的圖片,檢測其中的內容,然後使用檢測到的標簽自動回復,例如"I love [label]!"或"Oh wow your [label] is [superlative]!",甚至你還可以讓Twitter/Instagram比它們現在更糟,不過你會得到更多的關註者。

· 留意任何的圖片資源,並選擇所有具有高信度的 "cats"和"pizza"。然後創建一個Facebook帳戶或電子郵件通訊,只發布那些接近比薩的貓的照片。

· 這種detect_labels方法返回圖像的方向是否正確必須進行檢測並糾正,所以你可以把它作為一個昂貴的圖像定位檢測方式。

· 瀏覽你的使用者具體上傳資料,別讓閑雜人等使用這款app,因為他們很難識別統一化。

· 使用網絡攝像頭加以及數字門鎖,並且在攝像頭關註你孩子的時候能自動解鎖。當然,有時候這可能會失效,但是,你的孩子會發現在戶外睡覺會更加刺激。

· 像面部檢測識這樣不道德的事,我當然沒做。我相信亞馬遜建議在"digital billboards‘"中使用的通過人們走動來識別人物信息的技術肯定會發揮積極的效果。

如想學習更多軟件測試文章,請前往51Testing軟件測試網。(http://www.51testing.com)

版權聲明:51Testing軟件測試網及相關內容提供者擁有51testing.com內容的全部版權,未經明確的書面許可,任何人或單位不得對本網站內容復制、轉載或進行鏡像,否則將追究法律責任。

如何使用Amazon Rekognition從Ruby中檢測圖像內容?