sunnyjovita

Object Recognition


Group members: Sunny Jovita, Jeconiah Richard, Christensen Mario Frans, Muhammad Lukman

Problem Description

Computers have a lot of magnificent functions that makes human life and work easier. With the additional vision ability given to computers, it will enable the computer to reach a wider scope of access. In our project, we use computer vision to detect objects that appear in the given frame by using OpenCV (Python library) and Caffe implementation of Google MobileNet Single Shot multibox Detection (SSD) to recognize them.

With this program, computers are now able to assist surveillance systems to detect humans in each location or can be advanced further to look up a person’s identity from a scene with TensorFlow and Keras. We have come up to the extent where the computer is able to detect humans in the frame and other 21 objects listed in the Caffe Model. This program is very possible to be further advanced, however, more computer power is required to do so. Here is the architecture of Single Shot Multibox that will be used in the program.

Related Work

In the process of making this project, there are several libraries that are used to make this program work. As mentioned in Section 1.2., OpenCV and MobileNet SSD are part of them. Here is the list of libraries that are used in the program:

  1. OpenCV library is commonly known as opencv-python and is imported to the code as cv2. cv2 is the latest version of opencv and can be accessed by downloading the opencv-python package.
  2. Numpy library is commonly used in python to make 2d arrays and matrices. This library is crucial in resizing the frame of the input and array making in the program.

NOTE: Each library is needed for the program to run and must be set as project interpreter. Python 3+ is needed.

Design of Algorithm

This program mainly uses python as the programming language with two additional Python libraries, OpenCV and Numpy.

OpenCV is a library of programming functions mainly aimed at real-time computer vision. Originally developed by Intel, it was later supported by Willow Garage then Itseez.

NumPy is a library for the Python programming language, adding support for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these arrays.

In this project, we firstly take a video input with openCV from the device’s webcam (if any) or any camera connected to the computer. The video will be broken down into frames that will be converted into Binary Large Object (BLOB) before the computer processes it further. Then, for each frame that has been converted into BLOB will be forwarded to MobileNet SSD as an input and will return some values like, Object name index, Detection confidence and X and Y location of the image in the frame. These values will act as the output of this program. The object name index will be displayed on the terminal console and on the frame (in real time) with its confidence next to it. The X and Y coordinates will be used to draw the bounding box of the image on the frame (in real time). A while loop will be inserted in the code to ensure the program repeats until a certain key is pressed.

Youtube link : https://youtu.be/8uchU5G1jJ4

Database Management System

  1. Problem

Our topic that we chose for this Database Systems Final Project is Inventory Control Management System. The reason behind why we chose this topic is that upon our group member’s experience and knowledge, many firms, especially new and smaller businesses, have trouble managing the accounting of their own products when running from day to day. This includes the calculation of their stocks (restocking and sales), removing/returning defective products, and even managing the available catalog. This leads to the inaccurate warehouse stocking reports, which may further lead to inaccurate financial reports, or even bad customer service (customers may be promised that their desired products are in stock but rather it’s out of stock or doesn’t fulfill the required quantity), as well as bad reputation to the company. Moreover, this becomes an even more sophisticated problem for businesses running on abundance of sales every single day.

2. Target Market

Our program is mainly made for wholesalers, supermarkets or other kinds of stores. Its ability to input and store multiple products, staff and multiple store branches make the program applicable for all of them. Not to mention, it can be used also for small businesses or any businesses that require inventory management systems.

3. Member’s Role

For this project, our group had agreed to appoint Sunny as our project manager. She is the main coder in our group, where we always brainstormed altogether via share-screen video calls while she was coding on her computer. (The reason why we came up with this plan was because working on a database project online causes a lot of unprecedented issues; according to Mario, Jeco, and Lukman, we have much trouble in accessing, managing, coding, and even testing the database program through our own computers. The situation may be otherwise if we were to work on this project offline, as we can reach out to hands-on help from others.) Since the program is also working perfectly on her computer, she also records the running program for the final project video. Altogether, we brainstormed and compiled our knowledge to create the final report together.

