実現したいこと
物体検出ライブラリを使ったカメラ解析システムを現在作っています。
概要としては、監視カメラの映像からYOLOv3によって映像内にいる人間の領域を抽出し、その後映っている人間の見た目の属性(年齢、性別、服装など)を別のモデルで推測します。
データの収集には以下の赤外線撮影可能な防犯カメラを使用しています。このカメラは昼間は通常のカラー映像を撮影するのですが、夕方~夜間になり周囲が暗くなってくると自動で赤外線撮影のグレースケール様の映像に切り替わります。
https://www.wtw.jp/ccd/download/catalogue/2017/part5ahd/p24_WTW-AR27NEP_WTW-AR27HJP.pdf
試したこと
現在コードの作成と並行してデータ収集を行っているのですが、撮影現場の都合で夜間の映像データの入手量が少なくなることに気がつきました。そこで昼間に撮影したカラー映像を夜間に赤外線撮影したグレースケール様の画像に変換することで学習データとして用いることができないかと考えました。
考えたのは以下の手順です。
- 昼間に撮影した映像をグレースケールへと変換する。
- YOLOv3でカラー映像と同じように扱えるようチャンネル数を戻す。
調べてみたところ、以下のブログではpillowを使ってグレースケール化した画像を再度カラー化する方法が紹介されていたので、サンプル画像で試してみました。
Pillowでグレースケール化するときに3チャンネルで出力するテクニック
https://blog.shikoan.com/pillow-gray-three-channels/
Script
1from PIL import Image 2 3img = Image.open('./hoge.png') 4img2 = img.convert("L") # グレースケール化 5img3 = img.convert("L").convert("RGB") # グレースケール化のちカラー化 6 7print(img2.getpixel((16, 16))) # 任意の点(16,16)におけるピクセルの情報を出力 8print(img3.getpixel((16, 16))) 9 10img2.save("./hoge_L.png") 11img3.save("./hoge_RGB.png")
Output
1166 # グレースケール化しただけだと1チャンネルになっている 2(166, 166, 166) # グレースケール化のちカラー化すると3チャンネルになっている
順に元のカラー画像、グレースケール化画像、グレースケール化にカラー化した画像を示します。
疑問点
前述の手順で見た目上は赤外線画像のように変換できたように思っているのですが、以下の疑問が生じました。
・そもそも変換後の画像は赤外線撮影の画像と同じものとして扱えるのか?(赤外線撮影画像の中身はグレースケールとは別物なのではないか?)
・YOLOv3の学習時に昼間の映像と夜間の映像を混ぜて使ってもいいのか?
何かご意見やアドバイス等いただけないでしょうか。上記の疑問点以外でもおかしな点がありましたらご指摘いただけますと幸いです。よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/25 00:23
2020/08/25 01:50
2020/08/25 03:06