สมัครเรียนโทร. 085-350-7540 , 084-88-00-255 , ntprintf@gmail.com

Python

ตรวจจับตำแหน่งของมือจากกล้องเว็บแคมแบบเรียลไทม์ด้วย Python ง่าย ๆ ใน 2 นาที ตรวจจับวัตถุด้วย Python ใน 5 Steps ใช้ AI แบ่งส่วนภาพคนกับฉากหลังแบบง่าย ๆ แป๊บเดียวเสร็จ ใช้ AI บอกท่าทางคนด้วย Code เพียง 15 บรรทัด สร้างแอนิเมชันจากตัวการ์ตูนที่เราวาดเองด้วย Code 2 บรรทัด สร้างไฟล์ท่าเต้นสุดคิวท์ให้ตัวการ์ตูนเต้นตามใน 1 คำสั่ง Top 20 Python Machine Learning Open Source Projects PYTHON Tutorial Python Getting Started Python Syntax Python Comments Python Variables Python Data Types Python Numbers Python Casting Python Strings Python Booleans Python Operators Python Lists Python Tuples Python Sets Python Dictionaries Python If ... Else Python While Loops Python For Loops Python Functions Python Lambda Python Arrays Python Classes and Objects Python Inheritance Python Iterators Python Scope Python Modules Python Datetime Python JSON Python RegEx Python PIP Python Try Except Python User Input Python File Open Python String Formatting Python File Open Python File Write/Create File Python Delete File Poisson Distribution Random Numbers in NumPy Chi Square Distribution Exponential Distribution Rayleigh Distribution Pareto Distribution Zipf Distribution Random Permutations Seaborn Normal (Gaussian) Distribution Binomial Distribution Logistic Distribution Multinomial Distribution NumPy Splitting Array NumPy ufuncs Uniform Distribution NumPy Introduction NumPy Getting Started NumPy Array Indexing NumPy Array Slicing NumPy Data Types NumPy Array Copy vs View NumPy Array Shape NumPy Array Reshaping NumPy Array Iterating NumPy Joining Array NumPy Searching Arrays NumPy Sorting Arrays NumPy Filter Array NumPy Trigonometric Functions NumPy Hyperbolic Functions NumPy Set Operations Create Your Own ufunc Simple Arithmetic Rounding Decimals NumPy Logs NumPy Summations NumPy Products NumPy Differences NumPy LCM Lowest Common Multiple NumPy GCD Greatest Common Denominator Machine Learning Machine Learning - Mean Median Mode Machine Learning - Standard Deviation Machine Learning - Percentiles Machine Learning - Data Distribution Machine Learning - Normal Data Distribution Machine Learning - Scatter Plot Machine Learning - Linear Regression Machine Learning - Multiple Regression Machine Learning - Polynomial Regression Machine Learning - Scale Machine Learning - Train/Test Machine Learning - Decision Tree Python MySQL Python MySQL Create Database Python MySQL Create Table Python MySQL Insert Into Table Python MySQL Select From Python MySQL Where Python MySQL Order By Python MySQL Delete From By Python MySQL Drop Table Python MySQL Update Table Python MySQL Limit Python MySQL Join Python MongoDB Python MongoDB Create Database Python MongoDB Create Database Python MongoDB Create Collection Python MongoDB Insert Document Python MongoDB Find Python MongoDB Query Python MongoDB Sort Python MongoDB Delete Document Python MongoDB Drop Collection Python MongoDB Update Python MongoDB Limit Python Built in Functions Python String Methods Python List/Array Methods Python Dictionary Methods Python Tuple Methods Python Set Methods Python File Methods Python Keywords Python Built-in Exceptions Python Random Module Python math Module Python Requests Module Python cmath Module How to Remove Duplicates From a Python List How to Reverse a String in Python How to Add Two Numbers in Python Random Data Distribution การใช้งาน Python ในการสร้างและจัดการข้อมูลด้วย Linked List เทคนิคการเพิ่มประสิทธิภาพของ Linked List ในภาษา Python การใช้งาน Python เพื่อการสร้างและจัดการ Doubly Linked List อย่างมีประสิทธิภาพ ปรับปรุงโครงสร้างข้อมูลของคุณด้วย Doubly Linked Lists ในภาษา Python เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Python ผ่าน Linked List เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Python ผ่าน Doubly Linked List เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Python ผ่าน Double Ended Queue เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Python ผ่าน ArrayList เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Python ผ่าน Queue เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Python ผ่าน Stack เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Python ผ่าน Tree เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Python ผ่าน Binary Search Tree เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Python ผ่าน AVL Tree เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Python ผ่าน Self-Balancing Tree เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Python ผ่าน Heap เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Python ผ่าน Hash เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Python ผ่าน Priority Queue เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Python ผ่าน Seperate Chaining Hashing เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Python ผ่าน Linear Probing Hashing เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Python ผ่าน Quadratic Probing Hashing เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Python ผ่าน Red-Black Tree เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Python ผ่าน Sisjoint Set เทคนิคการเขียนโค้ดเพื่อการจัดการข้อมูลแบบไดนามิคใน Python ผ่าน Set วิเคราะห์อัลกอริทึมของจิตรา (Dijkstra Algorithm) ผ่านภาษา Python ความลับของ Bellman-Ford Algorithm และการประยุกต์ใช้ในโลกของไพธอน กรีดี้ อัลกอริทึม: กลยุทธ์การเขียนโปรแกรมที่มุ่งหวังผลทันทีในภาษา Python Dynamic Programming คือกุญแจสู่การแก้ไขปัญหาที่ซับซ้อนด้วย Python การทำความเข้าใจกับ Divide and Conquer: กลวิธีการโปรแกรมที่ เปลี่ยนโจทย์ใหญ่ให้เป็นเรื่องง่าย การใช้ Memorization ในการเพิ่มประสิทธิภาพของการเขียนโปรแกรมด้วย Python breadth first search in Python ลึกล้ำกับการค้นหา Depth First Search ในโลกแห่งข้อมูล เบื้องหลังการค้นหาคำตอบด้วย Backtracking และการประยุกต์ใช้ใน Python การตีแผ่ปัญญาของการค้นหาด้วย Branch and Bound Algorithm การค้นหาในพื้นที่สถานะ (State Space Search) ด้วย Python: การแก้ปัญหาอย่างชาญฉลาด Permutation in Python การแบ่งกลุ่มข้อมูลด้วย Set Partition ใน Python - การแก้ปัญหาแบบคลาสสิกในโลก IT การค้นหาเชิงเส้น (Linear Search) ในโลกของ Python และการประยุกต์ใช้ในชีวิตจริง Binary Search in Python Generating All Subsets Using Brute Force: ความจำเป็นของการค้นหาย่อยชุด การใช้งาน Brute Force ผ่านภาษา Python และการประยุกต์ใช้ในโลกแห่งการแก้ปัญหา การแก้ปัญหา 8 Queens Problem ด้วยภาษา Python Knights Tour Problem in Python Travelling Salesman Problem in Python String Matching Algorithm และการใช้งานใน Python Finding Articulation Points (จุดยึด) ใน Graphs ด้วย Python Minimum Spanning Tree และการประยุกต์ใช้ใน Python Minimum Cost Flow Algorithm: อัลกอริธึมที่ค้นหาการไหลของต้นทุนต่ำสุด ปลดล็อคความลับของ CLIQUE Algorithm ด้วยภาษา Python การใช้งาน Sum of Products Algorithm เพื่อการคำนวณที่มีประสิทธิภาพด้วย Python วิเคราะห์ลึกถึง A* Algorithm ทางเลือกของการค้นหาที่มีประสิทธิภาพสูง The Perfect Matching - The Hungarian Method ในภาษา Python ปัญหารินน้ำในโลกโปรแกรมมิ่ง กับ Ford-Fulkerson Algorithm B* Algorithm in Python คู่มือการใช้งาน D* Algorithm ใน Python พร้อมเคล็ดลับในการใช้งาน F* Algorithm - การรวมสองอาร์เรย์โดยใช้ Python Minimax Algorithm ในเกมหมากรุกของคิดและตัดสิน: อาวุธลับของ AI Gaussian Elimination กับการแก้ระบบสมการเชิงเส้นใน Python Randomized Algorithm in Python อัลกอริทึม Monte Carlo กับการใช้งานใน Python Newtons Method in Python ทำความเข้าใจ Mullers Method ทางออกสำหรับการแก้สมการโดยใช้ Python สำรวจ RANSAC ผ่านภาษา Python ประสิทธิภาพของ Particle Filter ในการประมวลผลข้อมูล: การวิเคราะห์อัลกอริทึมด้วย Python Las Vegas Algorithm คืออะไร? ความรวดเร็วแห่งการเรียงลำดับด้วย Quick Sort ในภาษา Python การเรียงลำดับด้วยวิธี Selection Sort และการใช้งานในภาษา Python อัลกอริทึม Bubble Sort: วิธีการเรียงลำดับข้อมูลใน Python Insertion Sort in Python การเรียงลำดับข้อมูลด้วย Merge Sort ใน Python และการใช้งานในโลกจริง แผนภูมิวอร์โนอี: สัมผัสคณิตศาสตร์และโปรแกรมมิ่ง ตัวแปร หรือ Variable คืออะไร การใช้งาน ตัวแปร หรือ Variable ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง ตัวแปรแบบ string คืออะไร การใช้งาน ตัวแปรแบบ string ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง ตัวแปรแบบจำนวนเต็ม หรือ integer คืออะไร การใช้งาน ตัวแปรแบบจำนวนเต็ม หรือ integer ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง numberic variable คืออะไร การใช้งาน numberic variable ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง string variable คืออะไร การใช้งาน string variable ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง if-else คืออะไร การใช้งาน if-else ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง if statement คืออะไร การใช้งาน if statement ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง nested if-else คืออะไร การใช้งาน nested if-else ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง for loop คืออะไร การใช้งาน for loop ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง while loop คืออะไร การใช้งาน while loop ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง do-while loop คืออะไร การใช้งาน do-while loop ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง foreach loop คืออะไร การใช้งาน foreach loop ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง sequencial search คืออะไร การใช้งาน sequencial search ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การหาค่ามากที่สุด และน้อยที่สุด โดยใช้ Loop คืออะไร การใช้งาน การหาค่ามากที่สุด และน้อยที่สุด โดยใช้ Loop ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง recursive function คืออะไร การใช้งาน recursive function ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง try-catch คืออะไร การใช้งาน try-catch ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง loop คืออะไร การใช้งาน loop ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง nested loop คืออะไร การใช้งาน nested loop ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง loop and if-else inside loop คืออะไร การใช้งาน loop and if-else inside loop ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง math function sqrt sin cos tan คืออะไร การใช้งาน math function sqrt sin cos tan ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง for each คืออะไร การใช้งาน for each ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง dynamic typing variable คืออะไร การใช้งาน dynamic typing variable ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง function คืออะไร การใช้งาน function ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง return value from function คืออะไร การใช้งาน return value from function ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง parameter of function คืออะไร การใช้งาน parameter of function ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง sending function as variable คืออะไร การใช้งาน sending function as variable ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง array คืออะไร การใช้งาน array ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง array 2d คืออะไร การใช้งาน array 2d ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง dynamic array คืออะไร การใช้งาน dynamic array ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง OOP object oriented programming คืออะไร การใช้งาน OOP object oriented programming ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง class and instance คืออะไร การใช้งาน class and instance ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง calling instance function คืออะไร การใช้งาน calling instance function ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง constructor คืออะไร การใช้งาน constructor ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง set and get function and OOP concept คืออะไร การใช้งาน set and get function and OOP concept ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง encapsulation in OOP concept คืออะไร การใช้งาน encapsulation in OOP concept ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง polymorphism in OOP concept คืออะไร การใช้งาน polymorphism in OOP concept ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง accesibility in OOP concept คืออะไร การใช้งาน accesibility in OOP concept ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง inheritance in OOP concept คืออะไร การใช้งาน inheritance in OOP concept ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง multiple inheritance in OOP concept คืออะไร การใช้งาน multiple inheritance in OOP concept ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง useful function of string คืออะไร การใช้งาน useful function of string ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง useful function of array คืออะไร การใช้งาน useful function of array ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง file คืออะไร การใช้งาน file ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง read file คืออะไร การใช้งาน read file ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง write file คืออะไร การใช้งาน write file ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง append file คืออะไร การใช้งาน append file ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน static method ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create simple game ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน generic and generic collection ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Read binary file ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Write binary file ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Export data to json ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Export data to XML ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Append binary file ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Create simple question and answer program ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน List ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Map ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Set ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Math abs ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Math atan2 ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Dictionary ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Multi-Thread ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Asynchronous programming ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Functional programming ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Class and object ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Operator ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Operator precedence ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Comparison operator ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Bitwise operator ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Approximation sine by Taylor series ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Approximation Factorial for large number by Stirlings approximation ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Longest common subsequent ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Is it Palindrome ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Longest palindrome in string ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Is number that have been input , palindrome ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน String substring ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน String join ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน String split ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน String indexOf ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน String trim ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน String compare ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน String last index of ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Integration a function by mid-point approximation algorithm ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Integrate a function by trapezoidal integration algorithm ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน find leap year ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Finding day of year ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Catalang number generator ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Finding summation of nested list by recursive function ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Fastest power calculation (case power number is integer) using Exponentiation by squaring ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Logical operator ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Keywords and reserved words ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Finding maximum from array ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Finding minimum from array ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Sum all element in array ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Average from all element in array ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Filter element in array ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Accumulating from array ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน square all element in array and store to another array ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน MySQL insert data to table using prepared statement ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน MySQL select data from table using prepared statement ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน MySQL update data from table using prepared statement ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน MySQL delete a row from table ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน MySQL create table ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Postgresql create a table step by step ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน PostgreSQL insert to table using prepared statement ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน PostgreSQL select from table using prepared statement ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน PostgreSQL update table using prepared statement ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน PostgreSQL delete a row in table using prepared statement ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Linear regression ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Quadratic regression ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Graph fiitting ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Implement perceptron ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Implement neural network 2 layers ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน K-NN algorithm ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Decision Tree algorithm ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Http request using get method ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Http request using post method passing by JSON ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Web server waiting for http request ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Using CURL ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน OpenCV ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน OpenGL ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI create a form ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI create a button and waiting for click event ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI create a textBox and waiting for text change event ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI create combo box and waiting for selected change ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI create Scoll pane ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI create ListBox ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI create PictureBox ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI create Data Table ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI create RichTextBox Multiline ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI create new Windows ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI create menubar ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI create Label ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI drawing colorful Rabbit ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI drawing colorful Cat ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Create pie chart from data ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Create bar chart from data ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Line chart from data ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Show data table ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน SHA-256 hash algorithm ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน MD-5 hash algorithm ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Printing data to printer ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Sending RS232 com port ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Reading from RS232 comport ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน GUI drawing colorful tiger ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Drawing rabbit in native gui ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Drawing tiger in native gui ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Drawing Union Jack flag in native gui ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Drawing USA flag in native GUI ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Create OX game ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Create chess game ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Create ladder and snake game ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Create monopoly game ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Simple calculator ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Scientific calculator ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Linked List from scratch without using lib ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Doubly Linked List from scratch without using lib ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Double Ended Queue from scratch without using lib ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own ArrayList from scratch without using lib ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Queue from scratch without using lib ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Stack เองแบบไม่ใช้ lib เขียน pop, push , top ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Tree เองแบบไม่ใช้ lib , insert tree ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Binary Search Tree เองแบบไม่ใช้ lib , insert , find , delete ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own AVL Tree from scratch without using lib ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Self-Balancing Tree from scratch without using lib ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Heap from scratch without using lib ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Hash from scratch without using lib ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Priority Queue from scratch without using lib ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Hash โดยใช้วิธี Seperate Chaining Hashing from scratch without using lib ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Hash โดยใช้วิธี Linear Probing Hashing from scratch without using lib ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Quadratic Probing Hashing from scratch without using lib ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Map เองแบบไม่ใช้ lib , insert , find , delete ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own Set from scratch without using lib ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own directed graph เองแบบไม่ใช้ lib ใช้ matrix แทน adj ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own undirected graph เองแบบไม่ใช้ lib ใช้ matrix แทน adj ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own directed graph เองแบบไม่ใช้ lib ใช้ linked list เป็น Adj ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create your own undirected graph เองแบบไม่ใช้ lib using linked list เป็น Adj ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน howto using interface in OOP ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Async ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Thread ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Multi-process ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน return vs yeild ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน serial port or comport write and read ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Parse JSON to object ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน Parse JSON to array ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน create mini web server ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน web scraping ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน calling API ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การใช้งาน call API with access token ในภาษา Python แบบง่ายๆ พร้อมตัวอย่าง การเขียน Code MySQL CRUD โดยใช้ภาษา Python การเขียน Code NoSQL CRUD โดยใช้ภาษา Python การเขียน Code MongoDB โดยใช้ภาษา Python การเขียน Code Memcache CRUD โดยใช้ภาษา Python การเขียน Code Redis โดยใช้ภาษา Python Pandas Tutorials สร้าง Web Application โดยใช้ Django และ Deploy บน AWS EC2

 

AI104 - Video to BVH

สร้างไฟล์ท่าเต้นสุดคิวท์ให้ตัวการ์ตูนเต้นตามใน 1 คำสั่ง!

เสร็จแล้วจะได้ออกมาเป็นวิดีโอ ลดน้ำหนัก 10 กิโลใน 2 สัปดาห์กับพี่โชโกะและพี่หมี EPT แบบนี้

ขอขอบคุณวิดีโอต้นฉบับจาก はいだしょうこ - 笑顔で本気のHAND CLAP〜3回リピート10分ver.〜

 

ท่านผู้อ่านรู้จัก Motion Capture กันไหมครับ? Motion Capture เป็นกระบวนการแปลการเคลื่อนไหวของคนหรือสิ่งต่าง ๆ จากโลกจริงให้เป็นข้อมูลดิจิทัลที่คอมพิวเตอร์สามารถเข้าใจได้ ซึ่งเป็นเรื่องที่มีประโยชน์มากตั้งแต่ใช้ทำงานวิจัยไปจนถึงอุตสาหกรรมบันเทิงที่ทุกท่านน่าจะเคยเห็นผ่านตากันมาบ้าง เพราะเป็นกระบวนการที่อยู่เบื้องหลังภาพยนตร์และแอนิเมชันหลาย ๆ เรื่องเลยทีเดียว ตัวอย่างเช่นเรื่อง Avatar ของเจมส์ คาเมรอน ก็ใช้ Motion Capture มาจับทั้งท่าทางและสีหน้าของนักแสดงเช่นกันครับ

