Python

YOLO

YOLOラベルから牌画像を自動で切り出す|Pythonで矩形座標をクロップする方法

前回は、Tkinterを使ってYOLO用の矩形アノテーションツールを作成しました。通常であれば、画像を撮影↓矩形アノテーション↓YOLOで学習と、そのまま学習へ進むことが多いと思います。しかし今回は、ここから少し違う方法で学習データを作って...
YOLO

YOLO用矩形アノテーションツールをPythonで自作する|Tkinterでズーム・PANに対応

前回は、OpenCVを使ってYOLOの学習に使用する麻雀牌画像を撮影しました。撮影した画像をYOLOの学習に使うには、画像内のどこに麻雀牌が写っているのかを矩形で指定するアノテーション作業が必要です。今回は、PythonのTkinterを使...
YOLO

OpenCVでYOLOの学習用画像を撮影するツールを作る|Pythonで学習データを効率よく集める

YOLOモデルを学習させるために、最初に必要になるのが学習用画像です。AIの認識率は学習データの質に大きく左右されるため、まずはできるだけ多くの画像を集める必要があります。最初はスマートフォンで撮影することも考えましたが、PCへ転送したりフ...
YOLO

YOLOモデルの作り方をゼロから解説|通常の学習手順とデータセット自動生成方法の全体像

YOLOは、画像の中から物体の位置を検出できるAIです。近年ではさまざまな場面で利用されており、自分で学習データを用意すれば、オリジナルの物体検出AIを作ることもできます。一般的なYOLOモデルの作成手順は、それほど複雑ではありません。画像...
技術記事

YOLOだけではうまくいかなかったので、AIを3つに分けました

前回の記事(YOLOとEfficientNetの違いとは?物体検出AIと画像分類AIを分かりやすく解説)では、YOLO(物体検出AI)EfficientNet(画像分類AI)の違いについて紹介しました。実は、現在の構成は最初から決まっていた...
技術記事

YOLOとEfficientNetの違いとは?物体検出AIと画像分類AIを分かりやすく解説

AIを使った画像認識と聞くと、「AIが全部まとめて判断してくれる」というイメージを持つ方も多いのではないでしょうか。実は、画像認識AIにもさまざまな種類があり、それぞれ得意な役割が異なります。今回開発している麻雀CPUでも、1つのAIですべ...
麻雀CPU

麻雀CPU、あったらいいので作ります。④ 実物の牌を認識できるのか試してみた

こんにちは。前回は、麻雀CPU全体の設計について紹介しました。設計が固まり、いよいよ実装に入ります。「まずはGUIから作り始めたのでは?」と思われるかもしれませんが、実は最初に取り組んだのは画面作りではありませんでした。最初に挑戦したのは、...
技術記事

Pythonでゲーム開発するときのディレクトリ構成【個人開発で管理しやすいフォルダの分け方】

PythonでゲームやGUIアプリを開発していると、最初は数個しかなかったファイルが、気付けば何十個にも増えていることがあります。私も現在開発している麻雀CPUで、まさに同じ経験をしました。最初はmain.pygui.pydetect.py...
技術記事

Pythonでクラスを分ける設計の考え方【GUI・ロジック・AIを分離する】

PythonでGUIアプリやゲームを作り始めると、最初は「とりあえず動けばいい」と思って、1つのファイルにどんどんコードを書いてしまいがちです。Pythonでクラスを分ける設計の考え方【GUI・ロジック・AIを分離する】PythonでGUI...
麻雀CPU

麻雀CPU、あったらいいので作ります。③ 設計編

こんにちは。前回の記事では、このプロジェクトで使用している開発環境を紹介しました。今回は、実際にプログラムを書き始める前に考えた「設計」について紹介します。プログラムは動けばそれで終わり、というものではありません。あとから機能を追加したり、...