ਮਨੁੱਖੀ ਕਿਰਿਆਵਾਂ ਦੀ ਭਵਿੱਖਬਾਣੀ

ਪ੍ਰੋਜੈਕਟ ਦਾ GitHub ਰਿਪੋ

skr

ਵੇਰਵੇ

ਇਹ ਪ੍ਰੋਜੈਕਟ ਸਪ੍ਰਿੰਗ 2020 ਸੈਮੇਸਟਰ ਦੌਰਾਨ ਕੋਲੋਰਾਡੋ ਸਕੂਲ ਆਫ ਮਾਈਨਜ਼ ਵਿੱਚ ਡਾ. ਝਾਂਗ ਦੀ ਹਿਊਮਨ ਸੈਂਟਰਡ ਰੋਬੋਟਿਕਸ (CSCI473) ਕਲਾਸ ਲਈ ਪ੍ਰੋਜੈਕਟ #3 ਸੀ। ਇਸਨੂੰ ਸਪੋਰਟ ਵੇਕਟਰ ਮਸ਼ੀਨਾਂ (SVM) ਦੀ ਵਰਤੋਂ ਰਾਹੀਂ ਰੋਬੋਟਿਕਸ ਵਿੱਚ ਮਸ਼ੀਨ ਲਰਨਿੰਗ ਦਾ ਪਰਚਿਆ ਦੇਣ ਲਈ ਡਿਜ਼ਾਈਨ ਕੀਤਾ ਗਿਆ ਸੀ। ਮੂਲ ਪ੍ਰੋਜੈਕਟ ਦੇ ਡਿਲਿਵਰੇਬਲਜ਼/ਵਰਣਨ ਨੂੰ ਇੱਥੇ ਵੇਖਿਆ ਜਾ ਸਕਦਾ ਹੈ।

skr

ਇਸ ਪ੍ਰੋਜੈਕਟ ਲਈ MSR ਡੇਲੀ ਐਕਟਿਵਿਟੀ 3D ਡਾਟਾਸੈੱਟ (ਚਿੱਤਰ 2), ਕੁਝ ਸੋਧਾਂ ਦੇ ਨਾਲ, ਵਰਤਿਆ ਗਿਆ ਸੀ। ਇਸ ਡਾਟਾਸੈੱਟ ਵਿੱਚ Xbox Kinetic ਸੈਂਸਰ ਤੋਂ ਇਕੱਠੀਆਂ ਕੀਤੀਆਂ ਅਤੇ ਕੰਗਾਲੀਆਂ ਵਜੋਂ ਸੰਭਾਲੀਆਂ ਗਈਆਂ 16 ਮਨੁੱਖੀ ਕਿਰਿਆਵਾਂ ਸ਼ਾਮਲ ਹਨ। ਕੰਗਾਲੇ ਇੱਕ ਮਨੁੱਖ ਦੇ 20 ਜੋੜਾਂ ਦੇ ਅਸਲ ਦੁਨੀਆ ਵਾਲੇ (x, y, z) ਕੋਆਰਡੀਨੇਟਾਂ ਦੀ ਇੱਕ ਐਰੇ ਹਨ, ਜੋ ਇੱਕ ਫਰੇਮ ਵਿੱਚ ਦਰਜ ਕੀਤੇ ਜਾਂਦੇ ਹਨ। ਇੱਥੇ ਇੱਕ ਚਿੱਤਰ ਹੈ ਜੋ ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ ਕੰਗਾਲਾ ਕੀ ਹੁੰਦਾ ਹੈ:

skr