การทำ Motion Capture มีมาตั้งแต่ช่วงคริสต์ทศวรรษ 1970 ตลอดหลายปีที่ผ่านมานี้มีผู้คิดค้นเทคนิคต่าง ๆ ขึ้นมามากมาย เทคนิคที่นิยมใช้มากที่สุดจนถึงสมัยนี้คือวิธีใช้ตัว Marker สะท้อนแสงติดตามจุดต่าง ๆ ที่ตัวนักแสดง เช่นตัวอย่างจากเรื่อง Avatar ในภาพด้านบน เวลาถ่ายทำจะใช้กล้องถ่ายจากหลาย ๆ มุมแล้วประมวลผลออกมา ถือเป็นระบบที่นิยมที่สุด แม่นยำที่สุด ยืดหยุ่นที่สุด อยากจับการเคลื่อนไหวของอะไรก็ทำได้ทั้งนั้น แต่แน่นอนว่าของดีแบบนี้ย่อมต้องมาพร้อมขั้นตอนการใช้งานที่ยุ่งยากและค่าใช้จ่ายที่ค่อนข้างสูงมาก มีตั้งแต่หลักหลายแสนไปจนหลายล้าน ดังนั้นเราจึงมักจะเห็นระบบนี้ได้ตามมหาวิทยาลัยหรือตามสตูดิโอหรือตามบริษัทใหญ่ ๆ เท่านั้น นอกจากเทคนิคนี้ก็ยังมีเทคนิคที่ใช้เซนเซอร์ในการตรวจจับการเคลื่อนไหวด้วยซึ่งจะมีราคาถูกกว่าแต่แม่นยำสู้ไม่ได้ครับ 

 

