Tiffany Kassandra

My Answer To You

Popular Article : KINECT by Microsoft

No Comments »

May 4th, 2015 Posted 4:30 am

Dikembangkan oleh Microsoft, Kinect adalah perangkat tambahan yang memanfaatkan teknologi kamera untuk mendeteksi gerakan dan perintah suara (motion and voice recognition) pada game console (xbox 360, xbox one, dan Windows PC) sehingga pengguna dapat berinteraksi dengan console-nya tanpa menggunakan controller1. Penelitian dengan biaya jutaan dolar ini pada awalnya dinamakan Project Natal. Kinect merupakan sensor berbentuk batang horizontal yang tersambung dengan poros bermotor dan didesain agar dapat diletakkan tepat di atas display video. Software Kinect dikembangkan oleh anak perusahaan Microsoft, Rare, sedangkan untuk teknologi kameranya (yang menggunakan proyeksi sinar infrared dan microchip untuk mendeteksi pergerakan dalam 3D) dikembangkan oleh PrimeSense. Microsoft merilis Kinect Software Development Kit untuk Windows 7 bagi para programmer untuk membuat aplikasi nonkomersial yang memanfaatkan teknologi Kinect dalam bahasa C++/CLI, C#, atau Visual Basic .NET (dengan menggunakan Microsoft Visual Studio 2010) pada 16 Juni 2011. Pada tahun berikutnya, Microsoft merilis versi komersial dari Kinect Windows SDK.

 

kinect-resized-600

Perangkat ini terdiri dari RGB camera, 3D Depth Sensor, dan multi array mic untuk dapat menangkap gerakan, suara, dan wajah (motion, voice, and facial recognition). Depth sensor terdiri dari proyektor laser infrared dan CMOS sensor yang dapat mendeteksi lingkungan dalam 3D dengan kondisi pencahayaan apapun. Fitur kunci dari Kinect versi terbaru antara lain2 :

  • improved body tracking (dapat mendeteksi 6 skeleton komplit dan 25 joint per orang)
  • depth sensing (512 x 424, 30 Hz, FOV : 70 x 60, one mode : 0.5 – 4.5 meter)
  • 1080p color camera (30 Hz / 15 Hz pada pencahayaan redup)
  • New active infrared (IR) capabilities (512 x 424, 30 Hz)
  • Wider/expanded field of view

Dalam menentukan posisi pemain, Kinect menggunakan proses dengan dua tahap yakni menghitung depth map (menggunakan structured light) lalu menentukan posisi tubuh (dengan machine learning)3.

 

Depth map dibuat dengan menganalisa pola titik-titik dari sinar laser infrared yang dipancarkan Kinect. Teknik untuk menganalisa pattern yang diketahui disebut structured light yang dikombinasikan dengan dua teknik computer vision yakni depth from focus dan depth from stereo. Depth from focus menggunakan prinsip bahwa semakin jauh objek maka semakin kabur (blur). Depth from stereo menggunakan prinsip parallax di mana bila kita melihat suatu pemandangan (sambil bergerak) dari sudut yang berbeda, objek yang dekat dengan pengamat akan tampak lebih tergeser ke suatu sisi dibanding objek yang jauh. Kinect menganalisa pergeseran pola titik dengan memproyeksi dari satu lokasi dan mengamati dari lokasi lainnya.

 

Tahap kedua adalah bagian tubuh dideteksi menggunakan randomized decision forest (memilih acak dari 2000 pertanyaan yang tersedia dan mempelajari beberapa tree sekaligus) yang dipelajari dari lebih dari satu juta contoh training. Tahap ini terbagi lagi menjadi dua sub tahap yakni mengubah depth image menjadi body part image lalu mengubahnya menjadi skeleton (menggunakan mean shift algorithm). Untuk membuat hasilnya lebih baik, maka skeleton yang buruk ditolak dan skeleton yang baik diterima (berdasarkan hasil training).

 

Teknologi Kinect ini juga memanfaatkan ilmu matematika antara lain probabilitas dan statistika, kalkulus multivariabel, aljabar linear, analisis kompleks, kombinatorik, algoritma graf, geometri, persamaan diferensial, dan topologi.

 

Salah satu isu yang menarik dengan hadirnya Kinect adalah bahwa Kinect dikatakan dapat mendeteksi hadirnya makhluk halus seperti hantu4. Isu ini muncul dari pengalaman beberapa pengguna Kinect yang menyatakan bahwa Kinect mendeteksi hal lain ketika pemain sedang sendirian di dalam ruangan. Meski Microsoft tidak memberikan komentar tentang hal ini, para paranormal mulai bereksperimen dengan kemungkinan penggunaan Kinect untuk mendeteksi kehadiran “makhluk lain” tersebut.

 

