text:
Vermilion Drift
Andrew | May 30, 2021 | Thriller & Suspense
Vermilion Drift audiobook
Hi, are you looking for Vermilion Drift audiobook? If yes, you are in the right place! scroll down to Audio player section bellow, you will find the audio of this book. Right below are top 5 reviews and comments from audiences for this book. Hope you love it!!!.
Vermilion Drift audiobook free
I read this because I will read them all. But good heavens! Previous books gained much from the interplay between Cork and his wife, not just their relationship itself but her independence and wisdom that provides another perspective for him to consider. This one lacks that element, and it suffers from that lack. It also suffers for lack of a good editor who would have caught one of the glaring inconsistencies that threw me out of the action right in the middle of the climax. Good grief!
Vermilion Drift audiobook in series Cork O'Connor
I have read 11 of the 16 books in this series about the character called Cork O'Connor. He is half-American Indian and a former sheriff, now a P.I. (because he didn't want to kill people anymore). This author includes many episodes of violence and how Cork contains it and outsmarts the "bad" people in the story. I have learned a lot about the American Indian, and their lives on the reservation, aka The Rez.
Audiobook Vermilion Drift by William Kent Krueger
I have read every book in this series and gave five stars to each one. This book lacks punch. The dialogue is tedious. The storyline is not believable. And I do not appreciate the language. It seemed every character use the Lord's name as a curse word. Also, none of his supporting cast was involved in the story which made Cork a two-dimensional character. This book could have been edited better. I miss the Cork of the first nine books. It wasn't worth the $10 I spent on it. I am now leary about reading the next book in the series. It's a shame because Krueger is an excellent author. I'm not sure what happened here.
Audio Vermilion Drift narrated by David Chandler
We are seeing a new Cork here. In Heaven's Keep, the previous book in the series, Cork's wife, Jo, dies in a plane hijacking. We now see him six months later. His children are all away from home and only Trixie, their aging family dog, is there to greet him at night. Mr. Kreuger very sensitively handles Cork's loneliness and his determination not to be overcome by it. The action of the story, however, centers on the Vermillion Drift, a now-abandoned and sealed iron mine which is being eyed by the government as a possible site for the storage of nuclear waste. Both the native Ojibwe, whose reservation borders the mine property, and the County (white) population regard this with very mixed emotions.
In the course of determining the mine's suitability, an inspection team comes upon a room, seemingly blocked by a cave-in, which contains the remains of several bodies. Most are very old, but one has been recently deposited. This not only makes the room a crime scene but also implies a hidden entrance somewhere, and Cork is called in by the County sheriff to investigate. Matters become personal for Cork when ballistic analysis shows that the fatal bullet in the recent body and one retrieved from one of the old corpses could both have come from a gun Cork's father owned years ago; one which Cork has kept securely hidden ever since his death. It is now missing.
The rest of the tale deals not only with the bodies, all of which date back to what had became known as "The Vanishings", but also with Cork's feelings about his father. Could he have somehow been involved? Henry Meloux, the Objibwe shaman and Cork's good friend, is now over 90 and getting quite frail, but Cork hastens to him to find out what he knows. Henry is maddeningly vague, as always, but with the aid of a session in a sweat lodge and his own detective work Cork comes to understand what actually happened.
What we have here is not an ordinary cops-and-robbers, but rather a crime story mixed in with a study of grief. It is a kind of transitional work in the Cork O'Connor series, and no less interesting therefore, but it may not be to everyone's taste.
Free audio Vermilion Drift – in the audio player below
I am not sure why, but I took a flier on William Kent Krueger's first novel, Iron Lake. I loved it and started reading his entire Cork O'Connor series. I am up to #12 and have loved every one. Each novel has featured character development, action, and suspense in the Minnesota area Krueger is so familiar with. I have his last four O'Connor novels set aside to read. I highly recommend this series. I also read the novels of the likes of Michael Connelly, Dana Stabenow and Lee Child among others, and Krueger takes his rightful place alongside them in my estimation.
Tags By: William Kent Krueger, Narrated by: David Chandler, Series: Cork O'Connor
Heaven's Keep
Northwest Angle


text:
Fulton John Image 1 Luton Town 1928
Home/England & Wales 1921 - 1930, England & Wales 1931 - 1940/Fulton John Image 1 Luton Town 1928
Fulton John Image 1 Luton Town 1928 quantity
SKU: fulton-john-image-1-luton-1928 Categories: England & Wales 1921 - 1930, England & Wales 1931 - 1940 Tags: Luton Town, Norwich City
Knockentiber, Ayrshire born centre half John Fulton began his football career with Kilbirnie Ladeside and signed for Third Division (South) Luton Town in 1927, making his Football League debut at Norwich City that September. Having played around half of their matches in his debut season, he made 40 appearances during the 1928-29 campaign as Luton finished 7th in the League table. In three seasons at Kenilworth Road he played 86 games for The Hatters, before transferring to Norwich City in the 1930 close season. However he only ever played one match for the Canaries before moving into non league football with Vauxhall Motors of Luton the following year.
NB this image was taken prior to the game at Walsall on 23rd April 1928. Walsall won 4-1. Clearly Fulton was the reserve on the day.
Bartram Sam Image 2 Charlton Athletic 1938
Inglis James Image 2 Birmingham City 1896
Mathieson Allan Image 1 New Brighton 1925
Bookman Louis Image 4 West Bromwich Albion 1917
Goldthorpe Ernie Image 1 Leeds United 1921 £8.95 – £49.95
Lee George Image 1 West Bromwich Albion 1954 £8.95 – £39.95
Randle Arthur Image 1 West Bromwich Albion 1905 £8.95 – £49.95

redpajama_set_name: RedPajamaCommonCrawl


text:
Lateral hiring: Gate-crashers or talent pool are the two ways IAS officers may see new entrants
India Shishir Tripathi Jun 13, 2018 16:57:55 IST
For the 'teeming millions' who face the year-long grind of preparing for the coveted civil services, a famous axiom their tutors chant while training them acts as a major boost. They say: "There are only two services in India — the Indian Administrative Service (IAS) and others. There are IAS officers, and then there are other professionals and servicemen."
File image of Prime Minister Narendra Modi. AP.
It is the exclusivity of this 'elite club' that is the civil services — more precisely the IAS — that attracts lakhs of youth to compete in the Union Public Service Commission (UPSC) exam. The club ensures social mobility like no other and ensures closed ranks allowing no 'outsiders'. In this context, allowing lateral recruitment is frowned upon and detested.
It is not that the government has decided to allow lateral entry out of the blue. In 2008, the Second Administrative Reforms Commission, in its 10th report titled "Refurbishing of Personnel Administration – Scaling New Heights", had made a case for lateral hiring in civil services.
The report stated: "The Central Civil Services Authority should deal with matters of assignment of domains to officers, preparing panels for posting of officers at the level of joint secretary and above, fixing tenures for senior posts, deciding on posts that could be advertised for lateral entry and such other matters that may be referred to it by the government".
A decade later, the Government of India has invited "talented and motivated Indian nationals willing to contribute towards nation-building to join the government at the level of the joint secretary". The decision to allow lateral entry, apart from attracting varied opinions, has opened up what former Cabinet secretary TSR Subramanian had once called a "perennial generalist versus specialist debate".
Most of the IAS officers Firstpost contacted reacted sharply to the decision.
"The government's reason to allow lateral entry is that not many IAS officers are keen on applying for central deputation, but this is a lopsided view," an IAS officer posted in Chhattisgarh said. "There is always trouble getting no-objection certificates (NOCs) from state governments. It should be made public how many officers who wish for central deputation cannot opt for it because their state governments did not issue NOCs. Regarding allowing lateral entry, the problem is that there are certain rules and regulations that require time to understand. How can we expect this from a specialist who will take three years to understand everything? We also have to understand that UPSC has a very objective way of selecting candidates. But in lateral entry, subjective considerations will play an important role."
An IAS officer from Uttar Pradesh pointed out that someone hired for three years with no security of tenure "will act very cautiously". "He will surely not be able to act in a decisive manner. He will take at least a couple of years to understand the way decisions are examined and made within the system," the bureaucrat said.
"Such recruits will act in their own interest as they are not part of the civil services and are hired on a contract for only three years."
When countered with the fact that the ambitious Aaadhaar programme was implemented successfully under Infosys co-founder Nandan Nilekani, the officer said Nilekani was "not a joint secretary-rank officer". "He had his own directorate. He did not have to get everything approved by a secretary. His stature was different," he said, adding that most ministries seek help from consultants nowadays. "That is how we use domain experts. Given this fact, I don't think there is any need for lateral entry here."
While most civil service officers are averse to the idea, there are still few who support the decision. The lateral recruitment decision also has supporters in various other fields.
Shah Faesal, a 2009-batch IAS officer who has openly expressed his views on various issues in the past, wrote in a tweet: "I totally support GoI decision to allow lateral entry of professionals at the joint secretary-level. It'll make the services more competitive and force the IAS to specialise. New ideas will come in. And the fun part is that those who couldn't enter the IAS when they were young, find a crack in the wall!"
Lateral hiring done right
In the past, there have been several cases where allowing 'outsiders' to head an organisation, department or an institution — be it in academics or in the higher bureaucracy — proved to be a good bet.
The University of Delhi's recruitment of Professor Achin Vinayak was an example of lateral hiring done right, as can be most when applicants are hired after their credentials are properly checked to add value to the organisation.
Professor Vinayak, a former journalist, was appointed the professor of political science and later promoted to head the department. He was appointed under the "alternative qualifications" as his credentials — he has an undergraduate degree in science — and domain knowledge did not require him to pass an exam to be allowed an entry into a prestigious institute.
The Delhi High Court, while dismissing the petition that challenged Vinayak's appointment, had observed: "Under the alternative qualifications category, a candidate for the post of a professor is not judged by his academic qualification but in terms of his achievement and contribution in the relevant subject. Accordingly, educational qualification loses its significance in the backdrop of accomplishments in their field of specialisation."
The appointment of Montek Singh Ahluwalia as the deputy chairman of the Planning Commission — now the Niti Aayog — is another example. An alumnus of the University of Oxford, Ahluwalia served at the World Bank and later in the Government of India in various capacities. He had proved to be an extremely efficient 'bureaucrat'.
Space scientist Krishnaswamy Kasturirangan, who headed the Indian Space Research Organisation, effectively played his role as chancellor of the Jawaharlal Nehru University, member of the Rajya Sabha and member of the former Planning Commission of India, among several other positions.
Moreover, if a non-elected individual's appointment as a minister counts for a lateral entry, then Indian politics has several examples of where 'lateral entrants' proved to be better executives than elected ones.
While the debate on the viability, desirability and feasibility of lateral hiring has just begun, the two strands that will outline this debate is whether such entrants will be seen as gate-crashers or as part of a new talent pool. The ball lies in the court of perception.
Updated Date: Jun 13, 2018 16:57:55 IST
Tags : Bureaucrats, Civil Services, ConnectTheDots, Government Jobs, IAS, Joint Secretary, Lateral Entry, Lateral Hiring, UPSC
Mental health in a time of national turmoil: Amid CAA protests, building resilience is key to healing from trauma
Satya Nadella's comment on CAA reflects his poor understanding of subject, but shoddy media coverage amplified controversy
Kashmir conundrum: India's desire to seek validation of normalcy from foreign envoys endorses abrogation of Article 370 as a moral decision
Unemployment levels rise in Jammu and Kashmir as educated youth struggle with neglect and lack of job-creation policy
1Lateral hiring: Gate-crashers or talent pool are the two ways IAS officers may see new entrants


In TechStyle, the employee who is giving his all is the one that is getting most recognition. This is one of the reasons that it is one of the best places to work. There are too many companies where the hardest and most passionate worker is overlooked for some of the people that are lagging. When people are recognized for their hard work, they are encouraged to put in even more work. This is one of the reasons that TechStyle remains so effective. Adam Goldenberg understands the importance of recognizing good behavior as well as behavior that needs to be corrected.
One thing that Adam Goldenberg notices with other companies is that managers spend so much time on the employees that are working at a B level. However Adam Goldenberg does things a little different. All of his employees are not B level performers. Adam Goldenberg only keeps the A level performers with the intention of helping them grow. This is one of the reasons that he looks at the passion that the candidate has for the company. If the company is passionate, then he is more likely to perform well as long as that passion is also tempered with humility.
One thing that is not going to take any business anywhere is a lazy attempt at work. People who do not have their whole mind set to working for their company are not going to take it anywhere. This is one of the reasons that the top performers are given a lot of recognition.


text:
Q: Using regex to check corrections of input I'm trying to use regex to checking it's the same with input chars.
To be shorter, i'm writing char to the console and i need to check it with pattern. I must write for ex. 123-45-67-890 to go to the next operation. Any ideas?

A: This should work for pattern you need:
import re
def check (s) : return False if re.match('^\d{3}-\d{2}-\d{2}-\d{3}$', s )==None else True

>>> check ('123-4567-890')
False
>>> check ('123-45-67-890')
True

redpajama_set_name: RedPajamaStackExchange


text:
Первома́йский райо́н — административно-территориальная единица (район) и муниципальное образование (муниципальный район) на востоке Томской области России.

Административный центр — село Первомайское.

География
На востоке район граничит с Тегульдетским, на юге — с Асиновским и Зырянским, на западе — с Асиновским и Молчановским, на севере — с Верхнекетским районами области.

Площадь территории — 15,5 тыс. км². 83,5 % территории занимают леса и болота.

Главная река района: Чулым.

История
В 1924 году в Томском уезде Томской губернии был образован Зачулымский район с центром в селе Пышкино-Троицкое. В 1925 году район был отнесён к Томскому округу Сибирского края. В 1930 году этот район был упразднён, а его земли присоединены к Ново-Кусковскому району, в 1933 году переименованному в Асиновский.

В 1937 году была образована Новосибирская область, и эти земли оказались в её составе. 22 июня 1939 года они были выделены из Асиновского района, образовав отдельный Пышкино-Троицкий район. 13 августа 1944 года Пышкино-Троицкий район отошёл к новообразованной Томской области.

Во время проходившей в 1960-х годах реформы административного деления СССР Пышно-Троицкий район 8 февраля 1963 года был упразднён, а его земли вновь отошли к Асиновскому району. В январе 1965 года они были вновь выделены в отдельный район, получивший название Первомайского.

Население

Численность населения района составляет  % от населения области.

Муниципально-территориальное устройство
В муниципальный район входят 6 муниципальных образований со статусом сельских поселений.

Населённые пункты
В Первомайском районе 44 населённых пункта.

Экономика
Основа экономики — лесная промышленность. Месторождения песка, мела, глин, минеральных красок.

Культура
В 2018 году этнокультурный комплекс «Янов хутор», который находится в Первомайском районе, признан Минкультуры одним их лучших этнопарков России.

Примечания

Ссылки
 Официальный сайт Первомайского района
 река

Районы, образованные в 1965 году
Появились в 1965 году в России

redpajama_set_name: RedPajamaWikipedia


After being told four times by my primary physician and gynecologist that nothing was wrong with me, although I was growing facial hairs out of nowhere, my dermatologist decided to do a few tests. Guess what, the tests came in and it showed very high levels of testosterone. Also, the tests showed an abnormal glucose of 56 mg/dl [3.1 mmol/L] (Reference range is 65-125 mg/dl [3.6 - 6.9 mmol/L]) and a low T3 Uptake, T4, free calculated of total of 26.5 (Actual range is 27.8-40.7). I am yet to take these tests to my primary doctor and gynecologist (who refused to have me tested for the initial cause of facials hairs) for interpretation. Of course, the low glucose count will have to be addressed at this point, but before I see these doctors, please tell me something! I am concerned and I need to be armed. My mother has diabetes mellitus. So, what does this mean to me including the fact that low sugar count showed on my test?
I would suggest you get a referral to an endocrinologist to evaluate your thyroid function, your facial hair, and your blood sugar. Your facial hair might be caused by an underactive thyroid. A TSH test is necessary to further diagnose this. As far as the blood sugar of 56 mg/dl [3.1 mmol/L], if it wasn't drawn in a grey top tube, it might have been falsely low if the blood sat around for several hours before being processed. Again, you need to discuss all these issues individually with your own doctors.


text:
\section{Introduction}\label{sec:intro}
Shadows in natural images or videos present different colors and brightness.
Known where the shadow is, we can infer light source directions~\cite{lalonde2009estimating,panagopoulos2009robust}, scene geometry~\cite{karsch2011rendering,okabe2009attached,junejo2008estimating}, and camera locations or parameters~\cite{junejo2008estimating}.
Therefore, shadow detection has attracted a lot of attention and achieved remarkable progress.
However, most of the recent methods~\cite{zheng2019distraction,khan2014automatic,vicente2016large,nguyen2017shadow,chen2020multi,hu2020direction,zhu2018bidirectional} detect shadows from single images while shadow detection over dynamic scenes,~\emph{i.e.}, in videos, is less explored.

\begin{figure}[t]
	\centering
	\includegraphics[width=0.85\columnwidth,height=0.33\textheight]{fig_motivation.pdf}
	\caption{
	Comparison of correspondences and results of TVSD~\cite{chen2021triple} and Ours. We compute
    the brightness of four selected frames. Green and blue values indicate the non-shadow and shadow regions respectively.
    Given a query shadow region in the $t$-th frame,~\emph{i.e.}, the \textcolor{orange}{orange pentagram}, we find the most similar features in nearby frames for the query, and regard the found features as its correspondences.
  ``TVSD-Corr"  and ``Ours-Corr" indicate the correspondences found by TVSD~\cite{chen2021triple} and our method respectively.
  %
  ``TVSD-result" and ``Our-result" refer to the results predicted by TVSD and our method.
  %
  It is clear that the found correspondences in the $(t+3)$-th frame are in non-shadow regions (dark areas).
  This shadow features inconsistency,~\emph{i.e.}, features of the same shadow region may be dissimilar across frames, would result inconsistent prediction (\textcolor{red}{red boxes}).
  %
  Our method can address the shadow feature inconsistency, and generate the contiguous results.

	}
	\label{fig:stable}
\end{figure}

To explore the powerful representation capability of deep learning for video shadow detection (VSD), Chen~\emph{et al.}~\cite{chen2021triple} collect a large-scale video shadow detection (ViSha) dataset covering various scenarios. Then, a global contrastive objective is applied on the frame-level, which enhances the similarity between frames in the same video and push away the representations of frames from different videos.
However, video shadow detection is a fine-grained pixel-level detection task, this frame-level semantic constraint may ignore shadow details, i.e., the same shadow
regions across frames show dissimilar, resulting in inconsistent predictions;
see \textcolor{red}{red boxes} in Fig.~\ref{fig:stable}~(d).
Video data has the inherent property of \emph{temporal consistency}, where the nearby frames are expected to contain similar shadow regions.
Hence, we aim to explore both frame-level accuracy and temporal-level consistency for video shadow detection.
In this paper, we make a critical observation that this inconsistent prediction is caused by the shadow feature inconsistency,~\emph{i.e.}, the features of the same shadow regions show dissimilar proprieties among the nearby frames.
For example, due to the illumination change (see Fig.~\ref{fig:stable}~(a)), the extracted features in a specific shadow region may show higher similarity with dark non-shadow regions in the nearby frames; see \textcolor{orange}{orange pentagram} in the $(t+3)$-th frame in Fig.~\ref{fig:stable}~(c).

\begin{figure}[t]
    \centering
    \includegraphics[width=1.0\columnwidth,height=0.16\textheight]{fig_shadow_sim.pdf}
    \caption{

   (a)Supervised contrastive learning pulls close all pixels in shadow regions, which is too strict to generate complete shadow detection; see Fig.~\ref{fig:corres} and Table~\ref{tab:scl&ours} for details.
    (b)
    We aims to leverage correspondence learning to consider intra-shadow  separability.
    %
    Unlike existing correspondence learning~\cite{melekhov2019dgc,jiang2021cotr} that require \emph{pixel-to-pixel} labels among video frames, for each pixel in the shadow, we only know its corresponding pixel is within a shadow region in another frame, denoted as \emph{pixel-to-set} correspondence learning.

    }
    \label{fig:shadow_corres}
\end{figure}

To address this problem, we aim to enhance temporal pixel-wise similarity for the specific shadow regions across frames, thus improving the detection accuracy and consistency  in shadow videos; see Figs.~\ref{fig:stable}~(e) and (f).
The supervised contrastive learning aims to increase intra-class compactness and inter-class separability, and has been used for image classification~\cite{khosla2020supervised} or semantic segmentation~\cite{zhao2021contrastive,zhang2021looking}.
An intuitive way is to use the supervised contrastive learning to pull close pixels in shadow regions across frames, and push away shadowed pixels and non-shadowed pixels.
However, as objects move and illumination changes, the same shadow region may appear on backgrounds with different textures across frames.
Simply adopting the supervised contrastive learning for video,~\emph{i.e.}, pulling close all pixels in shadows, leads to incomplete shadow regions; see Fig.~\ref{fig:corres} and Table~\ref{tab:scl&ours} for the comparison results.

Hence, in this paper, we leverage the correspondence learning to learn a more fine-grained pixel-wise similarity.~\emph{i.e.}, only encouraging a pixel to be similar with its corresponding pixels in nearby frames.
However, unlike the existing correspondence learning~\cite{melekhov2019dgc,jiang2021cotr,ding2021support} that requires \emph{pixel-to-pixel} correspondence labels across video frames, we do not need the pixel-wise correspondence labels.
To this end, we present a novel \textbf{S}hadow-\textbf{C}onsistent \textbf{Cor}respondence method, namely \textbf{SC-Cor}, to learn the dense shadow correspondence in a \emph{pixel-to-set} way, based on a key prior knowledge that a corresponding \emph{(pixel)} of shadow is within a shadow region \emph{(set)} in another frame; see Fig.~\ref{fig:shadow_corres}~(a).
Different from the supervised
contrastive learning~\cite{zhao2021contrastive,khosla2020supervised,zhang2021looking}, our proposed SC-Cor keeps the pixel most similar to the anchor in the shadow region and considers inter-shadow separability, which is robust to the variant textures and illuminations in videos.
Note that our SC-Cor is a plug-and-play module and is only used in the training process. Therefore, SC-Cor can be easily applied to any deep-learning-based video/image shadow detection method without additional computational cost in testing.

Finally, existing metrics only evaluate the performance of VSD in frame-level,~\emph{e.g.}, frame-level Balance Error Rate (BER), and ignores the temporal consistency of shadow predictions.
To this end, we introduce a new evaluation metric, temporal stability (TS), which computes the intersection over union score between the adjacent frames, thus helping to evaluate the temporal consistency of shadow predictions in videos.
Below, we summarize the major contributions of this work:
\begin{itemize}
	%

	\item
	We present a novel and plug-and-play shadow-consistent correspondence (SC-Cor) method for video shadow detection. Compared with the existing \emph{pixel-to-pixel} learning, our proposed SC-Cor is learned in a \emph{pixel-to-set} way, without requiring pixel-wise correspondence labels.

	\item  To fairly evaluate the temporal consistency of different shadow detection approaches, we introduce a new evaluation metric, which evaluates the flow-warped IoU between the adjacent video frames.

	\item

	We evaluate our SC-Cor on the benchmark dataset for video shadow detection and the experimental results show that our method clearly outperforms various state-of-the-art approaches in terms of both frame-level and temporal-level evaluation metrics.