อ่าว แล้วถ้าอยากทำ Motion Capture ที่บ้านแต่ไม่อยากเสียเงินล่ะ? 

สำหรับท่านผู้อ่านที่กำลังมีคำถามนี้ในใจ ไม่ต้องกังวลไปครับ ทาง EPT หาคำตอบและวิธีการมาเสิร์ฟให้ท่านถึงที่แล้ว ๆ ๆ นั่นคือ AI นั่นเอง! เทคนิคการทำ Motion Capture ด้วย AI นั้นเป็นเทคนิคที่ใหม่ที่สุด ต้นทุนต่ำที่สุด และเชื่อว่าจะเป็นที่นิยมที่สุดในอนาคตด้วย เทคนิคนี้ใช้เพียงแค่ไฟล์วิดีโอที่ถ่ายภาพเคลื่อนไหวของคนเท่านั้น ดังนั้นแน่นอนว่าย่อมต้องมีจุดอ่อนเรื่องความแม่นยำ แต่ถ้าเราไม่ได้จะเอาไปทำงานวิจัยที่เกี่ยวพันกับชีวิตมนุษย์ซึ่งต้องการความแม่นยำสูงหรือเอาไปทำภาพยนตร์หรือเกมระดับ AAA แค่เทคโนโลยี AI ณ ขณะที่เขียนบทความนี้ก็เพียงพอสำหรับใช้ในครัวเรือนหรือบริษัทเล็ก ๆ แล้วครับ  