Kegunaan alternatif lainnya dari Kinect yang dikembangkan oleh Brunel University London adalah untuk membantu mengatasi salah satu gejala yang dialami oleh penderita penyakit Parkinson yaitu FOG (Freezing of Gait)5. FOG adalah suatu gejala ketika otot penderita kaku (freeze) sehingga mereka tidak dapat bergerak atau terjatuh. Hal ini dapat diatasi dengan memproyeksikan sinar berupa garis ke lantai oleh Kinect yang dipasang di sekeliling rumah sehingga otot dapat kembali bekerja atau memicu voice-conferencing call saat mendeteksi penderita terjatuh.

 

Masih banyak pihak lain yang berusaha untuk memanfaatkan teknologi Kinect lebih dari tujuan asalnya yakni untuk bermain, antara lain untuk mengontrol web browser dengan gerakan tangan, mendeteksi gejala autisme pada anak dan OCD, membantu penggambaran saat melakukan operasi kanker, dan bermain piano dengan menggerakkan tangan pada meja.

 

Posted in Uncategorized

Roll The Dice

No Comments »

May 23rd, 2014 Posted 2:38 pm

Here’s the code :

Code

——————————————————————————————————–

Here’s the screen shot of the program :

 

ss

Posted in Uncategorized

(GUI) Approximation of PI Value

No Comments »

March 28th, 2014 Posted 7:00 pm

Here’s the code :

———————————————————————
from graphics import *
import math

def main():
win=GraphWin(“Approximation of PI”, 400,400)
win.setBackground(“yellow”)

# Draw the interface
title = Text(Point(200,75), “APPROXIMATION OF PI”)
title.draw(win)
title.setFill(“blue”)
title.setFace(“courier”)
title.setSize(20)
Text(Point(100,150), “Number of terms”).draw(win)
Text(Point(100,280), ” Approximated PI :”).draw(win)
Text(Point(120,310), ” Math PI – Approximation :”).draw(win)
Text(Point(100,340), ” Percentage of error :”).draw(win)
input = Entry(Point(200,150), 5)
input.setText(“0”)
input.draw(win)
app = Text(Point(250,280), “”)
app.setFill(“blue”)
app.setStyle(“bold”)
app.draw(win)
diff = Text(Point(250,310), “”)
diff.setFill(“blue”)
diff.setStyle(“bold”)
diff.draw(win)
percent = Text(Point(250,340), “”)
percent.setFill(“blue”)
percent.setStyle(“bold”)
percent.draw(win)

button = Text(Point(200,200), “Get The Result”)
button.setStyle(“bold”)
button.setSize(10)
button.setFace(“times roman”)
button.setFill(“red”)
button.draw(win)
ov = Oval(Point(120,180),Point(280,220))
ov.draw(win)

win.getMouse()
button.setText(“Quit”)
x = eval(input.getText())
approx=float(0)
sign = 0

for i in range(1, 2*x, 2):
y=(4./i)*((-1)**sign)
approx=approx+y
sign=sign+1

true_error = math.pi – approx

if(true_error > 0) :
relative_error = true_error / math.pi * 100
else :
relative_error = (-1)*true_error / math.pi * 100
app.setText(“%0.2f” % approx)
diff.setText(“%0.2f” %true_error)
percent.setText(“%0.2f %%” %relative_error)

win.getMouse()
win.close()

main()

———————————————————————————

And here’s the screenshot of the program :

gui PI

Posted in Uncategorized

Approximation of Pi Value

No Comments »

March 14th, 2014 Posted 5:40 pm

Tiffany Kassandra

1601214655

04PAW TI-Math Bina Nusantara University

Question :

_______________________________________________________________

Write a program that approximates the value of π by summing the terms
of this series: 4/1 – 4/3 + 4/5 – 4/7 + 4/9 – 4/11 + … The program should
prompt the user for n, the number of terms to sum, and then output the
sum of the first n terms of this series. Have your program subtract the
approximation from the value of  to see how accurate it is.

Code in Python :
_______________________________________________________________

import math
print(“APPROXIMATION OF PI VALUE\n\n\n”)
x = input(“Input the number of terms to sum : “)
approx=float(0)
sign = 0

for i in range(1, 2*x, 2):
y=(4./i)*((-1)**sign)
approx=approx+y
sign=sign+1

true_error = math.pi – approx

relative_error = true_error / math.pi * 100

print(“\n\n\nThe Result”)
print(“———-“)
print(“The value of Pi (True Value)\t\t\t\t: %f”)%(math.pi)
print(“The sum of the first %d terms of this series\t\t: %f”)%(x, approx)
print(“The difference between the series and Pi (True Error)\t: %f”%(true_error))
print(“True Percent Relative Error (in percent)\t\t: %.2f”%(relative_error))

Hello world!

1 Comment »

March 14th, 2014 Posted 4:14 pm

Welcome to Binusian blog.
This is the first post of any blog.binusian.org member blog. Edit or delete it, then start blogging!
Happy Blogging 🙂

Posted in Uncategorized