私はかつて5年生で勉強しましたが、今では何らかの理由で、私と5年生に行く人たちの間には、テクノロジーへのアクセスに関して大きなギャップがあるように思えます。 テクノロジーはどんどん開発されているので、5年生の仲間が仲間になるとどうなるのだろうか。
この短い記事では、iPhone用のシンプルなモバイルアプリケーションの例を使用して、手頃な価格のテクノロジーがいかに優れているかを示したいと思います。
いくつかの歌詞
助けてくれたアニメーションのクリップをコンピューター画面で見たとき、私の目が限界まで広がった瞬間から約20年が経ちました。 そのとき、クリップは全能であるように見えました。それができることと魔法が私に大きな違いをもたらすことはありませんでした。
わずか13年前、初めて、PDAを手に持ちました(これはポケットパーソナルコンピューターです)。 コンピューター。 ポケット。 Cウィンドウ。 220 Vネットワークからではなく、バッテリーから動作し、インターネットにアクセスできます。 ワイヤーとWeb Plusカードなし。 インターネットアクセス。 同じインターネット上で、コンピュータークラブのグループが大きな功績をあげた贈り物として5分間アクセスした。 1つのサイト(33 Kbpsモデム)にアクセスできました。 グループ全体が、これがどのようなサイトになるかを長い間議論しました。 投票、議論。
2018年5月に早送り
カリフォルニアでは、Google I / O 2018カンファレンスが開催されていますが、他にも数十件の発表があります: MLキットがFirebaseサービスに追加されました -スマートフォンやクラウド上のTensorFlowモデルでも、写真、顔、テキストなどのコンテンツを認識できるツールです。 えかが見られない? 機械学習とニューラルネットワークについて知らないことは何ですか?
さて、アプリケーションにテキストを認識させましょう。
Xcodeを開く-新しいプロジェクトを作成します。 以下のコードを記述してインストールするPodfileを作成します。
pod 'Firebase/Core' pod 'Firebase/MLVision' pod 'Firebase/MLVisionTextModel'
インターフェースはシンプルです:
- カメラから画像を取得する1つのUIImageView、
- 2つのUIButton、1つ目はカメラを起動し、2つ目は読み取りを開始します
iPhoneにカメラへのアクセスを許可するには、Info.plistに追加します
<key>NSCameraUsageDescription</key> <string> </string>
コントローラーを作成し、UIImageViewを接続して、2つのUIButtonをクリックします。
そして、私たちが何とか認識したことを言ってみましょう。スマートフォンは音声でそれを発音します。
import UIKit import Firebase import AVKit import AVFoundation class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate { // lazy var vision = Vision.vision() var textDetector: VisionTextDetector? // let synthesizer = AVSpeechSynthesizer() override func viewDidLoad() { super.viewDidLoad() textDetector = vision.textDetector() } // UIImageView @IBOutlet weak var imagePicked: UIImageView! // @IBAction func openCamera(_ sender: Any) { if UIImagePickerController.isSourceTypeAvailable(.camera) { var imagePicker = UIImagePickerController() imagePicker.delegate = self imagePicker.sourceType = .camera imagePicker.allowsEditing = false self.present(imagePicker, animated: true, completion: nil) } } // @IBAction func getText(_ sender: Any) { if let image = imagePicked.image as? UIImage { let visionImage = VisionImage(image: image) textDetector?.detect(in: visionImage, completion: { [weak self] (visionTextItems, error) in if error != nil { print(" \(error)") return } if let foundItems = visionTextItems { if foundItems.count > 0 { for item in foundItems { print(" : \(item.text)") let utterance = AVSpeechUtterance(string: item.text) utterance.rate = 0.4 utterance.voice = AVSpeechSynthesisVoice(language: "en-US") self?.synthesizer.speak(utterance) } } else { print("no images found") } } }) } } // UIImageView func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { let image = info[UIImagePickerControllerOriginalImage] as! UIImage imagePicked.image = image dismiss(animated:true, completion: nil) } }
まず、シートにペンで書き(印刷されたテキストはまったく面白くない)、写真を撮ります
コンソールを見てください:
そうそう! これらはすべて機内モードで、つまりインターネットにアクセスせずに機能します。 そして、手書き認識、および音声合成。
昨日非常に複雑に思われたツール、方法、およびタスクは、すぐに無料ですぐに使用できました。 そして、20年後、そして50年後、次に何が起こるでしょうか?