ตั้งแต่เริ่มต้น - สร้างโมเดลและเรียกใช้แอปพลิเคชันเพื่อทำการอนุมานบนภาพ
แนะนำให้ใช้สภาพแวดล้อมเสมือนจริงเพื่อไม่ให้ขัดแย้งกับ Python รุ่นอื่น ๆ ที่มีอยู่และอาจไม่เข้ากันได้ (ระหว่าง 3.8 ถึง 3.11) รุ่น Python มี จำกัด เนื่องจากข้อกำหนดของห้องสมุด Scikit-Learn การติดตั้ง Scikit-Learn (1.4.0) นี้ได้รับการจัดการโดยข้อกำหนด. txt หากคุณตัดสินใจที่จะไม่ใช้สภาพแวดล้อมเสมือนจริงอย่าลืมถอนการติดตั้ง Python รุ่นอื่นที่ไม่เข้ากันได้ ตรวจสอบการพึ่งพารุ่นที่ไม่เข้ากันได้ที่มีอยู่ในไฟล์ข้อกำหนด. txt นี่อาจเป็นงานที่น่าเบื่อดังนั้นจึงเป็นการดีที่สุดที่จะใช้สภาพแวดล้อมเสมือนจริงแทนและให้ Python เข้าใจเวอร์ชันที่ยอมรับได้ทั้งหมดสำหรับคุณ
1 - ดาวน์โหลด/ติดตั้งรุ่น Python 64 บิตที่ใช้งานได้ (อะไรระหว่าง 3.8 ถึง 3.11)
2 - จากคำสั่ง windows คำสั่งติดตั้ง virtualenv - ตัวอย่าง: pip ติดตั้ง virtualenv
3 -สร้าง virtualenv ในไดเรกทอรีโครงการของคุณ -ตัวอย่าง: Python -m Virtualenv -Python Python310 ASL [ถ้าใช้ Python 3.10] -เพื่อดูว่า Python รุ่นใดที่ติดตั้งในระบบของคุณ: PY -0 -! คำเตือน: ถ้าใช้ Windows/Powershell set -executionPolicy -scope currentUser -ExecutionPolicy ไม่ จำกัด -force
4 -เปิดใช้งาน virtualenv ใหม่ของคุณจากภายในไดเรกทอรีโครงการของคุณ -ตัวอย่าง:. asl scripts เปิดใช้งาน
5 -ควรเห็นพรอมต์คำสั่งที่อัปเดตแสดง VirtualEnv ที่เปิดใช้งาน -ตัวอย่าง: (ASL) PS C: Project Capstone ASL
6 -ตรวจสอบเวอร์ชันของ Python ที่ใช้โดย VirtualEnv -ตัวอย่าง: Python -Version -OUTPUT: Python 3.10.0 [หรือรุ่นของคุณคืออะไร]
7 -ซีดีลงในไดเรกทอรี VirtualEnv -ตัวอย่าง: CD ASL
8-โคลน gitHub repo ไปยังเครื่องท้องถิ่น-ตัวอย่าง: git clone https://github.com/cpetrella-sketch/asl-recognition.git-เอาท์พุท: การโคลนนิ่งลงใน 'ASL-recognition' ... ระยะไกล: การแจกแจงวัตถุ: 518 เสร็จแล้ว ระยะไกล: การนับวัตถุ: 100% (88/88) เสร็จแล้ว ระยะไกล: วัตถุบีบอัด: 100% (54/54) เสร็จสิ้น รีโมท: ทั้งหมด 518 (เดลต้า 35), นำกลับมาใช้ใหม่ 72 (เดลต้า 27), แพ็ค-รีด 430 วัตถุที่ได้รับ: 100% (518/518), 40.60 MIB | 3.62 MIB/S ทำ การแก้ไข Deltas: 100% (270/270) เสร็จแล้ว
9 -ติดตั้งการพึ่งพา python ที่ต้องการ -ไดเรกทอรีการเปลี่ยนแปลง: Cd. ASL -Recognition ASLML
-การพึ่งพาการติดตั้ง -ตัวอย่าง: PIP Install -r rechent.txt -OUTPUT: ... การติดตั้งแพ็คเกจที่รวบรวม:
10 - ดาวน์โหลดทั้งชุดข้อมูลการฝึกอบรมและการทดสอบจากลิงค์ด้านล่าง - full_training_dataset.zip (2.51 gb) https://drive.google.com/file/d/1ups86xkwbjnrwf7qnhexk4infllgjvtk/view? เส้นทางสู่ Dir ควรเป็น: ~./ASL-Recognition/ASLML/IMASST
-full_testing_dataset.zip (38.8 mb) https://drive.google.com/file/d/1urn66jntxcs-s_1kvrsh11pe3vbp3vd-/view?usp=sharing ~./ASL-Recognition/ASLML/IMASST
11 - สร้างชุดข้อมูลแลนด์มาร์คจากภาพ full_training_dataset - ตัวอย่าง: จากภายใน ./asl-recognition/aslml/ - ภายใน create_dataset.py เปลี่ยน“ SamplesizePercentage” เป็นอัตราตัวอย่างที่คุณต้องการ ค่าเริ่มต้นถูกตั้งค่าเป็น 100% ของภาพทั้งหมด - Python. create_dataset.py - เอาท์พุท: กำลังทำงานกับไดเรกทอรี A …กำลังทำงานกับไดเรกทอรี B ……กำลังทำงานในไดเรกทอรี V …กำลังทำงานกับไดเรกทอรี y ...
ชุดข้อมูลชุดข้อมูลที่เลือก: 10% จำนวนภาพที่ประมวลผล (10% ของชุดข้อมูลเต็มรูปแบบ): 8033 การตรวจจับที่ประสบความสำเร็จ (79.73359890451886%): 6405 การตรวจจับล้มเหลว: 1628 การตรวจจับสถานที่สำคัญ
12 - ค้นหาพารามิเตอร์ตัวแยกประเภทป่าสุ่มที่ดีที่สุดและฝึกอบรมโมเดลในชุดข้อมูล - ตัวอย่าง: จาก ~./ASL -Recognition/ASLML - Python. Train_Classifier.py - เอาต์พุต: การแยกข้อมูลออกเป็นการทดสอบและการฝึกอบรมโดยสงวนไว้ 20.0% สำหรับการทดสอบ
การเริ่มต้นการค้นหากริด ... ติดตั้ง 5 เท่าสำหรับผู้สมัคร 16 คนทั้งหมดรวม 80 พอดี [cv] end bootstrap = true, max_depth = none, min_samples_leaf = 1, min_samples_split = 2, n_estimators = 100; เวลาทั้งหมด = 5.1s [cv] สิ้นสุด bootstrap = true, max_depth = none, min_samples_leaf = 1, min_samples_split = 2, n_estimators = 100; เวลาทั้งหมด = 5.4s … [cv] สิ้นสุด bootstrap = false, max_depth = 10, min_samples_leaf = 2, min_samples_split = 2, n_estimators = 200; เวลาทั้งหมด = 9.6S [cv] สิ้นสุด bootstrap = false, max_depth = 10, min_samples_leaf = 2, min_samples_split = 2, n_estimators = 200; เวลาทั้งหมด = 9.2s นี่คือพารามิเตอร์ที่ดีที่สุดที่พบ:
{'bootstrap': false, 'max_depth': ไม่มี, 'min_samples_leaf': 1, 'min_samples_split': 2, 'n_estimators': 200} รายงานการจำแนกประเภท:
precision recall f1-score support
S 0.74 0.95 0.83 58
T 0.94 0.96 0.95 53
U 0.67 0.73 0.70 56
V 0.81 0.75 0.78 59
W 1.00 0.96 0.98 56
X 0.98 0.94 0.96 52
Y 0.97 0.97 0.97 58
accuracy 0.91 1281
มาโคร AVG 0.92 0.91 0.91 1281 น้ำหนัก AVG 0.92 0.91 0.92 1281
91.491022638563622% ของตัวอย่างถูกจัดประเภทอย่างถูกต้อง
เวลาดำเนินการ: 103.08926582336426 วินาที
13 - ทดสอบความถูกต้องของโมเดลที่สร้างขึ้นใหม่ในข้อมูลการทดสอบใหม่ - ตัวอย่าง: จาก ~./ASL -Recognition/ASLML - Python. Conferencetester.py - เอาต์พุต: ไฟล์ภาพ: hand2_a_dif_seg_2_cropped.jpeg
ไฟล์ภาพ: A0001_Test.jpg ตรวจพบสถานที่สำคัญในภาพผู้ใช้ได้สำเร็จ: A0001_TEST.JPG
แบบจำลองทำนายชื่อ dirname คือ: ถูกต้อง !!
ไฟล์ภาพ: a0024_test.jpg ตรวจพบสถานที่สำคัญในภาพผู้ใช้ได้สำเร็จ: a0024_test.jpg
แบบจำลองทำนายชื่อ dirname คือ: ถูกต้อง !! -
ไฟล์ภาพ: hand3_y_dif_seg_5_cropped.jpeg ตรวจพบสถานที่สำคัญในภาพผู้ใช้ได้สำเร็จ: hand3_y_dif_seg_5_cropped.jpeg
แบบจำลองทำนายชื่อ y dirname คือ: y ถูกต้อง !!
การใช้แบบจำลองการฝึกอบรมแบบสุ่ม ForestClassifer: เปอร์เซ็นต์การตรวจจับสถานที่สำคัญที่ประสบความสำเร็จ: 69% เปอร์เซ็นต์การคาดการณ์จดหมายที่ประสบความสำเร็จการตรวจจับ: 76%
จำนวนภาพทดสอบทั้งหมดที่มีอยู่: 2510 26% การสุ่มตัวอย่างสุ่ม จำนวนภาพรวมที่ประมวลผล: 622 จำนวนทั้งหมดของการทำนายที่ถูกต้อง: 332 จำนวนทั้งหมดของการคาดการณ์ที่ไม่ถูกต้อง: 103 จำนวนทั้งหมดของการตรวจจับสถานที่สำคัญที่ประสบความสำเร็จ: 435 จำนวนทั้งหมดของการตรวจจับสถานที่สำคัญที่ไม่สำเร็จ: 187
ใช้แอปพลิเคชัน
14 - คัดลอกโมเดลที่สร้างขึ้นใหม่ไปยัง CGI -BIN - ตัวอย่าง: คัดลอก 'ASLMODEL.JOB' จาก ' . asl-recognition aslml models 'ถึง' . asl -recognition asllocal build models '15 -จากภายใน' ~. asl -recognition asllocal build 'ไดเรกทอรีเริ่มต้นเว็บเซิร์ฟเวอร์ -ตัวอย่าง: python -m http.server --cgi 8990
ใช้แอปพลิเคชัน
1 - เปิดเว็บเบราว์เซอร์และเข้าถึงเว็บเพจ - ตัวอย่าง: http: // localhost: 8990 2 - อัปโหลดภาพ. jpg ASL ASL ภาพท่าทางสำหรับการอนุมาน - คลิกปุ่ม "อัปโหลดไฟล์" - เลือกรูปภาพจากที่เก็บข้อมูลท้องถิ่นของคุณ