EfficientNet

EfficientNet

誤認識した麻雀牌を教師データにする|推論結果から再学習する

前回は、YOLOとEfficientNetを使ってカメラ映像から麻雀牌を推論し、推論に使った牌画像を保存しました。今回は、その画像を人間が確認して、correct(正解)miss(不正解)へ仕分けし、次の再学習に使えるDatasetを作成し...
EfficientNet

YOLOとEfficientNetで麻雀牌を推論する|カメラ映像から二段階分類する

前回は、train_main.pyを使ってStage1とStage2をまとめて学習し、class4.pthmanzu.pthpinzu.pthsouzu.pthjihai.pthの5つのEfficientNetモデルを作成しました。今回は、...
EfficientNet

麻雀牌の画像分類モデルを学習して精度を確認する|Stage1・Stage2をまとめて学習

前回は、ImageClassifierTrainerを作り、EfficientNet-B0を学習する処理を実装しました。今回は、そのTrainerを使ってStage1とStage2のモデルをまとめて学習します。最終的に作成するモデルは、cl...
EfficientNet

EfficientNet-B0で麻雀牌を学習する|PyTorch・timmで転移学習

前回は、麻雀牌画像をPyTorchから読み込むためのMahjongDatasetを作りました。今回は、そのDatasetを使ってEfficientNet-B0を実際に学習する処理を作ります。今回使用するコードは次のファイルです。traine...
EfficientNet

麻雀牌を二段階で画像分類する|4分類→牌種類分類のDatasetを作る

前回は、EfficientNetで学習するための牌画像を用意し、回転・位置ずれ・明るさ変更などのデータ拡張を行いました。今回は、その画像をPyTorchから読み込むためのDataset クラスを作ります。今回のポイントは、単に画像ファイルを...
EfficientNet

画像分類・EfficientNetの学習データを作る|画像分割とデータ拡張

前回は、YOLOで検出した麻雀牌をEfficientNetで分類する全体の流れを紹介しました。今回は、そのEfficientNetに学習させるためのデータセット作りを進めます。画像分類モデルを作るときは、ただ牌画像を集めるだけでは足りません...
EfficientNet

麻雀牌を画像分類する方法|YOLO検出後にEfficientNetで牌種類を判定する

前回までのYOLO編では、カメラ画像から麻雀牌を検出するモデルを作ってきました。今回からは、検出した牌が「一萬なのか」「五筒なのか」「東なのか」といった牌の種類を判定する画像分類を作っていきます。画像分類にはEfficientNet-B0を...
技術記事

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

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

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

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