GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

hamuchiwa

AutoRCCar – OpenCV PythonニューラルネットワークAutonomous RC Car

投稿日:

OpenCV PythonニューラルネットワークAutonomous RC Car

AutoRCCar

中文文档 (感謝zhaoying9105

実際の自己運転を参照

RCカー、Raspberry Pi、Arduino、オープンソースソフトウェアを使用した自己駆動システムの縮小バージョン。 システムは、カメラと超音波センサーを入力とするラズベリーパイ、ステアリング、物体認識(ストップサインと信号灯)、距離測定を処理する処理コンピューター、RCカーコントロール用のArduinoボードを使用します。

依存関係

  • ラズベリーパイ:
    • Picamera
  • コンピューター:
    • ナンシー
    • OpenCV 2.4.10.1
    • パイゲ
    • PiSerial

  • raspberrt_pi /
    • stream_client.py:jpeg形式のビデオフレームをホストコンピュータにストリームする
    • ultrasonic_client.py :センサによって測定された距離データをホストコンピュータに送信する
  • arduino /
    • rc_keyboard_control.ino :rcコントローラとコンピュータの間のインターフェイスとして機能し、ユーザがUSBシリアルインターフェイス経由でコマンドを送信できるようにする
  • コンピューター/
    • cascade_xml /
      • 訓練されたカスケード分類子xmlファイル
    • チェスボード/
      • πカメラで撮影した校正用画像
    • training_data /
      • npz形式のニューラルネットワークのトレーニングデータ
    • training_images /
      • 画像トレーニング中に保存されたビデオフレームデータ収集ステージ(オプション)
    • mlp_xml /
      • 学習されたニューラルネットワークパラメータをxmlファイルに格納する
    • picam_calibration.py :カメラの較正を行い、カメラの行列を返す
    • collect_training_data.py :ストリーミングされたビデオフレームとラベルフレームを受信して​​、後でトレーニングします
    • mlp_training.py :ニューラルネットワークトレーニング
    • rc_driver.py :マルチスレッドサーバープログラムはビデオフレームとセンサーデータを受信し、停止標識、信号機の検出、フロント衝突回避機能を備えたRC カードライブを単独で使用できる
  • テスト/
    • rc_control_test.py :キーボードによるRCカーコントロール
    • stream_server_test.py:Piからコンピュータへのビデオストリーミング
    • ultrasonic_server_test.py:Piからコンピュータまでのセンサーデータストリーミング
  • Traffic_signal /

運転方法

  1. フラッシュArduino“rc_keyboard_control.ino”をArduinoにフラッシュし、 “rc_control_test.py”を実行してrc車をキーボードでテストする(テスト目的)

  2. Piカメラの較正:さまざまな角度でπカメラを使用して複数のチェスボード画像を取得し、それらを “chess_board”フォルダに入れ、 “picam_calibration.py”を実行してカメラマトリックスを返します。これらのパラメータは“rc_driver.py”

  3. トレーニングデータとテストデータを収集する:最初に“collect_training_data.py”を実行してから、ラズベリーパイの“stream_client.py”を実行します。 ユーザーはRCカーを駆動するためにキーボードを押すと、キーが押されたときだけフレームが保存されます。 運転終了後、 “q”を押して終了すると、データはnpzファイルとして保存されます。

  4. ニューラルネットワークの訓練: “mlp_training.py”を実行し、選択されたパラメータに依存して、それは訓練に時間がかかるでしょう。 トレーニング後、モデルは “mlp_xml”フォルダに保存されます

  5. カスケード分類器トレーニング(オプション):訓練された停止標識と信号分類器が「cascade_xml」フォルダに含まれています。独自の分類子の学習に興味がある場合は、 OpenCVのドキュメントThorsten Ballのこの素晴らしいチュートリアルを参照してください。

  6. 自己運転での行動 :まず“rc_driver.py”を実行してコンピュータ上でサーバを起動し、次にraspberry piで“stream_client.py”“ultrasonic_client.py”を実行します。







-hamuchiwa

執筆者:

hamuchiwa

AutoRCCar – OpenCV PythonニューラルネットワークAutonomous RC Car

投稿日:

(さらに…)







-hamuchiwa

執筆者: