cari
RumahPeranti teknologiAIAnggaran postur manusia yang cekap

Pengenalan

Di dalam domain penglihatan komputer, anggaran postur manusia berdiri sebagai bidang yang menawan dengan aplikasi yang meluas dari peningkatan realiti dan permainan ke autonomi mekanikal dan penjagaan kesihatan. Artikel ini memberi penerangan tentang kerumitan anggaran postur manusia, kepentingannya, kemajuan asas, dan aplikasi yang menarik.

Anggaran postur, medan yang menarik di dalam penglihatan komputer, termasuk mengiktiraf utama fokus pada badan seseorang untuk mendapatkannya dan menganalisis pose mereka. Objektif kami adalah untuk membawa inovasi ini ke dalam domain yoga, membenarkan kami mengiktiraf dan mengklasifikasikan postur yoga dari gambar.

Objektif pembelajaran

  • Dapatkan pemahaman yang mendalam tentang prinsip anggaran manusia dan kepentingan mereka dalam penglihatan komputer.
  • Memahami bagaimana teknologi anggaran manusia meningkatkan amalan yoga dengan bimbingan peribadi dan maklum balas masa nyata.
  • Membangunkan kemahiran praktikal dalam melaksanakan algoritma anggaran manusia untuk aplikasi yoga menggunakan python dan perpustakaan yang berkaitan.

Artikel ini diterbitkan sebagai sebahagian daripada Blogathon Sains Data.

Jadual Kandungan

  • Memahami anggaran manusia
  • Kaedah bawah ke bawah yang menimbulkan anggaran
  • Perpustakaan dan alat yang popular
  • Anggaran Pose Manusia yang Dipertingkatkan: Pendekatan yang mudah dan cekap
  • Aplikasi anggaran manusia
  • Soalan yang sering ditanya

Memahami anggaran manusia

Anggaran Pose Manusia adalah tugas penglihatan komputer yang melibatkan mewakili orientasi seseorang secara grafik. Teknik ini, memanfaatkan pendekatan berasaskan model, mengenal pasti dan mengklasifikasikan pose bahagian tubuh manusia dan sendi dalam imej atau video. Kuncinya terletak pada menangkap satu set koordinat yang menentukan sendi seperti pergelangan tangan, bahu, dan lutut, yang secara kolektif menggambarkan pose seseorang.

Kepentingan anggaran manusia

Pengesanan orang telah berkembang dengan algoritma pembelajaran mesin, membolehkan komputer memahami bahasa tubuh manusia melalui pengesanan dan penjejakan. Teknologi ini telah menjadi berdaya maju secara komersil, memberi kesan kepada pelbagai industri seperti keselamatan, kecerdasan perniagaan, kesihatan dan keselamatan, dan hiburan. Terutama, dalam era pandemik koronavirus, alat pengesan masa nyata dalam melaksanakan langkah-langkah menjauhkan sosial.

Perbezaan antara anggaran postur manusia 2D dan 3D

Dua kaedah utama wujud ialah anggaran postur 2D dan anggaran postur 3D. Kawasan sendi badan alat pengukur sebelumnya di ruang 2D, sedangkan yang terakhir disebutkan mengubah gambar 2D ke dalam protes 3D dengan menjangkakan z-dimensi tambahan. 3D menimbulkan anggaran, walaupun mencabar, membolehkan kedudukan spatial yang tepat dalam perwakilan.

Jenis model anggaran manusia

Model anggaran manusia jatuh ke dalam tiga jenis utama:

  • Model berasaskan rangka: mewakili struktur rangka, yang digunakan untuk anggaran 3D dan 2D.
  • Model berasaskan kontur: memberi tumpuan kepada anggaran 2D, menekankan penampilan dan bentuk badan.
  • Model berasaskan kelantangan: Digunakan untuk anggaran 3D, menggunakan model dan pose badan manusia 3D.

Kaedah bawah ke bawah yang menimbulkan anggaran

Kaedah untuk anggaran manusia secara meluas diklasifikasikan kepada dua pendekatan: bottom-up dan top-down. Bottom-Up menilai setiap badan bersama secara individu, manakala atas-bawah menggunakan pengesan badan terlebih dahulu dan menentukan sendi dalam kotak terikat yang ditemui.

Memahami cara kerja manusia yang menimbulkan anggaran melibatkan menyelidiki struktur asas, gambaran keseluruhan seni bina model, dan pelbagai pendekatan untuk menimbulkan anggaran. Proses ini merangkumi anggaran mutlak, anggaran relatif, dan kombinasi mereka.

Beberapa perpustakaan sumber terbuka memudahkan anggaran manusia:

  • OpenPose: Sistem multi-orang yang menyokong anggaran 2D dan 3D.
  • Posedetection: Dibina di Tensorflow.js, menawarkan model anggaran masa nyata.
  • Densepose: Peta piksel manusia dari imej 2D RGB ke model berasaskan permukaan 3D.
  • Alphapose: Perpustakaan anggaran multi-orang yang nyata menggunakan pendekatan atas ke bawah.
  • HRNET (Resolusi Tinggi Bersih): Sesuai untuk Ramalan Ramalan Heatmap Titik Tinggi Tinggi.

Anggaran Pose Manusia yang Dipertingkatkan: Pendekatan yang mudah dan cekap

Marilah kita mulakan dengan kod anggaran manusia yang mudah dengan mengikuti langkah -langkah tertentu.

Langkah 1: Menetapkan panggung

Untuk memulakan perjalanan kami, kami perlu menyediakan persekitaran kami dengan memasang perpustakaan yang diperlukan. OpenCV, Numpy, dan MediaPipe adalah penting untuk projek kami. Jalankan arahan berikut untuk memasangnya:

 ! Pip Pasang OpenCV-Python MediaPipe

Kami telah memperkenalkan MediaPipe dalam artikel ini, rangka kerja sumber terbuka yang dibangunkan oleh Google untuk membina saluran paip pembelajaran mesin yang difokuskan pada tugas penglihatan komputer. MediaPipe memudahkan pelaksanaan aplikasi visual yang kompleks, yang menawarkan model pra-terlatih untuk anggaran manusia yang boleh diintegrasikan dengan usaha yang minimum. Keupayaan merentas platformnya memastikan prestasi yang konsisten pada peranti mudah alih, aplikasi web, dan desktop, sementara reka bentuknya untuk pemprosesan masa nyata membolehkan analisis input video cepat.

Langkah 2: Import perpustakaan yang diperlukan

 Import Matematik
Import CV2
import numpy sebagai np
dari masa import masa
Import MediaPipe sebagai MP
import matplotlib.pyplot sebagai PLT
dari ipython.display import html
  • `math`: Menyediakan fungsi matematik untuk pengiraan.
  • `CV2`: Perpustakaan OpenCV untuk tugas -tugas penglihatan komputer seperti manipulasi dan pemprosesan imej.
  • `numpy sebagai np`: numpy perpustakaan untuk pengkomputeran berangka dengan sokongan untuk tatasusunan dan matriks.
  • `Masa`: Modul untuk bekerja dengan masa, digunakan di sini untuk mengukur masa pelaksanaan.
  • `MediaPipe sebagai MP`: Rangka Kerja MediaPipe untuk membina saluran paip persepsi untuk pelbagai jenis media.
  • `matplotlib.pyplot sebagai plt`: Perpustakaan Matplotlib untuk membuat plot dan visualisasi.
  • `Ipython.display import html`: Modul ipython untuk memaparkan kandungan html dalam buku nota.

Langkah 3: Pakej MediaPipe awal

Sediakan MediaPipe's Pose dan Lukisan Utiliti untuk Pose Detection and Visualisasi.

 # Inisialisasi kelas MediaPipe.
mp_pose = mp.solutions.pose

# Menyediakan fungsi pose.
pose = mp_pose.pose (static_image_mode = true, min_detection_confidence = 0.3, Model_ClePlexity = 2)

# Memulakan kelas lukisan MediaPipe, berguna untuk anotasi.
mp_drawing = mp.solutions.drawing_utils
  • Garis -garis ini memulakan komponen yang diperlukan dari rangka kerja MediaPipe untuk melaksanakan tugas anggaran.
  • mp_pose = mp.solutions.pose memulakan kelas MediaPipe Pose, membolehkan fungsi anggaran.
  • pose = mp_pose.pose (static_image_mode = true, min_detection_confidence = 0.3, Model_ClePlexity = 2) Menetapkan fungsi pose dengan parameter tertentu, seperti mod imej statik, keyakinan pengesanan minimum, dan kerumitan model.
  • mp_drawing = mp.solutions.drawing_utils memulakan kelas MediaPipe Drawing Utilities, yang menyediakan fungsi untuk imej anotasi dengan mercu tanda dan sambungan, memudahkan visualisasi hasil anggaran.

Langkah 4: Muatkan dan paparan gambar

Gunakan OpenCV untuk memuatkan imej dan matplotlib untuk memaparkannya.

 sampel_img = cv2.imread ('/kandungan/iStockPhoto-664637378-612x612.jpg')
PLT.Figure (figsize = [10,10])
plt.title ("sample_image")
plt.axis ('off')
plt.imshow (sample_img [:,:, ::-1]); plt.show ()
  • Segmen kod ini memuatkan imej sampel dari laluan fail yang ditentukan menggunakan perpustakaan OpenCV (cv2.imread ()).
  • Ia kemudian menggunakan matplotlib untuk memaparkan imej yang dimuatkan dalam angka dengan saiz yang ditentukan (plt.figure (figsize = [10, 10])), tajuk (plt.title ("sampel imej")), dan tanpa paksi kutu (plt.axis ('off')).
  • Imej akhirnya ditunjukkan menggunakan fungsi PLT.imshow (), yang menjaga memaparkan imej dalam angka yang ditentukan. Pengindeksan [:,:, ::-1] digunakan untuk menukar imej dari format BGR ke RGB, kerana Matplotlib mengharapkan imej RGB untuk paparan.

Anggaran postur manusia yang cekap

Langkah5: Mengesan dan mencetak Tanda Tanda

Tukar imej ke RGB dan gunakan MediaPipe untuk mengesan mercu tanda. Cetak dua mercu tanda pertama yang dikesan (misalnya, hidung, left_eye_inner).

Keypoint_identification

Anggaran postur manusia yang cekap

keypoint_landmark

 # Melakukan pengesanan pos selepas menukar imej ke dalam format RGB.
hasil = pose.process (cv2.cvtcolor (sample_img, cv2.color_bgr2rgb))

# Periksa sama ada mana -mana mercu tanda dijumpai.
jika hasil.pose_landmarks:
    
    # Keluarkan dua kali kerana kami hanya mahu memaparkan dua mercu tanda pertama.
    untuk saya dalam julat (2):
        
        # Paparkan mercu tanda yang dinormalisasi.
        cetak (f '{mp_pose.poselandmark (i) .name}: \ n {results.pose_landmarks.landmark [mp_pose.poselandmark (i) .value]}')
  • Segmen kod ini melakukan pengesanan pose pada imej sampel selepas menukarnya ke dalam format RGB menggunakan fungsi CV2.cvtColor () OpenCV.
  • Ia kemudian memeriksa jika mana -mana mercu tanda ditemui dalam imej menggunakan atribut hasil.pose_landmarks.
  • Sekiranya mercu tanda ditemui, ia melangkah ke atas dua tanda pertama dan mencetak nama dan koordinat mereka.
  • Nama mercu tanda diperoleh menggunakan mp_pose.poselandmark (i) .Name, dan koordinat diakses menggunakan results.pose_landmarks.landmark [MP_POSE.POSELANDMARK (I) .value].

Output:

 Hidung:
X: 0.7144814729690552
Y: 0.3049055337905884
Z: -0.1483774036169052
Keterlihatan: 0.99999918937683105
Left_eye_inner:
X: 0.7115224599838257
Y: 0.2835153341293335
Z: -0.13594578206539154
Keterlihatan: 0.9999727010726929

Langkah 6: Lukis mercu tanda pada gambar

Buat salinan imej, lukis mercu tanda yang dikesan menggunakan utiliti MediaPipe, dan paparkannya.

 # Buat salinan imej sampel untuk melukis mercu tanda.
img_copy = sample_img.copy ()

# Periksa sama ada mana -mana mercu tanda dijumpai.
jika hasil.pose_landmarks:
    
    # Lukiskan mercu tanda pada imej sampel.
    mp_drawing.draw_landmarks (image = img_copy, landmark_list = results.pose_landmarks, connections = mp_pose.pose_connections)
       
    # Tentukan saiz angka.
    Rajah = PLT.Figure (figsize = [10, 10])

    # Paparkan imej output dengan mercu tanda yang dikeluarkan, juga menukar BGR ke RGB untuk paparan. 
    plt.title ("output")
    plt.axis ('off')
    plt.imshow (img_copy [:,:, ::-1])
    plt.show ()
  • Segmen kod ini mencipta salinan imej sampel untuk mengekalkan imej asal semasa melukis mercu tanda pada imej yang berasingan.
  • Ia memeriksa jika ada tanda -tanda yang ditemui dalam hasilnya.
  • Sekiranya mercu tanda ditemui, ia menarik mercu tanda pada imej yang disalin menggunakan mp_drawing.draw_landmarks ().
  • Saiz angka untuk memaparkan imej output ditentukan menggunakan PLT.Figure (figsize = [10, 10]).
  • Akhirnya, ia memaparkan imej output dengan mercu tanda yang dikeluarkan menggunakan PLT.imshow (). Pengindeksan [:,:, ::-1] digunakan untuk menukar imej dari format BGR ke RGB untuk paparan yang betul dengan matplotlib.

Anggaran postur manusia yang cekap

Langkah 7: 3d menimbulkan visualisasi

Gunakan plot_landmarks MediaPipe () untuk memvisualisasikan mercu tanda yang dikesan dalam 3D.

 # Plot menimbulkan mercu tanda dalam 3D.
mp_drawing.plot_landmarks (results.pose_world_landmarks, mp_pose.pose_connections)
  • Segmen kod ini plot mercu tanda dalam ruang 3D menggunakan fungsi plot_landmarks () MediaPipe.
  • Ia mengambil keputusan.pose_world_landmarks sebagai input, yang mewakili mercu tanda dalam koordinat dunia.
  • mp_pose.pose_connections Menentukan hubungan antara mercu tanda yang berbeza, membantu memvisualisasikan struktur rangka.

Anggaran postur manusia yang cekap

Langkah 8: Fungsi Pengesanan Pose Custom

Untuk pengesanan pose tersuai, kami akan menggunakan detectpose (). Fungsi ini melakukan pengesanan pose, memaparkan hasil, dan secara pilihan mengembalikan mercu tanda.

 detectpose def (imej, pose, paparan = benar):
    '' '
    Fungsi ini melakukan pengesanan pada imej.
    Args:
        Imej: Imej input dengan orang yang terkenal yang menimbulkan tanda -tanda perlu dikesan.
        Pose: Fungsi persediaan pose yang diperlukan untuk melakukan pengesanan pose.
        Paparan: Nilai boolean yang jika ditetapkan untuk benar fungsi memaparkan imej input asal, imej yang dihasilkan, 
                 dan mercu tanda dalam plot 3D dan tidak mengembalikan apa -apa.
    Pulangan:
        Output_image: Imej input dengan mercu tanda yang dikesan ditarik.
        Tanda -tanda: Senarai mercu tanda yang dikesan diubah menjadi skala asalnya.
    '' '
    
    # Buat salinan imej input.
    output_image = image.copy ()
    
    # Tukar imej dari BGR ke format RGB.
    ImagergB = cv2.cvtColor (imej, cv2.color_bgr2rgb)
    
    # Melakukan pengesanan pose.
    hasil = pose.process (Imagergb)
    
    # Ambil ketinggian dan lebar imej input.
    ketinggian, lebar, _ = image.shape
    
    # Inisialisasi senarai untuk menyimpan mercu tanda yang dikesan.
    Tanda Tanda = []
    
    # Periksa sama ada mercu tanda dikesan.
    jika hasil.pose_landmarks:
    
        # Lukis menimbulkan mercu tanda pada imej output.
        mp_drawing.draw_landmarks (image = output_image, landmark_list = results.pose_landmarks,
                                  sambungan = mp_pose.pose_connections)
        
        # Melangkah ke atas mercu tanda yang dikesan.
        untuk mercu tanda dalam hasil.pose_landmarks.landmark:
            
            # Masukkan mercu tanda ke dalam senarai.
            Landmarks.Append ((int (Landmark.x * width), int (Landmark.y * Height),
                                  (Landmark.z * lebar)))
    
    # Periksa sama ada imej input asal dan imej yang dihasilkan ditentukan untuk dipaparkan.
    jika paparan:
    
        # Paparkan imej input asal dan imej yang dihasilkan.
        PLT.Figure (figsize = [22,22])
        plt.subplot (121); plt.imshow (imej [:,:, ::-1]); plt.title ("imej asal"); plt.axis ('off');
        plt.subplot (122); plt.imshow (output_image [:,:, ::-1]); plt.title ("output image"); plt.axis ('off');
        
        # Juga merancang mercu tanda dalam 3D.
        mp_drawing.plot_landmarks (results.pose_world_landmarks, mp_pose.pose_connections)
        
    # Sebaliknya
    lain:
        
        # Kembalikan imej output dan mercu tanda yang dijumpai.
        kembali output_image, mercu tanda
  • Fungsi ini detectPose () melakukan pengesanan pose pada imej input menggunakan model pose MediaPipe.
  • Ia mengambil tiga parameter: imej (imej input), pose (fungsi persediaan pose), dan paparan (boolean yang menunjukkan sama ada untuk memaparkan hasilnya).
  • Ia menyalin imej input untuk memelihara asal dan menukarkan imej dari BGR ke format RGB, seperti yang dikehendaki oleh MediaPipe.
  • Ia mengesan pada imej yang ditukar dan menarik mercu tanda yang dikesan pada imej output menggunakan mp_drawing.draw_landmarks ().
  • Fungsi ini juga mengambil ketinggian dan lebar imej input dan memulakan senarai kosong untuk menyimpan mercu tanda yang dikesan.
  • Jika parameter paparan ditetapkan kepada benar, ia memaparkan imej input asal, imej output dengan mercu tanda, dan plot mercu tanda dalam ruang 3D menggunakan mp_drawing.plot_landmarks ().
  • Jika paparan palsu, ia mengembalikan imej output dengan mercu tanda yang ditarik dan senarai mercu tanda yang dikesan.

Langkah 9: Pelaksanaan Contoh

Jalankan pengesanan pada imej sampel baru menggunakan fungsi detectpose ().

 # Baca imej sampel yang lain dan lakukan pengesanan pose di atasnya.
imej = cv2.imread ('/kandungan/hd-wallpaper-yoga-training-gym-pose-woman-yoga-exercises.jpg')
detectPose (imej, pose, paparan = benar)
  • Segmen kod ini membaca satu lagi imej sampel dari laluan fail yang ditentukan.
  • Ia kemudian memanggil fungsi detectpose () untuk melakukan pengesanan pose pada imej menggunakan persediaan pose yang diasaskan sebelum ini.
  • Menetapkan parameter paparan kepada benar mengarahkan fungsi untuk menunjukkan imej input asal, imej yang dihasilkan dengan mercu tanda yang ditarik, dan plot 3D mercu tanda.

Langkah 10: Pose klasifikasi (pilihan)

Langkah seterusnya melibatkan menentukan fungsi untuk mengklasifikasikan pose seperti pahlawan, pokok, dan lain -lain, berdasarkan sudut bersama.

Warrior-pose, t-pose, pokok-pose, tidak diketahui

 DEF ClassifyPose (Landmark, Output_image, paparan = palsu):
    '' '
    Fungsi ini mengklasifikasikan pose yoga bergantung kepada sudut pelbagai sendi badan.
    Args:
        Tanda -tanda: Senarai mercu tanda yang dikesan orang yang pose perlu diklasifikasikan.
        Output_image: Imej orang yang mempunyai tanda -tanda yang dikesan.
        Paparan: Nilai boolean yang jika ditetapkan untuk benar fungsi memaparkan imej yang dihasilkan dengan label pose 
        ditulis di atasnya dan mengembalikan apa -apa.
    Pulangan:
        Output_image: Imej dengan mercu tanda yang dikesan yang ditarik dan pose label ditulis.
        Label: Label pose diklasifikasikan orang dalam output_image.

    '' '
    
    # Inisialisasi label pose. Ia tidak diketahui pada peringkat ini.
    label = 'pose tidak diketahui'

    # Tentukan warna (merah) yang mana label akan ditulis pada imej.
    warna = (0, 0, 255)
    
    # Kirakan sudut yang diperlukan.
    #------------------------------------------------------------------------------------------------------------
    
    # Dapatkan sudut antara bahu kiri, siku dan titik pergelangan tangan. 
    left_elbow_angle = calculateangle (mercu tanda [mp_pose.poselandmark.left_shoulder.value],
                                      Landmark [mp_pose.poselandmark.left_elbow.value],
                                      Landmark [mp_pose.poselandmark.left_wrist.value]))
    
    # Dapatkan sudut antara bahu kanan, siku dan titik pergelangan tangan. 
    right_elbow_angle = calculateAngle (mercu tanda [mp_pose.poselandmark.right_shoulder.value],
                                       Landmark [mp_pose.poselandmark.right_elbow.value],
                                       Landmark [mp_pose.poselandmark.right_wrist.value]))   
    
    # Dapatkan sudut antara siku kiri, bahu dan titik pinggul. 
    left_shoulder_angle = calculateangle (mercu tanda [mp_pose.poselandmark.left_elbow.value],
                                         Landmark [mp_pose.poselandmark.left_shoulder.value],
                                         Landmark [mp_pose.poselandmark.left_hip.value])

    # Dapatkan sudut antara titik pinggul kanan, bahu dan siku. 
    right_shoulder_angle = calculateangle (mercu tanda [mp_pose.poselandmark.right_hip.value],
                                          Landmark [mp_pose.poselandmark.right_shoulder.value],
                                          Landmark [mp_pose.poselandmark.right_elbow.value]))

    # Dapatkan sudut antara pinggul kiri, lutut dan titik pergelangan kaki. 
    left_knee_angle = calculateangle (mercu tanda [mp_pose.poselandmark.left_hip.value],
                                     Landmark [mp_pose.poselandmark.left_knee.Value],
                                     Landmark [mp_pose.poselandmark.left_ankle.value]))

    # Dapatkan sudut antara pinggul kanan, lutut dan titik pergelangan kaki 
    right_knee_angle = calculateAngle (mercu tanda [mp_pose.poselandmark.right_hip.value],
                                      Landmark [MP_POSE.POSELANDMARK.RIGHT_KNEE.VALUE],
                                      Landmark [mp_pose.poselandmark.right_ankle.value]))
    
    #------------------------------------------------------------------------------------------------------------
    
    # Periksa sama ada ia adalah Warrior II berpose atau T Pose.
    # Bagi kedua -dua mereka, kedua -dua lengan harus lurus dan bahu harus berada di sudut tertentu.
    #------------------------------------------------------------------------------------------------------------
    
    # Periksa sama ada kedua -dua lengannya lurus.
    jika left_elbow_angle> 165 dan left_elbow_angle  165 dan right_elbow_angle  80 dan left_shoulder_angle  80 dan right_shoulder_angle  165 dan left_knee_angle  165 dan right_knee_angle  90 dan left_knee_angle  90 dan right_knee_angle  160 dan left_knee_angle  160 dan right_knee_angle  165 dan left_knee_angle  165 dan right_knee_angle  315 dan left_knee_angle  25 dan right_knee_angle <p><img  src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174433982947729.jpg?x-oss-process=image/resize,p_40" class="lazy" alt="Anggaran postur manusia yang cekap" ></p><p><img  src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174433983294618.jpg?x-oss-process=image/resize,p_40" class="lazy" alt="Anggaran postur manusia yang cekap" ></p><p><img  src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174433983446597.jpg?x-oss-process=image/resize,p_40" class="lazy" alt="Anggaran postur manusia yang cekap" ></p><pre class="brush:php;toolbar:false"> # Baca gambar sampel dan lakukan klasifikasi pose di atasnya.
imej = cv2.imread ('/kandungan/amp-1575527028-- Segitiga Pose.jpg')
output_image, mercu tanda = detectPose (imej, pose, paparan = palsu)
Sekiranya mercu tanda:
    ClassifyPose (mercu tanda, output_image, paparan = benar)
  • Segmen kod ini membaca imej sampel dari laluan fail yang ditentukan.
  • Ia kemudian memanggil fungsi detectpose () untuk melakukan pengesanan pose pada imej menggunakan persediaan pose yang diasaskan sebelum ini.
  • Jika parameter paparan palsu, fungsi melangkaui memaparkan hasilnya.
  • Jika imej mengandungi tanda -tanda yang dikesan, fungsi panggilan diklasifikasikan () untuk mengklasifikasikan pose berdasarkan mercu tanda ini dan memaparkan hasilnya.

Anggaran postur manusia yang cekap

# Baca gambar sampel dan lakukan klasifikasi pose di atasnya.
imej = cv2.imread ('/kandungan/warrior2.jpg')
output_image, mercu tanda = detectPose (imej, pose, paparan = palsu)
Sekiranya mercu tanda:
    ClassifyPose (mercu tanda, output_image, paparan = benar)
  • Segmen kod ini membaca imej sampel dari laluan fail yang ditentukan.
  • Ia kemudian memanggil fungsi detectpose () untuk melakukan pengesanan pose pada imej menggunakan persediaan pose yang diasaskan sebelum ini.
  • Parameter paparan ditetapkan kepada palsu, menunjukkan bahawa fungsi tidak boleh memaparkan hasilnya.
  • Sekiranya mercu tanda dikesan dalam imej, ia memanggil fungsi ClassifyPose () untuk mengklasifikasikan pose berdasarkan mercu tanda yang dikesan dan memaparkan hasilnya.

Anggaran postur manusia yang cekap

Aplikasi anggaran manusia

Anggaran Pose Manusia mendapati aplikasi dalam pelbagai domain:

Industri kecergasan dan kesejahteraan

  • Panduan Peribadi: Pose Pengesanan Aplikasi Panduan Pengguna melalui Sesi Yoga, yang menawarkan maklum balas masa nyata mengenai penjajaran mereka.
  • Penjejakan kemajuan: Sistem memantau kemajuan pengguna, mencadangkan pengubahsuaian atau kemajuan yang disesuaikan dengan tahap kemahiran individu.

Aplikasi peringkat industri

  • Program Kesihatan Korporat: Syarikat boleh mengintegrasikan pengesanan yoga, meningkatkan kesihatan pekerja melalui program kesihatan dan pengurangan tekanan.

Penjagaan kesihatan

  • Pembetulan postur: Pose alat bantu pengesanan dalam membetulkan postur semasa latihan pemulihan, memastikan pelaksanaan pergerakan yang betul.
  • Pemantauan Jauh: Profesional penjagaan kesihatan jauh memantau sesi yoga pesakit, yang menawarkan bantuan maya dan menyesuaikan rutin seperti yang diperlukan.

Latihan Sukan

  • Latihan Fleksibiliti dan Kekuatan: Pose pengesanan dalam program latihan sukan memberi manfaat kepada atlet yang memerlukan fleksibiliti dan kekuatan, meningkatkan prestasi keseluruhan.

Pendidikan

  • Pembelajaran Interaktif: Pose pengesanan meningkatkan pembelajaran yoga interaktif dan boleh diakses untuk pelajar di institusi pendidikan.
  • Penilaian Kemahiran: Guru menilai kemahiran yoga pelajar menggunakan teknologi, menawarkan panduan yang disasarkan untuk penambahbaikan.

Hiburan dan permainan

  • Pengalaman Immersive: Aplikasi VR atau AR mencipta pengalaman yoga yang mendalam dengan pengajar maya membimbing pengguna melalui pose.
  • Permainan Interaktif: Pose pengesanan dalam permainan kecergasan menjadikan senaman menyeronokkan dan memotivasi untuk pengguna.

Ergonomik dalam industri

  • Sesi Yoga Meja: Mengintegrasikan Pengesanan Pose Ke Program Kesihatan Tempat Kerja Menawarkan sesi yoga pendek, meningkatkan postur dan mengurangkan tekanan untuk pekerja.
  • Penilaian Ergonomik: Majikan menggunakan pengesanan untuk menilai aspek ergonomik stesen kerja, mempromosikan kesihatan yang lebih baik di kalangan pekerja.

Faedah pengguna

  • Borang yang betul: Maklum balas segera mengenai borang ini mengurangkan risiko kecederaan, memastikan pengguna mendapat faedah maksimum dari amalan yoga.
  • Kemudahan: Pengguna boleh mengamalkan yoga pada kemudahan mereka, dipandu oleh pengajar atau aplikasi maya, menghapuskan keperluan untuk kelas fizikal.
  • Motivasi: Penjejakan dan maklum balas kemajuan masa nyata memotivasi pengguna untuk tetap konsisten dengan rutin yoga mereka.

Kesimpulan

Penyepaduan pengesanan manusia dengan yoga menimbulkan pelbagai sektor, merevolusi kesejahteraan dan kecergasan. Dari panduan peribadi dan pengesanan kemajuan dalam industri kecergasan untuk meningkatkan pemulihan dan terapi fizikal dalam penjagaan kesihatan, teknologi ini menawarkan pelbagai aplikasi yang serba boleh. Dalam latihan sukan, ia menyumbang kepada fleksibiliti dan kekuatan atlet, sementara dalam pendidikan, ia membawa pengalaman pembelajaran yoga yang interaktif dan boleh ditaksir.

Manfaat tempat kerja dari sesi yoga meja dan penilaian ergonomik, mempromosikan kesejahteraan pekerja. Pengguna, dipandu oleh pengajar maya, menikmati maklum balas, kemudahan, dan motivasi yang betul, memupuk pendekatan yang lebih sihat dan lebih cekap untuk amalan yoga. Gabungan transformasi amalan kuno ini dengan inovasi canggih membersihkan jalan bagi pemberontakan kesejahteraan yang menyeluruh.

Takeaways utama

  • Anggaran postur manusia, medan di dalam penglihatan komputer, termasuk mengiktiraf utama fokus pada tubuh seseorang untuk mendapatkannya dan menganalisis pose mereka.
  • Anggaran postur manusia mempunyai pelbagai aplikasi, yang meluas dari kesejahteraan dan kesejahteraan kepada penjagaan kesihatan, penyediaan sukan, arahan, hiburan, dan ergonomik persekitaran kerja.
  • Menyatukan Inovasi Penemuan Postur Ke Yoga Hone menawarkan arahan peribadi pelanggan, input masa nyata, berikut, keselesaan, dan inspirasi, mendorong mereka untuk bergerak maju dengan kesejahteraan dan latihan yang lebih mahir.
  • Penyepaduan pengesanan manusia dengan amalan yoga mewakili kemajuan yang signifikan dalam teknologi kesejahteraan, membuka jalan bagi revolusi kesejahteraan yang komprehensif.

Soalan yang sering ditanya

Q1. Apakah anggaran postur manusia, dan bagaimana ia berfungsi?

A. Anggaran postur manusia mungkin merupakan strategi penglihatan komputer yang termasuk mengiktiraf tumpuan utama pada tubuh seseorang untuk mendapatkannya dan menganalisis pose mereka. Ia berfungsi dengan memanfaatkan pengiraan untuk membezakan dan mengklasifikasikan fokus utama ini, membenarkan masa sebenar dan pemeriksaan pembangunan manusia.

S2. Apakah aplikasi utama anggaran manusia dalam amalan yoga?

A. Teknologi anggaran postur manusia boleh dihubungkan dengan hone yoga untuk membekalkan pelanggan dengan arah yang diperibadikan, input masa nyata mengenai susunan pose, pengikut berikut, dan arahan yoga maya. Ia juga boleh digunakan dalam arahan yoga, pemulihan, dan penyediaan sukan.

Q3. Apakah beberapa perpustakaan dan alat yang popular untuk anggaran manusia?

A. Sesetengah perpustakaan dan alat sumber terbuka yang popular untuk anggaran manusia termasuk OpenPose, Posedetection, Densepose, Alphapose, dan HRNET (Net Resolusi Tinggi). Perpustakaan ini menyediakan model pra-terlatih dan API untuk melaksanakan tugas anggaran.

Q4. Bolehkah Teknologi Anggaran Pose Manusia digunakan untuk pembetulan postur dalam yoga?

A. Ya, inovasi anggaran postur manusia boleh digunakan untuk menimbulkan ganti rugi dalam yoga dengan memberikan kritikan masa nyata mengenai pengaturan yang menimbulkan dan mencadangkan perubahan atau perubahan untuk membantu pelanggan dalam mencapai bentuk dan pengaturan yang sah.

S5. Adakah Teknologi Anggaran Pose Manusia sesuai untuk pemula dalam yoga?

A. Ya, inovasi anggaran postur manusia boleh berguna untuk tender kaki dalam yoga dengan memberi mereka arahan, maklum balas, dan isyarat visual untuk membantu mereka belajar dan mengasah postur yoga dengan tepat dan selamat.

Media yang ditunjukkan dalam artikel ini tidak dimiliki oleh Analytics Vidhya dan digunakan atas budi bicara penulis.

Atas ialah kandungan terperinci Anggaran postur manusia yang cekap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Pembantu AI baru Meta: Booster Produktiviti atau Tenggelam Masa?Pembantu AI baru Meta: Booster Produktiviti atau Tenggelam Masa?May 01, 2025 am 11:18 AM

META telah bergabung dengan rakan-rakan seperti Nvidia, IBM dan Dell untuk mengembangkan integrasi penempatan peringkat perusahaan Llama Stack. Dari segi keselamatan, Meta telah melancarkan alat -alat baru seperti Llama Guard 4, Llamifirewall dan Cyberseceval 4, dan melancarkan program pembela Llama untuk meningkatkan keselamatan AI. Di samping itu, META telah mengedarkan $ 1.5 juta dalam geran Llama Impact kepada 10 institusi global, termasuk pemula yang bekerja untuk meningkatkan perkhidmatan awam, penjagaan kesihatan dan pendidikan. Permohonan Meta AI yang baru dikuasakan oleh Llama 4, dikandung sebagai Meta AI

80% Gen Zers akan berkahwin dengan AI: Kajian80% Gen Zers akan berkahwin dengan AI: KajianMay 01, 2025 am 11:17 AM

Joi Ai, sebuah syarikat yang merintis interaksi manusia-ai, telah memperkenalkan istilah "AI-Lationships" untuk menggambarkan hubungan yang berkembang ini. Jaime Bronstein, ahli terapi hubungan di Joi Ai, menjelaskan bahawa ini tidak dimaksudkan untuk menggantikan manusia c

AI membuat masalah bot Internet lebih teruk. Permulaan $ 2 bilion ini berada di barisan hadapanAI membuat masalah bot Internet lebih teruk. Permulaan $ 2 bilion ini berada di barisan hadapanMay 01, 2025 am 11:16 AM

Penipuan dalam talian dan serangan bot menimbulkan cabaran penting bagi perniagaan. Peruncit melawan bot produk penimbunan, pengambilalihan akaun Bank Battle, dan platform media sosial berjuang dengan peniru. Kebangkitan AI memburukkan lagi masalah ini, Rende

Menjual ke Robot: Revolusi Pemasaran yang akan membuat atau memecahkan perniagaan andaMenjual ke Robot: Revolusi Pemasaran yang akan membuat atau memecahkan perniagaan andaMay 01, 2025 am 11:15 AM

Ejen AI bersedia untuk merevolusikan pemasaran, yang berpotensi melampaui kesan peralihan teknologi terdahulu. Ejen -ejen ini, yang mewakili kemajuan yang signifikan dalam AI generatif, bukan sahaja memproses maklumat seperti chatgpt tetapi juga mengambil actio

Bagaimana Teknologi Penglihatan Komputer Mengubah NBA Playoff merasmikanBagaimana Teknologi Penglihatan Komputer Mengubah NBA Playoff merasmikanMay 01, 2025 am 11:14 AM

Impak AI terhadap keputusan NBA Game 4 penting Dua pertandingan NBA permainan yang penting mempamerkan peranan permainan AI yang berubah-ubah dalam merasmikan. Pada mulanya, Nikola Jokic dari Denver yang terlepas tiga pointer membawa kepada lorong-lorong terakhir yang terakhir oleh Aaron Gordon. Sony's Haw

Bagaimana AI mempercepat masa depan ubat regeneratifBagaimana AI mempercepat masa depan ubat regeneratifMay 01, 2025 am 11:13 AM

Secara tradisinya, memperluaskan kepakaran perubatan regeneratif secara global menuntut perjalanan yang luas, latihan tangan, dan tahun mentor. Sekarang, AI sedang mengubah landskap ini, mengatasi batasan geografi dan mempercepatkan kemajuan melalui en

Pengambilan kunci dari Intel Foundry Direct Connect 2025Pengambilan kunci dari Intel Foundry Direct Connect 2025May 01, 2025 am 11:12 AM

Intel sedang berusaha untuk mengembalikan proses pembuatannya ke kedudukan utama, sambil cuba menarik pelanggan semikonduktor yang hebat untuk membuat cip di fabanya. Untuk tujuan ini, Intel mesti membina lebih banyak kepercayaan dalam industri, bukan sahaja untuk membuktikan daya saing prosesnya, tetapi juga untuk menunjukkan bahawa rakan kongsi boleh mengeluarkan cip dalam aliran kerja yang biasa dan matang, konsisten dan sangat dipercayai. Semua yang saya dengar hari ini membuatkan saya percaya Intel bergerak ke arah matlamat ini. Ucapan utama CEO baru Tan Libai memulakan hari. Tan Libai adalah mudah dan ringkas. Beliau menggariskan beberapa cabaran dalam Perkhidmatan Foundry Intel dan langkah -langkah syarikat telah mengambil untuk menangani cabaran -cabaran ini dan merancang laluan yang berjaya untuk perkhidmatan Foundry Intel pada masa akan datang. Tan Libai bercakap mengenai proses perkhidmatan OEM Intel yang dilaksanakan untuk menjadikan pelanggan lebih banyak

Ai salah? Sekarang ada insurans ' s untuk ituAi salah? Sekarang ada insurans ' s untuk ituMay 01, 2025 am 11:11 AM

Mengulas kebimbangan yang semakin meningkat di sekitar risiko AI, Chaucer Group, firma insurans semula khusus global, dan Armilla AI telah bergabung untuk memperkenalkan produk insurans liabiliti pihak ketiga (TPL) novel. Dasar ini melindungi perniagaan terhadap

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual