Простое приложение для начинающих, которые хотят понять, как создать обнаружение объектов в реальном времени с помощью CoreML и других платформ Apple, используемых для машинного обучения.

Используемые платформы и модели:

-UIKIT
-CoreML
-Vision
-AVKit
-Resnet50 (предоставляется Apple)

Давайте начнем создавать одно приложение View, которое покажет вам кадр камеры и внутри метку с описанием обнаруженного объекта и насколько точен прогноз.

Первое, что нужно сделать, это настроить захват в реальном времени, чтобы мы могли анализировать изображение, поступающее с камеры.

давайте импортируем AVKit, а затем настроим AVCaptureSession следующим образом:

После настройки AVCaptureSession мы должны запустить сеанс с помощью capture.StartRunning(), но если мы попытаемся запустить его, на данный момент ничего не произойдет, потому что мы не t назначено какое-либо устройство ввода захвата для сеанса захвата.

Прежде чем сделать это, убедитесь, что вы запросили разрешение камеры в Info.plist, предоставив Конфиденциальность — описание использования камеры.

Давайте добавим устройство ввода:

Наконец, приложение запустится, но у нас все еще нет выходных данных с камеры, потому что мы не сказали приложению предоставить нам выходные данные, так что давайте сделаем это!

Теперь мы, наконец, можем видеть то, что видит устройство.

Еще одна вещь, которую нужно добавить, это доступ к слою кадра камеры, поэтому способ сделать это — добавить выходной монитор следующим образом:

Последним шагом является добавление метода делегата всякий раз при захвате кадра:

Перед тестированием проекта:

скачайте и добавьте модель в папку проекта Xcode.

Ссылка на модель: https://developer.apple.com/machine-learning/models/

Полный код: https://github.com/mariosenatore21/LiveDetector.git

LinkedIn: https://www.linkedin.com/in/mario-senatore-78a061149/

* Как видите, модель не на 100% точна, я предлагаю вам обучить свою собственную модель или просто использовать другую.