\end{itemize}

\section{Related Work}
\noindent{\bf Image shadow detection.}
Early traditional methods are based on the hand-crafted shadow features, \emph{e.g.}, intensity, chromaticity, physical properties, geometry, and textures~\cite{sanin2012shadow}.
Recently, deep-learning-based methods become the mainstream algorithms for shadow detection~\cite{khan2014automatic,shen2015structure,vicente2016large,nguyen2017shadow,hu2018direction,hu2020direction,le2018ad,zhu2018bidirectional,zheng2019distraction,ding2019argan}.
Khan \emph{et al.} \cite{khan2014automatic} build the first method based on deep neural network, which is a seven-layer CNN that learns from super-pixel level features and object boundaries.
Hu \emph{et al.} \cite{hu2021revisiting} present a fast shadow detection network by designing a detail enhancement module to refine shadow details.
In the most recent work, Zhu \emph{et al.} \cite{zhu2021mitigate} design a feature decomposition and re-weighting scheme, which leverages intensity-variant and intensity-invariant features via self-supervision to mitigate the susceptibility of the intensity cue.
Except the general shadow detection, Wang \emph{et al.}~\cite{wang2020instance,wang2021single} detecte the shadow regions associated with the objects simultaneously.

\noindent{\bf Video shadow detection.}
Early traditional video shadow detection (VSD) methods adopt the hand-crafted spectral and spatial features \cite{benedek2008bayesian,jacques2005background,nadimi2004physical} to detect the shadow regions.
To exploit the capability of deep-learning-based methods on this task, Chen \emph{et al.} \cite{chen2021triple} collect the first large-scale VSD dataset ViSha.
To detect the shadows in videos, they design a deep-learning-based method that contains a dual gated co-attention module and an auxiliary similarity loss to mine frame-level consistency information between different videos.
Hu \emph{et al.} \cite{hu2021temporal} capture the temporal consistency by an optical-flow-based warping module to align and combine features between video frames.
However, due to lack of the temporal pixel-level relation, these methods would suffer from shadow feature inconsistency and generate temporal-inconsistent results.
Unlike existing methods, this paper presents a novel solution to learn pixel-wise consistency by formulating the dense shadow correspondence objective.
Our method is flexible and can be easily integrated into many existing methods designed for both single-image and video shadow detection methods.

\noindent{\bf Correspondence learning.}
Finding correspondences between pairs of images is a fundamental task in computer vision~\cite{tyszkiewicz2020disk,sarlin2020superglue,bian2017gms,truong2020glu,melekhov2019dgc,jiang2021cotr}.
However, these methods require pixel-level correspondence labels and can hardly be obtained in videos.
Hence, numerous works aim to learn temporal correspondence in the unsupervised way~\cite{wang2019learning,xu2021rethinking,zhang2020learning}.
These methods perform unsupervised correspondence learning on videos and show obvious improvement on the obvious foreground objects. However, shadows are usually less obvious than the foreground, and may show different appearances and deformation due to illumination and texture changes. Our SC-Cor can address the above problems in a weakly supervised way, which is proved by experiments (see Fig.~\ref{fig:corres}
and Table~\ref{tab:scl&ours}).
In this paper, different from all of these methods, we aim to learn pixel-wise similarity in a \emph{pixel-to-set} way.

\noindent{\bf Contrastive learning.}
Contrastive learning pulls close an anchor and a positive sample, and pushes the anchor away from many negative samples, which has show great success in self-supervised learning~\cite{chen2021exploring,caron2020unsupervised,he2020momentum,chen2020improved,ding2021support,ding2022exploring,ding2022free}.
Recently, the supervised contrastive learning aims to increase intra-class compactness and inter-class separability to improve image classification~\cite{khosla2020supervised,li2021adaptively} or semantic segmentation~\cite{zhao2021contrastive,zhang2021looking}.
However, as objects move and illumination changes, the same shadow region may appear on backgrounds with different textures across frames.
The supervised contrastive learning,~\emph{i.e.}, simply pulling close all pixels in shadow regions is too strict, resulting in generating incomplete shadow regions; see Fig.~\ref{fig:corres} and Table~\ref{tab:scl&ours} for details.
Differently, our proposed SC-Cor aims to keep the pixel most similar to the anchor in the shadow regions,
which considers inter-class separability due to the varying shadows in
the videos.

\begin{figure}[t]
    \centering
    \includegraphics[width=1.0\columnwidth,height=0.17\textheight]{fig_architecture.pdf}
    \caption{
   (a) Illustration of the training process integrated with our shadow-consistent correspondence (SC-Cor) learning objective.
Given two frames from one video, besides using the the segmentation loss $\mathcal{L}_{seg}$ to supervise their frame-level predictions individually, we also enhance their temporal consistency by SC-Cor, described in Section~\ref{sec:sac}.
   (b) Illustration of the inference phase.
   %
  The proposed SC-Cor is only applied during training. We can improve the temporal consistency as well as the frame-level accuracy without any extra parameters or computation cost during inference.
    }
    \label{fig:architecure}
\end{figure}
\section{Methodology}
Fig.~\ref{fig:architecure} (a) shows the training process of the overall SC-Cor framework, which can generate temporal-consistent and accurate shadow detection results.
Formally, we denote a video sequence and the corresponding ground-truth (GT) masks as $\{ V_t \}_{t=1}^T$ and $\{ \mathbf{Y}_t  \}_{t=1}^T$, respectively, where $T$ is the frame number of this video sequence.
Given two video frames,
which are denoted as $V_t$ and $V_{t+\delta}$ and $\delta$ is the time interval, we feed them into two branches of the framework; see Fig.~\ref{fig:architecure}~(a).
Each branch contains a feature extractor, which is used to capture the spatial features, \emph{i.e.}, $\mathbf{F}_t$ and $\mathbf{F}_{t+\delta}$ of the input frames.
Note that the weights in these two feature extractors are shared.
Then, we adopt shadow-consistent correspondence (Fig.~\ref{fig:sac}) to extract the temporal information of $\mathbf{F}_t$ and $\mathbf{F}_{t+\delta}$; see details in Sec.~\ref{sec:sac} and \ref{sec:BIC}.
Next, we send $\mathbf{F}_t$ and $\mathbf{F}_{t+\delta}$ into the shared prediction head to obtain the shadow detection results $\hat{\mathbf{Y}}_t$ and $\hat{\mathbf{Y}}_{t+\delta}$, which are supervised by the ground-truth masks ${\mathbf{Y}}_t$ and $\mathbf{Y}_{t+\delta}$.
Note that the SC-Cor module is flexible and is only used in the training stage without any extra parameters introduced in the test stage, as shown in Fig.~\ref{fig:architecure}~(b). Therefore, it can serve as a plug-and-play component and can be used in many single-image or video shadow detection methods.

\subsection{Shadow-Consistent Correspondence}
\label{sec:sac}

To explore the temporal consistency for VSD, we aim to learn shadow correspondence to capture the pixel-wise relations between shadows across frames in the video, which acts as a regularizer to optimize the framework.
As discussed in Sec.~\ref{sec:intro}, instead of the dense \emph{pixel-to-pixel} labels~\cite{sarlin2020superglue,bian2017gms}, in this paper, we only obtain the \emph{pixel-to-set} labels.
To learn dense shadow correspondence, we introduce a novel shadow consistent correspondence method.
The proposed shadow-consistent correspondence contains three modules: (a) a shadow guidance module, (b) a cross-frame correspondence module, and (c) a consistency regularization, as shown in Fig.~\ref{fig:sac}.

\vspace{1.5mm}
\noindent{\bf (a) Shadow guidance module.}
\label{sg}
The shadow guidance module aims to obtain a feature map that only contains feature vector on the shadow regions.
Let $\mathbf{F}_t \in \mathbb{R}^{H \times W \times D}$ be the feature map of the frame $V_t$, where $D$, $H$ and $W$ denote the dimension, height, and width of the feature map, respectively.
Here, we define the ground-truth shadow mask as $\mathbf{Y}_t \in \mathbb{R}^{H \times W \times D}$ and $\mathbf{Y}_t  = \{ 0, 1\}$, where $\mathbf{Y}_t(h,w)=0$ indicates that the position $(h,w)$ in $\mathbf{Y}_t$ is in the non-shadow regions and $\mathbf{Y}_t(h,w)=1$ represents the position $(h,w)$ is in the shadow regions.
Then, we can obtain the set of shadow indexes $\mathcal{O}$:
\begin{equation}
	\mathcal{O} \  = \ \{ (h,w) \ | \ \mathbf{Y}_t(h,w)=1 \} \ .
	\label{e:shadow_set}
\end{equation}
\begin{equation}
	\overline{\mathbf{F}}_t  \ = \ \{ \mathbf{F}_t(h,w) \ | \ (h,w) \in \mathcal{O} \},
	\label{e:shadow_map}
\end{equation}
where $\overline{\mathbf{F}}_t \in \mathbb{R}^{N_t \times D}$ and $N_t$ indicates the number of shadow feature vectors on $\mathbf{F}_t$,~\emph{i.e.}, $| {\mathcal{O}} | = N_{t}$. We define the operation of the shadow guidance module as $\overline{\mathbf{F}}_t = \text{SG}( \mathbf{F}_t)$.
\begin{figure}[t]
	\centering
	\includegraphics[width=0.8\columnwidth,height=0.3\textheight]{fig_sac.pdf}
	\caption{
		Procedure of shadow-consistent correspondence from frame $t$ to $t+\delta$.
		%
		The proposed method consists of three modules: (a) the shadow guidance module (Sec.~\ref{sg}~(a)), (b) the cross-frame correspondence module (Sec.~\ref{cross-f}~(b)), and (c) the consistency regularization (Sec.~\ref{cr}~(c)).
		%
	}
	\label{fig:sac}
\end{figure}

\vspace{1.5mm}
\noindent{\bf (b) Cross-frame correspondence module.}
\label{cross-f}
For each shadow feature vector of a frame, cross-frame correspondence module aims to find its correspondence feature vector,~\emph{i.e.}, most relevant one, from another frame.
Formally, we define the features of two frames from a video as $\mathbf{F}_t$ and $\mathbf{F}_{t+\delta}$, where $\delta > 0$ is the time interval.
In the following, we will illustrate how to find the correspondence from $\mathbf{F}_t$ to $\mathbf{F}_{t+\delta}$, as well as in the other way around,~\emph{i.e.}, from $\mathbf{F}_{t+\delta}$ to $\mathbf{F}_t$.

To find the most correlated feature vector from $\mathbf{F}_{t+\delta}$, we first obtain the shadow feature map of $\mathbf{F}_t$ by $\overline{\mathbf{F}}_t = \text{SG}( \mathbf{F}_t)$.
Then, we measure the similarity between $\overline{\mathbf{F}}_t$ and $\mathbf{F}_{t+\delta}$ by the cosine similarity:
\begin{equation}
	\mathbf{S}_{t \rightarrow t+\delta}  \ = \  \frac{\overline{\mathbf{F}}_t \cdot \mathbf{F}_{t+\delta}}{\| \overline{\mathbf{F}}_t \| \| \mathbf{F}_{t+\delta} \|} \ ,
	\label{e:sim}
