ホームページ >バックエンド開発 >Python チュートリアル >休暇が近づいてきました!技術者が Python を使用して景勝地セキュリティ システムを実装する方法
この設計では、YOLO ターゲット検出アルゴリズム、Openpose ジェスチャ認識アルゴリズム、ディープソート追跡アルゴリズム、および MSCNN 群衆密度推定アルゴリズムを使用して、火災監視、喫煙監視、行動安全監視、群集密度監視、マスク率監視を実装します。 6 つの主要な機能を監視します。このシステムはインテリジェントなビジュアルインタラクション技術を採用しており、ユーザーはジェスチャーでシステムを操作できるため、操作が便利で簡潔です。複数の角度と側面から景勝地の安全管理を支援し、景勝地の隠れた安全上の危険を軽減し、景勝地のインテリジェントな建設を促進します。このシステムの多彩な機能により、情報の正当性を保証するリアルタイムなデータ送信とフィードバックを実現し、携帯電話、パソコン、IoTプラットフォームなどの複数のプラットフォーム上で動作する「マルチプラットフォーム」を実現します。本当の意味での応用」。
さまざまなアルゴリズムで設計された多機能インテリジェントセキュリティシステムで、主に風光明媚な地域の火災予防と監視、伝染病の予防と制御、観光客の安全位置確認などに使用されます。景勝地の安全性にとって非常に重要であり、景勝地の保護とインテリジェントな建設には重要な応用価値があります。
このシステムは、コンピュータマルチメディア技術、インテリジェント画像解析技術、データマイニング技術などをベースに、観光名所の総合的なセキュリティ管理システムを構築します。個人の安全、森林火災予防管理、風光明媚な公共活動エリアにおける伝染病の予防と管理のニーズに応えて、全方位、全天候型、高解像度、インテリジェントなビデオ監視システムを構築する必要があります。現代の観光名所の安全管理のニーズを満たし、大規模なシナリオを実現します。 パノラマ監視は、景勝地での火災や観光客の危険な行動などの緊急事態を検出します。人員のリアルタイムの位置情報と軌跡のクエリを実現し、緊急事態が発生したときに地図をフラッシュ警告にリンクし、緊急指令を容易にします。同時に、人員管理と乗客の流れ分析システムを満たしており、出入り口での乗客の流れをカウントして分析する必要があり、景勝地が一定の乗客の流れの容量を超えた場合、タイムリーに警告を発することができます。観光客の入国を阻止し、観光客の適切な方向転換を行う。実際のニーズとスマート景勝地のシステムアーキテクチャ計画を組み合わせて、観光名所の包括的なセキュリティシステムは、インテリジェント監視システム、インテリジェント視覚インタラクション、多角度および多方向、およびマルチプラットフォームアプリケーションの4つのモジュールで構成されています。火災監視、喫煙監視、行動安全監視、群衆監視、密度監視、マスク率監視、人員配置監視などの異種セキュリティ サブシステムを統合します。システムの全体的な設計アーキテクチャは次のとおりです。
##基本機能の表示
このインテリジェント監視システムの開発プラットフォームは、Python 言語を使用した Pycharm であり、いくつかに分かれています。 6つの主要なシステムに分けられます。
2. 火災監視システムこのモジュールは、リアルタイムのビデオ監視を使用して、ビデオ内で火災が発生しているかどうかを分析します。図に示すように、景勝地で火災が発生した場合、システムは早期警報情報を迅速に送信し、指令室にフィードバックするため、火災を効果的に制御し、火災対応の効率を高めることができます。大きく改善されるでしょう。3. 喫煙監視システム
景勝地内での火災を防止するため、景勝地内のほとんどのエリアは禁煙となっております。このモジュールは、リアルタイムのビデオ監視を使用して、ビデオ内に喫煙行為があるかどうかを分析します。図に示すように、観光客が喫煙している場合、システムは早期警告メッセージを即座に送信し、指令室にフィードバックして、観光客の喫煙による安全上の危険を即座に発見し、火災を防止し、安全を確保します。景勝地の安全。4.行動安全監視システム
景勝地のツアー中、観光客の個人の安全は保護されなければなりません。このモジュールは、リアルタイム映像モニタリングにより映像内の人の体の動きを解析し、写真のような「転倒」などの危険行為が発生した場合に、早期警報情報をタイムリーに発報することができます。救助時間を大幅に短縮し、緊急事態による損失を軽減し、観光客の生命と財産を保護することができます。新型コロナウイルスの流行の影響を受け、景勝地は景勝地の人口密度を合理的に制御する必要があります。このモジュールを通じて、景勝地の観光客人口密度の動的な監視を実現し、インテリジェントな分析を通じて、群集密度をシステムページにリアルタイムで表示し、ユーザーが景勝地を管理し、健康と生命を効果的に保護するのに役立ちます観光客と従業員の安全を確保し、景勝地と社会全体の安定を維持します。
新型コロナウイルスの感染拡大を防ぐため、景勝地の関連規定に従い、景勝地に入る前に乗客を識別する必要があります。景勝地。このモジュールは、リアルタイムのビデオ監視を使用して、ビデオ内の観光客がマスクを着用しているかどうかを分析し、各観光客がマスクを着用しているかどうかをマークし、結果をシステムに表示し、現場のマスク着用率をリアルタイムで表示します。観光客や景勝地を保護するために、景勝地の防疫作業に使用されます。
このモジュールは、景勝地のリアルタイムビデオ監視を実施し、ビデオ内の観光客を分析および識別し、識別タグを自動的に生成します シーン内の観光客タグの位置はリアルタイムで記録され、システム ページに表示されます シーン内の人数は監視され、システム ページの左側に動的に表示されますユーザーが景勝地の管理を支援します。
このシステムは、従来のマウス クリック モジュール アプリケーション方法を置き換えることができ、ユーザーはコンピュータなどの入力デバイスを使用する必要がありません。マウス:システムとの完全な情報対話。ユーザーは体の動きだけでモジュールの選択を完了できるため、システムの操作がよりシンプルで便利になります。 (ここでは火災検知機能のみを設計します。他の機能はコード リファレンスに従って記述できます。)
#関与するアルゴリズム 1. ターゲット検出アルゴリズム このプロジェクトで使用されるターゲット検出アルゴリズムは、主に火災監視、喫煙行動監視、人の位置追跡に使用される YOLO アルゴリズムです。およびマスクレート監視。 YOLO ターゲット検出アルゴリズムでは、2 段階ターゲット検出アルゴリズムの検出効率が比較的低いと考えられているため、一部の学者は 1 段階ターゲット検出を提案しています。 2016年にJoseph Redmonらによって提案されました。 2. ターゲット追跡アルゴリズムこのプロジェクトでは、人員配置および追跡システムでディープソート ターゲット追跡アルゴリズムを使用します。このシステムの追跡プロセスは次のとおりです。 (1) 畳み込みニューラル ネットワークを使用して、ビデオ内の歩行者を検出および追跡します。 (2) ビデオ フレームが入力されると、最初に YOLOv3 ターゲット検出ネットワークに入り、Darknet-53 を通じて特徴を抽出します; (3) 次に、アップサンプリングと特徴融合が実行されます。 ; (4) 得られた予測ボックス情報を再び SORT アルゴリズムに入力し、ターゲット特徴モデリング、マッチング、追跡を行います; (5) 最後に出力結果。次の図は、位置追跡アルゴリズムのフローチャートです: 3. 混雑密度推定アルゴリズム 混雑密度カウントとは、人の数を推定することを指します。画像やビデオ、密度や分布において、これはインテリジェントビデオ監視分析の分野における重要な問題であり、研究のホットスポットであり、その後の動作分析、混雑分析、異常検出などの高度なビデオ処理タスクの基礎でもあります。イベント検出。このプロジェクトでは、深層学習手法を使用して群集密度マップを取得し、群衆の数を推定します。また、Python 言語を使用して MSCNN ネットワークを構築し、群衆の数を推定する群集密度マップをリアルタイムで生成します。 4. 姿勢推定アルゴリズム このプロジェクトでは、Openpose の人間姿勢認識アルゴリズムを人間行動安全監視システムに使用しています。 Openpose の姿勢認識テクノロジーを使用して、異なる手足間の調整関係の分類アルゴリズムを構築し、異なる分類アルゴリズムを比較して最適なモデルを選択して、複数のターゲットの姿勢表示とターゲット検出を実現できるマルチターゲット分類方法を構築します。カテゴリのリアルタイム表示。 インターフェイスのオペレーション コードの一部は次のとおりです:cap = cv2.VideoCapture(0) cap.set(3, 1280) cap.set(4, 720) detector = HandDetector(detectionCon=0.8) keys = [["火灾检测", "吸烟检测", "行为安全监测", "人群密度监测", "口罩率检测", "行人定位跟踪"]] finalText = "" while True: success, img = cap.read() img = detector.findHands(img) lmList, bboxInfo = detector.findPosition(img) img = drawAll(img, buttonList) if lmList: for button in buttonList: x, y = button.pos w, h = button.size if x < lmList[8][0] < x + w and y < lmList[8][1] < y + h: cv2.rectangle(img, (x - 5, y - 5), (x + w + 5, y + h + 5), (175, 0, 175), cv2.FILLED) if l < 30: if press_state: cv2.rectangle(img, button.pos, (x + w, y + h), (0, 255, 0), cv2.FILLED) cv2.putText(img, "start", (x + 20, y + 65),cv2.FONT_HERSHEY_PLAIN, 4, (255, 255, 255), 4) finalText += button.text sleep(0.15) press_state=False state=True print(button.text) text=button.text else: press_state=True if state: if os.path.exists("img.txt"): try: img2 = cv2.imread("img.jpg") img2 = cv2.resize(img2, (img.shape[1], img.shape[0])) img = cv2.addWeighted(img, alpha, img2, beta, gamma) except: pass if state: img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) draw = ImageDraw.Draw(img) myfont0 = ImageFont.truetype(r'./HGDH_CNKI.TTF', 50) for button in buttonList: x, y = button.pos w, h = button.size draw.text((500, 180), text, font=myfont0, fill=(0, 0, 0)) img = cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR) cv2.imshow("Image", img) cv2.waitKey(1)
以上が休暇が近づいてきました!技術者が Python を使用して景勝地セキュリティ システムを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。