目次
導入
学習成果
目次
火災検出における深い学習の革命
火災検出の課題
データセットの概要
火と非火の画像の構成
環境のセットアップ
データの準備
画像の分布を視覚化する
画像配布のためのパイチャートを作成します
火と炎のない画像の表示
増強技術によるトレーニングデータの強化
拡張画像の視覚化
火災検出モデルの構築
オプティマイザーと損失関数を使用してモデルをコンパイルします
最適なトレーニングのためにコールバックを追加します
モデルフィッティング:畳み込みニューラルネットワークのトレーニング
モデルの評価
使用方法:新しい画像での火災の予測
画像のダウンロードとロード
予測を行う
結論
キーテイクアウト
よくある質問
ホームページ テクノロジー周辺機器 AI Flame Guardian:ディープラーニングベースの火災検出システム

Flame Guardian:ディープラーニングベースの火災検出システム

Apr 18, 2025 am 10:54 AM

導入

あなたがあなたの家族の安全を確保するので、煙の匂い、心臓のレースに目覚めることを想像してください。早期発見は非常に重要であり、深い学習駆動の火災検出システムである「Flame Guardian」は、命を救うことを目指しています。この記事では、データ収集や増強から構築と微調整まで、CNNとTensorflowを使用してこのテクノロジーの作成を導きます。あなたが技術愛好家であろうと専門家であろうと、最先端のテクノロジーを活用して生活や財産を保護する方法を発見してください。

学習成果

  • モデルのパフォーマンスを最適化するために、画像データセットの準備、整理、拡張のスキルを獲得します。
  • 効果的な画像分類タスクのために、畳み込みニューラルネットワークを構築して微調整する方法を学びます。
  • メトリックと視覚化を使用してモデルパフォーマンスを評価および解釈する機能を開発します。
  • 実際のアプリケーションのDL(ディープラーニング)モデルを展開および適応させる方法を学び、火災検出などの実際の問題の有用性を実証します。

この記事は、データサイエンスブログソンの一部として公開されました

目次

  • 火災検出における深い学習の革命
  • 火災検出の課題
  • データセットの概要
  • 環境のセットアップ
  • データの準備
  • 画像の分布を視覚化する
  • 火と炎のない画像の表示
  • 増強技術によるトレーニングデータの強化
  • 火災検出モデルの構築
  • モデルフィッティング:畳み込みニューラルネットワークのトレーニング
  • モデルの評価
  • 使用方法:新しい画像での火災の予測
  • よくある質問

火災検出における深い学習の革命

最近では、TheDeep Learningは、ヘルスケアから金融まで、カラフルな分野に革命をもたらしており、今では安全性と災害事業に進出しています。深い学習の特に扇動的な操作の1つは、火災発見の領域にあります。世界中のバックファイヤーの頻度と柔軟性を追加することで、効果的で信頼できる火災発見システムの開発は、これまで以上に極めて重要です。この包括的な仲間では、畳み込みニューラルネットワーク(CNNS)とTensorflowを使用して、重要な火災発見システムを作成するプロセスを説明します。 「Flame Guardian」という適切な名前のこのシステムは、高い繊細さを持つ画像からの火を識別することを目指しており、潜在的に広い火災損傷の先見の際にbeり、

火災は、山火事であろうと構造的な火災であろうと、生命、財産、環境に大きな脅威をもたらします。火災の壊滅的な影響を緩和するには、早期の検出が重要です。ディープラーニングベースの火災検出システムは、膨大な量のデータを迅速かつ正確に分析し、エスカレートする前に火災事件を特定できます。

火災検出の課題

深い学習を使用して火を検出すると、いくつかの課題があります。

  • データのばらつき:火の画像は、色、強度、および周囲の環境の点で大きく異なる場合があります。堅牢な検出システムは、この変動性を処理できる必要があります。
  • 誤検知:不必要なパニックやリソースの展開を避けるために、偽の陽性(火災と誤って識別する)を最小限に抑えることが重要です(火災と燃えない画像を誤って識別する)。
  • リアルタイム処理:実際の使用のために、システムは画像をリアルタイムで処理できる必要があり、タイムリーなアラートを提供します。
  • スケーラビリティ:システムは、大きなデータセットを処理し、異なる作業を行うためにスケーラブルである必要があります。

