LoginSignup
0
0

AWS Amazon Rekognition機能と実装

Last updated at Posted at 2023-12-16

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#のサンプルコードです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0