ਮਨੁੱਖੀ ਕਿਰਿਆ ਦੀ ਭਵਿੱਖਬਾਣੀ ਹਾਸਲ ਕਰਨ ਲਈ, ਕੱਚੇ ਡੇਟੇ ਨੂੰ ਅਜਿਹੀ ਸ਼ਕਲ ਵਿੱਚ ਦਰਸਾਇਆ ਜਾਣਾ ਚਾਹੀਦਾ ਸੀ ਜੋ SVM ਦੁਆਰਾ ਪ੍ਰਕਿਰਿਆ ਕੀਤੀ ਜਾ ਸਕੇ। ਇਸ ਪ੍ਰੋਜੈਕਟ ਲਈ, ਹੇਠ ਲਿਖੀਆਂ ਨੁਮਾਇੰਦਗੀਆਂ ਵਰਤੀਆਂ ਗਈਆਂ:

  • ਰਿਲੇਟਿਵ ਐਂਗਲਜ਼ ਐਂਡ ਡਿਸਟੈਂਸਜ਼ (RAD) ਨੁਮਾਇੰਦਗੀ
  • ਹਿਸਟੋਗ੍ਰਾਮ ਆਫ ਜੌਇੰਟ ਪੋਜ਼ੀਸ਼ਨ ਡਿਫਰੈਂਸਜ਼ (HJPD) ਨੁਮਾਇੰਦਗੀ

ਵਰਗੀਕਰਨ ਲਈ, ਨੁਮਾਇੰਦਗੀ(ਆਂ) ਨੂੰ LIBSVM ਦੁਆਰਾ ਸੰਚਾਲਿਤ ਇੱਕ SVM ਵਿੱਚ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਜੋ ਇੱਕ ਮਾਡਲ ਬਣਾਇਆ ਜਾ ਸਕੇ ਜੋ ਮਨੁੱਖੀ ਕਿਰਿਆਵਾਂ ਦੀ ਭਵਿੱਖਬਾਣੀ ਕਰ ਸਕੇ। ਦੋ ਮਾਡਲ ਬਣਾਏ ਜਾਣਗੇ, ਇੱਕ RAD ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਤੇ ਦੂਜਾ HJPD ਦੀ ਵਰਤੋਂ ਕਰਕੇ। ਮਕਸਦ ਇਹ ਹੈ ਕਿ ਇਹ ਮਾਡਲ ਜਿੰਨੇ ਹੋ ਸਕੇ ਉਤਨੇ ਸਹੀ ਬਣਾਏ ਜਾਣ ਅਤੇ ਦੇਖਿਆ ਜਾਵੇ ਕਿ ਕਿਹੜੀ ਨੁਮਾਇੰਦਗੀ ਸਭ ਤੋਂ ਵਧੀਆ ਪ੍ਰਦਰਸ਼ਨ ਕਰਦੀ ਹੈ।

ਇਹ ਜਾਣਦੇ ਹੋਏ, ਇੱਥੇ ਇਸ ਗੱਲ ਦਾ ਇੱਕ ਸਰਵੇਖਣ ਹੈ ਕਿ ਕੋਡ ਕੀ ਕਰਦਾ ਹੈ:

  1. ਸੋਧੇ ਹੋਏ ਡਾਟਾਸੈੱਟ ਤੋਂ ਕੱਚਾ ਡੇਟਾ ਲੋਡ ਕਰੋ
  2. ਲੋਡ ਕੀਤੇ ਡਾਟਾਸੈੱਟ ਤੋਂ ਕੋਈ ਵੀ ਆਉਟਲਾਇਰ ਅਤੇ/ਜਾਂ ਗਲਤੀ ਵਾਲਾ ਡੇਟਾ ਹਟਾਓ
  3. ਅੰਤਿਮ ਕੱਚੇ ਡੇਟੇ ਨੂੰ RAD ਅਤੇ HJPD ਨੁਮਾਇੰਦਗੀਆਂ ਵਿੱਚ ਬਦਲੋ
  4. ਨੁਮਾਇੰਦਗੀਆਂ ਨੂੰ ਟਿਊਨ ਕੀਤੇ ਹੋਏ SVM(ਜ਼) ਵਿੱਚ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਜੋ ਦੋ ਮਾਡਲ ਤਿਆਰ ਕੀਤੇ ਜਾ ਸਕਣ
  5. ਫਿਰ ਦੋਹਾਂ ਮਾਡਲਾਂ ਨੂੰ ਟੈਸਟ ਕੱਚਾ ਡੇਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਮਾਡਲ(ਜ਼) ਨੇ ਕਿਵੇਂ ਪ੍ਰਦਰਸ਼ਨ ਕੀਤਾ, ਇਹ ਮਾਪਣ ਲਈ ਇੱਕ ਕਨਫਿਊਜ਼ਨ ਮੈਟ੍ਰਿਕਸ ਤਿਆਰ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।