データセットの概要

Flame Guardian Fire Detection Systemに使用されるデータセットは、「火災」と「非発火」の2つのクラスに分類された画像を含むことを含みます。このデータセットの主な目的は、畳み込みニューラルネットワーク(CNN)モデルをトレーニングして、火災を含む画像とそうでない画像を正確に区別することです。

火と非火の画像の構成

  • 火災画像:これらの画像には、火が存在するさまざまなシナリオが含まれています。データセットには、山火事、構造火災、および制御された火傷の画像が含まれています。これらの画像の火の火は、サイズ、強度、およびそれが存在する環境が異なる場合があります。この多様性は、モデルが火のさまざまな視覚特性を学ぶのに役立ちます。
  • 非火災画像:これらの画像には火が含まれていません。これらには、風景、建物、森林、その他の自然や都市環境など、火災のない幅広いシナリオが含まれています。多様な非火災画像を含めることで、モデルが火災以外の状況で火災を誤って識別しないことが保証されます。

ここからデータセットをダウンロードできます。

環境のセットアップ

まず、必要なライブラリとツールを使用して地形をセットアップする必要があります。 GPUサポートを備えたアクセス可能なプラットフォームを提供するため、このデザインにGoogle Collabを使用します。以前はデータセットをダウンロードし、ドライブにアップロードしました。

 #Mount Drive
Google.colabインポートドライブから
drive.mount( '/content/drive')

#必要なライブラリを輸入します
npとしてnumpyをインポートします
PDとしてパンダをインポートします
pltとしてmatplotlib.pyplotをインポートします
シーボーンをSNSとしてインポートします
pxとしてplotly.Expressをインポートします
plotly.graph_objectsを移動します
plotly.subplotsからimport make_subplots
OSをインポートします
tfとしてtensorflowをインポートします
Tensorflow.keras.preprocessingインポート画像から
tensorflow.keras.preprocessing.imageインポートImagedatageneratorから


#Settingスタイルグリッド 
sns.set_style( 'darkgrid')
ログイン後にコピー

データの準備

アルゴリズムをトレーニングするために、火災と非火のスクリプトの写真を含むデータセットが必要です。 Googleドライブから画像を追加するための空白のデータフレームと機能が作成されます。

 #空のデータフレームを作成します
df = pd.dataframe(列= ['path'、 'label']))

#データフレームに画像を追加する機能
def add_images_to_df(ディレクトリ、ラベル):
    dirnameの場合、_、os.walkのファイル名(ディレクトリ):
        ファイル名のファイル名の場合:
            df.loc [len(df)] = [os.path.join(dirname、filename)、label]

#火の画像を追加します
add_images_to_df( '/content/drive/mydrive/fire/fire_dataset/fire_images'、 'fire'))

#ファイア以外の画像を追加します
add_images_to_df( '/content/drive/mydrive/fire/fire_dataset/non_fire_images'、 'non_fire')

#データセットをシャッフルします
df = df.sample(frac = 1).reset_index(drop = true)
ログイン後にコピー

画像の分布を視覚化する

火災と非火災の画像の分布を視覚化すると、データセットをよりよく理解することができます。インタラクティブなプロットにはプロットを使用します。

画像配布のためのパイチャートを作成します

次に、画像分布用のパイチャートを作成しましょう。

 #散布図を作成します
図= px.scatter(
    data_frame = df、
    x = df.index、
    y = 'label'、
    color = 'label'、
    title = '火と火の画像の分布'
))

#マーカーサイズを更新します
fig.update_traces(marker_size = 2)

