めざましじゃんけん 画像検出システム
テレビ画像よりフジテレビ、めざましテレビ内で実施されるめざましじゃんけんの結果を蓄積します。めざましじゃんけんは、デジタル放送のコンテンツであり、B-CAS(ビーキャス)カードを用いた受信装置により、データ放送を画面表示させ、リアルタイムに参加する必要があります。番組録画しても、データ放送のコンテンツは録画することは出来ません。
環境準備(インストール)
- WindowsへAnaconda導入(Pythonモジュールバージョン管理、使ってみると手放せないJyupyterを利用)
- WindowsへOpenCV導入
- WindowsへDarknet導入(自分の環境でビルド出来るようにすることをオススメします)
- Rasberry PiへOpenCV3.x.x導入(Rasberry Pi側の処理性能で時間と手間を要します)
- Rasberry PiへOpenCV4.1.1導入
- SynologyのWordpress自動投稿導入(WordpressコマンドラインCLIとWEB APIの実装を試みました、最終的にはWEB APIで実装)
Darknet/YOLOで学習モデル準備
- 学習データ準備(対象のタグ付け、LabeImg)
LabelImgは、DarknetのYOLO形式をサポートしており、最小の手間で多くの学習データのラベリングが可能でした。 - Darknetで機械学習
まだまだ精度向上に向けて各種試行錯誤です。テーマは精度は当然として、軽さを探ってゆきたいです。Raspberry Piからのリアルタイム画像検出(今回は、システム安定稼働を優先させ断念)→世界最速めざましじゃんけん結果公開Movidius Neural Compute Stick 2、OpenVINO™ toolkit for Raspbian* OS導入- 学習結果確認
- 追加学習
- 学習データ準備(対象のタグ付け、LabeImg)
システム実装と結果公開
- テレビの起動、PCの起動
- カメラキャプチャー開始
- PythonでDarknet/YOLO3モデルの画像判定を実装
Darknet学習済みモデルをOpenCVのDNN(deep neural network: 多層ニューラルネットワーク)で利用し画像検知を実施 - めざましじゃんけんの結果をDB登録(おまけ:フジテレビ様のTwitterよりじゃんけん参加者の取得とDB登録)
- WEB更新(じゃんけん毎、日次、週次)
- Twitterへポスト(じゃんけん毎)
プログラム関連技術
本システム実装に関連した、プログラム関係のTips。
- PHP
- Python
【機械学習導入】ニューラルネットワークChainerフレームワーク
- 導入方法
- 機械学習
- Out of Memoryへの対応
- 学習モデルのRaspberry Piでの実行