\end{equation}
where $\mathbf{S}_{t \rightarrow t+\delta} \in \mathbb{R}^{N_t \times L}$ and $L=H \times W$.
Here, we take the $n$-th ($n \in N_t$) feature vector on $\overline{\mathbf{F}}_t$ as the anchor vector, and compute its most relevant feature vector on ${\mathbf{F}}_{t+\delta}$ based on the similarity map $\mathbf{S}_{t \rightarrow t+\delta}$:
\begin{equation}
	p  \ = \ \max_{m}\mathbf{S}_{t \rightarrow t+\delta}(n,m), m \in [1, L] \ ,
	\label{e:corres_p}
\end{equation}
where $p$ is the index of the corresponding location on ${\mathbf{F}}_{t+\delta}$. Note that we perform the same operation to find the corresponding $p$ for each feature vector on $\overline{\mathbf{F}}_t$.

\noindent{\bf (c) Consistency regularization.}
\label{cr}
Here, we perform the consistency regularization to enforce the found correspondence inside the ground-truth sets.
Specifically, we pull the anchor feature vector close to the shadow ground-truth on the second frame and push it away from the non-shadow regions on the second frame.
More specifically, besides measuring the similarity between $\overline{\mathbf{F}}_t$ and $\mathbf{F}_{t+\delta}$, we additionally compute the similarity between $\overline{\mathbf{F}}_t$ and $\overline{\mathbf{F}}_{t+\delta}$ through Eq.~\ref{e:sim}, which can be defined as $ \overline{\mathbf{S}}_{t \rightarrow t+\delta} \in \mathbb{R}^{N_t \times N_{t+\delta}}$, where $N_{t+\delta}$ is the number of shadow feature vectors on $\mathbf{F}_{t+\delta}$.
Then, for the anchor $n$, we find its correspondence on $\overline{\mathbf{F}}_{t+\delta}$ based on $\overline{\mathbf{S}}_{t \rightarrow t+\delta}$ in the same way as Eq.~\ref{e:corres_p}, and we denote the found corresponding location as $q$.
Note that $p$ is the corresponding location found from the whole feature map while $q$ is the corresponding location only found from the shadow set (indicated by the ground-truth mask).
To pull $p$ and $q$ together, we minimize the discrepancy in two feature similarities by Eq.~\ref{e:shadow_loss}.
\begin{equation}
	\mathcal{L}_\text{shadow}^{t \rightarrow t+\delta } \ = \ \frac{1}{N_t} \sum_{n=1}^{N_t}  \left( \mathbf{S}_{t \rightarrow t+\delta}(n,p) - \overline{\mathbf{S}}_{t \rightarrow t+\delta}(n,q) \right)^2 \ .
	\label{e:shadow_loss}
\end{equation}
To push the anchor $p$ away from the non-shadow regions, we first compute the set of non-shadow indexes $\hat{\mathcal{O}}$:
\begin{equation}
	\hat{\mathcal{O}}  \ = \ \{ (h,w) \ | \ \mathbf{Y}_{t+\delta}(h,w)=0 \} \ .
\end{equation}
Based on $\hat{\mathcal{O}}$, we obtain the non-shadow feature $\hat{\mathbf{F}}_{t+\delta}$.
Then, we compute the similarity between $\overline{\mathbf{F}}_t$ and $\hat{\mathbf{F}}_{t+\delta}$ in the same way as Eq.~\ref{e:sim} to obtain $\hat{\mathbf{S}}_{t \rightarrow t+\delta} \in \mathbb{R}^{N_t \times M_{t+\delta}} $, where $M_{t+\delta}$ is the number of non-shadow features on $\mathbf{F}_{t+\delta}$,~\emph{i.e.}, $| \hat{\mathcal{O}} | = M_{t+\delta}$.
For the anchor $n$, we find its correspondence on $\hat{\mathbf{F}}_{t+\delta}$ based on $\hat{\mathbf{S}}_{t \rightarrow t+\delta}$ in the same way as Eq.~\ref{e:corres_p}, which is denoted as $\hat{q}$.
To push away $p$ and $\hat{q}$, we maximize the margin in two feature similarities by the following loss function:
\begin{equation}
	\begin{aligned}
		&\mathcal{L}_\text{n-shadow}^{t \rightarrow t+\delta }   = \\   & \frac{1}{N_t} \sum_{n=1}^{N_t}   \max \left( 0,
		\beta - | \mathbf{S}_{t \rightarrow t+\delta}(n,p) - \hat{\mathbf{S}}_{t \rightarrow t+\delta}(n,\hat{q}) | \right)  \ ,
	\end{aligned}
	\label{e:non_shadow_loss}
\end{equation}
where $\beta$ controls the margin between $\mathbf{S}_{t \rightarrow t+\delta}(n,p)$ and $\hat{\mathbf{S}}_{t \rightarrow t+\delta}(n,\hat{q})$.
In the same way, we can obtain the consistency regularization in the other way around, \emph{i.e.}, from $\mathbf{F}_{t+\delta}$ to $\mathbf{F}_{t}$, and we define the loss functions as $\mathcal{L}_\text{shadow}^{t+\delta \rightarrow  t}$ and $\mathcal{L}_\text{n-shadow}^{t+\delta  \rightarrow t}$.
Finally, shadow-consistent correspondence learning can be formulated as follows:
\begin{equation}
	\mathcal{L}_\text{sc} \ = \ \mathcal{L}_\text{shadow}^{t \rightarrow t+\delta } + \mathcal{L}_\text{n-shadow}^{t \rightarrow t+\delta } + \mathcal{L}_\text{shadow}^{t+\delta \rightarrow  t} + \mathcal{L}_\text{n-shadow}^{t+\delta  \rightarrow t} \ .
	\label{e:sac}
\end{equation}

\subsection{Brightness-invariant Correspondence}
\label{sec:BIC}
Due to the changes of brightness in a video,
the shadow and non-shadow regions in different frames may present similar appearance.
To learn brightness-invariant correspondence, we randomly shift the brightness of one frame and learn the brightness-invariant shadow consistency between the shifted frame and another frame in the same video~\cite{zhu2021mitigate}.
Formally, for two frames in a video,~\emph{i.e.}, $V_t$ and $V_{t+\delta}$, we randomly shift the intensity of $V_{t+\delta}$ to produce the shifted frame $V^{\prime}_{t+\delta}=V_{t+\delta}+\gamma$, where $\gamma \in [-\Delta, \Delta]$ is a randomly generated shift parameter and $\Delta$ is a hyper-parameter to control the shift range.
Next, we use the shadow-consistent learning to learn the cross-frame correspondence between $V_t$ and $V^{\prime}_{t+\delta}$, as introduced in Sec.~\ref{sec:sac}.
\subsection{Overall Objective}
The overall objective of our framework is defined as:
\begin{equation}
	\mathcal{L} \ = \ \mathcal{L}_\text{seg} + \lambda \mathcal{L}_\text{sc} \ ,
	\label{e:loss}
\end{equation}
where $\lambda$ is a hyper-parameter to control the trade-off between these two losses and $\mathcal{L}_\text{seg}$ is the segmentation loss to supervise the pixel-wise prediction.
The segmentation loss is different for different shadow detection works.
For example,~\cite{zheng2019distraction,zhu2021mitigate,chen2021triple}
adopt the binary cross entropy (BCE) loss as the segmentation loss:
\begin{equation}
	\mathcal{L}_\text{seg} \ = \ -\frac{1}{T} \sum_{t=1}^{T} \mathbf{Y}_t \cdot \log \left( \hat{\mathbf{Y}}_t \right)+\left(1-\mathbf{Y}_t\right) \cdot \log \left(1-\hat{\mathbf{Y}}_t\right),
\end{equation}
where $\mathbf{Y}_t$ and $\hat{\mathbf{Y}}_t$ are ground-truth and predicted shadow masks, respectively.
TVSD-Net~\cite{chen2021triple} uses BCE combined with a lovász-hinge loss~\cite{berman2018lovasz}.
In the experiments, to highlight the effectiveness of the proposed shadow-consistent correspondence, the segmentation loss keeps consistent with existing papers~\cite{zheng2019distraction,chen2021triple}.

\section{Experimental Results}
\subsection{Evaluation Metrics and Datasets.}
\label{sec:metrics}
\noindent{\bf Temporal stability.}
Compared with the previous works that only evaluates the performance on each single image (frame-level), in this paper, we introduce a new evaluation metric to evaluate the temporal stability across the video frames, motivated by~\cite{lai2018learning,varghese2020unsupervised}.
In detail, different from \cite{lai2018learning,varghese2020unsupervised} that compute the optical flow between RGB frames, we calculate the optical flow between the ground-truth labels of two adjacent frames,~\emph{i.e.}, $\mathbf{Y}_t$ and $\mathbf{Y}_{t+1}$ through ARFlow~\cite{liu2020learning}, since the motions of shadows are hard to be captured on the RGB frames.
For instance, the optical flows generated by RGB are focus on objects, which can not capture shadows
since the motions of shadows are hard to be captured on the RGB frames; see {\color{black}{supplementary materials}} for more details.
Then, assume $I_{t \rightarrow t+1}$ as the optical flow between $\mathbf{Y}_{t}$ and $\mathbf{Y}_{t+1}$, and we define the reconstructed result that warps $\hat{\mathbf{Y}}_{t+1}$ by the optical flow $I_{t \rightarrow t+1}$ as $\mathbb{Y}_{t}$.
\if 0
Due to the optical flow networks focus on motions of objectives instead of shadows, we capture optical flow between GT labels of two adjacent frames,~\emph{i.e.}, $\mathbf{Y}_t$ and $\mathbf{Y}_{t+1}$, different from \cite{lai2018learning,varghese2020unsupervised}, which compute the optical flow between RGB frames.
In this paper, we use ARFlow~\cite{liu2020learning} to extract optical flows.
Let $I_{t \rightarrow t+1}$ define the optical flow between $\mathbf{Y}_{t}$ and $\mathbf{Y}_{t+1}$.
Then, the reconstructed result that warping $\hat{\mathbf{Y}}_{t+1}$ by the optical flow $I_{t \rightarrow t+1}$ can be defined as $\mathbb{Y}_{t}$.
\fi
Next, we measure the temporal stability of VSD for a video based on the flow warping IoU between the adjacent frames as:
\begin{equation}
	\text{TS} \ = \ \frac{1}{T-1}\sum_{t=1}^{T-1} IoU(\hat{\mathbf{Y}}_{t}, \mathbb{Y}_{t}) \ .
\end{equation}

\noindent{\bf Frame-level accuracy.}
Except using the proposed evaluation metric to measure temporal stability, we follow the previous works~\cite{chen2021triple,zheng2019distraction,zhu2021mitigate} and adopt four common evaluation metrics that have been widely used in image/video shadow detection to evaluate the detection accuracy in frame-level.
Specifically, they are Mean Absolute Error (MAE)~\cite{chen2021triple}, F-measure ($F_\beta$)~\cite{chen2021triple,hu2021revisiting}, Intersection over Union
(IoU)~\cite{chen2021triple}, and Balance Error Rate (BER)~\cite{hu2018direction,zhu2021mitigate}.