図add_trace(go.pie(values = df ['label']。value_counts()。to_numpy()、labels = df ['label']。value_counts()。index、marker = dict(colors = ['lightblue'、 'pink'])、row = 1、col = 2)
ログイン後にコピー

Flame Guardian:ディープラーニングベースの火災検出システム

火と炎のない画像の表示

ここで、火災や炎以外の画像を表示するためのコードを書いてみましょう。

 Def Visualize_images(ラベル、タイトル):
    data = df [df ['label'] == label]
    写真= 6#写真の数を設定します
    図、ax = plt.subplots(int(pics // 2)、2、figsize =(15、15))
    plt.suptitle(タイトル)
    ax = ax.ravel()
    範囲のIの場合((写真// 2) * 2):
        path = data.sample(1).loc [:, 'path']。to_numpy()[0]
        img = image.load_img(path)
        img = image.img_to_array(img) / 255
        ax [i] .imshow(img)
        ax [i] .axes.xaxis.set_visible(false)
        ax [i] .axes.yaxis.set_visible(false)
visualize_images( 'fire'、 'fire with fire'))
visualize_images( 'non_fire'、 '画像のない')) 
ログイン後にコピー

Flame Guardian:ディープラーニングベースの火災検出システム

Flame Guardian:ディープラーニングベースの火災検出システム

火災カテゴリと非火災カテゴリの両方からいくつかのサンプル画像を表示することにより、モデルがどのような動作しているのかという感覚が得られます。

増強技術によるトレーニングデータの強化

トレーニングデータを改善するために、画像の追加方法を適用します。旋回、ドローン、せん断と同様の任意の画像適応を適用することは、追加として知られています。より堅牢で異なるデータセットを生成することにより、この手順は、新しい画像に一般化するモデルの能力を強化します。

 tensorflow.keras.modelsからインポートシーケンシャルから
Tensorflow.keras.layersからImport conv2d、maxpool2d、flatten、denseから

ジェネレーター=イメージガネレーター(
    Rotation_range = 20、
    width_shift_range = 0.1、
    height_shift_range = 0.1、
    shear_range = 2、
    Zoom_Range = 0.2、
    リスペール= 1/255、
    validation_split = 0.2、
))
train_gen = generator.flow_from_dataframe(df、x_col = 'path'、y_col = 'label'、images_size =(256,256)、class_mode = 'binary'、subset = 'トレーニング')
val_gen = generator.flow_from_dataframe(df、x_col = 'path'、y_col = 'label'、images_size =(256,256)、class_mode = 'binary'、subset = 'validation')
class_indices = {}
train_gen.class_indices.keys()のキーの場合:
    class_indices [train_gen.class_indices [key]] = key
    
print(class_indices)
ログイン後にコピー

拡張画像の視覚化

トレーニングセットによって生成された拡張画像の一部を視覚化できます。

 sns.set_style( 'dark')
写真= 6#写真の数を設定します
図、ax = plt.subplots(int(pics // 2)、2、figsize =(15、15))
plt.suptitle( 'トレーニングセットで生成された画像')
ax = ax.ravel()
範囲のIの場合((写真// 2) * 2):
    ax [i] .imshow(train_gen [0] [0] [i])
    ax [i] .axes.xaxis.set_visible(false)
    ax [i] .axes.yaxis.set_visible(false)
ログイン後にコピー

Flame Guardian:ディープラーニングベースの火災検出システム

火災検出モデルの構築

私たちのモデルは、いくつかの畳み込み層に対応し、それぞれに最大プーリングサブキャストが続きます。畳み込みレイヤーはCNNSのコア構造ブロックであり、モデルが画像からの特徴の空間スケールを学習できるようにします。最大プーリングレイヤーは、ポイントマップの次元を減らすのに役立ち、モデルをより効果的にします。また、モデルの終わりに向けて完全に接続された(厚い)レイヤーを追加します。これらのレイヤーは、畳み込みレイヤーによって学習された機能を組み合わせて、最終的なブラケットの決定を行うのに役立ちます。 Subcasteの問題には、シグモイド活性化関数を備えた単一のニューロンがあり、画像に火が含まれているかどうかを示す確率スコアに貢献します。モデルアーマチュアを定義した後、各サブキャストの構造とパラメーターの数を確認するための要約を公開します。このステップは、モデルが正しく構成されていることを保証するために重要です。

 tensorflow.keras.modelsからインポートシーケンシャルから
Tensorflow.keras.layersからImport conv2d、maxpool2d、flatten、denseから

Model = sequential()
model.add(conv2d(filters = 32、kernel_size =(2,2)、activation = 'lelu'、input_shape =(256,256,3)))
model.add(maxpool2d())
Model.Add(conv2d(filters = 64、kernel_size =(2,2)、activation = 'lelu'))
model.add(maxpool2d())
Model.Add(conv2d(filters = 128、kernel_size =(2,2)、activation = 'lelu'))
model.add(maxpool2d())
model.add(flatten())
model.add(dense(64、activation = 'lelu')))
model.add(dense(32、activation = 'lelu'))
model.add(濃度(1、activation = 'sigmoid'))
model.summary()
ログイン後にコピー

オプティマイザーと損失関数を使用してモデルをコンパイルします

次に、Adam Optimizerとバイナリクロスエントロピー損失関数を使用してモデルをコンパイルします。 Adam Optimizerは、その効率と適応学習率のために深い学習に広く使用されています。バイナリ交差エントロピーは、バイナリ分類の問題(火災対非発火)に適しています。

また、トレーニングと検証中のモデルのパフォーマンスを評価するために、精度、リコール、面積(AUC)などの追加のメトリックを指定します。

最適なトレーニングのためにコールバックを追加します

コールバックは、トレーニングプロセスを監視および制御できるTensorflowの強力な機能です。 2つの重要なコールバックを使用します。

  • アーリーストップ:検証損失が改善され、過剰装着が妨げられたときにトレーニングを停止します。
  • ReducelronPlateau:検証損失が停止したときに学習率が低下し、モデルがより良いソリューションに収束するのに役立ちます。
 #compilingモデル
Tensorflow.keras.metrics Import Recallから、AUCから
Tensorflow.keras.utilsからインポートplot_modelから

model.compile(optimizer = 'adam'、loss = 'binary_crossentropy'、metrics = ['quarcals'、recall()、auc()]))

#コールバックを定義します
Tensorflow.keras.callbacksからImport Early -Stopping、ReducelronPlateauから
Early_stoppping = EarlyStopping(Monitor = 'Val_loss'、Patience = 5、restore_best_weights = true)
Reduce_lr_on_plateau = ReducelronPlateau(Monitor = 'Val_loss'、Factor = 0.1、Patience = 5)
ログイン後にコピー

モデルフィッティング:畳み込みニューラルネットワークのトレーニング

モデルフィッティングとは、データセットで機械学習モデルをトレーニングするプロセスを指します。このプロセス中、モデルは、損失関数を最小限に抑えるためにパラメーター(重みとバイアス)を調整することにより、データの基礎となるパターンを学習します。深い学習の文脈では、これにはトレーニングデータを介した前後のパスのいくつかのエポックが含まれます。

 model.fit(x = train_gen、batch_size = 32、epochs = 15、validation_data = val_gen、callbacks = [erily_stoppping、resed_lr_on_plateau]))
ログイン後にコピー

モデルの評価

トレーニング後、検証セットでモデルのパフォーマンスを評価します。このステップは、モデルが新しいデータにどれだけよく一般化されるかを理解するのに役立ちます。また、トレーニングの履歴を視覚化して、損失とメトリックが時間とともにどのように進化したかを確認します。

 eval_list = model.evaluate(val_gen、return_dict = true)
eval_list.keys()のメトリックの場合:
    print(metric f ":{eval_list [metric]:。2f}")
   
eval_list = model.evaluate(val_gen、return_dict = true)
eval_list.keys()のメトリックの場合:
    print(metric f ":{eval_list [metric]:。2f}")
ログイン後にコピー

Flame Guardian:ディープラーニングベースの火災検出システム

使用方法:新しい画像での火災の予測

最後に、訓練されたモデルを使用して、新しい画像に火が含まれているかどうかを予測する方法を示します。この手順では、画像をロードし、モデルの入力要件に合わせて前処理し、モデルを使用して予測を行います。

画像のダウンロードとロード

インターネットからサンプル画像をダウンロードし、Tensorflowの画像処理機能を使用してロードします。このステップでは、画像のサイズを変更し、ピクセル値を正規化します。

予測を行う

訓練されたモデルを使用して、ロードされた画像を予測します。モデルは確率スコアを出力し、バイナリ分類(火災または発火)を取得するために丸めます。また、クラスインデックスを使用して、予測を対応するラベルにマッピングします。

 #画像のダウンロード
!curl https://static01.nyt.com/images/2021/02/19/world/19storm-b​​riefing-texas-fire/19storm-b​​riefing-texas-fire-articlelarge.jpg -output Predict.jpg
#画像のロード
img = image.load_img( 'predict.jpg')
IMG

img = image.img_to_array(img)/255
img = tf.image.resize(img、(256,256))
img = tf.expand_dims(img、axis = 0)

print( "Image Shape"、img.shape)

prediction = int(tf.round(model.predict(x = img))。numpy()[0] [0])
print( "予測値は:"、予測、 "、および予測されたラベルは:"、class_indices [Prediction]))))) 
ログイン後にコピー

