錆の画像認識に基づく会議監視システム
コンフカウントについて
Conf-CountはRustの会議モニタリングシステムで、S3やRekognitionのようなAWSサービスを使い、Rustアプリケーションを通して送信された2つの画像の類似度スコアを取得します。 このプロジェクトの全体的な目標は、会議の出席者を監視し、組織で開催されたすべての会議を追跡することである。
このプロジェクトは画像認識に基づいており、AWS Rekognition Serviceを使用して、すべての登録ユーザーの画像を現在のユーザーの画像と比較します。登録ユーザーが会議に出席できない場合、彼の会議ステータスは欠席のままとなり、そのユーザーにステータスとトーク内容とともにメールが送信されます。
課題
私たちが直面した主な問題は以下の通りである:
- Rustを使ったAWS Rekognitionとの対話。
- Raspberry Piのカメラを非同期でトリガーする。
- Rustでマルチパートを扱う
ソリューション
AWSのRekognitionとのインタラクションは、Runtimeに関連するエラーを投げるため、Rust Programmingでは非常に困難であった。そこで、Tokioランタイム(tokio::runtime::Runtime)を提供し、そのRekognitionスレッドを(futures::sync::oneshot::spawn)メソッドにスポーンすることで、RekognitionサービスのCompareFaces APIと連携できるようにした。
RPiカメラを非同期でトリガーするのは正しい判断ではなかった。なぜなら、非同期タスクなので、プログラムは以前にキャプチャした画像で動作し、新しい画像はまだ処理中だからだ。 そこで、このトリガーカメラを同期式にして、常に現在の画像を取得できるようにすることにした。 マルチパートの処理は思ったほど簡単ではなかったので、(futures::stream)と(actix-web::multipart)を使ってマルチパートのリクエストを処理することにした。
結果
Conf-Countを利用するメリットは以下のように多岐にわたる:
- Conf-Countはオープンソースのプロジェクトである。 ソースコードはここにある。
- あらゆる貢献を歓迎する。 貢献したい方は、GitHubの課題を作成し、プルリクエストを上げてください。
ケーススタディをもっと読む
大手デジタル広告サービスとの1年にわたるRPAの旅を垣間見る
大手デジタル広告サービス・ソリューションプロバイダーの1年にわたるRPAの旅と、NashTechがどのように彼らを支援したかをご紹介します。
デジタル棚の分析をサポートし、eコマースの成長を引き出す
NashTechがどのようにデジタル棚の分析を支援し、世界有数のデータ洞察とeコマースソリューションプロバイダーと成長を解き放つかをご覧ください。
あなたのプロジェクトについて話しましょう
- トピックス