For the other members, Mario, Jeco, and Lukman, aside from brainstorming through video call for the program, our tasks are based on:

  • Mario: coding java (share screen vid call), making final report, designing ERD and its relations, project idea & background & solution
  • Jeco: coding java (share screen vid call), making final report, designing ERD and its relations, create & design presentations (proposal)
  • Lukman: coding java (share screen vid call), create query for inventory system (save, delete, update, modify, add), making final report

As seen in the bulleted points above, most of the tasks are overlapping for each member, this is because we are mostly in charge of the assigned task.

Youtube link : https://youtu.be/A8QtFxYXK3A

Block Stacker

Introduction

This project is a tetris game with a concept of falling blocks. It is an interesting game to play and have focused on the logic as well as the outlook. This report describe how to train the user or the player to play tetris in an efficient manner by selecting the features.

It was a good choice for the experimental object for study, because the game is easy enough to grasp, reduce some stress to the user, and is relatively simple to modify in terms of changing difficulty settings, game speed, etc. This project also include an extended modular programming in the more complex ways. Not only the user able to develop the tetris game, but also that whoever wants to study the logic may prove this useful. The game is declared “game over” if the block has reached the top in the tetris game window.

Youtube link : https://youtu.be/kYoJpYTd_IU

Eco-Store

Introduction

This project is an online shopping system and programmed in Java (IntelliJ IDEA) by using Swing and AWT packages to create a GUI (Graphical User Interface). The main aim of this project is to allow the customer to shop virtually using the internet and let customers to buy items of their desire from the store. The other goals are to improve the services of customers. It maintains the details of customer payments, product receipts, additional products, and also cancelling orders as well. The interface will give an easy and simple performance. The system will also provide some features for customers such as payment by cod (cash on delivery), cashless payment, secure registration, and others. For the payment selection, the customer will be asked to fill a payment option based on their preference (cashless or cash on delivery). In this system, customers are free to browse the catalogue and select products of interest. The selected items may be collected in a shopping cart, and it will count the total price of the products. At the checkout time, more information such as name, address, and telephone number of the customer will be needed to complete the transaction. A notification such as a pop up message box will be displayed as soon as the order has been confirmed.

Youtube link : https://youtu.be/2MP5QPRkAnU

Suku Dash Game Guide

Game’s name : Suku Dash

Team : 
- Jeconiah Richard(2301947905)
jeconiahri@gmail.com 
- Rowin Faadhilah Roestam Moenaf (2301944084)
rowinfaadhilah1@gmail.com 
- Sunny Jovita(2301939046) sunnyjovitaaa@gmail.com

Suku Dash is a fun, endless running platformer game made by RJS (Rowin, Jeconiah, Sunny) in Indonesia, powered by Construct 2 by Scirra. Control your player and guide him through a complex path of platforms and obstacles. Use your left mouse button to perform jump. If you reach the finish flag, you may continue to the next stage!

Cover
This is the cover of Suku Dash with the background city of Jakarta. Once you click the start button the game will display the game menu.
Menu
In the menu, there will be some buttons. For the play button, it will guide you to the first stage, at the characters, you can see how many characters in Suku Dash, with the name of each tribe. In the settings, there will be Audio (to set the music’s game), About us, and the sources. The player may choose they want to use the music or not when they first start a game, by click the audio. if the player wants to turn on the music, they can click the blue button. If the player gets confuse to play the game, Suku Dash has information guide (how to play) to help the player.

DETAILS

  • Stages
Level example
There will be 3 stages in Suku Dash. To success through each of the stage, the player have to reach the finish flag. The finish flag will appear every 60 seconds or 1 minute. Once you reach the finish flag, you can continue to the next level. The game will stop/end if the character falling into the water or colliding with the animal. The enemies for each stage have different difficulties. To prevent that things happen, Use left mouse button to perform jump. Otherwise, you’ll lose.
  • Character

