Here are links to case-study descriptions of two MOOCs. They are both informative, interesting descriptions of the projects, students and outcomes. For example, one thing that caught my eye was the fact that a significant number of participants in both classes were motivated by personal curiosity. (You will have to read them to see what catches your eye :-).
IEEE Spectrum Podcast interview of Professor Roger Barr, who taught the Bioelectricity course (13m 42s).
3. Katy Jordan has compiled MOOC completion rate and assessment type data and displayed it in an interactive graph. (Be sure to visit the interactive graph -- you can filter it in several ways).
A lot of people, myself included, are upset at Google's decision to eliminate their RSS reader, Google Reader. Perhaps Charles Arthur was one of them, because he has just written an article reporting the lifespan of 39 canceled Google services and application programming interfaces (APIs). It turns out that the mean life span of canceled projects is 1,459 days, just under four years. The article has a table listing the start and end dates of the 39 services and APIs.
I use Google Reader in my work and, until now, have been having my students use it. We use other Google services even more -- Google Docs, Blogger, Google Plus and Hangouts are central to my teaching and other work. I would be happy to pay a reasonable fee to use those services, but would think twice about requiring my students to do so.
IP TV is taking off -- which organizations will run the next global "networks?"
I recently wrote a post on Netflix's made-for the Internet series, House of Cards, saying that I did not like it as much as the HBO series The Sopranos. I've since finished watching House of Cards, and, even if I did not find it as compelling as The Sopranos, I was hooked and enjoyed watching it.
I ended that review by saying I hoped House of Cards would succeed and Netflix would give us more high production value entertainment online. It did succeed -- as you see here, it has an average rating of 4.6 stars.
In retrospect, that is not such a surprise. As David Carr points out, Netflix's use of big data pretty well guaranteed them a hit. Before starting production of the series, they knew that people liked the movies of director David Fletcher and star Kevin Spacey as well as the British version of House of Cards, upon which this series was based. Given that history, they were confident the series would be a success, so they produced 13 episodes without a pilot test.
As you see here, the episodes vary in length from 46 to 56 minutes -- the writers were freed from the constraint of broadcast television episodes, which must fit into time slots.
Having 13 episodes recorded ahead of time, meant that viewers, including me, could watch two or more together. We were freed from the weekly release schedule of broadcast television. The season constraint is also gone -- it could have been 12 episodes or 14 -- whatever the writers felt worked well.
We were also freed from commercials, which I really hate now after a year or two as a cord cutter.
They could have also dropped the episode constraint. One can think of House of Cards as a 661-minute movie. A viewer could pause whenever he or she felt like it and resume later or the writers could have inserted suggested pause points. I am not sure how well that would work out for viewers or how the writers would have handled the 11-hour format, but it would have had one positive advantage -- the viewer would not have to watch the series introduction and credits 13 times.
Netflix has committed to more Internet production, and they are not alone. YouTube is bankrolling productions and their audience exceeds 1 billion views per month.
The BBC has announced plans to produce Internet programs, and they are experienced content producers. Netflix jumped out to an early lead, but the BBC commitment reminds us that the Internet is global and we will see global productions as well as global audiences.
The times they are a'changing. The situation is well summarized in a quote by Netflix's chief content officer Ted Sarandos, who said "The goal is to become HBO faster than HBO can become us." Will Netflix, YouTube, the BBC and others become HBO-like content producers before HBO is freed of contractual obligations and moves their content to the Internet?
Historians look back at movies like Birth of a Nation, with its use of panorama shots, panning, night photography, a musical score and a large battle scene, or The Jazz Singer, with its sound track, as production technique breakthroughs. We may one day look back on House of Cards as a distribution breakthrough.
Amazon has committed to production of five children's programs in addition to six comedies they announced earlier.
Netflix is not standing pat -- they announced an 8-episode series to be called, Sense8, by the creators of the Matrix movies and Babylon 5. As with House of Cards, they are betting on a near-sure thing.
Even Twitter wants in on the video goldrush. Next week, Comedy Central will host a comedy festival on Twitter. That sounds like a long shot, but I love comedy, so will give it a shot. The hashtag is #ComedyFest.
Amazon has debuted pilots of their initial productions (http://indy.st/11doxAs). Netflix accurately predicted the success of House of Cards using past history and was confident in producing 13 episodes at one time. Amazon will use the public as a very large "focus group" in deciding which shows to produce and which to drop.
Netflix has released its second complete series, Hemlock Grove (http://nflx.it/14HdTIg). It has a four star rating -- Netflix mitigates their risk by mining their Big Data before producing the episodes.
Netflix and Amazon have an advantage over traditional producers in their ability to predict the likely success of new productions.
House of Cards was nominated for best drama for the 65th Primetime Emmy Awards. The series earned nine nominations overall, including lead acting nods for Kevin Spacey and Robin Wright.
Netflix profit grows but stock dropped because the number of subscribers was disappointing. Subsequently, they got a big boost in trials when Google bundled a 3-month subscription in with their new Chromecast device.
HBO is offering access to seven series in the Google Play store. They cost between $2 - $3 per episode and $19 - $29 for a full season. They say more will come.
Netflix said they wanted to become HBO before HBO became Netflix -- the race is on. (This looks good for Google too).
You no longer have to be an HBO subscriber to see HBO programs -- you can order individual episodes or full seasons ala carte from Google. (Individual episodes cost between $1.99 and $3.99 and full seasons are between $14.99 and $38.99, depending upon the show and the video quality.) The selection is limited today, but HBO says they will add more -- this must be a delicate marketing and contractual issue with their cable and satellite carriers.
Bloomberg projects that Netflix is poised to pass HBO in paid subscribers and is in talks about offering their content through cable providers like Cox Communications.
Consumer choice is growing and we are seeing more and more content on the Internet, but, will we settle into the usual ologopoly pricing situation?
Today, we notice some pricing differences and some similarities. HBO charges for episodes or seasons. Amazon offers current season releases for $1.99 (or $2.99 for HD). Amazon offers their Prime customers a lot of free content, but it is limited. A Prime subscription costs $79 per year, but it also includes fast shipping on things you purchase from Amazon. Netflix offers all you can stream for $7.99 a month, but its streaming service is limited -- for example they offer movies on DVD that are not available for streaming.
Amazon and HBO charge an additional dollar per episode for high definition video, and my guess is that is a lot more than the extra bandwidth cost and that difference will drop as bandwidth becomes cheaper. It will be interesting to see if they keep that differential. (That may seem like gouging, but it is nothing like the phone company pricing for text messages).
It would be cool if you could get any content from any "channel" and they were all competing on price, but with a relatively limited number of channels and production companies, I expect the market will eventually settle into a comfortable oligopoly/oligopsony.
Netflix introduces a new user interface -- it shows how their recommendation algorithm came up with suggestions for you.
Netflix and YouTube combine for over 50% of North American traffic.
HBO Go shows up as a supported Chromecast app in the Google Support page.
HBO CEO Richard Plepler announced that the pay-TV channel would launch a stand-alone, online streaming version of its service next year.
This move was predicted by Netflix's chief content officer Ted Sarandos, who, nearly two years ago, said "The goal is to become HBO faster than HBO can become us."
This will make cord cutters happy, but, Plepler made the announcement at a Time Warner Cable meeting. As long as ISPs maintain their monopoly/oligopoly market positions, they will be able to raise their Internet service prices as consumers shift away from bundles of TV channels toward Internet streaming.
Linear TV viewing is down 15% over last year and Netflix is the number three broadcaster in the US.
My first reaction -- wow that is cool -- I like global visualizations of the world and the Internet -- check out the hot spots in Silicon Valley, Southern California, back east and in Asia. Look at India and China.
My second reaction -- aren't botnets evil?
Not this one. Follow the link above and you will find a full description of this ethical, benign botnet. It gathered interesting information and did no harm.
This map is only one Carna botnet result. For example it found 141 Million firewalled IP addresses and 729 million more with reverse DNS records for a total of 1.3 Billion used IP addresses.
You can see all that and more in the Carna paper, and all the data is available for download.
The author does not identify him/herself for reasons of modesty and perhaps fear of upsetting people, but, whoever you are, thanks for your effort and it would be great if you would it on a regular basis.
Google chose Kansas City for its first gigabit fiber network, and they just picked the second city, nearby Olathe, Kansas.
Google skipped over Kansas City suburbs like Prairie Village, Mission, Shawnee and Overland Park to bring their gigabit fiber to Olathe, a separate city with 125,000 residents. I lived in Prairie Village while in high school, and at the time, Olathe was way out in the sticks. Times have changed.
Does this portend more Google Fiber cities? Are they just trying to make a point to get the incumbent cable companies off the dime? Time will tell.
As rumored for some time, Google has announced that they will extend Google Fiber to Austin Texas. Austin is about the same size as Kansas City and it a hi-tech hotbed. Google will gain insight into future applications of high speed networks and it will not cost them much. In the wake of the Austin rumors, we also saw speculation on the cost of the Kansas City networks and of a nationwide buildout. Eric Schmidt has been quoted as saying that gigabit Internet is a real business. Maybe they will focus on somewhat small, hi-tech cities??
The Chronicle of Higher Education has published the results of a non-scientific survey of professors who have taught a MOOC. The online questionnaire was sent to 184 professors in late February, and 103 of them responded.
My favorite result was the answer to the question "Has the experience of teaching a MOOC inspired you to change the way you teach the traditional classroom version of the course" -- 73.7 percent of the respondents answered "yes."
Even if MOOCs are a flash in the pan, they trigger innovation in pedagogy, technology and certification, just as online teaching material will take us beyond the traditional textbook.
I was also struck by the completion rate. The median number enrolled was 33,000 and the median number who completed the course with a passing grade was 2,600. This was achieved by a median of 1 teaching assistant and 8 hours per week of the professor's time.
In a recent blog post, I asked whether a MOOC with 700 active students was a bad deal. If we can teach 2,600 students, we can justify a full time professor and production costs -- what could you accomplish if you worked full time on teaching one class and had good support?
Check the Chronicle article to see the rest of the results, and be sure to note that there are three tabs at the top of the page -- an article, the survey results and quotes from eight of the professors.
The California legislature may endorse credit for MOOCs.
Governor Brown is following in his father's footsteps.
Governor Pat Brown is remembered for developing the California master plan for higher education in 1960. His son, Jerry Brown, the current Governor of California, may be remembered (for better or worse) as an Internet-era reformer of higher education.
Last fall, Governor Brown signed a bill designed to generate open text books, in order to alleviate the rapid rise of textbook prices compared with consumer prices, shown below. (Click images to enlarge).
This spring, San Jose State University is running a trial offering of credit for massive online courses from Udacity, a private company. The hope is that this will reverse the rising cost of tuition and fees.
Now the California legislature is considering a bill requiring the state's public colleges and universities to give credit for faculty-approved online courses taken by students unable to register for oversubscribed classes on campus.
With respect to higher education, cost pressures are relentless and many students cannot get the classes they need. A half million fewer students this year enrolled in the community colleges than in 2008. Graduation in four years is the exception and transition from one segment to the other is difficult. The University of California, the Cal State system and the community colleges are all working on this. The key here is thoughtful change, working with the faculty and the college presidents. But tuition increases are not the answer. I will not let the students become the default financiers of our colleges and universities.
The president will call on Congress to consider value, affordability, and student outcomes in making determinations about which colleges and universities receive access to federal student aid, either by incorporating measures of value and affordability into the existing accreditation system; or by establishing a new, alternative system of accreditation that would provide pathways for higher-education models and colleges to receive federal student aid based on performance and results.
If you want to dig deeper, you can see the text of the ambitious bill introduced February 21 and some March 8 amendments.
The California State Senate unanimously passed Senate Bill 520, authorizing the granting of credit for courses taken online. The bill now goes to the Assembly.
California puts SB 520 on ice. State Senator Darrell Steinberg, who introduced the bill, has put it on hold in the face of faculty opposition and to take time to evaluate new online programs proposed by the University of California, California State University and California Community College system. For example, the California State University will offer 35 online courses statewide.
Google Glass -- why just capture reality when you can mediate and improve it?
There is a lot of hype surrounding wearable computing these days and Google Glass gets a lot of that attention with demonstrations of video and image capture and augmented reality, as shown in this video, which has been viewed over 16 million times.
But University of Toronto professor Steve Mann has been wearing electronic glasses and working with mediated reality for over 30 years. Mann differentiates between "augmented reality," where text or graphics are displayed over your normal vision and more general "mediated reality," in which vision is improved -- for example, detecting infrared radiation to see temperature differences, zooming in on distant objects, or extending the dynamic range of a photographic image by combining various exposures. He discussed these applications and more in an recent Techwise Conversations podcast interview.
Mann has pioneered mediated reality, but he is not alone in the field. For example, professor Gabby Sarusi and his colleagues at the at Ben Gurion University of the Negev are working on a nano layer coating for detecting infrared radiation in night vision goggles. Work on high dynamic range photography has also been with us for some time.
Journalists are beginning to report on initial experience with Google Glass prototypes and Google is fishing around for a killer app, but I suspect that Google Glass will turn out to be a niche product. We will not be wearing them 24-7, but some of us may put them on for special tasks -- like a surgeon entering the operating room.
That being said, research prototypes and high-value niche applications have a way of turning into ubiquitous, game-changing products, but it takes a while -- as you see in this photograph of Ivan Sutherland, inventor Sketchpad, the first object oriented computer graphics program, which he developed more than twenty years before MacDraw came out. (Ditto, any early prototype).
What about fifty years from now? Will Google Glass 2063 interface directly with the retina?
What if online classes and MOOCs really do take over the world? Will that exacerbate the "digital divide?" Will poor and rural US students have to seek out public libraries and other public access spots? An article in the Chronicle of Higher Education focuses on that question.
What about students in developing nations? Good luck taking a Coursera course in, say, Myanmar or Cuba. In much of the world, Internet access is too expensive for the average person and, even if they can get online, too slow to effectively use a modern Web site.
As online courses increase in sophistication, bandwidth will become an even greater impediment to participation.
The Guinean students shown here are studying under street lights (click to enlarge). Will they have access to global online education?
A followup article talks about the impact of data caps for online students in the US. Again, the situation is much worse in developing nations.
A University of Pennsylvania study of a million users who signed up for one of 17 courses they offered through Coursera showed that few were from developing nations.
The Chronicle of Higher Education and NPR Marketplace have reported results of a survey they commissioned of employers of college graduates.
They found that where a student goes to school is not as important as you might think. Graduates of "flagship" state universities are only seen as a little more "preferable" (on a 5-level Likert scale) than private or regional public campuses.
They also reported that, with the exception of education majors, the perceived value of a bachelor's degree was somewhat lower than it was five years ago.
Online degrees were rated "undesirable" (2.84 on a 5-level Likert scale), but I suspect that is based online private schools like the University of Phoenix.
Universities are moving increasing numbers of their classes online and that trend is stronger in public than private schools Will employer's perception of their graduates decline? What of fully online public programs like Calstate Online?
For me, the most interesting result was that internships were rated as more important than where one went to college, their major or GPA. Completing an internship was reported to be the most important credential for recent college graduates.
A related survey of 2012 college graduates reinforces the value of internships. They found that 55% of the students had internship and/or co-op experience and 51% of interns were offered jobs. Payed interns fared better than volunteers. They did less busy work and 63% got at least one job offer, compared to 41% of unpaid interns.
The Chronicle/Marketplace survey was conducted by Maguire Associates, but I could not find a report of it on their Web site. I would like to see the actual survey questions and analysis, but this article is worth reading. You should also listen to or read the transcript of the Marketplace podcast (2m 46s) on the study.
College students or even high school students planning their college career should crawl around the NACE Web site. There is a lot of useful information there, including a salary calculator for many different jobs in many different locations, based on your background.
Actually, the NACE calculator is hosted on the Web site of their partner Jobsearchintelligece.com. JSI maintains a database with salary data for up to 1,000 occupations in 560 regions of the U. S. - with a minimum of 25 respondents for each occupation in each region to ensure statistical significance. You can easily query the database to find, for example, starting salaries for specific full time jobs given specific majors along with salaries for those same jobs ten years after graduation.
I decided to goof around with an example, and searched for data on modeling jobs. I said I was a recent grad with a GPA between 3.5 and 3.9 who had gone to CSUDH and majored in language and literature.
I learned that there are 60 persons employed as models in the Los Angeles area, and starting, median and top salaries are $27,120, $43,810 and $72,290. Based upon the background I provided, they estimated my starting salary at $38,900, but after looking at their overall employment picture for models, shown here, I decided to look for a different career.
Remember that college is about a lot more than hoped-for jobs and salary. The best thing that can happen at college is not finding a major that leads to job offers with good starting salaries, it is finding something you are passionate about. That is way more important -- put your energy there.


text:
The Slatest
Scribbled Draft Lyrics of Bob Dylan's "Like a Rolling Stone" Sells for Record $2 Million
By Elliot Hannon
Bob Dylan's original hand written lyrics for the 1965 epic "Like A Rolling Stone" sold at auction.
Photo by Slaven Vlasic/Getty Images
A handwritten draft of Bob Dylan's "Like a Rolling Stone" sold for more than $2 million at a Sotheby's auction on Tuesday. The hefty sum for the lyrics written on four pages of hotel stationary that includes scribbled edits and doodles set a new record for a popular music manuscript, according to the Associated Press. The sale nearly doubled the previous record set in 2010, Reuters reports, "when John Lennon's handwritten lyrics for 'A Day in the Life,' the final track from the 1967 album 'Sgt. Pepper's Lonely Hearts Club Band' sold for $1.2 million, according to Sotheby's."
Dylan recorded the song, which was named by Rolling Stone as the greatest song of all time in 2004, in 1965 when he was only 24 years old.
Here's more on Dylan's rough draft via Rolling Stone:
… the sheets do feature some lyrics that didn't make the final cut, including the phrase, "…dry vermouth/You'll tell the truth" and an abandoned line about Al Capone. The lyrics also show Dylan's various attempts to build a rhyme off of the "How does it feel" line with phrases like, "it feels real," "does it feel real," "get down and kneel," "raw deal" and "shut up and deal."
And a few more of Dylan's early versions of the song from NPR:
In the line that was recorded as: "You used to laugh about / Everybody that was hanging out," Dylan had originally written "Everybody that was down and out?" before crossing it out… After "Now you don't seem so proud," is written "Voice is down" and "Head's in the cloud… " After the plaintive and cynical refrain "How does it feel?" Dylan has written in mixed caps: "IS IT AINT Quite ReaL."

redpajama_set_name: RedPajamaCommonCrawl


I greatly enjoyed my trip to Egypt in 2010 just before the Arab Spring. However, our tour guide had the annoying habit of attributing just about everything in Western history to the ancient Egyptians via half-truths, over-generalizations, and periodic nonsense.
Several of us responded by creating our own list of things that the Egyptians "clearly" invented, such as McDonalds, as is clearly shown by this golden arch within a cartouche, marking it a name of great importance.
Don't believe me? Then why is there a spork to the right of the cartouche? Clearly proof.


text:
dogstar
papershadow
papershadow Winter 2019
papershadow Autumn 2019
papershadow Summer 2018
« Continue Shopping View Cart
laika Summer 2017
Laika Winter 2017
dogstar winter 2015
Tagged with " interview"
Created At Added By
Friday, 14 July 2017 12:39:11 PM Australia/Sydney
Time to shake it up!
Caroline, what made you decide to raise awareness and funds for parkinson's?
Parkinson's is a part of my family, it could be part of our DNA, past through a mutated gene from generation to generation, we just don't know, it's in there lurking and can appear at any time. It's sneaky, and relentless, and new studies are looking at the genetic links between family members and parkinson's... or 'parkies' as we call it. If I can raise money to help sufferers now, and maybe someday help my children's children etc, then I should.
Here are some basic stats on the disease in Australia. I think you'll find it quite surprising.
Parkinson's is the second most common neurological disease in Australia after dementia.
The disease affects an estimated 10 million individuals worldwide – 80,000 in Australia.
32 Aussies are diagnosed with the disease every day.
20% of sufferers are under 50 years old and 10% are diagnosed before the age of 40.
The number of people with Parkinson's has increased by 17% in the last six years with costs to the community increasing by over 48%.
For comparison purposes the prevalence of Parkinson's is greater than prostate, bowel and many other forms of cancer and the total number of Parkinson's sufferers is 4 times the number of people suffering with MS.
The above statistics were obtained from https://shakeitup.org.au/understanding-parkinsons/
What are you planning on doing personally to help fundraise for this condition?
I've decided to run a half marathon. *grits teeth* That's 21.1kms
Why run a half marathon?
I needed to challenge myself, both physically and mentally, like a person who has parkies does daily. Because, for Parkinson's sufferers, every day throws new challenges at them. I've never been a 'runner', I'd do the odd 10k here and there, but I set myself a goal; the Sunshine Coast half marathon, I thought, it would be the perfect challenge for me, not only physically, but mentally too. At first I thought it would be a huge achievement just to show up to the start line, then to just maybe crawl across the finish line. But now, I want to finish in under2 hours. EEEEKKKKK!
What's your personal experience with Parkinson's?
That's a really hard question to answer, I feel I've been luckier than other members of the family, my Mum and Dad don't have it, but it's hard knowing that each day it effects the people I love dearly. Maybe the following story can help you understand. My cousin Chelsea wrote it.
A firm handshake, accompanied with a warm smile, and a standard "G'day mate, how's it going", from a youthful man greeted him at the gate. However, the refuge of a monstrous gum tree's shadow from the piercing sun's heat ironically provided a warmer welcome to John. Whilst John's sky-blue eyes sceptically scanned the other man's face, the stranger's mouth opened to speak. But, John had never been a fan of chit-chat, so he interrupted him and got straight to the point.
"Look here boy, this car is my baby. I want to know what your intentions are?", hedemanded.
Without hesitation and with a twinkle of similar humour, the man replied, "I can tell you my intentions are pure sir. I wish to continue the legend you've paved with this car by aiming for more racing glory."
John's brow furrowed as he slipped into deep thought. His hand holding the keys crept towards the man but froze mid-air. John could have sworn he heard a whisper of the once deafening crowd that swarmed him and his car after a win. Shaking his head, he studied his hands; they were worn leather, course from gripping the steering wheel and labouring away adjusting his machine. They remained stained from grease acquired from repairs, and calloused from hours spent polishing until he could see his reflection clear amongst the vibrant red hue of the car's exterior. Back then, John was a strong man and his motor skills were lightning; his speed and precision in racing was unmatched. Soon he was up to his neck in trophies, and as the trophy sum swelled so did his pride at the name he had made for himself.
This car was his escapism. Nothing compared to the thrill of the drive. The cool sensation of wind whipping his hair and the sound of the engine roaring made his heart soar. In this car, he felt free and invincible.
The weight of the diagnosis was heavy on Dr. Williams' heart. He and John were old friends. They had spent plenty of summer nights sharing jokes and beers by the barbecue with their families. When John's wife passed, Williams was his sole companion through the grief. It'd never crossed his mind that he'd have to deliver such sombre news. John only had to take one look at the doctor's face to realise the results wouldn't be pretty.
"Give it to me straight doc. Will I be sprouting beans out of my ears in two months time?" John demanded.
"No John, I'm so sorry… You have Parkinson's disease," Dr. William's replied meekly.
John felt as if his world had crumbled. All his life he had been fit and healthy; he couldn't believe it, he refused to believe it. Even over time, he failed to observe the changes that steadily crept up on him. A shuffle replaced his once confident stride. His bones ached and his balance was thrown. He was always up late at night and early in the morning. In mid-conversation, his thoughts would often drift leaving him in a state of confusion. Yet, he turned a blind eye.
It was only when skimming his fingers gently over the dusty dashboard of his race car one morning, that a tremor that racked his hand screamed the loudest testimony for John. Still, he turned the keys letting the awakening engine's hum serenade him. Seeking to control the shakes, he gripped the gear stick forcefully and slid it into drive. John was determined, but clenching his fists caused the tremors to become more violent. Pools of sweat soon swelled and dripped slowly down his temples. He began reassuring himself that it had always been stuffy in the car and that he was just imagining the fatigue hitting his body in waves. Ignoring danger signs, John went to move his driving leg with conviction. But, it wouldn't cooperate. John was horrified as he realised that it had locked into place. His vision abruptly skewed. Suddenly, he felt trapped inside the car. Panic seized him as he tasted bile on his tongue. He had to get out. He couldn't breathe. Wrenching open the door, John splayed onto the lawn on all fours, while the world seemed to spin around him. Lying on the ground beaten and afraid, John then decided it was time to pass on his most treasured possession.
"Hello?" repeated a male's husky voice.
A loud beep echoed the room. That was the tenth person inquiring about the race car advertisement today that John had rung and hung up on. Every time, he wrestled with his mind, assuring that this was the right thing to do. But, each call not even a murmur of sound escaped his lips. He couldn't bring himself to do it. This car was his freedom, his youth, his love… How could he give that all up over a supposed illness?
The warmth of the stranger's hands embracing his own shaking ones broke John's reminiscence. The young man was looking him in the eye and utterly beaming reassurance.
"I promise I'll take care of this car John. No harm will come to it, not on my watch. I want you to know that you can come visit to watch me race whenever you please, or if you feel like having a chat I'm here for you," he stated.
Relief flooded John's body as he grasped that this man was not a stranger. Afraid of letting go of his freedom, and accepting his present and future, John felt isolated within his disease. Through the simple and kind words of this young man, John finally felt no fear. He realised he was not alone in this journey, and that invincibility can come from solidarity.
Placing the keys in the palm of the man's hand, John nodded and left the property.
At home, John studied his trophy cabinet with fondness waiting for the phone to dial.
Parkinson's Queensland replied within seconds.
"Hi, I'm John and I suffer from Parkinson's disease. I'd like to join the closest support group near me."
-Written by Chelsea Peachey
That's a really powerful story, thank you for sharing.
What can we as readers do to help reach your goal?
I've set up an every day hero fundraising page, through the Sunshine Coast Marathon which is linked directly to the charity https://shakeitup.org.au so 100% of all donations go directly to Shake It Up to help fund research for treatment and ultimately a cure. My every day hero page will show exactly where I am on my target and you can even share the link around via email and facebook.
https://sunshinecoastmarathon2017.everydayhero.com/au/carolineross
We wish you all the best for the run and look forward to hearing about it Caroline!
Thank you. Who knows, maybe a full marathon next!
masayo yasuki
Posted in Collaborations Community By dogstar
Upcycle your old pants!
Multiway dress
An interview with Ayla
Oi, Ayla ! How's the new kidney?
back to designing
Goen - lucky coin and vintage string
Monju Mountain
My Grandmother's Hands
© 2018 Dogstar All Rights Reserved


text:
<?php

function hash_password($password)
{
  return sha1(md5($password));
  //return password_hash($password, PASSWORD_DEFAULT);
}

redpajama_set_name: RedPajamaGithub


text:
\section{Introduction}

Deep Neural Networks (DNN) have been successfully applied to various computer vision and natural language processing problems.
Recently, many applications based on DNNs have been developed to provide more intelligent video analytics.
For example, some drones such as DJI Mavic Pro can recognize and follow a target based on video analytics;
law enforcement officers can use smart glasses to identify suspects \cite{bbc-news}.
In these applications, only lightweight DNNs can be run locally and their accuracy is much lower than advanced DNNs.
Although advanced DNNs can provide us with better results, they also suffer from high computational overhead which means long delay and more energy consumption when running on mobile devices.

In recent years, many companies such as Huawei, Qualcomm, and Samsung have developed dedicated {\em Neural Processing Units (NPUs)} for mobile devices, which can process AI features.
With NPU, the running time of these DNNs can be significantly reduced.
For example, on HUAWEI mate 10 pro, running AlexNet (a DNN) \cite{alex-nips12} on NPU is 30 times faster than running it on CPU.
Although GPUs on mobile devices can also be used to run DNNs, they are not as powerful as those running on desktops and servers.
Compared to GPUs on mobile devices, NPUs are much faster and more energy efficient \cite{npu-gpu-compare}.
However, there are some fundamental limitations with NPU.
The most significant limitation of NPU is the precision of the floating-point numbers.
NPU uses 16 bits or 8 bits to represent the floating-point numbers instead of 32 bits in CPU.
As a result, it runs DNNs much faster but less accurate compared to CPU.
Moreover, NPU has its own memory which is usually too small for advanced DNNs.
The advanced DNNs have to be compressed in order to be loaded and executed by NPU at the cost of accuracy.

To address the low accuracy problem on NPU,
mobile devices can offload the data to the edge server and let the edge server run the DNNs.
Since the server has more computational power, high accuracy can be achieved by processing the data with
the most advanced DNNs in a short time. However, when the network condition is poor or when the data size is large which is usually true in video analytics, offloading may take longer time to transmit the data.
There is a tradeoff between the offloading based approach
and the NPU based approach. The offloading based approach
has good accuracy, but has longer delay under poor
network condition. On the other hand, the NPU based approach is faster, but with less accuracy.
Recent research (e.g., FastVA \cite{tan-infocom2020}) tries to combine these two approaches
for video analytics on mobile devices. To maximize accuracy under some time constraint,
FastVA determines which frames should be processed locally on NPU and
which frames should be offloaded to the edge server.
However, existing research treats DNN as a black box and never considers exploring insights about
running DNNs on NPU to improve performance.

We address this problem by considering the confidence level of running DNNs on NPU.
The confidence level can be represented by the confidence score, which is computed based on the output of the DNN.
If the confidence score is higher than a threshold, the classification result on NPU is most likely accurate and can be directly used; otherwise, the data is offloaded for further processing to improve the accuracy.
Similar ideas have been studied in existing work although for different purpose. For example, in \cite{teerapittayanon-icdcs17, wang-infocom2020}, confidence score is leveraged to reduce the processing delay by early exit; i.e., returning the classification results without running all DNN layers.
However, there are two unique challenges for applying this idea to video analytics on mobile devices with NPU.
First, the confidence score of many advanced DNNs cannot accurately estimate the classification results, and then may not be effective for making offloading decisions.
Second, existing research relies on fixed confidence score threshold to determine when to offload. However, in video analytics, the decision can be affected by many factors such as the confidence score, the network condition, the video frame resolution, and thus fixed threshold will not work well.

In this paper, we address these challenges by proposing a Confidence Based Offloading (CBO) framework for deep learning video analytics on mobile devices with NPU.
To address the first challenge, we propose techniques to calibrate the confidence score so that it can accurately reflect the correctness of the classification results on NPU.
To address the second challenge, we formulate the CBO problem, where the goal is to
maximize accuracy under some time constraint. To achieve this goal, the confidence score threshold is adaptively adjusted based on the network condition, confidence score and the selected frame resolution, before being used for determining if the video frame should be offloaded for further processing.

Our contributions can be summarized as follows.

\begin{itemize}

	\item
	To address the accuracy loss problem in deep learning video analytics on NPU based mobile devices,
	we study confidence based offloading and propose confidence score calibration techniques to improve the performance.

	\item We formulate the CBO problem, and propose an optimal solution. Since the optimal solution relies on the perfect knowledge of all future video frames, we further propose an online algorithm
	to relax this assumption.

	\item
	Through real implementations and extensive evaluations, we demonstrate that the proposed solution can significantly outperform other approaches.

\end{itemize}

The rest of the paper is organized as follows.
Section \ref{sec:preliminary} presents the background and motivation.
In Section \ref{sec:quantify-conf}, we evaluate the effectiveness of CBO and propose calibration techniques to improve performance.
In Section \ref{sec:max-acc}, we present our CBO framework for video analytics.
Section \ref{sec:evaluation} presents the evaluation results and Section \ref{sec:related-work} reviews related work.
Section \ref{sec:conclusion} concludes the paper.

\section{Preliminary} \label{sec:preliminary}

\subsection{Characteristics of NPU}

\begin{figure}
	\centering
	\subfigure[Processing time comparison]{\includegraphics[width=0.48\linewidth]{figures/processing-time}}
	\,
	\subfigure[Accuracy comparison]{\includegraphics[width=0.48\linewidth]{figures/CPU-NPU}}
	\vspace{-0.5em}
	\caption{Performance comparisons of running DNNs on NPU and CPU.}
	\label{fig:NPU-profile}
	\vspace{-2em}
\end{figure}

To have a better understanding of NPU, we conducted some experiments on HUAWEI mate 10 pro, using the following four DNN models: 1) VGG \cite{parkhi-bmvc15} with the LFW dataset \cite{lfw-dataset},
2) VocNet \cite{lapuschkin-cvpr16} with 4000 images from the VOC dataset \cite{everingham-ijcv15},
3) AlexNet \cite{alex-nips12} with the VOC dataset,
4) YOLO Small \cite{redmon-cvpr16} with 4000 images randomly chosen from the MS COCO dataset \cite{lin-eccv14}.
As shown in Figure \ref{fig:NPU-profile}(a), compared to CPU, running VGG, VocNet, AlexNet, Yolo Small on NPU can significantly reduce the processing time by 95\%; however, this may be at the cost of accuracy loss as
illustrated in Figure \ref{fig:NPU-profile}(b).
Specifically, compared to CPU, using NPU has similar accuracy when running VGG, 30\% accuracy loss when running VocNet, 11\% accuracy loss for AlexNet, and the F1-score drops to 0.3 for YOLO Small.