\noindent{\bf Evaluation dataset.}
We conduct our experiments on the ViSha dataset~\cite{chen2021triple} to evaluate the performance.
ViSha consists of $11,685$ image frames and $390s$ duration, which is adjusted to $30$ fps for all video sequences.
This dataset is split into $50$ videos for training and $70$ videos for testing.
\begin{table}[t]
	\caption{{\bf Comparison with the state-of-the-art methods.} ``$\downarrow$'' indicates the lower the scores, the better the results, while ``$\uparrow$'' indicates the higher the scores, the better the results. ``AVG'' is the average score of IoU and TS, which presents the frame-level and temporal-level IoUs.
		``ISD'' and ``VSD'' stand for the single-image shadow detection and video shadow detection, respectively. ``SOD'' stands for salient object detection. ``VOS'' stands for video object segmentation. ``S-BER'' and ``N-BER'' stand for BER of shadow regions and non-shadow regions, respectively.}
	\centering
	\resizebox{1\columnwidth}{!}{

		\begin{tabular}{l | l | c c c c c c | c | c}

			& & \multicolumn{6}{c|} { \footnotesize \it Frame-level } & { \footnotesize \it Temporal-level}  & \\
			Task &  Method   & MAE  $\downarrow$ & F$_{\beta}$ $\uparrow$ & BER $\downarrow$ & S-BER $\downarrow$ & N-BER $\downarrow$ & IoU [$\%$] $\uparrow$ & TS [$\%$] $\uparrow$ & AVG $\uparrow$ \\
			\Xhline{2.0pt}
			\multirow{2}{*}{Scene Parsing} & FPN~\cite{lin2017fpn}  & 0.044 & 0.707 &  19.49 &	36.59 &	2.40 & 51.28  & 74.27 & 62.78\\
			& PSPNet~\cite{zhao2017pspnet} & 0.052 & 0.642 & 19.75 &	36.44   &3.07 & 47.65 & 76.63 & 62.14 \\
			\Xhline{1.0pt}
			\multirow{1}{*}{SOD} & DSS~\cite{hou2019dss} &  0.045 & 0.697 & 19.78 & 36.96  & 2.59& 50.28 & 75.02 & 62.65 \\
			\Xhline{1.0pt}
			\multirow{5}{*}{VOS} &  PDBM~\cite{song2018pdbm} & 0.066 &0.623  &19.74 &	34.32 &	5.16 &	46.65 & 80.00 & 63.33 \\
			&FEELVOS~\cite{voigtlaender2019feelvos} & 0.043 &	0.710 &	19.76 &	37.27 &	2.26 & 51.20 & 74.89 & 63.05 \\
			&STM~\cite{oh2019stm} & 0.064 & 0.639  &	23.77 &	43.88 &	3.65& 44.69 & 75.30 & 60.00 \\
			\Xhline{1.0pt}
			\multirow{5}{*}{ISD}  &BDRAR~\cite{zhu2018bidirectional}  & 0.050 & 0.695& 21.30 & 40.28 & 2.31 & 48.39  & 72.63 & 60.51\\
			&MTMT~\cite{chen2020multi} &   0.043 &	0.729 &	20.29 &	38.71 &	1.86 &	51.69 & 74.44 & 63.07\\

			&FSD~\cite{hu2021revisiting} & 0.057 &	0.671  &	20.57 &	38.06 &	3.06 &	48.56 & 74.88 &  61.72\\

			\cline{2-10}
			&DSD~\cite{zheng2019distraction} & 0.044 & 0.702 &	19.89 &	37.89 &	1.88 & 51.89 & 74.68&63.29 \\

			&DSD + ours  & 0.039 &0.730 &  15.15 & 27.78 & 2.52 & 58.40 & 78.03 & 68.22\\
			& - & \color{NavyBlue}\textbf{+0.05} & \color{NavyBlue}\textbf{+0.028} & \color{NavyBlue}\textbf{+4.65}&
			\color{NavyBlue}\textbf{+10.11} & \color{Peach}\textbf{-0.64} &  \color{NavyBlue}\textbf{+6.51}&\color{NavyBlue}\textbf{+3.35} & \color{NavyBlue}\textbf{+4.93}\\

			\Xhline{1.0pt}
			\multirow{3}{*}{VSD} & Hu~\emph{et al.}~\cite{hu2021temporal} & 0.078 & 0.683 & 17.03 & 30.13 &  3.93& 51.03 & 83.67&67.35\\
			\cline{2-10}
			&TVSD~\cite{chen2021triple} & 0.033 &	0.757  &17.70 &	33.97 &	1.45&56.57 & 78.25 &67.41 \\
			&TVSD + ours & 0.042 & 0.762 & 13.61 & 24.31 & 2.91 & 61.50 & 81.44 & 71.47\\
			& - & \color{Peach}\textbf{-0.09} & \color{NavyBlue}\textbf{+0.005} & \color{NavyBlue}\textbf{+4.09}&
			\color{NavyBlue}\textbf{+9.66} & \color{Peach}\textbf{-0.46} &  \color{NavyBlue}\textbf{+4.93}&\color{NavyBlue}\textbf{+3.19} & \color{NavyBlue}\textbf{+4.06}\\
	\end{tabular}}
	\label{tab:sota}
\end{table}
\subsection{Implementation Details}
Since our framework is a plug-and-play module that can be used in any shadow detectors, we insert our framework into two state-of-the-art methods on single-image shadow detection and video shadow detection, \emph{i.e.}, DSD~\cite{zheng2019distraction} and TVSD~\cite{chen2021triple}, for evaluation.
During the training process of our shadow-consistent correspondence module, $\lambda$ in Eq.~\ref{e:loss} and $\beta$ in Eq.~\ref{e:non_shadow_loss} are set to $10$ and $0.5$, respectively; please refer to Sec.~\ref{sec:ablation} for the analysis of $\lambda$.
$\Delta$ is used to control the range of the brightness shift and it is set to $0.3$ following \cite{zhu2021mitigate}.
Note, shifting brightness of frames will change the distribution of the images, resulting in degrading the detection performance~\cite{zhu2021mitigate}.
Hence, we only shift the brightness of the frames after 2,000 training iterations and freeze the batch normalization~\cite{santurkar2018does}; see {\color{black}{supplementary materials}} for more details.

\begin{figure}[t]
\makeatletter\def\@captype{figure}\makeatother
\begin{minipage}{0.48\linewidth}
\centering
	\includegraphics[width=1.0\columnwidth,height=0.22\textheight]{fig_balance.pdf}
	\caption{
		{\bf Trade-off between temporal and frame-level accuracy.}
		%
	}
	\label{fig:trade-off}
\end{minipage}
 \hfill
\makeatletter\def\@captype{table}\makeatother
\begin{minipage}{0.50\linewidth}
\centering
\caption{{\bf Comparison of the supervised contrastive learning and ours}.
	Baseline is DSD~\cite{zheng2019distraction}. ``SCon" indicates the supervised contrastive learning. ``Ratio" indicates the ratio of the found correspondence in the shadow regions. ``AVG" refers to the average score of IoU and TS.
	}
	\resizebox{0.75\columnwidth}{!}{
		\begin{tabular}{   c | c | c }

		   Method & Ratio $\uparrow$ & AVG $\uparrow$ \\
			\Xhline{2.0pt}
		Baseline	&  36.71 & 63.29 \\
		Baseline + \cite{xu2021rethinking} & 82.33 & 66.17 \\
		Baseline + SCon & 85.30 & 65.13\\
		Baseline + Ours & 85.12 & 68.22\\
	\end{tabular}}
	\label{tab:scl&ours}
\end{minipage}
\end{figure}

\begin{figure}[t]
	\centering
	\includegraphics[width=1.0\columnwidth,height=0.18\textheight]{fig_corres.pdf}
	\caption{
	    Visualization of the correspondence found by different models.
		Note that Baseline is DSD~\cite{zheng2019distraction}. We sample five pixels in one frame and find their correspondence in the other one.
	}
	\label{fig:corres}
\end{figure}
\begin{figure} [tp]
	\centering
	\includegraphics[width=1.0\columnwidth,height=0.28\textheight]{fig_qualitive.pdf}
	\caption{
		Visual comparison of video shadow detection results produced by different methods. (a) is the input images and (b) is the ground-truth (GT) images. (c)-(f) are the results predicted by DSD~\cite{zheng2019distraction}, TVSD~\cite{chen2021triple}, Hu~\emph{et al.}~\cite{hu2021temporal}, and our method, respectively. Our method takes the DSD as the basic network. Note that \textcolor{red}{red boxes} indicate the inconsistent predictions across video frames, \textcolor{blue}{blue boxes} indicate the inaccurate static predictions, and \textcolor{green}{green boxes} show the blurry predictions.
	}
	\label{fig:qualitive}
\end{figure}
\subsection{Comparison with the State-of-the-art Methods}
We conduct the experiments on ViSha~\cite{chen2021triple} to compare with the state-of-the-art methods designed for scene parsing, salient object detection, video object segmentation, single-image shadow detection, and video shadow detection; please see the compared methods in Table~\ref{tab:sota}.
We obtain the results of these methods by retraining them on the ViSha dataset for video shadow detection with the recommendation training parameters or by downloading their results directly from Internet.

Table~\ref{tab:sota} provides the comparison results, which clearly shows that our proposed method can largely improve the performance of both single-image and video shadow detection approaches,~\emph{i.e.}, DSD~\cite{zheng2019distraction} and TVSD~\cite{chen2021triple}, in terms of both frame-level and temporal-level accuracy.
DSD is designed for single-image shadow detection and our approach improves the performance a lot by further considering the dense correspondence among different video frames.
Although TVSD is designed for video shadow detection and has explored the temporal consistency in videos, our method further explores the shadow-region correspondence and learns the brightness-invariant features.
Besides, our method achieves the best trade-off on both temporal-level and frame-level accuracy, as shown in Fig.~\ref{fig:trade-off}.

Fig.~\ref{fig:qualitive} illustrates the visual comparison of the shadow masks produced by DSD~\cite{zheng2019distraction}, TVSD~\cite{chen2021triple}, Hu~\emph{et al.}~\cite{hu2021temporal}, and ours.
From the results, we can see that our method provides more accurate and consistent shadow detection results across different videos frames than others.
More examples and failure cases please refer to {\color{black}{supplementary materials}}.

\noindent{\bf Comparison of the supervised contrastive learning, unsupervised correspondence learning and our SC-Cor.}
Specifically, for the sampled pixel of one frame, we find the most correlated pixel in the other frame and denote the found pixel as its correspondence.
It is clear that the correspondences found by the baseline would be in dark non-shadow regions.
Those found by the supervised contrastive learning would only focus on the shadow regions with similar textures.
For unsupervised correspondence learning, we select \cite{xu2021rethinking}, a recently SOTA, for comparison.
It is clear that ours outperforms [47].
In order to further evaluate the effect of our method, we report the ratio of the found correspondence in ground truth masks and the average performance in Table~\ref{tab:scl&ours}.
The results show that our method can largely improve the accuracy of found correspondence,~\emph{e.g.}, over $43.41\%$ on DSD~\cite{zheng2019distraction}.
Although the ratio of correspondences found by supervised contrastive learning in ground-truth is high, the generated shadow mask may be incomplete; see Fig.~\ref{fig:corres}~(c).
\subsection{Ablation Study}
\label{sec:ablation}
We conduct ablation experiments to show how each module in our framework design contributes to video shadow detection.
We regard DSD~\cite{zheng2019distraction} as our baseline module in this section.
All the detection results are reported on the testing set of the ViSha dataset~\cite{chen2021triple}.
\begin{table}[tp]
	\caption{{\bf Ablation on the effectiveness of SC-Cor and BS}. ``SC-Cor'' indicates the shadow-consistent correspondence and ``BS'' indicates the brightness shift operation.}
	\centering
	\resizebox{0.85\columnwidth}{!}{
		\begin{tabular}{ l|  c c | c c c | c | c }

&	& &\multicolumn{3}{c|}{ \footnotesize \it Frame-level}&  { \footnotesize \it Temporal-level}  & \\
		Method&	SC & BS & MAE $\downarrow$  & BER $\downarrow$  & IoU [$\%$] $\uparrow$ & TS [$\%$] $\uparrow$ & AVG $\uparrow$ \\
			\Xhline{2.0pt}
	Baseline &		\XSolidBrush & \XSolidBrush & 0.044 &	19.89 & 51.89 & 74.68 & 63.29 \\
 Ours (SC-Cor)	&		\Checkmark  & \XSolidBrush& 0.040 &15.67 &	56.89	&77.09	&67.00 \\
Ours (BS) &		\XSolidBrush   & \Checkmark  &  0.043 & 16.82 & 53.65& 74.92	& 64.29 \\
Ours (Full)	&		\Checkmark &  \Checkmark & {\bf 0.039} & {\bf 14.89} & {\bf 58.40} & {\bf 78.03} & {\bf 68.22}\\
	\end{tabular}}
	\label{tab:sac_bi}
\end{table}
\begin{table}[t]
 \caption{\textbf{Ablation Study on Shadow-consistent correspondence}.}
    \vspace{-2.5mm}
     \begin{subtable}{0.48\columnwidth}

    \caption{{\bf Bidirectional correspondence}. ``Bi-D'' refers to the bidirectional correspondence, which has been defined by $t \rightarrow t +\delta $ and $ t +\delta \rightarrow t$ in Eq.~\ref{e:sac}. }
	\resizebox{1.0\columnwidth}{!}{
		\begin{tabular}{   c  | c c | c | c }

			&\multicolumn{2}{c|}{ \footnotesize \it Frame-level}&  { \footnotesize \it Temporal-level}  & \\
			Bi-D   & BER $\downarrow$  & IoU [$\%$] $\uparrow$ & TS [$\%$] $\uparrow$ & AVG $\uparrow$ \\
			\Xhline{2.0pt}
			\XSolidBrush & 15.54 & 57.25 & 77.08 & 67.17 \\
			\Checkmark & {\bf 14.89} & {\bf 58.40} & {\bf 78.03} & {\bf 68.22} \\
	\end{tabular}}
	\label{tab:bid}
    \end{subtable}

    \begin{subtable}[t]{0.66\columnwidth}
    \end{subtable}
     \begin{subtable}[t]{0.66\columnwidth}
    \end{subtable}
    \vspace{-2.5mm}
     \begin{subtable}{0.52\columnwidth}

      \caption{{\bf Consistency regularization}.``Shadow'' and ``N-Shadow'' indicate the regularization method described in Eq.~\ref{e:shadow_loss} and Eq.~\ref{e:non_shadow_loss}.}
	\resizebox{1.0\columnwidth}{!}{
		\begin{tabular}{   c  | c c | c | c }

			&\multicolumn{2}{c|}{ \footnotesize \it Frame-level}&  { \footnotesize \it Temporal-level}  & \\
			& BER $\downarrow$  & IoU [$\%$] $\uparrow$ & TS [$\%$] $\uparrow$ & AVG $\uparrow$ \\
			\Xhline{2.0pt}
			Shadow &	15.67& 57.18	&76.89 & 67.04\\
			N-shadow	 & 15.79&	57.09&	76.72 & 66.91 \\
			Full	 &{\bf 14.89} & {\bf 58.40} & {\bf 78.03} & {\bf 68.22}\\
	\end{tabular}
	}
	\label{tab:cr}
    \end{subtable}
    \label{tab:ablation}
\end{table}

\paragraph{\bf Effectiveness of SC-Cor and BS.}
Table~\ref{tab:sac_bi} reports the effectiveness of the shadow-consistent correspondence (SC-Cor) and the brightness shift (BS) operation.
Training with SC-Cor, we can see a clear improvement in terms of both frame-level accuracy and temporal accuracy,~\emph{i.e.}, $4.22$ on BER and $2.40\%$ on TS.
It is worth noting that only adopting with BS cannot obtain the clear improvement on the temporal stability,~\emph{i.e.}, $74.92\%$ vs. $74.68\%$, due to the lack of exploring temporal information.
By combining with both SC-Cor and BS, the model achieves the best performance.

\paragraph{\bf Bidirectional correspondence and consistency regularization.}
Table~\ref{tab:bid} reports the results of bidirectional correspondence in Eq.~\ref{e:sac} and shows the effectiveness of the designed bidirectional correspondence.
Furthermore, we perform the ablation study on the shadow and non-shadow consistency regularization in Table~\ref{tab:cr}, showing that the the combination of them achieves the best results.

\paragraph{\bf Multiple frames and Frame interval.}
We integrate our SC-Cor with multiple pairs of frames in a video and analyze the effectiveness in Table~\ref{tab:multi_frame}.
We observe that training with more frames brings a slight improvement on both frame-level and temporal-level accuracy.
Considering the training efficiency, we choose two pairs of frames.
Furthermore, we study the frame sampling strategy and report the detection results in Table~\ref{tab:frameinterval}.
It is clear that the longer time interval achieves the higher temporal stability while the short one performs better in frame-level accuracy.
For instances, $\delta=1$ achieves the best BER,~\emph{i.e.}, $14.51$, and the lowest TS,~\emph{i.e.}, $76.94\%$.
On the contrary, $\delta=7$ obtains the best TS performance $78.23\%$.
In this paper, we set $\delta$ as five to balance the temporal-level accuracy and the frame-level accuracy.

\begin{table}[t]
 \caption{\textbf{Ablation Study on different frame setting}.}
      \begin{subtable}[t]{0.5\columnwidth}
      \caption{{\bf Multiple frames}. ``Frame number'' denotes the number of sampled frames.}

	\resizebox{1.0\columnwidth}{!}{
		\begin{tabular}{   c  | c c | c | c }

			\multirow{2}{*}{\makecell[c]{Frame \\ number}}   &\multicolumn{2}{c|}{ \footnotesize \it Frame-level}&  { \footnotesize \it Temporal-level}  & \\
			& BER $\downarrow$  & IoU [$\%$] $\uparrow$ & TS [$\%$] $\uparrow$ & AVG $\uparrow$ \\
			\Xhline{2.0pt}
			2    & 15.91 &  58.06 &  77.96 &  68.01\\
			3 & 15.86 &	58.28 &	78.46	& 68.37 \\
			4 & {\bf 15.82} &	{\bf 58.26}	& {\bf 78.51}	 & {\bf 68.39} \\
	\end{tabular}}
	\label{tab:multi_frame}
    \end{subtable}

     \begin{subtable}[t]{0.66\columnwidth}
    \end{subtable}
     \begin{subtable}[t]{0.66\columnwidth}
    \end{subtable}
     \begin{subtable}[t]{0.66\columnwidth}
    \end{subtable}

     \begin{subtable}[t]{0.47\columnwidth}

      \caption{{\bf Frame interval $\delta$}.

      }
	\resizebox{1.0\columnwidth}{!}{
		\begin{tabular}{   c  | c c | c | c }

			&\multicolumn{2}{c|}{ \footnotesize \it Frame-level}&  { \footnotesize \it Temporal-level}  & \\
			$\delta$ & BER $\downarrow$  & IoU [$\%$] $\uparrow$ & TS [$\%$] $\uparrow$ & AVG $\uparrow$ \\
			\Xhline{2.0pt}
			1&	{\bf 14.51} & {\bf 58.62}& 76.94 & 67.78\\
			3 & 14.73 & 58.55	& 77.23	 & 67.89 \\
			5 & 14.89 & 58.40 &  78.03 & {\bf 68.22} \\
			7 &15.64&	57.12	& {\bf 78.23}	& 67.68\\
	\end{tabular}}
	\label{tab:frameinterval}
    \end{subtable}

    \label{tab:frame}
\end{table}

\section{Conclusion}

In this paper, we present a novel and plug-and-play shadow-consistent correspondence (SC-Cor) method for video shadow detection (VSD).
A shadow-consistent correspondence is formulated to enforce the network to learn temporal-consistent shadows. A brightness shifting operation is employed to further regularize the network to be brightness-invariant.
Considering current metrics only evaluate the frame-level accuracy, we introduce a new temporal stability metric, namely TS, for VSD.
Experimental results on the benchmark dataset prove that our SC-Cor outperforms various shadow detection methods.

\section*{Acknowledgement}
This work was supported by a research grant from HKUST-BICI Exploratory Fund under HCIC-004 and a research grant from Foshan HKUST Projects under FSUST21-HKUST11E.

\clearpage
\bibliographystyle{splncs04}

\subsection*{1. Training Details}
Following the previous works~\cite{chen2021triple,zheng2019distraction}, we initialize the backbone with weights pretrained on ImageNet~\cite{deng2009imagenet}.
In each training iteration, the input images are resized to a resolution of $416 \times 416$ for TVSD~\cite{chen2021triple} and $320 \times 320$ for DSD~\cite{zheng2019distraction}.
Following~\cite{chen2021triple,zheng2019distraction}, we randomly apply horizontal flipping for samples in the training phase.
The model is built with Pytorch~\cite{pytorch} and is trained by two NVIDIA 3090 GPUs.

\subsection*{2. Ablation Study}

\noindent{Grid size $L$.} Table~\ref{tab:grid_size} reports the results of using different grid sizes~$L$ (see Eq.~4 in the paper).
The results show that large grid size improves the performance, where more correlations of pixels are extracted.
We set $L$ as 17$\times$17 as the default setting in other experiments, since the performance gain is limited when $L$ goes beyond 17$\times$17.

\begin{figure} [tp]
	\centering
	\includegraphics[width=1.0\columnwidth,height=0.15\textheight]{fig_lambdabeta.eps}
	\caption{
	   The average score of IoU and TS of different (a) $\lambda$ defined in Eq.~9 and (b) $\beta$ defined in Eq.~7.
	}
	\label{fig:lambdabeta}
\end{figure}

