Amazon Rekognition Videoを使ってみた

# この記事の内容
[以前に投稿した記事](https://qiita.com/taaakaz/items/260418048467e2686369)でKinesis Video Streamsを触っていましたが、
Amazon Rekognition Videoサービスと組み合わせて物体認識や人物判定が出来ると知り、
実際に触ってみた内容や感想を記載した記事です。

# 実際の手順について
[こちらのハンズオン記事](https://catalog.us-east-1.prod.workshops.aws/workshops/b95b9381-baf0-4bef-ba31-63817d54c2a6/ja-JP)を参考に進めさせていただきました。
上記記事内で丁寧に手順が説明されているので、当記事では手順については触れていません。

# やってみた①：物体認識
こちらはawsのマネコン上で簡単に試すことができます。
（2023年２月時点の画面ではAmazon Rekognition→ビデオデモ→保存済み動画分析と辿ることで当該画面に遷移します。）

![スクリーンショット 2023-02-27 9.48.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/445555/0bd24c67-cd1d-5603-6da3-571880af1c98.png)

マネコン上で1分以内もしくは60MB以下のMP4形式の映像をアップロードすると、
その映像に映っている物体をタグとして表示してくれます。
今回検出されたタグは下記で、
FemaleやChildなど「これは違うのでは？」となるタグ若干ありますが概ね正しく認識されているものばかりでした。

![image8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/445555/4b207d0a-1808-b41a-fb6f-f2eff615ed1e.png)

# やってみた②：人物認識
下記構成で行いました。
USBカメラに映った人物は、S3に格納された写真の人物の内どの人物に近いのか判別するシステムです。
![image15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/445555/9f5ed527-99a1-80ca-47b3-b15c6d19c017.png)

S3に格納した人物判定用の写真データは下記内容で用意しました。
- 現在の私自身の写真
- 10年前ほどの私自身の写真
- 私に似ていると言われたことがある芸能人の写真
※私はいま丸坊主なので同じ髪型の芸能人の方々の写真を使用させていただきました。

髪型や顔の輪郭が近い人を写真データに含めたので、多少は引っかかって認識結果が割れるのではと事前予想では考えました。
果たして結果は・・・

![image16のコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/445555/0c5bbcff-1175-4674-affe-de1bcd17bc49.png)

#### 全然引っかかってくれませんでした！

USBカメラに私が映った状態では①現在の私自身の写真 ②10年前ほどの私自身の写真がほぼ同じ割合で認識される結果でした。
悔しかったのでUSBカメラの画面いっぱいに映るようS3に格納した芸能人の方の写真を見せると、
ちゃんとその人物が認識されていました。(図中の赤色バー部分)
 
# やってみて分かったこと
驚いた事は顔にシワがなかったり髪型が全く違う10年前の写真でもちゃんと同一人物として認識されたことです。
マスクをして顔を半分隠したり、顔をカメラ正面に向けず横顔の状態でも認識結果は変わらなかったので、人物判定として高い精度を持っていると感じました。

また、認識した人物の一致率まで分かるため顔認証のドアセキュリティなどに応用が効きそうとも感じました。
![image9のコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/445555/adaefa4d-0f96-32cc-1a6e-a5110867c3de.png)
※こちらはすでに[導入事例](https://pages.awscloud.com/rs/112-TZM-766/images/AmazonRekognition%E3%82%92%E6%B4%BB%E7%94%A8%E3%81%97%E3%81%9F%E5%AE%BF%E6%B3%8A%E6%96%BD%E8%A8%AD%E5%90%91%E3%81%91%E5%85%A5%E9%80%80%E5%AE%A4%E7%AE%A1%E7%90%86%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E6%A7%8B%E7%AF%89%E4%BA%8B%E4%BE%8B.pdf)があるようでした！

# 気になったのでもう少し調べてみる
今回触っただけでもAmazon Rekognitionのサービスとして下記がありましたが、
・物体を認識してその物体が何なのかタグ付け出来る
・写真と比較して人物判定が出来る
他にどんなことが出来るのか[APIリファレンス](https://docs.aws.amazon.com/ja_jp/rekognition/latest/dg/API_Reference.html)を読んでみて気になったものを挙げていきます。

- [DetectText](https://docs.aws.amazon.com/ja_jp/rekognition/latest/dg/text-detecting-text-procedure.html)：イメージ内のテキストを検出するAPIです。リファレンスでは下記画像から"IT's"、"MONDAY","but","keep","Smiling"と単語単位でテキスト検出する例が示されていました。
免許証やマイナンバーカードなどの番号読み取りで使えそうですね！
![text.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/445555/a3d1518e-07f3-5801-1f6a-93390ea628e0.png)

- [DetectFaces](https://docs.aws.amazon.com/ja_jp/rekognition/latest/dg/API_DetectFaces.html)：画像内の顔を検出するAPIです。人が写っている写真から顔を抜き出すことが出来るもので、何に使うのかイメージがわからなかったですが、ニュースアプリのサムネイル作成に便利なようです。こちらに[導入事例](https://data.gunosy.io/entry/rekognition)が紹介されていました。

# おわりに
今回はAmazon Rekognition Videoを触ってみました。
身近なモノと組み合わせて作れそうなものがあ色々ありそうなサービスだったので触っていて楽しかったです。
スマートロックと組み合わせて仕事部屋を簡易セキュリティルームにしたり、インターホンと組み合わせて配達員の方だったら自動でオートロック解除ボタンを押す仕組みを作ったりとやってみたいことが出てきたので、
試した結果を記事でまた投稿したいと思います。

# 参考にさせていただいた情報
[Amazon Kinesis Video Streams ハンズオン](https://catalog.us-east-1.prod.workshops.aws/workshops/b95b9381-baf0-4bef-ba31-63817d54c2a6/ja-JP)
[Amazon Rekognition APIリファレンス](https://docs.aws.amazon.com/ja_jp/rekognition/latest/dg/API_Reference.html)