The accuracy loss is mainly because NPU can only support FP16 operations and store the intermediate result of each layer using FP16. Running DNNs with FP16 can save memory and reduce the processing time, but it may reduce the accuracy due to the numerical instability caused by floating point overflow or underflow.

The amount of accuracy loss is related to the DNN model.
In VGG,
the extracted feature vectors are compared, and they represent the same person if the similarity is above a predefined threshold.
Although NPU introduced error may change some values, the relationship between the similarity and the threshold will remain and thus keep the same level of accuracy.
However, AlexNet, VocNet and Yolo Small use more information in the feature vectors to identify or locate multiple objects in the images.
Each value in the feature vector represents the category, the location or the size of an object and a small error introduced by NPU can change the prediction completely.
As a result, they have lower accuracy when running on NPU.

As shown in Figure \ref{fig:NPU-profile}, NPU runs much faster than CPU.
It is ideal for running some DNNs such as VGG, where using NPU can significantly reduce the processing time while maintaining high accuracy.
However, it may not be the best choice for running DNNs such as VocNet and Yolo small, due to the high accuracy loss.
In this paper, we address this problem by proposing techniques to improve its accuracy.

\subsection {Motivation}

To address the accuracy loss problem, one solution is to offload the video frames to the edge server or cloud for processing.
However, transmitting all video frames to the server may take much longer time and may violate the delay constraint, compared to processing them locally on NPU, especially when the wireless bandwidth is limited.
Instead of processing video frames only on NPU or only through offloading, we take advantage of both approaches by exploring insights about running DNNs on NPU.

Although running DNNs on NPU has lower accuracy in general, the accuracy of running DNNs for some specific objects can be much higher, due to the skewed accuracy of the DNNs.
This is because DNNs are becoming more and more complex, with many parameters and layers designed to achieve high accuracy for general inference scenarios. These DNNs have lots of redundancy especially when the inference scenario is simple; i.e.,
even when running on NPU with lower precision parameter and simple model structure, the compressed DNN can still perform well for some simple scenarios.

\begin{figure}[t]
	\centering
	\includegraphics[width=0.65\linewidth]{voc_clas_detail_v2}
	\vspace{-1em}
	\caption{Accuracy for different objects with VocNet}
	\label{fig:object-acc}
	\vspace{-2.3em}
\end{figure}

Figure \ref{fig:object-acc} shows the accuracy of running VocNet on CPU and NPU for different objects.
When considering all objects, the accuracy of running VocNet on NPU is 0.54, which is lower than that on CPU (0.89).
When considering specific objects, VocNet on NPU performs much better for recognizing airplanes with accuracy of 0.96, which is similar to the accuracy on CPU.
This is because there is much higher visual difference between the background (i.e., blue sky) and the airplane.
Even though the VocNet has been compressed to be run on NPU, with lower precision parameters and simpler model structure, it can still recognize airplanes accurately.
On the other hand, VocNet performs poorly on NPU for recognizing tables, with accuracy of 0.1. This is because
most tables in the data set have much complex background, and the visual difference between the background and table is much smaller. Then, a more complex and advanced DNN (i.e., the original DNN) is needed to classify these objects correctly.

