Rumah > Artikel > Peranti teknologi > Paten Microsoft AR/VR berkongsi kaedah pembetulan gerakan untuk pengimejan ToF
(Nweon 19 Oktober 2023) Sistem pengesan kedalaman seperti kamera ToF masa penerbangan boleh digunakan untuk menjana imej kedalaman persekitaran untuk HoloLens 2, di mana setiap piksel imej kedalaman mewakili jarak ke titik yang sepadan dalam persekitaran. Dalam pengimejan ToF, jarak titik pada permukaan pengimejan dalam persekitaran bergantung pada panjang selang masa untuk cahaya dari kamera ToF bergerak ke titik itu dan kemudian kembali ke sensor kamera ToF.
Pengimejan ToF berasaskan fasa ialah varian pengimejan ToF di mana kedalaman dikira berdasarkan anjakan fasa cahaya termodulat amplitud yang dipantulkan kembali dari objek. Disebabkan oleh pergerakan kamera ToF antara pemerolehan data fasa, data fasa intra-bingkai mungkin agak beralih. Sebagai contoh, dalam pemerolehan data fasa intra-bingkai pertama, piksel mungkin merasakan data fasa pada frekuensi modulasi pertama di lokasi dalam tempat kejadian. Kemudian semasa pemerolehan data fasa dalam bingkai seterusnya, piksel boleh mengesan data fasa di lokasi pemandangan yang berbeza pada frekuensi modulasi kedua. Data fasa pada frekuensi yang berbeza menjadi tidak konsisten, yang boleh dipanggil kabur gerakan.
Jadi dalam aplikasi paten yang dipanggil "Motion correction for time-of-flight depth imaging", Microsoft mencadangkan kaedah pembetulan gerakan untuk pengimejan ToF.
Untuk melakukan ini, imej AB kecerahan aktif sepadan dengan frekuensi modulasi cahaya pencahayaan pertama dibandingkan dengan imej AB sepadan dengan frekuensi modulasi cahaya pencahayaan kedua untuk menentukan terjemahan dua dimensi dalam bingkai. Terjemahan 2D dalam bingkai sepadan dengan anggaran pergerakan kamera berbanding pemandangan yang diimej.
Terjemahan 2D dalam bingkai kemudian digunakan pada data fasa untuk membantu menjajarkan imej fasa dan membentuk data fasa yang diperbetulkan. Seterusnya, pembongkaran fasa dilakukan pada data fasa yang diperbetulkan untuk mendapatkan imej kedalaman tiga dimensi yang diperbetulkan dalam bingkai. Terjemahan 2D dalam bingkai juga boleh digunakan untuk melakukan pembetulan gerakan pada imej AB dalam bingkai. Sebagai contoh, imej AB yang dibetulkan dalam bingkai boleh diperoleh dengan purata imej AB yang dibetulkan.
Dalam contoh seperti ini, imej AB pertama dari bingkai pertama dibandingkan dengan imej AB kedua dari bingkai kedua untuk menentukan terjemahan 2D antara bingkai. Terjemahan antara bingkai ialah anggaran pergerakan antara bingkai. Terjemahan 2D antara bingkai kemudiannya boleh digunakan pada imej kedalaman bingkai pertama untuk membentuk imej kedalaman antara bingkai yang dijana. Terjemahan dua dimensi antara bingkai boleh ditentukan daripada imej AB yang dibetulkan dalam bingkai.
Selain itu, sebagai anggaran gerakan kamera, terjemahan 2D antara bingkai boleh dikeluarkan dan digunakan dalam pelbagai rutin pasca pemprosesan temporal atau perkhidmatan perisian. Oleh itu, penjelmaan yang diterangkan dalam paten boleh membantu mencapai pembetulan kabur pergerakan data kedalaman 3D menggunakan data imej AB intra-bingkai 2D. Dengan menggunakan data 2D, pembetulan gerakan boleh dilakukan dalam masa nyata dengan prestasi pengiraan yang agak cekap berbanding menggunakan data kedalaman 3D untuk pembetulan kabur gerakan.
Rajah 2 menunjukkan contoh termasuk kamera ToF 202. Antaranya, kamera ToF ialah sistem pengimejan kedalaman ToF berasaskan fasa 200 . Kamera ToF 202 termasuk tatasusunan penderia 204 termasuk kepelbagaian piksel ToF 206 setiap satu dikonfigurasikan untuk memperoleh data fasa menangkap sampel cahaya, pengawal 208 dan sistem kanta objektif 210 .
Pengawal 208 dikonfigurasikan untuk mengumpul dan memproses data daripada piksel ToF 206 tatasusunan sensor 204 untuk membina imej kedalaman. Pengawal 208 mungkin termasuk arahan boleh laku untuk melakukan denoising dan/atau membuka fasa.
Sistem pengimejan kedalaman 200 termasuk pemancar cahaya termodulat 230 dan pengatup elektronik analog dan/atau termodulat digital 232 untuk tatasusunan sensor 204 untuk mengawal penyepaduan cahaya melalui tatasusunan sensor 204. Pemancar cahaya termodulat 230 boleh dikonfigurasikan untuk memancarkan sinaran elektromagnet daripada sebarang frekuensi yang boleh dikesan oleh piksel ToF 206 .
Cahaya termodulat mungkin dimodulasi pada frekuensi berbeza secara berurutan atau serentak, dan tatasusunan sensor 204 dikonfigurasikan untuk mencuba cahaya yang dipantulkan daripada pemancar cahaya termodulat 230 ke permukaan 220 dan kembali ke kamera. Setiap piksel penderiaan ToF 206 daripada tatasusunan penderia 204 mungkin termasuk satu atau lebih ketik piksel untuk menyepadukan isyarat cahaya yang dipantulkan pada selang masa yang berbeza dan dengan itu menentukan anjakan fasa.
Untuk setiap frekuensi modulasi, tatasusunan sensor 204 dikawal untuk mengambil sampel cahaya pada pelbagai sudut fasa cahaya termodulat amplitud daripada sumber cahaya dan menentukan sampel fasa untuk setiap frekuensi modulasi daripada sampel cahaya berbilang untuk frekuensi modulasi. Sampel fasa kemudiannya boleh dibuka untuk mendapatkan nilai kedalaman bagi setiap piksel.
Disebabkan keberkalaan cahaya termodulat, jumlah fasa yang diukur berulang setiap 2π. Oleh kerana n(k) tidak boleh diukur secara langsung oleh piksel ToF berasaskan fasa, jumlah fasa dan dengan itu jarak sebenar yang dikaitkan dengan pengukuran adalah samar-samar. Oleh itu dalam pengimejan ToF berasaskan fasa, jarak yang boleh diukur (julat bebas kabur) dihadkan oleh frekuensi modulasi.
Dua atau lebih frekuensi modulasi berbeza boleh digunakan untuk meningkatkan julat bebas kekaburan, dan kemudian data anjakan fasa yang dikumpul boleh disebarkan untuk menentukan jarak dengan tepat.
Rajah 3 secara skematik menggambarkan contoh data imej ToF 300 untuk pluraliti frekuensi modulasi K. Data 300 mewakili data yang boleh diperolehi oleh sistem pengimejan kedalaman 200 semasa pemerolehan bingkai berbilang frekuensi.
Dalam contoh yang ditunjukkan, data kedalaman termasuk tatasusunan data M×N untuk setiap frekuensi modulasi K, menghasilkan grid M×N data kedalaman dalam bingkai 302a-c, di mana dalam setiap grid Setiap piksel 304 mewakili nilai ukuran yang diperoleh pada frekuensi modulasi cahaya pencahayaan yang sepadan K daripada frekuensi modulasi K.
Fasa yang diukur digunakan untuk mengira nilai kedalaman yang dikaitkan dengan piksel. Tetapi seperti yang dinyatakan di atas, dalam pengimejan ToF berasaskan fasa, jarak yang boleh diukur (julat bebas kabur) dihadkan oleh frekuensi modulasi. Oleh itu, satu set frekuensi modulasi K ≥ 2 K boleh digunakan untuk meningkatkan julat, membolehkan maklumat fasa dirungkai untuk menentukan jarak dengan tepat.
Pembukaan fasa ialah kaedah menyahkekaburan data anjakan fasa dan mengenal pasti nilai jarak yang betul dengan menerangi pemandangan dengan berbilang lampu termodulat amplitud yang berbeza frekuensi, memandangkan kekaburan jarak adalah berbeza untuk setiap frekuensi cahaya pencahayaan.
Tetapi seperti yang dinyatakan di atas, jika kamera kedalaman ToF sedang bergerak, ralat pembuka fasa mungkin berlaku. Memandangkan pemerolehan data kedalaman pada setiap frekuensi dilakukan secara berurutan, imej fasa dan imej AB dipisahkan buat sementara waktu dalam satu bingkai.
Sebagai contoh, imej fasa dalam bingkai 306a mungkin termasuk data fasa frekuensi pertama ƒ1 yang diperoleh ke arah permulaan bingkai, imej fasa dalam bingkai 306b mungkin termasuk data fasa frekuensi kedua ƒ2 yang diperoleh ke arah tengah bingkai, fasa dalam bingkai imej 306b mungkin termasuk data fasa frekuensi ketiga ƒ3 yang diperoleh pada penghujung bingkai.
Jadi jika kamera kedalaman ToF bergerak antara pemerolehan dalam bingkai, data fasa pada tiga frekuensi berbeza mungkin dianjak dan tidak sejajar. Data fasa yang tidak konsisten boleh membawa kepada ralat dalam pembongkaran fasa.
Jadi, Microsoft mencadangkan penyelesaian menggunakan data imej AB untuk menganggar gerakan dan menentukan terjemahan 2D.
Syarikat mengambil perhatian bahawa walaupun data kedalaman boleh digunakan, menentukan terjemahan 2D berdasarkan data imej AB mungkin lebih mantap disebabkan perbezaan kecerahan aktif antara objek dalam pemandangan. Pembetulan gerakan dalam bingkai kemudiannya boleh dilakukan pada data fasa menggunakan terjemahan 2D. Melakukan pembuka balutan fasa pada data fasa pembetulan dalam bingkai boleh membantu mengelakkan ralat membuka balutan akibat gerakan kabur.
Rajah 4 menunjukkan kaedah contoh untuk melakukan pembetulan sedemikian pada data kedalaman sebelum pembongkaran fasa. Kaedah 400 boleh dilaksanakan dalam sistem pengkomputeran yang menerima data daripada kamera kedalaman ToF.
Pada 402, pengumpulan bingkai berbilang frekuensi dilakukan, di mana berbilang sampel fasa dalam bingkai dikumpulkan oleh penderia imej ToF. Sampel fasa dalam bingkai dikumpul untuk setiap kejamakan frekuensi modulasi cahaya pencahayaan (ƒ1, ƒ2, ƒ3) untuk membentuk data kedalaman dalam bingkai yang sepadan 404a-c. Dalam contoh ini, data kedalaman dalam bingkai 404a diperoleh pertama, data kedalaman dalam bingkai 404b diperoleh kedua, dan data kedalaman dalam bingkai 404c diperoleh ketiga, seperti yang ditunjukkan oleh anak panah masa.
Pada 406, pembetulan penentukuran isyarat dilakukan untuk mendapatkan data fasa 408 dan data kecerahan aktif 410. Seperti yang dinyatakan di atas, data kedalaman dalam bingkai pada frekuensi yang berbeza mungkin agak berubah disebabkan oleh gerakan kamera. Oleh itu, kaedah 400 membandingkan data kecerahan aktif 410 untuk menganggar dan membetulkan untuk gerakan.
Di sini, imej intra-AB 410a dibandingkan dengan imej intra-AB 410b untuk menentukan terjemahan 2D dalam bingkai pertama 412. Terjemahan dua dimensi dari AB1 ke AB2 boleh dinyatakan sebagai [Δu, Δv]1,2, di mana Δu ialah sesaran piksel dalam arah x dan Δv ialah sesaran piksel dalam arah y. Terjemahan Intra-2D 412 ialah anggaran pergerakan antara data kedalaman dalam bingkai 404a dan data kedalaman dalam bingkai 404b.
Seterusnya, imej intra AB 410a dibandingkan dengan imej intra AB 410c untuk menentukan terjemahan intra 2D kedua 414, dilambangkan sebagai [Δu, Δv] 13.
Dalam satu penjelmaan, imej intra-AB 410b boleh dibandingkan dengan imej intra-AB 410c untuk menentukan terjemahan 2D dalam bingkai ketiga. Dalam contoh lain, sebarang pasangan imej AB intra-bingkai yang sesuai boleh dibandingkan untuk menentukan terjemahan 2D dalam bingkai yang sepadan. Sebarang kaedah yang sesuai boleh digunakan untuk membandingkan imej AB dan menentukan terjemahan. Dalam satu contoh, ciri diekstrak daripada imej AB, dibentuk menjadi peta ciri, dan digunakan untuk membandingkan imej.
Selepas menentukan terjemahan 2D, data fasa boleh diperbetulkan menggunakan terjemahan yang ditentukan. Dalam penjelmaan yang ditunjukkan dalam Rajah 4, terjemahan dua dimensi dalam bingkai 412 digunakan pada imej fasa 408b untuk membetulkan imej fasa untuk membentuk imej fasa yang diperbetulkan 420b. Begitu juga, terjemahan dua dimensi dalam bingkai 414 dilakukan pada imej fasa 408c untuk membetulkan imej fasa, membentuk imej fasa yang diperbetulkan 420c.
Oleh itu, data fasa 420 yang diperbetulkan mewakili data fasa yang telah "diselaraskan semula" kepada imej fasa 408a. Dalam satu contoh, satu atau lebih terjemahan dua dimensi boleh digunakan untuk membentuk imej fasa diperbetulkan sejajar dengan imej fasa 408b atau 408c.
Pada 422 , kaedah 400 juga termasuk melaksanakan pembongkaran fasa pada data fasa 420 yang diperbetulkan untuk membentuk imej kedalaman 424 . Memandangkan imej fasa yang dibetulkan 420b, 420c boleh dijajarkan semula dengan imej fasa 408a, fasa membuka balutan pada 422 boleh menghasilkan ralat buka bungkus yang agak kurang berbanding contoh di mana pembetulan kabur gerakan diabaikan.
Jadi, kaedah 400 boleh membantu mencapai prestasi yang lebih baik dalam memproses data kedalaman 404 untuk membentuk imej kedalaman 424 .
Selain itu, aplikasi terjemahan 2D dalam bingkai boleh dilakukan melalui konvolusi dan dengan itu boleh digabungkan dengan proses penapisan spatial dan temporal yang juga menggunakan konvolusi. Pada masa yang sama, sebagai anggaran gerakan kamera, terjemahan 2D dalam bingkai yang ditentukan mungkin berguna untuk pelbagai aplikasi pasca pemprosesan, seperti penapis temporal, anggaran trajektori, anggaran wilayah dinamik atau pemetaan. Teknik yang sama boleh digunakan untuk membetulkan imej intra-AB dan membentuk imej AB intra-dibetulkan.
Merujuk kepada Rajah 5, kaedah 500 menggunakan terjemahan dua dimensi dalam bingkai 412, 414 untuk membentuk data AB 510 yang diperbetulkan. Dalam satu contoh, kaedah 500 dilakukan bersama dengan kaedah 400. Dalam contoh lain, kaedah 500 dilakukan secara berasingan daripada kaedah 400 .
Seperti yang ditunjukkan dalam Rajah 5, terjemahan dua dimensi dalam bingkai 412 digunakan pada imej AB dalam bingkai 410b untuk membetulkan imej untuk membentuk imej AB yang diperbetulkan 510b. Selanjutnya, terjemahan dua dimensi dalam bingkai 414 digunakan pada imej AB 410c untuk membentuk imej AB 510c yang diperbetulkan. Bersama imej intra AB 408a, imej AB yang diperbetulkan 510b-c membentuk data AB 510 yang diperbetulkan.
Pada 518 , kaedah 500 seterusnya termasuk purata data AB yang diperbetulkan 510 untuk membentuk imej AB yang diperbetulkan intra-bingkai 520 . Imej AB intra-dibetulkan 520 mungkin dikeluarkan untuk pemprosesan selanjutnya dan/atau output ke paparan.
Imej AB yang diperbetulkan dalam bingkai juga boleh digunakan untuk menjana imej kedalaman antara bingkai. Selain membetulkan kabur gerakan dalam bingkai imej kedalaman, pembetulan juga boleh dilakukan antara bingkai.
Paten berkaitan: Paten Microsoft | Pembetulan gerakan untuk pengimejan kedalaman masa penerbangan
Aplikasi paten Microsoft bertajuk "Pembetulan gerakan untuk pengimejan kedalaman masa penerbangan" pada asalnya diserahkan pada Mac 2022 dan baru-baru ini diterbitkan oleh Pejabat Paten dan Tanda Dagangan AS.
Atas ialah kandungan terperinci Paten Microsoft AR/VR berkongsi kaedah pembetulan gerakan untuk pengimejan ToF. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!