【Azure×Rails】アップした画像に自動タグ付けするWebアプリを作ってみたこの広告は、90日以上更新していないブログに表示しています。ITゴリラの画像ならば「animal」、ラーメンの画像ならば「food」、iPadならば「computer」といった具合で、画像に自動でタグ付けをしてみました。Railsから利用することで、簡単に実現できました。azure.microsoft.com今回書いたソースコードはGitHubに上げました。画像をアップロードするアップロードした画像のタグ情報を取得するタグ情報をDB保存する画像のアップロード機能まずRailsプロジェクトを作成します。vendor/bundle画像情報用のVisionテーブルと、タグ情報用のVisionTagテーブルを作成します。db:migrateVisionコントローラを定義し、「public/uploads」以下にアップロードした画像を保存していきます。endendViewはこんな感じです。%>あとは下記のことをすると、画像アップローダーとしてはひとまず完成です。Preview」を利用開始します。www.microsoft.com月間5,000および分間20トランザクション範囲内ならば無料で利用できます。今回登録に必要な手順は特にありませんでしたが、MicrosoftAzureのアカウントを持っていない場合はもしかしたらここで作成が必要かもしれません。「Key」を表示してsecrets.ymlに記載しておきます。ReferenceにRubyのサンプルコードがあります。これを参考にして、APIを叩きタグ情報を保存するコードを記述します。}あとは、この情報を表示するViewを定義すれば完成です。%>詳細はGitHubのコミットログにあります。デプロイこのRailsアプリケーションは、アップロードした画像(/uploads/以下)がマイクロソフトからアクセスできるような環境に配置する必要があります。localhostとかでは動作しません。個人用途のため全IPからアクセス許可するのは嫌だったので、マイクロソフトからのアクセスに絞ります。whoisでAPI使用時にアクセスが来るマイクロソフトのIPアドレスを調べました。結果、「13.104.0.0/14,13.64.0.0/11,13.96.0.0/13」に対してアクセスを許可すれば利用できるようでした。なんか広すぎるのでもう少し絞りたいのですが、今回は特に機密な要件ではないのでこれくらいで進めます。今回IDCFクラウドの仮想マシンを使っていたので、ソースIPのファイアウォールでアクセスを許可すればOKです。試しにゴリラの画像を使ってみると「mammal(哺乳類)」「animal(動物)」「primate(霊長類)」「ape(猿)」といったタグ情報が得られました。「Gorilla」とは出てこなかったものの、かなりの精度で解析されていることがわかります。信頼度は低いものの「close(接近している)」「staring(見つめている)」といった微妙な表現も得られました。スマホから直接カメラを起動して写真をアップロードできるようなので、こんな単純なソースコードでも割とそのまま使い物になって結構面白いです。APIを使うことで、画像にタグ付けを簡単に実現できました。ツイートはてなブログをはじめよう!s2terminalさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。