text:
You are here: Home / Archives for ParkHub
Pandemic planning puts focus on venue entry, concessions
October 26, 2020 by Paul Kapustka Leave a Comment
Hard Rock Stadium in Miami is using signage messages to help fans stay socially distanced. Credit: Miami Dolphins
As some venues take baby steps forward in allowing limited fan attendance at events, for most venues the ongoing effects of the Covid-19 pandemic are forcing owners and operators to take a longer look at the technologies and procedures that can help provide safer situations for large crowds inside public spaces for the foreseeable future.
And if keeping fans farther apart from each other is one of the simplest and best methods of enabling safer gatherings, it makes sense that many venues and technology and service providers are currently concentrating on venue entry and concession operations, with an eye toward using technology and procedures to cut down or eliminate the long lines that have long been a part of a game-day experience.
Before the pandemic changed events forever, many venues and fans were stuck in the systems and practices that had been the same for decades. While some forward-looking venues were experimenting with innovative digital technologies for entry and concessions operations, most were still caught somewhere in between the past and the future, with a mix of digital ticketing, paper tickets, cash transactions for parking and concessions, and bottleneck walkway traffic situations often caused by the random geography of stadiums, some built as long as 100 years ago. Fan behavior often contributed to these crowded situations, with the last-minute crush of entries from people who stayed at tailgate gatherings until just before kickoff a somewhat unwanted tradition at many stadiums across the country. But now, all that has changed.
The forced changes of Covid
In a wide series of interviews with venue owners and operators, team representatives, and technology manufacturers and service providers, we've seen general agreement with the idea that many of the "old ways of doing things" at events will no longer be possible as the pandemic continues, and most likely even after it subsides from its current critical state. Going forward, events in large public venues will need to adopt technologies and procedures aimed at not just keeping fans safe, but also to make them feel safe, and confident that the stadium operation is doing all it can in those regards.
The two areas of operations we are focusing on with this story are the two that easily account for the high- est potential of long lines: Stadium entry, and concessions. While historically these two operations have been fan-experience pain points in almost every venue, the good news is that mature technologies already exist to help solve for problems in both areas – and some best practices have already emerged from forward-looking venues and providers who embraced these ideas prior to the pandemic. What follows is a look at some of the technologies and services available for entry and concessions operations, with insights from early adopters and from the companies involved in the deployments.
Digital tickets and faster scanning
Editor's note: This story is from our recent STADIUM TECH REPORT Fall 2020 issue, which you can read right now, no email or registration required! Also in this issue are profiles of the technology behind two of the most innovative venues to ever open, SoFi Stadium in Los Angeles and Allegiant Stadium in Las Vegas! START READING NOW!
Just like when airline ticketing went from printed paper to mostly mobile-device systems, so has the stadium and event entry business been changing. Prior to the pandemic, most venues of any size had at least some kind of digital ticketing system in place, with many moving to digital-only processes over the past few years. While there were still some holdouts, most of the people we interviewed agreed that the desire to make activities like parking lot and stadium entry faster and contact-free is now driving venues to adopt digital ticketing at a rapid pace.
"The tone has completely changed," said Karri Zaremba, who until recently was chief operating officer at stadium app developer Venuetize (Zaremba is now a senior vice president with Major League Baseball, for ballpark experience and ticketing). According to Zaremba, this past summer teams and venues were showing "an eagerness and hunger" for digital ticketing systems that Venuetize hadn't seen before.
"Everyone is scrambling to figure out a plan to reform venues and remove humans from the [interaction] equation," Zaremba said.
George Baker, founder and CEO of parking technology provider ParkHub, agreed that the need to reduce hand-to-hand or face-to-face transactions is driving more technology in venue entry, beginning at the gate to the parking lot. ParkHub, which recently signed a deal with venue management firm Spectra to provide parking-lot technology to Spectra-managed properties, also raised an additional $15 million in venture funding this spring to help accelerate its business.
Parking attendants can scan digital tickets, a safer and faster alternative than cash. Credit: ParkHub
According to Baker, while fans may have long resisted any changes to the way things have always been done, he is confident that the safety of digital transactions, plus the expanding features available via digital platforms – such as premium lot differentiation and the ability to reserve spots ahead of time – will accelerate the use of technology in parking lot entry as well as many other game-day transactions. And as more fans use digital payment methods for parking, teams and venues can also better manage their inventory, with real-time updates.
"For venues, it's no longer a nicety, it's a necessity," said Baker of digital transactions.
One venue that has made a name for itself by its use of innovative fan-facing technology is the Los Angeles Football Club's Banc of California Stadium, which opened in 2018. Christian Lau, chief technology officer for Major League Soccer's LAFC, said contact-free entry and transactions have always been a part of the venue's plan.
In fact, before the pandemic started the club was working with security technology provider Patriot One to help develop a new entry-gate system that would include innovations including eliminating the need for the single-person metal detectors as well as future support for entry via facial recognition technology. LAFC is using entry gate technology from Axess, a Salzburg, Austria- based provider.
"It is all part of redefining our great fan experience, and redefining the security stack," said Lau. "We want to let you walk into the stadium like you're walking into a Target store."
Other venues, including the University of Oklahoma, are already borrowing from the airline playbook, by putting in more self-scanning ticket kiosks. The NFL's Jacksonville Jaguars, one of the first pro football teams allowing fans to attend in limited numbers, said they have installed new metal detectors that allow fans to keep things like keys and cell phones in their pockets when entering. Kim Rometo, vice president and CIO for the Miami Dolphins, said that Miami's Hard Rock Stadium now has "walk-through, multi-zone metal detectors" that let fans keep items in their pockets to speed up entry.
Temperature scans are a costly addition
One technology that got a lot of attention this summer was thermal detection devices, usually cameras that could scan people to detect a high body temperature, one of the signs of a possible Covid-19 infection. While such cameras are already in use in some places like airports, we have yet to find a major U.S. sports venue that has committed to installing thermal cameras for fan entry. The reason why? A combination of high costs (each scanner device can cost $10,000 or more) and unclear results, especially when used in large-scale operations like fans coming in to an event.
While many sports teams are using thermal detection devices to help keep staff and players safe as they enter team buildings and the stadiums, the prospect of trying to extend those operations to thousands of fans is a problem that requires an extra level of operational procedures. Chip Swisher, director in the smart solutions practice at CenturyLink, said venues looking to install thermal detection systems need to consider placement (since the cameras do not work as well in bright sunlight) and other mitigating factors, like fans just getting hot from being in the sun at a tailgate party. Teams will also need to develop procedures on how to handle fans who do show a high temperature, either with cooling tents (where they can be re-tested after a short time period) or with further testing or ways to refuse entry.
At some venues temperature checks are being performed, by staff members with handheld devices, a process that may possibly introduce more safety issues than it solves by forcing the person-to-person proximity. For most venues, the temperature-check process is currently a "wait and see" item, as they monitor what other venues are doing and what, if any, requirements for temperature checks are made by local governent or health officials.
Spacing and timed entry and departure
If television views of some of the first games with fans allowed in the stands are any proof, the idea of keeping fans spaced far apart in the stands seems to be working, except at some college games where students apparently violated safety precautions by massing together once inside the venue, often without masks.
For most teams that are starting to allow fans into stadiums, the digital ticket and the team or stadium application is the primary vehicle for keeping fans at safe distances when they enter and stay at the venue.
"We stretched existing solutions to meeting the need [for distancing]," said the Dolphins' Rometo. "Ticketmaster introduced the ability to define seating pods for social distance and space them six feet from one another. We [also] program the digital tickets to display the preferred gate for social distancing along with a specific entry time. All social distancing signage will be displayed on Cisco Vision throughout the concourses and we augmented eight LED boards at entrances to communicate entrance times."
While some venues have floated the idea of having set departure times, Rometo said that at Hard Rock Stadium fans can leave at any time they choose. If they stay until the end, she said, ushers will try to dismiss rows in an order to keep social distancing – but added that the space available inside the venue should keep crowds from forming.
"Hard Rock Stadium can hold more than 65,000 so we fully expect dismissing 13,000 will still occur in a timely fashion," said Rometo of the team's expected early attendance allowance.
And while some teams are eliminating tailgating completely, others like the Kansas City Chiefs are implementing spacing protocols in the parking lots, with every other space blocked off so that fans can't park side by side.
Concessions: Lessons learned from retail, fast food
If there was one place in many stadiums that needed an overhaul even before the pandemic, it was concessions. According to Moon Javaid, chief strategy officer for the San Francisco 49ers, customer experience surveys have consistently shown concessions to be "the lowest-rated aspect" across all sports.
Anothy Perez, CEO of stadium app developer VenueNext, explained why that experience has been poor at so many venues for so long.
New kiosks from Appetize will be used in the Green Bay Packers' Lambeau Field when it allows fans back in. Credit: Appetize
"Deviating from the normal is a risk," Perez said. "If you stick to the old wisdom and something goes wrong, it's not your fault."
But the advent of the Covid-19 pandemic, Perez said, "gives you cover to try something new. It's a paradigm shift."
With her Venuetize hat on, Zaremba said that many venues might not have moved forward faster with innovative concessions strategies in part to avoid alienating older customers.
"All that is now out the window," Zaremba said. New methods of contact-free or lower-contact transactions, she said, are "going to be demanded" by fans who have gotten used to such interactions in the daily life of the pandemic, where most restaurant meals are now primarily consumed by to-go pickup or via delivery, with payments made electronically or via phone by credit card.
According to our interviews, many venues are quickly moving to change as much of their concessions operations as they can to more contact-free or even contactless transactions, where fans don't have to talk face to face with concessions staff. Last year, the Denver Broncos had several new options along these lines at Empower Field at Mile High, including grab-and-go beverage stores that were basically rows of coolers where fans could take whatever canned or bottled beverages they wanted, and pay for them using an optical scanner (manufactured by Mashgin).
Other options in Denver included kiosk ordering for a chicken stand and several grab-and-go formats where prepackaged food was available to fans to take and pay for, again at a Mashgin scanner.
Fans at Empower Field at Mile High Stadium in 2019 use Appetize-powered kiosks to order and pay for food. Credit: Paul Kapustka, MSR
Kevin Anderson, chief strategy officer for stadium point-of-sale systems developer Appetize, said venues are realizing that if they didn't have contact-free concessions systems in place, they need to rapidly do so, "because it's the future." Appetize, which powered the systems at the Broncos' stadium, is currently in the process of bringing more than 50 self-service kiosks to the Green Bay Packers' Lambeau Field, which hopes to be able to host fans sometime later this season.
Though kiosks do involve the process of touching a screen, Anderson said most people have confidence that a finger touch is a low-risk possibility of virus transmittal.
"The highest likelihood of transmittal is person to person," Anderson said, voting for kiosks as a safer alternative. To help keep the process even safer, Anderson said Appetize's new screens have a "hospital grade" screen protector that resists contamination. The kiosks, he said, will also have hand sanitizer bottles attached for fans to use.
The Niners' Javaid said the team had already made a decision to bring in more kiosk stations for some of its regular concessions areas, because it not only reduces lines, but it also reduces the staffing requirements of a regular concession stand.
"Staffing is expensive, and for us [in Silicon Valley] it's hard to get people," said Javaid of the part-time work that maybe involves 10 events a year. For regular concession stands, Javaid said, the Niners would use four cashiers and four food expediters. But with a kiosk system, he said, one person can handle the same number of orders, allowing the team to repurpose the staff to other positions.
"And with kiosks, people can stand wherever [to wait for their orders]," Javaid noted. "You don't have to stand in line."
Team and stadium apps get a new life with concessions
Appetize, like other POS developers, also supports mobile ordering and payment for their concessions customers, another area where many venues are stepping up current order-by-phone operations or adding them if they didn't previously support them. At LAFC's Banc of California Stadium fans have been able to use several methods to order concessions digitally, including via the team's Venuetize-built app, or by using Apple Business Chat, or by simply scanning a QR code on a sign near a stand, which brings up a web page with menus, ordering and payment instructions, making such transactions available on the fly.
When VenueNext was born as the provider of the stadium app for the Niners' Levi's Stadium in 2014, the company was an all-or-nothing proposition for doing everything inside the app, including the venue's since-discontinued feature of having in-seat delivery available to every seat in the house. Perez, who took over the CEO spot in 2018, has shifted the company's strategy to embrace other mobile-ordering options like web-based QR-code menus, and added a POS back-end system to support more mobile-ordering options. VenueNext debuted its new mobile systems last season at the University of Florida's Ben Hill Griffin Stadium, aka "The Swamp."
VenueNext powers a new app at the University of Florida's Ben Hill Griffin Stadium, where it also debuted new products like a POS system and a web-based app in 2019. Credit: Paul Kapustka, MSR
Venues going all-mobile or mostly mobile for concessions may allow teams and venues to rethink their concourse real estate and possibly innovate by adding space for fan engagement or sponsor activation, Perez said.
"What really gets interesting is how you can open up spaces" in the venue by streamlining concessions operations, Perez said. "The beauty of mobile is that you can completely decouple shopping, ordering, paying and fulfillment."
LAFC's Lau noted that there is still an operational component to the contact-free experience, namely designing systems that have necessary nuances, like scheduling pickup times so that fans aren't all in the same area at the same time.
"You don't want the pickup lines to back up," Lau said. "You need to eliminate lines, eliminate the friction of lines."
One more concessions trend that some stadiums (like Atlanta's Mercedes-Benz Stadium) had experimented with, having completely cashless transactions, will now likely be the norm going forward given the safety concerns associated with exchanging paper money.
"Venues were dipping their toes in the water before, on cashless, but now they're leapfrogging ahead," said Zaremba, whose former company Venuetize is exploring options that include biometrics that would allow fans to "order with their face." At Seattle's CenturyLink Field, the venue has partnered with security provider Clear for a few concession stands that let fans pay for concessions with a fingerprint reader, after first signing up to the Clear system.
If there is one other cutting-edge idea emerging, it's the Niners' plan to make concessions all-inclusive for season ticket holders, a plan that was developed before the pandemic as part of the team's overall overhaul of its concessions operations.
When the Niners have fans present to roll out their all-inclusive concessions operations – where all season-ticket holders will have a menu of the most popular food and non-alcoholic beverages available as part of their ticket prices – they will use technology to assist the deployment, including using the Cisco Vision display management system to provide menu and directional information via TV screens, and to also incorporate the camera-based fan movement technology system developed by WaitTime to gather information on how fans move about in the concourse and concession areas.
WaitTime, which originally developed a mobile app to help fans find out where concession and restroom lines were shortest – and then added a version teams could broadcast on digital displays – is now pivoting to add more granular data from its camera-based systems for Covid safety and contact-free concession deployments.
Zachary Klima, WaitTime CEO, said that teams are going to need better information on where fans are moving inside venues to build reliable, safe procedures for the new normal.
"Tape on the floor can only go so far," Klima said. "It's better for teams to know where people are, and where they aren't."
The Niners' Javaid agreed with the data-driven approach.
"How are people queueing? I need to understand that," Javaid said. "We've never done this before, so I need data."
Filed Under: Appetize, Apps, Concessions, coronavirus, Covid-19, Denver Broncos, Denver Broncos, Digital displays, Golden State Warriors, Levi's Stadium, MLS, NBA, NCAA Football, NFL, VenueNext Tagged With: Appetize, Apps, CenturyLink, coronavirus, Covid-19, kiosks, Levi's Stadium, Mobile Sports Report, NCAA, NFL, ParkHub, Paul Kapustka, POS, Social Distancing, stadium app, Stadium Wi-Fi, Thermal Cameras, VenueNext, Venuetize
New Report: Inside the technology at SoFi Stadium and Allegiant Stadium
Stadium Tech Report is pleased to announce our FALL 2020 issue, with profiles of two of the most innovative new venues to open – SoFi Stadium in Los Angeles and Allegiant Stadium in Las Vegas! While neither venue will host fans this NFL season, our profiles will dig in-depth to tell you about the technologies in place to make these stadiums the most advanced when it comes to the game-day experience. We also have a substantive news analysis story about how venues and product and service suppliers are planning to tackle two of the biggest venue issues when it comes to hosting fans during a pandemic – venue entry and concessions operations.
We'd like to take a quick moment to thank our sponsors, which for this issue include Corning, Boingo, MatSing, Cox Business/Hospitality Network, Comcast Business, American Tower, CommScope, AmpThink and ExteNet Systems. Their generous sponsorship makes it possible for us to offer this content free of charge to our readers. We'd also like to welcome readers from the Inside Towers community, who may have found their way here via our ongoing partnership with the excellent publication Inside Towers. We'd also like to thank the SEAT community for your continued interest and support.
We would like to take a moment here and give some special thanks to the people at SoFi Stadium and at Allegiant Stadium, and to all the other subjects we interviewed for this issue, for their extra help when it came to providing interview time and especially photos to help bring our publications to life. We quite literally couldn't have done this without your help, and we look forward to visiting venues again in the near future!
Filed Under: 4G LTE, 5G, AmpThink, Appetize, AT&T, Cisco, Comcast, Corning, coronavirus, DAS, Denver Broncos, Denver Broncos, MLS, MSR Guides, NFL, Samsung, Soccer, Super Bowl, VenueNext, Verizon Wireless, Wi-Fi Tagged With: 4G LTE, Alleigant Stadium, AmpThink, Appetize, AT&T, Banc of California Stadium, CenturyLink, Christian Lau, Cisco, Cisco Vision, CommScope, Cox Business/Hospitality Network, DAS, DGP, JMA, LAFC, Las Vegas Raiders, Los Angeles Chargers, Los Angeles Rams, MatSing, Miami Dolphins, Mobile Sports Report, NFL, ParkHub, Paul Kapustka, Samsung, SoFi Stadium, Stadium Wi-Fi, VenueNext, Verizon Wireless, WaitTime, Wi-Fi
Niners, SAP announce stadium-operations management application
A sample screen shot from the new Executive Huddle stadium operations management platform, developed by SAP for the San Francisco 49ers. Credit: San Francisco 49ers (click on any photo for a larger image)
A desire by the San Francisco 49ers to see stadium operations information in real time has become a real product, with today's announcement of Executive Huddle, a stadium operations management application developed for the Niners by SAP.
In use at the Niners' Levi's Stadium since the start of the current football season, Executive Huddle brings transaction information from nine different stadium operations systems, including parking, concessions, retail sales, weather and fan opinions into a visual output that allows team executives to make real-time decisions on how to fix problems or otherwise enhance the game-day experience.
Demonstrated at Sunday's home game against the Los Angeles Rams, the software not only reports raw data like concession sales or parking lot entries, but also provides a layer of instant feedback to let team executives make immediate changes to operations if necessary. The cloud-based application, developed by SAP and Nimbl, is currently only in use at one upper-level suite at Levi's Stadium, where the output runs during Niners' game days on several video screens. SAP, however, plans to make the system available to other teams in the future, according to SAP executives at Sunday's demonstration.
Fixing issues in real time
Al Guido, president of the 49ers, said Executive Huddle was the end product of a desire of his to be able to fix any game-day experiences on the day of the game, instead of in the days or weeks after. According to Guido, the Niners have been passionate about collecting fan-experience data since Levi's Stadium opened in 2014. But in the past, the compilation of game-day data usually wasn't complete until a day or two after each event, meaning any issues exposed were only learned lessons that needed to wait until the next games to be fixed.
Executives huddle: from left, SAP's Mark Lehew, Niners' Moon Javaid, SAP's Mike Flannagan and Niners president Al Guido talk about the Executive Huddle system at a Sunday press event at Levi's Stadium. Credit: Paul Kapustka, MSR
Things like slower sales at concession stands, or issues with parking-lot directions, Guido said, wouldn't be known as they were happening, something he wanted to change.
"I really wanted to be able to act on it [the operations data] in real time, instead of waiting until the Wednesday after a Sunday game," Guido said.
Now, with Executive Huddle, the Niners' operations team can sit in a single room and watch as operations events take place, and can make in-game moves to fix things, like calling on the radio to a parking lot to tell gate operators of traffic issues.
"It's like having an air traffic control system," said Mark Lehew, global vice president for sports and entertainment industry solutions at SAP. Lehew said SAP worked with the Niners' list of operations vendors, including Ticketmaster, ParkHub, caterer Levy and point-of-sale technology provider Micros to provide back-end application links so that Executive Huddle could draw information from each separate system into the uber-operations view that Executive Huddle provides. According to SAP, Executive Huddle is based on SAP's Leonardo and Analytics platform.
The manager of managers
Though the system doesn't currently monitor some other key stadium operations information, like performance of the Levi's Stadium Wi-Fi network, Michael Pytel, chief innovation officer for Nimbl, said the system could conceivably add "any information we can get from an API."
The Levi's Stadium suite where the Niners monitor Executive Huddle information. Credit: San Francisco 49ers
Moon Javaid, the Niners' vice president of strategy and analytics, said the continued robust performance of the stadium's wireless networks make them a lower-priority need for the kind of oversight Executive Huddle provides.
Javaid, the quarterback of the program's development from the Niners' side of the equation, noted that part of its power comes not just from surfacing the data, but also from providing some instant intuitive markers — like red for declining metrics and green for positive — and the ability to compare current data to those from other events so that data could not just be seen but also understood, within seconds.
And while SAP plans to make Executive Huddle available to other teams, it's clear that the program — as well as education and training for the decision-making staff who will use it — will need different care and feeding for each stadium that might want to use it. But SAP's Lehew noted that being able to provide real-time data in an exposed fashion was becoming table stakes for operations providers, who would have to move past old ways of doing things if they wanted to be a part of the next generation of stadium service providers.
Filed Under: Apps, Levi's Stadium, NFL, SAP Tagged With: Levi's Stadium, Levy, Micros, Mobile Sports Report, ParkHub, Paul Kapustka, San Francisco 49ers, SAP, Ticketmaster
Pepsi Center partners with ParkHub for digital parking experience
August 2, 2016 by Paul Kapustka Leave a Comment
Denver's Pepsi Center in hockey configuration. Credit: Doug Pensinger/Getty Images)
Fans coming to Denver's Pepsi Center this fall will be able to prepurchase parking tickets and get mobile-device directions to their reserved spot, as part of a wide-ranging digital parking system from stadium parking technology startup ParkHub.
In a release today, Kroenke Sports and Entertainment (KSE) — owners of the Pepsi Center as well as the main tenants, the NBA's Denver Nuggets and the NHL's Colorado Avalanche — said it will use "all of ParkHub's parking solutions" to help power a list of features that include pre-purchasing capabilities, the ability to take cash and credit card payment options for parking at the gate, real-time views of parking spot availability, and turn by turn directions to the lot locations. Fans will be able to access the parking options via a responsive website optimized for mobile scheduled to debut this fall, according to ParkHub.
(Now that MSR is local to the area we're looking forward to seeing the app in action, if only because the curved streets in the vicinity of the Pepsi Center have always made parking downtown an adventure for us!)
According to the Dallas-based ParkHub, which is adding rapidly to its list of current customers, the KSE deal is the first time ParkHub will "white label" its entire suite of products, which will be offered from the Pepsi Center and not directly from ParkHub.
Dashboard view of ParkHub's admin program. Credit: ParkHub
Included on the back end of ParkHub's system is the ability to administer, approve and analyze all parking activities from a dashboard view. According to ParkHub, parking information is available in real time, allowing venues to fine-tune things like lot availability and direction of traffic as cars arrive at the stadium.
"When I think about the success of an event, the primary goal is to expedite a better experience of getting people parked and in their seats in the least frustrating way as possible," said Scott Beekhuizen, senior director of events operations for KSE, in a prepared statement. "Not only did we add a reliable pre-purchasing platform, but now all of our fans can use credit cards to pay at the gate. I know they are going to love that."
Fans at Pepsi Center events this fall will also be able to connect to the Internet via high-speed Wi-Fi from Avaya that was recently installed at the venue.
Filed Under: Apps, Basketball, NBA, NHL, Wi-Fi Tagged With: Colorado Avalanche, Denver Nuggets, Kroenke Sports & Entertainment, KSE, Mobile Sports Report, NBA, NHL, ParkHub, Paul Kapustka, Pepsi Center, Wi-Fi
Stadium parking technology moves to front of line with ParkHub-VenueNext partner deal
April 20, 2016 by Paul Kapustka Leave a Comment
ParkHub CEO George Baker Sr. Photo: ParkHub Instagram page
The oft-mentioned idea of using wireless technology to make event parking simpler and more efficient is becoming more of a reality these days, especially after the announcement this week of a partnership between stadium-app developer VenueNext and parking-management system concern ParkHub, which teamed together for parking services at Super Bowl 50.
Though the two companies didn't announce any new stadium deals other than the ones they already have in place — at Levi's Stadium in Santa Clara, Calif., and AT&T Stadium in Arlington, Texas — the validation of ParkHub's combination of scanning hardware and information management software could result in some big-name deals via the partnership, as VenueNext increases its roster of teams and venues using its stadium-app software platform.
Right now, the main value of ParkHub's PRIME mobile point-of-sale system (and specialized scanner equipment from Verifone) is that it allows parking-lot attendants to quickly accept and verify a wide range of payments — including cash, credit card or scans of printed tickets or digital-device graphics — to first speed up parking-lot entry, and to second provide detailed information to venue parking operators. At Super Bowl 50, ParkHub and Verifone said the system was used by more than 7,000 cars as well as several hundred buses and limos, at one point getting vehicles into the lots at a pace of one car every two seconds, a welcome improvement over the sometimes-crawling lines we've all been in at one point or another. As VenueNext signs up more stadium customers like its recent deal with the Minnesota Vikings' U.S. Bank Stadium, it will be interesting to see how many times ParkHub can piggyback alongside.
A long history in the parking industry
Right now, ParkHub seems to be one of a couple companies with momentum in the still-nascent event-parking technology market, one that has been talked about a lot for the past few years without much real action where the rubber meets the asphalt lots. Another service, Parking Panda, has several partnership deals with sports teams for its find-and-reserve parking service as well as for a mobile POS system similar to ParkHub's, according to ParkingPanda chief operating officer James Bain. In a phone interview Bain said Parking Panda provides game-day services for the New England Patriots, the Tampa Bay Rays and the Washington Nationals, as well as for the Los Angeles Convention Center. Other entrants, like StadiumPark, had similar ideas but haven't yet announced paying customers.
While VenueNext's fan-facing app has had some parking features like interactive maps directing fans to lots, the actual on-site transaction part of the equation hadn't been solved until late last year, when ParkHub was brought in under a test relationship, which extended to the Super Bowl. Look for the Dallas-based ParkHub, which according to chief marketing officer Jarrod Fresquez was running parking operations at AT&T Stadium for the recent WrestleMania 32 and its associated WWE events, to be part of the VenueNext-based services available for Dallas Cowboys games this fall.
In a phone interview with Fresquez he described ParkHub's deep DNA in the parking business, with founder and CEO George Baker being the son of the head of the Parking Company of America in Dallas, where George worked since he was apparently old enough to hold up a "park here" flag.
"I think George has been working in parking since he was 2 years old," said Fresquez. After an initial foray into consumer parking, ParkHub pivoted into the business-to-business model of performing transactions and relaying information gained to venues and event operators. Fresquez said ParkHub's strengths include its tight integration with TicketMaster systems, allowing for "real-time" validation of parking passes issued by the ticketing giant. The parking information gathered by the ParkHub system can also be sent to platforms like VenueNext's, which can use it to gauge which lots are filling up and relay that information to fans.
More importantly for venues, digital parking systems also help eliminate potential losses of cash-based systems, aka the apron method. In addition to speeding up the parking process, digital systems like ParkHub's also provide invaluable granular marketing information, about how many fans use credit cards or pre-purchased parking passes, for example. Those statistics and integration with other fan data are a big part of the VenueNext selling proposition for its app technology and management systems for venue owners and operators.
Someday, maybe management for leaving the lots
ParkHub, which also counts the American Airlines Center in Dallas and Amelie Arena in Tampa among its current clients, is also testing some automated-gate technology at American Airlines Center, according to Fresquez, part of its quest to "continue to innovate and improve" the venue parking experience. Here at Mobile Sports Report we often wonder why technology can't also be applied to perhaps the biggest problem with event parking, namely the crush formed by fans leaving the lots after games, where mass confusion and Mad Max-type behavior often rules the day.
According to Fresquez, ParkHub is working on sensor technology which someday might allow fans to reserve specific spots in lots, like the ones closest to the exits to facilitate a quick departure. Until then, we'll have to settle for assistance with paying and parking lot entry, which while not complete is still welcome.
Filed Under: Apps, Levi's Stadium, VenueNext Tagged With: AT&T Stadium, Levi's Stadium, Mobile Sports Report, ParkHub, parking, parking app, Paul Kapustka, Super Bowl 50, VenueNext


text:
Q: c# using other class method Thanks to NHMountainGoat for an answer!
Implementing Interface looks a good choice so we have only the 'needed' method instanciated.
It looks like this now:
EDIT
class Machine
{
    //REM: MachineConnexion is a link to the main server where asking the data
    internal linkToPLC LinkToPLC;
    public IlinkToPLC ILinkPLC;
    public interface IlinkToPLC//Interface to linkPLC
    {
        Int16 MachineNumIS { get; set; }
    }
    internal class linkToPLC : IlinkToPLC
    {
        private Int16 Act_MachineNum;
        private List<string> genlnkPLCCanvas;
        private List<string> genlnkPLCworkingwith;
        static private List<string> ListSymbolNoExist;
        private string[] ListToPLClnk = {
                          "GlobalFolder.PMachine[{0}].",
                          "GlobalFolder.PMachine[{0}].STATE.",
                          "GlobalFolder.Machine[{0}].",
                          "GlobalFolder.Machine[{0}].STATE.",
                        };
        public linkToPLC()//ctor
        {
            genlnkPLCCanvas = new List<string>(ListToPLClnk);
            genlnkPLCworkingwith = new List<string>(ListToPLClnk);
            ListSymbolNoExist = new List<string>();
            Act_MachineNum = MachineNumIS;
        }
        public Int16 MachineNumIS { get { return (Int16)ReadWriteMachine("data"); } set { ReadWriteMachine("data", value); } }
        public string ValueExist(string ValueToreach, bool WorkingDATA = false)
        {
            if (!WorkingDATA)
            {
                for (int inc = 0; inc < genlnkPLCworkingwith.Count; inc++)
                {
                    string StrValueToReach = genlnkPLCworkingwith[inc] + ValueToreach;
                    if (MachineConnexion.SymbolExists(StrValueToReach))
                    {
                        ListSymbolNoExist.Clear();
                        return StrValueToReach;
                    }
                    else ListSymbolNoExist.Add(genlnkPLCworkingwith[inc] + ValueToreach);
                }
            }
            else if (WorkingDATA)
            {
                string StrValueToReach = genlnkPLCworkingwith[10] + ValueToreach;
                if (MachineConnexion.SymbolExists(StrValueToReach))
                {
                    ListSymbolNoExist.Clear();
                    return StrValueToReach;
                }
                else ListSymbolNoExist.Add(genlnkPLCworkingwith[10] + ValueToreach);
            }
            if (ListSymbolNoExist.Count != 0)
            {
                string ErrorList = "";
                for (int inc = 0; inc < ListSymbolNoExist.Count; inc++)
                {
                    ErrorList = string.Concat(ErrorList + "Num: " + inc.ToString() + " " + ListSymbolNoExist[inc].ToString() + "\n");
                }
                Console.WriteLine("Error" + ErrorList);
            }
            return null;
        }
        public object ReadWriteMachine(string VariableName, object DataToWrite = null, bool WorkingDATA = false)
        {
            string valueToFind = "";
            if (ValueExist(VariableName) != "FALSE")
            {
                if (DataToWrite != null) { MachineConnexion.WriteSymbol(valueToFind, DataToWrite); }
                return MachineConnexion.ReadSymbol(valueToFind);
            }
            return VariableName;
        }
    }
    public Machine()                  //constructor
    {
        LinkToPLC = new linkToPLC();
    }
}

And It doesn't work telling me that the reference object is not defined to an instance of the object..... in the line : Machine() LinkToPLC = new linkToPLC();//REM I found the bug, it was me ;o)) 24112016
//REM 24112016
What are the main differences between those two concept: static Instance and Interface?
Example:
  class Program
{
    static void Main(string[] args)
    {
        ITestInterface InterInstance = new TestInterface();
        //test Interface
        bool value1 = true;
        value1 = InterInstance.invert(value1);
        InterInstance.print(value1);
        //test Instance static
        TestStaticInstance staticInstance = new TestStaticInstance();
        staticInstance.Instance.invert(value1);
        staticInstance.Instance.print(value1);
        Console.ReadKey();
    }
}
class TestInterface : ITestInterface
{
    public bool invert(bool value)
    {
        return !value;
    }
    public void print(bool value)
    {
    Console.WriteLine(value.ToString()+"\n");
    }
    private void methodX()
    { }
}
interface ITestInterface
{
    bool invert(bool value);
    void print(bool value);
}
public class TestStaticInstance
{
    public TestStaticInstance Instance;
    public TestStaticInstance()
    {
        Instance = this;
    }
    internal bool invert(bool value)
    {
        return !value;
    }
    internal void print(bool value)
    {
        Console.WriteLine(value.ToString());
    }
}

Thanks

A: Can you structure your other classes to take an instance of the link class?  See:
/// <summary>
/// just a stub to demonstrate the model
/// </summary>
internal class Machine
{
    public string ReadData() { return "this is data"; }
    public void WriteData(string data) { Console.WriteLine(data); }
}

internal interface IMachineDataAccessor
{
    string Read();
    void Write(string data);
}

class LinkClass : IMachineDataAccessor
{
    protected Machine _machine;

    public LinkClass(Machine machine)
    {
        _machine = machine;
    }

    public void DoMyWork()
    {
        // insert work somewhere in here.

        string dataFromMachine = Read();

        Write("outbound data");
    }

    public string Read()
    {
        return _machine.ReadData();
    }

    public void Write(string data)
    {
        _machine.WriteData(data);
    }
}

class PersistentClass
{
    IMachineDataAccessor _machineImpl;

    public PersistentClass(IMachineDataAccessor machineAccessImplementation)
    {
        _machineImpl = machineAccessImplementation;
    }

    public void DoMyWork()
    {
        string dataFromMachine = _machineImpl.Read();

        // insert work here.  Or anywhere, actually..

        _machineImpl.Write("outbound data");
    }
}

class StateClass
{
    IMachineDataAccessor _machineImpl;

    public StateClass(IMachineDataAccessor machineAccessImplementation)
    {
        _machineImpl = machineAccessImplementation;
    }

    public void DoMyWork()
    {
        string dataFromMachine = _machineImpl.Read();

        // insert work here.  Or anywhere, actually..

        _machineImpl.Write("outbound data");
    }
}

static void Main(string[] args)
{
    LinkClass link = new LinkClass(new Machine());
    PersistentClass persistent = new PersistentClass(link as IMachineDataAccessor);
    StateClass state = new StateClass(link as IMachineDataAccessor);

    persistent.DoMyWork();
    state.DoMyWork();
    link.DoMyWork();
}

redpajama_set_name: RedPajamaStackExchange


text:
Q: Adding new elements to an object I am working with a polynomial program that takes in termpairs like this where the inputs are (coefficient, exponent)
P1 = Polynomial((9, 11), (6, 14), (-12, 3), (42, 0))
Here is my constructor:
def __init__(self, *termpairs):
        L = [x for x in termpairs]
        L = sorted(L, key=lambda x: x[1], reverse=True)
        self.coeffs = L

So my question is how can I add another term to the already made object? The new term is added like this P1.addterm(coefficient, exponent) and heres what I have so far and it doesn't work:
def addterm(self, *newterm):
        for i in range(len(self.coeffs)):
            if self.coeffs[i][1] == newterm[1]:
                #code for when exponent is already in polynomial
                break
            else:
                self.coeffs = Polynomial(self.coeffs), newterm)
                break

A: Looks like all your terms are just tuple elements in a list self.coeffs. In which case....
def addterm(self, newcoeff, newexp):
    newterm = (newcoeff, newexp)
    self.coeffs.append(newterm)
    self.coeffs.sort(key=lambda x: x[1], reverse=True)
    # operator.itemgetter is probably better here.
    # # self.coeffs.sort(key=operator.itemgetter(1), reverse=True)

A: self.coeffs is a list, so just append onto the end of it and re-sort the list:
self.coeffs.append(newterm)
self.coeffs.sort(key=lambda p: p[1])

Note that your function signature is wrong if you indeed want to pass in a single tuple. Remove the * and it will work as intended.
If you swap the order of your data and store (exponent, coefficient) instead of (coefficient, exponent), you can also use the bisect module to avoid sorting:
import bisect

...

bisect.insort(self.coeffs, newterm)


Notorious hacker group Fail0verflow have apparently managed to get a PS4 to run unsigned code, specifically an emulated, modified version of Pokemon Emerald. Showing their work off at the 32nd Chaos Communication Congress, the hacker group showed the PS4 booting into a specially made version of Linux and then running an emulator. Other features apparently functional include complicated techno-wizard talk such as Kernal Modesetting and Framebuffering, but for the less technically minded, simpler sounding key features currently working include Bluetooth, WiFi, and Blinking Lights.
Fail0verflow had previously been noted for its work in hacking PlayStation 3 and Wii U systems with varying success, and past hacking attempts had demonstrated that the PS4's RAM could be dumped onto its hard drive. In other words, it was possible to get the PS4 to take whatever it was currently thinking about and drop it onto the hard drive for hackers to have a look at. This new hack is a significant step beyond that, as more qualified techno sorcerers Digital Foundry point out.
However, bad news for unscrupulous sorts who just want to play free games: Fail0verflow are refusing to publically release their hack, which is rather fair considering the heated fallout that occurred when Fail0verflow released their PS3 hack which enabled such ruffian behaviour.
Sony has yet to make a response to this unabashed picking apart of their hardware, but it's sure to be an interesting spectacle; if Sony released an emergency patch to remove the software vulnerability, it wouldn't be the first time, as previous patches have been made to the PSP, PS3 and even the Vita.
For more complicated information with long polysyllabic computer related terms that we here at The Games Cabin frankly don't understand, please check out Fail0verflow's blog.


text:
True Digital park has opened its work space for startups
By Tech News On Jun 13, 2019
True Digital Park has opened its Work Space, a co-working and office zone with capacity for 4,500 workers, in a bid to provide an affordable area for startups to develop and attract venture capital funding.
The move aims to direct Thailand towards becoming an innovation hub of Southeast Asia and possibly incubate a prized unicorn a startup valued at US$1 billion.
"We spent over 600 million baht to build the first phase of True Digital Park, which will strengthen Thailand's startup ecosystem comprising startups, corporates, technology exchanges, digital infrastructure facility funding and networking opportunities," said Thanasorn Jaidee, president of True Digital Park.
The park is located at Sukhumvit Soi 101 near Punnawithi skytrain station. The first phase of the project is now open in three areas, including the 77,000-square-metre Work Space, the 30,000-sq-m Lifestyle Space and the Living Space that has condominiums and a residential area.
"Tech youngsters need the work and living integration that this Digital Park will provide in an environment to support their projects," Mr Thanasorn said.
The co-working space can support up to 600 startups with individual seats and working spaces that charge a monthly membership fee per person. This space will attract digital nomads and small startups and entrepreneurs.
The office space offers a fixed office for bigger startups and charges one membership fee for the whole space.
The innovation and creator space is where big companies will open development labs. Google will launch its Academy, the second in the world apart from one in Britain.
Amazon Web Services will support cloud consulting, while Huawei will open a lab of its own and Ricoh will offer digital printing. Krungthai Bank and UOB will work on fintech and artificial intelligence (AI).
Wongnai will open its first co-working space for cooking, and MuSpace will develop a centre for advanced materials, integrated electronics and sensors.
Thailand e-Center for China business matching, CP Innovation, True Digital Academy and King Mongkut's Institute of Technology Ladkrabang will work together on AI and 3D printing technology.
The park also offers an events and business service space providing government service support for startups. The National Innovation Agency will open a cyber district to facilitate smart visas and corporate registrations.
Also Read: MDEC, Weibo team up on 'Virtual City' platform
The Digital Economy Promotion Agency will offer grant funding, and the Electronic Transactions Development Agency will support e-commerce and cybersecurity.
In addition, the startups will have the opportunity to meet with venture capital firms and angel investors, specifically 14 VCs that have about $500 million in investment in Southeast Asia.
Thailand has potential as a digital innovation hub for the region, Mr Thanasorn said, citing the Global Innovation Index (GII) by Cornell's SC Johnson College of Business, INSEAD and WIPO. Thailand ranked 44th in GII's 2018 study, leaping seven places in a year.
The True Digital Park building near Sukhumvit Soi 101. The park invested 600 million baht in the first phase.
On the other hand, Thailand's startup success rates remain relatively low compared with those of Indonesia, Malaysia and Vietnam.
"We are not just an office or co-working space, but with a whole ecosystem we hope to increase success rates for local startups and provide a landing pad for foreign investment," Mr Thanasorn said.
WeWork, the international co-working space, will open a 5,000-sq-m space at the park, its third branch in Thailand.
True Digital Park's members and partners are in digital content, social media, e-commerce and robotics, among other fields.
In terms of demographics, members are 57% male and 43% female. Over 60% of members work in the digital and technology business; 40% in engineering, IT, technology and innovation; 15% in technician support; 6% in digital marketing; 25% in management and business development; and 14% in support functions such as accounting, administration and human resources.
True Digital Park aims to break even in 5-7 years, thanks to government support from the Thailand 4.0 initiative and big corporate demand for domestic tech innovation.
The goal is to stimulate a greater supply of startups and expand existing ones to make Thailand a strong regional competitor in the tech market.
The park offers offices for 1,300-1,500 baht per sq m.
"Our Digital Park is gathering up to 4,500 digital workers, mostly youngsters, in its facilities," Mr Thanasorn said, adding that the park's second phase will open in the next two years at an investment of more than 600 million baht.
digitalOpenedParkSpaceStartupstruework
HoloLens 2 gives Microsoft the edge in the next generation of computing
How to transfer old Android apps into a new phone
E-wallet space likely to see consolidation this year
Gobind sees Langkawi becoming 'digital island'
E-Tunai Rakyat initiative an important step towards digital economy
Asian States Must Rethink Their Approach to Digital Governance
UOB reports that Singapore's SMEs ready to go digital in 2020
CJ says judiciary's digital reforms dependent on proper funding

redpajama_set_name: RedPajamaCommonCrawl


How can I create a T type of wall? I have no problem to join two walls to form an L, but I'm unable to add another one to form a T. Can someone please explain to me how to accomplish this?
Only one wall end can be bound to another wall end. But visually, binding a wall to the middle of another one is not really important no?
You're right, I just thought it was possible to make a T type of wall, I had a situation where I needed to move/adjust a T type of wall, if it's locked, it'll be easier. Thanks for your reply.


text:
Recent UF Grad Wins National Award For Environmental Leadership
WFSU
Brower Youth Awards
A recent University of Florida graduate has won a national award for his environmental work. Twenty-two-year-old Sean Russell received the honor for promoting awareness of ocean debris.
The Brower Youth Awards recognize the nation's top environmental leaders between the ages of 13 and 22. Among this year's six winners is North Port, Florida, native Sean Russell, whose mission began six years ago as a high-school community service project. He created fishing-line recycling containers out of empty tennis-ball cans to keep the dangerous material out of the water and away from sensitive marine life.
"And we've been able to work on the recycling bins across the country in 10 states with students but also develop educational presentations and programs on marine-debris prevention that we've been able to share with students and adults all around the world," he says.
Russell calls his fishing line project "Stow It Don't Throw It." He is also an organizer of the annual Youth Ocean Conservation Summit at Sarasota's Mote Marine Laboratory, which happens this year on Nov. 8.
Check out the Brower Youth Awards video about Sean Russell here.
State News ocean debrisMote Marine Laboratory


text:
\section{Introduction}

Deep neural networks (DNNs) have significantly improved the state-of-the-art in many machine learning problems \cite{dong2021survey}. When trained on large-scale labeled datasets, DNNs can learn semantically meaningful features that can be used to solve various downstream tasks such as object classification, detection and language processing. \cite{yosinski2014transferable}\cite{zhuang2020comprehensive}. However, DNNs need to be qualified with caveats \cite{belkin2019reconciling} - they are understood to be brittle and tend to generalize poorly to new datasets \cite{neyshabur2017exploring}\cite{wilson2020bayesian}. Even a small shift compared to the training data can cause the deep network to make spurious predictions on the target domain. This phenomenon is known as domain shift \cite{you2019universal}\cite{ben2010theory}, where the marginal probability distribution of the underlying data changes across different datasets or domains. A typical solution is to fine-tune a model trained on a sufficiently labeled dataset by leveraging the limited number of labeled samples from the target dataset \cite{chu2016best}\cite{long2017deep}. However, in real-world problems it might be expensive, or in some instances impossible \cite{singla2019overcoming}, to collect sufficient labeled data in the intended (target) domain leaving the fine-tuning or \textit{transferring} process challenging to execute.

\begin{figure}[t]
  \centering
  \includegraphics[width=0.6\linewidth]{main.pdf}
  \caption{Illustration of the improvements proposed by CDA for unsupervised domain adaptation (UDA).(A) Existing adversarial methods for UDA align the source and target domain only at the domain level ignoring class boundaries. (B) In comparison, CDA achieves both domain and class-level alignment in a multi-step training regime. In step 1, CDA performs supervised contrastive learning on the labeled source domain, resulting in better intra-class compactness and well-separated decision boundaries for the target domain to align. In the next step, adversarial learning leads to domain-level alignment, while cross-domain contrastive learning pulls target samples to align with similar samples from the source domain and pushes away dissimilar clusters.}
\end{figure}

Learning a model that reduces the dataset shift between training and testing distribution is known as domain adaptation \cite{ben2006analysis}. When no labeled data is available in the target domain, it is called unsupervised domain adaptation (UDA) \cite{ganin2015unsupervised}\cite{wilson2020survey}, which is the focus of this work. While the earliest domain adaptation methods worked with fixed feature representations, recent advances in deep domain adaptation (DDA) embed domain adaptation modules within deep learning architectures. Thus, domain adaptation and features learning are achieved simultaneously (end-to-end) in a single training process. One of the most well-known approaches to DDA is the use of adversarial learning for reducing the discrepancy between the source and target domain \cite{ganin2016domain}\cite{tzeng2017adversarial}\cite{pei2018multi}\cite{long2018conditional}. Adversarial domain adaptation (ADA) approaches domain adaptation as a minimax game similar to how Generative Adversarial Networks (GANs) \cite{creswell2018generative} work. An auxiliary domain discriminator is trained to distinguish latent feature embeddings from source and target domains. At the same time, a deep neural network learns feature representations that are indistinguishable by the domain discriminator.
In other words, the deep network, comprising a generator and a dense head, and the domain discriminator try to fool each other, resulting in latent features that cannot be distinguished by which domain they come from. Although ADA achieves domain-level alignment, it fails to capture the multimodal structure within a specific domain's data distribution \cite{wang2020adversarial}\cite{zhang2019bridging}. Even if a domain discriminator is fully confused, there is no guarantee for class-level alignment. In scenarios where class-conditional distributions across domains are significantly different, ADA can generate ambiguous features near class boundaries that are more likely to be misclassified (see Figure 1) \cite{chen2019joint} . Some of the recent works have tried to tackle the problem of class-level alignment via training separate domain discriminators \cite{pei2018multi} \cite{wang2019transferable}; however, it gives rise to convergence issues amidst a lack of equilibrium guarantee. Other works directly encode class information in the domain adaptation module \cite{long2018conditional}\cite{chen2019transferability}.

\begin{figure}[t]
  \centering
  \includegraphics[width=1.0\linewidth]{cda-model.pdf}
\caption{An overview of the two-stage CDA framework. In stage-I (A), we perform supervised contrastive learning (CL) using the labeled source dataset. The motivation is to achieve better intra-class compactness and well-separated decision boundaries to make class-level alignment in stage-II (B) easier to perform. Stage-II is where the actual domain adaptation (DA) occurs using a combination of adversarial and cross-domain contrastive loss. The overall CDA objective function comprises multiple losses that are optimized in tandem to achieve DA. For a detailed explanation, see section 3.(figure best viewed in color).}
\end{figure}

In this work, we propose a novel two-stage domain adaptation mechanism called Contrastive-adversarial Domain Adaptation (CDA). CDA leverages the mechanism of contrastive learning \cite{le2020contrastive}\cite{purushwalkam2020demystifying} for achieving class-level alignment in tandem with adversarial learning which focuses on domain-level alignment. The idea of contrastive learning is to learn an embedding space where similar data samples - and corresponding features - lie close to each other while dissimilar samples are pushed away. Although contrastive learning has been most successfully used in self-supervised learning \cite{chen2020simple}\cite{grill2020bootstrap}\cite{caron2021emerging} tasks, the underlying idea can be exploited to solve domain adaptation. The contrastive module improves intra-class compactness (stage-I) and class-conditioned alignment (stage-II), while ADA focuses on the overall domain-level alignment. The expected outcome is a more tightly coupled domain alignment that is class-aware. We conduct experiments on two benchmark datasets for UDA (Office-31 and Digits-5) to demonstrate that CDA achieves state-of-the-art results.

\subsection{Contributions}

The key contributions of this work can be summarized as follows:

\begin{itemize}

\item We propose a novel two-stage deep domain adaptation method (CDA) that combines contrastive and adversarial approaches for unsupervised domain adaptation (UDA).

\vspace{4pt}

\item Experiments show the efficacy of our proposed methods by achieving state-of-the-art results on well-known benchmarks datasets for UDA.

\vspace{4pt}

\item The proposed contrastive module can be easily embedded within existing adversarial domain adaptation methods for improved performance.

\end{itemize}

\section{Related Work}
\subsection{Unsupervised Domain Adaptation (UDA)}
The central idea of UDA is to learn domain-invariant feature representations. While the earliest (shallow) approaches worked with fixed features, the current methods combine the expressiveness of deep neural networks with domains adaptation for end-to-end learning \cite{ganin2015unsupervised}\cite{long2017deep}\cite{chen2019joint}. There is extensive literature on deep domain adaptation methods ranging from moment matching to more recent adversarial approaches. Both approaches aim to minimize the discrepancy between the source and target domain. While moment matching methods explicitly minimize the difference using a loss function such as Maximum Mean Discrepancy (MMD) \cite{long2015learning}\cite{long2017deep}, adversarial methods seek to reduce the discrepancy using an adversarial objective which pits two networks against each other - a generator and a discriminator. For domain adaptation, the generator's goal is to produce latent features the domain discriminator cannot classify correctly. Doing so generates domain-invariant feature representation, i.e., the target domain gets aligned with the source domain. A common criticism of the earliest ADA methods was that they only result in domain-level alignment and ignore class-specific distributions. Recent works have built on the seminal work of Ganin et al. \cite{ganin2015unsupervised} in the context of ADA - they attempt to incorporate class-level information in the model for achieving a more tightly-coupled alignment across domains \cite{long2018conditional}\cite{chen2019transferability}\cite{pei2018multi}.

\subsection{Contrastive Learning}

Contrastive learning (CL) has achieved state-of-the-art results in self-supervised representation learning \cite{chen2020simple}\cite{grill2020bootstrap}. The goal of CL is to learn a model where features representations of similar samples lie close to each other in the latent space, and dissimilar samples lie further apart. In the absence of labels, an augmented version corresponding to a  sample is generated to create a positive (similar) pair. The other samples in the training minibatch become negative pairs. Entropy-based loss functions that simultaneously maximize the similarity of positive pairs and minimize the similarity of negative pairs are used. Recent works \cite{caron2021emerging} have shown how contrastive learning can learn semantically meaningful feature representations that can be used to solve various downstream tasks, and can even outperform supervised tasks solved in supervised settings \cite{caron2020unsupervised}.

\subsection{Contrastive Learning for UDA}

Recent works have applied the core principle of CL to domain adaptation tasks. Carlucci et al. \cite{carlucci2019domain} used a pretext task (solving jigsaw puzzle) for self-supervision to solve domain adaptation. Kim et al. \cite{kim2021cds} proposed cross-domain self-supervised learning and extended by Yue et al.\cite{yue2021prototypical} to align cluster-based class prototypes across domains for few-shot learning. Singh et al. \cite{singh2021clda} used CL with strongly augmented pairs to reduce the intra-domain discrepancy. Picking the appropriate augmentations for CL is heuristic and may not generalize to other datasets with the same model. We avoid data augmentation using a two-stage CL approach. To the best of our knowledge, this is the first work that systematically integrates CL with adversarial methods for the problem of unsupervised domain adaptation.

\section{Contrastive-Adversarial Domain Adaptation}

\subsection{Problem Formulation}
In UDA, we aim to transfer a model learned on a labeled source domain to an unlabeled target domain. We assume that the marginal probability distributions of the two domains are not equal, i.e., $P(\mathcal{X}_s) \neq P(\mathcal{X}_t)$. We are given a labeled source dataset $D_s = (\mathcal{X}_s, \mathcal{Y}_s) = \{(x_s^i, y_s^i)\}_{i=1}^{n_s}$ and an unlabeled dataset in the target domain $D_t = \mathcal{X}_t = \{x_t^i\}_{i=1}^{n_t}$ with $n_s$ and $n_t$ samples, respectively. Both $\{x_s^i\}$ and $\{x_t^i\}$ belong to the same set of $N$ classes with $P(\mathcal{X}_s) \neq P(\mathcal{X}_t)$. The goal is to predict labels for test samples in the target domain using the model $(\mathcal{G},\mathcal{C}) : \mathcal{X}_t \rightarrow \mathcal{Y}_t$ trained on $D_s \cup D_t$. The trained model includes a feature generator $\mathcal{G} : \mathcal{X}_t \rightarrow \mathbb{R}^d$ and a classifier $\mathcal{C} : \mathbb{R}^d \rightarrow \mathbb{R}^N$, where $d$ is the dimension of the intermediate features produced by the generator.

\DontPrintSemicolon
\begin{algorithm}[t]
\caption{\textbf{C}ontrastive-adversarial \textbf{D}omain \textbf{A}daptation}\label{alg:cda}

\SetKwInOut{Input}{Input}
\SetKwInOut{Output}{Output}

\Input{labeled source dataset $D_s = \{\mathcal{X}_s, \mathcal{Y}_s\}$, unlabeled target dataset $D_t = \{\mathcal{X}_t\}$, max epochs $E$, iterations per epoch $K$, model $\left(\mathcal{C}, \mathcal{D}, \mathcal{G}\right)$}
\Output{trained model $(\mathcal{G}, \mathcal{C})$}
\BlankLine

\For{$ e = 1$ to $E$}{
        \For{$k = 1$ to $K$}{
        Sample batch $\{x_s, y_s\}$ from $D_s$ and compute $\mathcal{L}_{SupCL} + \mathcal{L}_{CE}$ using Eqn. 3
        \;

        \If{$e \geq E'$}
            {Sample batch $\{x_t\}$ from $D_t$ and compute $\mathcal{L}_{Adv}$ using Eqn. 1\;
            \If{$e \geq E''$}{ $\mathcal{L}_{SupCL}$ = 0\;
            Generate pseudo-labels $y_t$ and compute $\mathcal{L}_{CrossCL}$ using Eqn. 5}
            }

         Compute $\mathcal{L}_{Total}$ using Eqn. 7\;
        Backpropagate and update $\mathcal{C}, \mathcal{D}$ and $\mathcal{G}$
        }
}
\end{algorithm}

\subsection{Model Overview}

CDA is a two-stage model for with three major components - a feature generator $\mathcal{G}$, a classifier $\mathcal{C}$, and an auxiliary domain classifier $\mathcal{D}$ (Figure 2). Further, a contrastive module is spaced between $\mathcal{G}$ and $\mathcal{C}$. Broadly, there are two objectives achieved by the CDA model: 1) domain-level alignment using adversarial learning and 2) class-level alignment using contrastive learning. The following sections describe the mechanism of each objective in detail.

