Dictation 採点アプリ開発メモ vol.09

キカガクさんの講義の一環で作る自作アプリに関するメモです。

2020.10.17(土)PM

ここまでの考察まとめ(画像付きは前回を参照)

AIモデル
・YOLOv2 (CreateML Object Detection)
・背景 白色 / 赤文字 & 太文字 / ○×ラベリング
 画像枚数 175枚(○ 610、× 610)
・Iterations 2000 / Batch Size Auto

推論対象の画像は白色/黄色グリッドどちらでも大丈夫
推論対象は文字に被っていても良い
しかし、文字に被っていると認識率が甘い可能性がある
画像サイズによってIoU Threshold を変更する必要がある
・画像サイズ大(40 words くらい、542 x 571 pixel)IoU Threshold ??
・画像サイズ小(20 words くらい、270 x 505 pixel)IoU Threshold 0.0
×の時に赤文字で訂正するとBounding Box が大きくなる
・現状、○×で対応する必要がありそう
・ゆくゆくは× → 訂正もできると良い
赤文字・太文字以外は認識しない

アプリ開発アクションアイテム

AIモデルは一旦上記で対応する。画像サイズ小さい物だけ対応

・OK/NG Bounding Box の色を変更する
・OK / NG の数をカウントして、OK / (OK + NG) = 正解率 を出す
・その後、OK / NG の認識率をあげる方法を見つける
 → 画像サイズごとにIoU を変更する

OK/NG Bounding Box の色を変更する

こちらは実装完了

画像1

iPad への適用

そういえばiPad で適用していなかったなと思ってiPad で試したらエラーが...

Exception NSException * "Your application has presented a UIAlertController (<UIAlertController: 0x102019600>) of style UIAlertControllerStyleActionSheet from ObjectDetectionEx.ViewController (<ObjectDetectionEx.ViewController: 0x100d08120>). 

このサイト参考にして解決

この3行を入れるとiPad でも利用可能になった。

actionSheet.popoverPresentationController?.sourceView = self.view
let screenSize = UIScreen.main.bounds
actionSheet.popoverPresentationController?.sourceRect = CGRect(x: screenSize.size.width/2, y: screenSize.size.height, width: 0, height: 0)

正解数 / 不正解数のカウント

どこでカウントしているのかは分かった

print("Number of Correct \(self.numOfCorrect)")
print("Number of Incorrect \(self.numOfIncorrect)")

正解数 / 不正解数の表示... の前に

よく分からないエラーで躓く。調べて見ると

this class is not key value coding-compliant for the key
上記エラーはStoryboardの接続が芳しくないときに発生するエラーです。

とのこと。うっかり余計なコネクションを作っていたらしい。

正解数 / 不正解数の表示

なんかうまくいかない...

ここで時間切れ


この記事が気に入ったらサポートをしてみませんか?