ObjecTips

Swift & Objective-C で iOS とか macOS とか

Vision framework VNRecognizeTextRequest でのテキスト認識(OCR)の対応言語 iOS 13, iOS 14

iOS 13でOCRに使えるテキスト認識のAPIが登場。
使えるRevisionは1。iOS 14でRevision 2が登場した。

@available(iOS 13.0, *)
public let VNRecognizeTextRequestRevision1: Int

@available(iOS 14.0, *)
public let VNRecognizeTextRequestRevision2: Int

iOS 13

検証環境 Xcode 12.0 beta (12A6159) iPadOS 14 (17A5301v) 1st beta

以下のコードでサポート言語を確認できる

print(try! VNRecognizeTextRequest.supportedRecognitionLanguages(for: .fast, revision: VNRecognizeTextRequestRevision1))
print(try! VNRecognizeTextRequest.supportedRecognitionLanguages(for: .accurate, revision: VNRecognizeTextRequestRevision1))
["en-US"]
["en-US"]

iOS 13は英語のみの対応

iOS 14

print(try! VNRecognizeTextRequest.supportedRecognitionLanguages(for: .fast, revision: VNRecognizeTextRequestRevision1))
print(try! VNRecognizeTextRequest.supportedRecognitionLanguages(for: .accurate, revision: VNRecognizeTextRequestRevision1))
print(try! VNRecognizeTextRequest.supportedRecognitionLanguages(for: .fast, revision: VNRecognizeTextRequestRevision2))
print(try! VNRecognizeTextRequest.supportedRecognitionLanguages(for: .accurate, revision: VNRecognizeTextRequestRevision2))
["en-US", "fr-FR", "it-IT", "de-DE", "es-ES", "pt-BR"]
["en-US", "fr-FR", "it-IT", "de-DE", "es-ES", "pt-BR", "zh-Hans", "zh-Hant"]

iOS 14では英語、フランス語、イタリア語、ドイツ語、スペイン語、ポルトガル語(ブラジルポルトガル語)、中国語(繁体字と簡体字)の対応が追加された。
中国語(繁体字と簡体字)は処理時間のかかる accurate モードのみでサポートされる。
今回も日本語の対応は含まれていない。
中国語以外で対応されたのはアルファベット文字ベースのみ。日本語に限らずアラビア語のアラビア文字やロシア語のキリル文字などアルファベット文字と字形が大きく異なるものはまだ対応は難しいのかも知れない。*1
とりあえず出たばかりのiOS 14のファーストβで正式リリースまでに変更になる可能性もあるので引き続き注視していく。*2

*1:技術的なものかリソース配分の問題かは分からないけど

*2:日本語対応して欲しい人はFeedback Assistantで報告しよう