\subsection{Domain-Level Adversarial Learning}

Adversarial learning aims to learn domain-invariant features by training the feature generator $\mathcal{G}$ and domain discriminator $\mathcal{D}$ with competing (minimax) objectives. The adversarial component is adapted from the seminal work of Ganin et al. (DANN) \cite{ganin2015unsupervised} that originally proposed the idea. As a first step in the zero-sum game, $\mathcal{G}$ takes the labeled source and unlabeled target domain inputs and generates feature embeddings $z_s$ and $z_t$. In the next step, $\mathcal{D}$ takes the feature embeddings and attempts to classify them as either coming from the source or target domain. The goal of $\mathcal{G}$ is to fool the discriminator such that output feature embeddings cannot be classified correctly by $\mathcal{D}$. It is achieved by training $\mathcal{D}$ and $\mathcal{G}$ with an adversarial loss $\mathcal{L}_{Adv}$ with gradient reversal (for $\mathcal{G}$). For a given source sample $\textbf{x}_s \sim \mathcal{X}_s$ and target sample $\textbf{x}_t \sim \mathcal{X}_t$, $\mathcal{L}_{Adv}$ can be formulated as a binary cross-entropy loss:

\begin{align}
    \mathcal{L}_{Adv} (\mathcal{X}_s, \mathcal{X}_t) = \sum_{\substack{\textbf{x}_s \sim \mathcal{X}_s\\\textbf{x}_t \sim \mathcal{X}_t}} \left(
    \log \left(\mathcal{D}\left(\mathcal{G}\left( \textbf{x}_t \right) \right)
    \right) +
    \log \left(1 - \mathcal{D}\left(\mathcal{G}\left( \textbf{x}_s \right) \right)
    \right)
    \right)
