0

Проект андроида, который может читать разные маркеры (несколько) и предоставлять разные выходные данные (видео) для каждого отслеживаемого маркера.Реализация искусственного интеллекта ARToolkit на android

чего мы достигли до сих пор: 1) Мы использовали пример проект, представленный в ARToolkit (ARMultiProj) для отслеживания множественных маркеров, он отслеживает только один маркер.

То, что мы оставили для достижения:

1) мы пытаемся реализовать несколько маркеров концепции отслеживания для воспроизведения другого видео на отслеживании различных маркеров с помощью NFT.

2) Я использовал ARMultiProj прямо из коробки из проектов проектов студии Android, снабженных ARToolkit 5.3.2, и там, где ARMultiProj не удалось обнаружить несколько трекеров, вместо этого он отслеживал только один раз.

В этом случае его кубы для 6 маркеров в следующем;

Marker.dat

количество шаблонов, которые будут признаны

маркер 1

a.patt

40,0

1,0000 0,0000 0 , 0000 0.0000

0,0000 1,0000 0,0000 0,0000

0,0000 0,0000 1,0000 0,0000

маркер 2

b.patt

40,0

1,0000 0,0000 0,0000 100,0000

0,0000 1,0000 0,0000 0,0000

0,0000 0,0000 1,0000 0,0000

маркер 3

c.patt

40,0

1,0000 0,0000 0,0000 200,0000

0,0000 1,0000 0,0000 0,0000

0,0000 0,0000 1,0000 0,0000

марка 4

d.PATT

40,0

1,0000 0,0000 0,0000 0,0000

0,0000 1,0000 0,0000 -100,0000

0,0000 0,0000 1,0000 0,0000

маркер 5

f.patt

40,0

1,0000 0,0000 0,0000 100,0000

0,0000 1,0000 0,0000 -100,0000

0,0000 0,0000 1,0000 0,0000

маркер 6

g.patt

40,0

1,0000 0,0000 0,0000 200.0000

0,0000 1,0000 0,0000 -100,0000

0,0000 0,0000 1,0000 0,0000

Для понимания и удобства, я поставил ниже определенного журнала из проекта.

Журналы:

E/ARToolkit: маркер конфигурации(): многополосный; Data/мульти/marker.dat

E/libARWrapper: ARController (родной): [Информация] Добавлен маркер (UID = 0), всего маркеры загружены: 1.

Е/libARWrapper: ARController (родной): [Информация] Маркер 0 теперь видна

Е/libARWrapper: ARController (родной): [Информация] Марка er 0 больше не видно

Как вы можете видеть выше, проект может отслеживать и создавать активы из активов/данных/нескольких папок разных файлов patt вместе с параметрами camera_para.dat и marker.dat. не отслеживает другие маркеры.

Просьба предоставить мне некоторые рекомендации относительно возможной реализации для достижения вышеуказанного сценария с фрагментами кода и точными изменениями в файлах ARToolkit (при необходимости). Заранее спасибо!

С уважением & Спасибо,

Ганешан P

+0

Можете ли вы предоставить файл marker.dat, чтобы мы могли видеть, как вы настроили отслеживание нескольких маркеров? Кроме того, я не понимаю часть 2) и SimpleRenderer. Что не загружается? Чего вы пытаетесь достичь? –

+0

@Thor_Bux Спасибо за попытку помочь мне. Я обновил свой вопрос на основе вашего комментария. Просьба проверить его и предоставить свои данные. Спасибо. –

+0

Просто для моего окончательного понимания, вы используете ARMultiProj с указанным выше marker.dat. Никаких других изменений? Вы пробовали ARMultiProj без каких-либо изменений? Это работает для вас? Спасибо –

ответ

0

Из того, что я собрал вас есть небольшое неправильное представление этого примера проекта. Он демонстрирует использование «мультимаркеров». См. Этот сайт для краткого пояснения по маркерам.

Look here for a overview of AR-Markers

Multimarker отображать только один объект, но только один из маркеров должны быть видны укомплектовать.

В вашем случае вам может быть лучше захватить ARNativeOSG или nftBookProj в качестве базы. Оба примера имеют по меньшей мере два примерных маркера.

ARNativeOSG ist для отображения моделей OSG на framemarkers, но его очень легко модифицировать. Просто посмотрите на активы/Data/marker.dat и активы/Data/objects.dat. Это и текстовые файлы. Просто поместите свои маркеры в marker.dat и соедините их в objects.dat.

Если вы настаиваете на использовании NFT, взгляните на nftBookProj. У него почти такой же макияж. Посмотрите под src/main/assets/Data для этих файлов. Каждый из них содержит примеры того, как их использовать. Имейте в виду. Хотя ARToolkit поддерживает NFT, я не считаю его надежным, как фрейммаркеры.

Пример NFT markers.dat

# Number of markers 
1 // <--- Amount of markers. Important to change if you add more 

# Entries for each marker. Format is: 
# 
# Name of pattern file (relative to this file) 
# Marker type (SINGLE) 
# Marker width in millimetres (floating point number) 
# Optional tokens: 
#  FILTER [x] Enable pose estimate filtering for the preceding marker 
#     x (optional) specifies the cutoff frequency. Default 
#     value is AR_FILTER_TRANS_MAT_CUTOFF_FREQ_DEFAULT, which 
#     at time of writing, equals 5.0. 
# A blank line 

../DataNFT/pinball // <-- Position of marker relativ to this file 
NFT    // <-- Type 
FILTER 15.0  // <-- Extra option. I think it reduce jittering 

Пример objects.dat:

2 // <-- amount of objects. Important to change 

../OSG/axes.osg //position relativ to file 
0.0 0.0 0.0  //Translation in regards to the marker 
0.0 1.0 0.0 0.0 //Rotation in regards to the marker 
40.0 40.0 40.0 //Zoom 
MARKER 1   //This refers to the Position in marker.dat 
LIGHTING 0  //Some added options. Actually no idea what this does 

../OSG/p51d-jw-animated.osg 
4.5 118.25 30.0 
90.0 1.0 0.0 0.0 
25.0 25.0 25.0 
MARKER 1   //This object appears together with the first on on the same marker 

Я надеюсь, что это полезно.

+0

Предположим, у меня есть 3 маркера и моя анимированная позиция osg, и все должно быть таким же, как Marker 1, поэтому у меня есть дублировать эти факторы снова и снова для каждого маркера? – VickyS