質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

YOLO

YOLOとは、画像検出および認識用ニューラルネットワークです。CベースのDarknetというフレームワークを用いて、画像や動画からオブジェクトを検出。リアルタイムでそれが何になるのかを認識し、分類することができます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

4800閲覧

昼間の映像を赤外線撮影映像のように変換してYOLOv3の学習に使いたい

haru135

総合スコア3

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

YOLO

YOLOとは、画像検出および認識用ニューラルネットワークです。CベースのDarknetというフレームワークを用いて、画像や動画からオブジェクトを検出。リアルタイムでそれが何になるのかを認識し、分類することができます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

1グッド

1クリップ

投稿2020/08/24 10:23

実現したいこと

物体検出ライブラリを使ったカメラ解析システムを現在作っています。
概要としては、監視カメラの映像からYOLOv3によって映像内にいる人間の領域を抽出し、その後映っている人間の見た目の属性(年齢、性別、服装など)を別のモデルで推測します。

データの収集には以下の赤外線撮影可能な防犯カメラを使用しています。このカメラは昼間は通常のカラー映像を撮影するのですが、夕方~夜間になり周囲が暗くなってくると自動で赤外線撮影のグレースケール様の映像に切り替わります。

https://www.wtw.jp/ccd/download/catalogue/2017/part5ahd/p24_WTW-AR27NEP_WTW-AR27HJP.pdf

試したこと

現在コードの作成と並行してデータ収集を行っているのですが、撮影現場の都合で夜間の映像データの入手量が少なくなることに気がつきました。そこで昼間に撮影したカラー映像を夜間に赤外線撮影したグレースケール様の画像に変換することで学習データとして用いることができないかと考えました。

考えたのは以下の手順です。

  1. 昼間に撮影した映像をグレースケールへと変換する。
  2. 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の学習時に昼間の映像と夜間の映像を混ぜて使ってもいいのか?

何かご意見やアドバイス等いただけないでしょうか。上記の疑問点以外でもおかしな点がありましたらご指摘いただけますと幸いです。よろしくお願いいたします。

daikooooooon👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

・そもそも変換後の画像は赤外線撮影の画像と同じものとして扱えるのか?(赤外線撮影画像の中身はグレースケールとは別物なのではないか?)

別物ですが、特徴としては似ているので、オーグメンテーションの効果はあると思います。

YOLOv3の学習時に昼間の映像と夜間の映像を混ぜて使ってもいいのか?

カラー画像と赤外線画像を同じモデルで推論するのであれば、むしろ、そうする必要があります。その際、赤外線画像が1チャンネルの場合は3チャンネル化してから入力します。


そのカメラで撮影した映像で追加学習することでより精度はよくなると思いますが、CNN は色だけで判断しているわけではないので、既存の学習済みモデルにグレースケール画像を与えてもそれなりの精度で検出はできたりします。

ネットから適当にもってきた画像で手元で試したら以下のようになりました。

イメージ説明

イメージ説明

MSCOCO で学習した YOLOv3 モデルで赤外線画像に対して検出した結果

投稿2020/08/24 11:04

編集2020/08/24 11:05
tiitoi

総合スコア21956

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

haru135

2020/08/25 00:23

tiitoiさん、以前の質問に続きご回答いただきありがとうございます。 Augmentationの効果があるならばグレースケール化の価値はありそうですね。また勉強として① 昼間の画像をグレースケール化したもの、② 同地点の夜間の赤外線画像、の色調を比較することで両者の類似度も調べてみたいと思います。 CNNは色以外も判断しているとは知っていましたが、学習済みモデルで添付いただいた画像ほどの精度が出るとは想定外でした。この結果をみると、まずはAugmentationなしで進めてみることも検討します。 このたびはご助言いただきありがとうございました。今後とも何卒よろしくお願いいたします。
fana

2020/08/25 01:50

> 赤外線画像 って,用いている波長(?)によって全然違いますよね. 論文とか見ると,すげーくっきり人(温度の高い場所)のシルエットが取れてたりするんで,そういう絵を期待していると 与えられたカメラではそれこそ雑音だらけのグレースケール画像かよみたいな絵しか取れなくて絶望したり.
haru135

2020/08/25 03:06

fanaさん、コメントありがとうございます。 実際に撮影した赤外線画像を確認してみたのですが、撮影環境が屋内ということもあってか雑音は少なかったです。ただし、fanaさんがご指摘のように「赤外線画像自体が用いる波長に依存する」ことに加えて「カラー画像をグレースケール化する方法によっても得られる像は大きく変わる(https://qiita.com/yoya/items/96c36b069e74398796f3)」という理由から、赤外線画像とグレースケール化画像は似て非なるものであると再確認しました。 最終的には屋外での撮影も見込んでいるのですが……今よりも雑音が多そうなのであまり期待しないようにしておこうと思います。ご助言いただきありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問