\end{align}

with the following objective,

\vspace{-5pt}

\begin{align}
    \min_{\mathcal{G}} \max_{\mathcal{D}} \left(\mathcal{L}_{Adv} \right)
\end{align}

In other words, $\mathcal{G}$ tries to minimize $\mathcal{L}_{Adv}$ while $\mathcal{D}$ learns to maximize it. The theoretical argument is that convergence will result in domain-invariant feature embeddings. However, such an adversarial approach only results in domain-level alignment without considering the complex multi-mode class distribution present in the source and target domain. Even when the domain discriminator is fully confused, there is no guarantee the classifier can successfully discriminate target samples based on the class labels. The absence of class-level alignment results in under-transfer or negative transfer when the class-conditional distributions are significantly different across the two domains.

\subsection{Class-Discriminative Contrastive Learning}

To generate feature embeddings that are not domain-invariant but also class-discriminative across the two domains, CDA proposes a constrastive learning-based (CL) module. For clarification, the CL module is not a neural network per se. It is an intermediary component that links $\mathcal{G}$, $\mathcal{D}$, and $\mathcal{C}$ and where the proposed two-stage contrastive objective is optimized.

\textbf{Stage I:} The CL module performs supervised contrastive learning on the source domain. In every batch, samples from the same class are considered positive pairs, while samples from different classes are automatically assigned as negative pairs. Training progresses by optimizing a modified InfoNCE loss \cite{chen2020simple} where NCE stands for Noise-contrastive Estimation (see Eq. ). Although CL is best associated with self-supervised representation learning, recent works (Khosla et al. \cite{khosla2020supervised}) have shown that minimizing a contrastive loss can outperform the standard cross-entropy loss for supervised classification tasks. The idea is that clusters of samples belonging to the same class are pulled together in the embedding space while simultaneously pushing apart clusters of samples from different classes creating well-separated decision boundaries for better aligning the target domain samples in the next step. The combined objective function during stage-I is as follows:

\begin{align}
    \mathcal{L}_{Stage I} = \mathcal{L}_{SupCL} + \mathcal{L}_{CE}
\end{align}

\begin{align}
   \mathcal{L}_{SupCL} (\mathcal{X}_s, \mathcal{Y}_s) = -\sum_{\textbf{z}, \textbf{z}^+ \in D_s} \log \frac{\exp(\textbf{z}^\intercal \textbf{z}^+ / \tau)}{\exp(\textbf{z}^{\intercal} \textbf{z}^+ / \tau) + \sum_{\textbf{z}^- \in  D_s} \exp(\textbf{z}^\intercal \textbf{z}^-/\tau)}
\end{align}

where, $\mathcal{L}_{CE}$ is the standard cross-entropy loss for multiclass classification. $\mathcal{L}_{SupCL}$ is the supervised contrastive loss applied to samples from the labeled source domain. The variable $\textbf{z}_s$ denote the $l_2$ normalized latent embedding generated by $\mathcal{G}$ corresponding to the input sample $\textbf{x}_s$. The variable $\tau$ refers to the temperature scaling (hyperparameter) which affects how the model learns from hard negatives \cite{chuang2020debiased}.

\vspace{10pt}

\textbf{Stage II:} For class-level alignment, CDA performs cross-domain contrastive learning. It is based on the understanding that samples belonging to the same class across the two domains should cluster together in the latent embedding space. Unlike supervised CL in stage-I, samples from the same class across domains are considered positive pairs, and samples from different classes become the negative pairs. However, we need labels for the target domain which are not available. Some of the current methods in this space generate pseudo-labels using k-means clustering \cite{singh2021clda}. Clustering on the source domain is either performed once during preprocessing or performed every few epochs during training, and target labels are assigned based on the nearest cluster centroid. We argue that both approaches are sub-optimal and propose making target label generation part of the training process itself without the need to perform clustering.

\begin{align}
    \mathcal{L}_{CrossCL} (\mathcal{X}_s, \mathcal{Y}_s, \mathcal{X}_t) = -\sum_{\substack{i = 1\\\textbf{z}_s \in D_s\\\textbf{z}_t \in D_t}}^{N} \log \frac{\exp({\textbf{z}_s^i}^\intercal \textbf{z}_t^i / \tau)}{\exp({\textbf{z}_s^i}^\intercal \textbf{z}_t^i / \tau) + \sum_{i \neq k = 1}^{N} \exp({\textbf{z}_s^i}^\intercal \textbf{z}_t^k / \tau)}
\end{align}

where, $\mathcal{L}_{CrossCL}$ is the cross-domain contrastive loss in stage-II. $\textbf{z}_s$ and $\textbf{z}_t$ are the $l_2$ normalized embeddings from the source and target, respectively. The superscript $i$ and $k$ are used to identify the class labels (pesudo labels in case of target domain).

\subsection{CDA: Overall Framework }

In CDA, we take a multi-step approach to optimize multiple objective functions during training. In the first stage, we train only on the source domain for the first $E'$ epochs (hyperparameter) to ensure the model reaches a certain level of classification accuracy.

Next, we initiate the process for domain-level alignment as described above. We add $\mathcal{L}_{Adv}$ to the overall objective function using a time-varying weighting scheme lambda. Once we have achieved well-separated clustering in the source domain and some level of domain alignment, we gradually introduce the last loss function $\mathcal{L}_{CrossCL}$. The (pseudo) target labels are obtained by executing a forward pass on the model $\left(\mathcal{G}, \mathcal{C}\right)$: $\textbf{y}_t = \text{argmax}(\mathcal{C}(\mathcal{G}(\textbf{x}_t)))$.  Some target samples are expected to be misclassified initially, but as the training continues and target samples get aligned, decision boundaries will get updated accordingly, and model performance will improve with each iteration. $\mathcal{L}_{CrossCL}$ pulls same-class clusters in the two domains closer to each other and pushes different clusters further apart. Finally, we also employ a standard cross-entropy loss function $\mathcal{L}_{CE}$ during the entire training process to keep track of the classification task. The overall training objective can be formulated as follows:

