サーマルカメラを使用した温度検知のやり方
フリーの監視カメラソフト「LiveCapture3」。
このLiveCapture3 v3.2.02.06080で、サーマルカメラによる温度計測機能に対応しました。
これにより、体温自動計測&通知システムを構築することができます。
サーマルカメラとは
サーマルカメラとは、最近TVなどでよく見るようになった、温度を計測するカメラのことです。
仕組みとしては、物体から放出される遠赤外線の反射を色分けて可視化しています。
このサーマルカメラ、昨今のコロナ禍でよく使われるようになっていますが、自動体温測定&検知システムを組もうとすると、結構大変です。
そこで、LiveCapture3を使って、簡易的に同様のシステムを作ってみたいと思います。
今回入手したのは下記のカメラ(FLIR C2)です。
超高性能 携帯型サーモグラフィーカメラ FLIR(フリアー) C2 コンパクトサイズ【並行輸入品】
このカメラは、USBでPCに接続するとLiveCapture3で通常のWebカメラと同様に接続が可能です。
このカメラ以外でも、UVC(USB Video Class)に対応しているものが多くありますので、探してみてください。
LiveCapture3とサーマルカメラの接続
FLIR C2をUSBでPCに接続し、LiveCapture3を起動して、タスクトレイアイコンを右クリックで「カメラの追加」を選択します。
「PCに接続されたカメラ(USBカメラ等)」を選択し、ビデオキャプチャーデバイス一覧から「FLIR USB Video」を選択すれば、FLIR C2の映像がLiveCapture3に表示されます。
温度検知の設定
温度検知を行うためには、通常の動体検知と同じ方法で設定を行います。
まず、プレビュー画面右下の設定ボタンを押して、設定画面を開きます。
「監視設定」タブを選択して、「動体検知を有効にする」にチェックを入れて動体検知を有効にします。
「動体検知設定」ボタンを押して、動体検知設定画面を表示し、「監視領域の設定」ボタンを押して、「監視パラメータ設定」画面を開きます。
この画面で、監視領域を設定して、検知アルゴリズムにあった設定値を設定していきますが、今回はサーマルカメラ対応の為に新規に追加された「数値検出」アルゴリズムを使用します。
数値検出アルゴリズムについて
この「数値検出」アルゴリズムは、画像の中の数値を検出するアルゴリズムです。
画像内に複数の数値が検出された場合は、一番最初に検出された数値を取得します。
FLIR C2では、カメラ中心の温度が左上に、画面内の最大/最小温度が右に、リアルタイムに表示されていますので、これらの温度数値を検出することで、温度検知の測定値としてLiveCapture3に取り込みます。
数値検出範囲の設定
LiveCapture3では、監視する画像の領域を任意の位置・大きさで指定することができます。
「監視パラメータ設定」画面を最初に開いた時には、監視領域として「全領域」が最初から設定されています。これは、画像のすべての領域を監視対象に含める設定になりますが、今回は、温度表示部分のみを監視対象に設定します。
「領域名」コンボボックスの下にある「追加」ボタンを押すと、「監視領域の追加」画面が表示されます。
この画面上で、監視領域を設定します。
FLIR C2の場合、中心に来た人の温度を計測する場合は左上の温度の部分を監視領域に設定します。
また、右上の最高温度の部分を監視領域に設定すれば、カメラ撮影範囲の中で設定温度よりも高い人がいる場合に検知する、ということも可能です。
監視領域の名称を入力してOKを押すと、「監視パラメータ設定」画面で、指定した監視領域の設定が可能になります。
検知アルゴリズムを「数値検出」にすると、「検出数値」に検出できた数値が表示されますので、正しく検出ができているかを確かめてください。
これで、温度検出ができるようになったのですが、最初に設定されてた「全領域」がまだ残っています。これは使わないので、全領域を選択して「削除」ボタンを押して領域を削除してください。
これで、温度検知の設定ができましたので、キャプチャーアクション(検知したときに実行する動作)を設定して、プレビュー画面左下の監視開始ボタンを押せば、温度検知を開始します。
ただ、サーマルカメラの映像を録画しても、誰だかよく分かりません。。。
もう一つカメラを用意できるのであれば、「連動キャプチャー」を設定することで、
- 監視はサーマルカメラで
- 検知した後の録画は別の通常カメラで
という運用が可能になりますので、こちらも併せて試してみてください。
FLIRは温度誤差が2-3度と大きく、ボロメーター方式なので機器温度依存が大きく体温異常測定に必要な0.5度以下程度の誤差にならず使い物にならないかと思いますが、補正はどのようにする感じでしょうか?
また、内臓RGBカメラは外部取得って可能なのでしょうか?
>補正はどのようにする感じでしょうか?
LiveCapture3での補正機能はありません。
あくまでカメラの性能に依存してしまいます。
取得した映像上(の定位置)に温度が表示される形のカメラであれば、他のカメラでも同様に数値認識が可能だと思いますが。。。
(申し訳ありませんが、私の方ではすべてのカメラで試せませんので、試した方がいらっしゃったら情報提供をお願いできると助かります)
>内臓RGBカメラは外部取得って可能なのでしょうか?
こちらはどのようなカメラでしょうか?
LiveCapture3の一覧に表示できれば(UVCカメラであれば)接続は可能だと思いますが、、、
ご返信ありがとうございます。
体温は36度が37.5度になると体温異常となるため誤差許容度が0.5度程度のイメージだったのでこのまま使うには危険(発熱者を平熱に判定したり逆もかなりある)な感じでした。
おそらく温度計がついた外部黒体補正が必要になるかと思います。
FLIR C2・C3とも持っているので実はいろいろ試していたのですが、デジタルカメラモードが普通のカメラに相当するのでそのデータが赤外線画像と並行で取得できるかとおもってのご質問でした(熱画像とカメラ画像の重ね合わせが楽になるため)。たぶん同時取得は厳しいかと思うので大丈夫です。