1. TOP
  2. PRODUCT
  3. Image Influence API

Image Influence API

画像と画像に対応する点数を用意すると、未知の画像が自分好みかどうかを点数で把握できるモデルが作成可能です。
1つの例としてConvolutional Neural Networkを用いて、肉の写真の点数を0〜9点で予測するAPIを用意しました。
肉の写真をアップロードすると、その写真が不特定多数から見て良さそうに見えるかどうか、点数という形で返却します。

DETAIL

Image Influence APIは、画像の”影響度”を測り、多くの人に注目されやすい画像の判別に利用します。最終的には全ての種類の画像に対応したいのですが、まずは肉の画像にフォーカスを当てています。
例えば、お店の紹介ページに載せる画像として、肉の映った画像AとBどちらが良い印象を与えるか迷った時や、FacebookやinstagramなどのSNSにアップする画像が複数あり、どちらがイイねを多くもらえるか迷った時、などに利用してみてください。
また、自分で画像と点数を集めてモデルを作成すると、その傾向を学習して未知の画像に対する点数を、あなたの基準で返却するようなモデルも作成可能です。

NOTES

他人の名称・メールアドレス・住所・電話番号など個人を特定しうる情報はアップロードしないでください。

REFERENCE

  • image scoring API
  • make model API

image scoring API

画像の採点を行います

エンドポイント

URL:
https://api.a3rt.recruit-tech.co.jp/image_influence/v1/meat_score
メソッド:
POST
URL:
https://api.a3rt.recruit-tech.co.jp/image_influence/v1/image_score
メソッド:
POST
No. エンドポイント 説明
1 meat_score 肉の画像を採点します
2 image_score 作成したモデルを使用して画像を採点します

リクエストパラメータ

No. パラメータ名 説明 値サンプル 制約 必須
1 apikey APIキーを指定します AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 半角英数字
2 predict 予想点を0~9点で指定します 1 半角数字
3 imagefile 採点したい画像を指定します sample.jpg 3MB以下の png, bmp, jpg, jpeg, gif のいずれかの形式の画像ファイル

レスポンスフィールド

No. フィールド名 説明 値サンプル 返却条件
1 status 処理ステータス 0 int 常に返却
2 message メッセージ ok string 常に返却
3 result 結果 - list 正常時に返却
score 点数0~9点 0.123456789 float 正常時に返却

ステータスコード / メッセージ

No. status HTTP
status
message 返却条件
1 0 200 ok 正常応答
2 1000 400 apikey is null APIキー未指定
3 1001 400 apikey not found APIキーが見つからない
4 1002 400 deleted account 退会済み
5 1003 400 temporary account アカウント未承認
6 1010 400 server not found サーバが見つからない
7 1011 400 server parameter error サーバ設定エラー
8 1030 403 access deny アクセス拒否
9 1400 400 bad apikey 正しいAPIキーが指定されていません
10 1400 400 predict param failed predictパラメータが指定されていません
11 1400 400 imagefile param failed imagefileパラメータが指定されていません
12 1400 400 bad upload file アップロードファイルが不正です
13 1400 400 not image file アップロードファイルが画像ではありません
14 1404 404 model not found モデルファイルが存在しません
15 1404 404 not found 指定したオブジェクト見つからない
16 1405 405 method not allowed メソッドが正しくない
17 1413 413 request entity too long リクエストのサイズが規定値を超えました
18 1500 500 internal server error API処理で異常が発生しました

制限事項

画像ファイルに関する制限事項

アップロードファイルサイズ: 3MB以下

ファイル形式: png, bmp, jpg, jpeg, gif のいずれか

make model API

準備した学習データを使いモデルを作成します

エンドポイント

URL:
https://api.a3rt.recruit-tech.co.jp/image_influence/v1/get_upload_url
メソッド:
GET
URL:
https://api.a3rt.recruit-tech.co.jp/image_influence/v1/order_model
メソッド:
GET
URL:
https://api.a3rt.recruit-tech.co.jp/image_influence/v1/status_model
メソッド:
GET
No. エンドポイント 説明
1 get_upload_url 学習データをアップロードするURLを取得します
2 order_model モデル作成の順番待ちを行います
3 status_model モデル作成の進捗状況を確認します

リクエストパラメータ

No. パラメータ名 説明 値サンプル 制約 必須
1 apikey APIキーを指定します AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 半角英数字

レスポンスフィールド

No. フィールド名 説明 値サンプル 返却条件
1 status 処理ステータス 0 int 常に返却
2 message メッセージ ok string 常に返却
3 result 結果 - list 正常時に返却
url URL https://a3rt-image.s3.amazonaws.com/api/users/zip/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.zip?AWSAccessKeyId=AKIAIJWYSBX56JFOEFTA&Expires=1487561492&Signature=8Dvyh4WFUgl1%2BEP1Pa9jkDo3vHA%3D string get_upload_url
正常時に返却

ステータスコード / メッセージ

No. status HTTP
status
message 返却条件
1 0 200 ok 正常応答
2 0 200 wait nn モデル作成順番待ちです nn時間後にモデルの作成がはじまる見込みです
3 0 200 train nn モデル作成中です nn時間後にモデルの作成が終わる見込みです
4 0 200 done モデル作成が終わりました
5 0 200 fail モデル作成に失敗しました
6 1000 400 apikey is null APIキー未指定
7 1001 400 apikey not found APIキーが見つからない
8 1002 400 deleted account 退会済み
9 1003 400 temporary account アカウント未承認
10 1010 400 server not found サーバが見つからない
11 1011 400 server parameter error サーバ設定エラー
12 1030 403 access deny アクセス拒否
13 1400 400 bad apikey 正しいAPIキーが指定されていません
14 1400 400 make url failed アップロード用urlの作成に失敗しました
15 1403 403 order is full 順番待ちがいっぱいです
16 1403 403 order already exists すでに順番待ちしています
17 1403 403 training is in progress 学習中です
18 1404 404 zip file not found 学習データが存在しません
19 1404 404 not found 指定したオブジェクト見つからない
20 1405 405 method not allowed メソッドが正しくない
21 1500 500 internal server error API処理で異常が発生しました

制限事項

ファイルに関する制限事項

アップロードファイルは次の学習データの仕様を満たしていること

ブラウザによるファイルのアップロードは、今後対応していく予定です

学習データの仕様

※条件が満たされない場合、モデルの作成は失敗します

  • ・100MB以下のzipファイル形式
  • ・zipファイルの直下に画像ファイルが格納されていること
  • ・画像以外のファイルは使用しないでください
  • ・壊れた画像ファイルは使用しないでください
  • ・画像ファイルの数は500枚以上1000枚以下
  • ・画像ファイルの形式はpng,bmp,jpg,jpeg,gif のいずれか
  • ・画像ファイル名の規則はxxxx_y.拡張子
    xxxxは0000~9999までの任意の数字
    yは画像の点数です。0~9までの任意の数字を指定してください
  • ・可能であれば各点数ごとに最低50枚の画像を準備してください
    例えば5点の画像の場合、0001_5.jpg~0050_5.jpgの50枚以上の画像を準備してください
  • ・必ず0~9点の画像を準備する必要はありません ただし点数の種類が少ない場合はモデルの精度は低くなります
zipファイルの構成例
images.zip/
0001_0.jpg
0002_0.jpg
0003_0.jpg
………
0078_9.jpg
0079_9.jpg
0080_9.jpg

SAMPLE REQUEST

  • image scoring API
  • make model API

肉の画像を採点する場合

前提条件
  • APIキーを事前に取得している
  • curlコマンドが実行できる環境がある
  • 条件を満たした肉の画像ファイルを準備している
リクエスト curl -X POST \
-F apikey=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA \
-F imagefile=@sample.jpg \
-F predict=1 \
https://api.a3rt.recruit-tech.co.jp/image_influence/v1/meat_score
レスポンス

{
	status: 0,
	message: "ok"
	result: {"score": "0.123456789"}
}

														

作成したモデルを使用して画像を採点する場合

前提条件
  • APIキーを事前に取得している
  • curlコマンドが実行できる環境がある
  • 条件を満たした任意の画像ファイルを準備している
  • make model APIより既にモデルを作成している
リクエスト curl -X POST \
-F apikey=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA \
-F predict=1 \
-F imagefile=@sample.jpg \
https://api.a3rt.recruit-tech.co.jp/image_influence/v1/image_score
レスポンス

{
	status: 0,
	message: "ok"
	result: {"score": "0.123456789"}
}

														
前提条件
  • APIキーを事前に取得している
  • curlコマンドが実行できる環境がある
  • 仕様を満たした学習データを準備している

1)学習データのファイルアップロードURLの取得

リクエスト curl -X GET https://api.a3rt.recruit-tech.co.jp/image_influence/v1/get_upload_url?apikey=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
レスポンス

{
	status: 0,
	message: "ok",
	result: {"url": "https://・・・"}
}

														
※メッセージ内 url の httpsから始まる文字列をコピーします

2)演算対象ファイルのアップロード

リクエスト export UPLOAD_LOCATION='①でコピーした文字列をペーストします'
次のコマンドで学習データをアップロードします(学習データの名前をimages.zipとしています)
curl -D - -X PUT --upload-file images.zip $UPLOAD_LOCATION
レスポンス プロンプトが戻れば、アップロード終了です

3)モデルの作成を依頼

リクエスト curl -X GET https://api.a3rt.recruit-tech.co.jp/image_influence/v1/order_model?apikey=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
レスポンス

{
	status: 0,
	message: "ok"
}

														
モデル作成の順番待ちをします
モデルは1アカウントにつき1つです 過去にモデルを作成していた場合、そのモデルは削除され、新しいモデルを作成します

4)モデル作成の進捗状況を調べる

リクエスト curl -X GET https://api.a3rt.recruit-tech.co.jp/image_influence/v1/status_model?apikey=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
レスポンス 順番待ちがなければ、モデルは5時間ほどで作成されます
モデルの作成が終了すると以下のステータスを返します

{
	status: 0,
	message: "done"
}
作成したモデルを使用して画像の採点を行うにはimage scoring APIを確認してください

モデルの作成に失敗した場合は以下のステータスを返します
{ status: 0, message: "fail" }
準備した学習データが仕様を満たしているかをご確認ください