Flame Guardian:ディープラーニングベースの火災検出システム

Flame Guardian:ディープラーニングベースの火災検出システム

結論

「Flame Guardian」のような深い学習ベースの火災検出システムを開発することは、実際の課題に対処する際に深い学習の変革的可能性を例示しています。データの準備と視覚化からモデルの構築、トレーニング、評価まで、各ステップに細心の注意を払って追跡することにより、画像の火を検出するための堅牢なフレームワークを作成しました。このプロジェクトは、深い学習に関係する技術的な複雑さを強調するだけでなく、安全と災害防止のために技術を活用することの重要性も強調しています。

結論付けているように、DLモデルが火災検出システムを大幅に強化し、より効率的で信頼性が高く、スケーラブルであることが明らかです。従来の方法にはメリットがありますが、深い学習を組み込むと、新しいレベルの洗練と正確さが導入されます。 「Flame Guardian」の開発の旅は、現代のテクノロジーの計り知れない能力を紹介し、啓発的でやりがいのあるものでした。

キーテイクアウト

  • データの取り扱いと視覚化技術を理解しました。
  • 適切なデータ収集と増強を理解したことで、効果的なモデルのトレーニングと一般化が確保されます。
  • モデルビルディングとモデル評価を実装しました。
  • トレーニングを最適化し、過剰適合を防ぐために、EarlyStoppingやReducelronPlateauなどのコールバックを理解しました。
  • CNNを使用した火災検出のための構築畳み込みニューラルネットワークを学習しました。