Since we stress the game to promote tribes, we built the characters based on the local tribes so that the player will indirectly being familiarized with Indonesian existing tribes. In this game, we use three tribes, which are Asmat tribe, Dayak tribe and Minahasa tribe. Each of them has their own regional cloth and carries their regional weapon.

  • Background

In this game, there will be a different background for a different stages. In accordance to Indonesia theme, we use three background to represent the nation; which are mountain landscape, capital city environment and and grassland.

  • Apples

Apples are the collectables of the game. Player has to collect as many apples as they can in order to feed the character.

  • Enemies

There are several enemies spawning in every stage in a form of spiders, bees and bats. Player has to dodge them in order to continue running on the map. Any physical contact to either one of these will cause a harmful effect which lead to death.

  • Score

The player has to collect apples to increase the score. Once you success to reach or touch the apple, the score will be added one, and so on.

  • Contribution

Since i don’t really understand about how to make an animation for the character, i made the cover page (loading page, menu with the buttons, backsounds for the cover, the backgrounds). During the process, i got some anxiety because i didn’t know how to make a good game as i don’t have any basics, and we can’t meet each other too (because the quarantine). I was also confused with the concept (for the cover) like, how do i make it good so the game doesn’t look boring, does it look simple?, etc. But after the process done, turns out that making a game was fun. I learnt how to make a popup bar (for the game over option, level complete option), pop up buttons, make a loading bar, use lerp function to create a smooth effect for menu effect transition (in characters part), use liteTween behavior, etc. In the end, i gained so much knowledge on how to use construct 2.

  • Sources

1. https://www.youtube.com/watch?v=lzduXpRbduw
2. https://www.construct.net/en/forum/game-development/tools-and-resources-27/kenneys-free-assets-30000-70995
3. https://www.fontspace.com/category/game?p=4
4. https://free-game-assets.itch.io/free-buttons-2d-game-items?download
5. https://craftpix.net/freebies/free-horizontal-2d-game-backgrounds/
6. https://cartoonsmart.com/pixel-art-collection-royalty-free-game-art/
7. https://www.flaticon.com/free-icon/remove_1828843?term=circle&page=1&position=6
8. https://freesound.org/people/dersuperanton/sounds/433644/
9. https://freesound.org/people/Mativve/sounds/391539/
10. https://freesound.org/people/DDmyzik/sounds/511589/

Video Guide Links

Loading Screen – https://youtu.be/ezARwjtzSdY
Stage 1 – https://youtu.be/bISQhUpN-7w
Stage 2 & 3 – https://youtu.be/mXeR316JJTY





Full Youtube link : https://youtu.be/OJOgXkILyPg

Construct 2 Game Proposal

GAME DESCRIPTION

A. Introduction

In this modernization era, we are all living in the world that has already been advanced in technology and science. Because of that, many people forgetting their native culture, they live in a modern way, and also live a life of freedom.

B. Idea

Our goal is to create an educational game using a culture theme of indonesia. With this game, we aim to raise people awareness by defend the indigenous culture of indonesia(especially the tribes, the endangered animals) from extinction. From this game, the players are able to play while also gaining more knowledge about indonesia.

C. Gameplay

The game will have some kinds of characters, we use Indonesian tribes for the characters. They have to collect some kind of stuffs (like apples) from the place. They will get score by catch or reach the apples. There will be some enemies (like animals from Indonesia) that want to prevent the character’s way. To defend from the enemies, each of them has ability to jump. The player controls the character by click left mouse button. Every levels or stages will have a various backgrounds, there will be a music and a sound effect too, and the level of difficulty will also rise automatically. Although the game will be like adventurous, it should never look like violence, but funny and humorous.

D. Conclusion

In conclusion, we hope that we can increase our awareness about indonesia culture.

Team:

  1. Jeconiah Richard – 2301947905
  2. Rowin Faadhilah Roestam Moenaf – 2301944084
  3. Sunny Jovita – 2301939046