\begin{align}
    \mathcal{L}_{Total} = \mathcal{L}_{Stage 1} + \mathcal{L}_{Stage 2}
\end{align}

\vspace{-6pt}

\begin{align}
    \mathcal{L}_{Total} = \mathcal{L}_{SupCL} + \mathcal{L}_{CE} +
    \lambda * \mathcal{L}_{Adv} +
    \beta * \mathcal{L}_{CrossCL}
\end{align}

with

\begin{align}
   \lambda =
   \begin{cases}
   0 & \text{for epoch}\:\: 0 \leq e < E'\\
   \frac{2}{1 + \exp^{-\gamma p}} - 1 & \text{for epoch} \:\: e \geq E'
   \end{cases}
\end{align}

and

\begin{align}
   \beta =
   \begin{cases}
   0 & \text{for epoch}\:\: e \leq E''\\
   \min(1, \alpha*\left(\frac{e - E''}{E''}\right)) & \text{for epoch}\:\: E''< e\leq E
   \end{cases}
\end{align}

\vspace{3pt}

where, $E'$ and $E''$ (with $E'' \geq E'$) indicate the epochs when Stage-I ends and $\mathcal{L}_{CrossCL}$ is introduced in the objective function, repectively. At any given epoch, only one type of contrastive learning is performed, i.e. for $e \geq E''$, $\mathcal{L}_{SupCL} = 0$ (see Algorithm 1). The scaling variables $\lambda$ and $\beta$ (hyperparameters) control the rate at which $\mathcal{L}_{Adv}$ and $\mathcal{L}_{CrossCL}$ are added to the overall objective function to maintain the stability of the training process. The values of $\alpha$ and $\beta$ increase from 0 to 1.

\section{Experiments}

\subsection{Datasets}
We use two public benchmarks datasets to evaluate our method:
\vspace{4pt}

\textbf{Office-31} is a common UDA benchmark that contains 4,110 images from three distinct domains -- Amazon (\textbf{A} with 2,817 images), DSLR (\textbf{D} with 498 images) and Webcam (\textbf{W} with 795 images). Each domain consists of 31 object classes. Our method is evaluated by performing UDA on each pair of domains, which generates 6 different tasks (Table 1).

\vspace{4pt}

\textbf{Digits-5} comprises a set of five datasets of digits 0-9 (MNIST, MNIST-M, USPS, SVHN and Synthetic-Digits) most commonly used to evaluate domain adaptation models. We use four of the five datasets and generate 3 different tasks (Table 2). Both MNIST and MNIST-M contain 60,000 and 10,000 samples for training and testing respectively. SVHN is a more complex real-world image dataset with 73,257 samples for training and 26,032 samples for testing. The digits in SVHN are captured from house numbers in Google Street View images. SVHN has an additional class for the digit '10' which is ignored to match the label range of other datasets. Finally, USPS is smaller dataset with 7,291 training and 2,007 testing samples. We use all the available training samples for each task.

\subsection{Baselines}
We compare the performance of CDA with the following well-known method (a) \textbf{DANN}, which originally proposed the idea of adversarial learning for domain adaptation, and state-of-the-art methods that go beyond just domain-level alignment - (b) \textbf{MADA} and (c) \textbf{iCAN}, which use multiple domain discriminators to capture the multimode structures in the data distribution; (d) \textbf{CDAN} and (e) \textbf{CDAN+BSP}, which condition the domain discriminator on class-discriminative information obtained from the classifier; (f) \textbf{GTA}, which proposes an adversarial image generation approach to directly learn the shared feature embeddings;
(g) \textbf{GVB}, which proposes a gradually vanishing bridge mechanism for adversarial-based domain adaptation; (h) \textbf{ADDA}, which uses a separate discriminative loss in addition to the adversarial loss to facilitate class-level alignment; (i) \textbf{MCD}, which uses task-specific classifiers and maximizes the discrepancy between them.

\begin{table}[t]
\centering
  \caption{Classification Accuracy on Office-31 Dataset}
  \label{tab:commands}
  \begin{tabular}{lccccccc}
\toprule
    Method & A$\,\to\,$D & A$\,\to\,$W & D$\,\to\,$A & D$\,\to\,$W & W$\,\to\,$A & W$\,\to\,$D & Avg.\\
    \midrule
    DANN \cite{ganin2015unsupervised} & 79.5 & 81.8 & 65.2 & 96.4 & 63.2 & 99.1 & 80.8\\
    MADA \cite{pei2018multi} & 87.8 & 90.0 & 70.3 & 97.4 & 66.4 & 99.6 & 85.2\\
    iCAN \cite{zhang2018collaborative} & 90.1 & 92.5 & 72.1 & \textbf{98.8} & 69.6 & \textbf{100} & 87.2\\
    CDAN \cite{long2018conditional} & 91.7 & 93.1 & 71.3 & 98.6 & 69.3 & \textbf{100} & 87.3\\
    CDAN+BSP \cite{chen2019transferability} & 93.0 & 93.3 & 73.6 & 98.2 & 72.6 & \textbf{100} & 88.4\\
    GTA \cite{sankaranarayanan2018generate} & 87.7 & 89.5 & 72.8 & 97.9 & 71.4 & \underline{99.8} & 86.5\\
    GVB \cite{cui2020gradually} & \textbf{95.0} & \textbf{94.8} & \underline{73.4} & \underline{98.7} & \underline{73.7} & \textbf{100} & \underline{89.3}\\
    \midrule
    CDA (ours) & \underline{93.6} & \underline{94.0} & \textbf{74.7} & 98.6 & \textbf{78.9} & \textbf{100} & \textbf{89.9}\\
    \bottomrule
  \end{tabular}
\end{table}

\begin{table}[t]
\centering
\begin{threeparttable}
  \caption{Classification Accuracy on Digits-5 Dataset}
  \label{tab:commands}
  \begin{tabular}{lccc}
    \toprule
    Method & MNIST$\,\to\,$MNIST-M & MNIST$\,\to\,$USPS & SVHN$\,\to\,$MNIST\\
    \midrule
    DANN \cite{ganin2015unsupervised} & \underline{84.1} & 90.8 & 81.9\\
    ADDA \cite{tzeng2017adversarial} & - & 89.4 & 76.0\\
   CDAN \cite{long2018conditional} & - & 95.6 & 89.2\\
    CDAN+BSP \cite{chen2019transferability} & - & 95.0 & 92.1\\
    MCD \cite{saito2018maximum} & - & \underline{96.5} & \underline{96.2}\\

    \midrule
    CDA (ours) & \textbf{96.6} & \textbf{97.4} & \textbf{96.8}\\
    \bottomrule
  \end{tabular}
  \begin{tablenotes}
   \item[*] Best accuracy shown in \textbf{bold} and the second best as \underline{underlined}.
  \end{tablenotes}
\end{threeparttable}
\end{table}

\subsection{Implementation Details}

\vspace{4pt}

\textbf{Network Architecture: } We use a ResNet-50 model pre-trained on ImageNet as the feature generator G. The last fully-connected (FC) layer in ResNet-50 is replaced with a new FC layer to match the dimensions of the intermediate feature embedding. Both the classifier C and domain discriminator D are three-layer dense networks (512 $\rightarrow$ 256 $\rightarrow$ 128) with output dimensions of 10 (for 10 classes) and 1 (for identifying the domain), respectively.

\vspace{4pt}
\noindent
\textbf{Training Details} The CDA network is trained using the AdamW optimizer with a batch size of 32 and 128 for the Office-31 and Digits-5 dataset, respectively. The initial learning rate is set as $5e-4$; a learning rate scheduler is used with a step decay of 0.8 every 20 epochs. We use one NVIDIA V100 GPU for the experiments. For detailed discussion, see the supplementary material.

\subsection{Results}

The results on the Office-31 and Digits-5 datasets are reported in Table 1 and 2, respectively. Our proposed method outperforms several baselines across different UDA tasks. Moreover, CDA achieves the best average accuracies on both datasets. Where CDA is unable to better state-of-the-art accuracy, it reports comparable results with the best accuracy score. A direct comparison can be made with DANN (see section 4.5), with which it shares the same adversarial component, to highlight the effectiveness of the contrastive module. On average, CDA improves the accuracy on \textit{Office-31} and \textit{Digits-5} by approximately 9\% and 11\%, respectively, compared to DANN. Furthermore,  CDA significantly outperforms two well-known approaches - MADA and CDAN - that also explicitly align domains at class-level.

\begin{figure}[t]
  \centering
  \includegraphics[width=0.7\linewidth]{cda-ganin-tsne.pdf}
  \caption{t-SNE visualizations for DANN and CDA to extract the contribution of the proposed contrastive module in learning domain-invariant yet class-discriminative embeddings. The analysis is for the MNIST (source) $\rightarrow$ MNIST-M (target) experiment. Each color represents one of the digits (0-9). (best viewed in color).}
\end{figure}

\subsection{Ablation Study}

To tease out the individual contribution of the contrastive module in CDA, we perform a comparative analysis between CDA and DANN as they both share the same adversarial learning component. We plot the t-SNE embeddings corresponding to the last layer in the respective classifiers (of DANN and CDA) for the MNIST to MNIST-M task (Figure 3). It can be seen that the contrastive module improves the adaptation performance. For DANN, although the source and target domain align with each other, labels are not well discriminated. The reason is that the original DANN approach does not consider class-discriminative information and only aligns at the domain level. As a result, feature embeddings near the class boundaries are prone to be misclassified, resulting in a lower classification accuracy on the target domain, as can be seen in case of DANN in Table 2. For CDA, the contrastive module first increases the inter-class separation in the source domain. It then aligns samples belonging to the same class across domains close to each other - leading to well-separated decision boundaries and improved classification accuracy. We conclude that with minimal tweaks to the training process, the proposed contrastive module in CDA can be embedded in existing adversarial methods for UDA for improved performance.

\section{Conclusion}

This paper proposes a new method for unsupervised domain adaptation (UDA) called Contrastive-adversarial Domain Adaptation (CDA). CDA improves upon existing adversarial methods for UDA by using a simple two-stage contrastive learning module that achieves well-separated class-level alignment in addition to the domain-level alignment achieved by adversarial approaches. CDA achieves this end-to-end in a single training regime unlike some of the existing approaches. Furthermore, the contrastive module is proposed as a standalone component that can be embedded with existing adversarial methods for UDA. Our proposed method achieves better performance than several state-of-the-art methods on two benchmark datasets, demonstrating the effectiveness of our approach. Lastly, this work further motivates an emerging research area exploring the synergy between contrastive learning and domain adaptation.

\clearpage
\bibliographystyle{splncs04}

redpajama_set_name: RedPajamaArXiv


We are excited to finally share that Lily is going to be a big sister! After our New Year's Eve trip down south I came home and was already a few days late so I took a test while Rollie was at work and much to my surprise it was positive! Rollie came home for lunch and I told him right away and took the 2nd test, negative...hmmm. That evening and the following morning I took two more positive tests so I made a call to the dr. to set up an appointment. My first appointment was on 1/13 but they didn't see anything on the ultrasound, most likely because I was only 5 weeks along. However to rule out misscarriage and an ectopic (tubal) pregnancy I had bloodwork done over a 48 hour period, later that week my dr. said my hcg levels had doubled so I was indeed pregnant but still very early. The following week I had another ultrasound and they finally saw the sac and estimated me at 4 weeks but according to my calculations I was 6. Two weeks later at yet another appointment we finally saw the heartbeat and they estimated I was 8 weeks along (my calculations were right!) with an estimated due date of 9/15. We shared the news with close friends and family but have waited until now to make the big announcement. I just returned from the dr. and heard a healthy heartbeat and I'm now a week further along than I thought at 13 weeks and an estimated due date of 9/10!
I've gone back and forth about whether or not to do a weekly update for this pregnancy but I think it's only fair to do so and I think it will be fun to compare.
Weight gain: +3 lbs definitely wearing lots of yoga pants and maternity jeans already...I figure it's my last pregnancy so might as well wear them now!
Sleep: hit or miss, I'm already getting up to pee 2x a night which is really annoying. I'm beyond exhausted even if I do get a good nights sleep. I've tried napping while Lily naps but that doesn't always happen. Really hoping the 2nd trimester brings my energy back.
Overall feeling/other symptoms: excited that we can finally make it public, especially because I physically can't hid my growing bump much longer. I've had some boughts of nasuea where I just don't feel like eating much and I'm dizzy a lot. I asked my doc today and my bloodwork doesn't show I'm anemic (yet) but she said it's probably just low blood sugar and I need to eat more often. I'm really trying my best to workout throughout this pregnancy, it not only makes me feel better but I know it will help me (hopefully) have an easy labor and recovery too. This pregnancy already feels 'harder' but is also going by much faster.
Here is a pic of our official announcement.