در این مطلب، ویدئو حذف پس زمینه عکس با استفاده از یادگیری عمیق در پایتون | TensorFlow | تقسیم بندی تصویر | DeepLabV3+ با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:29:44
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,240 –> 00:00:02,720
سلام دوستان به ویدیوی
2
00:00:02,720 –> 00:00:04,319
این ویدیو خوش آمدید ما قصد داریم یاد بگیریم
3
00:00:04,319 –> 00:00:06,799
که پس زمینه تصاویر را با استفاده از تکنیک یادگیری عمیق حذف کنیم
4
00:00:06,799 –> 00:00:08,639
، اولین سوال
5
00:00:08,639 –> 00:00:10,800
اینجا این است که چگونه می خواهیم این مشکل را حل
6
00:00:10,800 –> 00:00:11,840
کنیم،
7
00:00:11,840 –> 00:00:14,400
بنابراین در اینجا یک انتخاب از من است که وظیفه
8
00:00:14,400 –> 00:00:16,640
ما ساده است.
9
00:00:16,640 –> 00:00:18,800
پسزمینه پیشزمینه را از این تصویر حذف کنید
10
00:00:18,800 –> 00:00:20,400
یا میتوانیم بگوییم دو جزء
11
00:00:20,400 –> 00:00:21,760
در داخل این تصویر وجود دارد، بنابراین این دو
12
00:00:21,760 –> 00:00:23,359
جزء پسزمینه در
13
00:00:23,359 –> 00:00:24,960
پیشزمینه هستند، بنابراین پیشزمینه اساساً
14
00:00:24,960 –> 00:00:26,960
نشاندهنده عکس من است،
15
00:00:26,960 –> 00:00:29,279
بنابراین
16
00:00:29,279 –> 00:00:31,760
برای حل این مشکل باید این دو جزء را از هم جدا کنیم. وظیفه ای که می
17
00:00:31,760 –> 00:00:34,160
خواهیم از تقسیم بندی تصویر استفاده کنیم تقسیم بندی
18
00:00:34,160 –> 00:00:36,559
تصویر اساساً
19
00:00:36,559 –> 00:00:38,960
وظیفه برچسب گذاری هر پیکسل از یک تصویر با
20
00:00:38,960 –> 00:00:40,960
یک کلاس خاص است و در اینجا قبلاً
21
00:00:40,960 –> 00:00:43,280
به شما گفته ام دو کلاس وجود دارد اول
22
00:00:43,280 –> 00:00:44,559
اینکه پس زمینه با
23
00:00:44,559 –> 00:00:47,680
مقدار پیکسل 0 و پیش زمینه نشان داده می شود.
24
00:00:47,680 –> 00:00:49,920
انتخاب یا انسان درون تصویر با
25
00:00:49,920 –> 00:00:52,559
مقدار پیکسل 1 است و برای حل این کار
26
00:00:52,559 –> 00:00:54,879
من قبلاً یک مدل عمیق نسخه 3
27
00:00:54,879 –> 00:00:57,520
پلاس در بخش تصویر انسان آموزش داده ام.
28
00:00:57,520 –> 00:00:59,039
مجموعه دادههای ntation
29
00:00:59,039 –> 00:01:01,120
و من فایل قطار را در اینجا دارم که
30
00:01:01,120 –> 00:01:03,120
این فایل گره h5 مدال است،
31
00:01:03,120 –> 00:01:04,879
نمیتوانیم آن را مستقیماً باز کنیم،
32
00:01:04,879 –> 00:01:06,320
بنابراین میخواهیم از این
33
00:01:06,320 –> 00:01:08,400
مدل قطار استفاده کنیم، بنابراین اگر میخواهید درباره نحوه آموزش این حالت بیشتر بدانید.
34
00:01:08,400 –> 00:01:09,840
35
00:01:09,840 –> 00:01:12,240
یک ویدیوی دیگر می توانید توضیحات uh را بررسی کنید
36
00:01:12,240 –> 00:01:14,880
یا می توانید دکمه i i را
37
00:01:14,880 –> 00:01:16,960
برای آن ویدیو کلیک کنید، بنابراین اکنون ما
38
00:01:16,960 –> 00:01:19,439
با اجرای این برنامه شروع می
39
00:01:19,439 –> 00:01:20,960
کنیم و همه چیز را مرحله به مرحله انجام می دهیم
40
00:01:20,960 –> 00:01:22,320
و من همه چیز را قبلاً برای شما توضیح خواهم داد.
41
00:01:22,320 –> 00:01:23,759
42
00:01:23,759 –> 00:01:26,240
من می خواهم مطمئن شوم که
43
00:01:26,240 –> 00:01:28,240
اگر تا اینجا از ویدیو لذت می برید، کانال را
44
00:01:28,240 –> 00:01:30,880
سابسکرایب کنید، یعنی
45
00:01:30,880 –> 00:01:33,200
از ویدیو لذت می برید و
46
00:01:33,200 –> 00:01:34,799
امیدوارم از محتوا خوشتان بیاید، بنابراین لطفا
47
00:01:34,799 –> 00:01:36,400
کانال را مشترک کنید
48
00:01:36,400 –> 00:01:39,280
اکنون ما به سمت کدنویسی می رویم
49
00:01:39,280 –> 00:01:41,759
خیلی خوب است، بنابراین قبل از آن،
50
00:01:41,759 –> 00:01:44,000
من می خواهم چیزی را قبلاً توضیح دهم، بنابراین
51
00:01:44,000 –> 00:01:46,399
اینها برخی از معیارهایی
52
00:01:46,399 –> 00:01:47,840
53
00:01:47,840 –> 00:01:50,079
هستند که برای تابعی که از آن
54
00:01:50,079 –> 00:01:51,759
استفاده کرده ایم و در حین آموزش
55
00:01:51,759 –> 00:01:54,000
بازی عمیق نسخه 3 به علاوه در حین بارگذاری استفاده کرده ایم، چه می نامیم. ما
56
00:01:54,000 –> 00:01:55,439
به این سه فو نیاز داریم nction ها به
57
00:01:55,439 –> 00:01:57,439
همین دلیل است که من قبلاً آنها را اینجا در این فایل نوشته ام،
58
00:01:57,439 –> 00:01:59,360
بنابراین اول اینکه اساساً
59
00:01:59,360 –> 00:02:02,000
تقاطع بر روی اتحاد است، دوم ضریب تاس
60
00:02:02,000 –> 00:02:04,640
و سوم
61
00:02:04,640 –> 00:02:06,479
ضریب تاس از دست دادن
62
00:02:06,479 –> 00:02:07,920
و این فایل اصلی ما خواهد بود
63
00:02:07,920 –> 00:02:10,560
که نقطه py را در جایی که می خواهیم اجرا کنیم.
64
00:02:10,560 –> 00:02:12,800
تمام کدها را بنویسید
65
00:02:12,800 –> 00:02:14,640
تا با وارد کردن تمام
66
00:02:14,640 –> 00:02:17,520
کتابخانههای مورد نیاز شروع کنیم، اول کتابخانه os
67
00:02:17,520 –> 00:02:18,640
68
00:02:18,640 –> 00:02:20,800
و خط شماره دو که این
69
00:02:20,800 –> 00:02:22,800
متغیر محیطی را تنظیم کردهایم
70
00:02:22,800 –> 00:02:25,440
تا پیام خطای ناخواستهای
71
00:02:25,440 –> 00:02:27,680
از tensorflow دریافت نکنیم، مقدار زیادی را نشان میدهد.
72
00:02:27,680 –> 00:02:30,720
از خط پیام ناخواسته ما
73
00:02:30,720 –> 00:02:32,000
نمیخواهیم آنها را ببینیم
74
00:02:32,000 –> 00:02:34,319
و بعدی یک numpy است که اساساً
75
00:02:34,319 –> 00:02:35,200
76
00:02:35,200 –> 00:02:37,680
برای محاسبات عددی استفاده میشود
77
00:02:37,680 –> 00:02:40,319
خوب پس از آن ما پانداهای cv2 داریم،
78
00:02:40,319 –> 00:02:42,160
فکر نمیکنم به پانداها در اینجا نیازی داشته باشیم، خوب میتوانیم
79
00:02:42,160 –> 00:02:44,239
فعلاً آن را حذف کنیم و
80
00:02:44,239 –> 00:02:46,080
بعد داریم از globe so globe
81
00:02:46,080 –> 00:02:48,800
استفاده می کنیم تا تمام تصاویر ورودی را
82
00:02:48,800 –> 00:02:50,480
از این تصویر پوشه استخراج کنیم، بنابراین در اینجا
83
00:02:50,480 –> 00:02:52,800
فقط یک تصویر داریم که می توانیم تصاویر بیشتری قرار دهیم
84
00:02:52,800 –> 00:02:56,640
و ببینیم که چگونه عملکرد
85
00:02:56,640 –> 00:02:59,120
بعدی چگونه است tqdm tqdm اساساً
86
00:02:59,120 –> 00:03:02,879
pr است. نوار ogress بسیار خوب، این نشان می دهد که چقدر
87
00:03:02,879 –> 00:03:04,560
پیشرفت انجام شده است مانند زمانی که یک
88
00:03:04,560 –> 00:03:06,159
حلقه را اجرا می کنید، بنابراین باید منتظر بمانید و نمی توانید
89
00:03:06,159 –> 00:03:08,400
چیزی را ببینید، بنابراین اساساً نوار پیشرفت را به شما نشان می دهد
90
00:03:08,400 –> 00:03:09,680
91
00:03:09,680 –> 00:03:12,080
و آخرین آن tensorflow کتابخانه ما است
92
00:03:12,080 –> 00:03:15,360
و چیزهای مختلف از آن خوب است
93
00:03:15,360 –> 00:03:17,280
و سپس ما فایل متریک خود را داریم و
94
00:03:17,280 –> 00:03:19,040
از آن هر سه تابع را وارد کرده ایم
95
00:03:19,040 –> 00:03:20,800
که عبارتند از قوانین تاس
96
00:03:20,800 –> 00:03:23,920
ضریب تاس و تقاطع بر روی اتحاد،
97
00:03:23,920 –> 00:03:25,360
بنابراین در ادامه می خواهیم برخی از پارامترهای جهانی را تعریف کنیم
98
00:03:25,360 –> 00:03:28,239
که ارتفاع
99
00:03:28,239 –> 00:03:29,920
و عرض است
100
00:03:29,920 –> 00:03:31,599
که شما قبلاً می دانید ما یک قالب را آموزش داده ایم.
101
00:03:31,599 –> 00:03:32,799
و آن مدل با
102
00:03:32,799 –> 00:03:34,560
ارتفاع و عرض خاص آموزش داده شده است و آن
103
00:03:34,560 –> 00:03:38,080
ارتفاع و عرض 512 در 512 است،
104
00:03:38,080 –> 00:03:40,319
بنابراین وظیفه بعدی ما و ما
105
00:03:40,319 –> 00:03:43,920
یک تابع به نام create dir okay ایجاد می کنیم،
106
00:03:43,920 –> 00:03:46,400
بنابراین این تابع به ما کمک می کند تا
107
00:03:46,400 –> 00:03:48,799
یک دایرکتوری ایجاد کنیم که
108
00:03:48,799 –> 00:03:50,959
دایرکتوری خالی و در این
109
00:03:50,959 –> 00:03:53,200
دایرکتوری خالی، ما تصویر خود را ذخیره می کنیم
110
00:03:53,200 –> 00:03:55,439
، یعنی تصویری که
111
00:03:55,439 –> 00:03:56,959
پس زمینه را حذف کرده ایم و سفارشی اضافه کرده ایم
112
00:03:56,959 –> 00:03:59,360
113
00:04:00,640 –> 00:04:02,400
که رنگ سفارشی می تواند درست زیر
114
00:04:02,400 –> 00:04:04,159
هر چیزی باشد، اشکالی
115
00:04:04,159 –> 00:04:06,159
116
00:04:06,159 –> 00:04:08,720
ندارد. ما با تابع اصلی شروع میکنیم،
117
00:04:08,720 –> 00:04:10,319
بنابراین اول از همه میخواهیم
118
00:04:10,319 –> 00:04:13,370
محیط را خوب ببینیم
119
00:04:13,370 –> 00:04:14,799
[موسیقی]،
120
00:04:14,799 –> 00:04:18,079
بنابراین اجازه دهید من فقط کد را اینجا
121
00:04:18,079 –> 00:04:20,399
بچسبانم، خب، بنابراین اول از همه با بذر
122
00:04:20,399 –> 00:04:22,720
کردن محیط شروع میکنیم تا مطمئن شویم که چیزها
123
00:04:22,720 –> 00:04:24,960
قابل تکرار هستند.
124
00:04:24,960 –> 00:04:26,840
در مرحله بعد، از
125
00:04:26,840 –> 00:04:30,080
تابع create underscore dir برای
126
00:04:30,080 –> 00:04:32,080
ایجاد یک دایرکتوری استفاده
127
00:04:32,080 –> 00:04:34,560
میکنیم، بنابراین از این پوشه حذف underscore bg استفاده میکنیم تا
128
00:04:34,560 –> 00:04:37,840
129
00:04:37,840 –> 00:04:40,560
همه فایلهایی را که میخواهیم به
130
00:04:40,560 –> 00:04:41,759
صورت بصری
131
00:04:41,759 –> 00:04:43,360
ببینیم، ذخیره کنیم. قرار است
132
00:04:43,360 –> 00:04:45,520
فایل وزن قطار بارگیری شود،
133
00:04:45,520 –> 00:04:47,600
134
00:04:47,600 –> 00:04:49,759
بنابراین در اینجا ما
135
00:04:49,759 –> 00:04:52,160
از d play نسخه 3 پلاس استفاده می کنیم، بنابراین من می توانم
136
00:04:52,160 –> 00:04:54,400
اینجا بنویسم این یک نسخه عمیق
137
00:04:54,400 –> 00:04:55,440
آزمایشگاهی است
138
00:04:55,440 –> 00:04:58,560
نسخه سه به علاوه بسیار خوب،
139
00:04:58,560 –> 00:05:01,440
من لینک کد اوکی برای کل این فرآیند را به شما می دهم.
140
00:05:01,440 –> 00:05:04,000
از
141
00:05:04,000 –> 00:05:05,680
آموزش dply نسخه سه پلاس و
142
00:05:05,680 –> 00:05:07,360
آن مجموعه داده نیز نگران نباشید
143
00:05:07,360 –> 00:05:09,039
که
144
00:05:09,039 –> 00:05:10,560
اکنون میتوانیم
145
00:05:10,560 –> 00:05:13,360
همه تصاویر خود را بارگذاری کنیم، فعلاً فقط یک
146
00:05:13,360 –> 00:05:15,280
تصویر داریم،
147
00:05:15,280 –> 00:05:17,600
بنابراین اینها قبل از آن همه تصاویر ما خوب هستند،
148
00:05:17,600 –> 00:05:19,520
اجازه دهید خلاصهای
149
00:05:19,520 –> 00:05:21,280
از تصاویر را به شما نشان دهم. مدلی
150
00:05:21,280 –> 00:05:23,680
که ما میتوانیم ببینیم
151
00:05:23,680 –> 00:05:25,520
خوب
152
00:05:25,520 –> 00:05:27,280
حالا این s ummary کل ساختار مدل را به شما نشان می دهد
153
00:05:27,280 –> 00:05:30,639
154
00:05:34,240 –> 00:05:36,240
خوب است، بنابراین می توانید ببینید که این کل
155
00:05:36,240 –> 00:05:38,400
مدل است و این
156
00:05:38,400 –> 00:05:39,600
تعداد کل
157
00:05:39,600 –> 00:05:40,880
پارامتر است
158
00:05:40,880 –> 00:05:43,840
و بیایید به بالا برویم و ورودی را ببینیم
159
00:05:43,840 –> 00:05:44,960
خوب است
160
00:05:44,960 –> 00:05:48,320
بنابراین ورودی اینجا یک تصویر با اندازه 512 توسط است.
161
00:05:48,320 –> 00:05:51,440
512 و تعداد کانالها آرایه هستند
162
00:05:51,440 –> 00:05:52,720
163
00:05:52,720 –> 00:05:54,880
و از لایههای مختلف
164
00:05:54,880 –> 00:05:56,960
کانولوشن به بالا نمونهبرداری و
165
00:05:56,960 –> 00:05:59,120
انواع لایههای دیگر میگذرد و در نهایت
166
00:05:59,120 –> 00:06:01,840
باعث میشود یک ماسک باینری به ما بدهیم،
167
00:06:01,840 –> 00:06:04,479
بنابراین اندازه خروجی همان
168
00:06:04,479 –> 00:06:07,120
تصویر است که 512 با است. 512 در
169
00:06:07,120 –> 00:06:09,039
170
00:06:09,039 –> 00:06:10,880
یک در اینجا به تعداد کلاس ها اشاره دارد
171
00:06:10,880 –> 00:06:12,960
زیرا ما فقط یک کلاس اصلی داریم که آن
172
00:06:12,960 –> 00:06:15,759
هم صدای
173
00:06:15,759 –> 00:06:18,880
شخص داخل تصویر است، بنابراین خروجی
174
00:06:18,880 –> 00:06:22,080
در مورد ماسک تقسیم بندی باینری
175
00:06:22,080 –> 00:06:25,360
تنها یک کلاس است و ما این
176
00:06:25,360 –> 00:06:27,840
تابع سیگموید را به عنوان
177
00:06:27,840 –> 00:06:29,840
وظیفه تابع سیگموید، هر
178
00:06:29,840 –> 00:06:31,759
مقداری را بین محدوده صفر و یک تبدیل می کند
179
00:06:31,759 –> 00:06:33,280
و در اینجا از یک
180
00:06:33,280 –> 00:06:35,600
مقدار آستانه استفاده می کنیم، فرض کنید 0.5،
181
00:06:35,600 –> 00:06:37,680
بنابراین اگر هر چیزی بزرگتر از 0.5 باشد، 1 خواهد بود
182
00:06:37,680 –> 00:06:38,479
183
00:06:38,479 –> 00:06:40,639
در غیر این صورت 0 خواهد بود، به این ترتیب
184
00:06:40,639 –> 00:06:43,039
آن p را تبدیل می کنیم.
185
00:06:43,039 –> 00:06:44,880
robability در
186
00:06:44,880 –> 00:06:46,880
کلاسهای خاص، این است که آیا
187
00:06:46,880 –> 00:06:49,039
پسزمینه یا پیشزمینه باشد،
188
00:06:49,039 –> 00:06:50,960
حالا همه چیز به مدل مربوط میشود
189
00:06:50,960 –> 00:06:53,759
و در اینجا ما همه تصاویر را بارگذاری کردهایم،
190
00:06:53,759 –> 00:06:55,520
بنابراین میخواهم به شما نشان دهم که دادههای x چگونه
191
00:06:55,520 –> 00:06:58,240
به نظر میرسند تا لیستی از
192
00:06:58,240 –> 00:07:02,599
ما باشد. بعداً دوباره نظر
193
00:07:02,800 –> 00:07:05,360
میدهیم، دوباره آن را اجرا میکنیم،
194
00:07:05,360 –> 00:07:07,599
بنابراین میتوانید ببینید که ما یک تابه داریم که
195
00:07:07,599 –> 00:07:10,479
تصاویر کمتر است.
196
00:07:10,479 –> 00:07:14,000
197
00:07:14,000 –> 00:07:16,400
198
00:07:16,400 –> 00:07:18,319
ما با یک
199
00:07:18,319 –> 00:07:20,080
حلقه for کار میکنیم، بنابراین ما میخواهیم
200
00:07:20,080 –> 00:07:22,160
این لیست را حلقه بزنیم و در اینجا از
201
00:07:22,160 –> 00:07:25,120
این نوار پیشرفت tqdm استفاده کردهایم،
202
00:07:25,120 –> 00:07:27,599
بنابراین اولین قدم برنامه ما استخراج
203
00:07:27,599 –> 00:07:28,639
نام
204
00:07:28,639 –> 00:07:29,440
Okay است
205
00:07:29,440 –> 00:07:31,280
زیرا ما با تصاویر کار
206
00:07:31,280 –> 00:07:33,919
میکنیم و نیاز داریم برای ذخیره در تصویر نهایی
207
00:07:33,919 –> 00:07:35,680
، یعنی همان تصویری که پسزمینه را حذف
208
00:07:35,680 –> 00:07:36,880
209
00:07:36,880 –> 00:07:38,479
کردهایم، بنابراین به یک نام نیاز داریم،
210
00:07:38,479 –> 00:07:39,440
خوب،
211
00:07:39,440 –> 00:07:40,960
پس چه کنیم، میخواهیم
212
00:07:40,960 –> 00:07:42,720
نام را از این تصویر استخراج کنیم، خوب اجازه دهید من
213
00:07:42,720 –> 00:07:44,639
فقط مسیر را برای شما در اینجا چاپ کنم تا
214
00:07:44,639 –> 00:07:46,000
شما می دانید
215
00:07:46,000 –> 00:07:47,759
که چگونه به نظر می رسد
216
00:07:47,759 –> 00:07:49,759
من می دانم که شما از قبل می دانید که چگونه به
217
00:07:49,759 –> 00:07:51,599
نظر می رسد
218
00:07:51,599 –> 00:07:54,879
اساساً شبیه به این لیست است،
219
00:07:54,879 –> 00:07:56,960
می توانید ببینید که این نوار پیشرفت است و
220
00:07:56,960 –> 00:07:59,199
این نام تصویر است،
221
00:07:59,199 –> 00:08:00,800
بنابراین باید این تصویر نام را استخراج
222
00:08:00,800 –> 00:08:02,000
223
00:08:02,000 –> 00:08:03,120
224
00:08:03,120 –> 00:08:05,120
کنیم، بنابراین کاری که می خواهیم انجام دهیم،
225
00:08:05,120 –> 00:08:07,440
از متغیری به نام استفاده می کنیم. نام و
226
00:08:07,440 –> 00:08:09,039
ما از split
227
00:08:09,039 –> 00:08:11,759
برای تقسیم نقطه استفاده می
228
00:08:11,759 –> 00:08:13,520
کنیم، بنابراین ما آن را بر اساس اسلش تقسیم می کنیم،
229
00:08:13,520 –> 00:08:14,479
230
00:08:14,479 –> 00:08:15,919
اکنون این عملکرد
231
00:08:15,919 –> 00:08:18,879
برای کاربر ویندوز متفاوت خواهد بود
232
00:08:18,879 –> 00:08:21,599
زیرا اگر نشان دهم از یک
233
00:08:21,599 –> 00:08:24,879
سیستم لینوکس کوچک استفاده می کنم. شما من
234
00:08:24,879 –> 00:08:28,759
از ubuntu 20.0.0.4
235
00:08:29,840 –> 00:08:32,958
lds استفاده می کنم، امیدوارم که آن را خوب دریافت کنید،
236
00:08:32,958 –> 00:08:34,799
زیرا برای کارکرد آن در ویندوز باید تغییراتی در آن اعمال شود،
237
00:08:34,799 –> 00:08:36,320
زیرا
238
00:08:36,320 –> 00:08:38,640
ویندوز از اسلش
239
00:08:38,640 –> 00:08:41,360
های متفاوتی مانند
240
00:08:41,360 –> 00:08:44,959
Okay استفاده می کند، بنابراین باید آن را بررسی کرده و
241
00:08:44,959 –> 00:08:48,160
تصحیح کنید. چیزی که بر این اساس
242
00:08:48,480 –> 00:08:49,440
مثل
243
00:08:49,440 –> 00:08:51,600
یک سوال من همیشه من نمی دانم چرا
244
00:08:51,600 –> 00:08:53,760
بچه ها از ویندوز برای برنامه نویسی لایک استفاده
245
00:08:53,760 –> 00:08:54,720
می کنند من احساس می کنم
246
00:08:54,720 –> 00:08:56,880
لینوکس بسیار بهتر است زیرا از
247
00:08:56,880 –> 00:08:58,800
سخت افزار کمتری استفاده
248
00:08:58,800 –> 00:09:01,120
249
00:09:01,120 –> 00:09:02,320
250
00:09:02,320 –> 00:09:04,320
می کند.
251
00:09:04,320 –> 00:09:06,160
وقتی از ubuntu l استفاده می کنم چه احساسی دارم مثلاً از
252
00:09:06,160 –> 00:09:08,399
پنج تا شش سال گذشته در اینجا احساس میکنم اوبونتو
253
00:09:08,399 –> 00:09:11,440
برای برنامهنویسی بسیار بهتر است، زیرا
254
00:09:11,440 –> 00:09:13,040
به شما کنترل
255
00:09:13,040 –> 00:09:15,680
بیشتری میدهد، شما احساس بهتری دریافت میکنید، احساس بهتری پیدا میکنید
256
00:09:15,680 –> 00:09:16,720
257
00:09:16,720 –> 00:09:17,839
258
00:09:17,839 –> 00:09:19,920
.
259
00:09:19,920 –> 00:09:22,160
بحث بین اوبونتو و
260
00:09:22,160 –> 00:09:24,320
ویندوز بیایید با برنامه ادامه دهیم،
261
00:09:24,320 –> 00:09:25,839
بنابراین وقتی این مسیر نمایش داده شد،
262
00:09:25,839 –> 00:09:28,959
میخواهیم از این کلاس استفاده کنیم، اکنون
263
00:09:28,959 –> 00:09:30,640
نام آن را اینجا چاپ
264
00:09:30,640 –> 00:09:32,320
میکنم و میخواهیم ببینیم
265
00:09:32,320 –> 00:09:35,200
که چگونه به نظر میرسد
266
00:09:35,200 –> 00:09:36,880
که میتوانید ببینید که دارد. این را به
267
00:09:36,880 –> 00:09:38,800
دو چیز مجزا یعنی images و
268
00:09:38,800 –> 00:09:41,200
picture.jpg تقسیم کردیم، بنابراین ما به آخرین مورد
269
00:09:41,200 –> 00:09:43,200
از لیست نیاز داریم، بنابراین میخواهیم بگوییم منهای
270
00:09:43,200 –> 00:09:44,160
یک،
271
00:09:44,160 –> 00:09:46,880
بنابراین اکنون خروجی ما تصویر.jpg است،
272
00:09:46,880 –> 00:09:48,800
بنابراین باید این تصویر را از
273
00:09:48,800 –> 00:09:50,880
اینجا استخراج کنیم، پس ما می خواهیم انجام دهیم،
274
00:09:50,880 –> 00:09:54,720
دوباره آن را بر اساس این نقطه تقسیم می کنیم،
275
00:09:56,000 –> 00:09:56,800
خوب
276
00:09:56,800 –> 00:09:58,800
حالا دوباره یک لیست
277
00:09:58,800 –> 00:10:00,560
خواهیم داشت، بیایید آن لیست را ببینیم و آن لیست
278
00:10:00,560 –> 00:10:02,640
شامل دو کلمه است که تصویر
279
00:10:02,640 –> 00:10:05,040
و jpg است، بنابراین اکنون به اولین مورد نیاز داریم. کلمه
280
00:10:05,040 –> 00:10:07,440
از اینجا که صفر است،
281
00:10:07,440 –> 00:10:10,000
بنابراین اکنون نام شامل می شود نام دقیق
282
00:10:10,000 –> 00:10:11,279
283
00:10:11,279 –> 00:10:12,959
تصویر خوب است، بنابراین این نام
284
00:10:12,959 –> 00:10:14,240
تصویر است،
285
00:10:14,240 –> 00:10:16,240
بنابراین اولین کاری که انجام می شود
286
00:10:16,240 –> 00:10:20,320
، امیدوارم متوجه شده باشید که چگونه کار می کند،
287
00:10:20,320 –> 00:10:22,880
اکنون باید تصویر را بخوانیم،
288
00:10:22,880 –> 00:10:25,200
289
00:10:28,959 –> 00:10:32,160
بنابراین می گوییم تصویر برابر با cv است تا
290
00:10:32,160 –> 00:10:33,920
من خوانده شده باشم
291
00:10:33,920 –> 00:10:35,360
و در داخل آن به
292
00:10:35,360 –> 00:10:37,440
مسیر تصویر می رویم و تصویر
293
00:10:37,440 –> 00:10:41,040
را به صورت rgb می خوانیم پس rgb به قرمز سبز و
294
00:10:41,040 –> 00:10:42,800
آبی مراجعه کنید که سه
295
00:10:42,800 –> 00:10:46,600
کانال داخل تصویر است
296
00:10:47,200 –> 00:10:50,079
بسیار خوب پس اکنون تصویر را به صورت rgb خوانده ایم.
297
00:10:50,079 –> 00:10:51,760
بیایید ارتفاع و عرض آن را پیدا
298
00:10:51,760 –> 00:10:53,519
کنیم زیرا بعداً به این ابعاد نیاز خواهیم داشت
299
00:10:53,519 –> 00:10:55,600
300
00:10:55,600 –> 00:10:58,079
، به همین دلیل است که آنها را در اینجا ذخیره می
301
00:10:58,079 –> 00:11:00,320
کنم مطمئن شوید که h کوچک و w کوچک
302
00:11:00,320 –> 00:11:01,839
به ارتفاع و عرض تصویر و
303
00:11:01,839 –> 00:11:04,560
h بزرگ و w بزرگ به
304
00:11:04,560 –> 00:11:06,800
جهانی اشاره دارد. پارامتر pep که ارتفاع و
305
00:11:06,800 –> 00:11:08,880
عرض
306
00:11:08,880 –> 00:11:11,040
آن است که در آن اندازه تصویر باید تغییر اندازه داده شود،
307
00:11:11,040 –> 00:11:13,680
بنابراین می توانید بگویید x برابر است با
308
00:11:13,680 –> 00:11:16,720
تغییر اندازه نقطه cb2
309
00:11:16,720 –> 00:11:18,399
و ما می گوییم تصویر تصویر
310
00:11:18,399 –> 00:11:20,560
اساساً یک آرایه numpy است که قبلاً
311
00:11:20,560 –> 00:11:23,760
دیده ایم، آرایه numpy را اینجا وارد کرده ایم
312
00:11:23,760 –> 00:11:24,720
و اکنون
313
00:11:24,720 –> 00:11:28,720
این تصویر را وارد کرده ایم.
314
00:11:28,720 –> 00:11:30,880
هنگامی که این تابع مسیر و را می گیرد، یک آرایه numpy است
315
00:11:30,880 –> 00:11:31,680
این
316
00:11:31,680 –> 00:11:34,640
متغیر خوب است، بنابراین یک آرایه numpy را برمی گرداند،
317
00:11:34,640 –> 00:11:36,160
318
00:11:36,160 –> 00:11:38,880
اکنون باید اندازه آن را
319
00:11:38,880 –> 00:11:40,839
عرض به
320
00:11:40,839 –> 00:11:43,839
ارتفاع تغییر دهیم بسیار خوب، اکنون می خواهم
321
00:11:43,839 –> 00:11:45,279
چیزی را به شما نشان دهم، بنابراین
322
00:11:45,279 –> 00:11:48,800
ابعاد این تصویر آرایه numpy را بررسی می کنیم
323
00:11:48,800 –> 00:11:49,839
و سپس می خواهیم ببینیم
324
00:11:49,839 –> 00:11:52,000
بعد این x
325
00:11:52,000 –> 00:11:55,200
که در کنار این آرایه numpy تغییر اندازه است، از نظر
326
00:11:55,200 –> 00:11:56,880
فنی میتوانیم آن را در آرایه numpy بگوییم،
327
00:11:56,880 –> 00:11:58,320
نه یک تصویر
328
00:11:58,320 –> 00:12:00,160
خوب است، بنابراین میتوانید ببینید که این ارتفاع
329
00:12:00,160 –> 00:12:02,480
و عرض تصویر اصلی است، سپس
330
00:12:02,480 –> 00:12:04,560
اندازه آن را تغییر دادیم
331
00:12:04,560 –> 00:12:05,440
خوب
332
00:12:05,440 –> 00:12:07,200
این کار انجام شد، اندازه آن را تغییر دادیم. اکنون
333
00:12:07,200 –> 00:12:09,279
میخواهیم آن را با
334
00:12:09,279 –> 00:12:11,839
تقسیم پیکسلش به 255 که حداکثر مقدار پیکسل است، نرمال کنیم،
335
00:12:11,839 –> 00:12:13,600
بنابراین اکنون محدوده مقدار پیکسل
336
00:12:13,600 –> 00:12:15,360
بین 0 و 1 است.
337
00:12:15,360 –> 00:12:17,360
سپس آن را به float
338
00:12:17,360 –> 00:12:20,399
32 تبدیل میکنیم و سپس به بعد منبسط شده را
339
00:12:20,399 –> 00:12:24,000
در امتداد محور اول اضافه کنید
340
00:12:24,000 –> 00:12:26,240
خوب
341
00:12:26,880 –> 00:12:28,800
این کار انجام می شود بله حالا دوباره می
342
00:12:28,800 –> 00:12:32,480
خواهم بعد x okay را به شما نشان دهم
343
00:12:33,600 –> 00:12:35,920
بیایید آن را اجرا کنیم و ببینیم
344
00:12:35,920 –> 00:12:39,120
چگونه به نظر می رسد بنابراین می توانید ببینید که ما
345
00:12:39,120 –> 00:12:40,959
یکی را اینجا اضافه کرده ایم
346
00:12:40,959 –> 00:12:44,160
خوب است زیرا اوه این یک تصویر واحد است
347
00:12:44,160 –> 00:12:45,600
و
348
00:12:45,600 –> 00:12:47,440
اگر یک تصویر یا n بدهیم بیشتر می دهیم
349
00:12:47,440 –> 00:12:49,519
آرایه umpy در یک مدل به صورت دستهای در میآید،
350
00:12:49,519 –> 00:12:51,519
بنابراین وقتی یک تصویر
351
00:12:51,519 –> 00:12:52,959
داریم، میخواهیم دستهای از یک تصویر ایجاد کنیم،
352
00:12:52,959 –> 00:12:55,279
بنابراین اساساً یک دسته از یک
353
00:12:55,279 –> 00:12:58,720
تصویر با اندازه 512 در 500 است
354
00:12:58,720 –> 00:13:02,880
. می خواهم یک پیش بینی انجام
355
00:13:04,079 –> 00:13:07,839
دهم خوب اجازه دهید این اوج سرمایه را بسازم
356
00:13:08,000 –> 00:13:10,800
تا بگوییم y برابر است با
357
00:13:10,800 –> 00:13:11,839
آن
358
00:13:11,839 –> 00:13:13,279
این است y
359
00:13:13,279 –> 00:13:15,360
خوب اجازه دهید فقط این را از یک حذف
360
00:13:15,360 –> 00:13:17,360
کنم و بگویم من دوباره می خواهم شکل را بدهم
361
00:13:17,360 –> 00:13:18,560
362
00:13:18,560 –> 00:13:20,399
زیرا ما یکی داده ایم تصویر به عنوان
363
00:13:20,399 –> 00:13:21,360
364
00:13:21,360 –> 00:13:23,839
ورودی خروجی نیز یک ماسک
365
00:13:23,839 –> 00:13:26,160
خواهد بود و دو ماسک نخواهد بود زیرا مدل
366
00:13:26,160 –> 00:13:29,600
فقط یک ماسک را پیشبینی میکند
367
00:13:31,279 –> 00:13:32,800
368
00:13:32,800 –> 00:13:34,720
369
00:13:34,720 –> 00:13:37,760
خوب است، پس از اینکه دوباره آن را اجرا
370
00:13:37,760 –> 00:13:39,600
کنیم باید این دستور چاپ را از اینجا حذف کنیم، بسیار خوب است
371
00:13:39,600 –> 00:13:41,440
تا اندازه را اشتباه نگیریم.
372
00:13:41,440 –> 00:13:43,440
کمی طول می کشد خوب حالا
373
00:13:43,440 –> 00:13:45,920
می توانید ببینید بهترین اندازه آن است که به این
374
00:13:45,920 –> 00:13:47,680
دلیل است که شما یک تصویر دارید و ارتفاع
375
00:13:47,680 –> 00:13:50,560
و عرض آن 512 در 512 است و یک
376
00:13:50,560 –> 00:13:52,800
کلاس است و یک کانال دارد
377
00:13:52,800 –> 00:13:56,320
خوب است زیرا یک ماسک باینری است
378
00:13:56,320 –> 00:13:57,839
بنابراین اکنون ما دوباره
379
00:13:57,839 –> 00:13:59,600
می گوییم صفر، در
380
00:13:59,600 –> 00:14:01,839
موقعیتی که
381
00:14:01,839 –> 00:14:05,199
اکنون شکل می شود 512 در 51 می شود. 2 به
382
00:14:05,199 –> 00:14:06,399
یک
383
00:14:06,399 –> 00:14:07,519
خوب
384
00:14:07,519 –> 00:14:09,279
حالا این ماسک است
385
00:14:09,279 –> 00:14:10,800
حالا کاری که ما می خواهیم انجام دهیم،
386
00:14:10,800 –> 00:14:15,199
اندازه این تصویر را 512 در 500 به تصویر اصلی تغییر می
387
00:14:15,199 –> 00:14:18,000
دهیم بسیار خوب، ما مطمئن می شویم که
388
00:14:18,000 –> 00:14:20,000
اندازه ماسک پیش بینی
389
00:14:20,000 –> 00:14:21,760
با تصویر اصلی یکسان است تا بتوانیم مطابقت داشته باشیم.
390
00:14:21,760 –> 00:14:24,000
چیزهایی
391
00:14:24,000 –> 00:14:25,680
که می خواهیم بگوییم y برابر است با
392
00:14:25,680 –> 00:14:26,720
393
00:14:26,720 –> 00:14:27