Sunday, October 25, 2015

Weekly Progress Report for the week of 10/18/15-10/25/15

Progress:
Tasks Accomplished:
  • We have inserted the OpenCV code from Mr. Lin’s app, into your XCode project. Although, we haven’t been able to make much progress since due to an error that comes up every time we’ve tried to build our app; finding a solution to fix this error has taken up most of our time.
Problems Solved:
  • We were concerned with the particular code we would be inserting into our XCode project, since we could not start from scratch due to a time crunch. As of now we are using Mr. Lin’s code from the app he has created to at least reach a starting point to see how OpenCV will meet our needs.
Lessons Learned:
  • Not only do we have to deal with familiarizing ourselves with XCode, but additionally we need to familiarize ourselves with the common problems that cause the building of the app to fail. We came across the one in the picture below quite frequently.
  • Through our struggle with this error below, we are more familiar with the OpenCV library and how to use it and why it is so important to reference it correctly in our code.
          
HlfxQ.png
New Idea Identified:
  • We may need to use a different image processor aside from OpenCV. OpenCV is very complicated and may not be necessary if we can find a simpler one that will still be able to accomplish our task.
  • We figured out that by downloading the older versions of OpenCV, we obtain the files we are missing and by dragging them into our code, we are able to reference them. However, this will not work for all because it is an inefficient way of working plus we then get errors saying we don’t have other files. So, we are still working on referencing the files.
Problem:
Difficulties Encountered:
  • We continuously received the “Lexical or Preprocessor Issue” that halted the progress of our app. Everytime we tried alternatives, typically more errors came out. Some alternatives we tried were:
Missing Information
  • We are not necessarily missing information. Any “missing information,” is information we are learning along the way, like what certain issues that pop up on XCode mean (like the issue we’ve been having listed above).
Equipments Required
  • We have not come across any obstacles that require equipment we do not already have; our project is computer based. Although, we have created a membership for the iOS Developer Center.
Materials Missed
  • We were introduced to the iOS Developer Center, an online location where we can post questions we have pertaining to anything iOS related, as well as search through similar issues others have had to find solutions. This will help us when we come across issues that we ourselves do not have the answer for.
New Risks:
  • If we cannot get OpenCV to comply with our XCode project we may need to find a different image processing software.
  • If we do use an alternative image processing software/library, will we have to write code from scratch? Will a sample code be online anywhere for us to use/work off of?
Show Stopper Identified:
  • Getting our app to decipher numbers instead of colors; many trains’ symbols share the same color but differ in meaning (ex. the 4 and 6 trains have the same color but bring riders to different locations). A question that comes along with this though is if OpenCV is capable of doing so.
Personal Problems
  • Schedule Conflict: Leslie and I have one less day together than many other teams. Her OpenLab time on Wednesday is during 8th period while Kate’s is during 9th. Therefore, this provides us less time to collaborate, causing us to have to divide more of our tasks.
Plan:
Proposals/Steps to Attack the Problems
  • We will continue working through the issue this week. An additional issue we might encounter that we've known about from the start, is OpenCV's ability to recognize what we want it to (symbols of subway signs). An alternative is through the use of marking the areas in which we want to identify with technology similar to what the drone navigation team plans to use.
Action Items for the Coming Week
  • Our main goal of the week is to solve the “Lexical or Preprocessor Issue” that keeps appearing in our XCode project amongst inserting Mr. Lin’s code.
Experiments to Conduct
  • If the OpenCV code pulls through, we will need to begin testing it’s ability with our pictures, ones we have taken of subway symbols.
Ideas to Try
  1. We are going to try downloading the older open cv for the files we are missing. If that doesn’t work, then we will have to think of a plan B. WE are giving ourselves the week but after that, we need to start thinking of something else because we don’t want to stay halted forever.
Vendors to Contact
  • If we cannot fix the issue we have encountered (Lexical or Preprocessor Issue) and decide to not use a different image processor (library), then we may have to contact the OpenCV Company ourselves to see if they can help us fix the issue specific to our project. Or we might post our problem on popular coding blogs (stackoverflow, apple developer chats, etc.) and see if anyone else knows how to fix the problem
Updated Schedule


  1. Fix this error by the end of the week
  2. Once OpenCV is running, start figuring out how to have our app identify the objects we want it to identify.
  3. Make some trips to subway stations to take pictures and get an idea of what our app should do (how it should maneuver, what it should learn to recognize, etc.) As well as identify alternative manners if we come to the conclusion our plan may not be suitable.

Monday, October 12, 2015

Little Good News!

I have successfully compiled, downloaded, and ran the old "shape" code on the new iPad from school (iOS 8.3, 12F69) using the new Xcode (6.4, 6E35B) over the weekend. Though the audio part is no longer working, however, the OpenCV part is working! You can test it further and look into the code tomorrow. Also, you might want to get familiar with the process of running code on iOS devices such that you can use your own devices.

Tuesday, October 6, 2015

OpenCV Starter Code & Interface

Please see the OpenCV iOS link for general instruction and examples of how to start the writing apps incorporate the OpenCV. You can also find the code I wrote before using the OpenCV library.

In general, the interface should be simple and easy-accessing for the visually impaired. Probably just a few "large" buttons with voice-over feature. Of course, during the development, you might want to show the video, feature extraction, and pattern recognition results on the screen to assist your work.

Progress Update 10/6

IDEA: We want to create an indoor navigation app for the visually impaired

PROBLEM: Currently, we are unfamiliar with OpenCV and how to start using it in our code. Mr Lin has said he will help us by giving us a code he made as a basis for how to begin our app. Another problem is that we are unclear of how our user interface will look. It is not necessary to take a picture of what the camera is detecting since this app is for the visually impaired and they can't see what's on the screen.

On the bright side, we have a pretty solid idea of what we want to accomplish and we have a schedule for how fast or slow we want to accomplish our goals. As soon as Mr. Lin gives us his starter code, we can start analyzing it and begin to formulate ours. Until then, we will continue watching the OpenCV tutorials on Youtube to get a basic understanding of what we will end up doing so we are not totally lost when we start programming. In addition, we will work on getting a basic user interface that we can later change if needed.

Keep us in your prayers because this will not be easy :)

- Leslie and Kate

Friday, October 2, 2015


Here is a revised version of our Gantt Chart:
We were having trouble inserting dates, so they are listed below for each task; everything else is in the Gantt Chart link.
Swift & X-Code: 9/29/15-10/1/15
Decide App Specialization: (decide by) 10/1/15
Photo Experimenting: 10/6/15-10/15/15
-Working with Pictures 10/6/15-10/15/15
User Interface: 10/20/15- 10/29/15
-Creating/Coding the Home Screen: 10/20/15-10/22/15
-Learning OpenCV Basics (if needed): 10/27/15-10/29/15
Using X-Code: 11/3/15-11/12/15
-Inserting OpenCV into X-Code: 11/3/15-11/5/15
-Inserting VoiceOver into X-Code: 11/10/15-11/12/15