Hundreds of thousands of people packed the streets of Cologne for its annual Rose Monday parade, the culmination of five days of Carnival festivities that took place amid heightened security following robberies and sexual assaults in the city on New Year's Eve.
Police doubled the number of officers they had on hand this year in an effort to reassure the public in the wake of the December 31 attacks primarily targeting women and blamed largely on foreigners.
Through Monday morning, police said they had recorded 542 criminal complaints, including 45 allegations of sexual offences, including rape.
More From This Section
The Rose Monday parade almost didn't happen at all amid severe weather warnings, but the city decided to go ahead while banning horses, large puppets and flags for safety reasons.
With strong winds predicted over a large swathe of western Germany, other cities, including Duesseldorf and Essen, called off their main Carnival processions entirely.
The migrant crisis was reflected in Monday's Carnival floats, keeping in the tradition of topical themes.
One featured a caricature of Chancellor Angela Merkel standing in front of her signature quote of recent months, "We will manage it," and the words "tough nuts." At her side was a basket of nuts labelled "refugees."
Another featured a pensive, seated Merkel with an EU flag in her hand and the slogan "Merkelancholia."
And, reflecting concern over far-right violence, one float depicted a neo-Nazi as an octopus wrapping its tentacles around democracy.
The figure of Syrian President Bashar Assad as an angel of peace also wound its way through the city, joined on its float by Russian President Vladimir Putin and North Korean leader Kim Jong Un.
Other stories of recent months also played their part.