FAQ - updated frequently (please check before sending Email to the instructors)

General

  • Question: I am an SCPD student. It is hard me to be physically present in the class. How do I meet with other classmates to form teams for assignments and projects?

    Answer: We encourage the use of the Stanford newsgroup for cs223b, su.class.cs223b, to interact with other cs223b folks. We will assume that discussions in the newsgroup will respect the Stanford Honor Code.

Homework Assignment I

  • Questions about 3: Can we assume a regular polygon? Can we assume that the center of the polygon initially coincides with the origin? In (c), can we assume that the 6 lines intersect at the origin?

    Answer: Yes to all. Also in 3(b), don't worry about translation. Just focus on rotation about the center of the polygon.

  • Question: The haartraining program has completed successfully but no XML file is generated, just some numbered folders. Am I doing something wrong?

    Answer: The haartraining program doesn't actually output an XML file, just the numbered folders. These can be loaded into OpenCV, but you may find it easier to convert these folders into an XML file, which you can do with a program called "haarconv." You can download "haarconv" from the "files" section of the OpenCV Yahoo Group.

  • Question: When I call cvGoodFeaturesToTrack I get the error "bad number of channels". I am reading the jpg file you provided using cvvLoadImage and I can't figure out why it's giving this error.

    Answer: When you load a JPG image it will contain 3 channels, and that function only works on 1 channel images. You can use cvCvtColor() to convert the image to grayscale like this:

    	
    	gray = cvCreateImage(cvSize(image->width,image->height), IPL_DEPTH_8U, 1);
    	cvCvtColor(image, gray, CV_BGR2GRAY);
    
  • Question: Once I've detected the corners in the image, is there a way to cluster nearby corners into objects?

    Answer: You can try using the cvKMeans2 clustering function to separate the corrners into clusters, and then taking the densest cluster(s) as cars and running cvConvexHull2 on those point clusters to get the car boundaries.

  • Question: I noticed that the hand-labeled images in the LABELED directory do not match the car boundaries very well. Can you fix this?

    Answer: The labeled images have been updated, so you can now download the new ones with better matching. But keep in mind that we will not actually use these 10 images when grading; we will select other samples from the test set. So rather than spending lots of time exactly matching these 10 hand-labeled images, focus on doing the best job you can finding the boundaries of cars in the general case.

  • Question: I just tried to submit my homework to the given address, and it bounced back with an "Illegal Attachment" message. How can I fix this?

    Answer: The "Illegal Attachment" bounce will usually occur when you have an EXE file inside of your ZIP file. Please just include your source code -- you don't need to include the compiled version. Try submitting your homework again it again without the EXE file included.

Homework Assignment 2

  • Question: Can I use the calibration technique described in the textbook (also in the lecture) for this assignment?

    Answer: The technique described in 6.2.2 assumes a non-planar rig while we provide you with images of a planar checkerboard. You may use the technique described in Zhang's 99 ICCV paper: "Flexible Camera Calibration by Viewing a Plane from Unknown Orientations", which calibrates from planar patterns. But this just a suggestion. If you come across a better technique, feel free to implement it.

  • Question: Can I use corner extraction or homography determination routines from Matlab camera calibration toolbox or OpenCV?

    Answer: You may use corner detection routines, but NOT homography determination routines. Also you are not required to submit routines for corner extraction. You can use existing routines to extract corners, save them in your file, and give it as an input to your calibration program.

Traffic Prediction Project Competition

  • Question: How do I know the intrinsics of the camera used to shoot the video clips?

    Answer: The camera that we used is the same as the one you calibrated in assignment 2.

  • Question: We were told we could adjust parameters during the competition. Does this mean parameters for the program as a whole, or can we tune parameters for each specific clip?

    Answer: You can only tune parameters for the program as a whole. No clip-dependent adjustments are allowed. In other words, you must run the exact same piece of software to process all three clips during the competition.

  • Question: Is any interaction allowed between the user and the program at runtime?

    Answer: No. Your program must run completely independently, with no user input required.

  • Question: Can I hardcode the vanishing point during the competition?

    Answer: Yes, you can hardcode the vanishing point if you want to risk the assumption that it will be the same place in all of the clips. Again, if you hardcode the vanishing point, it must be the same for all three clips.

  • Question: Can I process each clip on a different laptop?

    Answer: No. Only one computer is allowed per team.

  • Question: Can I hardcode a masked off a region in which no car pixels are allowed?

    Answer: Yes, but again if you hardcode a mask it must be the same for all clips.

  • Question: Should I mark the cars going in the opposite direction?

    Answer: No. You should only label cars on your side of the highway, going in the same direction.

  • Question: I have trouble detecting cars that are very far away, so in a region near the vanishing point, my program automatically marks car pixels even if there is little evidence, just to increase my score if there are any cars there. Is this OK?

    Answer: You may make such assumptions, at your own risk.























































































Course overview
Announcements
Time and location
Course materials
Schedule
Instructors
Assignments
FAQ
Competition
Policies
Links