データ セットでは、オープン ソース イメージ (合計 6,000 個の火災イメージ) が使用されており、 濃い煙
と でマークされています。火災
2 つのカテゴリ。
##濃い煙
プロジェクトは
YOLO ##を採用しています# トレーニング。データを YOLO 形式に変換し、トレーニング セットと検証セットを分離しました。
dataset ディレクトリを参照してください。
2. トレーニング
トレーニング プロセスについては、YOLOv7 公式 Web サイトのドキュメントを参照してください。 data/coco.yaml ファイルを変更し、トレーニング データのパスとカテゴリを構成します。 事前トレーニング済みモデル yolov7.pt をダウンロードすると、トレーニングを開始できます3. 火災監視
トレーニング後完了したら、yolov7 ディレクトリの下の run ディレクトリで、生成されたモデル ファイル best.pt を見つけます。 私がトレーニングしたモデルは、fire.pt という名前のソース コードの重みディレクトリに配置されており、直接使用できます。 このモデルを使用して、監視プログラムを開発します。 まず、yolov7 ソース コードを現在のプロジェクトにダウンロードする必要があります。次に、pytorch をインストールし、pytorch を使用してトレーニング済みの yolov7 モデルを読み込みます。
fire_detector = torch.hub.load('./yolov7', 'custom', './weights/fire.pt', source='local')
ret, frame = cap.read() results = self.fire_detector(img_cvt) pd = results.pandas().xyxy[0] # 绘制检测框 for obj in pd.to_numpy(): box_l, box_t = int(obj[0]), int(obj[1]) box_r, box_b = int(obj[2]), int(obj[3]) obj_name = obj[6] if obj_name == 'smoke': box_color = (0, 0, 255) box_txt = '检测到浓烟' else: box_color = (0, 255, 0) box_txt = '检测到大火' frame = cv2.rectangle(frame, (box_l, box_t), (box_r, box_b), box_color, 2) frame = cv2_add_chinese_text(frame, box_txt, (box_l, box_t-40), box_color, 25)
以上がYOLOv7 モデルをトレーニングし、AI 火災検知を開発するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。