To consider both cases, two different DNNs should be applied, a compressed DNN to process simple cases and the original DNN to process more complex cases. Due to the resource limitation of NPU, the compressed DNN should be run on NPU and the original DNN should be run on the edge server or cloud.
Then, images such as airplane should be processed with local NPU and other images such as tables should be offloaded to the server for further processing.
However, the system does not know whether an image is an airplane or table before hand.
Thus, we propose the following solution. First, the image is processed locally on NPU, which has negligible delay.
If the image can be recognized with a high level of confidence, the classification result is returned; otherwise, the image is offloaded for further processing.
Then, most images can be processed locally with high accuracy and low delay, and only images with low accuracy are offloaded.
The key component of this solution is how to quantify the confidence level of running DNNs on NPU, which will be discussed in the next section.

\begin{figure*}[t]
	\centering
	\begin{minipage}[t]{0.235\textwidth}
		\centering
		\includegraphics[width=\linewidth]{conf-score-cl_v2}
		\caption{Making offloading decisions based on confidence score.}\label{fig:offload-conf-score}
	\end{minipage}
	\,
	\begin{minipage}[t]{0.235\textwidth}
		\centering
		\includegraphics[width=\linewidth]{original-conf-score2}
		\caption{The effects of confidence score threshold $\theta$.}\label{fig:org-conf-score}
	\end{minipage}
	\,
	\begin{minipage}[t]{0.235\textwidth}
		\centering
		\includegraphics[width=\linewidth]{conf-acc-uncal}
		\caption{Accuracy vs. confidence score.}\label{fig:conf-acc-uncal}
	\end{minipage}
	\,
	\begin{minipage}[t]{0.235\textwidth}
		\centering
		\includegraphics[width=\linewidth]{conf-score-cl22}
		\caption{Calibration model training.}\label{fig:cal-model-train}
	\end{minipage}
	\vspace{-1em}
\end{figure*}

\section{Quantifying the confidence level} \label{sec:quantify-conf}

The result of the DNN is represented by a feature vector which can be extracted from the last layer of the DNN.
To quantify the confidence level of the DNN, the feature vector is used to calculate the confidence score.
In this section, we first present an offloading framework based on the calculated confidence score, and
and then present confidence score calibration techniques to improve its accuracy.

\subsection{Confidence Based Offloading (CBO)}

Figure \ref{fig:offload-conf-score} illustrates the basic idea of CBO.
To determine which images should be offloaded, confidence score is used to predict the correctness of the result.
The confidence score can be computed based on the feature vector produced by the DNN.
Let $\mathbf{x} = [x_1, x_2, x_3, \ldots, x_N]$ denote the extracted feature vector, where
each element $x_i$ represents the probability that object $i$ appears in the image.
Normally, the values of these elements are not normalized and the confidence score is computed as $\max \sigma(x_i)$,
where $\sigma(x_i)$ is the softmax function and it is defined as $\sigma(x_i)=\frac{e^{x_i}}{\sum_{k=1}^N e^{x_k}}$.
As shown in Figure \ref{fig:offload-conf-score}, when the confidence score is larger than a threshold $\theta$,
the result is returned; otherwise, the image is offloaded for further processing.

We conducted experiments to evaluate the effectiveness of CBO.
The AlexNet and ResNet-152 which are trained based on the ImageNet dataset, are used to process videos randomly selected from the FCVID dataset, which includes thousands of real-world videos.
In the experiment, AlexNet is run on NPU and ResNet-152 is run on the server.
The offload percentage is defined as $\frac{n^o}{n}$, where $n^o$ is the number of offloaded frames and $n$ is the total number of video frames.

The results are shown in Figure \ref{fig:org-conf-score}.
When $\theta$ is 0, all frames are only processed by NPU.
When $\theta$ is 1, all frames are offloaded to the server.
As shown in the figure, as $\theta$ increases from 0 to 1, more frames are offloaded to the server and the accuracy increases from 0.42 to 0.81. However, this is not as expected due to the following reason.
When the accuracy requirement is 0.8, the threshold has to be above 0.8 at which the offloaded traffic is above 90\%. Then, CBO does not save any bandwidth.

The reason of such poor performance is because the confidence score generated by the DNN on NPU
cannot accurately estimate the correctness of the result. We conducted the following experiment.
With the same DNN and the dataset to identify the reason. In this experiment,
the video frames are divided into 10 bins with 0.1 confidence interval.
For example, the first bin includes the frames with confidence score from 0 to 0.1.
For each bin, we process the frames on NPU and calculate the accuracy.
The result is shown in Figure \ref{fig:conf-acc-uncal}.
As the confidence score increases from 0 to 1, the accuracy increases from 0.29 to 0.5.
For example, the accuracy is 0.42 for the frames with confidence score between 0.2 to 0.3.

CBO is based on the assumption that frames classified incorrectly on NPU will be offloaded for further processing. This can be easily achieved if the confidence score of running the DNN to process the frame is the same as its accuracy. Then, the classification result of processing frames with confidence score 0.9 is more likely to be correct
than that with confidence score 0.5, and hence the accuracy can be improved by offloading frames with lower confidence score.
However, as shown in Figure \ref{fig:conf-acc-uncal}, the accuracy remains to be 0.5 for frames with confidence score much higher than 0.5 (e.g., 0.9). Then, it is hard to use the confidence score to determine which frame should be offloaded. This explains why CBO performs poorly as shown in Figure \ref{fig:org-conf-score}.
Fortunately, there is nothing wrong with CBO. The problem is due to the fact that the confidence score cannot accurately estimate the correctness of the classification result, and it should be calibrated.

\subsection{Confidence Score Calibration}

Although modern DNNs can achieve better accuracy in classification problems, the confidence scores produced by these DNNs are poorly calibrated \cite{guo-icml17}.
To address this issue, researchers have proposed many confidence score calibration techniques, following two different methods.

\textit{Platt Calibration:}
Platt Calibration is a parametric method \cite{niculescu-ICML05} and its key idea is to train logistic regression models which can transform the confidence score into a calibrated one to provide better correctness estimation.
The logistic model can be defined as $P(y_i=1|\mathbf{x}) = \frac{1}{1 + e^{\mathbf{A} f(\mathbf{x}) + \mathbf{B}}}$, where $\mathbf{A, B}$ are the parameters that needs to be trained.

\textit{Isotonic Regression:}
Different from Platt Calibration, the Isotonic Regression is a common non-parametric calibration method \cite{zadrozny-sigkdd02}.
It learns a piecewise constant function $f$ to transform the confidence score into a calibrated one, which means $x'_i = f(x_i)$.
To train the Isotonic Regression model, $f$ is trained by minimizing the square loss function $\sum_{i=1}^{n} (f(x_i) - y_i)^2$.

Although these two methods use different machine learning models to calibrate the confidence score, they have the same training procedure for confidence score calibration, and this procedure is shown in Figure \ref{fig:cal-model-train}.
As shown in the figure, $N$ models are trained for calibrating the confidence score $x_1, x_2, \ldots, x_N$.
For each model $i$, it takes the feature vector $\mathbf{x} = [x_1, x_2, x_3, \ldots, x_N]$ as input and outputs a new confidence score $x'_i$.
When the $i^{th}$ model is being trained, the output variable $y_j$ is set to be 1 if object $i$ appears in the frame $I_j$.
$y_j$ is set to be 0 if $I_j$ does not include object $i$.

In our CBO, our goal is to choose a method which can calibrate the
confidence score and make it match the accuracy of the DNN.
To achieve this goal, we use the following metrics to evaluate them and select the best.