ในบทความ AI103 - Animated Drawings เราได้สร้างแอนิเมชันจากตัวการ์ตูนที่เราวาดเองกันไปแล้ว แต่ตัวการ์ตูนของเราทำได้แค่ท่าทางจากตัวอย่างที่มีให้แล้วเท่านั้น ซึ่งแน่นอนว่าหลายคนคงอยากให้ตัวการ์ตูนขยับตามท่าที่กำหนดเองมากกว่า ดังนั้นในบทความนี้เราจะมาสร้างไฟล์ท่าเต้นจากไฟล์วิดีโอสำหรับนำไปกำหนดท่าให้ตัวการ์ตูนขยับตามด้วย AI กันครับ ทั้งนี้ถึงแม้บทความนี้จะไม่ยากแต่จะยุ่งยากตอนเตรียมตัวอยู่สักหน่อย ผู้อ่านจำเป็นต้องมีความรู้เรื่องคอมพิวเตอร์และการใช้ Command Line พื้นฐานนะครับ

ใครงงตั้งแต่คำว่า Command Line ขอแนะนำคอร์ส SUPER USER (SU101) เพื่อปูพื้นฐานก่อนเลยครับ สำหรับใครที่สนใจคอร์สเรียน AI แต่ยังไม่มีพื้นฐานเขียนโปรแกรมมาก่อน ขอแนะนำคอร์ส Python + Web Programming + Machine Learning (PY203) ของทาง EPT ที่สอนแบบจัดเต็มตั้งแต่พื้นฐาน Python จนลงลึกถึงทฤษฎี AI ซึ่งเป็นคอร์สที่มีหลักสูตรเทียบเท่าเรียนในมหาวิทยาลัยชั้นนำ 2-3 ปีเลยครับ

พิเศษวันนี้! หากสมัครคอร์ส Python + Web Programming + Machine Learning (PY203) แล้วแจ้งผ่านทางกล่องข้อความของเพจ Expert.Programming.Tutor ว่ามาสมัครเพราะอ่านบทความนี้ ทางเราจะแถมคอร์ส SUPER USER (SU101) ให้ไปเรียนด้วยแบบฟรี ๆ เลยครับ

 

เตรียมตัวก่อนเริ่มทำ

ก่อนจะทำตามบทความนี้จะต้องทำตามบทความ AI103 - Animated Drawings ให้ได้แอนิเมชันออกมาก่อนนะครับ

 

สร้าง Virtual environment และติดตั้ง Library และ Package ที่จำเป็นต้องใช้

1. เปิดโปรแกรม Anaconda Prompt ขึ้นมาแล้วพิมพ์คำสั่งต่อไปนี้และรันทีละคำสั่ง เพื่อสร้างและ activate virtual environment ซึ่ง virtual environment ที่ใช้ในบทความนี้จะตั้งชื่อว่า bvh

