Apple Vision Framework: распознавание LCD / LED ди git - PullRequest
1 голос
/ 25 марта 2020

Я работал над приложением iOS, и все, казалось, работало довольно хорошо, пока я не попытался сделать снимки цифровых часов, калькуляторов, мониторов кровяного давления, электронных c термометров и т. Д. c.

По какой-то причине Apple Vision Framework и VNRecognizeTextRequest не могут распознать текст на таких примитивных ЖК-экранах, как этот:

enter image description here

Вы можете попробовать захватить номера с помощью примера проекта Apple , и он не удастся. Или вы можете попробовать любой другой пример проекта для Vision Framework, и он не сможет распознать цифры как текст.

Что я могу сделать как конечный пользователь Framework? Есть ли обходной путь?

Ответы [ 2 ]

1 голос
/ 30 марта 2020

Обучите модель ...

Обучите свой собственный .mlmodel, используя до 10K изображений, содержащих экраны цифровых часов, калькуляторов, мониторов артериального давления и т. Д. c. Для этого вы можете использовать Xcode Playground или Apple Create ML приложение.

Вот код, который вы можете скопировать и вставить в macOS Playground:

import Foundation
import CreateML

let trainDir = URL(fileURLWithPath: "/Users/swift/Desktop/Screens/Digits")

// let testDir = URL(fileURLWithPath: "/Users/swift/Desktop/Screens/Test")

var model = try MLImageClassifier(trainingData: .labeledDirectories(at: trainDir), 
                                    parameters: .init(featureExtractor: .scenePrint(revision: nil), 
                                    validation: .none, 
                                 maxIterations: 25, 
                           augmentationOptions: [.blur, .noise, .exposure]))

let evaluation = model.evaluation(on: .labeledDirectories(at: trainDir))

let url = URL(fileURLWithPath: "/Users/swift/Desktop/Screens/Screens.mlmodel")

try model.write(to: url)


Извлечение текста из изображения ...

Если вы хотите узнать, как извлечь текст из изображения с помощью Vision Framework, посмотрите на этот пост .

1 голос
/ 27 марта 2020

Вы можете тренировать свою собственную модель, например https://developer.apple.com/documentation/vision/training_a_create_ml_model_to_classify_flowers

...