\begin{itemize}
	\item Expected Calibration Error (ECE): ECE measures the expectation difference between the confidence score and accuracy of the DNN. ECE is defined as
	$\sum_{i=1}^{10} \frac{B_i}{n} |A(B_i) - C(B_i)|$,	where $B_i$ ($1 \leq i \leq 10$) is the bins with 0.1 confidence interval. For example $B_1$ includes the frames with confidence score between 0 to 0.1.
	For each bin $B_i$, we process the frames on NPU and calculate the accuracy $A(B_i)$ and the average confidence score $C(B_i)$.

	\item Maximum Calibration Error (MCE): MCE measures the worst-case difference between the confidence score and accuracy of the DNN.
	MCE is defined as $\max_{1 \leq i \leq 10} |A(B_i) - C(B_i)|$.
\end{itemize}

\begin{table}[h]
	\centering
	\begin{tabular}{|l|l|l|}
		\hline
		Method               & ECE  & MCE  \\ \hline
		Uncalibrated         & 0.27 & 0.48 \\ \hline
		Platt Calibration        & 0.07 & 0.29 \\ \hline
		Isotonic Regression  & 0.16 & 0.41 \\ \hline
	\end{tabular}
	\vspace{-0.5em}
	\caption{Comparison of different calibration techniques.}
	\label{table:cal-comparison}
\end{table}

With AlexNet and the FCVID dataset, we perform an experiment to evaluate the performance of different calibration techniques.
In the experiment, the video frames are divided into 10 bins with 0.1 confidence interval.
For example, the first bin includes the frames with confidence score from 0 to 0.1.
For each bin, we process the frames on NPU and calculate the accuracy.
We use the images from ImageNet validation dataset and a subset of video frames from FCVID dataset as the training data for Platt Calibration and Isotonic Regression.
The result is shown in Table \ref{table:cal-comparison}.
The uncalibrated confidence score has the worst performance among the three methods.
Compared to the Isotonic Regression, Platt Calibration has lower ECE and MCE, which means its performance is better.
This is because the Isotonic Regression suffers from overfitting, where the model can learn the training data well but is not generalized to new data.
Therefore, Platt Calibration is used for calibrating the confidence score.

\begin{figure}[t]
	\centering
	\subfigure[Accuracy and offload traffic under different calibrated confidence score thresholds.]{\includegraphics[width=0.48\linewidth]{calibrated-conf-score2}}
	\,
	\subfigure[Accuracy vs. calibrated confidence score.]{\includegraphics[width=0.48\linewidth]{conf-acc-cal3}}
	\vspace{-1em}
	\caption{The performance of Platt Calibration.}
	\label{fig:cal-conf-score}
	\vspace{-2em}
\end{figure}

\begin{figure}[t]
	\centering
	\includegraphics[width=0.85\linewidth]{calva_overview2}
	\vspace{-0.5em}
	\caption{The CBO framework.}
	\label{fig:overview}
	\vspace{-1em}
\end{figure}

{\bf The effectiveness of confidence calibration}
We perform experiments to evaluate the performance of the calibration technique using the same setting as that in the last subsection except that the confidence score is replaced with the calibrated confidence score based on Platt Calibration.

As shown in Figure \ref{fig:cal-conf-score} (a),
the accuracy is increased as the number of offloaded frames increases.
Compared to the results shown in Figure \ref{fig:org-conf-score}, calibrated confidence score is more effective.
For example, when the accuracy requirement is 0.7, the threshold has to be above 0.35 at which the offloaded traffic is 30\%.
However, as shown in Figure \ref{fig:org-conf-score}, at least 70\% of the frames are offloaded in order to satisfy the same accuracy requirement.

With the same setting, Figure \ref{fig:cal-conf-score} (b) explains why calibrated confidence score is more effective.
As the confidence score increases from 0 to 1, the accuracy increases from 0.11 to 1.
The accuracy variation is much larger than that shown in Figure \ref{fig:conf-acc-uncal}.
Thus, it is much easier to determine which frames should be offloaded.

\section{The CBO Framework} \label{sec:max-acc}

\subsection{Overview}

Figure \ref{fig:overview} shows our CBO framework for video analytics.
The video frames are first processed locally on NPU.
Based on the calibrated confidence score, our framework determines which frames should be offloaded.
To provide real time video analytics, the processing of each video frame should be completed within a time constraint.
Then, for some offloaded frames, the resolution may be reduced to save bandwidth and delay, at the cost of accuracy.

In the figure, CBO is based on the idea presented in Figure \ref{fig:offload-conf-score}.
However, the confidence threshold $\theta$ is not fixed; it is adaptively adjusted based on the network condition, the confidence score and the selected frame resolution.
That is, based on the accuracy and processing time requirement, we study the CBO problem which adaptively selects $\theta$ and the frame resolution, to maximize accuracy under some time constraint.
In the following, we first formulate the problem and then propose an adaptive solution which determines which frames to offload at what resolution based on the confidence score and the network condition.

\subsection{Problem Formulation}

For each frame $I_i$ ($1 \leq i \leq n$), it is first processed by the DNN on NPU.
Let $p_i$ denote the calibrated confidence score and let $A^{npu}_{p_i}$ denote the accuracy of running the DNN to process the frame on NPU.
Assume the video frame rate is $f$, the time interval between two consecutive video frames is $\gamma = \frac{1}{f}$.
Since NPU is very fast, the local processing time for each frame is shorter than $\gamma$ and it is not the bottleneck.
For the $i^{th}$ video frame, assume its arrival time is $i \gamma$, our system ensures that it is processed before time $T + i \gamma$, where $T$ is the time constraint.

\begin{table}[t]
	\centering
	\begin{tabular}{|c | l |}
		\hline
		Notation & Description \\ \hline
		$I_i$ & The $i$th frame  \\ \hline
		$A^{o}_r$ & The accuracy of the DNN with input images \\
		& in resolution $r$ \\ \hline
		$S(I_i, r)$ & The data size of the frame $I_i$ in resolution $r$ \\ \hline
		$T^o$ & The processing time on the server \\ \hline
		$B$   & Upload bandwidth (data rate) \\ \hline
		$f$   & Frame rate (fps) \\ \hline
		$T$   & The time constraint for each frame \\ \hline
		$n$	  & The number of video frames that needs to be processed \\ \hline
		$\theta$ & The confidence score threshold for offloading. \\ \hline
	\end{tabular}
	\vspace{-0.5em}
	\caption{Notation}
	\label{table:notations}
	\vspace{-3em}
\end{table}

Based on the calibrated confidence score, a frame may be offloaded to the server for further processing to improve accuracy.
If $p_i$ is higher than the threshold $\theta$, the classification result is returned. Otherwise,
the classification result is considered to be incorrect and $I_i$ is offloaded to the server in the original resolution or reduced to resolution $r$ before being offloaded.
Let $B$ denote the upload bandwidth and let $L$ denote the network latency between the server and the mobile device.
Then, it takes $\frac{S(I_i, r)}{B} + T^{o} + L$ to transmit the $i^{th}$ frame in resolution $r$ and receive the result from the server.
In this way, the transmission time can be reduced by resizing the frame to a lower resolution, at a cost of lower accuracy.

The notations used in the problem formulation are listed in Table \ref{table:notations}.
The CBO problem can be formulated as an integer programming in the following way.

\begingroup
\allowdisplaybreaks
\setlength\abovedisplayskip{-5pt}
\setlength\belowdisplayskip{0pt}
\small
\begin{align}
	\max \quad & \frac{1}{n} \displaystyle\sum^{n}_{i=1} (A^{npu}_{p_i} (1-X_i) + \sum_r A^o_r Y^r_i X_i) \\
	\textrm{s.t.} \quad
	& D(k) \leq (i - k) * \gamma + T, \, \forall i, k \\
	& \theta - p_i < X_i, \, \forall i \\
	& p_i - \theta \leq 1 - X_i, \, \forall i \\
	& \sum_r Y^r_i = 1, \forall i \\
	& X_i, Y^r_i \in \{0, 1\}, \, \forall i
\end{align}
\endgroup

{\noindent}
Where $D(k) = \sum_r \sum_{k\leq i} \frac{S(k, r)Y^{r}_k X_k}{B}  + T^{o} X_i + L$ is the offloading time for the frames that arrive between $I_k$ and $I_i$.
$X_i$ is a variable to show whether the frame is needed to be offloaded and $Y^r_i$ is a variable to show which resolution the frame is resized to before offloading.
If $X_i=0$, the frame $I_i$ is only processed locally.
If $X_i=1$, the frame $I_i$ is offloaded to the server for further processing.
If $Y^r_i = 1$, the frame $I_i$ is resized to resolution $r$ before offloading.

Objective (1) is to maximize the accuracy of the processed frames.
Constraint (2) specifies that the classification results should be returned within the time constraint, and constraint (3) specifies that the frames with confidence score lower than or equal to threshold $\theta$ should be offloaded.
Constraint (4) specifies that frames with confidence score higher than $\theta$ should not be offloaded.

\subsection{Finding the Optimal Solution}

In this subsection, we build a solution graph based on which we can find the optimal solution for the CBO problem.
As shown in Figure \ref{fig:solution-graph}, nodes at different levels represent the schedule options for different frames.
More specifically, nodes at level $i (1\leq i \leq n)$ represent the schedule options of frame $I_i$.
There are $(m+1)$ nodes at level $i$, representing $m+1$ scheduling options, where $m$ is the number of frame resolutions.
For example, at level 1 (i.e., for frame $I_1$), node $V^{npu}_{1}$ represents that the frame is processed on local NPU,
and $V^{r_m}_{1}$ represents that frame $I_1$ is offloaded to the server in resolution $r_m$.
Each node is associated with a time window $[i\gamma, i\gamma + T]$ which represents the time constraint for the frame to be processed.
We also create two dummy nodes: $V_{start}$ and $V_{end}$.
They are the source node and the destination node at level 0 and $n+1$.

\begin{figure}
	\centering
	\includegraphics[width=0.75\linewidth,valign=c]{solution_graph}
	\vspace{-1em}
	\caption{The solution graph.}
	\label{fig:solution-graph}
	\vspace{-2em}
\end{figure}

For edges, we add a link from each node at level $i$ to all nodes at level $i+1$.
An edge $(V^r_i, V^r_{i+1})$ has two attributes, cost and time duration.
The cost is defined as the negative of the accuracy $c(V^r_i, V^r_{i+1}) = -A^o_r$ and $c(V^{npu}_i, V^r_{i+1})=A^{npu}_{p_i}$.
The time duration is the offloading time since local processing time on NPU is very short and it is not the bottleneck.
The time duration between $V^r_i$ and $V^r_{i+1}$ (for frame $I_i$ with resolution $r$) can be computed as $t(V^r_i, V^r_{i+1}) = \frac{S(i, r)}{B}$.
In this way, our problem is converted to the problem of finding the least cost path from $V_{start}$ to $V_{end}$ while visiting each chosen node within its specific time window.

\begin{theorem}
	The CBO problem is NP-hard.
\end{theorem}

\begin{proof}
	We reduce a well known NP-hard problem, the subset sum problem to our problem.
	In the subset sum problem, there is a set $U$ which includes $n$ numbers $(a_1, a_2, a_3, \ldots, a_n)$ and the goal is to find a subset of numbers so that its sum is equal to a value $K$.

	For an arbitrary instance of the subset sum problem, we can construct an instance of our solution graph as follows.
	For each number $a_i$, two nodes $V^0_i$ and $V^1_i$ are added to the graph at level $i$.
	The time window of these two nodes are set to be $[-\sum_i |a_i|, \sum_i |a_i|]$.
	Specially, the time window for the destination node $V_{end}$ is set to be $[K, K]$.

	For edges, we add links from nodes at level $i$ to nodes at level $i+1$.
	More specifically, the cost is set to be 0 and the time duration $t(V^p_i, V^q_{i+1})$ is set to $a_i$ if $p=1$; otherwise, $t(V^p_i, V^q_{i+1})=0$.

	A solution to our problem must satisfy the requirement that the destination node $V_{end}$ must be visited at the exact time $K$.
	As a result, the sum of the time duration of the selected nodes is equal to $K$.
	Since the time duration of a node is also equivalent to the value of the corresponding number, the sum of the selected numbers is also equal to $K$.
	This completes the reduction and hence the proof.
\end{proof}

Due to the time window constraint, the shortest path cannot be found using the Dijkstra algorithm.
Instead, a dynamic programming algorithm is used to search for the optimal path.

Let $P_j(V^r_i)$ denote the $j^{th}$ feasible path from $V_{start}$ to $V^r_i$ and each path has two attributes $T_j(V^r_i)$ and $C_j(V^r_i)$, which are used to record the time duration and the cost of the path.
Initially, $T(V_{start})$ and $C_(V_{end})$ are set to be 0.
For each path $P_j(V^r_i) = (V_{start}, V^r_1, \ldots, V^r_i)$, its attributes are iteratively computed as follows

\begingroup
\allowdisplaybreaks
\setlength\abovedisplayskip{-13pt}
\setlength\belowdisplayskip{0pt}
\begin{align*}
	& T_j(V^r_k) = \max(T_j(V^r_{k-1}) + t(V^r_{k-1}, V^r_k), k\gamma) \\
	& C_j(V^r_k) = C_j(V^r_{k-1}) + c(V^r_{k-1}, V^r_k)
\end{align*}
\endgroup

Since the node $V_i$ must be visited during $[i\gamma, i\gamma + T]$, a feasible path should satisfy $i \gamma \leq T_j(V^r_k) \leq i\gamma + T$.
Although a lot of feasible paths can be found in the iterations, the algorithm only considers the most efficient ones.
More specifically, for two paths $P_1(V^r_i)$ and $P_2(V^r_i)$, if $T_1(V^r_i) < T_2(V^r_i)$ and $C_1(V^r_i) < C_2(V^r_i)$,  $P_1(V^r_i)$ is more efficient than $P_2(V^r_i)$ and $P_2(V^r_i)$ will not be considered in future iterations.
The optimal path is $P(V_{end})$ which has the minimum cost $\min C(V_{end})$.

Since there are at most $T$ different efficient paths from $V_{start}$ to $V^r_i$, there are at most $mT$ paths at level $i (1 \leq i \leq n)$.
Therefore, the time complexity of the optimal algorithm is $O(nm^2T)$.

\subsection{The CBO Algorithm}

The optimal solution can maximize the accuracy within the time constraint.
However, it is not practical since it requires the complete knowledge of all frames, such as the frame sizes and the confidence score of running DNN to process the frame.
In this subsection, we remove this assumption and propose an adaptive solution, called CBO algorithm.

Since the frames with lower confidence scores are classified with lower accuracy on NPU,
they should be offloaded to increase the accuracy as long as there is available bandwidth.
However, due to bandwidth limitation, some frames cannot be offloaded and have to rely on local NPU for classification.

We use the following dynamic programming algorithm to determine which frames should be offloaded with what resolution.
Suppose $k$ frames have been processed locally.
For each frame $I_i$ ($1 \leq i \leq k$), its arrival time is $t^{arr}_i$ and the confidence score is $p_i$.
The frames are sorted in the descending order of the confidence scores, which means $p_i > p_j$ if $i < j$.
In our algorithm, a list $l_j$ ($j \in [0, k]$) is used to find the schedule decision for maximizing the accuracy.
Each element in the list $l_j$ is a pair $(t, A)$, where $A$ is the accuracy improvement which can be achieved by offloading the first $j$ frames within time $t$.
If  $I_i$ is offloaded in resolution $r$, the accuracy improvement can be computed as $A=A^o_r - A^{npu}_{p_i}$.
Initially, $l_0 = {(0, 0)}$.
To add pairs to the list $l_j$, we consider the following two cases.

{\em No offloading: } In this case, the $j^{th}$ frame will not be offloaded to the server for further processing.
All pairs in $l_{j-1}$ will be added to $l_j$.

{\em Offloading: } In this case, the $j^{th}$ frame will be offloaded in resolution $r$.
It takes $\frac{S(I_j, r)}{B}$ to transmit the frame and the accuracy improvement is $A^o_r - A^{npu}_{p_j}$.
For each pair $(t, A) \in l_{j-1}$, a new pair $(max(t, t^{arr}_j) + \frac{S(I_j, r)}{B}, A + A^o_r - A^{npu}_{p_j})$ is added to $l_j$.
Notice that the frames should be processed within the time constraint.
Therefore, $max(t, t^{arr}_j) + \frac{S(I_j, r)}{B} + T^o + L \leq T + t^{arr}_j$ must be satisfied for all new pairs.

To improve the efficiency of our algorithm, only the most efficient pairs in $l_j$ are kept.
More specifically, a pair $(t', A')$ is said to dominate another pair $(t, A)$ if and only if $t' \leq t$ and $A' \geq A$.
The pair $(t', A')$ is more efficient than the pair $(t, A)$ and all the dominated pair will be removed from $l_j$.

With the list of $l_k$, we can find the confidence threshold $\theta$ and offloaded frame resolution $r^o$.
After the first frame is offloaded, the algorithm will be run again for the frames that have been processed locally.
The CBO algorithm is summarized in Algorithm \ref{alg:cbo}.
In Lines 1-10, dynamic algorithm is applied to maximize the accuracy, and the schedule decision is determines for frame $I_1$ in Lines 11-20.
The running time of the algorithm is $O(k^2 * m)$.

\setlength{\textfloatsep}{-3pt}
\begin{algorithm}[t]
	\SetAlgoLined
	\KwResult{Confidence threshold $\theta$, frame resolution $r^o$}
	\SetKw{Break}{break}
	\DontPrintSemicolon

	$l_0 \leftarrow \{(0, 0)\}$ \\

	\For{$j \leftarrow 1$ to $k$}{
		\For{each $(t, A) \in l_{j-1}$}{
			Add $(t, A)$ to $l_j$ \\
			\For{each possible resolution r}{
				$t' \leftarrow max(t, t^{arr}_j) + \frac{S(j, r)}{B}$ \\
				\If{$t' + T^o + L \leq T + t^{arr}_j$}{
					$A' \leftarrow A^o_r - A^{npu}_{p_j}$ \\
					Add $(t', A + A')$ to $l_j$ \\
				}
			}
		}
		Remove the dominated pairs from $l_j$ \\
	}

	$(t', A') \leftarrow \arg \max_{(t, A) \in l_k} A$ \\

	\For{$j$ from $k - 1$ to $0$}{
		\For{each pair $(t, A)$ in $l_j$} {
			\For{each possible resolution $r$}{
				\If{$t + \frac{S(I_j, r)}{B} = t'$ and $A + A^o_r - A^{npu}_{p_j} = A'$}{
					$A' \leftarrow A$, $t' \leftarrow t$ \\
					$\theta \leftarrow p_j$, $r^o \leftarrow r$ \\
				}
			}
		}
	}

	\Return $r^o$, $\theta$ \\
	\caption{CBO algorithm}
	\label{alg:cbo}
\end{algorithm}

\section{Performance Evaluations} \label{sec:evaluation}

In this section, we evaluate the performance of the CBO algorithm and compare it with other approaches.

\subsection{Evaluation Setup}

The evaluations are performed on HUAWEI mate 10 pro, which is equipped with 6 GB memory, octa-core CPU ($4 \times 2.4$ GHz and $4 \times 1.8$ GHz) and a NPU.
HUAWEI has published the HUAWEI DDK \cite{hiai} toolset for developers to run the DNN on NPU.
The pre-trained DNNs must be optimized before they can be run on NPU since NPU has a different architecture from CPU.
The HUAWEI DDK includes toolsets to perform such optimizations for DNNs.
It also includes the APIs to run the DNNs, and a few Java Native Interface (JNI) functions are provided to use the APIs on Android.
Since these JNI functions cannot extract the confidence scores,
we add JNI functions to use the confidence score calibration model which is trained on a powerful desktop.

In the experiment, AlexNet is deployed on the mobile device and ResNet-152 is deployed on the server.
These DNNs are used for object recognition,
and they are very popular in computer vision community and have been fine-tuned for many problem.
Moreover, AlexNet has a simple model structure and it can be executed efficiently on NPU to provide real-time video analytic.
In contrast, ResNet-152 is more complex and it can achieve higher accuracy than AlexNet at the cost of more computational power.

To measure the performance of our algorithm, we use a subset of videos from the FCVID dataset, which includes many real-world videos.
These videos have been used for training models related to object classification and activity recognition.
In our experiment, we focus on object classification, and thus activity recognition clips are not used.
Since the dataset is very large, about 1.9 TB, we randomly select 40 videos from the dataset and filter out the noisy data.

In the experiment, the frames are offloaded in the lossless PNG format.
The server is a desktop with AMD Ryzen 7 1700 CPU, GeForce GTX1070 Ti graphics card and 16 GB RAM.
We have installed the Caffe \cite{jia-mm14} framework to run the DNNs on GPU.

\begin{figure}[t]
	\centering
	\includegraphics[width=0.8\linewidth,valign=c]{acc_vs_resolution2}
	\vspace{-0.5em}
	\caption{\small Accuracy vs. Resolution.}
	\label{fig:exp-resolution}

\end{figure}

\begin{figure*}[h]
	\vspace{-1em}
	\centering
	\begin{minipage}[t]{0.32\textwidth}
		\centering
		\includegraphics[width=\linewidth]{bandwidth_cs}
		\vspace{-1.5em}
		\caption{The performance of different approaches under different network conditions.} \label{fig:exp-bandwidth}
	\end{minipage}
	\,
	\begin{minipage}[t]{0.32\textwidth}
		\centering
		\includegraphics[width=\linewidth]{frame_rate_cs}
		\vspace{-1.5em}
		\caption{The performance of different approaches under different frame rates.}\label{fig:exp-fps}
	\end{minipage}
	\,
	\begin{minipage}[t]{0.32\textwidth}
		\centering
		\includegraphics[width=\linewidth]{delay_cs}
		\vspace{-1.5em}
		\caption{The performance of different approaches under different network latency.}\label{fig:exp-delay}
	\end{minipage}
	\vspace{-1.5em}
\end{figure*}

We evaluate the proposed algorithms with different frame rates.
Most videos in the dataset use 30 fps, and thus we have to change their frame rate by decoding/encoding.
For ResNet-152, the maximum resolution of the input image is 224x224 pixels.
This resolution can be downsized for some offloading images, and we consider 5 different resolutions: 45x45, 90x90, 134x134,  179x179 and 224x224 pixels.
The tradeoff between accuracy and frame resolution is shown in Figure \ref{fig:exp-resolution}.

\begin{table}[h]
	\centering
	\begin{tabular}{|c|c|}
		\hline
		& Running Time (ms) \\ \hline
		AlexNet on NPU               & 20                \\ \hline
		ResNet-152 on server         & 37                \\ \hline
		Confidence Score Calibration & 8                 \\ \hline
	\end{tabular}
	\vspace{-0.5em}
	\caption{The running time of different models for each frame.}
	\label{table:time-measurement}
\end{table}
\vspace{-1em}

The time constraint for each frame is set to be 200 ms in all experiments.
The running time of our CBO algorithm is less than 1 ms on smartphone and it is negligible compared to the time constraint (100 ms level).
The running time of different DNNs are shown in Table \ref{table:time-measurement}.
The data shown in Figure \ref{fig:exp-resolution} and Table \ref{table:time-measurement} will be used for making scheduling decisions in Algorithm \ref{alg:cbo}.
We compare CBO with the following approaches.

\begin{itemize}
	\item \textbf{Local: }
	All frames are processed locally on NPU.
	After a frame has been processed on NPU, the classification result is returned.

	\item \textbf{Server: }
	All frames are offloaded to the server for processing.
	Each frame is resized to a resolution due to bandwidth limitation so that it can be offloaded before the next frame arrives.

	\item \textbf{FastVA: }
	This is an implementation of the FastVA framework \cite{tan-infocom2020} which maximizes accuracy under some time constraint.
	Based on the optimization, it determines which frames should be processed locally on NPU and which frames should be offloaded to the edge server.

	\item \textbf{Compress: }
	This method is similar to FastVA, except that it runs a compressed DNN to process the frames locally on CPU.
	We leverage Tensorflow which is a well-known deep learning framework to perform pruning and dynamic range quantization on the original DNN.
	Specifically, the sparsity of the model is set to 0.9 in the pruning step.
	After compression, the model size is reduced by 95\% and 50\% of the processing time is saved on CPU, but still much slower than NPU.

	\item \textbf{CBO without Calibration (CBO-w/o): }
	This algorithm is the same as CBO, except that the confidence score is not calibrated.

	\item \textbf{Optimal: }
	This shows the performance upper bound for all algorithms.
	It tries all possible combinations and chooses the schedule that maximizes the accuracy.
	Note that this method cannot be used for processing videos in real time since it takes too much time to search all possible schedules. 	We can only find the optimal solution offline by replaying the data trace.
\end{itemize}

\subsection{Evaluation Results}

The performance of the algorithm depends on several factors, the bandwidth, the network latency, and the video frame rate.

In Figure \ref{fig:exp-bandwidth}, we compare CBO with Local, Server, FastVA, Compress and CBO-w/o under different network conditions.
In the evaluation, the network latency is set to be 100 ms and the frame rate is set to be 30 fps.
Since no frame is offloaded to the server in the Local approach, its performance does not change under different network conditions.
Local, FastVA, CBO and CBO-w/o have the same accuracy when the bandwidth is 0, since no frame can be offloaded to the server.
When the bandwidth is lower than 3 Mbps, the Local approach achieves higher accuracy than the Server approach.
This is because the frames have to be offloaded in an extremely low resolution.
Even with advanced DNN running at the server, the accuracy is still pretty low with low resolution frames.
Compared to the Compress approach, FastVA achieves higher accuracy when the network bandwidth is lower than 15 Mbps.
This is because the running time of compressed DNN on CPU is long and Compress offloads most frames in low resolution.
Note that the processing time of compressed DNN (50\%) is not reduced as much as the model size (95\%).
This is because the reduction of the model size is mainly due to the removal of the redundant parameters in the fully connected layers. After compression, there are still many convolutional layers which are computationally intensive, and it takes a large amount of time to run these layers.
In contrast, FastVA avoids offloading frames in low resolution by processing video frames on NPU.
As can be seen from the figure, CBO outperforms FastVA, since CBO knows which frames are classified incorrectly based on the calibrated confidence scores and it can improve the accuracy effectively by offloading the frames with low confidence scores.

From Figure \ref{fig:exp-bandwidth}, we can also see that CBO-w/o underperforms CBO and FastVA because the uncalibrated confidence scores cannot accurately estimate the correctness of the classification result.
With uncalibrated confidence score, CBO-w/o may offload frames which have been classified correctly on NPU, wasting bandwidth resources, and it may return misclassified results and reduce the accuracy.
Compared to the Server approach, CBO-w/o achieves higher accuracy when the network bandwidth is low.
This is because CBO-w/o avoids offloading frames in very low resolution by returning the classification result with high confidence score.
When the bandwidth is high, the Server approach outperforms CBO-w/o since it can offload frames with higher resolution and then increase the accuracy.
As the bandwidth increases above 36Mbps, the difference among CBO, CBO-w/o, FastVA, Compress and Server becomes smaller since most frames can be offloaded to the server in higher resolution to achieve higher accuracy.

In Figure \ref{fig:exp-fps}, we evaluate the impact of frame rate on accuracy for different approaches.
We set the uplink network bandwidth to be 5 Mbps and set the network latency to be 100 ms.
As shown in the figure, CBO significantly outperforms CBO-w/o, Server, FastVA, Compress and Local.
In general, the accuracy of all approaches drops when the frame rate increases.
The Server approach suffers a 15\% accuracy drop when the frame rate increases from 5 fps to 30 fps.
This is because most frames have to be resized to low resolution when the frame rate increases to 30 fps.
In contrast, only 6\% accuracy drop is observed in CBO, since it only offloads the frames with low confidence scores. With the same amount of bandwidth, CBO can offload more frames with high resolution compared to other approaches.

In Figure \ref{fig:exp-delay}, we evaluate the impact of network latency on accuracy.
We set the uplink network bandwidth to be 5 Mbps and set the frame rate to be 30 fps.
As shown in the figure, CBO significantly outperforms CBO-w/o, Server, FastVA, Compress and Local.
Since the Local approach does not offload any frames, its performance remains the same.
As the latency increases, less frames can be offloaded to the server for processing due to the delay constraint requirement.
Therefore, the performance of Server, Compress, FastVA, CBO and CBO-w/o degrades as the latency increases.
Compared to the Server approach, the accuracy drop in CBO is much smaller.
This is because CBO can reduce the chance of offloading frames in low resolution by using NPU based classification results that have high level of confidence.

\begin{figure}[t]

	\centering
	\footnotesize
	\subfigure[The performance of Optimal]{\includegraphics[width=0.48\linewidth]{figures/3d-exp-optimal}}
	\,
	\subfigure[Difference between Optimal and CBO]{\includegraphics[width=0.48\linewidth]{figures/3d-exp-opt-diff}}
	\vspace{-0.9em}
	\caption{Comparison between CBO and Optimal.}
	\label{fig:3d-optimal}

\end{figure}

In Figure \ref{fig:3d-optimal}, we compare CBO with Optimal under various frame rate and network conditions.
As shown in Figure \ref{fig:3d-optimal}(a), the accuracy of Optimal increases when the network bandwidth increases, because the mobile device can upload more frames with higher resolution.
As frame rate requirement increases, less frames can be offloaded and Optimal has to offload frames with lower resolution.
Therefore, the accuracy becomes lower.

In Figure \ref{fig:3d-optimal}(b), we show the accuracy difference between Optimal and CBO.
The accuracy difference is computed using the accuracy of the Optimal approach minus that of CBO.
As can be seen from the figure, the difference is almost zero in most cases, which indicates that CBO is close to Optimal.

\section{Related Work} \label{sec:related-work}

In recent years, researchers have made tremendous progress in applying DNNs for various classification problems \cite{parkhi-bmvc15, lapuschkin-cvpr16, he-cvpr16, barbu-nips19}.
However, these DNNs are designed for machines with powerful CPU and GPU, and it is difficult to run them on mobile devices due to the resource limitations.
To address this issue, researchers leveraged model compression technique to reduce the resource demand of DNNs.
For example, in \cite{luo-iccv17, yu-cvpr18}, the authors proposed techniques to remove the redundant parameters and operations from the neural network to reduce the model size and processing time.
Although the efficiency can be improved through these model compression techniques, the accuracy also drops.

Computation offloading represents another kind of solution for enabling video analytics on mobile devices.
Some general offloading frameworks \cite{cuervo-mobisys10, Geng-ICNP2015, Geng-infocom18} have been proposed to optimize energy and reduce the computation time for mobile applications.
However, these frameworks have limitations when applied to deep learning based video analytics since a large amount of data has to be offloaded to the server.
To address this issue, researchers propose offloading framework for deep learning applications \cite{han-mobisys16, tan-tmc21, chen-sensys18,  ran-infocom18, tan-secon21, liu-mobicom2019}.
There have been some studies on confidence based offloading.
For example, in \cite{teerapittayanon-icdcs17} and \cite{wang-infocom2020},
confidence score is leveraged to reduce the processing delay by early exit; i.e., returning the classification results without running all DNN layers.
Different from them, our framework is designed for video analytics on mobile device with NPU, where the goal is to maximize accuracy under some time constraint. Moreover, we propose confidence score calibration technique to improve the performance.

Considerable amount of work has been done on improving the execution efficiency of DNNs on mobile devices through hardware support.
For example, Tan {\em et al.} \cite{tan-ipsn21} developed model partitioning techniques to schedule some neural network layers on CPU while executing other layers on NPU to achieve better tradeoffs between processing time and accuracy.
Cappuccino \cite{motamedi-esl19} optimized computation by exploiting imprecise computation on the mobile system-on-chip (SoC).
Oskouei \textit{et al.} \cite{oskouei-mm16} developed an Android library called CNNdroid for running DNNs on mobile GPU.
DeepMon \cite{huynh-mobisys17} leveraged GPU for continuous vision analysis on mobile devices.
FastVA \cite{tan-infocom2020} leveraged NPU and offloading technique for video analytics on mobile devices.
Different from FastVA, we explore insights about running DNNs on NPU to improve performance.

\section{Conclusions} \label{sec:conclusion}

In this paper, we proposed a CBO framework for video analytics to address the low accuracy problem of running DNNs on NPU.
The major challenge is to determine when to return the NPU classification result based on the confidence level of running the DNN, and when to offload the video frames to the server for further processing to increase the accuracy. We found that existing confidence scores were not effective for making offloading decisions, and thus proposed techniques to calibrate the confidence score so that it could accurately reflect the correctness of the classification results on NPU.
We formulated the CBO problem, where the goal is to
maximize accuracy under some time constraint. To achieve this goal, the confidence score threshold is adaptively adjusted based on the network condition, the confidence score and the selected frame resolution, before being used for determining if the video frame should be offloaded for further processing.
Extensive evaluation results show that the proposed solution can significantly outperform other approaches.

\section*{Acknowledgement}
This work was supported in part by the National Science Foundation under grant number 2125208.

\bibliographystyle{IEEEtran}

redpajama_set_name: RedPajamaArXiv


Championship Mah Jongg is a tile game concentrating on logic & strategy.
Mah Jong Connect is a Mah Jong game that you can play in your web browser.
Embark on an enchanting journey to the world of Mah-Jongg.
Automatically plays for you, or shows you hints about Pogo's Mah Jong Garden.


↑ अ आ इ Chronology of Mars Exploration. NASA. Retrieved on 2011-12-01.
↑ Pyle, Rod (2012). Destination Mars. Prometheus Books. पपृ॰ 73–78. आई॰ऍस॰बी॰ऍन॰ 978-1-61614-589-7. It was the first spacecraft to enter orbit around another world.
↑ "Missions to Mars". The Planetary Society.
↑ Perminov, V.G. (July 1999). The Difficult Road to Mars - A Brief History of Mars Exploration in the Soviet Union (PDF). NASA Headquarters History Division. पपृ॰ 34–60. आई॰ऍस॰बी॰ऍन॰ 0-16-058859-6.
↑ Webster, Guy (April 11, 2013). "NASA Mars Orbiter Images May Show 1971 Soviet Lander". NASA. अभिगमन तिथि April 12, 2013.
↑ "Mars Pathfinder Science Results". NASA.
↑ "ESA - Beautiful new images from Rosetta's approach to Mars: OSIRIS UPDATE". Esa.int. 2007-02-24. अभिगमन तिथि 2012-01-16.
↑ "The first image sent from Mars Orbiter". ISRO.
↑ "Mangalyaan Completes 6 Months in Martian Orbit, Could Last Much Longer". NDTV. 24 March 2015.
↑ Brown, Dwayne; Neal-Jones, Nancy; Zubritsky, Elizabeth (September 21, 2014). "NASA's Newest Mars Mission Spacecraft Enters Orbit around Red Planet". NASA. अभिगमन तिथि September 22, 2014.
↑ Chan, Sewell (20 October 2016). "No Signal From Mars Lander, but European Officials Declare Mission a Success". New York Times. अभिगमन तिथि 20 October 2016.
↑ Wall, Mike (21 October 2016). "ExoMars '96 Percent' Successful Despite Lander Crash: ESA". Space.com. अभिगमन तिथि 2016-10-21.
↑ Clark, Stephen (9 March 2016). "InSight Mars lander escapes cancellation, aims for 2018 launch". Spaceflight Now. अभिगमन तिथि 2016-03-09.
↑ Chang, Kenneth (9 March 2016). "NASA Reschedules Mars InSight Mission for May 2018". New York Times. अभिगमन तिथि 9 March 2016.
↑ Cowing, Keith (28 April 2016). "SpaceX Will Start Going to Mars in 2018". SpaceRef. अभिगमन तिथि 2016-04-28.
↑ "India plans second Mars mission in 2018". CNN IBN. 30 October 2014. अभिगमन तिथि 2014-10-30.
↑ अ आ Clark, Stephen (8 May 2015). "UAE details ambitious plan for Martian weather satellite". Spaceflight Now. अभिगमन तिथि 10 May 2015.
↑ "Emirates Mars Mission". iCresRise Magazine. January 2016. अभिगमन तिथि 12 January 2016.
↑ Emirates Mars Mission. Mohammed Bin Rashid Space Centre (MBRSC). 5 May 2015. अभिगमन तिथि 12 January 2016.
↑ ESA (2 May 2016). Second ExoMars mission moves to next launch opportunity in 2020. प्रेस रिलीज़. http://www.esa.int/For_Media/Press_Releases/Second_ExoMars_mission_moves_to_next_launch_opportunity_in_2020. अभिगमन तिथि: 2 May 2016.
↑ Stephen, Clark (March 3, 2015). "NASA eyes ion engines for Mars orbiter launching in 2022". Space Flight Now. अभिगमन तिथि 2015-03-05.
↑ "ru:Пилотируемый полет на Марс будет возможен после 2040 года - Роскосмос". versii.com (रूसी में). अभिगमन तिथि 22 August 2014.


text:
Alice's Adventures in Wonderland and Through the Looking Glass (Everyman's Library Children's Classics Series) (Hardcover)
By Lewis Carroll, John Tenniel (Illustrator)
Aladdin and Other Tales from the Arabian Nights (Everyman's Library Children's Classics Series) (Hardcover)
By Anonymous, W. Heath Robinson (Illustrator)
King Arthur and His Knights of the Round Table (Everyman's Library Children's Classics Series) (Hardcover)
By Roger Lancelyn Green, Aubrey Beardsley (Illustrator)
A Wonder-Book for Girls and Boys (Everyman's Library Children's Classics Series) (Hardcover)
By Nathaniel Hawthorne, Arthur Rackham (Illustrator)
Un planeta a la deriva (Paperback)
The Surprising Adventures of Baron Munchausen (Everyman's Library Children's Classics Series) (Hardcover)
By Rudolf Erich Raspe, Gustave Dore (Illustrator), Pierre Le Motteux (Translated by)
The Water-Babies: A Fairy Tale for a Land-Baby (Paperback)
By Charles Kingsley, Richard D. Beards (Introduction by), Richard D. Beards (Notes by)
The Outsiders (Paperback)
A Wizard of Earthsea (The Earthsea Cycle #1) (Paperback)
The Door in the Wall (Mass Market)
By Marguerite de Angeli
El Principito (Td) (Imitation Leather)
By Antoine de Saint-Exupéry
From the Mixed-Up Files of Mrs. Basil E. Frankweiler: 35th Anniversary Edition (Mass Market)
By E.L. Konigsburg


2018 Organic Hair Color Products Whole Foods – Best Color Hair For Hazel Eyes Uploaded by sayu on Saturday, February 9th, 2019 in category blonde hair color ideas.
See also 99 Organic Hair Color Products Whole Foods – Best At Home Semi Permanent Hair Color from blonde hair color ideas Topic.
Here we have another image 77 Organic Hair Color Products Whole Foods – Best Natural Hair Color For Grey featured under 2018 Organic Hair Color Products Whole Foods – Best Color Hair For Hazel Eyes. We hope you enjoyed it and if you want to download the pictures in high quality, simply right click the image and choose "Save As". Thanks for reading 2018 Organic Hair Color Products Whole Foods – Best Color Hair For Hazel Eyes.


There is a lot of information to consider when looking for the right vehicle for you and your family. United Services Automobile Association, insuring 9.4 million U.S. military members and their families, issues an annual report on their automotive picks. USAA works hard to do the research for you so that you know you're getting the best value, safety ratings, and reliability for your needs. USAA Preferred created their 2013 Best Value list naming the top vehicles in 16 different categories. Dodge is proud to be counted among the best of the best.
Dodge was awarded Best Value in three categories: Large Sedan, Midsize Sedan, and Minivan. Dodge also earned top ranking spots in the Midsize SUV class for the Durango and Journey.
To get into one of these top ranked vehicles today call or stop by Melloy Dodge.


Home Posters and Prints Everything for the war! : subscribe to the 5 1/2 % military loan.
Everything for the war! : subscribe to the 5 1/2 % military loan.
Title Everything for the war! : subscribe to the 5 1/2 % military loan.
Physical Description 1 print : col. ; 97 x 70 cm.
Summary Poster shows a woman working on a belt-powered lathe.
Notes Title translated by library staff.
LC Subject Headings World War, 1914-1918 -- Russia.
World War, 1914-1918 -- Economic & industrial aspects -- Russia.
War bonds & funds -- Russia -- 1910-1920.
War posters -- Russian -- 1910-1920.
Add tags for Everything for the war! : subscribe to the 5 1/2 % military loan.
Post a Comment for Everything for the war! : subscribe to the 5 1/2 % military loan.


Performs annual catholic protection surveys and monitoring of the company's underground steel facilities and corrosion control devices in accordance with applicable Federal and State regulations.
High School Diploma, GED or equivalent technical training and/or experience.
Good communication and interpersonal skills; self-discipline and the ability to work independently with general supervision.
Technical knowledge of electricity and/or electrochemistry with a basic understanding of Ohm's Law, AC and DC electrical fundamentals is preferred.
General knowledge of natural gas operations and/or facility maintenance is preferred.
Under general supervision, obtains electrical measurements on the system to determine and verify cathodic protection levels on steel distribution mains, individual service lines and transmission pipeline.
Accurately records all data and reports all irregular and non-compliant conditions.
Perform routine minor and maintenance of cathodic protection test stations and test wires as needed.
Applies a learned familiarity with applicable federal, state and local codes.
Inspects contractors and others work in the installation of corrosion control facilities as directed.
Reads, adjusts and inspects system rectifiers.
Maintains corrosion map plates, records and/or PC database information.
Performs duties inherent in technical positions.
Consistent with all positions in this classification, additional projects, tasks and/or duties beyond what is outlined here may be assigned as required.


I am trying to create an encounter (from admin/encounters/encounter.form) and I chose a visit with incompatible start date for the datetime of the encounter. I try to save, but I only see the error message "Please fix all errors and try again. encounter".
org.openmrs.api.APIException: 'Encounter: [(no ID) Mon Dec 05 00:00:00 PST 2011 ADULTINITIAL (no Location) 2 (no Form) num Obs:  num Orders: 0 ]' failed to validate with reason: encounterDatetime: The encounter datetime should be between the visit start and stop dates.
The correct behavior is to show that error message next to the correct field in the form, and to write nothing to the log file.


Website development, website and domain hosting, website maintenance.
Has in its member technical experts for the development and maintenance of various application system in client-server, LAN/WAN and PC stand-alone installation.
The technical support group of EXTREMATICS provides systems programming, fine-tuning, database administration, data communication operations and trouble shooting for the computer machine, LAN/WAN.


Playing with robots can be lots of fun. You are going to have even more fun when you can control your robot with a wearable LEGO exoskeleton. Daniele Benedettelli has posted a video that shows a Cyclops MK II humanoid robot being remote controlled by a wearable exoskeleton. We don't have more details on this yet, but the idea looks promising, don't you think?


Gigabyte GA-H110M-DS2 Micro ATX ultra durable motherboard has the compatibility with 7th/6th i3, i5 & i7 processors. This board also supports dual channel DDR4 maximum 32GB memory and dual Ultra-Fast SATA interface. Focusing on the graphics, it has integrated Intel HD graphics with 1GB shared graphics memory containing the resolution of 1920x1200@60 Hz for D-Sub port. This basic motherboard has the facility of Audio Noise Guard with LED Trace Path Lighting, 8-channel HD Audio with High Quality Audio Capacitors and Realtek® GbE LAN with cFosSpeed Internet Accelerator Software. This board also contain All new GIGABYTE™ APP Center for simple, GIGABYTE UEFI DualBIOS™ Technology and easy use and support Intel® Small Business Basics.
Purchase high quality Gigabyte boards within your range, available at best price at Star Tech. We provide the best service in every aspect. Online shopping and purchase from our stores to have your desired item to build your dream PC.