基本的な使用方法

デバイスのカメラからのビデオストリームのリアルタイム認識の完全なサンプルについて は、「アプリの例」を参照してください。

この手順に進む前 に、「 SDK の追加認証」で説明されている手順を完了しておく必要があります。

Live Sense SDK の基本的な使用方法には、ライブカメラフィードでの車、歩行者、標識、またはその他のサポート対象物の検出が含まれます。

各モデルで検出できる内容の詳細について は、「モデル」を参照してください。

View Controller では、 Roadbasics次のコードを使用して、検出のデフォルトモデルであるを実行します。

  @IBOutlet weak var previewView: UIView!
  var videoCapture: LSDVideoCapture = LSDVideoCapture()
  var lsdRecognition : LSDPixelBufferRecognition?

  override func viewDidLoad() {
      videoCapture.delegate = self
      lsdRecognition = LSDPixelBufferRecognition()
      lsdRecognition?.delegate = self

      var modelOptions : ModelOptions = ModelOptions()
      let rbModelOptions : RoadBasicsModelOptions = RoadBasicsModelOptions()
      let rbModel = RoadBasicsModel(options: modelOptions, rbModelOptions: rbModelOptions)

      videoCapture.setUp(sessionPreset: .hd1280x720) { [unowned self] success in
          if success {

              // Add the video preview into the UI.
              if let previewLayer = self.videoCapture.previewLayer {
                  self.previewView.layer.addSublayer(previewLayer)
                  self.resizePreviewLayer()
              }

              self.setUpBoundingBoxViews()

              // Once everything is set up, we can start capturing live video.
              self.videoCapture.start()
              self.lsdRecognition?.initiateDetectionRequest(isParallel: true, forModels:[rbModel]) { (success) in
              }

          }
      }
  }

他のモデルを渡す場合は、そのモデルのモデルキーを渡すことができます。 次のコードのモデルキーを取得できます。 詳細については、「モデル」を参照してください。

  public func getModelData() -> Array<ModelConfiguration>

検出の統計情報を取得するには LSDVideoCaptureStatisticsDelegate 、メソッドを実装します。

@objc public protocol LSDVideoCaptureStatisticsDelegate: class {
  @objc optional func getVideoStats(inferenceTime: Int, executionTime: Int, fps: Int, droppedFrames : Int)
    @objc optional func output(sampleBuffer: CMSampleBuffer,videoOutput:AVCaptureVideoDataOutput)
    @objc optional func displayFrameCounter(_ frame: Int)
    @objc optional func sendObservationInformation(_ aObservationInfo: String, aConfidence: Float)
    @objc optional func sendObservation(infoDictionary aDict: NSDictionary)
    @objc optional func alertReceived(alerts : [LSDAlert])
}

View Controller のライフサイクルメソッドで は、メソッド 1メソッド 2 のように、次の認識セッションのライフサイクルメソッドを使用します。

方法 1
方法 2
override func viewDidAppear(_ animated: Bool) {
  NotificationCenter.default.addObserver(self, selector: #selector(willResignActive), name: UIApplication.willResignActiveNotification, object: nil)
  NotificationCenter.default.addObserver(self, selector: #selector(willBecomeActive), name: UIApplication.willEnterForegroundNotification, object: nil)
}
@objc func willResignActive() {
  videoCaptureView.pauseRecognition()
}
@objc func willBecomeActive() {
  videoCaptureView.startRecognition()
}

」に一致する結果は 件です

    」に一致する結果はありません