<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6565424962266979991</id><updated>2011-04-21T14:49:46.103-07:00</updated><title type='text'>Vision Based Traffic Light Triggering for Motorbikes</title><subtitle type='html'>A possible solution to "Why doesn't the traffic light work with motorbikes(motorcycles)?"</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://motorbikevision.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://motorbikevision.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Tommy Chheng</name><uri>http://www.blogger.com/profile/14158186701919138523</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_YcDlaCb3FAs/S79c7PHB50I/AAAAAAAAASo/5AoGnY1-ESk/s1600-R/tommychheng'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6565424962266979991.post-588235138665998979</id><published>2007-03-14T00:40:00.000-07:00</published><updated>2007-08-02T09:33:11.290-07:00</updated><title type='text'>A Look Back at the Project</title><content type='html'>&lt;a href="http://tommy.chheng.com/ucsd/cse190a/motorbikevision.pdf"&gt;Vision Based Traffic Light Triggering for Motorbikes Research Paper&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://tommy.chheng.com/ucsd/cse190a/traffic_light_triggering_motorbike_computer_vision_presentation_chheng.pdf"&gt;Vision Based Traffic Light Triggering for Motorbikes Report&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The goal of this project was to create a computer vision algorithm to detect incoming motorbike traffic for traffic light triggering.&lt;br /&gt;&lt;br /&gt;I intended to partially track the motorbike enough for it to distinguish it from cross traffic and noise.&lt;br /&gt;&lt;br /&gt;Problems I ran into and steps I took to correct them:&lt;br /&gt;1. I choose to use video processing rather than single image processing. Video footage allows motion segmentation by background subtraction.&lt;br /&gt;&lt;br /&gt;2. Defining the background image for subtraction was also a problem. A set image is not very robust. a slight movement to the camera will produce noise. Just using the previous frame will not give enough difference. Elected to use a sliding average to determine the background image.&lt;br /&gt;&lt;embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=829439109125828884&amp;hl=en" flashvars=""&gt; &lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;2. Labeling the foreground blobs for tracking. Accomplished by computing the distance from previous and attaching it to nearest one within a threshold. If not, create a new label.&lt;br /&gt;&lt;embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=4342050174386732202&amp;hl=en" flashvars=""&gt; &lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;3. Lighting conditions does adversely affect motion segmentation. Solved by using different colorspaces to get reduce of the influence of lighting.&lt;br /&gt;&lt;a href="http://projectpla.net/motorbikevision/output/bike_1pm_rgb_subtract.png"&gt;&lt;img src="http://projectpla.net/motorbikevision/output/bike_1pm_rgb_subtract.png" width="320" height="240"&gt;&lt;/a&gt; RGB&lt;br /&gt;&lt;br /&gt;&lt;a href="http://projectpla.net/motorbikevision/output/bike_1pm_opponent_subtract_by.png"&gt;&lt;img src="http://projectpla.net/motorbikevision/output/bike_1pm_opponent_subtract_by.png" width="320" height="240"&gt;&lt;/a&gt;&lt;br /&gt;B/Y Opponent &lt;br /&gt;&lt;br /&gt;4. Simple Tracking methods are easily affected by various factors. Cross traffic can easily steal the intended tracking(or vice versa). I determined that even if the tracking does not entirely work, sometimes the partial tracking maybe enough to do the job. In my case, I was able to use RANSAC to determine the partial trajectories.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://projectpla.net/motorbikevision/reports/ransac/bike.png"&gt;&lt;img src="http://projectpla.net/motorbikevision/reports/ransac/bike.png" width ="320" height="240"/&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Steps I did not have time for:&lt;br /&gt;- Actual classification system. Now the traffic detection problem is reduced to a line fitting/classification problem. Ideas include feeding in annotated correct trajectories and testing by a difference on the test data.&lt;br /&gt;&lt;br /&gt;- Extensive training/testing set.&lt;br /&gt;&lt;br /&gt;- Should have researched more on other methods at the various steps.  Instead of tracking by labeling by area, perhaps should have tried interest point detection(as used by the other groups) and following a region of interest points moving in the same direction.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6565424962266979991-588235138665998979?l=motorbikevision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://motorbikevision.blogspot.com/feeds/588235138665998979/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6565424962266979991&amp;postID=588235138665998979' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/588235138665998979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/588235138665998979'/><link rel='alternate' type='text/html' href='http://motorbikevision.blogspot.com/2007/03/look-back-at-project.html' title='A Look Back at the Project'/><author><name>Tommy Chheng</name><uri>http://www.blogger.com/profile/14158186701919138523</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_YcDlaCb3FAs/S79c7PHB50I/AAAAAAAAASo/5AoGnY1-ESk/s1600-R/tommychheng'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6565424962266979991.post-7261692124786812537</id><published>2007-03-14T00:27:00.000-07:00</published><updated>2007-03-14T00:39:54.957-07:00</updated><title type='text'>RANSAC Lines</title><content type='html'>To solve last week's problem of fitting partial lines, Serge suggested RANSAC. I implemented RANSAC for line fitting and the results are good as expected. RANSAC basically takes n random points, creates a model based on these points, calculate the error for all the data points from this model and add to a list of possible models if within a threshold count.More details can be found at &lt;a href="http://www.google.com/url?sa=t&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FRANSAC&amp;ei=AqX3RbbHG4zegwOMhejaAg&amp;usg=__G_vccePMsqo1DqZp4rqk0zE_zpo=&amp;sig2=i_7m4rRsjbC04TUqynJjMA"&gt;wikipedia&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here is a line fitting to the motorcycle frame from last week:&lt;br /&gt;&lt;a href="http://projectpla.net/motorbikevision/reports/ransac/bike.png"&gt;&lt;img src="http://projectpla.net/motorbikevision/reports/ransac/bike.png" width ="320" height="240"/&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;This is one from a car in the background:&lt;br /&gt;&lt;a href="http://projectpla.net/motorbikevision/reports/ransac/cross_traffic_one.png"&gt;&lt;img src="http://projectpla.net/motorbikevision/reports/ransac/cross_traffic_one.png" width="320" height="240"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As seen in the first image, we now have a more robust model for detecting motion towards a traffic stop.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6565424962266979991-7261692124786812537?l=motorbikevision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://motorbikevision.blogspot.com/feeds/7261692124786812537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6565424962266979991&amp;postID=7261692124786812537' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/7261692124786812537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/7261692124786812537'/><link rel='alternate' type='text/html' href='http://motorbikevision.blogspot.com/2007/03/ransac-lines.html' title='RANSAC Lines'/><author><name>Tommy Chheng</name><uri>http://www.blogger.com/profile/14158186701919138523</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_YcDlaCb3FAs/S79c7PHB50I/AAAAAAAAASo/5AoGnY1-ESk/s1600-R/tommychheng'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6565424962266979991.post-6145759008364736012</id><published>2007-03-07T10:15:00.000-08:00</published><updated>2007-03-07T14:57:32.090-08:00</updated><title type='text'>Partial Line Fittings for Classification</title><content type='html'>My problem now is to see how to fit partial lines. Originally, I wanted the trajectory creation to make a line like Fig 1. All incoming traffic will have a path that is similar to this path given that it is tracked fine..&lt;br /&gt;&lt;a href="http://www.projectpla.net/motorbikevision/reports/no_area_threshold/bike_night_xy_plot.png"&gt;&lt;img src="http://www.projectpla.net/motorbikevision/reports/no_area_threshold/bike_night_xy_plot.png" width="320" height="240"/&gt;&lt;/a&gt;&lt;br /&gt;Fig. 1 ideal case&lt;br /&gt;&lt;br /&gt;The tracking system I had used is still vulnerable to mis-labeling. This is even after using minimum distance and area difference to retain a previous labeling across frames. &lt;br /&gt;&lt;br /&gt;On Fig.1, we see a stolen trajectory from an opposing traffic, but it still possess the last portion which can be used to determine if it is incoming traffic. It still is able the same slope and direction movement as Fig. 1. So how can we just use the last part of the line instead of the whole trajectory path?&lt;br /&gt;&lt;br /&gt;both min. dist and area difference for labeling:&lt;br /&gt;&lt;a href="http://www.projectpla.net/motorbikevision/reports/area_threshold/bike_day_bad_pick.png&lt;br /&gt;"&gt;&lt;img src="http://www.projectpla.net/motorbikevision/reports/area_threshold/bike_day_bad_pick.png" width="320" height="240"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.projectpla.net/motorbikevision/reports/area_threshold/bike_day_xy_plot.png&lt;br /&gt;"&gt;&lt;img src="http://www.projectpla.net/motorbikevision/reports/area_threshold/bike_day_xy_plot.png" width="320" height="240"/&gt;&lt;/a&gt;&lt;br /&gt;Fig.1a,b Stolen trajectory from opposing traffic.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.projectpla.net/motorbikevision/reports/area_threshold/cross_traffic.png&lt;br /&gt;"&gt;&lt;img src="http://www.projectpla.net/motorbikevision/reports/area_threshold/cross_traffic.png" width="320" height="240"/&gt;&lt;/a&gt;&lt;br /&gt;Fig. 2 Opposing traffic.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Harris Corner Detection&lt;/b&gt;&lt;br /&gt;Curious to see how harris interest pts would work out. I used N. True's method for his parking example: Do a harris corner detect over the region of interest and sum up the points. The sum should different from empty traffic because pavement produces no corners. I've tried this with N. True's openCV implementation and it is able to pick up interest points on the bike.&lt;br /&gt;&lt;img src="http://www.projectpla.net/motorbikevision/reports/interest_pt_detection.PNG"/&gt;&lt;br /&gt;The biggest problem I see is how occlusion of cross traffic can greatly affect it which is why motion can be used to help separate correct incoming traffic.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6565424962266979991-6145759008364736012?l=motorbikevision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://motorbikevision.blogspot.com/feeds/6145759008364736012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6565424962266979991&amp;postID=6145759008364736012' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/6145759008364736012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/6145759008364736012'/><link rel='alternate' type='text/html' href='http://motorbikevision.blogspot.com/2007/03/partial-line-fittings-for.html' title='Partial Line Fittings for Classification'/><author><name>Tommy Chheng</name><uri>http://www.blogger.com/profile/14158186701919138523</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_YcDlaCb3FAs/S79c7PHB50I/AAAAAAAAASo/5AoGnY1-ESk/s1600-R/tommychheng'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6565424962266979991.post-8944670305691297531</id><published>2007-03-05T13:23:00.000-08:00</published><updated>2007-03-07T10:15:16.621-08:00</updated><title type='text'>Thoughts on Classification</title><content type='html'>In regards to the classification, I was thinking of the possible problems I might run into with my idea. My idea is to have a human label the correct incoming traffic object in the training set. The system will save these object's trajectories. For testing, when given a video footage(but in the same location) the system has not seen before, it will do the blob detection and check the current trajectory if it near matches the ones in the training set.&lt;br /&gt;&lt;br /&gt;The problems I see are:&lt;br /&gt;- occlusion will happen sometimes so the incoming traffic will might only have half the trajectory.&lt;br /&gt;- a vehicle traveling north in the opposing lane will have the close to the same points as the incoming traffic. --&gt; need to use time/frame numbers to help.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;On a side note, check out the power of &lt;a href="http://scienceblogs.com/cognitivedaily/2007/03/casual_fridays_we_can_identify.php#more"&gt;human low-resolution recognition&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6565424962266979991-8944670305691297531?l=motorbikevision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://motorbikevision.blogspot.com/feeds/8944670305691297531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6565424962266979991&amp;postID=8944670305691297531' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/8944670305691297531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/8944670305691297531'/><link rel='alternate' type='text/html' href='http://motorbikevision.blogspot.com/2007/03/thoughts-on-classification.html' title='Thoughts on Classification'/><author><name>Tommy Chheng</name><uri>http://www.blogger.com/profile/14158186701919138523</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_YcDlaCb3FAs/S79c7PHB50I/AAAAAAAAASo/5AoGnY1-ESk/s1600-R/tommychheng'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6565424962266979991.post-3483338356139308679</id><published>2007-02-26T14:06:00.001-08:00</published><updated>2007-02-26T15:26:00.101-08:00</updated><title type='text'>Opponent Color Subtraction Result</title><content type='html'>I've implemented image subtraction using the blue/yellow channel as opposed to just rgb. &lt;br /&gt;I also had to dilate the image before doing the connected component labeling for the daytime bike to be more apparent. &lt;br /&gt;&lt;br /&gt;This is a video clip of the rgb subtract, notice no bike spotted in the image subtraction.&lt;br /&gt;&lt;embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=3909581157599626000&amp;hl=en" flashvars=""&gt; &lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;This is a video clip of the blue/yellow channel subtract with dilation.&lt;br /&gt;&lt;embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=-1104365282112829466&amp;hl=en" flashvars=""&gt; &lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;This is the same capture as above with the footage shown.&lt;br /&gt;&lt;embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=4342050174386732202&amp;hl=en" flashvars=""&gt; &lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;Using this blue/yellow channel image subtraction seems to hurt night time bike tracking.The bike is first labeled as 2 and then when the car drives by, it becomes a new blob.&lt;br /&gt;&lt;embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=3780008630770012419&amp;hl=en" flashvars=""&gt; &lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;Maybe use RGB for night time and B/Y on daytime?&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;For the classification rules, I'm thinking of something that trains on a set of known trajectories that are known to be bike traffic. Then each actual labeled blob is compared to this set and check if the distance between the two trajectories are within a certain bounds.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6565424962266979991-3483338356139308679?l=motorbikevision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://motorbikevision.blogspot.com/feeds/3483338356139308679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6565424962266979991&amp;postID=3483338356139308679' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/3483338356139308679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/3483338356139308679'/><link rel='alternate' type='text/html' href='http://motorbikevision.blogspot.com/2007/02/opponent-color-subtraction-result.html' title='Opponent Color Subtraction Result'/><author><name>Tommy Chheng</name><uri>http://www.blogger.com/profile/14158186701919138523</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_YcDlaCb3FAs/S79c7PHB50I/AAAAAAAAASo/5AoGnY1-ESk/s1600-R/tommychheng'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6565424962266979991.post-4139178575236246257</id><published>2007-02-21T01:13:00.000-08:00</published><updated>2007-02-21T01:20:27.004-08:00</updated><title type='text'>Opponent Colors Image Subtraction</title><content type='html'>I did some more experimenting on image subtraction in different color space. I used two frames from the daytime footage. Serge suggested using opponent colors rather than LAB for better debugging. Opponent Color channels has a simpler model.&lt;br /&gt;Below is plain RGB subtraction.&lt;br /&gt;&lt;a href="http://projectpla.net/motorbikevision/output/bike_1pm_rgb_subtract.png"&gt;&lt;img src="http://projectpla.net/motorbikevision/output/bike_1pm_rgb_subtract.png" width="320" height="240"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;These two show the subtraction using opponent color channels. I ignore The first one is the green/red one and the second one is blue/yellow. The Blue/yellow seems to bring out difference more, but nosier than RGB.&lt;br /&gt;&lt;a href="http://projectpla.net/motorbikevision/output/bike_1pm_opponent_subtract_gr.png"&gt;&lt;img src="http://projectpla.net/motorbikevision/output/bike_1pm_opponent_subtract_gr.png" width="320" height="240"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://projectpla.net/motorbikevision/output/bike_1pm_opponent_subtract_by.png"&gt;&lt;img src="http://projectpla.net/motorbikevision/output/bike_1pm_opponent_subtract_by.png" width="320" height="240"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6565424962266979991-4139178575236246257?l=motorbikevision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://motorbikevision.blogspot.com/feeds/4139178575236246257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6565424962266979991&amp;postID=4139178575236246257' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/4139178575236246257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/4139178575236246257'/><link rel='alternate' type='text/html' href='http://motorbikevision.blogspot.com/2007/02/opponent-colors.html' title='Opponent Colors Image Subtraction'/><author><name>Tommy Chheng</name><uri>http://www.blogger.com/profile/14158186701919138523</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_YcDlaCb3FAs/S79c7PHB50I/AAAAAAAAASo/5AoGnY1-ESk/s1600-R/tommychheng'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6565424962266979991.post-3326250276030797510</id><published>2007-02-14T09:39:00.001-08:00</published><updated>2007-02-14T15:15:39.247-08:00</updated><title type='text'>Daytime Clip and Blob Position Plots</title><content type='html'>I recorded a clip with a bike at 1 pm. With the same settings as used in the gilman car 5pm and bike at night, it was not able to recognize the bike correctly. Perhaps the image is too saturated with light. &lt;br /&gt;&lt;embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=4704237296559949892&amp;hl=en" flashvars=""&gt; &lt;/embed&gt;&lt;br /&gt;I found a L*A*B* colorspace function for Matlab. Here are the different components for a snapshot of the above video.&lt;br /&gt;&lt;a href="http://projectpla.net/motorbikevision/bike_1pm_lab.png"&gt;&lt;img src="http://projectpla.net/motorbikevision/bike_1pm_lab.png"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;----&lt;br /&gt;I plotted the positions of different objects in a 3d plot with x,y and frame number as the axes.&lt;br /&gt;&lt;br /&gt;This one is of the car at 5pm gilman. Only posted ones with more than 10 positions.&lt;br /&gt;&lt;a href="http://projectpla.net/motorbikevision/car_gilman_5pm_plots.png"&gt;&lt;img src="http://projectpla.net/motorbikevision/car_gilman_5pm_plots.png"/&gt;&lt;/a&gt;&lt;br /&gt;This one is of the motorbike at night gilman. Only posted ones with more than 5 positions.&lt;br /&gt;&lt;a href="http://projectpla.net/motorbikevision/bike_gilman_night_plots.png"&gt;&lt;img src="http://projectpla.net/motorbikevision/bike_gilman_night_plots.png"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;TODO Next:&lt;br /&gt;-Fix daytime issue.&lt;br /&gt;-Come up with classification rules.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6565424962266979991-3326250276030797510?l=motorbikevision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://motorbikevision.blogspot.com/feeds/3326250276030797510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6565424962266979991&amp;postID=3326250276030797510' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/3326250276030797510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/3326250276030797510'/><link rel='alternate' type='text/html' href='http://motorbikevision.blogspot.com/2007/02/daytime-clip-and-blob-position-plots.html' title='Daytime Clip and Blob Position Plots'/><author><name>Tommy Chheng</name><uri>http://www.blogger.com/profile/14158186701919138523</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_YcDlaCb3FAs/S79c7PHB50I/AAAAAAAAASo/5AoGnY1-ESk/s1600-R/tommychheng'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6565424962266979991.post-7535986846938547742</id><published>2007-02-07T00:34:00.000-08:00</published><updated>2007-02-07T01:07:45.173-08:00</updated><title type='text'>Tracking Blobs</title><content type='html'>Since last week's discussion, I have decided to change my detection algorithm by adding a tracking component. After image subtraction to get the moving blobs and thresholding, I track the moving blobs to determine which direction it is moving in. Since the camera traffic light triggering is intended for only traffic stop, we can then determine if the blob is moving in the direction of the targeted traffic light.&lt;br /&gt;&lt;br /&gt;My algorithm for tracking is simple:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;For all the frames in the video:&lt;br /&gt; Compute the background by a sliding average.&lt;br /&gt;&lt;br /&gt; Do an image subtraction of the background image from the current image.&lt;br /&gt;&lt;br /&gt; Convert the resultant image to a binary image and use a connected component labeling&lt;br /&gt;&lt;br /&gt; threshold on area to reduce noise&lt;br /&gt;&lt;br /&gt; for all the blobs on the current frame:&lt;br /&gt;   compute position(centroid), area, boundingbox&lt;br /&gt;   &lt;br /&gt;   compare the current blob's position, area against the global blob set&lt;br /&gt;     if positions are the nearest and within a certain threshold, add position to the matching global blob&lt;br /&gt;     if the positions are not near, add to global blob set&lt;br /&gt;&lt;br /&gt;     if a blob's trajectory has shown the intended direction path in the specified area, turn on boolean flag for triggering&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Results:&lt;br /&gt;night time bike:&lt;br /&gt;&lt;embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=-3161234715440360689&amp;hl=en" flashvars=""&gt; &lt;/embed&gt;&lt;br /&gt;car at 5pm:&lt;br /&gt;&lt;embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=7708361188691712257&amp;hl=en" flashvars=""&gt; &lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;The cross traffic does not track as well because they are moving faster where as the incoming traffic is moving slowly towards a stop sign and are able to be tracked.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;TODO:&lt;/b&gt;&lt;br /&gt;-Experiment and grab more training data in the daytime.&lt;br /&gt;--&gt;Expect to run into issues in the day with more cross-traffic, people, lighting conditions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6565424962266979991-7535986846938547742?l=motorbikevision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://motorbikevision.blogspot.com/feeds/7535986846938547742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6565424962266979991&amp;postID=7535986846938547742' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/7535986846938547742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/7535986846938547742'/><link rel='alternate' type='text/html' href='http://motorbikevision.blogspot.com/2007/02/tracking-blobs.html' title='Tracking Blobs'/><author><name>Tommy Chheng</name><uri>http://www.blogger.com/profile/14158186701919138523</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_YcDlaCb3FAs/S79c7PHB50I/AAAAAAAAASo/5AoGnY1-ESk/s1600-R/tommychheng'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6565424962266979991.post-8394725184819828728</id><published>2007-01-28T00:30:00.000-08:00</published><updated>2007-01-30T23:33:56.078-08:00</updated><title type='text'>Headlight (or Blob) Detection</title><content type='html'>I tried experimenting with Nicholas Howe's Segmentation through Graph Cuts but was largely unsuccessful on night images. I lowered the threshold as Nicholas Howe suggested but it still could not catch anything in the test video clips.&lt;br /&gt;&lt;br /&gt;I implemented the sliding average(currently set at n=15 frames) to compute the background image for the motion segmentation. It produces much better results than just the previous frame.&lt;br /&gt;&lt;br /&gt;Additionally, I worked on blob detection a little. After I get my image difference, I convert the frame into binary and do a connected component labeling on it. This is thresholded based on area. As you can see in the sample videos, the connected component labeling finds the headlights, but it also catches a lot of other false positives.&lt;br /&gt;&lt;br /&gt;night time bike:&lt;br /&gt;&lt;embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=829439109125828884&amp;hl=en" flashvars=""&gt; &lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;&lt;embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=-946997859002665810&amp;hl=en" flashvars=""&gt; &lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;car at 5pm:&lt;br /&gt;&lt;embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=-6973004385130117587&amp;hl=en" flashvars=""&gt; &lt;/embed&gt;&lt;br /&gt;&lt;embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=2531493781828692371&amp;hl=en" flashvars=""&gt; &lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;One idea I have is somehow to incorporate directional motion(like gradient with respect to y) as a possible feature. Since each camera will only be responsible for one traffic stop, we know the direction that the motorbike will be traveling. In this case, we can check if the blob is heading south. If this can be implemented successfully, we can get rid of the cross traffic detection.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6565424962266979991-8394725184819828728?l=motorbikevision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://motorbikevision.blogspot.com/feeds/8394725184819828728/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6565424962266979991&amp;postID=8394725184819828728' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/8394725184819828728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/8394725184819828728'/><link rel='alternate' type='text/html' href='http://motorbikevision.blogspot.com/2007/01/headlight-or-blob-detection.html' title='Headlight (or Blob) Detection'/><author><name>Tommy Chheng</name><uri>http://www.blogger.com/profile/14158186701919138523</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_YcDlaCb3FAs/S79c7PHB50I/AAAAAAAAASo/5AoGnY1-ESk/s1600-R/tommychheng'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6565424962266979991.post-5084006453767973177</id><published>2007-01-24T01:08:00.000-08:00</published><updated>2007-01-24T07:50:12.921-08:00</updated><title type='text'>Trials In Motion Segmentation</title><content type='html'>I'm working on segmenting the objects out of a video feed. &lt;br /&gt;&lt;br /&gt;Most of the research papers I have read in regards to stationary traffic surveillance use simple background subtraction such as the frame before it or where the background image is taken when no traffic are present. ["&lt;a href="http://www.google.com/url?sa=t&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel5%2F8688%2F27521%2F01226149.pdf&amp;ei=3X-3RYPSNYWygAO_tpmqAw&amp;usg=__302fPBrzhtCGZO7vGkLuTI_QaCw=&amp;sig2=K2ODzeAyU-F3oSuUGgd2NQ"&gt;Vision-based Detection of Activity for Traffic Control”&lt;/a&gt;] [&lt;a href="http://www.google.com/url?sa=t&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Fwww.sie.arizona.edu%2FATLAS%2Fdocs%2FBhuvaneshwar%2520and%2520Mirchandani-2004.pdf&amp;ei=_X-3RcuHL43egwP-lfW8Aw&amp;usg=__MEHfq1yVyYjc4MnlTRv_G7znhaY=&amp;sig2=hHdCaepty9crdKa6u_0cBw"&gt;“Real Time Detection of Crossing Pedestrians For Traffic Adaptive Signal Control”&lt;/a&gt;] Erosion and Dilation can be applied after to reduce noise. During our last class, Serge suggested perhaps taking the last N frames and compute an average from it to use as the background image.  Oddly, I can't get the perfect segmentation pictures as found in the various research papers.&lt;br /&gt;&lt;br /&gt;Here's a few runs in both day and night using different methods:&lt;br /&gt;bike at night:&lt;br /&gt;&lt;embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=6660825521067367941&amp;hl=en" flashvars=""&gt; &lt;/embed&gt;&lt;br /&gt;Subtracting from the Previous Frame Bike at Night:&lt;br /&gt;&lt;embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=836426989022540863&amp;hl=en" flashvars=""&gt; &lt;/embed&gt;&lt;br /&gt;Subtracting from the Average across all frames(not technically realistic since we can't see frames ahead of the current one) Working on doing just previous N frames.&lt;br /&gt;bike at night:&lt;br /&gt;&lt;embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=851788940582426859&amp;hl=en" flashvars=""&gt; &lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;car 5pm:&lt;br /&gt;&lt;embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=7248085456828089854&amp;hl=en" flashvars=""&gt; &lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;subtract previous frame car 5pm:&lt;br /&gt;&lt;embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=-7077507174619600826&amp;hl=en" flashvars=""&gt; &lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;subtract avg car 5pm:&lt;br /&gt;&lt;embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=-7600324229303912492&amp;hl=en" flashvars=""&gt; &lt;/embed&gt;&lt;br /&gt;I also was looking other segmentation methods. I found an interesting one, “&lt;a href="http://www.cs.smith.edu/~nhowe/research/code/#fgseg"&gt;Better Foreground Segmentation Through Graph Cuts&lt;/a&gt;” by Nicholas Howe and Alexandra Deschamps.  They had the Matlab code available for usage but it seems only to work with the demo movie file they included. &lt;br /&gt;Here's how the sample video turned out. Looks good for blob detection(the next step), I'll take a more detailed look at it.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://projectpla.net/tomy/graph_cut_segmentation.jpg"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6565424962266979991-5084006453767973177?l=motorbikevision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://motorbikevision.blogspot.com/feeds/5084006453767973177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6565424962266979991&amp;postID=5084006453767973177' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/5084006453767973177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/5084006453767973177'/><link rel='alternate' type='text/html' href='http://motorbikevision.blogspot.com/2007/01/trials-in-motion-segmentation.html' title='Trials In Motion Segmentation'/><author><name>Tommy Chheng</name><uri>http://www.blogger.com/profile/14158186701919138523</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_YcDlaCb3FAs/S79c7PHB50I/AAAAAAAAASo/5AoGnY1-ESk/s1600-R/tommychheng'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6565424962266979991.post-2453675582892600325</id><published>2007-01-15T13:01:00.000-08:00</published><updated>2007-01-15T13:05:36.553-08:00</updated><title type='text'>Improved method of capturing sample data</title><content type='html'>So it seems taking pictures is a poor way of capturing data. A better approach is just to take video footage and cut the frames out of it. I figured out the simple matlab commands for it:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;FILENAME = 'MVI_1619.avi';&lt;br /&gt;file_info = aviinfo(FILENAME);&lt;br /&gt;num_frames = file_info.NumFrames;&lt;br /&gt;for current_frame=1:num_frames&lt;br /&gt;%grab the movie frame&lt;br /&gt;movieframe = aviread(FILENAME, current_frame);&lt;br /&gt;%convert to an image and save into cell&lt;br /&gt;imageframe{current_frame} = frame2im(movieframe);&lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I read the research paper in the previous post in more detail. To answer my own question regarding why motion detection is needed rather than just work with a single image, motion detection is used for background detection. By subtracting two frames of a time interval, we can set the foreground to the objects that moved.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6565424962266979991-2453675582892600325?l=motorbikevision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://motorbikevision.blogspot.com/feeds/2453675582892600325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6565424962266979991&amp;postID=2453675582892600325' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/2453675582892600325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/2453675582892600325'/><link rel='alternate' type='text/html' href='http://motorbikevision.blogspot.com/2007/01/improved-method-of-capturing-sample.html' title='Improved method of capturing sample data'/><author><name>Tommy Chheng</name><uri>http://www.blogger.com/profile/14158186701919138523</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_YcDlaCb3FAs/S79c7PHB50I/AAAAAAAAASo/5AoGnY1-ESk/s1600-R/tommychheng'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6565424962266979991.post-7307024809244729198</id><published>2007-01-10T12:19:00.000-08:00</published><updated>2007-01-10T14:59:06.891-08:00</updated><title type='text'>Research Papers</title><content type='html'>I found an interesting research paper that many of the ideas for segmentation that Serge suggested. It is titled &lt;a href="http://www.google.com/url?sa=t&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel5%2F8688%2F27521%2F01226149.pdf&amp;ei=8UmlRZDsMo7YgwOwkMD-CQ&amp;usg=__302fPBrzhtCGZO7vGkLuTI_QaCw=&amp;sig2=jhlR0vCUEVuA7Rbt51yFrA"&gt;"Vision-based Detection of Activity for Traffic Control."&lt;/a&gt;&lt;br /&gt;The paper discusses how a single algorithm to cover all cases of traffic detection is inefficient. I tend to agree. There are variations between daylight and night that can be exploited to achieve better results. &lt;br /&gt;&lt;br /&gt;The approach in the paper suggests two detection modes based on the environmental conditions. The first stage applies motion detection by background differentiation, ghost removal, segment filtering and an adaptive background update. Then, a dual processing scheme is applied that uses different methods to refine the motion parameters based on the contrast in the current image. A selection algorithm that uses HSV color space is used to determine different conditions(weather, day, night). In high contrast, shadows with moving objects need to be detected to avoid being merged with the foreground objects. In nighttime and low contrast, only the headlights is needed. &lt;br /&gt;&lt;br /&gt;My question seems to for detection, why is motion detection utilized? Why not just analyze a static image? We can apply background subtraction, then look at the window of interest(the lanes) for key feature points such as the headlights.&lt;br /&gt;&lt;br /&gt;As for testing images, i found a good spot at the intersection of Villa La Jolla and the Gilman Parking structure. here are some pics:&lt;br /&gt;&lt;img src="http://sgo.cc/cse190/images/IMG_1644.jpg"&gt;&lt;br /&gt;&lt;img src="http://sgo.cc/cse190/images/IMG_1663.jpg"&gt;&lt;br /&gt;At first I took the image from the ground floor, then I took it from the 2nd floor of the structure. I think it's a more realistic approach to take it from a higher ground  since thats where cameras are usually mounted.&lt;br /&gt;&lt;br /&gt;Also, found this one that might of interest to the group, &lt;a href="&lt;br /&gt;http://med.ee.nd.edu/MED11/pdf/papers/t7-030.pdf"&gt;Vision-Based Human Tracking and Activity Recognition&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6565424962266979991-7307024809244729198?l=motorbikevision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://motorbikevision.blogspot.com/feeds/7307024809244729198/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6565424962266979991&amp;postID=7307024809244729198' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/7307024809244729198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/7307024809244729198'/><link rel='alternate' type='text/html' href='http://motorbikevision.blogspot.com/2007/01/research-papers.html' title='Research Papers'/><author><name>Tommy Chheng</name><uri>http://www.blogger.com/profile/14158186701919138523</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_YcDlaCb3FAs/S79c7PHB50I/AAAAAAAAASo/5AoGnY1-ESk/s1600-R/tommychheng'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6565424962266979991.post-2619682060111453753</id><published>2007-01-06T23:55:00.000-08:00</published><updated>2007-01-07T00:06:17.715-08:00</updated><title type='text'>Sample Images</title><content type='html'>I found this site, http://www.metrokc.gov/kcdot/mycommute/allcams.cfm, that has webcams setup near Seattle, WA.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Assuming I try to based my algorithm on detecting headlights, we see two immediate problems given the images below: glare and reflections. Detecting a motorcycle at night time i think is the most vital because it is when cars are less likely to be on the road, thus not set off the lights.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;When I take test images on campus, I will try to mimic the perspective. I will also try to work with low resolutions to mimic a poor government bought camera.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;a href="javascript:PopupPic('http://www.metrokc.gov/kcdot/mycommute/camdata/juanita_0/current.jpg','100 Ave NE @ Juanita-Woodinville Way')" class="float"&gt;&lt;img src="http://www.metrokc.gov/kcdot/mycommute/camdata/juanita_0/current.jpg" alt="Traffic camera: 100th Ave NE @ Juanita-Woodinville Way" border="2" height="146" hspace="8" vspace="8" width="180" /&gt;&lt;br /&gt;&lt;span&gt;100 Ave NE @ Juan-Wood Way&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="javascript:PopupPic('http://www.metrokc.gov/kcdot/mycommute/camdata/novelty_0/current.jpg','Novelty Hill @ 208th Ave NE (SE cor)')" class="float"&gt;&lt;img src="http://www.metrokc.gov/kcdot/mycommute/camdata/novelty_0/current.jpg" alt="Traffic camera: Novelty Hill @ 208th Ave NE - SE cor" border="2" height="146" hspace="8" vspace="8" width="180" /&gt;&lt;br /&gt;&lt;span&gt;Novelty Hill @ 208 Ave NE (SE)&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="javascript:PopupPic('http://www.metrokc.gov/kcdot/mycommute/camdata/180thSE_WVlly_Hwy_0/current.jpg','180th SE @ West Valley Hwy')" class="float"&gt;&lt;img src="http://www.metrokc.gov/kcdot/mycommute/camdata/180thSE_WVlly_Hwy_0/current.jpg" alt="Traffic camera: 180th SE @ W Valley Hwy" border="2" height="146" hspace="8" vspace="8" width="180" /&gt;&lt;br /&gt;&lt;span&gt;W Valley Hwy @ S 180th St&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="javascript:PopupPic('http://www.metrokc.gov/kcdot/mycommute/camdata/180thSE_WVlly_Hwy_1/current.jpg','180th SE @ West Valley Hwy - W')" class="float"&gt;&lt;img src="http://www.metrokc.gov/kcdot/mycommute/camdata/180thSE_WVlly_Hwy_1/current.jpg" alt="Traffic camera: 180th SE @ W Valley Hwy - West" border="2" height="146" hspace="8" vspace="8" width="180" /&gt;&lt;br /&gt;&lt;span&gt;W Valley Hwy @ S 180th St (W)&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="javascript:PopupPic('http://www.metrokc.gov/kcdot/mycommute/camdata/180thSE_Talbot_0/current.jpg','Talbot Road @ S 43rd St/Carr Rd')" class="float"&gt;&lt;img src="http://www.metrokc.gov/kcdot/mycommute/camdata/180thSE_Talbot_0/current.jpg" alt="Traffic camera: Talbot Road @ S 43rd St/Carr Rd" border="2" height="146" hspace="8" vspace="8" width="180" /&gt;&lt;br /&gt;&lt;span&gt;Talbot Rd @ S 43rd St/Carr Rd&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="javascript:PopupPic('http://www.metrokc.gov/kcdot/mycommute/camdata/benson_petro_0/current.jpg','Petrovitsky Rd/Carr Rd @ SR 515')" class="float"&gt;&lt;img src="http://www.metrokc.gov/kcdot/mycommute/camdata/benson_petro_0/current.jpg" alt="Traffic camera: SR 515 @ Petro Rd" border="2" height="146" hspace="8" vspace="8" width="180" /&gt;&lt;br /&gt;&lt;span&gt;SE 176th St/Carr Rd @ SR515&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="javascript:PopupPic('http://www.metrokc.gov/kcdot/mycommute/camdata/116thSE_Petro_0/current.jpg','116th SE @ Petrovitsky Rd')" class="float"&gt;&lt;img src="http://www.metrokc.gov/kcdot/mycommute/camdata/116thSE_Petro_0/current.jpg" alt="Traffic camera: 116th SE @ Petro Rd" border="2" height="146" hspace="8" vspace="8" width="180" /&gt;&lt;br /&gt;&lt;span&gt;116th SE @ Petro Rd&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="javascript:PopupPic('http://www.metrokc.gov/kcdot/mycommute/camdata/hobart_0/current.jpg','Issaquah-Hobart Rd @ SE May Valley Rd')" class="float"&gt;&lt;img src="http://www.metrokc.gov/kcdot/mycommute/camdata/hobart_0/current.jpg" alt="Traffic camera: Iss Hob Rd @ SE May Vly Rd" border="2" height="146" hspace="8" vspace="8" width="180" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;Iss Hob Rd @ SE May Vly Rd&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6565424962266979991-2619682060111453753?l=motorbikevision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://motorbikevision.blogspot.com/feeds/2619682060111453753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6565424962266979991&amp;postID=2619682060111453753' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/2619682060111453753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/2619682060111453753'/><link rel='alternate' type='text/html' href='http://motorbikevision.blogspot.com/2007/01/sample-images.html' title='Sample Images'/><author><name>Tommy Chheng</name><uri>http://www.blogger.com/profile/14158186701919138523</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_YcDlaCb3FAs/S79c7PHB50I/AAAAAAAAASo/5AoGnY1-ESk/s1600-R/tommychheng'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6565424962266979991.post-4300935762183550332</id><published>2006-12-01T12:01:00.000-08:00</published><updated>2006-12-15T23:29:21.435-08:00</updated><title type='text'>Welcome!</title><content type='html'>Hello, this blog will be created to track the progress of a research project for CSE 190-A: Projeccts in Vision and Learning. The course is taught by Serge Belongie at UCSD. My project is titled "Vision Based Traffic Light Triggering." As the title suggests, I want to investigate how accurate we can detect motorbikes using a camera and image processing algorithms. &lt;a href="http://projectpla.net/tomy/cse190.pdf"&gt;Click here for the proposal&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I thought of this idea because usually at night time when I was riding my motorbike and there's no cars. This means that the light didn't get triggered for me.&lt;br /&gt;&lt;br /&gt;The problem lies with the traffic light sensor. Traffic lights work by an inductive loop to detect a large presence. Motorcycles tend not to set these off.&lt;br /&gt;&lt;br /&gt;Solutions:&lt;br /&gt;There are a couple workarounds but each with their own faults: &lt;br /&gt;&lt;li&gt;a large magnet(maybe a hard drive?) taped to the motorcycle&lt;br/&gt; Not tested, not everyone will buy a magnet to stick on a bike.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;running the red light&lt;br/&gt; BAD! Can get you in trouble with the man or killed by an SUV.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;get off the bike and run to the nearest crosswalk button.&lt;br/&gt; Only works on going straight.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Abstract&lt;br /&gt;Current traffic signal light triggers do not work well with motorbikes. I plan&lt;br /&gt;to develop an algorithm or improve upon existing algorithms to classify&lt;br /&gt;motorbike presence at a traffic light with the main goal of improving safety&lt;br /&gt;for motorcyclists.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6565424962266979991-4300935762183550332?l=motorbikevision.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://motorbikevision.blogspot.com/feeds/4300935762183550332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6565424962266979991&amp;postID=4300935762183550332' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/4300935762183550332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6565424962266979991/posts/default/4300935762183550332'/><link rel='alternate' type='text/html' href='http://motorbikevision.blogspot.com/2006/12/welcome.html' title='Welcome!'/><author><name>Tommy Chheng</name><uri>http://www.blogger.com/profile/14158186701919138523</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_YcDlaCb3FAs/S79c7PHB50I/AAAAAAAAASo/5AoGnY1-ESk/s1600-R/tommychheng'/></author><thr:total>0</thr:total></entry></feed>