よくある質問

Q1。 「Flame Guardian」とは何ですか?

A.「Flame Guardian」は、畳み込みニューラルネットワーク(CNNS)とTensorflowを使用して、高精度のある画像の火災を識別する火災検出システムです。

Q2。なぜ早期の火災検出が重要なのですか?

A.早期の火災検出は、大規模な損害を防ぎ、命の救い、火災の環境への影響を軽減するために重要です。迅速な反応は、山火事と構造的な火災の両方の壊滅的な影響を大幅に軽減できます。

Q3。深い学習を使用して火災検出システムの構築にはどのような課題がありますか?

A.課題には、データの変動性(色、強度、環境の違い)の処理、誤検知の最小化、リアルタイム処理機能の確保、および大きなデータセットを処理するスケーラビリティが含まれます。

Q4。画像の増強は、モデルのトレーニングにどのように役立ちますか?

A.画像の増強は、回転、ズーム、せん断などのランダム変換を適用することにより、トレーニングデータセットを強化します。これにより、モデルがさまざまなシナリオにさらされ、その堅牢性が向上することで、モデルがより良く一般化するのに役立ちます。

Q5。モデルのパフォーマンスを評価するために使用されるメトリックは何ですか?

A.モデルは、精度、リコール、曲線下の領域(AUC)などのメトリックを使用して評価されます。これらのメトリックは、モデルが火災と火災の画像とその全体的な信頼性をどれだけうまく区別するかを評価するのに役立ちます。

この記事に示されているメディアは、Analytics Vidhyaが所有しておらず、著者の裁量で使用されています。

以上がFlame Guardian:ディープラーニングベースの火災検出システムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

クリエイティブプロジェクトのための最高のAIアートジェネレーター(無料&有料) クリエイティブプロジェクトのための最高のAIアートジェネレーター(無料&有料) Apr 02, 2025 pm 06:10 PM

この記事では、トップAIアートジェネレーターをレビューし、その機能、創造的なプロジェクトへの適合性、価値について説明します。 Midjourneyを専門家にとって最高の価値として強調し、高品質でカスタマイズ可能なアートにDall-E 2を推奨しています。

Meta Llama 3.2を始めましょう - 分析Vidhya Meta Llama 3.2を始めましょう - 分析Vidhya Apr 11, 2025 pm 12:04 PM

メタのラマ3.2:マルチモーダルとモバイルAIの前進 メタは最近、ラマ3.2を発表しました。これは、モバイルデバイス向けに最適化された強力なビジョン機能と軽量テキストモデルを特徴とするAIの大幅な進歩です。 成功に基づいてo

ベストAIチャットボットが比較されました(chatgpt、gemini、claude& more) ベストAIチャットボットが比較されました(chatgpt、gemini、claude& more) Apr 02, 2025 pm 06:09 PM

この記事では、ChatGpt、Gemini、ClaudeなどのトップAIチャットボットを比較し、自然言語の処理と信頼性における独自の機能、カスタマイズオプション、パフォーマンスに焦点を当てています。

ChatGpt 4 oは利用できますか? ChatGpt 4 oは利用できますか? Mar 28, 2025 pm 05:29 PM

CHATGPT 4は現在利用可能で広く使用されており、CHATGPT 3.5のような前任者と比較して、コンテキストを理解し、一貫した応答を生成することに大幅な改善を示しています。将来の開発には、よりパーソナライズされたインターが含まれる場合があります

トップAIライティングアシスタントは、コンテンツの作成を後押しします トップAIライティングアシスタントは、コンテンツの作成を後押しします Apr 02, 2025 pm 06:11 PM

この記事では、Grammarly、Jasper、Copy.ai、Writesonic、RytrなどのトップAIライティングアシスタントについて説明し、コンテンツ作成のためのユニークな機能に焦点を当てています。 JasperがSEOの最適化に優れているのに対し、AIツールはトーンの維持に役立つと主張します

AIエージェントを構築するためのトップ7エージェントRAGシステム AIエージェントを構築するためのトップ7エージェントRAGシステム Mar 31, 2025 pm 04:25 PM

2024年は、コンテンツ生成にLLMSを使用することから、内部の仕組みを理解することへの移行を目撃しました。 この調査は、AIエージェントの発見につながりました。これは、最小限の人間の介入でタスクと決定を処理する自律システムを処理しました。 buildin

最高のAI音声ジェネレーターの選択:レビューされたトップオプション 最高のAI音声ジェネレーターの選択:レビューされたトップオプション Apr 02, 2025 pm 06:12 PM

この記事では、Google Cloud、Amazon Polly、Microsoft Azure、IBM Watson、DecriptなどのトップAI音声ジェネレーターをレビューし、機能、音声品質、さまざまなニーズへの適合性に焦点を当てています。

AVバイト:Meta' s llama 3.2、GoogleのGemini 1.5など AVバイト:Meta' s llama 3.2、GoogleのGemini 1.5など Apr 11, 2025 pm 12:01 PM

今週のAIの風景:進歩、倫理的考慮、規制の議論の旋風。 Openai、Google、Meta、Microsoftのような主要なプレーヤーは、画期的な新しいモデルからLEの重要な変化まで、アップデートの急流を解き放ちました

See all articles