物体検出ツールを追加

便利ツールに物体検出ツールを追加しました。このツールにはYOLOというアルゴリズムが使われています。YOLOとはYou Look Only Onceの略です。日本語に訳すと「一度だけ見る」という意味になります。今回使用したのはYOLOv3というもので、人や車、犬や猫など、80種類の物体を検出できます。

こちらのサイトによれば、「以前のすべての検出システムは、分類器またはローカライザを再利用して検出を実行していました。彼らは複数の場所とスケールで画像にモデルを適用します。画像の高スコア領域は検出と見なされます。

私たちはまったく異なるアプローチを使用しています。画像全体に単一のニューラルネットワークを適用します。 このネットワークは、画像を領域に分割し、各領域の境界ボックスと確率を予測します。

最後に、いくつかの値で検出にしきい値を設定して、高スコアの検出のみを確認できます。

私たちのモデルには、分類器ベースのシステムに比べていくつかの利点があります。 テスト時に画像全体を確認するため、その予測は画像内のグローバルコンテキストによって通知されます。 また、R-CNNのような単一の画像に数千を必要とするシステムとは異なり、単一のネットワーク評価で予測を行います。 これにより、R-CNNの1000倍以上、Fast R-CNNの100倍以上の非常に高速になります。・・・」とのことです。

2020年3月29日14:55

カテゴリ: 便利ツールの紹介

タグ: Python, 便利ツール,


OpenCVとPythonで取得した画像を動画にしてGoogleドライブに自動アップロードする

RaspberryPiなどのセキュリティカメラ用途として、OpenCVとPythonでカメラ撮影した画像を、定期的に指定の時刻に自動で動画にして、Googleドライブに自動でアップロードする方法をいろいろと調べてみたのですが、PythonのScheduleというモジュールを使うと簡単にできることがわかったので、実装しました。

Scheduleモジュールの使い方ですが、下のように特定の関数を10分ごとや1時間ごとに実行したり、特定の曜日や時間に実行することができます。↓ schedule.run_pendingは1回の呼び出しで1回のジョブしか実行されないので、何回も繰り返しで実行したいときは無限ループ内で呼び出す必要があります。


引数を渡して実行するときは下のようにします。↓


GoogleドライブへのアップロードはGoogle Drive APIを使用します。Google Drive APIを使用するにはGoogle Developer Consoleから認証情報を取得する必要があります。Google Drive APIをPythonで使うにはPyDriveというモジュールをインストールします。「Google Drive API 有効化」や「Google Drive API Python」などの単語で検索すると参考になるサイトがたくさんあります。Googleドライブへのアップロード用には下の関数を作成しました。↓ アップロード先のフォルダのフォルダIDは環境変数から取得するようにしました。


コード全体は下の通りです。↓


複数の画像ファイルから動画を作成する関数make_video_from_imageとGoogleドライブに動画ファイルをアップロードする関数upload_to_google_driveと指定したフォルダを削除後再作成する関数delete_all_filesを指定の時刻に実行するようにしました。Scheduleモジュールについて詳しくは下のサイトを見てください。↓

https://schedule.readthedocs.io/en/stable/

2020年3月18日18:14

カテゴリ: プログラミング

タグ: Python, Raspberry Pi, OpenCV,


パスワード作成ツールを追加

便利ツールにパスワード作成ツールを追加しました。GitHubにプログラムをアップしたので、よかったら見てください。↓

ktpcschool/password_generator

2020年3月14日11:51

カテゴリ: 便利ツールの紹介

タグ: Python, 便利ツール,


緯度・経度から標高を取得するツールを追加

便利ツールに緯度・経度から標高を取得するツールを追加しました。このツールは国土地理院の「サーバサイドで経緯度から標高を求めるプログラム」を利用しました。GitHubに作成したプログラムをアップしましたので、よかったら見てください。↓

ktpcschool/geocoding/elevation.py

2020年3月11日16:08

カテゴリ: 便利ツールの紹介

タグ: Python, 便利ツール,


DjangoでWebサイトを作成

Djangoの練習も兼ねてWebサイトを新たに作成しました。静的なWebサイトなら、ホームページビルダーを使って比較的簡単に作成できるのですが、サーバー上でプログラムを動かす動的なWebサイトの作成はいろいろと大変でした。最近のWeb作成がフレームワークありきで成り立っているということを最近知りました。特にサーバーにデプロイするのに苦労しましたが、おかげでDjangoやGitBootstrapの基本的な使い方はわかってきました。今後はいろいろな便利ツールを追加していく予定です。

2020年2月27日10:48

カテゴリ: プログラミング

タグ: Python, Django,