[EP:0] มือใหม่หัดเล่น OpenCV

Apirak Sang-ngenchai
ASbavensky
Published in
2 min readJun 7, 2019

Getting start to level up your computer vision and OpenCV skills.

OpenCV ย่อมาจาก Open source Computer Vision เป็นซอฟแวร์ไลบรารี่ที่สนับสนุนการแสดงผลด้วยคอมพิวเตอร์แบบเรียลไทม์ (Real-Time Computer Vision) รวมไปถึง machine learning. OpenCV ถูกสร้างขึ้นมาให้สามารถวิเคราะห์ข้อมูลไม่ว่าจะเป็นรูปภาพ หรือวิดีโอ ภายใต้เงื่อนไข BSD licensed ซึ่ง OpenCV ถูกสร้างมาให้เหมาะกับการนำไปใช้งานในเชิงพาณิชย์และง่ายต่อการแก้ไขโปรแกรม
OpenCV รองรับภาษา C++, Python, Java, MATLAB interfaces และรองรับระบบปฏิบัติการ Windows, Linux, Android and Mac OS.

อ่านเพิ่มเติม : opencv.org

ตัวอย่างการประยุกต์ใช้งาน OpenCV

ความแตกต่างระหว่าง Artificial Intelligence(AI), Machine Learning(ML) และ Deep Learning(DL)

http://blog.devitpl.com/wp-content/uploads/ai-and-ml.png

Artificial Intelligence(AI) คือ ระบบที่มีคุณลักษณะ และความสามารถเหมือน หรือเหนือมนุษย์ ทั้งในแง่ สติปัญญา ความสามารถที่มนุษย์สามารถทำได้ ความคิดเชิงเหตุและผล รวมทั้งความคิดเชิงสร้างสรรค์ และทักษะทางสังคม เป็นต้น หากเปรียบเป็นมนุษย์ ก็จะเป็นเหมือนมนุษย์ทั่วไป หรืออาจจะทำได้เหนือกว่า

www.internationaldirector.com

Machine Learning(ML) คือ การใช้อัลกอริทึมในการแยกแยะและวิเคราะห์ข้อมูล เรียนรู้จากข้อมูลนั้น เพื่อสร้างโมเดลในการตัดสินใจหรือคาดการณ์เกี่ยวกับบางสิ่งบางอย่าง แทนการเขียนโปรแกรมเป็นชุดคำสั่งให้ปฏิบัติตามขั้นตอนที่กำหนดไว้ แต่จะใช้การ “เทรนด์” โดยใช้ชุดข้อมูลขนาดใหญ่ในการเรียนรู้ที่จะปฏิบัติงานนั้น ๆ หากเปรียบเป็นมนุษย์ ก็จะเป็นเหมือนดวงตาของมนุษย์ ที่สามารถทำการรับรู้ด้วยการเห็นและทำให้เกิดการตอบสนอง

https://pbs.twimg.com/media/DSzbACmWsAAcwOE.jpg

Deep Learning(DL) คือ Artificial Neural Networks (ANN) โดยจะประกอบไปด้วย “โหนด (Node)” หลาย ๆ ชั้น และใช้การประมวลผลแบบขนาน (Paraleel Processing) ทำให้สามารถประมวลผลได้ครั้งละจำนวนมาก ช่วยให้การเรียนรู้สามารถให้ผลลัพธ์ในการตัดสินใจ และคาดการณ์ได้ดีมากยิ่งขึ้น ในการที่เครื่องจะสามารถเข้าใจสิ่งต่าง ๆ ได้ จำเป็นที่จะต้องมี “องค์ความรู้ (Knowledge)” เพื่อป้อนเข้าส่วน [input layer] ประเมินชุดข้อมูล [hidden layer] และแทนองค์ความรู้นั้น [output layer] หากเปรียบเป็นมนุษย์ ก็จะเป็นเหมือนเซลล์ที่อยู่ในดวงตา เป็นกลไกการสร้างสัญญาณการเห็น ที่ประกอบไปด้วยหน่วยเซลล์ต่าง ๆ เช่น ในเรตินาที่ทำหน้าที่เป็นตัวรับ และแปลสัญญาณแสงให้กลายเป็นสัญญาณประสาทหรือกระแสประสาท ซึ่งในเรตินาจะประกอบไปด้วย เซลล์รูปแท่ง (rod cell) และเซลล์รูปกรวย (cone cell) เซลล์รูปแท่งทำงานในที่มีแสงสลัว และทำให้เกิดการเห็นเป็นรูปขาวดำ ส่วนเซลล์รูปกรวยทำให้เกิดการเห็นในช่วงกลางวันเป็นรูปสี

https://www.aao.org/image.axd?id=7de23d7d-7d22-4c72-81ed-292dc01cfbcf&t=636422014777200000

อ้างอิงเนื้อหาจาก: Athiwat

ติดตั้งโปรแกรม ก่อนเริ่มเรียน OpenCV

  1. ดาวน์โหลด Git bash สำหรับรันทำคำสั่ง
  2. ติดตั้ง Python 3 และ pip (pip จะติดมากับ python3)
  3. ติดตั้ง numpy ($ pip install numpy)
  4. ติดตั้ง imutils ($ pip install imutils)
  5. ติดตั้ง opencv2 ($ python install python-opencv)

บทเรียน OpenCV101 ทั้งหมด

EP[0] : มือใหม่หัดเล่น OpenCV
EP[1]: เริ่มต้นใช้งาน OpenCV (Coming soon…)
EP[2]: ตรวจจับใบหน้าด้วย OpenCV and deep learning (Coming soon…)
EP[3]: เกมจับผิดภาพด้วย OpenCV and Python (Coming soon…)
EP[4]: สร้างเครื่องสแกนเอกสารด้วย OpenCV (Coming soon…)
EP[5]: สร้างเครื่องตรวจข้อสอบด้วย OpenCV (Coming soon…)

THANK YOU ( -/\- )

--

--

Apirak Sang-ngenchai
ASbavensky

Sometime, We need to take a step away from certain things to reclaim your own self .