$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Önerilen yöntem için ilk gereklilik, 3D nesnelerin ve ellerin konumunu doğru bir şekilde izlemek için bir sistemdir. Özel kurulum Şekil 1A'da gösterilmiştir ve hareket yakalama şirketi Qualisys tarafından üretilen donanım ve yazılımı kullanır. Çalışma alanını çevreleyen kübik bir çerçeve üzerine yerleştirilmiş sekiz izleme kamerası ve altı video kamera tarafından birden fazla açıdan görüntülenen bir izleme hacmine (100 cm x 100 cm x 100 cm) bir tezgah yerleştiriyoruz. İzleme kameraları, yansıtıcı işaretleyicilerin izleme hacmi içindeki 3D konumunu 180 kare / sn ve milimetre altı 3D uzamsal çözünürlükle izler. Cilt dostu çift taraflı yapışkan bant kullanılarak nesnelere ve ellere tutturulan 4 mm yansıtıcı işaretleyiciler kullanıyoruz. 3D işaretleyici konumları hareket yakalama yazılımı tarafından işlenir. Tartışma bölümü ayrıca önerilen yöntemle kullanılabilecek alternatif hareket yakalama sistemlerini de gözden geçirmektedir.
Kavranan ve manipüle edilen gerçek nesnelerin doğru 3D rekonstrüksiyonlarını elde etmek için iki seçenek öneriyoruz. Burada benimsenen birincisi, çokgen örgü şeklinde sanal bir 3B nesne modelinden başlamaktır. Bu tür 3B modeller uygun yazılım (örneğin, Blender 3D44) kullanılarak oluşturulabilir ve daha sonra 3D yazdırılabilir (Şekil 1B). İkinci seçenek, mevcut, gerçek bir 3B nesneyi almak ve nesnenin bir örgü modeli kopyasını oluşturmak için 3B tarama teknolojisini kullanmaktır. Strateji hangisi olursa olsun, nihai hedef hem gerçek bir 3B nesne hem de karşılık gelen sanal 3B nesne örgü modelini elde etmektir. Not olarak, burada açıklanan yaklaşım yalnızca katı (yani deforme olmayan) nesnelerle çalışır.
Bir nesnenin 3B yüzeyi bir örgü modeli olarak kullanılabilir olduğunda, konumu izlenmeli ve birlikte kaydedilmelidir (Şekil 1C). Bunu yapmak için, gerçek nesnenin yüzeyine düzlemsel olmayan dört yansıtıcı işaretleyici eklenir ve nesne izleme hacminin içine yerleştirilir. Nesne işaretçilerinin 3B konumları daha sonra kısaca yakalanır. Bu yakalama, nesne örgü modelinin dört işaretçisi ve dört köşesi arasındaki yazışmaları kurmak için kullanılır. Bu, Blender'ın Python API'sinde yazılmış basit bir geçici yazılım yolu kullanılarak yapılır. Blender'ın Viewport'u içinde, program sanal nesneyi, her işaretleyici için bir küreden oluşan tek bir örgü nesnesi olarak temsil edilen işaretleyici konumlarıyla birlikte sunar. Kullanıcı daha sonra nesneyi ve / veya işaretçileri, gerçek nesneye yerleştirilen gerçek işaretçilerle birlikte hizalanacak şekilde hizalamak için döndürebilir ve çevirebilir. Program, orijinal nesne ağına nihayet uygulanan tek bir roto-çeviriyi hesaplamak için uygulanan rotasyonları ve çeviriyi kaydedecek ve QTM'deki katı gövde tanımıyla birlikte kayıtlı bir nesne ağı sağlayacaktır.
Yazışmalar kurulduktan sonra, gerçek nesne izleme hacmi içinde hareket ettirildiğinde, sanal nesne, izlenen işaretleyiciler ve karşılık gelen dört örgü köşesi arasındaki roto-çeviriyi hesaplayarak yeni konuma yerleştirilebilir. Bunun yerine kavramanın dinamiklerini kaydetmek için, çift taraflı bant kullanılarak elin farklı yer işaretlerine toplam 24 küresel yansıtıcı işaretleyici takılır (Şekil 1D ve Şekil 2).
Bir denemenin başlangıcında (Şekil 1E), bir katılımcı elini avuç içi aşağı bakacak şekilde tezgahın üzerine düz bir şekilde yerleştirir ve gözlerini kapatır. Deneyci, katılımcının önündeki çalışma tezgahına bir hedef nesne yerleştirir. Daha sonra, işitsel bir ipucu, katılımcıya gözlerini açması ve kavramayı gerçekleştirmesi için sinyal verir. Gösterilerimizde görev, hedef nesneye ulaşmak ve kavramak, dikey olarak yaklaşık 10 cm kaldırmak, yere koymak ve eli başlangıç konumuna geri döndürmektir. Python 3.7'de yazılmış bir komut dosyası deneyi kontrol eder. Her denemede, komut dosyası geçerli koşul ayarlarını seçer ve deneyciye iletir (ör. nesne kimliği ve konumlandırma). Komut dosyası ayrıca işitsel ipuçları ve hareket yakalama kayıtlarının başlatılması ve durdurulması da dahil olmak üzere deneme zamanlamasını da kontrol eder.
Uzuvlar sadece 3D uzaydaki konumlarıyla değil, aynı zamanda pozlarıyla da karakterize edilir. Bu nedenle, gerçek bir kavrayışı yürüten bir insan elinin tam bir 3B rekonstrüksiyonunu elde etmek için, sadece her bir eklemin 3B uzaydaki konumlarına değil, aynı zamanda her bir eklemin ana eklemine göre göreceli pozuna (çeviri ve rotasyon) da ihtiyacımız vardır (Şekil 1F). İskelet eklem pozisyonları ve oryantasyonları, ters kinematik kullanılarak işaretleyici pozisyonlarından çıkarılabilir. Bunu yapmak için, burada QTM yazılımı tarafından sağlanan iskelet çözücüyü kullanıyoruz. Çözücünün çalışması için, önce her bir eklemin konumunu ve yönünü birden fazla işaretleyici konumuna bağlayan bir iskelet tanımı sağlamalıyız. Bu nedenle bir iskelet tanımı oluşturulur ve iskelet teçhizatı, Maya için QTM Connect eklentisi kullanılarak işaretleyici verilerine bağlanır. İşaretleyici verilerine uyan iskeletin doğruluğunu en üst düzeye çıkarmak için her katılımcı için kişiselleştirilmiş iskelet tanımları oluşturuyoruz. Her katılımcı için, bir el iskeletini tek bir hareket yakalama verisi karesine manuel olarak sığdırıyoruz. Katılımcıya özgü bir iskelet tanımı elde ettikten sonra, deneydeki her denemenin her karesi için iskelet eklem pozlarını tahmin etmek için iskelet çözücüyü çalıştırırız.
Bir deneydeki her denemenin her karesi için, açık kaynaklı ve önceden eğitilmiş el örgüsü oluşturma aracı DeepHandMesh28'i kullanarak mevcut el pozunu yeniden yapılandıran bir el ağı oluştururuz (Şekil 1G). DeepHandMesh, görüntülerden kişiselleştirilmiş el ağları oluşturan derin bir kodlayıcı-kod çözücü ağıdır. İlk olarak, kodlayıcı bir görüntünün içindeki bir elin pozunu tahmin eder (yani, ortak Euler açıları). Ardından, tahmini el pozu ve kişiselleştirilmiş bir kimlik vektörü, hileli bir şablon ağına üç katkı maddesi düzelticiden oluşan bir kümeyi tahmin eden kod çözücüye girilir. Son olarak, şablon örgüsü tahmini el pozuna ve doğrusal karışım kaplaması kullanılarak düzelticilere göre deforme olur. İlk düzeltici, iskelet teçhizatının kişiye özgü eklem pozisyonlarını içerecek şekilde ayarlandığı ID'ye bağlı bir iskelet düzelticidir. Diğer iki düzeltici, ağ köşelerinin katılımcının el yüzeyini daha iyi temsil edecek şekilde ayarlandığı ağ düzelticilerdir. Örgü düzelticilerden biri, bireysel bir katılımcının elinin yüzey yapısını hesaba katan kimliğe bağlı bir ağ düzelticidir. Bunun yerine son örgü düzeltici, mevcut el pozu nedeniyle el yüzeyi deformasyonlarını hesaba katan poza bağımlı bir köşe düzelticidir.
DeepHandMesh, 2D eklem kilit noktaları ve sahne derinlik haritaları ile zayıf denetim kullanılarak eğitilmiştir. Burada, aşağıdaki şekillerde modifiye edilmiş el örgüsü rekonstrüksiyonları oluşturmak için yalnızca önceden eğitilmiş DeepHandMesh kod çözücüsünü kullanıyoruz (Şekil 3). İlk olarak, ağ belirli katılımcılar üzerinde eğitilmediğinden, önceden eğitilmiş modelle birlikte sağlanan genel kimliğe bağlı ağ düzeltici kullanılır (Şekil 3A). Ayrıca, ID'ye bağımlı iskelet düzeltici, yukarıda açıklandığı gibi QTM iskelet çözücüsü kullanılarak türetilir (Şekil 3B). Elin iskelet uzunluğu ile orantılı ölçeklendirilmesi varsayılır ve ağ kalınlığı, iskeletin göreceli ölçeklemesinden türetilen bir faktörle düzgün bir şekilde ölçeklendirilir, böylece ağ katılımcının el boyutuna daha iyi yaklaşır (Şekil 3C). Bu modifiye edilmiş ağ, mevcut el pozu (işaretleyici verilerinden türetilen) ve bileğin 3B konumu ve yönü ile birlikte kod çözücüye girilir. Kod çözücü, böylece, mevcut poza bağımlı düzelticiyi hesaplar, tüm düzelticileri ve roto-çevirileri uygular ve mevcut el pozunun 3B izlenen nesne ağı ile aynı koordinat çerçevesinde 3B el örgüsü rekonstrüksiyonunu çıkarır (Şekil 3D).

