Amazon Rekognitionの概要と機能
Amazon Rekognitionは、画像やビデオの分析、顔認識、オブジェクト検出、シーン分析などのコンピュータビジョン機能を提供する、Amazon Web Services(AWS)のツールです。Rekognitionを使用することで、様々なアプリケーションの開発やサービスの拡張に活用できます。
機能
1. 顔認識
顔認識機能は、画像やビデオ内の顔を検出し、分析するための強力なツールです。以下の操作が可能です。
- 顔検出: 画像やビデオから顔を検出します。
- 顔比較: 2つの画像の顔を比較し、一致度を判定します。
- 顔検索: 既知の顔データベースに対して、顔を検索します。
2. ラベル検出
ラベル検出機能は、画像やビデオ内のオブジェクトやシーンを識別するための機能です。主な機能は以下の通りです。
- 一般的なオブジェクトおよびシーンの検出: 100以上の一般的なオブジェクトとシーンを識別します。
- カスタムラベルの検出: ユーザーが指定したカスタムラベルを検出します。
3. テキスト検出
テキスト検出機能は、画像またはビデオ内のテキストを検出するための機能です。以下の操作が可能です。
- テキストの検出: 画像やビデオ内のテキストを検出します。
4. 有害コンテンツの識別
有害コンテンツの識別機能は、画像やビデオ内に含まれる有害なコンテンツを識別します。主な機能は以下の通りです。
- 不適切なコンテンツの検出: 不適切なコンテンツ(性的な表現など)を検出します。
サンプルコード
Java
import software.amazon.awssdk.services.rekognition.model.*;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.rekognition.RekognitionClient;
public class RekognitionSample {
public static void main(String[] args) {
Region region = Region.US_EAST_1;
RekognitionClient rekognitionClient = RekognitionClient.builder()
.region(region)
.build();
DetectFacesRequest detectFacesRequest = DetectFacesRequest.builder()
.image(Image.builder().s3Object(
S3Object.builder()
.bucket("bucket-name")
.name("object-name")
.build())
.build())
.attributes(Attribute.ALL)
.build();
DetectFacesResponse detectFacesResponse = rekognitionClient.detectFaces(detectFacesRequest);
System.out.println("Detected faces: " + detectFacesResponse.faceDetails());
rekognitionClient.close();
}
}
Go
package main
import (
"fmt"
"os"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/config"
"github.com/aws/aws-sdk-go-v2/service/rekognition"
)
func main() {
cfg, err := config.LoadDefaultConfig(context.TODO())
if err != nil {
fmt.Println("configuration error", err)
os.Exit(1)
}
client := rekognition.NewFromConfig(cfg)
input := &rekognition.DetectFacesInput{
Image: &rekognition.Image{
S3Object: &rekognition.S3Object{
Bucket: aws.String("bucket-name"),
Name: aws.String("object-name"),
},
},
Attributes: []rekognition.Attribute{rekognition.AttributeAll},
}
resp, err := client.DetectFaces(context.TODO(), input)
if err != nil {
fmt.Println("error", err)
return
}
fmt.Println("Detected faces:", resp.FaceDetails)
}
C#
using System;
using System.Threading.Tasks;
using Amazon;
using Amazon.Rekognition;
using Amazon.Rekognition.Model;
class Program
{
static async Task Main(string[] args)
{
var region = RegionEndpoint.USWest2;
var rekognitionClient = new AmazonRekognitionClient(region);
var detectFacesRequest = new DetectFacesRequest
{
Image = new Image
{
S3Object = new S3Object
{
Bucket = "bucket-name",
Name = "object-name"
}
},
Attributes = new List<string> { "ALL" }
};
var detectFacesResponse = await rekognitionClient.DetectFacesAsync(detectFacesRequest);
Console.WriteLine("Detected faces: " + detectFacesResponse.FaceDetails);
rekognitionClient.Dispose();
}
}
以上が、Amazon Rekognitionの概要と主要な機能についての解説と、Java、Go、C#のサンプルコードです。