Semantic Segmentation
Roboflow でホストされているセマンティックセグメンテーションモデルで推論を実行します。
Linux または MacOS
ローカルファイルという名前の JSON 予測を取得する YOUR_IMAGE.jpg:
base64 YOUR_IMAGE.jpg | curl -d @- \
"https://segment.roboflow.com/your-model/42?api_key=YOUR_KEY"URL を介してウェブ上にホストされている画像で推論する(以下を忘れずに URL エンコードする):
curl -X POST "https://segment.roboflow.com/your-model/42?\
api_key=YOUR_KEY&\
image=https%3A%2F%2Fi.imgur.com%2FPEEvqPN.png"Windows
次をインストールする必要があります Windows 用 curl および Windows 用 GNU の base64 ツール。これを行う最も簡単な方法は git for Windows インストーラー を使用することです(これには curl および base64 が含まれます)。インストール時に「Use Git and optional Unix tools from the Command Prompt」を選択すると、コマンドラインツールも含まれます。
その後、上記と同じコマンドを使用できます。
Node.js
この例では axios を POST リクエストの実行に使用しているので、まず npm install axios で依存関係をインストールしてください。
ローカル画像での推論
const axios = require("axios");
const fs = require("fs");
const image = fs.readFileSync("YOUR_IMAGE.jpg", {
encoding: "base64"
});
axios({
method: "POST",
url: "https://segment.roboflow.com/your-model/42",
params: {
api_key: "YOUR_KEY"
},
data: image,
headers: {
"Content-Type": "application/x-www-form-urlencoded"
}
})
.then(function(response) {
console.log(response.data);
})
.catch(function(error) {
console.log(error.message);
});URL 経由で別の場所にホストされている画像での推論
const axios = require("axios");
axios({
method: "POST",
url: "https://segment.roboflow.com/your-model/42",
params: {
api_key: "YOUR_KEY",
image: "https://i.imgur.com/PEEvqPN.png"
}
})
.then(function(response) {
console.log(response.data);
})
.catch(function(error) {
console.log(error.message);
});Web
リアルタイムのオンデバイス推論は roboflow.jsで利用できます;詳細は こちらのドキュメントを参照してください.
Swift
ローカル画像での推論
import UIKit
// 画像を読み込み Base64 に変換
let image = UIImage(named: "your-image-path") // アップロードする画像のパス例: image.jpg
let imageData = image?.jpegData(compressionQuality: 1)
let fileContent = imageData?.base64EncodedString()
let postData = fileContent!.data(using: .utf8)
// API_KEY、モデル、モデルバージョンで推論サーバーリクエストを初期化
var request = URLRequest(url: URL(string: "https://segment.roboflow.com/your-model/your-model-version?api_key=YOUR_APIKEY&name=YOUR_IMAGE.jpg")!,timeoutInterval: Double.infinity)
request.addValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
request.httpMethod = "POST"
request.httpBody = postData
// POST リクエストを実行
URLSession.shared.dataTask(with: request, completionHandler: { data, response, error in
// レスポンスを文字列に解析
guard let data = data else {
print(String(describing: error))
return
}
// レスポンス文字列を辞書に変換
do {
let dict = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any]
} catch {
print(error.localizedDescription)
}
// 文字列レスポンスを出力
print(String(data: data, encoding: .utf8)!)
}).resume()Objective C
Kotlin
ローカル画像での推論
import java.io.*
import java.net.HttpURLConnection
import java.net.URL
import java.nio.charset.StandardCharsets
import java.util.*
fun main() {
// 画像パスを取得
val filePath = System.getProperty("user.dir") + System.getProperty("file.separator") + "YOUR_IMAGE.jpg"
val file = File(filePath)
// Base64 エンコード
val encodedFile: String
val fileInputStreamReader = FileInputStream(file)
val bytes = ByteArray(file.length().toInt())
fileInputStreamReader.read(bytes)
encodedFile = String(Base64.getEncoder().encode(bytes), StandardCharsets.US_ASCII)
val API_KEY = "" // あなたの API キー
val MODEL_ENDPOINT = "dataset/v" // モデルエンドポイントを設定(Dataset URL に表示)
// URL を構築
val uploadURL ="https://segment.roboflow.com/" + MODEL_ENDPOINT + "?api_key=" + API_KEY + "&name=YOUR_IMAGE.jpg";
// HTTP リクエスト
var connection: HttpURLConnection? = null
try {
// URL への接続を設定
val url = URL(uploadURL)
connection = url.openConnection() as HttpURLConnection
connection.requestMethod = "POST"
connection.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded")
connection.setRequestProperty("Content-Length",
Integer.toString(encodedFile.toByteArray().size))
connection.setRequestProperty("Content-Language", "en-US")
connection.useCaches = false
connection.doOutput = true
// リクエストを送信
val wr = DataOutputStream(
connection.outputStream)
wr.writeBytes(encodedFile)
wr.close()
// レスポンスを取得
val stream = connection.inputStream
val reader = BufferedReader(InputStreamReader(stream))
var line: String?
while (reader.readLine().also { line = it } != null) {
println(line)
}
reader.close()
} catch (e: Exception) {
e.printStackTrace()
} finally {
connection?.disconnect()
}
}
main()URL 経由で別の場所にホストされている画像での推論
import java.io.BufferedReader
import java.io.DataOutputStream
import java.io.InputStreamReader
import java.net.HttpURLConnection
import java.net.URL
import java.net.URLEncoder
fun main() {
val imageURL = "https://i.imgur.com/PEEvqPN.png" // 画像 URL を置き換えてください
val API_KEY = "" // あなたの API キー
val MODEL_ENDPOINT = "dataset/v" // モデルエンドポイントを設定
// アップロード用 URL
val uploadURL = "https://segment.roboflow.com/" + MODEL_ENDPOINT + "?api_key=" + API_KEY + "&image=" + URLEncoder.encode(imageURL, "utf-8");
// HTTP リクエスト
var connection: HttpURLConnection? = null
try {
// URL への接続を設定
val url = URL(uploadURL)
connection = url.openConnection() as HttpURLConnection
connection.requestMethod = "POST"
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded")
connection.setRequestProperty("Content-Length", Integer.toString(uploadURL.toByteArray().size))
connection.setRequestProperty("Content-Language", "en-US")
connection.useCaches = false
connection.doOutput = true
// リクエストを送信
val wr = DataOutputStream(connection.outputStream)
wr.writeBytes(uploadURL)
wr.close()
// レスポンスを取得
val stream = URL(uploadURL).openStream()
val reader = BufferedReader(InputStreamReader(stream))
var line: String?
while (reader.readLine().also { line = it } != null) {
println(line)
}
reader.close()
} catch (e: Exception) {
e.printStackTrace()
} finally {
connection?.disconnect()
}
}
main()Java
ローカル画像での推論
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
public class InferenceLocal {
public static void main(String[] args) throws IOException {
// 画像パスを取得
String filePath = System.getProperty("user.dir") + System.getProperty("file.separator") + "YOUR_IMAGE.jpg";
File file = new File(filePath);
// Base64 エンコード
String encodedFile;
FileInputStream fileInputStreamReader = new FileInputStream(file);
byte[] bytes = new byte[(int) file.length()];
fileInputStreamReader.read(bytes);
encodedFile = new String(Base64.getEncoder().encode(bytes), StandardCharsets.US_ASCII);
String API_KEY = ""; // あなたの API キー
String MODEL_ENDPOINT = "dataset/v"; // モデルエンドポイント
// URL を構築
String uploadURL = "https://segment.roboflow.com/" + MODEL_ENDPOINT + "?api_key=" + API_KEY
+ "&name=YOUR_IMAGE.jpg";
// HTTP リクエスト
HttpURLConnection connection = null;
try {
// URL への接続を設定
URL url = new URL(uploadURL);
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.setRequestProperty("Content-Length", Integer.toString(encodedFile.getBytes().length));
connection.setRequestProperty("Content-Language", "en-US");
connection.setUseCaches(false);
connection.setDoOutput(true);
// リクエストを送信
DataOutputStream wr = new DataOutputStream(connection.getOutputStream());
wr.writeBytes(encodedFile);
wr.close();
// レスポンスを取得
InputStream stream = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (connection != null) {
connection.disconnect();
}
}
}
}URL 経由で別の場所にホストされている画像での推論
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
public class InferenceHosted {
public static void main(String[] args) {
String imageURL = "https://i.imgur.com/PEEvqPN.png"; // 画像 URL を置き換えてください
String API_KEY = ""; // あなたの API キー
String MODEL_ENDPOINT = "dataset/v"; // モデルエンドポイント
// アップロード用 URL
String uploadURL = "https://segment.roboflow.com/" + MODEL_ENDPOINT + "?api_key=" + API_KEY + "&image="
+ URLEncoder.encode(imageURL, StandardCharsets.UTF_8);
// HTTP リクエスト
HttpURLConnection connection = null;
try {
// URL への接続を設定
URL url = new URL(uploadURL);
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.setRequestProperty("Content-Length", Integer.toString(uploadURL.getBytes().length));
connection.setRequestProperty("Content-Language", "en-US");
connection.setUseCaches(false);
connection.setDoOutput(true);
// リクエストを送信
DataOutputStream wr = new DataOutputStream(connection.getOutputStream());
wr.writeBytes(uploadURL);
wr.close();
// レスポンスを取得
InputStream stream = new URL(uploadURL).openStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (connection != null) {
connection.disconnect();
}
}
}
}Gemfile
source "https://rubygems.org"
gem "httparty", "~> 0.18.1"
gem "base64", "~> 0.1.0"
gem "cgi", "~> 0.2.1"Gemfile.lock
GEM
remote: https://rubygems.org/
specs:
base64 (0.1.0)
cgi (0.2.1)
httparty (0.18.1)
mime-types (~> 3.0)
multi_xml (>= 0.5.2)
mime-types (3.3.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2021.0225)
multi_xml (0.6.0)
PLATFORMS
x64-mingw32
x86_64-linux
DEPENDENCIES
base64 (~> 0.1.0)
cgi (~> 0.2.1)
httparty (~> 0.18.1)
BUNDLED WITH
2.2.15ローカル画像での推論
require 'base64'
require 'httparty'
encoded = Base64.encode64(File.open("YOUR_IMAGE.jpg", "rb").read)
model_endpoint = "dataset/v" # モデルエンドポイントを設定
api_key = "" # あなたの API キー
params = "?api_key=" + api_key
+ "&name=YOUR_IMAGE.jpg"
response = HTTParty.post(
"https://segment.roboflow.com/" + model_endpoint + params,
body: encoded,
headers: {
'Content-Type' => 'application/x-www-form-urlencoded',
'charset' => 'utf-8'
})
puts response
URL 経由で別の場所にホストされている画像での推論
require 'httparty'
require 'cgi'
model_endpoint = "dataset/v" # モデルエンドポイントを設定
api_key = "" # あなたの API キー
img_url = "https://i.imgur.com/PEEvqPN.png" # URL を構築
img_url = CGI::escape(img_url)
params = "?api_key=" + api_key + "&image=" + img_url
response = HTTParty.post(
"https://segment.roboflow.com/" + model_endpoint + params,
headers: {
'Content-Type' => 'application/x-www-form-urlencoded',
'charset' => 'utf-8'
})
puts responseローカル画像での推論
<?php
// 画像を Base64 エンコード
$data = base64_encode(file_get_contents("YOUR_IMAGE.jpg"));
$api_key = ""; // API キーを設定
$model_endpoint = "dataset/v"; // モデルエンドポイントを設定(Dataset URL で確認)
// HTTP リクエストの URL
$url = "https://segment.roboflow.com/" . $model_endpoint
. "?api_key=" . $api_key
. "&name=YOUR_IMAGE.jpg";
// 設定して HTTP リクエストを送信
$options = array(
'http' => array (
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => $data
));
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
echo $result;
?>URL 経由で別の場所にホストされている画像での推論
<?php
$api_key = ""; // API キーを設定
$model_endpoint = "dataset/v"; // モデルエンドポイントを設定(Dataset URL で確認)
$img_url = "https://i.imgur.com/PEEvqPN.png";
// HTTP リクエストの URL
$url = "https://segment.roboflow.com/" . $model_endpoint
. "?api_key=" . $api_key
. "&image=" . urlencode($img_url);
// 設定して HTTP リクエストを送信
$options = array(
'http' => array (
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST'
));
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
echo $result;
?>ローカル画像での推論
package main
import (
"bufio"
"encoding/base64"
"fmt"
"io/ioutil"
"os"
"net/http"
"strings"
)
func main() {
api_key := "" // あなたの API キー
model_endpoint := "dataset/v" // モデルエンドポイントを設定
// ディスク上のファイルを開く。
f, _ := os.Open("YOUR_IMAGE.jpg")
// JPG 全体をバイトスライスとして読み込む。
reader := bufio.NewReader(f)
content, _ := ioutil.ReadAll(reader)
// Base64 にエンコードする。
data := base64.StdEncoding.EncodeToString(content)
uploadURL := "https://segment.roboflow.com/" + model_endpoint + "?api_key=" + api_key + "&name=YOUR_IMAGE.jpg"
req, _ := http.NewRequest("POST", uploadURL, strings.NewReader(data))
req.Header.Set("Accept", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
bytes, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(bytes))
}URL 経由で別の場所にホストされている画像での推論
package main
import (
"fmt"
"net/http"
"net/url"
"io/ioutil"
)
func main() {
api_key := "" // あなたの API キー
model_endpoint := "dataset/v" // モデルエンドポイントを設定
img_url := "https://i.ibb.co/jzr27x0/YOUR-IMAGE.jpg"
uploadURL := "https://segment.roboflow.com/" + model_endpoint + "?api_key=" + api_key + "&image=" + url.QueryEscape(img_url)
req, _ := http.NewRequest("POST", uploadURL, nil)
req.Header.Set("Accept", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
bytes, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(bytes))
}ローカル画像での推論
using System;
using System.IO;
using System.Net;
using System.Text;
namespace InferenceLocal
{
class InferenceLocal
{
static void Main(string[] args)
{
byte[] imageArray = System.IO.File.ReadAllBytes(@"YOUR_IMAGE.jpg");
string encoded = Convert.ToBase64String(imageArray);
byte[] data = Encoding.ASCII.GetBytes(encoded);
string API_KEY = ""; // あなたの API キー
string MODEL_ENDPOINT = "dataset/v"; // モデルエンドポイントを設定
// URL を構築
string uploadURL =
"https://segment.roboflow.com/" + MODEL_ENDPOINT + "?api_key=" + API_KEY
+ "&name=YOUR_IMAGE.jpg";
// サービスリクエストの設定
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
// リクエストを設定
WebRequest request = WebRequest.Create(uploadURL);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
// データを書き込む
using (Stream stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
// レスポンスを取得
string responseContent = null;
using (WebResponse response = request.GetResponse())
{
using (Stream stream = response.GetResponseStream())
{
using (StreamReader sr99 = new StreamReader(stream))
{
responseContent = sr99.ReadToEnd();
}
}
}
Console.WriteLine(responseContent);
}
}
}URL 経由で別の場所にホストされている画像での推論
using System;
using System.IO;
using System.Net;
using System.Web;
namespace InferenceHosted
{
class InferenceHosted
{
static void Main(string[] args)
{
string API_KEY = ""; // あなたの API キー
string imageURL = "https://i.ibb.co/jzr27x0/YOUR-IMAGE.jpg";
string MODEL_ENDPOINT = "dataset/v"; // モデルエンドポイントを設定
// URL を構築
string uploadURL =
"https://segment.roboflow.com/" + MODEL_ENDPOINT
+ "?api_key=" + API_KEY
+ "&image=" + HttpUtility.UrlEncode(imageURL);
// サービスポイントの設定
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
// HTTP リクエストの設定
WebRequest request = WebRequest.Create(uploadURL);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = 0;
// レスポンスを取得
string responseContent = null;
using (WebResponse response = request.GetResponse())
{
using (Stream stream = response.GetResponseStream())
{
using (StreamReader sr99 = new StreamReader(stream))
{
responseContent = sr99.ReadToEnd();
}
}
}
Console.WriteLine(responseContent);
}
}
}ユーザーからのリクエストに応じてコードスニペットを追加しています。ElixirアプリにInference APIを統合したい場合は、 ここをクリックしてアップボートを記録してください.
レスポンスオブジェクトの形式
ホストされたAPI推論ルートは次を返します JSON 配列 predictions を含むオブジェクトを返します。各 prediction は以下のプロパティを持ちます:
segmentation_mask= 各ピクセル値がクラスIDに対応する、入力画像と同じ寸法のbase64エンコードされた単一チャンネル画像class_map= クラスIDをクラス名に対応させるオブジェクトimage= 入力画像の寸法を含むオブジェクトheight = 入力画像の高さ(ピクセル数)
width = 入力画像の幅(ピクセル数)
// JSONオブジェクトの例
{
"segmentation_mask": "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",
"class_map": {
"0": " background",
"1": " object"
},
"image": {
"width": 1232,
"height": 821
}
}APIリファレンス
Inference APIの使用方法
POST https://segment.roboflow.com/:datasetSlug/:versionNumber
base64エンコードされた画像を直接モデルエンドポイントにPOSTできます。あるいは、画像が既に別の場所にホストされている場合は、クエリ文字列の image パラメータとしてURLを渡すことができます。
パスパラメータ
datasetSlug
string
データセット名の URL セーフなバージョン。これは、Web UI のメインプロジェクトビューの URL を見るか、モデルをトレーニングした後のデータセットバージョンのトレイン結果セクションにある「Get curl command」ボタンをクリックして確認できます。
version
number
データセットのバージョンを識別するバージョン番号
Query Parameters
image
string
追加する画像の URL。画像が別の場所にホストされている場合に使用します。(リクエストボディで base64 エンコードされた画像を POST しない場合は必須。) 注意: URL エンコードするのを忘れないでください。
confidence
number
返される予測の閾値(0〜100 の尺度)。低い数値ほど多くの予測を返します。高い数値ほど確信度の高い予測のみを返します。 デフォルト: 50
api_key
string
あなたの API キー(ワークスペースの API 設定ページから取得)
Request Body
string
Base64 エンコードされた画像。(クエリパラメータで画像 URL を渡さない場合は必須。)
{
"segmentation_mask": "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",
"class_map": {
"0": " background",
"1": " object"
},
"image": {
"width": 1232,
"height": 821
}
}{
"Message": "User is not authorized to access this resource"
}Last updated
Was this helpful?