Şekil 3: Önceden eğitilmiş DeepHandMesh kod çözücüsünde yapılan değişiklikler . (A) Sabit, genel kimliğe bağımlı örgü düzeltici. (B) Adım 10'da ters kinematik yoluyla türetilen kimliğe bağlı iskelet düzeltici. (C) El ağının boyutu, iskelet eklemleriyle aynı faktörle ölçeklendirilir. (D) Mevcut el pozunun son 3D el örgüsü rekonstrüksiyonu. Bu şeklin daha büyük bir versiyonunu görmek için lütfen buraya tıklayın.
Hem katılımcının eli hem de kavranmış bir nesne için 3B örgü modellerini yeniden yapılandırdıktan sonra, el-nesne temas bölgeleri, el ve nesne ağları arasındaki kesişimi hesaplayarak tahmin edilebilir (Şekil 1H). Bunun arkasındaki varsayım, gerçek elin yüzeyle temas yoluyla deforme olduğudur, yani iskelet, el sert olsaydı mümkün olandan daha fazla yüzeye yaklaşabilir, bu da el ağının bölümlerinin nesne ağından geçmesine izin verir. Sonuç olarak, temas alanları iki ağ arasındaki örtüşme bölgeleri olarak yaklaştırılabilir.
Özellikle, bu örtüşme bölgelerini hesaplamak için, el ağının 3B hacminde bulunan nesne örgüsü köşelerini elle temas halinde olarak tanımlarız. Bu köşeler, standart bir ışın izleme yaklaşımı45 kullanılarak tanımlanır. Nesne ağının her köşesi için, bu köşeden el ağının dışındaki rastgele bir 3B noktaya bir ışın dökülür. Daha sonra dökme ışın ile elin yüzeyini oluşturan üçgenler arasında meydana gelen kesişme noktalarının sayısını değerlendiririz. Kesişme sayısı tek ise, nesne köşesi el ağının içinde bulunur. Kavşak sayısı eşit ise, nesne köşesi el ağının dışındadır. Bu nedenle, nesnenin yüzeyindeki temas bölgeleri, köşelerinin tümü el ağı içinde bulunan üçgen yüzler kümesi olarak yaklaştırılabilir. Aynı mantığı, elin yüzeyindeki temas bölgelerini tahmin etmek için nesne ağının 3B hacminde bulunan el ağı köşelerine de uygulayabiliriz. Özellikle, Boole örgü işlemlerine daha gelişmiş yaklaşımlar da kullanılabilir31.
Video 1, 3D baskılı bir kedi heykelciğine tek bir kavrama sırasında yan yana hareket eden bir elin, izlenen noktaların ve birlikte kayıtlı ağın bir videosunu gösterir. Bunun yerine Şekil 4A, el-nesne örgü rekonstrüksiyonları (Şekil 4B) ve kruvasan yüzeyindeki tahmini temas bölgeleri (Şekil 4C) ile birlikte, bir kavramadan 3D baskılı bir kruvasana kadar el-nesne teması sırasında tek bir çerçeveyi göstermektedir.

Şekil 4: Tahmini el-nesne temas bölgeleri. (A) Bir kavrama sırasında izleme kameralarından birinden görüntülenen izlenen el ve nesne. (B) İzleme kamerasıyla aynı bakış açısından oluşturulan yeniden yapılandırılmış el ağı ve izlenen nesne ağı. (C) Birden fazla bakış açısından görülen nesnenin yüzeyindeki temas bölgeleri. Bu şeklin daha büyük bir versiyonunu görmek için lütfen buraya tıklayın.
Video 1: El ve nesnenin ağ rekonstrüksiyonları. Elin Gif animasyonu, izlenen işaretleyiciler ve aynı kamera bakış açısından görüntülenen tek bir kavrama sırasında el ve nesne örgü rekonstrüksiyonları. Bu Videoyu indirmek için lütfen buraya tıklayın.