หมายเหตุ: ระหว่างสร้าง environment จะมีข้อความถามว่า Proceed ([y]/n)? ให้พิมพ์ y แล้วกด Enter เพื่อดำเนินการต่อ

conda create --name bvh python=3.8.13
conda activate bvh

 

2. พิมพ์คำสั่งต่อไปนี้และรันทีละคำสั่งเพื่อโคลน Project และติดตั้ง Library ที่จำเป็น

หมายเหตุ: คำสั่งแต่ละช่องคือ 1 บรรทัด

git clone https://github.com/HW140701/VideoTo3dPoseAndBvh.git
cd VideoTo3dPoseAndBvh
pip install -e git+https://github.com/ncullen93/torchsample.git#egg=torchsample
pip install visdom nibabel h5py tqdm pillow scipy pandas opencv-python matplotlib torchvision yacs

 

3. ติดตั้ง PyTorch โดยคลิกเลือกและดูคำสั่งสำหรับติดตั้งจากเว็บ PyTorch

- ตัวอย่างคำสั่งติดตั้งสำหรับเครื่องที่จะใช้ CPU คำนวณอย่างเดียว

pip3 install torch torchvision torchaudio


- ตัวอย่างคำสั่งติดตั้งสำหรับเครื่องที่จะใช้ GPU ก่อนอื่นต้องดูเวอร์ชันของ CUDA ในเครื่องเราก่อนด้วยคำสั่ง

nvcc --version


จากนั้นถึงจะดูคำสั่งสำหรับติดตั้งจากเว็บ PyTorch เพราะต้องใช้ Compute Platform ให้ตรงกับที่เครื่องเรามี เช่นถ้ามี CUDA 11.7 คำสั่งสำหรับติดตั้งจะเป็นดังนี้

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117



 

4. ติดตั้ง FFmpeg

- ดาวน์โหลดไฟล์ ffmpeg.exe จากเว็บ FFmpeg

- เอาไฟล์ ffmpeg.exe ที่ดาวน์โหลดมาไปใส่ไว้ในโฟลเดอร์เดียวกับโฟลเดอร์ที่ติดตั้ง Python ของ Environment ถ้าไม่รู้ว่าอยู่ไหนสามารถดูได้โดยพิมพ์คำสั่งดังนี้

where python


 

ดาวน์โหลดโมเดลที่จำเป็นต้องใช้

1. 2D Joint detectors ในบทความนี้จะใช้ Alphapose 

  • ดาวน์โหลดไฟล์ duc_se.pth จากที่นี่ แล้วนำไปใส่ในโฟลเดอร์ joints_detectors\Alphapose\models\sppe ที่อยู่ในโฟลเดอร์ Project 
  • ดาวน์โหลดไฟล์ yolov3-spp.weights จากที่นี่ แล้วนำไปใส่ในโฟลเดอร์ joints_detectors\Alphapose\models\yolo ที่อยู่ในโฟลเดอร์ Project 

2. 3D Joint detectors

  • ดาวน์โหลดไฟล์ pretrained_h36m_detectron_coco.bin จากที่นี่ แล้วนำไปใส่ในโฟลเดอร์ checkpoint ที่อยู่ในโฟลเดอร์ Project 

 

แปลงไฟล์วิดีโอเป็นไฟล์ BVH เพื่อสร้างไฟล์ท่าเต้น

1. นำวิดีโอที่มีภาพเคลื่อนไหวของท่าทางที่ต้องการไปใส่ในโฟลเดอร์ outputs\inputvideo ที่อยู่ในโฟลเดอร์ Project เช่นในตัวอย่างนี้คือวิดีโอชื่อ handclap.mp4 ซึ่งตัดส่วนหนึ่งมาจากคลิปนี้

2. เปิดไฟล์ videopose.py ที่อยู่ในโฟลเดอร์ Project ขึ้นมาและแก้ชื่อไฟล์วิดีโอในคำสั่ง inference_video('outputs/inputvideo/kunkun_cut.mp4', 'alpha_pose') ที่อยู่บรรทัดล่างสุดของไฟล์เป็นชื่อวิดีโอในขั้นตอนที่ 1 ของเราเอง เช่นในตัวอย่างนี้จะแก้เป็นดังนี้

หมายเหตุ: หลังจากแก้คำสั่งแล้วอย่าลืมบันทึกไฟล์ด้วย

inference_video('outputs/inputvideo/handclap.mp4', 'alpha_pose')



 

3. กลับมาที่หน้าต่าง Anaconda Prompt (ที่ activate environment ชื่อ bvh อยู่) แล้วพิมพ์คำสั่งต่อไปนี้เพื่อรันโปรแกรมสร้างไฟล์ BVH

python videopose.py


หมายเหตุ 1: สำหรับเครื่องที่รันแล้วเกิดข้อผิดพลาดเกี่ยวกับโมดูล torch._six ให้เปิดไฟล์ joints_detectors/Alphapose/fn.py ขึ้นมาแล้วคอมเมนต์หรือลบบรรทัด from torch._six import string_classes, int_classes (ประมาณบรรทัดที่ 9)

หมายเหตุ 2: สำหรับเครื่องที่รันแล้วเกิดข้อผิดพลาดเกี่ยวกับที่อยู่โฟลเดอร์ ให้สร้างโฟลเดอร์ตามชื่อที่โปรแกรมต้องการด้วยตนเอง

4. รอจนเสร็จจะได้ไฟล์ผลลัพธ์ที่โฟลเดอร์ outputs\outputvideo และไฟล์ BVH จะอยู่ในโฟลเดอร์ outputs\outputvideo\alpha_pose_handclap\bvh ที่อยู่ในโฟลเดอร์ Project ดังภาพ

 

กำหนดท่าเต้นให้ตัวการ์ตูนด้วยไฟล์ BVH ของเราเอง

ก่อนจะทำตามขั้นตอนต่อไปนี้จะต้องทำตามบทความ AI103 - Animated Drawings ให้ได้ไฟล์ตัวการ์ตูนที่เราสร้างเองออกมาก่อนนะครับ ซึ่งในบทความที่แล้วเราได้สร้างพี่หมี EPT และผลลัพธ์อยู่ในโฟลเดอร์ examples\eptbear_out ที่อยู่ในโฟลเดอร์ Project AnimatedDrawings


 

ขั้นตอนต่อไปนี้จะเป็นการสั่งให้พี่หมี EPT เต้นตามท่าทางจากไฟล์ BVH ที่เราสร้าง

หมายเหตุ: อย่าลืมเปลี่ยนชื่อโฟลเดอร์หรือชื่อไฟล์ต่าง ๆ ในตัวอย่างต่อไปนี้เป็นชื่อของโฟลเดอร์หรือไฟล์ในเครื่องของตัวเอง

1. เอาไฟล์ BVH ที่เราสร้างจากหัวข้อที่แล้วไปใส่ในโฟลเดอร์ examples\bvh\handclap ที่อยู่ในโฟลเดอร์ Project AnimatedDrawings


 

2. สร้างไฟล์ examples\config\motion\handclap.yaml ในโฟลเดอร์ Project AnimatedDrawings จากนั้นเปิดไฟล์ด้วย Text editor แล้วใส่ค่าดังต่อไปนี้ และบันทึกไฟล์

filepath: examples/bvh/handclap/alpha_pose_handclap.bvh
start_frame_idx: 0
end_frame_idx: null
groundplane_joint: LeftFoot
forward_perp_joint_vectors:
  - - LeftArm
    - RightArm
  - - LeftUpLeg
    - RightUpLeg
scale: 0.005
up: +y


 

3. สร้างไฟล์ examples\config\retarget\handclap_ppf.yaml ในโฟลเดอร์ Project AnimatedDrawings จากนั้นเปิดไฟล์ด้วย Text editor แล้วใส่ค่าดังต่อไปนี้ และบันทึกไฟล์

char_starting_location: [0.0, 0.0, -0.5]
bvh_projection_bodypart_groups:
- bvh_joint_names:
  - RightArm
  - RightForeArm
  - RightHand
  - LeftArm
  - LeftForeArm
  - LeftHand
  method: pca
  name: Upper Limbs
- bvh_joint_names:
  - RightUpLeg
  - RightLeg
  - RightFoot
  - LeftUpLeg
  - LeftLeg
  - LeftFoot
  method: pca
  name: Lower Limbs
- bvh_joint_names:
  - Hips
  - Spine
  - Spine3
  - Neck
  method: frontal
  name: Trunk
char_bodypart_groups:
- bvh_depth_drivers:
  - Hips
  char_joints:
  - right_shoulder
  - left_shoulder
  - right_hip
  - left_hip
  - hip
  - torso
  - neck
- bvh_depth_drivers:
  - LeftHand
  char_joints:
  - left_elbow
  - left_hand
- bvh_depth_drivers:
  - RightHand
  char_joints:
  - right_elbow
  - right_hand
- bvh_depth_drivers:
  - LeftFoot
  char_joints:
  - left_knee
  - left_foot
- bvh_depth_drivers:
  - RightFoot
  char_joints:
  - right_knee
  - right_foot
char_bvh_root_offset:
  bvh_projection_bodypart_group_for_offset: Lower Limbs
  bvh_joints:
  - - RightFoot
    - RightLeg
    - RightUpLeg
  - - LeftFoot
    - LeftLeg
    - LeftUpLeg
  char_joints:
  - - right_foot
    - right_knee
    - right_hip
  - - left_foot
    - left_knee
    - left_hip
char_joint_bvh_joints_mapping:
  left_elbow: !!python/tuple
  - LeftArm
  - LeftForeArm
  left_foot: !!python/tuple
  - LeftLeg
  - LeftFoot
  left_hand: !!python/tuple
  - LeftForeArm
  - LeftHand
  left_knee: !!python/tuple
  - LeftUpLeg
  - LeftLeg
  torso: !!python/tuple
  - Hips
  - Spine3
  neck: !!python/tuple
  - Hips
  - Neck
  right_elbow: !!python/tuple
  - RightArm
  - RightForeArm
  right_foot: !!python/tuple
  - RightLeg
  - RightFoot
  right_hand: !!python/tuple
  - RightForeArm
  - RightHand
  right_knee: !!python/tuple
  - RightUpLeg
  - RightLeg
char_runtime_checks:
  - - above
    - neck
    - right_shoulder
    - left_shoulder

 

4. สร้างไฟล์ examples\eptbear_out\handclap_cfg.yaml ในโฟลเดอร์ Project AnimatedDrawings จากนั้นเปิดไฟล์ด้วย Text editor แล้วใส่ค่าดังต่อไปนี้ และบันทึกไฟล์

controller:
  MODE: video_render
  OUTPUT_VIDEO_PATH: C:\Users\NT_Desktop\AnimatedDrawings\examples\eptbear_out\eptbear_handclap.gif
scene:
  ANIMATED_CHARACTERS:
  - character_cfg: C:\Users\NT_Desktop\AnimatedDrawings\examples\eptbear_out\char_cfg.yaml
    motion_cfg: C:\Users\NT_Desktop\AnimatedDrawings\examples\config\motion\handclap.yaml
    retarget_cfg: C:\Users\NT_Desktop\AnimatedDrawings\examples\config\retarget\handclap_ppf.yaml

 

5. เปิดหน้าต่าง Anaconda Prompt ใหม่ขึ้นมา แล้วพิมพ์คำสั่งต่อไปนี้เพื่อ activate environment ชื่อ animated_drawings ที่สร้างในบทความ AI103 - Animated Drawings และเข้าไปในโฟลเดอร์ Project AnimatedDrawings จากนั้นสั่งเริ่มการทำงาน Python interpreter

conda activate animated_drawings
cd AnimatedDrawings
python

 

6. พิมพ์คำสั่ง 2 บรรทัดต่อไปนี้ใน interpreter

from animated_drawings import render
render.start('./examples/eptbear_out/handclap_cfg.yaml')



 

7. รอสักพักจะได้ไฟล์แอนิเมชันชื่อ eptbear_handclap.gif ในโฟลเดอร์ examples\eptbear_out ที่อยู่ในโฟลเดอร์ Project ดังภาพ

ซึ่งเมื่อนำมาใส่ในวิดีโอต้นฉบับก็จะได้วิดีโอออกกำลังกายสุดน่ารักออกมาแบบนี้

 

เป็นอย่างไรบ้างครับไม่ยากเลยใช่ไหมครับ ใครทำแล้วอย่าลืมส่งมาอวดทางเพจ Expert.Programming.Tutor นะครับ

สุดท้ายนี้สำหรับใครที่สนใจอยากทำ AI แต่ยังไม่มีพื้นฐานเขียนโปรแกรมมาก่อน ขอแนะนำคอร์ส Python + Web Programming + Machine Learning (PY203) ของทาง EPT ที่สอนแบบจัดเต็มตั้งแต่พื้นฐาน Python หรือหากมีพื้นฐาน Python แน่น ๆ อยู่แล้วแต่อยากเรียนเกี่ยวกับ AI แบบลงลึกถึงทฤษฎีก็ขอแนะนำคอร์ส Machine Learning (AI701) ครับ

ตอนนี้ AI กำลังพัฒนาไปอย่างรวดเร็วมาก ทำให้มีผู้พัฒนาหลายท่านสร้างโปรแกรมหรือไลบรารีเพื่อช่วยทำหรือช่วยลดเวลาในการทำงานต่าง ๆ ของมนุษย์ออกมาให้เราใช้กันอย่างมากมาย ในบทความต่อ ๆ ไป ทาง EPT จะทยอยรีวิวตัวที่น่าสนใจให้ดูเรื่อย ๆ นะครับ รอติดตามกันได้เลย 

 

ที่มาและเว็บไซต์อ้างอิง

[1] https://github.com/HW140701/VideoTo3dPoseAndBvh
[2] https://github.com/facebookresearch/AnimatedDrawings


Tag ที่น่าสนใจ: ai motion_capture video_to_bvh animation python virtual_environment library_installation anaconda_prompt marker_reflective_system avatar machine_learning computer_vision command_line ai_technology video_processing


บทความนี้อาจจะมีที่ผิด กรุณาตรวจสอบก่อนใช้

หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor

ไม่อยากอ่าน Tutorial อยากมาเรียนเลยทำอย่างไร?

สมัครเรียน ONLINE ได้ทันทีที่ https://elearn.expert-programming-tutor.com

หรือติดต่อ

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM

แผนที่ ที่ตั้งของอาคารของเรา

แผนผังการเรียนเขียนโปรแกรม

Link อื่นๆ

Allow sites to save and read cookie data.
Cookies are small pieces of data created by sites you visit. They make your online experience easier by saving browsing information. We use cookies to improve your experience on our website. By browsing this website, you agree to our use of cookies.

Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com

ติดต่อเราได้ที่

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
แผนที่ ที่ตั้งของอาคารของเรา