در این مطلب، ویدئو تخمین وضعیت چند نفره تنسورفلو با پایتون // آموزش یادگیری ماشین با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:55:48
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:01,199 –> 00:00:03,120
پس ببین من قبلا
2
00:00:03,120 –> 00:00:06,640
بصورت رقابتی شنا میکردم و کاملاً از آن متنفر بودم
3
00:00:06,640 –> 00:00:08,720
، یادم می آید که در پایان
4
00:00:08,720 –> 00:00:11,440
هر دور، میله مربی من به من می گفت
5
00:00:11,440 –> 00:00:14,160
نیک شانه هایت را بچرخان،
6
00:00:14,160 –> 00:00:17,119
نیک به بالا نگاه نکن، بازوهایت را در
7
00:00:17,119 –> 00:00:19,199
ذهن من صاف کن. بازوی
8
00:00:19,199 –> 00:00:22,080
من راست میخواهید چقدر صافتر
9
00:00:22,080 –> 00:00:24,320
باشد اگر من فناوری را داشتم که
10
00:00:24,320 –> 00:00:25,920
در این ویدیو میخواهیم به آن نگاهی بیندازیم،
11
00:00:25,920 –> 00:00:27,439
این زندگی من را احتمالاً
12
00:00:27,439 –> 00:00:29,039
حدود یک میلیارد بار آسانتر میکرد و من
13
00:00:29,039 –> 00:00:30,240
احتمالاً این کار را میکردم. در واقع در
14
00:00:30,240 –> 00:00:33,040
حین شنا
15
00:00:33,040 –> 00:00:34,559
به آن توجه کرده ایم، بنابراین
16
00:00:34,559 –> 00:00:36,239
در این ویدیو به
17
00:00:36,239 –> 00:00:37,760
چه چیزی می پردازیم، به تکنیکی به نام
18
00:00:37,760 –> 00:00:40,559
تخمین ژست چند نفره نگاهی می اندازیم، این
19
00:00:40,559 –> 00:00:42,399
تکنیکی است که به شما امکان می دهد
20
00:00:42,399 –> 00:00:44,000
نقاط کلیدی اطراف بدن شما را
21
00:00:44,000 –> 00:00:46,640
شناسایی کنید تا بتواند مچ دست من را آرنج و
22
00:00:46,640 –> 00:00:48,719
شانه من را تشخیص دهد تا بتواند به میله بگوید که
23
00:00:48,719 –> 00:00:50,719
24
00:00:50,719 –> 00:00:52,480
در این مورد خاص، یک
25
00:00:52,480 –> 00:00:54,160
سری موارد استفاده مختلف در اطراف این مورد وجود دارد،
26
00:00:54,160 –> 00:00:56,320
اما یکی از آنهایی که اصلی است
27
00:00:56,320 –> 00:00:58,320
matics که تجزیه و تحلیل
28
00:00:58,320 –> 00:01:00,079
بدن و تمام زوایای مختلف و
29
00:01:00,079 –> 00:01:03,120
مفاصل درون یک بدن است، بنابراین دقیقاً همان
30
00:01:03,120 –> 00:01:06,400
چیزی است که ما قصد داریم به اتفاقاتی که در حال رخ دادن است نگاهی بیندازیم
31
00:01:08,320 –> 00:01:09,520
بچهها نام من
32
00:01:09,520 –> 00:01:10,960
نیکلاس رنو است و در این ویدیو قصد داریم به آن بپردازیم.
33
00:01:10,960 –> 00:01:13,040
نگاهی به
34
00:01:13,040 –> 00:01:15,280
مدل جدید
35
00:01:15,280 –> 00:01:17,920
تخمین سیستم عامل چند نفره گوگل که بر روی مدل مووننت لایتنینگ ساخته شده است
36
00:01:17,920 –> 00:01:19,920
بیندازید، اکنون
37
00:01:19,920 –> 00:01:21,280
نکته جالب در مورد این مدل این است که
38
00:01:21,280 –> 00:01:23,759
سریع است و به طور خاص
39
00:01:23,759 –> 00:01:25,600
برای برنامه های ورزشی و مبتنی بر ورزش
40
00:01:25,600 –> 00:01:27,840
طراحی شده است و به طور ایده آل
41
00:01:27,840 –> 00:01:30,240
برای این کار طراحی شده است. تقریباً سه تا شش فوت
42
00:01:30,240 –> 00:01:31,600
دورتر از دوربین شماست، بنابراین اگر به
43
00:01:31,600 –> 00:01:32,880
انجام کارهایی فکر میکنید
44
00:01:32,880 –> 00:01:34,960
که در فاصله بسیار دور هستند، این ممکن
45
00:01:34,960 –> 00:01:37,119
است لزوماً مدلی برای شما
46
00:01:37,119 –> 00:01:39,040
نباشد که گفته میشود یکسری
47
00:01:39,040 –> 00:01:40,320
برنامههای مختلف وجود دارد که میتواند این کار
48
00:01:40,320 –> 00:01:42,240
را انجام دهد. وارد بازی شوید، مثلاً میخواهید
49
00:01:42,240 –> 00:01:44,560
شنای خود را تجزیه و تحلیل کنید
50
00:01:44,560 –> 00:01:46,560
یا تیمی از گلف بازان
51
00:01:46,560 –> 00:01:48,640
داشتید که روی یک سه راهی خاص بازی
52
00:01:48,640 –> 00:01:51,040
میکردند و میتوانید تمام ضربات آنها را به صورت واقعی تجزیه و تحلیل کنید.
53
00:01:51,040 –> 00:01:53,280
به دلیل اینکه یک مدل چند نفره
54
00:01:53,280 –> 00:01:55,439
است، شما یک کلاس درس پر از افرادی
55
00:01:55,439 –> 00:01:57,520
56
00:01:57,520 –> 00:01:59,040
داشتید که دوباره یوگا انجام می دادند، این احتمالاً مدلی است که اکنون می خواهید به آن نگاهی بیندازید
57
00:01:59,040 –> 00:02:01,119
، در حالی که یک
58
00:02:01,119 –> 00:02:03,040
مقاله اختصاصی برای این مدل وجود ندارد، کارت مدل از
59
00:02:03,040 –> 00:02:04,719
tensorflow هاب به ما می گوید که
60
00:02:04,719 –> 00:02:07,600
از سه مدل معروف تشکیل
61
00:02:07,600 –> 00:02:10,239
شده است که شبکه ستون فقرات با استفاده از یک مدل شبکه تلفن همراه
62
00:02:10,239 –> 00:02:12,879
v2
63
00:02:12,879 –> 00:02:15,120
ساخته شده است، لایه استخراج ویژگی از یک شبکه هرمی ویژگی تشکیل شده
64
00:02:15,120 –> 00:02:17,120
است و آخرین اما نه کم اهمیت، لایه ای
65
00:02:17,120 –> 00:02:19,280
که نقاط کلیدی را به نام سرهای پیش بینی خروجی می دهد
66
00:02:19,280 –> 00:02:21,520
از یک شبکه تشکیل شده است.
67
00:02:21,520 –> 00:02:23,599
مدل centernet اکنون به همه
68
00:02:23,599 –> 00:02:25,680
این مقالات در توضیحات زیر پیوند خواهم
69
00:02:25,680 –> 00:02:27,280
داد، بیایید نگاهی بیندازیم که چه چیزی را پشت سر خواهیم گذاشت،
70
00:02:27,280 –> 00:02:29,040
بنابراین در این ویدیو ما
71
00:02:29,040 –> 00:02:30,640
قصد داریم با رفتن و
72
00:02:30,640 –> 00:02:32,560
نصب مدل چند نفره movenet شروع
73
00:02:32,560 –> 00:02:34,080
کنیم. اکنون به طور خاص برای
74
00:02:34,080 –> 00:02:35,280
انجام این کار به
75
00:02:35,280 –> 00:02:37,440
هاب جریان شدید تنسورفلو نیاز داریم و طبق معمول
76
00:02:37,440 –> 00:02:39,440
همه این کارها را گام به گام انجام
77
00:02:39,440 –> 00:02:41,040
می دهیم تا بتوانید ببینید که چگونه از طریق آن عبور کنید و آن را انجام دهید و
78
00:02:41,040 –> 00:02:41,680
79
00:02:41,680 –> 00:02:42,800
سپس کاری که می خواهیم انجام دهیم. انجام دهید
80
00:02:42,800 –> 00:02:45,200
ما میخواهیم با استفاده از یک ویدیو
81
00:02:45,200 –> 00:02:46,959
و همچنین وبکم خود را شناسایی کنیم، بنابراین
82
00:02:46,959 –> 00:02:48,640
از برخی ویدیوهای از قبل موجود استفاده میکنیم، بنابراین میتوانید
83
00:02:48,640 –> 00:02:50,560
ببینید که چگونه این کار با چند
84
00:02:50,560 –> 00:02:52,080
نفر در قاب انجام میشود و سپس کاری که
85
00:02:52,080 –> 00:02:53,599
میخواهیم انجام دهیم این است که ما
86
00:02:53,599 –> 00:02:55,040
برخی از کدهایی را که در
87
00:02:55,040 –> 00:02:56,879
آموزش قبلی حرکت نت نوشتیم استفاده می کنیم تا بتوانیم
88
00:02:56,879 –> 00:02:58,879
نقاط کلیدی و لبه ها را ترسیم کنیم، اما
89
00:02:58,879 –> 00:03:00,560
دوباره طبق معمول همه کدها
90
00:03:00,560 –> 00:03:02,560
در توضیحات زیر در دسترس خواهند بود،
91
00:03:02,560 –> 00:03:03,920
اجازه دهید نگاهی عمیق تر داشته باشیم. برای اینکه
92
00:03:03,920 –> 00:03:05,680
همه چیز چگونه کار می کند، بنابراین همانطور
93
00:03:05,680 –> 00:03:06,879
که گفتم اولین کاری که می
94
00:03:06,879 –> 00:03:08,480
خواهیم انجام دهیم این است که تنسورفلو و هاب تنسورفلو را نصب می کنیم،
95
00:03:08,480 –> 00:03:10,239
بنابراین هاب
96
00:03:10,239 –> 00:03:13,040
تنسورفلو به ما اجازه می دهد مدل موجود را از قبل دانلود کنیم.
97
00:03:13,040 –> 00:03:14,560
نیازی نیست بروید
98
00:03:14,560 –> 00:03:16,319
و به طور جداگانه چیزها را دانلود کنید، فقط
99
00:03:16,319 –> 00:03:19,120
همه چیز کار می کند، سپس ما
100
00:03:19,120 –> 00:03:21,040
مدل موونت رعد و برق چند نفره
101
00:03:21,040 –> 00:03:22,640
خود را در نوت بوک jupyter خود بارگذاری می کنیم تا بتوانیم
102
00:03:22,640 –> 00:03:24,720
در واقع از آن استفاده کنیم و سپس می
103
00:03:24,720 –> 00:03:26,799
خواهیم بسازیم برخی از تشخیص ها با استفاده از وب کم
104
00:03:26,799 –> 00:03:28,319
ما و همچنین از یک ویدیوی موجود استفاده خواهیم کرد o
105
00:03:28,319 –> 00:03:29,519
من چند ویدیو دارم که
106
00:03:29,519 –> 00:03:31,120
واقعاً میتوانند آن را آزمایش کنند، اما
107
00:03:31,120 –> 00:03:32,480
اگر میخواهید از ویدیوی خود استفاده کنید، میتوانید
108
00:03:32,480 –> 00:03:35,040
آن را به راحتی انجام
109
00:03:35,040 –> 00:03:37,280
دهید و آماده انجام آن هستید، اجازه دهید به آن برسیم، بچهها، پس
110
00:03:37,280 –> 00:03:40,720
بیایید این کار را شروع کنیم. در این
111
00:03:40,720 –> 00:03:42,720
آموزش تقریباً
112
00:03:42,720 –> 00:03:44,480
پنج کاری وجود دارد که ما باید انجام دهیم
113
00:03:44,480 –> 00:03:47,120
تا بتوانیم این مورد را بالا
114
00:03:47,120 –> 00:03:48,560
ببریم، بنابراین ابتدا آنچه باید
115
00:03:48,560 –> 00:03:50,159
انجام دهیم این است که وابستگیهایمان را نصب و وارد کنیم
116
00:03:50,159 –> 00:03:52,000
تا وابستگیهای کلیدی ما
117
00:03:52,000 –> 00:03:53,840
فکر کنم قرار است tensorflow
118
00:03:53,840 –> 00:03:56,959
tensorflow hub و opencv باشد و من
119
00:03:56,959 –> 00:03:59,200
توضیح خواهم داد که چه زمانی و کجا
120
00:03:59,200 –> 00:04:01,840
از آنها استفاده می کنیم که به آنها می رسیم، سپس
121
00:04:01,840 –> 00:04:03,519
مدل خود را بارگذاری می کنیم اکنون
122
00:04:03,519 –> 00:04:04,959
نکته جالب در مورد بارگذاری این مدل این است که
123
00:04:04,959 –> 00:04:07,439
که ما میتوانیم از هاب تنسورفلو استفاده کنیم، بنابراین
124
00:04:07,439 –> 00:04:09,840
هاب تنسورفلو مکانی است که در آن
125
00:04:09,840 –> 00:04:11,840
مجموعه کاملی از مخازن موجود وجود دارد
126
00:04:11,840 –> 00:04:13,439
که میتوانید ادامه دهید و از آنها استفاده کنید،
127
00:04:13,439 –> 00:04:15,120
بنابراین اگر
128
00:04:15,120 –> 00:04:16,639
یادگیری ماشین خاصی دارید یا
129
00:04:16,639 –> 00:04:18,959
مشکلات یادگیری عمیقی دارید که میخواهید، واقعاً عالی است. برای حل
130
00:04:18,959 –> 00:04:21,040
و شما می خواهید به اهرم یک مدل از قبل موجود
131
00:04:21,040 –> 00:04:22,240
، واقعاً عالی است، یک
132
00:04:22,240 –> 00:04:24,880
سری چیزهای کامل در اینجا موجود است،
133
00:04:24,880 –> 00:04:26,320
سپس ما میخواهیم تشخیصها
134
00:04:26,320 –> 00:04:28,080
را انجام دهیم و تشخیصها را دو طرفه انجام
135
00:04:28,080 –> 00:04:29,840
میدهیم، بنابراین میخواهیم در اینجا به شفدا مسلط شویم،
136
00:04:29,840 –> 00:04:30,800
137
00:04:30,800 –> 00:04:32,560
بنابراین ما با استفاده از یک وبکم، برخی از تشخیصها را انجام دهید،
138
00:04:32,560 –> 00:04:34,800
بنابراین وبکمی که در حال حاضر
139
00:04:34,800 –> 00:04:36,080
140
00:04:36,080 –> 00:04:38,320
به آن نگاه میکنم، درست در کنار آن قرار دارم و
141
00:04:38,320 –> 00:04:40,320
همچنین میخواهیم این کار را با استفاده از یک ویدیوی از قبل موجود
142
00:04:40,320 –> 00:04:42,080
انجام دهیم، مثلاً بگویید «شما» گرفتی و
143
00:04:42,080 –> 00:04:43,600
رفتی و خودت را
144
00:04:43,600 –> 00:04:45,280
با آیفون ضبط کردی و میخواستی
145
00:04:45,280 –> 00:04:47,040
هرچیزی را بسازی یا تلفنت را به طور کلی و
146
00:04:47,040 –> 00:04:49,440
میخواستی بروی و این ردیابی چند پستی را
147
00:04:49,440 –> 00:04:51,600
با استفاده از آن ویدیو
148
00:04:51,600 –> 00:04:53,680
انجام بدهی، در واقع میتوانی این کار را نسبتاً راحت انجام دهی.
149
00:04:53,680 –> 00:04:55,680
کدی را که باید
150
00:04:55,680 –> 00:04:57,120
تغییر دهید حتی یک خط هم
151
00:04:57,120 –> 00:04:58,720
یک مقدار نیست،
152
00:04:58,720 –> 00:05:00,800
سپس ما نیز نقاط کلیدی خود را ترسیم می
153
00:05:00,800 –> 00:05:02,320
کنیم و لبه های خود را ترسیم می کنیم، بنابراین این
154
00:05:02,320 –> 00:05:04,720
دو مورد هستند، حدس می زنم دو چیز کلیدی هستند که
155
00:05:04,720 –> 00:05:05,919
شما واقعاً می خواهید زمانی که می خواهید ببینید.
156
00:05:05,919 –> 00:05:08,160
در واقع در حال ساختن این هستیم، بنابراین
157
00:05:08,160 –> 00:05:09,280
کاری که می خواهیم برای آنها انجام دهیم این است
158
00:05:09,280 –> 00:05:10,639
ما فقط میخواهیم از
159
00:05:10,639 –> 00:05:13,039
متدولوژیهای ترسیم uh موجود
160
00:05:13,039 –> 00:05:15,360
استفاده کنیم که در آموزش قبلی movenet استفاده کردهایم
161
00:05:15,360 –> 00:05:17,039
و من به آن در بالای صفحه پیوند میدهم
162
00:05:17,039 –> 00:05:18,800
تا بتوانید این کار را انجام دهید و خیلی خوب است.
163
00:05:18,800 –> 00:05:20,400
164
00:05:20,400 –> 00:05:21,919
برخی چیزها،
165
00:05:21,919 –> 00:05:23,120
بنابراین ابتدا کاری که
166
00:05:23,120 –> 00:05:24,479
میخواهیم انجام دهیم این است که
167
00:05:24,479 –> 00:05:27,759
وابستگیهای کلیدی خود را نصب میکنیم
168
00:05:33,199 –> 00:05:35,600
، این وابستگیهای ما
169
00:05:35,600 –> 00:05:37,520
نصب شدهاند، بنابراین من رفتم و یک
170
00:05:37,520 –> 00:05:39,600
خط کد را در آنجا نوشتم و به طور خاص آنچه را
171
00:05:39,600 –> 00:05:41,280
که رفتیم و نوشتیم علامت تعجب است.
172
00:05:41,280 –> 00:05:44,560
pip install tensorflow برابر است
173
00:05:44,560 –> 00:05:48,479
با 2.4.1 tensorflow dash gpu برابر است
174
00:05:48,479 –> 00:05:53,280
با 2.4.1 tensorflow hub opencv
175
00:05:53,280 –> 00:05:55,280
python و matplotlib حالا بیایید توضیح
176
00:05:55,280 –> 00:05:56,639
دهیم که هر کدام از اینها برای چه چیزی
177
00:05:56,639 –> 00:05:58,319
استفاده می شود، بنابراین
178
00:05:58,319 –> 00:05:59,919
این دو خط در اینجا
179
00:05:59,919 –> 00:06:01,520
tensorflow را نصب می کنند و ما به طور خاص در حال
180
00:06:01,520 –> 00:06:03,919
نصب هستیم. tensorflow با یک gpu در این
181
00:06:03,919 –> 00:06:05,840
مورد خاص و ما اکنون نسخه 2.4.1 را نصب می کنیم
182
00:06:05,840 –> 00:06:06,759
183
00:06:06,759 –> 00:06:08,319
184
00:06:08,319 –> 00:06:09,199
185
00:06:09,199 –> 00:06:10,720
اگر می خواهید از gpu خود در
186
00:06:10,720 –> 00:06:12,000
این مورد خاص استفاده کنید، می خواهید
187
00:06:12,000 –> 00:06:13,919
مطمئن شوید که مطابقت دارد. نسخه ing cuda،
188
00:06:13,919 –> 00:06:15,840
بنابراین اگر نمی دانید چگونه این کار را انجام
189
00:06:15,840 –> 00:06:17,919
دهید، به آموزش پیوند می دهم که در
190
00:06:17,919 –> 00:06:19,759
آن نحوه انجام این کار را در زیر نشان می دهم،
191
00:06:19,759 –> 00:06:21,199
اما در این مورد خاص، من قبلا
192
00:06:21,199 –> 00:06:22,639
cuda را نصب کرده ام، بنابراین این به
193
00:06:22,639 –> 00:06:25,680
ما اجازه می دهد تا از اهرم استفاده کنیم. شتاب gpu
194
00:06:25,680 –> 00:06:27,520
سپس ما رفتهایم و هاب تنسورفلو را نصب کردهایم،
195
00:06:27,520 –> 00:06:29,520
بنابراین هاب تنسورفلو چیزی خواهد بود
196
00:06:29,520 –> 00:06:32,560
که به ما اجازه میدهد مدل مووننت خود را بارگیری کنیم،
197
00:06:32,560 –> 00:06:34,080
اکنون مدلی
198
00:06:34,080 –> 00:06:36,479
که به طور خاص استفاده میکنیم، اگر ادامه دهیم
199
00:06:36,479 –> 00:06:39,039
و در نوار جستجو بزرگنمایی کنیم.
200
00:06:39,039 –> 00:06:43,360
حرکت نت است، من معتقدم که چند نفره است،
201
00:06:43,360 –> 00:06:47,280
بیایید ببینیم آیا این نتیجه به ما می دهد یا خیر،
202
00:06:47,600 –> 00:06:50,400
oh move net
203
00:06:50,400 –> 00:06:52,080
چند حالته است، بنابراین شما می توانید ببینید که در آنجا وجود دارد، بنابراین
204
00:06:52,080 –> 00:06:53,520
من فقط حرکت نت را تایپ کرده ام و سپس می
205
00:06:53,520 –> 00:06:55,039
توانید حرکت نت را به صورت اسلش به جلو ببینید.
206
00:06:55,039 –> 00:06:57,199
رعد و برق بریده بریده چند حالته رو به جلو، بنابراین
207
00:06:57,199 –> 00:06:58,720
این مدلی خواهد بود که ما
208
00:06:58,720 –> 00:07:00,479
میخواهیم از آن استفاده
209
00:07:00,479 –> 00:07:02,240
210
00:07:02,240 –> 00:07:04,479
211
00:07:04,479 –> 00:07:06,639
212
00:07:06,639 –> 00:07:08,960
کنیم. اما چیزی که وجود دارد
213
00:07:08,960 –> 00:07:11,039
این کارت مدل است،
214
00:07:11,039 –> 00:07:12,240
بنابراین اگر می خواهید ببینید که این
215
00:07:12,240 –> 00:07:13,680
مدل خاص چگونه ساخته شده است، می توانید
216
00:07:13,680 –> 00:07:15,440
آن کارت مدل را باز کنید و
217
00:07:15,440 –> 00:07:16,639
218
00:07:16,639 –> 00:07:18,960
اکنون در مقدمه، اطلاعات زیادی در مورد این مدل
219
00:07:18,960 –> 00:07:20,880
220
00:07:20,880 –> 00:07:22,560
به شما می دهد که کمی در مورد معماری ذکر کردم، بنابراین می توانید در
221
00:07:22,560 –> 00:07:25,360
اینجا ببینید که این مدل خاص از یک
222
00:07:25,360 –> 00:07:28,000
مدل mobilenet v2 به عنوان ستون فقرات
223
00:07:28,000 –> 00:07:29,840
استفاده می کند و از یک شبکه هرمی ویژگی برای
224
00:07:29,840 –> 00:07:31,919
استخراج لایه های مختلف استفاده می کند و از
225
00:07:31,919 –> 00:07:34,639
یک شبکه مرکزی برای ترکیب یا پیش بینی به عنوان
226
00:07:34,639 –> 00:07:37,599
سر پیش بینی استفاده می کند، بنابراین مدل mobilenet v2
227
00:07:37,599 –> 00:07:39,840
یک مدل طبقه بندی مبتنی بر تصویر موجود
228
00:07:39,840 –> 00:07:42,319
است. یا
229
00:07:42,319 –> 00:07:44,080
معمولاً برای طبقه بندی تصویر
230
00:07:44,080 –> 00:07:45,759
و ویژگی تشخیص اشیا استفاده می شود
231
00:07:45,759 –> 00:07:48,160
شبکه هرمی همه چیز در مورد استخراج
232
00:07:48,160 –> 00:07:50,160
ویژگی های مختلف در لایه های
233
00:07:50,160 –> 00:07:52,240
مختلف یا مقیاس های مختلف تصاویر است و
234
00:07:52,240 –> 00:07:53,840
مدل نگهبان ما در واقع همان چیزی است که
235
00:07:53,840 –> 00:07:55,120
نکات کلیدی را به ما می دهد بنابراین خواهید دید که
236
00:07:55,120 –> 00:07:56,960
کمی بعد در حال حاضر چه شما در
237
00:07:56,960 –> 00:07:59,680
واقع از این مدل خارج خواهید شد
238
00:07:59,680 –> 00:08:02,080
، زیرا در واقع حداکثر شش
239
00:08:02,080 –> 00:08:03,680
نفر دارد که می تواند تشخیص دهد، بنابراین شما می توانید آن
240
00:08:03,680 –> 00:08:05,360
را
241
00:08:05,360 –> 00:08:07,360
در آنجا ببینید. می توانید ببینید که می گوید شش
242
00:08:07,360 –> 00:08:09,680
نفر در قاب تصویر به طور همزمان
243
00:08:09,680 –> 00:08:11,520
و شما در واقع 17 امتیاز کلیدی به
244
00:08:11,520 –> 00:08:13,680
ازای هر نفر دریافت خواهید کرد، بنابراین در واقع
245
00:08:13,680 –> 00:08:14,720
به
246
00:08:14,720 –> 00:08:16,560
این می رسد که لیست در واقع اینجا است، بنابراین می
247
00:08:16,560 –> 00:08:18,080
توانید ببینید که بینی
248
00:08:18,080 –> 00:08:19,919
چشم چپ چشم چپ چپ را استخراج می کند. گوش راست
249
00:08:19,919 –> 00:08:21,520
شانه چپ شانه راست آرنج راست
250
00:08:21,520 –> 00:08:22,879
آرنج
251
00:08:22,879 –> 00:08:24,560
راست مچ چپ مچ دست راست مچ چپ باسن چپ باسن راست
252
00:08:24,560 –> 00:08:26,479
زانوی چپ زانوی راست زانوی چپ مچ پای
253
00:08:26,479 –> 00:08:29,199
راست، بنابراین همه اینها
254
00:08:29,199 –> 00:08:30,720
نکات کلیدی هستند که اکنون
255
00:08:30,720 –> 00:08:32,799
میتوانید با استفاده از این مدل خاص آنها را استخراج کنید.
256
00:08:32,799 –> 00:08:34,559
این دارای چند ویژگی
257
00:08:34,559 –> 00:08:37,279
اضافی است، بنابراین اگر به سمت پایین بروید، در
258
00:08:37,279 –> 00:08:39,679
واقع یک کادر مرزی را به اطراف ترسیم می کند
259
00:08:39,679 –> 00:08:41,120
یا در واقع
260
00:08:41,120 –> 00:08:43,599
مختصات یک جعبه مرزی را به شما می دهد، بنابراین
261
00:08:43,599 –> 00:08:45,360
پنج مقدار آخر در آرایه نتایج
262
00:08:45,360 –> 00:08:47,040
را به شما نشان خواهم داد.
263
00:08:47,040 –> 00:08:49,279
خوب y حداقل x حداقل
264
00:08:49,279 –> 00:08:51,200
y max x max خواهد بود، بنابراین اگر آموزشهای تشخیص شیء من را دیدهاید،
265
00:08:51,200 –> 00:08:53,920
این مقادیر به
266
00:08:53,920 –> 00:08:55,519
ما اجازه میدهند که برویم و یک جعبه مرزی به دور
267
00:08:55,519 –> 00:08:57,680
خود بکشیم اگر میخواهیم um و شما میتوانید
268
00:08:57,680 –> 00:08:59,040
ببینید که اساساً میگوید t در اینجا
269
00:08:59,040 –> 00:09:01,040
آنها منطقه جعبه مرزی را
270
00:09:01,040 –> 00:09:02,880
در مختصات عادی نشان می دهند، بنابراین
271
00:09:02,880 –> 00:09:04,880
وقتی معنی دارد یا وقتی می گوید مختصات نرمال شده به
272
00:09:04,880 –> 00:09:06,240
این معنی است که شما
273
00:09:06,240 –> 00:09:08,720
باید آن را به اندازه تصویر خود مقیاس کنید
274
00:09:08,720 –> 00:09:10,320
که ما به هر حال در کد خود به کار می بریم.
275
00:09:10,320 –> 00:09:11,839
276
00:09:11,839 –> 00:09:13,360
کمی در مورد مدل واقعی
277
00:09:13,360 –> 00:09:14,800
که قرار است استفاده کنیم و
278
00:09:14,800 –> 00:09:16,399
دوباره پیوندهایی به همه این
279
00:09:16,399 –> 00:09:18,320
موارد را در توضیحات زیر قرار خواهم داد تا
280
00:09:18,320 –> 00:09:20,640
بتوانید نگاهی
281
00:09:20,640 –> 00:09:22,080
بیندازید چه چیز دیگری را نصب کردیم تا
282
00:09:22,080 –> 00:09:24,560
opencv python را نصب کنیم.
283
00:09:24,560 –> 00:09:27,839
میخواهیم opencv را به ما بدهیم، بنابراین opencv یک
284
00:09:27,839 –> 00:09:29,920
کتابخانه بینایی کامپیوتری منبع باز است و
285
00:09:29,920 –> 00:09:31,680
کار
286
00:09:31,680 –> 00:09:33,440
با وبکمها و منابع مختلف مبتنی بر
287
00:09:33,440 –> 00:09:35,680
تصویر یا تصاویر متفاوت را بسیار آسان میکند و سپس
288
00:09:35,680 –> 00:09:37,200
ما matplotlib را نصب میکنیم، من
289
00:09:37,200 –> 00:09:39,120
همیشه این را بهعنوان پشتیبان نصب میکنم. بنابراین،
290
00:09:39,120 –> 00:09:40,880
اگر باید بروید و یک فریم را رندر
291
00:09:40,880 –> 00:09:42,800
کنید و ببینید آیا چیزها یا چگونه چیزها واقعاً با هم منطبق میشوند
292
00:09:42,800 –> 00:09:45,120
، بسیار مفید است،
293
00:09:45,120 –> 00:09:48,000
بنابراین این وابستگیهای ما
294
00:09:48,000 –> 00:09:50,160
اکنون نصب شدهاند، کاری که باید انجام دهیم این است که
295
00:09:50,160 –> 00:09:51,839
آنها را وارد کنیم، پس بیایید ادامه دهیم و این کار را درست انجام دهید
296
00:09:51,839 –> 00:09:54,839
297
00:10:07,920 –> 00:10:10,640
این وابستگیهای ما
298
00:10:10,640 –> 00:10:13,440
اکنون وارد شدهاند، بنابراین ما رفتهایم و
299
00:10:13,440 –> 00:10:15,760
پنج خط مختلف کد را در آنجا نوشتهایم،
300
00:10:15,760 –> 00:10:17,279
بنابراین ابتدا آنچه را که رفتهایم و انجام
301
00:10:17,279 –> 00:10:20,640
دادهایم این است که tensorflow را به صورت tf وارد کردهایم، بنابراین این
302
00:10:20,640 –> 00:10:22,800
به ما tensorflow میدهد.
303
00:10:22,800 –> 00:10:24,640
چارچوب یادگیری عمیق زیربنایی که
304
00:10:24,640 –> 00:10:26,480
ما باید بتوانیم مدل نقطه کلید خود را اجرا کنیم،
305
00:10:26,480 –> 00:10:28,720
سپس هاب تنسورفلو را وارد کرده
306
00:10:28,720 –> 00:10:30,399
ایم، بنابراین برای انجام آن،
307
00:10:30,399 –> 00:10:32,560
308
00:10:32,560 –> 00:10:34,880
هاب زیر خط تنسورفلو را به عنوان هاب وارد کرده ایم، بنابراین این بدان معناست که
309
00:10:34,880 –> 00:10:36,880
ما می خواهیم بتوانید از آن به
310
00:10:36,880 –> 00:10:39,519
عنوان هاب متغیر یاد کنید و به یاد داشته باشید که هاب
311
00:10:39,519 –> 00:10:42,399
به ما اجازه می دهد تا در
312
00:10:42,399 –> 00:10:44,399
مدل رعد و برق چند وجهی Movenet بارگذاری کنیم،
313
00:10:44,399 –> 00:10:46,880
سپس cv2 را وارد کردیم، بنابراین این
314
00:10:46,880 –> 00:10:49,920
فقط نام opencv است، بنابراین import cv2 به ما opencv می دهد
315
00:10:49,920 –> 00:10:51,839
و شما می توانید ببینید که کمی
316
00:10:51,839 –> 00:10:53,440
317
00:10:53,440 –> 00:10:55,440
بعد ما رفته ایم و matplotlib را وارد کرده ایم،
318
00:10:55,440 –> 00:11:00,000
بنابراین از matplotlib import pi plot به عنوان plt،
319
00:11:00,000 –> 00:11:01,600
بنابراین این بدان معناست که ما می توانیم به
320
00:11:01,600 –> 00:11:03,360
طرح pi به عنوان plt اشاره کنیم، بنابراین اگر می خواهید بروید
321
00:11:03,360 –> 00:11:05,120
و مطالب را رندر کنید، می توانید plot تایپ کنید.
322
00:11:05,120 –> 00:11:07,600
نقطه من نشان می
323
00:11:07,600 –> 00:11:09,040
دهم عملکرد واقعاً مفیدی دارد ion که به شما اجازه می دهد تا بروید و
324
00:11:09,040 –> 00:11:10,560
یک تصویر را رندر کنید
325
00:11:10,560 –> 00:11:12,800
و سپس numpy را وارد کردیم،
326
00:11:12,800 –> 00:11:15,920
بنابراین numpy را به عنوان np وارد کردیم، بنابراین numpy
327
00:11:15,920 –> 00:11:18,399
عمدتاً در مرحله سه و مرحله چهار استفاده می شود تا برویم
328
00:11:18,399 –> 00:11:20,079
و نقاط کلیدی خود را ترسیم کنیم و لبه های خود را ترسیم کنیم،
329
00:11:20,079 –> 00:11:22,160
اما زمانی که ما به آن بخش بروید،
330
00:11:22,160 –> 00:11:23,519
ما در واقع
331
00:11:23,519 –> 00:11:25,200
از کدی استفاده می کنیم که در مدل لایتنینگ فعلی movenet نوشته ایم،
332
00:11:25,200 –> 00:11:27,200
اما دوباره همه
333
00:11:27,200 –> 00:11:29,760
آن ها در توضیحات زیر در دسترس خواهند بود،
334
00:11:29,760 –> 00:11:31,760
بنابراین شما می توانید آن را کاملاً خوب انتخاب کنید
335
00:11:31,760 –> 00:11:33,519
تا پنج خطوط کد بنابراین
336
00:11:33,519 –> 00:11:35,440
tensorflow tensorflow hub opencv
337
00:11:35,440 –> 00:11:38,160
matplotlib و numpy اکنون قبل از
338
00:11:38,160 –> 00:11:39,600
339
00:11:39,600 –> 00:11:42,320
اینکه از یک gpu استفاده می کنید کاری که
340
00:11:42,320 –> 00:11:44,000
می خواهید انجام دهید این است که اطمینان حاصل کنید که
341
00:11:44,000 –> 00:11:46,480
رشد حافظه را محدود کرده اید در غیر
342
00:11:46,480 –> 00:11:48,560
این صورت خطاهای حافظه را حذف می کند.
343
00:11:48,560 –> 00:11:50,079
کاملاً اختیاری است، بنابراین
344
00:11:50,079 –> 00:11:52,320
345
00:11:52,320 –> 00:11:56,959
اگر از یک gpu استفاده میکنید با افزودن این
346
00:11:56,959 –> 00:11:58,399
خط کد، فقط یک نظر اختیاری اضافه میکنم، این بدان معناست که میتوانید
347
00:11:58,399 –> 00:12:00,240
تصاویری را که از
348
00:12:00,240 –> 00:12:02,160
طریق آنها ارسال میکنید به مدل movenet بزرگتر کنید
349
00:12:02,160 –> 00:12:04,240
بدون اینکه از آن خارج شوید. خطای حافظه پس
350
00:12:04,240 –> 00:12:05,839
همینطور است اساساً
351
00:12:05,839 –> 00:12:08,320
میخواهیم تنسورفلو را برای مصرف مطلقاً
352
00:12:08,320 –> 00:12:10,480
کل vram خود در دستگاه خود نگه داریم، بنابراین
353
00:12:10,480 –> 00:12:14,440
بیایید ادامه دهیم و این ok را اضافه کنیم
354
00:12:24,399 –> 00:12:27,440
تا حد رشد حافظه ما
355
00:12:27,440 –> 00:12:29,040
تنظیم شده باشد، بنابراین بیایید برویم و به آنچه در آنجا نوشتیم نگاهی بیندازیم،
356
00:12:29,040 –> 00:12:30,639
بنابراین سه
357
00:12:30,639 –> 00:12:31,920
خط مختلف نوشتیم کد کنید و به خاطر داشته باشید
358
00:12:31,920 –> 00:12:33,680
که اگر از یک gpu استفاده می کنید این کاملا اختیاری است
359
00:12:33,680 –> 00:12:36,720
بنابراین من نوشته ام gpus برابر است با
360
00:12:36,720 –> 00:12:39,720
361
00:12:39,839 –> 00:12:42,160
tf.config لیست نقطه زیر خط زیر
362
00:12:42,160 –> 00:12:44,000
دستگاه های فیزیکی
363
00:12:44,000 –> 00:12:45,600
، بنابراین اگر چاپ کنم تمام gpusهایی که در واقع داریم فهرست می شوند.
364
00:12:45,600 –> 00:12:47,920
از جی پی اس می توانید ببینید که
365
00:12:47,920 –> 00:12:50,160
من فقط یکی روی این دستگاه دارم، من یک
366
00:12:50,160 –> 00:12:52,240
سوپر 2070 دارم، بنابراین اگر از
367
00:12:52,240 –> 00:12:54,240
gpu دیگری استفاده می کنید، در حالت ایده آل است یا اگر
368
00:12:54,240 –> 00:12:56,240
چندین gpus دارید، چندین
369
00:12:56,240 –> 00:13:00,760
دستگاه را در اینجا خواهید دید. در gpus برابر است با
370
00:13:00,760 –> 00:13:02,320
tf.config.experimental.list
371
00:13:02,320 –> 00:13:04,240
دستگاههای زیرخط فیزیکی و سپس
372
00:13:04,240 –> 00:13:05,440
من از آن عبور کردم که
373
00:13:05,440 –> 00:13:08,079
میخواهم فقط gpu خود را برگردانم، بنابراین در داخل آن
374
00:13:08,079 –> 00:13:09,440
از یک متغیر رشته
375
00:13:09,440 –> 00:13:10,959
به نام gpu عبور
376
00:13:10,959 –> 00:13:12,240
کردهایم، سپس کاری که انجام میدهیم این است ما در حال
377
00:13:12,240 –> 00:13:13,839
بررسی هر یک از ورودی های gpus خود هستیم
378
00:13:13,839 –> 00:13:15,519
بنابراین اگر میخواهیم یک واحد
379
00:13:15,519 –> 00:13:17,519
gpu بگیریم، قطعاً میتوانیم این
380
00:13:17,519 –> 00:13:21,120
کار را برای gpu و
381
00:13:21,800 –> 00:13:23,360
gpus انجام دهیم. tf.config.experimental.set
382
00:13:23,360 –> 00:13:25,360
حافظه زیرخط زیرخط رشد میکند و سپس
383
00:13:25,360 –> 00:13:27,200
در آن زمان از واحد gpu عبور
384
00:13:27,200 –> 00:13:28,959
میکنیم و ما تنظیمی که میخواهیم
385
00:13:28,959 –> 00:13:31,360
رشد حافظهمان برابر با
386
00:13:31,360 –> 00:13:33,440
true محدود شود، بنابراین این اساساً به این معنی است
387
00:13:33,440 –> 00:13:34,800
که شما این خطاها را از حافظه حذف نمیکنید،
388
00:13:34,800 –> 00:13:36,240
بنابراین زمانی که من واقعاً
389
00:13:36,240 –> 00:13:38,399
این را آزمایش میکردم وقتی مقیاس را افزایش دادیم یا وقتی
390
00:13:38,399 –> 00:13:39,760
تصویر را بزرگ کردم به
391
00:13:39,760 –> 00:13:41,760
مدل مووننت لایتنینگ منتقل میشود، من
392
00:13:41,760 –> 00:13:43,519
از خطاهای حافظه خلاص میشوم، بنابراین با انجام این کار،
393
00:13:43,519 –> 00:13:46,399
آن خطای توقف را
394
00:13:46,399 –> 00:13:49,680
درست نمیزنید، بنابراین سه خط
395
00:13:49,680 –> 00:13:51,279
میتوانید رشد حافظهتان را محدود کنید، بنابراین ما
396
00:13:51,279 –> 00:13:53,760
میتوانیم این خط را در اینجا حذف کنیم.
397
00:13:53,760 –> 00:13:56,079
بنابراین، اکنون مرحله صفر انجام شده است، بنابراین
398
00:13:56,079 –> 00:13:58,160
ما اکنون وابستگیهای خود را وارد کرده و نصب
399
00:13:58,160 –> 00:14:00,480
کردهایم و همچنین رفتهایم و
400
00:14:00,480 –> 00:14:02,320
محدودیت رشد حافظه خود را تعیین کردهایم، اکنون آنچه میتوانیم
401
00:14:02,320 –> 00:14:04,240
جلو برویم و انجام دهیم این است که مدل خود را بارگذاری کنیم، بنابراین
402
00:14:04,240 –> 00:14:07,639
بیایید این کار را به
403
00:14:28,399 –> 00:14:31,519
خوبی انجام دهیم. مدل لود شد بنابراین
404
00:14:31,519 –> 00:14:32,959
آنچه من رفته ام نوشته شده است
405
00:14:32,959 –> 00:14:34,880
مدل برابر است با hub یا ما رفتهایم
406
00:14:34,880 –> 00:14:36,720
و دو خط کد را در آنجا
407
00:14:36,720 –> 00:14:39,680
نوشتهایم، خط اول مدل برابر با hub.load است
408
00:14:39,680 –> 00:14:41,360
و این به طور خاص در حال رفتن و
409
00:14:41,360 –> 00:14:44,079
گرفتن مدل چند منظوره ما از
410
00:14:44,079 –> 00:14:45,680
هاب تنسورفلو است، بنابراین به یاد داشته باشید که میتوانیم برویم و
411
00:14:45,680 –> 00:14:47,680
این را دانلود کنیم. اساساً از
412
00:14:47,680 –> 00:14:49,600
این پیوند در اینجا استفاده میکنید تا بروید و
413
00:14:49,600 –> 00:14:51,040
آن مدل را دانلود کنید
414
00:14:51,040 –> 00:14:53,680
اکنون خط کامل مدل برابر است
415
00:14:53,680 –> 00:14:56,880
با بار نقطهای و سپس https کولون
416
00:14:56,880 –> 00:14:59,120
به
417
00:14:59,839 –> 00:15:01,680
جلو گوگل اسلش حرکت خالص رو به جلو
418
00:15:01,680 –> 00:15:03,760
اسلش چند حالته به جلو اسلش رعد و برق
419
00:15:03,760 –> 00:15:05,839
اسلش به جلو اسلش یک
420
00:15:05,839 –> 00:15:07,519
پس از آن ما واقعاً داریم انجام میدهیم آیا
421
00:15:07,519 –> 00:15:09,519
ما در حال استخراج خود مدل هستیم، بنابراین
422
00:15:09,519 –> 00:15:11,760
من نوشتهام movenet برابر با امضای نقطه مدل
423
00:15:11,760 –> 00:15:13,760
است و سپس
424
00:15:13,760 –> 00:15:15,519
مدل پیشفرض را میگیریم، بنابراین برای انجام
425
00:15:15,519 –> 00:15:17,440
این کار، از فهرستبندی رشتهای استفاده کردهایم، بنابراین من
426
00:15:17,440 –> 00:15:19,600
از داخل پرانتز عبور کردهام.
427
00:15:19,600 –> 00:15:21,600
اکنون این دو خط کد به صورت پیشفرض ارائه میشوند،
428
00:15:21,600 –> 00:15:23,920
429
00:15:23,920 –> 00:15:25,440
بنابراین اگر
430
00:15:25,440 –> 00:15:27,440
واقعاً میخواهید نگاهی بیندازید، در واقع این
431
00:15:27,440 –> 00:15:29,040
دو خط کد وجود دارد تا
432
00:15:29,040 –> 00:15:30,639
دقیق باشند. همانطور که در مستندات مشخص شده است،
433
00:15:30,639 –> 00:15:32,959
بنابراین اولی می رود
434
00:15:32,959 –> 00:15:34,480
و مدل را دانلود می کند، دومی
435
00:15:34,480 –> 00:15:36,160
در واقع می رود و یک متغیر جدید تنظیم می کند،
436
00:15:36,160 –> 00:15:38,000
بنابراین ما می توانیم در واقع برویم و از
437
00:15:38,000 –> 00:15:39,440
آن مدل استفاده کنیم تا بتوانیم دو خط کد
438
00:15:39,440 –> 00:15:41,920
را برویم و بارگذاری کنیم. اکنون مدل کنید
439
00:15:41,920 –> 00:15:43,360
که انجام شد، کاری که
440
00:15:43,360 –> 00:15:45,120
میتوانیم انجام دهیم این است که شروع
441
00:15:45,120 –> 00:15:46,880
به تشخیصها کنیم، حالا اول کاری که
442
00:15:46,880 –> 00:15:48,639
انجام میدهیم این است که احتمالاً
443
00:15:48,639 –> 00:15:50,160
با وبکم خود تعدادی شناسایی انجام میدهیم، اجازه دهید
444
00:15:50,160 –> 00:15:53,199
کمی فضای بیشتری به خودمان بدهیم
445
00:15:53,199 –> 00:15:54,720
و سپس من نیز دارم تعداد زیادی ویدیو
446
00:15:54,720 –> 00:15:56,079
که میتوانیم آن را نیز با آنها آزمایش کنیم،
447
00:15:56,079 –> 00:15:57,600
بنابراین اگر میخواهید از آن در
448
00:15:57,600 –> 00:15:59,120
ویدیوهای از قبل موجود استفاده کنید، قطعاً میتوانید این
449
00:15:59,120 –> 00:16:02,399
کار را انجام دهید، بنابراین ابتدا بیایید جلو برویم و
450
00:16:02,399 –> 00:16:04,000
به وبکم خود دسترسی پیدا کنیم، مطمئن شویم که میتوانیم این کار را انجام دهیم،
451
00:16:04,000 –> 00:16:07,000
452
00:16:25,040 –> 00:16:28,800
بنابراین تقریباً
453
00:16:28,800 –> 00:16:30,480
کد استاندارد ضبط وبکم ما، بنابراین ما
454
00:16:30,480 –> 00:16:32,079
این را چندین بار در
455
00:16:32,079 –> 00:16:34,160
آموزشهای قبلی بینایی رایانه نوشتهایم، اگر میخواهید
456
00:16:34,160 –> 00:16:36,320
یک تفکیک عمیقتر داشته باشید،
457
00:16:36,320 –> 00:16:37,680
به آنها نگاهی بیندازید، اما من به سرعت
458
00:16:37,680 –> 00:16:39,920
هر یک از این خطوط را مرور میکنم.
459
00:16:39,920 –> 00:16:42,000
پس اول تا چه ما رفتیم و نوشتیم
460
00:16:42,000 –> 00:16:43,560
cap برابر است با
461
00:16:43,560 –> 00:16:45,680
cv2.videocaptchas این یک
462
00:16:45,680 –> 00:16:48,720
اتصال به وبکم ما برقرار میکند، سپس خط بعدی
463
00:16:48,720 –> 00:16:50,240
بررسی میکند تا مطمئن شود که
464
00:16:50,240 –> 00:16:53,440
کپچا هنوز باز است، بنابراین تا زمانی که درپوش
465
00:16:53,440 –> 00:16:55,519
نقطه باز است و سپس مجموعهای از آن را اضافه کردم.
466
00:16:55,519 –> 00:16:57,519
پرانتز و سپس یک دونقطه
467
00:16:57,519 –> 00:16:59,759
نکته کلیدی که باید توجه داشته باشید این است که این مقدار
468
00:16:59,759 –> 00:17:01,920
در اینجا ممکن است تغییر کند، بنابراین اگر
469
00:17:01,920 –> 00:17:03,519
تعدادی دستگاه ضبط ویدیوی مختلف
470
00:17:03,519 –> 00:17:05,919
دارید، ممکن است لازم باشد آزمایش کنید
471
00:17:05,919 –> 00:17:08,160
که واقعاً از کدام دستگاه خاص
472
00:17:08,160 –> 00:17:10,319
باید عبور داده شود، بنابراین قبلاً از این دستگاه
473
00:17:10,319 –> 00:17:12,079
استفاده شده است. ضبط ویدیو یا دستگاه اصلی
474
00:17:12,079 –> 00:17:13,679
فیلمبرداری در دستگاه ویندوز من
475
00:17:13,679 –> 00:17:15,359
قبلاً دستگاه ضبط ویدیو
476
00:17:15,359 –> 00:17:17,359
صفر بود، زیرا من رفته ام و
477
00:17:17,359 –> 00:17:19,439
چیزهای جدیدی را نصب کرده ام، فکر می کنم دو تا هستند، اما
478
00:17:19,439 –> 00:17:21,599
ما آن را آزمایش می کنیم و می بینیم
479
00:17:21,599 –> 00:17:24,000
تا این ارتباط برقرار شود این
480
00:17:24,000 –> 00:17:26,799
بررسی می کند که هنوز باز است و
481
00:17:26,799 –> 00:17:29,440
سپس فید ویدیویی را به عنوان تعدادی فریم در
482
00:17:29,440 –> 00:17:30,960
نظر بگیرید، بنابراین کاری که می خواهیم انجام دهیم این است که
483
00:17:30,960 –> 00:17:34,000
فریم فعلی را که ویدیو در آن است
484
00:17:34,000 –> 00:17:36,400
با استفاده از cap.read بخوانیم
485
00:17:36,400 –> 00:17:38,400
و می خواهیم بسته بندی نتایجی که ما
486
00:17:38,400 –> 00:17:40,000
g et از آن، بنابراین ما یک مقدار بازگشتی دریافت می
487
00:17:40,000 –> 00:17:42,640
کنیم و همچنین قاب را دریافت می کنیم که
488
00:17:42,640 –> 00:17:44,559
فریم در واقع همان تصویری است که شما
489
00:17:44,559 –> 00:17:46,480
می خواهید، بنابراین فریم همان چیزی می شود که ما
490
00:17:46,480 –> 00:17:48,160
در عرض یک ثانیه به مدل movenet خود منتقل کردیم
491
00:17:48,160 –> 00:17:49,120
492
00:17:49,120 –> 00:17:50,320
و سپس همان چیزی است که من. من
493
00:17:50,320 –> 00:17:52,160
cv2.iamshow را نوشتم،
494
00:17:52,160 –> 00:17:53,840
بنابراین این در واقع تصویر را به
495
00:17:53,840 –> 00:17:55,760
صفحه نمایش می دهد و ما
496
00:17:55,760 –> 00:17:57,360
از دو مقدار عبور کرده ایم، بنابراین دو آرگومان موقعیتی،
497
00:17:57,360 –> 00:17:58,880
بنابراین ابتدا به سمت بالا از
498
00:17:58,880 –> 00:18:01,039
جایی عبور می کنیم که می خواهیم قاب ما در آن نامگذاری شود.
499
00:18:01,039 –> 00:18:03,120
این کیس movenet چند وجهی است، بنابراین
500
00:18:03,120 –> 00:18:04,720
در بالای کادر میبینید که
501
00:18:04,720 –> 00:18:06,880
در واقع به آن میگویند
502
00:18:06,880 –> 00:18:08,080
و سپس ما در حال عبور
503
00:18:08,080 –> 00:18:09,600
از فریم هستیم، بنابراین آنچه از
504
00:18:09,600 –> 00:18:10,720
اینجا به دست آوردهایم،
505
00:18:10,720 –> 00:18:12,480
سپس من رفتهام همه چیز را از پایین نوشتهام.
506
00:18:12,480 –> 00:18:14,480
در اینجا به سمت پایین همه چیز مربوط به این
507
00:18:14,480 –> 00:18:16,000
است که وقتی میخواهیم اکنون از آن خارج شویم، چه کار کنیم،
508
00:18:16,000 –> 00:18:18,640
مخصوصاً روشی
509
00:18:18,640 –> 00:18:20,320
که میخواهیم از این قاب خارج شویم این است که
510
00:18:20,320 –> 00:18:22,720
روی صفحه کلید q را بزنیم، بنابراین کاری که انجام میدهیم این
511
00:18:22,720 –> 00:18:25,840
است که منتظر فشار دادن یک کلید باشیم. بنابراین اگر
512
00:18:25,840 –> 00:18:28,799
cv2 dot کلید انتظار و سپس ما در حال بررسی
513
00:18:28,799 –> 00:18:30,960
هر 10 میلی ثانیه
514
00:18:30,960 –> 00:18:34,880
و t کلیدی که فشار می دهیم q است پس 0xf
515
00:18:34,880 –> 00:18:37,520
بنابراین کلید ما مساوی ord یا
516
00:18:37,520 –> 00:18:39,600
مساوی یا q است بنابراین این به دنبال
517
00:18:39,600 –> 00:18:41,039
صف کلید است بنابراین اگر می خواهید
518
00:18:41,039 –> 00:18:43,280
کلید فشار داده شده را تغییر دهید می توانید فقط
519
00:18:43,280 –> 00:18:44,880
آن مقدار را در آنجا به کلیدی تغییر دهید
520
00:18:44,880 –> 00:18:47,120
میخواهیم شناسایی کنیم یا به دنبال آن بگردیم
521
00:18:47,120 –> 00:18:49,200
و اگر آن شرط برآورده شد، کاری که
522
00:18:49,200 –> 00:18:50,720
میخواهیم انجام دهیم این است که از این
523
00:18:50,720 –> 00:18:52,000
حلقه خارج شویم، زیرا به یاد داشته باشید که ما یک
524
00:18:52,000 –> 00:18:53,440
حلقه while داریم، بنابراین
525
00:18:53,440 –> 00:18:55,919
اگر q را بزنیم، در اینجا از آن خارج میشویم. روی صفحهکلیدمان،
526
00:18:55,919 –> 00:18:57,679
با فرض اینکه این اتفاق میافتد وقتی
527
00:18:57,679 –> 00:18:58,799
از حلقه خارج شدیم، cap.release را اجرا
528
00:18:58,799 –> 00:19:00,799
میکنیم که وبکم ما را آزاد میکند
529
00:19:00,799 –> 00:19:03,160
و سپس cv2.destroyorwindows را اجرا
530
00:19:03,160 –> 00:19:04,720
میکنیم و با این کار چیزها را میبندیم.
531
00:19:04,720 –> 00:19:07,120
اگر ما این را اجرا کنیم،
532
00:19:07,120 –> 00:19:08,640
امیدواریم بتوانیم یک
533
00:19:08,640 –> 00:19:10,400
فید وبکم دریافت کنیم و کمی
534
00:19:10,400 –> 00:19:12,960
به سمت پایین صفحه نمایش شما ظاهر میشود،
535
00:19:12,960 –> 00:19:14,720
پس بیایید منتظر بمانیم و ببینیم که آیا کار میکند تا
536
00:19:14,720 –> 00:19:16,480
به نظر کار نمیآید، بنابراین
537
00:19:16,480 –> 00:19:17,840
ممکن است لازم باشد یک دستگاه ضبط ویدیوی متفاوت را امتحان کنید،
538
00:19:17,840 –> 00:19:21,960
بنابراین بیایید سه دستگاه
539
00:19:26,400 –> 00:19:28,880
خوب خوب را امتحان کنیم تا کار کند خیلی
540
00:19:28,880 –> 00:19:30,240
541
00:19:30,240 –> 00:19:32,320
کمی عجیب است
542
00:19:32,320 –> 00:19:36,600
که اندازه فریم خود را تغییر میدهیم
543
00:19:44,160 –> 00:19:45,760
، نمیدانم آنجا چه اتفاقی میافتد، اما
544
00:19:45,760 –> 00:19:48,640
اگر به دستگاه وبکم سه برگردم، به
545
00:19:48,640 –> 00:19:50,400
نظر میرسد که
546
00:19:50,400 –> 00:19:51,840
اکنون با موفقیت باز میشود، بنابراین چیز عجیبی
547
00:19:51,840 –> 00:19:53,679
در مورد آن وجود دارد. این بود که قبلاً یک مربع کوچک کوچک بود،
548
00:19:53,679 –> 00:19:55,679
در حالی که من می دانم که
549
00:19:55,679 –> 00:19:57,919
وضوح آن باید تقریباً
550
00:19:57,919 –> 00:20:00,640
480 در 640 عرض باشد، بنابراین می
551
00:20:00,640 –> 00:20:02,080
توانید ببینید که اکنون کار می کند، بنابراین
552
00:20:02,080 –> 00:20:03,919
دوباره ممکن است لازم باشد
553
00:20:03,919 –> 00:20:05,679
با دستگاه وب کم خاصی بازی کنید.
554
00:20:05,679 –> 00:20:07,600
استفاده میشود، اما در این مورد میتوانید
555
00:20:07,600 –> 00:20:10,000
ببینید که وبکم ما را با موفقیت رندر میکند،
556
00:20:10,000 –> 00:20:12,320
بنابراین دستگاه وبکم یا
557
00:20:12,320 –> 00:20:14,480
دستگاه ضبط ویدیو 3 بود. در غیر این صورت،
558
00:20:14,480 –> 00:20:16,720
آن خطاهای کوچک عجیب و غریب را دریافت خواهید کرد
559
00:20:16,720 –> 00:20:18,000
و گاهی اوقات ممکن است لازم باشد آن را خاموش کنید.
560
00:20:18,000 –> 00:20:19,840
و اگر رزولوشن مناسبی به شما نمی دهد، آن را دوباره باز
561
00:20:19,840 –> 00:20:21,760
کنید، اما در این
562
00:20:21,760 –> 00:20:23,600
مورد، ما دستگاه ضبط وب کم خود را داریم،
563
00:20:23,600 –> 00:20:25,840
بنابراین کاری که اکنون می توانیم انجام دهیم این است که می توانیم در واقع
564
00:20:25,840 –> 00:20:27,520
از فریم استفاده کنیم، بنابراین من فقط q را روی
565
00:20:27,520 –> 00:20:29,760
صفحه کلیدم زده تا آن را ببندم. بنابراین ما می توانیم
566
00:20:29,760 –> 00:20:32,400
در واقع به قاب دسترسی داشته باشیم بیایید در فریم تایپ کنیم،
567
00:20:32,400 –> 00:20:36,440
بنابراین این در واقع
568
00:20:36,440 –> 00:20:38,799
نمایش تصویر چیزی است که
569
00:20:38,799 –> 00:20:40,159
ما واقعاً از وبکم خود دریافت میکنیم، بنابراین اگر
570
00:20:40,159 –> 00:20:41,919
واقعاً میخواهیم این را
571
00:20:41,919 –> 00:20:45,120
ببینیم، میتوانم plot.i am show
572
00:20:46,000 –> 00:20:48,400
اجازه دهید از این نوار خلاص شویم، بنابراین این
573
00:20:48,400 –> 00:20:50,159
matplotlib است که آن را به این شکل ارائه میکند. می بینید
574
00:20:50,159 –> 00:20:52,000
که این در واقع به ما اجازه می دهد به
575
00:20:52,000 –> 00:20:53,760
تصویر خود نگاه کنیم اکنون کمی آبی به نظر می رسد
576
00:20:53,760 –> 00:20:56,559
زیرا وقتی می رویم و به تصویر خود از opencv دسترسی پیدا می کنیم
577
00:20:56,559 –> 00:21:00,080
آن را به عنوان
578
00:21:00,080 –> 00:21:03,440
egr می خواند اما matplotlib وارد نمی شود یا
579
00:21:03,440 –> 00:21:05,120
آن کانال های رنگی را تغییر نمی دهد. اگر میخواهیم دوباره
580
00:21:05,120 –> 00:21:07,200
آن را به درستی رنگآمیزی کنیم،
581
00:21:07,200 –> 00:21:08,720
فقط باید کد رنگ را به rgb تغییر دهیم،
582
00:21:08,720 –> 00:21:10,640
بنابراین اگر این کار را سریع انجام دادیم اجازه
583
00:21:10,640 –> 00:21:13,280
دهید تا رنگ cv2.cvt را به شما نشان دهم
584
00:21:13,280 –> 00:21:15,679
585
00:21:15,760 –> 00:21:17,280
و سپس از فریم خود عبور کنید و سپس
586
00:21:17,280 –> 00:21:19,120
کد تبدیل رنگ شما را به
587
00:21:19,120 –> 00:21:20,640
cv2 ارسال میکنیم. .color
588
00:21:20,640 –> 00:21:25,039
اوه bg r2 rgb است و سپس آن را ببندید
589
00:21:25,039 –> 00:21:26,720
تا بتوانید ببینید رنگآمیزی اکنون ثابت شده است
590
00:21:26,720 –> 00:21:28,880
به طوری که فقط کانال رنگ را دوباره مرتب میکند
591
00:21:28,880 –> 00:21:30,720
تا هیچ چیز بزرگی وجود نداشته باشد کاملاً
592
00:21:30,720 –> 00:21:34,000
خنک است و اکنون که این کار انجام میشود
593
00:21:34,000 –> 00:21:35,280
کار بعدی که ما واقعاً میخواهیم انجام شود.
594
00:21:35,280 –> 00:21:38,080
پیش بروید و انجام دهید این است که برخی از
595
00:21:38,080 –> 00:21:41,280
با مدل چند نفره movenet شناسایی میشود، بنابراین
596
00:21:41,280 –> 00:21:43,360
من فقط میخواهم آن را حذف
597
00:21:43,360 –> 00:21:44,400
کنم که دیگر به آن نیازی نداریم،
598
00:21:44,400 –> 00:21:45,840
بنابراین کاری که میخواهیم انجام دهیم این است که در داخل
599
00:21:45,840 –> 00:21:47,679
این حلقه، در واقع
600
00:21:47,679 –> 00:21:50,400
این فریم را برداریم. من به اینجا
601
00:21:50,400 –> 00:21:52,799
رسیدم و آن را به مدل چند نفره Movenet ما منتقل کردم،
602
00:21:52,799 –> 00:21:54,240
اکنون
603
00:21:54,240 –> 00:21:56,400
یک چیز کلیدی که باید به آن اشاره کرد این است که این
604
00:21:56,400 –> 00:21:58,240
مدل منتظر است، نمی دانم آیا
605
00:21:58,240 –> 00:22:00,720
آن را در اینجا می گوید، بله، بله، بله،
606
00:22:00,720 –> 00:22:02,799
این واقعاً مهم است،
607
00:22:02,799 –> 00:22:05,039
بنابراین شما نیاز دارید برای اطمینان از اینکه
608
00:22:05,039 –> 00:22:08,720
اندازه تصویر را مضربی از 32 تغییر میدهید
609
00:22:08,720 –> 00:22:11,919
و باید تقریباً 256 پیکسل
610
00:22:11,919 –> 00:22:14,159
عرض داشته باشد، بنابراین کاری که میخواهیم انجام دهیم این است
611
00:22:14,159 –> 00:22:16,400
که قاب خود را بگیریم،
612
00:22:16,400 –> 00:22:19,120
اندازه آن را به مضربی تغییر میدهیم. 32 و سپس
613
00:22:19,120 –> 00:22:20,799
کاری که ما انجام خواهیم داد این است که آن را به مدل movenet خود منتقل می کنیم،
614
00:22:20,799 –> 00:22:22,640
بنابراین بیایید ادامه دهیم و این کار را انجام دهیم،
615
00:22:22,640 –> 00:22:24,320
بنابراین در اینجا ما این کار را انجام می دهیم بسیار
616
00:22:24,320 –> 00:22:27,320
617
00:22:41,039 –> 00:22:44,320
خوب این اولین قسمت از کد ما است
618
00:22:44,320 –> 00:22:47,039
که اکنون انجام شده است، من در واقع انجام نداده ام رفتیم و ردیابیهایمان را
619
00:22:47,039 –> 00:22:48,799
انجام دادیم، بنابراین
620
00:22:48,799 –> 00:22:50,320
میخواستم این کار را گام به گام انجام دهم و به
621
00:22:50,320 –> 00:22:52,159
شما نشان دهم که در ابتدا چه کار میکنیم، بنابراین ابتدا
622
00:22:52,159 –> 00:22:53,919
آنچه را که هستیم این کار این است که اکنون یک کپی
623
00:22:53,919 –> 00:22:55,919
از فریم خود میسازیم، دلیل اینکه این
624
00:22:55,919 –> 00:22:57,919
کار را انجام میدهیم این است که میرویم
625
00:22:57,919 –> 00:22:59,600
و
626
00:22:59,600 –> 00:23:01,520
با استفاده از این تصویر تغییر اندازه تشخیص میدهیم، اما سپس میخواهیم
627
00:23:01,520 –> 00:23:03,039
آن را با همان اندازه
628
00:23:03,039 –> 00:23:04,960
فریم رندر کنیم. میخواهیم کپی خود
629
00:23:04,960 –> 00:23:07,120
را بسازیم و آن را بهعنوان متغیری به نام
630
00:23:07,120 –> 00:23:08,559
تصویر
631
00:23:08,559 –> 00:23:09,919
بسازیم، سپس اندازه آن را تغییر میدهیم، بنابراین
632
00:23:09,919 –> 00:23:12,000
به یاد داشته باشید که باید آن را مضربی
633
00:23:12,000 –> 00:23:14,640
از 32 کنیم، این دقیقاً همان کاری است که در
634
00:23:14,640 –> 00:23:16,080
اینجا انجام میدهیم، بنابراین در حال گرفتن آن هستیم یا ما
635
00:23:16,080 –> 00:23:20,000
آن را برابر با 256 قرار می دهیم، بنابراین 256 تقسیم بر 32
636
00:23:20,000 –> 00:23:22,240
برابر با 8 است که یک مضرب موفق است، بنابراین
637
00:23:22,240 –> 00:23:24,720
ما می توانیم یک عدد 512 یا
638
00:23:24,720 –> 00:23:26,000
55
639
00:23:26,000 –> 00:23:28,400
به علاوه 256 بسازیم.
640
00:23:28,400 –> 00:23:29,679
از
641
00:23:29,679 –> 00:23:30,720
ویدیوها
642
00:23:30,720 –> 00:23:33,280
امم، بنابراین ما میتوانیم این کار را نیز انجام دهیم،
643
00:23:33,280 –> 00:23:35,120
بنابراین 768
644
00:23:35,120 –> 00:23:36,799
شما میتوانید بزرگتر شوید، اما به
645
00:23:36,799 –> 00:23:38,640
محدودیتهای حافظه نیز خواهید رسید، بنابراین فقط یک
646
00:23:38,640 –> 00:23:40,320
چیز دیگر را باید در نظر داشته باشید و همچنین
647
00:23:40,320 –> 00:23:42,159
تشخیصها را کاهش میدهد
648
00:23:42,159 –> 00:23:44,320
تا خطی که در آنجا نوشتیم باشد img
649
00:23:44,320 –> 00:23:47,120
برابر با tf است، بنابراین ما این متغیر را نادیده می گیریم،
650
00:23:47,120 –> 00:23:49,200
بنابراین تصویر برابر است با tf نقطه
651
00:23:49,200 –> 00:23:52,080
تصویر نقطه r esize با پد، بنابراین
652
00:23:52,080 –> 00:23:54,720
653
00:23:54,720 –> 00:23:57,039
اگر واقعی نیستید یا اگر در حال
654
00:23:57,039 –> 00:23:59,360
تغییر شکل به اندازهای عجیب و غریب
655
00:23:59,360 –> 00:24:01,520
یا اندازهای که با نسبت تصویر اصلی مطابقت ندارد، بهطور خودکار تصاویر را با صفرهای خالی حذف میکند
656
00:24:01,520 –> 00:24:03,200
تا
657
00:24:03,200 –> 00:24:04,559
کاملاً جالب باشد
658
00:24:04,559 –> 00:24:05,880
بنابراین
659
00:24:05,880 –> 00:24:07,480
tf. image.resizewithpad و سپس
660
00:24:07,480 –> 00:24:10,320
tf.expand underscore کم رنگ می شود
661
00:24:10,320 –> 00:24:11,679
و سپس از تصویر خود عبور می
662
00:24:11,679 –> 00:24:14,000
کنیم تا
663
00:24:14,000 –> 00:24:16,320
آن را در یک آرایه دیگر استخراج کنیم یا آن را کپسوله کنیم
664
00:24:16,320 –> 00:24:18,720
و سپس از کاما 256 در 256 عبور می کنیم
665
00:24:18,720 –> 00:24:20,559
.
666
00:24:20,559 –> 00:24:22,320
سپس آنچه را که من رفتم و نوشتم.
667
00:24:22,320 –> 00:24:25,120
تصویر زیر خط ورودی برابر است با tf dot cast و
668
00:24:25,120 –> 00:24:27,279
سپس ما در واقع آن را به یک
669
00:24:27,279 –> 00:24:30,159
عدد صحیح با یک عدد صحیح 32 بیتی تبدیل می کنیم،
670
00:24:30,159 –> 00:24:31,760
بنابراین یک متغیر جدید به نام
671
00:24:31,760 –> 00:24:35,039
تصویر زیر خط ورودی ایجاد می کنیم و از tf.cast
672
00:24:35,039 –> 00:24:37,039
برای رفتن و تبدیل آن استفاده می کنیم. در یک
673
00:24:37,039 –> 00:24:39,279
نوع داده متفاوت، به طور خاص یک عدد صحیح 32 بیتی،
674
00:24:39,279 –> 00:24:40,559
675
00:24:40,559 –> 00:24:42,320
پس کاری که میتوانیم برویم و انجام دهیم این است که در واقع
676
00:24:42,320 –> 00:24:44,240
تشخیص خود را انجام دهیم، بنابراین بیایید این را حذف
677
00:24:44,240 –> 00:24:46,240
کنیم، ما در اینجا به درستی شناسایی نمیکنیم،
678
00:24:46,240 –> 00:24:50,000
بنابراین بیایید با تشخیص خود شروع کنیم
679
00:24:50,000 –> 00:24:51,279
تا این کار ادامه پیدا کند.
680
00:24:51,279 –> 00:24:53,120
بخش تشخیص ما باشد و ما هستیم در ابتدا
681
00:24:53,120 –> 00:24:54,720
فقط میخواهیم یک شناسایی انجام دهیم و
682
00:24:54,720 –> 00:24:56,320
آن را چاپ کنیم، زیرا کاری که باید انجام دهیم این است
683
00:24:56,320 –> 00:24:57,760
که باید کمی
684
00:24:57,760 –> 00:24:59,840
تغییر داده اعمال کنیم تا نکات کلیدی خاصی را
685
00:24:59,840 –> 00:25:01,919
که میخواهیم به دست آوریم، بنابراین اجازه دهید ابتدا
686
00:25:01,919 –> 00:25:03,200
این کار را انجام دهیم.
687
00:25:03,200 –> 00:25:07,440
بیایید تشخیصهایمان را
688
00:25:09,919 –> 00:25:12,240
درست کنیم، بنابراین ما فقط رفتیم و دو
689
00:25:12,240 –> 00:25:13,520
خط کد اضافی را در آنجا اضافه کردیم، بنابراین
690
00:25:13,520 –> 00:25:15,679
من نتایج را معادل move net نوشتم و سپس
691
00:25:15,679 –> 00:25:17,360
از تصویر ورودی خود
692
00:25:17,360 –> 00:25:18,799
را از اینجا عبور میدهیم و سپس
693
00:25:18,799 –> 00:25:20,080
میرویم برای ادامه و چاپ
694
00:25:20,080 –> 00:25:21,600
نتایج خود، بنابراین دو خط کد اضافی نوشته ایم،
695
00:25:21,600 –> 00:25:23,200
بنابراین این یکی در واقع
696
00:25:23,200 –> 00:25:25,600
از مدل movenet از اینجا استفاده می کند
697
00:25:25,600 –> 00:25:27,600
و در واقع تصویر ورودی ما
698
00:25:27,600 –> 00:25:29,520
را به عنوان یک آرگومان موقعیتی می پذیرد و سپس
699
00:25:29,520 –> 00:25:30,960
آن نتایج را چاپ می کنیم. بنابراین بیایید
700
00:25:30,960 –> 00:25:32,400
عملاً برویم و این را اجرا کنیم
701
00:25:32,400 –> 00:25:34,159
و انگشتان دست از همه چیز عبور کنند که
702
00:25:34,159 –> 00:25:36,159
مساوی هستند، باید با موفقیت
703
00:25:36,159 –> 00:25:38,080
یک وبکم پاپآپ دریافت کنیم و ما باید برخی از
704
00:25:38,080 –> 00:25:41,960
نتایج را چاپ کنیم،
705
00:25:45,360 –> 00:25:46,960
بنابراین خیلی خوب به نظر میرسد، بنابراین
706
00:25:46,960 –> 00:25:48,880
ما وبکم خود را داریم که همه کار میکند
707
00:25:48,880 –> 00:25:50,559
و میتوانید ببینید که ما این
708
00:25:50,559 –> 00:25:52,640
خروجی را در اینجا داریم که خوب است،
709
00:25:52,640 –> 00:25:54,640
بنابراین کاری که میتوانیم انجام دهیم ضربه زدن به q است،
710
00:25:54,640 –> 00:25:55,840
بنابراین در حال حاضر ما در واقع
711
00:25:55,840 –> 00:25:58,080
چیزی را درست رندر نمیکنیم، اما
712
00:25:58,080 –> 00:26:00,559
این خروجی را دریافت میکنیم که نشانه خوبی است،
713
00:26:00,559 –> 00:26:02,080
بنابراین اگر برویم و بگیریم با نگاهی به
714
00:26:02,080 –> 00:26:04,320
خروجی خود میتوانیم از شر آن خلاص شویم،
715
00:26:04,320 –> 00:26:05,600
صبر کنید آنچه به آن
716
00:26:05,600 –> 00:26:08,080
717
00:26:08,960 –> 00:26:11,120
میگویند نتایج را میگویند، بنابراین میتوانید ببینید که ما تمام
718
00:26:11,120 –> 00:26:13,600
دادههای خروجی خود را در آنجا داریم، بنابراین در
719
00:26:13,600 –> 00:26:15,120
داخل چیزی که شبیه یک فرهنگ لغت به نظر میرسد ذخیره میشود، بنابراین شما
720
00:26:15,120 –> 00:26:17,039
میتوانید پیچ و خم را ببینید. براکتها، بنابراین کاری که
721
00:26:17,039 –> 00:26:19,760
میتوانیم انجام دهیم این است که میتوانیم برویم و
722
00:26:19,760 –> 00:26:22,240
بگیریم، بیایید نگاهی بیندازیم که چه نوع کلیدهایی را
723
00:26:22,240 –> 00:26:25,520
داریم، بنابراین یک کلید داریم،
724
00:26:25,520 –> 00:26:27,840
بنابراین برای گرفتن نتیجه، میتوانیم خروجی
725
00:26:27,840 –> 00:26:29,360
زیرخط صفر
726
00:26:29,360 –> 00:26:31,520
را بگیریم و به طور موثر بیایید یک کلید بگیریم. به یک
727
00:26:31,520 –> 00:26:33,520
نتیجه کامل به طور موثر نگاه کنید، کاری که ما
728
00:26:33,520 –> 00:26:35,440
می خواهیم انجام دهیم این است که این را در اینجا بگیرم، اجازه دهید
729
00:26:35,440 –> 00:26:37,279
کمی بزرگنمایی کنم تا بتوانید آن را
730
00:26:37,279 –> 00:26:39,840
کمی بهتر ببینید،
731
00:26:40,000 –> 00:26:42,080
بنابراین این آرایه بزرگ در اینجا است که
732
00:26:42,080 –> 00:26:43,840
در واقع مجموعه ای از
733
00:26:43,840 –> 00:26:46,559
تشخیص ها را نشان می دهد
734
00:26:47,360 –> 00:26:50,480
که اکنون این واقعاً چیست این است که اجازه دهید من
735
00:26:50,480 –> 00:26:52,320
در واقع این را برای شما توضیح دهم، بنابراین
736
00:26:52,320 –> 00:26:53,440
ما یک
737
00:26:53,440 –> 00:26:55,760
مجموعه o داریم آرایههای f در یک آرایه منفرد پیچیده شدهاند
738
00:26:55,760 –> 00:26:57,360
و سپس ما در واقع شش
739
00:26:57,360 –> 00:26:59,440
نفر داریم، بنابراین این مقدار در آنجا است و
740
00:26:59,440 –> 00:27:02,400
سپس 56 نقطه کلیدی یا 56
741
00:27:02,400 –> 00:27:05,120
مقدار در داخل هر نتیجه داریم، اکنون آنچه
742
00:27:05,120 –> 00:27:07,520
آن مقادیر نشان میدهند
743
00:27:07,520 –> 00:27:10,559
مختصات y x هستند. -اینها را هماهنگ کنید من
744
00:27:10,559 –> 00:27:13,039
معتقدم x y و
745
00:27:13,039 –> 00:27:15,039
نمره بله را در محدوده
746
00:27:15,039 –> 00:27:18,000
به دست آورید، بنابراین x a y x و امتیاز
747
00:27:18,000 –> 00:27:20,960
و سپس ضرب در
748
00:27:20,960 –> 00:27:23,039
17 امتیاز کلیدی
749
00:27:23,039 –> 00:27:24,720
باید به ما بدهد، به طوری که سه
750
00:27:24,720 –> 00:27:27,360
ضرب در 17 می شود.
751
00:27:27,360 –> 00:27:29,440
به طوری که به ما می دهد 51 عدد از آن مقادیر
752
00:27:29,440 –> 00:27:31,120
نشان دهنده نقاط کلیدی ما هستند و سپس شما.
753
00:27:31,120 –> 00:27:33,120
پنج مقدار دیگر را دریافت کردهایم و آن
754
00:27:33,120 –> 00:27:35,440
پنج مقدار آخر در هر یک از اینها
755
00:27:35,440 –> 00:27:37,520
مختصات جعبه مرزی هستند
756
00:27:37,520 –> 00:27:40,720
که از مدل movenet به خوبی برمیگردیم،
757
00:27:40,720 –> 00:27:42,960
بنابراین برای اینکه آن نتایج
758
00:27