ਨਤੀਜੇ

ਕੋਡ ਚਲਾਉਣ ਅਤੇ ਮਾਡਲਾਂ ਨੂੰ ਆਪਣੀ ਸਭ ਤੋਂ ਵਧੀਆ ਸਮਰੱਥਾ ਅਨੁਸਾਰ ਟਿਊਨ ਕਰਨ ਤੋਂ ਬਾਅਦ, RAD ਅਤੇ HJPD ਦੋਹਾਂ ਮਾਡਲਾਂ ਲਈ ਅੰਤਿਮ ਕਨਫਿਊਜ਼ਨ ਮੈਟ੍ਰਿਕਸ ਹੇਠਾਂ ਦਿੱਤੇ ਗਏ ਹਨ:

Representation: RAD
Accuracy: 62.5%
LIBSVM Classification   8.0   10.0  12.0  13.0  15.0  16.0
Actual Activity Number
8.0                        8     0     0     0     0     0
10.0                       1     5     0     0     1     1
12.0                       0     1     1     0     3     3
13.0                       0     0     0     6     1     1
15.0                       0     0     0     1     5     2
16.0                       0     0     0     0     3     5
Representation: HJPD
Accuracy: 70.83%
LIBSVM Classification   8.0   10.0  12.0  13.0  15.0  16.0
Actual Activity Number
8.0                        7     1     0     0     0     0
10.0                       1     5     0     0     0     2
12.0                       0     0     7     0     1     0
13.0                       2     0     1     5     0     0
15.0                       0     0     0     0     7     1
16.0                       0     2     0     0     3     3

ਨਿਸ਼ਕਰਸ਼

ਕਿਉਂਕਿ ਦੋਹਾਂ ਸ਼ੁੱਧਤਾਵਾਂ 50% ਤੋਂ ਵੱਧ ਹਨ, ਇਹ ਪ੍ਰੋਜੈਕਟ ਇੱਕ ਸਫਲਤਾ ਸੀ। ਨਾਲ ਹੀ, HJPD ਨੁਮਾਇੰਦਗੀ ਇਸ ਵਰਗੀਕਰਨ ਲਈ ਵਰਤਣ ਯੋਗ ਹੋਰ ਜ਼ਿਆਦਾ ਸਹੀ ਨੁਮਾਇੰਦਗੀ ਲੱਗਦੀ ਹੈ। ਇਸ ਨਾਲ, ਇੱਕ ਮਾਡਲ(ਜ਼) ਹੈ ਜੋ ਕੰਗਾਲੀ ਡੇਟੇ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਮਨੁੱਖੀ ਕਿਰਿਆਵਾਂ ਦੀ ਭਵਿੱਖਬਾਣੀ ਕਰਦਾ ਹੈ। ਇੱਥੇ ਮਾਡਲ(ਜ਼) ਪੂਰਨਤਾ ਤੋਂ ਕਾਫ਼ੀ ਦੂਰ ਹਨ, ਪਰ ਇਹ ਰੈਂਡਮ ਨਾਲੋਂ ਬਿਹਤਰ ਹੈ। ਇਹੀ ਪ੍ਰੋਜੈਕਟ ਬਾਅਦ ਵਿੱਚ Moving Pose ਪ੍ਰੋਜੈਕਟ ਦੇ ਜਨਮ ਦਾ ਕਾਰਨ ਬਣਿਆ।

ਵਾਧੂ ਨੋਟਸ: