Python เป็นภาษาที่มีการนำหลักการ OOP มาใช้งานเช่นเดียวกับภาษาอื่น ๆ หนึ่งในนั้น คือ เรื่อง Constructor และ Destructor กับ Class
Read More
28 ธันวาคม 2560
17 ธันวาคม 2560
Published ธันวาคม 17, 2560 by wannaphong with 1 comment
ในการสร้าง Haar-like Classifier จะต้องมีรูปภาพที่ใช้เป็นฐานข้อมูล Haar-like Classifier มี 2 ส่วนดังนี้
1.ให้กับการโหลดไฟล์บีบอัดจาก https://www.dropbox.com/s/yh4nloobe7a1qc3/haartraining2.zip?dl=0
2.แตกไฟล์แล้วเข้าไปในโฟลเลอร์ที่แตกไฟล์ออกมา ให้เข้าไปยังโฟลเลอร์ positive - > โฟลเลอร์ rawdata
3.เตรียมไฟล์ภาพโดยไฟล์ภาพต้องเป็นไฟล์ .bmp เท่านั้น
4.เสร็จแล้วให้กลับมายังโฟลเลอร์ positive ทำการรันโปรแกรม objectmarker.exe (โปรแกรมนี้รันได้เฉพาะ 32 บิตเท่านั้น) จะมีหน้าต่างขึ้นมาให้ทำการลากคุมวัตถุที่ต้องนำไปสร้าง Haar-like Classifier
โดยกดปุ่ม Space Bar เพิ่มข้อมูลส่วนที่ทำการลากคุมวัตถุ
กดปุ่ม Enter เพิ่มบันทึกข้อมูลและโหลดข้อมูลถัดไป
ทำจนครบจะได้ไฟล์ info.txt
5.กลับยังโฟลเลอร์หลักที่แตกไฟล์ออกมา ให้เข้าไปยังโฟลเลอร์ negative ทำการเพิ่มข้อมูลรูปภาพ .jpg ที่ไม่เกี่ยวข้องกับข้อมูล positive images เช่น ภาพพื้นหลังที่อยู่หลังภาพใบหน้าของเรา เป็นต้น แล้วทำการรันไฟล์ create_list.bat
โค้ดภายในไฟล์ create_list.bat
จะได้ไฟล์ bg.txt
6.กลับยังโฟลเลอร์หลักที่แตกไฟล์ออกมา ให้ทำการรันไฟล์
โค้ดภายในไฟล์ createsamples.bat
รอสักครู่ขึ้นอยู่กับปริมาณไฟล์ข้อมูลและประสิทธิภาพของเครื่องคอมพิวเตอร์ จะได้ไฟล์ vector.vec ในโฟลเลอร์ vector
7.ทำการรันไฟล์ haarTraining.bat
โค้ดภายในไฟล์ haarTraining.bat
รอสักครู่ขึ้นอยู่กับปริมาณไฟล์ข้อมูลและประสิทธิภาพของเครื่องคอมพิวเตอร์ จะได้ข้อมูล Haar-like Classifier ในโฟลเลอร์ cascades แต่ยังนำไปใช้งานไม่ได้นะครับ ต้องแปลงให้เป็นไฟล์ XML ก่อน
8.ทำการ copy ลากคุมข้อมูลทั้งหมดในโฟลเลอร์ cascades แล้วนำไปวางในโฟลเลอร์ cascade2xml\data เสร็จกลับมาที่โฟลเลอร์ cascade2xml ทำการรันไฟล์ convert.bat
โค้ดภายในไฟล์ convert.bat
เพียงเท่านี้ก็จะได้ไฟล์ my.xml ซึ่งเป็น Haar Cascade ไปไว้ใช้ opencv แล้ว
Read More
- positive images เป็นรูปภาพของวัตถุที่ต้องการนำมาสร้าง Haar-like Classifier เช่น ใบหน้า ตา และอื่น ๆ
- negatives images เป็นรูปภาพของวัตถุที่ไม่เกี่ยวข้องกับ positive images เช่น พื้นหลัง เป็นต้น
1.ให้กับการโหลดไฟล์บีบอัดจาก https://www.dropbox.com/s/yh4nloobe7a1qc3/haartraining2.zip?dl=0
2.แตกไฟล์แล้วเข้าไปในโฟลเลอร์ที่แตกไฟล์ออกมา ให้เข้าไปยังโฟลเลอร์ positive - > โฟลเลอร์ rawdata
3.เตรียมไฟล์ภาพโดยไฟล์ภาพต้องเป็นไฟล์ .bmp เท่านั้น
4.เสร็จแล้วให้กลับมายังโฟลเลอร์ positive ทำการรันโปรแกรม objectmarker.exe (โปรแกรมนี้รันได้เฉพาะ 32 บิตเท่านั้น) จะมีหน้าต่างขึ้นมาให้ทำการลากคุมวัตถุที่ต้องนำไปสร้าง Haar-like Classifier
โดยกดปุ่ม Space Bar เพิ่มข้อมูลส่วนที่ทำการลากคุมวัตถุ
กดปุ่ม Enter เพิ่มบันทึกข้อมูลและโหลดข้อมูลถัดไป
ทำจนครบจะได้ไฟล์ info.txt
5.กลับยังโฟลเลอร์หลักที่แตกไฟล์ออกมา ให้เข้าไปยังโฟลเลอร์ negative ทำการเพิ่มข้อมูลรูปภาพ .jpg ที่ไม่เกี่ยวข้องกับข้อมูล positive images เช่น ภาพพื้นหลังที่อยู่หลังภาพใบหน้าของเรา เป็นต้น แล้วทำการรันไฟล์ create_list.bat
โค้ดภายในไฟล์ create_list.bat
dir /b *.jpg >bg.txt
จะได้ไฟล์ bg.txt
6.กลับยังโฟลเลอร์หลักที่แตกไฟล์ออกมา ให้ทำการรันไฟล์
โค้ดภายในไฟล์ createsamples.bat
createsamples.exe -info positive/info.txt -vec vector/vector.vec -num 204 -w 24 -h 24
รอสักครู่ขึ้นอยู่กับปริมาณไฟล์ข้อมูลและประสิทธิภาพของเครื่องคอมพิวเตอร์ จะได้ไฟล์ vector.vec ในโฟลเลอร์ vector
7.ทำการรันไฟล์ haarTraining.bat
โค้ดภายในไฟล์ haarTraining.bat
haartraining.exe -data cascades -vec vector/vector.vec -bg negative/bg.txt -npos 200 -nneg 200 -nstages 15 -mem 1024 -mode ALL -w 24 -h 24 rem -nonsym
รอสักครู่ขึ้นอยู่กับปริมาณไฟล์ข้อมูลและประสิทธิภาพของเครื่องคอมพิวเตอร์ จะได้ข้อมูล Haar-like Classifier ในโฟลเลอร์ cascades แต่ยังนำไปใช้งานไม่ได้นะครับ ต้องแปลงให้เป็นไฟล์ XML ก่อน
8.ทำการ copy ลากคุมข้อมูลทั้งหมดในโฟลเลอร์ cascades แล้วนำไปวางในโฟลเลอร์ cascade2xml\data เสร็จกลับมาที่โฟลเลอร์ cascade2xml ทำการรันไฟล์ convert.bat
โค้ดภายในไฟล์ convert.bat
haarconv.exe data my.xml 24 24
เพียงเท่านี้ก็จะได้ไฟล์ my.xml ซึ่งเป็น Haar Cascade ไปไว้ใช้ opencv แล้ว
16 ธันวาคม 2560
Published ธันวาคม 16, 2560 by wannaphong with 0 comment
Python 2 เหลือระยะเวลาสนับสนุนจากมูลนิธิซอฟต์แวร์ไพทอน (Python Software Foundation) อีกเพียง 2 ปี (ค.ศ.2020) ทำให้วงการ Open Source ที่ใช้งาน Python 2 มาอย่างยาวนานต้องมีการพอร์ตโค้ดจำนวนมากย้ายไป Python 3 แทน และหนึ่งในนั้น คือ Ubuntu
Read More
3 ธันวาคม 2560
Published ธันวาคม 03, 2560 by wannaphong with 0 comment
หากคุณใช้งาน Windows ต้องการเขียนโค้ด Python เพื่อให้เล่นเสียงจากไฟล์ .wav หรือ.wave ได้ง่าย ๆ โดยใช้ไลบารี winsound
Read More
29 พฤศจิกายน 2560
Published พฤศจิกายน 29, 2560 by wannaphong with 1 comment
สวัสดีผู้อ่านทุกท่านครับ หากผู้อ่านเป็นนักพัฒนาที่ใช้ .NET Framework ในการพัฒนาโปรแกรมไม่ว่าจะเป็นภาษา C#, F# และ visual basic เป็นต้น แต่คุณกลับเจอปัญหา คือ ไม่สามารถหาโมดูลใน .NET Framework มาทดแทนได้ ตัวอย่างเช่น PyThaiNLP หรือ คุณต้องการเขียนโค้ดใช้งานทั้ง Python และ .NET Framework คุณสามารถทำได้โดยใช้ pythonnet
22 พฤศจิกายน 2560
Published พฤศจิกายน 22, 2560 by wannaphong with 0 comment
สวัสดีผู้อ่านทุกท่านครับ หากท่านต้องการทำ Part-of-speech tagging ด้วย CRF คงคิดว่ายุุ่งยากไม่ใช่น้อย แต่บทความนี้ผมจะไปพาผู้อ่านไปทำ Part-of-speech tagging ด้วย CRF โดยใช้ NLTK แบบง่าย ๆ กันครับ
Read More
16 พฤศจิกายน 2560
Published พฤศจิกายน 16, 2560 by wannaphong with 0 comment
หลังจากที่ทีมนักพัฒนา Python ได้ประกาศหยุดสนับสนุน Python 2 ในปี ค.ศ.2020 นี้ ส่งผลให้ตอนนี้หลาย ๆ โมดูลและหลายโปรแกรมเริ่มที่จะหยุดสนับสนุน Python 2 แล้ว เช่น โมดูล NumPy เป็นโมดูลด้านคณิตศาสตร์ชื่อดังของภาษา Python ได้ประกาศแผนการหยุดสนับสนุน Python 2 ออกมาแล้ว
Read More
Published พฤศจิกายน 16, 2560 by wannaphong with 0 comment
เมื่อวานนี้ตามเวลาในประเทศไทย Dropbox ได้เปิดตัว PyAnnotate ซึ่งเป็นเครื่องมือสำหรับสร้าง Annotation แบบอัตโนมัติสำหรับ mypy
Read More
11 พฤศจิกายน 2560
Published พฤศจิกายน 11, 2560 by wannaphong with 0 comment
หากคุณเป็นนักวิทยาศาสตร์ข้อมูล / นักพัฒนาโปรแกรมที่ใช้งาน Jupyter Notebook ต้องการใช้งาน Jupyter Notebook แบบออนไลน์ที่รองรับหลายภาษา รวมถึง Python 3 แบบฟรี คุณสามารถใช้งาน Jupyter Notebook ออนไลน์ฟรีได้ด้วย Microsoft Azure Notebooks โดยจำกัดแรมที่ 4 Gb
Published พฤศจิกายน 11, 2560 by wannaphong with 0 comment
เมื่อไม่กี่วันที่ผ่านมา กูเกิลได้เปิดบริการสำหรับนักวิจัยชื่อ Colaboratory เป็น Jupyter Notebook แบบออนไลน์ ซึ่งสามารถซิงค์กับไฟล์ .ipynb ใน Google Drive ได้ แต่รองรับเฉพาะ Python 2 เท่านั้น
สมัครสมาชิก:
บทความ (Atom)