Обнаружение объектов ARKit vs CoreML - PullRequest
0 голосов
/ 10 октября 2018

Я создаю ARKit приложение для iPhone.Мне нужно обнаружить конкретную парфюмерную бутылку и отобразить содержимое в зависимости от того, что обнаружено.Я использовал демонстрационное приложение от developer.apple.com для сканирования объектов реального мира и экспорта файла .arobject, который я могу использовать в активах.Работает нормально, хотя так как бутылка из стекла, обнаружение очень плохое.Он обнаруживает только в месте, где сканирование было выполнено в диапазоне от 2 до 30 секунд или не обнаруживает вообще.Слияние сканов не улучшает ситуацию, а делает ее еще хуже.Результат объединения может иметь странную ориентацию.

Что я могу сделать, чтобы решить эту проблему?

Если ничего, CoreML мне поможет?Я могу сделать много фотографий и научить модели.Что если я проверю каждый кадр на соответствие этой модели?У такого подхода есть шанс?

1 Ответ

0 голосов
/ 11 октября 2018

Из-за явления преломления стекла и различных условий освещения процесс распознавания объектов (в ARKit и CoreML) для парфюмерных флаконов является наиболее сложным.

Посмотрите на следующую картинку - в разных местах есть три стеклянных шарика:

enter image description here

Эти стеклянные шарики имеют разное значение коэффициента преломления Френеля (Индекс преломления), окружающая среда, точка зрения камеры, размер и условия освещения.Но они имеют одинаковую форму, материал и цвет.

Итак, лучший способ ускорить процесс распознавания - это использовать идентичный фон / среду (например, монохроматическую светло-серую бумагу BG),те же условия освещения (местоположение, интенсивность, цвет и направление света), хорошая читаемость формы (благодаря зеркальным бликам) и тот же POV для вашей камеры.

enter image description here

Я знаю, иногда невозможно следовать этим советам, но эти работают.

...