\noindent{\bf Hyper-parameter $\lambda$ and $\beta$.} We compare the average score of IoU and TS of different $\lambda$ in Eq.~9 and $\beta$ in Eq.~7 in Fig.~\ref{fig:lambdabeta}.
$\lambda=0$ provides a baseline model that does not adopt the SC-Cor loss.
After we increase the weight of SC-Cor learning objective, we can clearly improve the performance, showing the effectiveness of the proposed SC-Cor.
Finally, we achieve the best results by setting $\lambda$ as ten and we use this value in other experiments.
With the $\beta$ increasing, the performance of video shadow detection first increases and then becomes stable.
As shown in Table~\ref{fig:lambdabeta}~(b), our method can achieve the best performance when $\beta$ is 0.5.
\begin{table}
	\caption{{\bf Ablation on grid size $L$}. Larger grid size brings higher performance. We set the grid size as 17$\times$17 in other experiments.
	\centering
	\resizebox{0.85\columnwidth}{!}{
		\begin{tabular}{   c  | c c | c | c }

			&\multicolumn{2}{c|}{ \footnotesize \it Frame-level}&  { \footnotesize \it Temporal-level}  & \\
			$L$ & BER $\downarrow$  & IoU [$\%$] $\uparrow$ & TS [$\%$] $\uparrow$ & AVG $\uparrow$ \\
			\Xhline{2.0pt}
			13$\times$13 & 17.45 & 56.98 & 77.27 & 67.13 \\
			15$\times$15 & 16.24 & 57.26 & 77.47 & 67.37\\
			17$\times$17  &  14.89 & 58.40 & 78.03 &  68.22 \\
			19$\times$19  &  14.79 &  58.33 &  78.12&  68.24\\
	\end{tabular}}
	\label{tab:grid_size}
\end{table}
\subsection*{3. Visualization Results}
\begin{figure*} [tp]
	\centering
	\includegraphics[width=1.0\columnwidth,height=0.48\textheight]{fig_supply.eps}
	\caption{
		Visual comparison of video shadow detection results produced by different methods. (a) is the input images and (b) is the ground-truth (GT) images. (c)-(f) are the results predicted by DSD~\cite{zheng2019distraction}, TVSD~\cite{chen2021triple}, Hu~\emph{et al.}~\cite{hu2021temporal}, and our method, respectively. Our method takes the DSD as the basic network.

	}
	\label{fig:qualitive}
\end{figure*}
\begin{figure*} [tp]
	\centering
	\includegraphics[width=1.0\columnwidth,height=0.15\textheight]{fig_failure.eps}
	\caption{
		Failure cases predicted by different models. (a) is the input images and (b) is the ground-truth (GT) images. (c)-(f) are the results predicted by DSD~\cite{zheng2019distraction}, TVSD~\cite{chen2021triple}, Hu~\emph{et al.}~\cite{hu2021temporal}, and our method, respectively. Our method takes the DSD as the basic network.

	}
	\label{fig:failure}
\end{figure*}
Fig.~\ref{fig:qualitive} shows the visual comparison of video shadow detection results produced by different methods.
Notably, our method can predict more consistent and accurate detection results than other existing methods.

\begin{figure}[tp]
    \centering
    \includegraphics[width=0.8\columnwidth,height=0.15\textheight]{fig_optical.pdf}
    \caption{Comparison of the optical flows generated by RGB and ground-truth (GT) labels.}
    \label{fig:optical}
\end{figure}

\subsection*{4. Comparison of optical flows}
Since the motions of shadows are hard to be captured on the RGB frames (Line387), we use consecutive GT labels.
The optical flows generated by RGB are focus on objects, which can not capture shadows; see Fig.~\ref{fig:optical}.
We also use optical flow computed by RGB frames to compute TS: DSD = 62.3\% TVSD = 51.5\%. This result is not reasonable, since TVSD is the SOTA for video shadow detection while DSD is for image. Will add the comparison in paper.

\subsection*{5. Failure Cases}
We present some failure cases in Fig.~\ref{fig:failure}.
Our method may misclassify dark objects as shadow regions when dark objects occupy the whole image.
However, compared with other state-of-the-art methods, our method can achieve better performance.

\clearpage
\bibliographystyle{splncs04}

redpajama_set_name: RedPajamaArXiv


The princess cut style is a relatively new trend in the diamond trade, but one that has quickly grown in popularity to become the second most famous type of diamond cut in jewellery today. The clean flowing lines and angles of this cut are designed to enhance the sparkle of the diamonds. Princess cut diamonds bring a touch of modern sensibility to traditional looks.
At Aariya Diamonds, we've been in the jewellery trade for years now, currently based at a retail store in the famed jewellery quarter of Birmingham. Princess cut wedding rings and diamond engagement rings are among our top sellers, and it's easy to see why.
When you tell someone you want to spend the rest of your life with them, not many jewellery items can compare to the dazzling magnificence of these diamond rings. Diamonds are a girl's best friend, after all!


If you've been following my Instagram, you know I'm still working away at the triptych of precious pets I was posting about last week. Today I wanted to share a photo and a vide of one of the three.
This adorable dog is named Sam, and I think he could very well be related to my Miranda. His ears are just like hers, but he's just a different color. Possibly distant cousins? One can only hope...especially if he's as sweet a dog as she is.
Last night, I posted a video of myself working on the painting of Sam. Unfortunately it's pretty dark, but I never thought about doing such a thing, so maybe today I'll make one of myself working on the portrait of his sister, Mary Todd Lincoln.
Check out the video embedded below!
And, here's what Sam's painting looks like so far. Don't worry, I'll keep you updated as things progress!


text:
Burton's Solo Book Blast
We have the latest book in the Elder Darrow Mystery Series. Book #3. Check them all out and give them a try. Enjoy.
An Elder Darrow Mystery, Book 3
Publisher: Encircle Publications
When Dan Burton beats up Antoine Bousquet, the clothing designer suspect in the murder of two Chinese seamstresses, he jeopardizes his job as a homicide detective and his life. Bousquet is released without bail because of Burton's mistake. When Bousquet turns up dead, beaten and tortured, Burton becomes the prime suspect. The department's Internal Affairs inspectors, Bousquet's live-in lover, several Russian gangsters, and the kingpin of the Boston underworld are all looking for Burton. But Elder Darrow, his best friend and proprietor of the Esposito bar, hides Burton and helps save his position on the Boston Police Department and rescue him from death. In the process, they expose an evil scheme by which illegal immigrants were effectively enslaved to work in Antoine Bousquet's sweat shops.
Other Books in the Elder Darrow Mystery Series:
In Solo Time
An alcoholic walks into a bar . . . and buys it. At the urging of his sometimes lover and sometimes drinking partner Jacquie Robillard, Elder Darrow uses the last of the money from the trust fund his mother left him to buy the Esposito, a bucket-of-blood bar in Boston that he plans to turn into a jazz nightclub. But before he can turn the place around, the body of Timmy McGuire, a jazz guitar player, shows up on the small stage at the Esposito, stabbed to death.
Dan Burton, a Boston Homicide detective, likes Jacquie for the murder. She had a contentious relationship with the guitar player (and a few other men along the way). But one of the other men Jacquie is involved with is the son of an old-line Boston landlord with political designs on the commonwealth's governorship. Burton arrests Jacquie for Timmy McGuire's murder but Elder is certain something darker and deeper than a lover's quarrel is at stake.
Jacquie is released on bail. When she shows up dead, Elder is drawn into a conspiracy going back to Timmy's childhood, an arson in the three-decker in Mattapan where he grew up, and the unraveling of a political conspiracy. Elder's need to solve Timmy's murder peaks when his jazz singer lady friend, Alison Somers, is kidnapped by the perpetrators. In the end, he has to solve the mystery and rescue Alison without the help of the police or anyone else.
Solo Act
An alcoholic walks into a bar . . . and buys it. In this amateur sleuth mystery, Elder Darrow uses the last of the money from the trust fund his mother left him to buy the Esposito, a bucket-of-blood bar in Boston, hoping to turn it into a jazz nightspot. Though he knows that working in a bar is going to test his sobriety, he's relying on the support of his ex-lover, a jazz singer named Alison Somers.
The two of them split when Alison moved to New York to further her career but before she left, the two of them made a pact: he'll stay off the booze if she keeps taking her antidepressants, which keep her from another suicide attempt. Then one day Elder hears that Alison has killed herself by diving out her apartment window.
With his sobriety threatened, he follows an instinct that says she wouldn't have quit taking her meds, or killed herself, without talking to him first. Along the way, Elder encounters a beautiful collector of jazz memorabilia, a Native American gangster with aspirations to management, and a bomb-throwing piano player, as well as the usual stresses and strains of running a bar. But with the reluctant help of his friend Dan Burton, a homicide cop, Elder investigates and exposes the conspiracy of local thugs, corrupt physicians, and shipments of pharmaceuticals of questionable quality, proving that Alison was murdered and who was responsible.
Richard Cass is the author of the Elder Darrow jazz mystery series: Solo Act was a finalist for the 2017 Maine Literary Awards in Crime Fiction. Its prequel, In Solo Time, won the 2018 Maine Literary Award in Crime Fiction. The third book in the series, Burton's Solo, was released November 1. Cass serves on the board of Mystery Writers of America's New England Chapter.
Cass holds a graduate degree in writing from the University of New Hampshire, where he studied with Thomas Williams, Jr. and Joseph Monninger. He has also studied with Ernest Hebert, Ursula K. LeGuin, and Molly Gloss. He has been an Individual Artist's Fellow for the state of New Hampshire and a Fellow at the Fishtrap Writers' Conference in Oregon. His fiction and nonfiction have appeared in Playboy, Gray's Sporting Journal, ZZYZVA, and Best Short Stories of the American West. Cass lives in Cape Elizabeth. Visit: rjcassbooks.com.
Promo Link
Posted by John Zukowski at 7:00 PM
Labels: book blast
The Crown of Stones Book Blast and Giveaway
Tick Cooper Book Blast and Excerpt
PAW Patrol: Ultimate Rescue DVD #Giveaway
Welch's Easter Fruit Snack Giveaway
The Great Devil War Book Blast and Giveaway
The Other Angel Book Blast
Dying on Edisto Book Blast and Giveaway
Beware of Memories Book Blast and Excerpt
Alyssa McCarthy's Magical Missions Series Book Bla...
Orexi! Book Blast and Giveaway
Spring Break $500 Instagram Giveaway
Mamma's Moon Book Blast and Giveaway
#SpringIntoHomeDepot Giveaway
Darkness Falls Book Blast and Giveaway
The Last Day for Rob Rhino Book Blast and Giveaway
Magformers NEW Animal Jumble 60 Piece Set Giveaway
The Last Humans Book Blast and Excerpt
End of Summer Book Blast and Giveaway
The Dragon Sea Chronicles Book Blast and Giveaway
Earth Day Celestial Buddies Giveaway
The Last Caliph Book Blast
Once Upon A Murder Book Blast and Giveaway


text:
Q: Meaning error: Error in if (m < n * p && (m == 0L || (n * p)%%m)) stop(sprintf(ngettext(m, : I am trying to add a column to a dataframe but get a weird error-message:

Error in if (m < n * p && (m == 0L || (n * p)%%m)) stop(sprintf(ngettext(m,  :
    missing value where TRUE/FALSE needed
  In addition: Warning messages:
  1: In n * p : NAs produced by integer overflow
  2: In n * p : NAs produced by integer overflow

I am executing the line:   data[ ,extra_columns] <- 0
Where 'extra_columns' is a character vector. This worked before.
Does anybody knows this problem?
Thanks!


text:
American Landmark Acquires 360-Unit Elan 99 West Apartment Community in Suburban Houston
HOUSTON, TX - American Landmark Apartments, one of the fastest-growing multifamily owner-operators in the country, has acquired Elan 99 West, a 360-unit multifamily community in the suburban Houston community of Katy, Texas. The property will undergo a $1.35 million capital improvements project program and be renamed Elite 99 West.
The acquisition raises American Landmark's portfolio of properties in Texas to 36, with 12 properties in Houston. The company currently owns and manages approximately 28,000 apartments throughout the Southeast and Texas, and is past its halfway goal of adding $2 billion in assets to its multifamily portfolio this year.
"Houston remains an exceptional market to invest in, with July data from the U.S. Bureau of Labor Statistics illustrating its lead in year-over-year job growth nationwide," said Christine DeFilippis, Chief Investment Officer of American Landmark. "Among the 12 largest MSAs in the country, Houston reported an annual job growth rate of 3 percent, double the national average of 1.5 percent over the same time period. In addition to this job growth, the Katy Independent School District (ISD) has grown 19 percent over the past five years, ranking No.1 out of the largest Texas districts and demonstrating a flight to quality including affordability, good schools, and job access."
Senior Managing Director Mitch Sinberg and Associate Director Matthew Robbins of Berkadia's Boca Raton office, alongside Senior Managing Director Robert Falese and Senior Director Matthew Cullison of Berkadia's Philadelphia office, arranged the financing on behalf of American Landmark.
American Landmark plans to implement a variety of capital improvements throughout the property, including smart locks, kitchen undermount lighting, exterior ceiling fans and upgrades to site amenities, as well as landscape beautification.
Built in 2016, Elan 99 West is located at 23400 Kingsland Boulevard. One-, two- and three-bedroom units include quartz countertops, full-size washer/dryer, garden tubs with separate showers, private patios and yards, walk-in closets and wood flooring. Community amenities include an infinity pool with lounge seating, lake with jogging path, fitness center, aqua lounge massage room, outdoor kitchen and lounge and clubhouse.
Located in Katy within the Houston MSA, Elan 99 West is situated about five minutes away from Katy Mills Mall, offering a variety of dining, entertainment and retail options. Grand Parkway is less than five minutes from the asset, providing direct access to Interstate 10 and the greater Houston area.
American Landmark Apartments/Electra America is one of the fastest-growing multifamily owner-operators in the United States, with a current portfolio consists of approximately 28,000 units in Florida, Georgia, North Carolina, South Carolina and Texas.
Source: American Landmark / #Apartments #Multifamily


Geothermal power plants are in many ways similar to conventional thermal powerplants. Even though the basic thermal system is the same, there are certain differences in the components. This article takes a look at the components of a geothermal power plant.
Geothermal power is power generated by geothermal energy. Technologies in use include dry steam power stations, flash steam power stations and binary cycle power stations. ... the largest group of geothermal power plants in the world is located at The Geysers, a geothermal field in California.
The largest group of geothermal power plants in the world is located at The Geysers, a geothermal field in California. The Philippines is the second highest producer, with 1,904 MW of capacity online.
functional block diagram of power plants, ... Nov 28, 2017 . There are three basic types of geothermal power plants: . steam, flash steam, and binary cycle power plants are shown in the diagrams below. ... WORKING PRINCIPLE 5.SPECIFICATION OF SMPS POWER PLANT 6.SPECIFICATION FOR MODULE 7.FUNCTIONAL DESCRIPTION OF POWER SYSTEM 8.
Power Plant Electrical Distribution Systems Gary W Castleberry, PE Course Description This one hour course provides an introduction to the design of electrical ... The following one-line diagram shows a typical power plant electrical distribution system.
Basics. Updated by Leslie Blodgett GEA 2014. ... This means a geothermal plant with a smaller capacity than a solar or wind plant can provide more actual, delivered electricity. ... Figure 5: Flash Power Plant Diagram, Photo: Dixie Valley, NV, Flash Plant.
The first geothermal power plant was built in 1904 in Tuscany, Italy, where natural steam erupted from the earth. ... The differences between dry steam, flash steam, and binary cycle power plants are shown in the diagrams below. Source: U.S. Department of Energy, Energy Efficiency & Renewable Energy (public domain) Also on Energy Explained.
FIGURE 9: T-h diagram of an ORC cycle with regeneration 5. REGENERATION Regeneration will increase the power plant efficiency. Then a part of the rejected heat is recovered for input to the power plant. If the plant were run on fuel, this would lead to direct fuel savings. This is not the case in geothermal power production.
Geothermal Power Station Diagram Written by James Bratley Last updated on Oct 24, 2017 Below is a diagram of a geothermal power station, this diagram outlines the basic design of a dry steam power plant.


The murder ballad is an art form designed to haunt and captivate, thrill and unsettle. From Leadbelly's "Frankie and Albert" to Willie Nelson's "Red Headed Stranger," It has narrated countless killings gong back centuries, offering music's most literal tales of romance and violence. Some would say it's a lost art. Colter Wall would disagree.
The 21-year-old Canadian troubadour with the breathtaking baritone visited the Paste Studio recently to perform tracks from his debut self-titled record, released earlier this month. His third song of the day, "Kate McCannon," told the story of an honest guy who quits his rambling to settle down with his beloved, only to find her out by the creek with another man. Wall described why these dark stories of jealousy and rage move music fans so much.
Wall also performed lead single "Thirteen Silver Dollars," plus "Motorcycle" and a haunting cover of Townes Van Zandt's "Snake Mountain Blues." Check out the full session below.


text:
Cynric
Cenric
A Saxon warrior and ruler. The son of the Saxon warrior Cerdic, he arrived with his father in Britain in 495.
They won a battle against the Britons in that year, at Cerdicesora; in 508, at which a British king named Natanleod (Nathaliodus) was killed; in 519 at Charford on the river Avene; in 527 at Cerdicesleag; in 530 at the Isle of Wight; and in 552 at the town of Salisbury.
Cynric had a son named Ceawlin. He would have been a contemporary (and adversary) of Ambrosius, Uther, or Arthur.


text:
Donald Trump rallies led to hate crime rise, researchers say
Three different research groups across the United States have found that there was a 226 percent increase in hate crimes in counties that hosted Donald Trump rallies in 2016, The Washington Post reports. By using the Anti-Defamation League's Hate, Extremism, Anti-Semitism Terrorism map data, the researchers looked at whether there had been increases in rates of hate crimes in the months after a Trump rally. And the counties that host Donald Trump's rallies are known to have higher hate crime ratings than those who did not. The researchers insisted that they were not accusing the President or his supporters of provoking the crimes. "We included controls for factors such as the county's crime rates, its number of active hate groups, its minority populations, its percentage with college educations, its location in the country and the month when the rallies occurred," they clarified. The researchers also point out that hate crimes across the United States appear to have increased by 17 percent during 2016, if to rely on the statistic data from the FBI.
Previous articleTom Daley teaches son to swim
Next articleIrish Senator believes 'gay cure therapy' should be a choice, but only if it does not harm
Tennessee is the first USA state to legally protect trans people
Vicky Beeching calls Evangelical Alliance to stop misinforming people about her...
Canada University is under fire for gender pronoun debate
A new fund is launched to help transgender campaigners across the...
Whoopi Goldberg presented a trailer of her transgender model show
Donald Trump to meet a homophobic leader
Orlando shooting survivor sues club owners and the local police
Stonewall demands the new British passports to be non-binary inclusive
Philippines' president asks human rights watchdog whether he is gay or...
Trump's plan to let doctors deny trans people in treatment is...


text:
What are the boundaries of the Jade District?
Home/Uncategorized/What are the boundaries of the Jade District?
The Jade District was recognized as a Neighborhood Prosperity Initiative in 2013. Prosper Portland (then the Portland Development Commission) identified the neighborhood around SE 82nd and Division Street as an area poised for development but also at risk of rapid gentrification and displacement of the residents and businesses that currently reside in the neighborhood.
As a program that operates in the neighborhood, we're often asked: what are the boundaries of the Jade District? Our approach is to focus on the needs of folks that are connected to this area and are most impacted by changes and decisions made by the City of Portland. For much of our work in community development, we would never turn people looking for support or resources simply because they lived on the wrong side of a street or an imaginary boundary. We do tend to focus our efforts in terms of outreach, time and resources on the area bounded by 82nd Ave and I-205 on the west and east, and then SE Division and SE Powell on the north and south. This area is part of a census tract that is one of the most diverse places in the state of Oregon, and it reflects a history of underinvestment, including being parks deficient and surrounded by some of the most dangerous streets in the City of Portland.
Our work does include formal boundaries for some of our resources. As a Neighborhood Prosperity Initiative, our program is responsible for investing Tax Increment Financing dollars (TIF dollars) into the commercial area. We operate as a micro-urban renewal district, with a core feature that our Jade District Steering Committee, comprised of volunteers that live, work and own businesses in the neighborhood have control and ultimate authority over the investment of these funds. These dollars will total about $1 million dollars of investment into the commercial district over a period of approximately 10 years, and we are legally required to invest these funds into capital improvement projects within a specific boundary. You can find the map of that boundary here.
A good example of a TIF project that we invested in includes a storefront improvement for Van Hanh, a vegetarian restaurant run by nuns from a local Vietnamese temple serving vegetarians and buddhists in the area. We invested $10,000 into helping the business remodel, including new siding, paint, and a new sign. In exchange, the property owner agreed to stabilize the rent for that business.
For the rest of our projects, including the Jade District International Night Market, our partnership at the local community garden, and our organizing projects with residents and businesses, we do not adhere to these boundaries and instead focus on the investments that will help stabilize our community the most!
By Maiyee|2019-10-01T15:09:56-08:00June 26th, 2017|
❗ Calling Asians and Pacific Islanders❗ This is your chance to tell your story. Join @APANONews 3 month Building… twitter.com/i/web/status/1…
As we enter winter, COVID continues to be on the rise. Keep yourself, your family, and your friends safe. Pacific… twitter.com/i/web/status/1…
The holidays are hard enough. Join us in this BIPOC only space for the next gathering of our Resilience Series as… twitter.com/i/web/status/1…
Jade District-Oldtown COVID-19 Small Business Response Fund March 19, 2020
Donate to the COVID Relief Fund to Support Impacted Workers March 19, 2020
The Empowerment Clinic gets Sustainability at Work certification June 1, 2018
Please Join us April 14th for a Jade District Open House! March 29, 2018
Upcoming Jade District Open House – April 14th at Fubonn February 27, 2018


Monica Lewinsky admitted former President Bill Clinton wanted her to lie about their relationship under oath if she was called to testify in the Paula Jones case, Fox News reported. Lewinsky said she was uncomfortable doing that.
She had an extramarital affair with a man who was one of the most famous men in the world at the time… What did she expect?


Hello everyone! Thank you for taking the time to read my message. I have a black boxer named Hazel who has had skin problems for a long time. Itchy, red allergy skin. She scratched so much I feel terrible. She's been on medication for ever. It seems to be the only thing that helps. We've tried switching her food to an expensive one, supplements and hot spot creams. Nothing seems to help besides this medicine. I guess my question is: do you see what particularly is causing this and what might help to eradicate this problem.
My dog has stone problem in his urinary tract and has bad allergy in his paws. Actually he has grass allergy. He had two operations to remove the stones already. Now that he is old he wont be able to survive another surgery per vet. The paws allergy was bad too. Because of his allergy his food is bought from the vet. The vet couldnt do anything with his paw allergy. We placed creams too didnot help. The only thing to do is to keep him away from grass. Anyway what I did is placed a medal of St Francis (Saints for animals) around his collar and prayed to St Francis about his allergy and stones. It all depends on how fast St Francis will help your dog. Just be patient and believe he will help your dog cause thats the way I did it. So far its been good. Thank St Francis.I guess all you can do is follow the Vet advice and maybe pray to St Francis to help your dogs problem. Also, Id like to add to make sure you wash his food dish & water dish everyday. Replace the water everyday. This is only my own thinking. I was thinking maybe since my dog has bad allergy maybe clean dish will help clean his system. I think if dish is not washed daily there is a lot of germs there. Since he is sensitive already maybe germs from dirty dish not washed properly will make it worst.
And I think this also helped my dog.
Hope things get better with your dog.
I would like to mention the Sts complete name is ST FRANCIS OF ASSISI the patron saint of animals. I never stop praying for my dog even if he is better now. Also my vet said that carpets too causes allergies. He used to chew his legs and paws quite a bit because of the allergy he had.
Also since I replaced the water & clean his dish twice a day he drinks a lot of water now. I think this clean dish and water really helped clean his system too. Just hope you will get some other cures that the vet doesnot know. Who knows some people might have some cures that we have never heard before.
First of all thank you for the message back. I can see you love dogs very much just as I do! I have prayed to St. Francis for Hazel before when she was going through another medical problem and honestly think it did help. So i will do that again too. When she's on the medication prescribed from our vet she's perfectly fine. But it's just a hassle to bring her in everytime she needs a refill and i understand the reasoning behind doing it. So we do that. I was just trYing to figure out what she's speciFically allergic too without spending $500 on the tests. Just can't afford that. She's on the limited ingredients food the vet told us to feed her. So far she hates it lol. I mix it with organic chicken sodium chicken broth.
Anyway still on the hunt for something else besides the meDication for the rest if her life. And curious what the main cAuse of this is.
We do not have carpet besides the basement which she rarely goes and she's so picky about her water (lol spoiled obviously) we change it twice even three times a day and clean it every night.
When our dog was younger he had the tests done to find out what he is allergic to. It was grass.
allergy has stopped he is not taking anything anymore.
what to do with dogs with allergies or whatever you can come up regarding allergies of dogs?
Try that one and see if you will find something.