text:
2) The New Government and the Proletariat
The principal document I have at my disposal at today's date (March 8/21) is a copy of that most conservative and bourgeois English newspaper The Times of March 16, containing a batch of reports about the revolution in Russia. Clearly, a source more favourably inclined – to put it mildly – towards the Guchkov and Milyukov government it would not be easy to find.
This newspaper's correspondent reports from St. Petersburg on Wednesday, March 1 (14), when the first Provisional Government still existed, i.e., the thirteen-member Duma Executive Committee,[2] headed by Rodzyanko and including two "socialists", as the newspaper puts it, Kerensky and Chkheidze:
"A group of 22 elected members of the Upper House [State Council] including M. Guchkov, M. Stakhovich, Prince Trubetskoi, and Professor Vassiliev, Grimm, and Vernadsky, yesterday addressed a telegram to the Tsar" imploring him in order to save the "dynasty", etc., etc., to convoke the Duma and to name as the head of the government some one who enjoys the "confidence of the nation". "What the Emperor may decide to do on his arrival today is unknown at the hour of telegraphing," writes the correspondent, "but one thing is quite certain. Unless His Majesty immediately complies with the wishes of the most moderate elements among his loyal subjects, the influence at present exercised by the Provisional Committee of the Imperial Duma will pass wholesale into the hands of the socialists, who want to see a republic established, but who are unable to institute any kind of orderly government and would inevitably precipitate the country into anarchy within and disaster without...."
What political sagacity and clarity this reveals. How well this Englishman, who thinks like (if he does not guide) the Guchkovs and Milyukovs, understands the alignment of class forces and interests! "The most moderate elements among his loyal subjects", i.e., the monarchist landlords and capitalists, want to take power into their hands, fully realising that otherwise "influence" will pass into the hands of the "socialists". Why the "socialists" and not somebody else? Because the English Guchkovite is fully aware that there is no other social force in the political arena, nor can there be. The revolution was made by the proletariat. It displayed heroism; it shed its blood; it swept along with it the broadest masses of the toilers and the poor; it is demanding bread, peace and freedom; it is demanding a republic; it sympathises with socialism. But the handful of landlords and capitalists headed by the Guchkovs and Milyukovs want to betray the will, or strivings, of the vast majority and conclude a deal with the tottering monarchy, bolster it up, save it: appoint Lvov and Guchkov, Your Majesty, and we will be with the monarchy against the people. Such is the entire meaning, the sum and substance of the new government's policy!
But how to justify the deception, the fooling of the people, the violation of the will of the overwhelming majority of the population?
By slandering the people – the old but eternally new method of the bourgeoisie. And the English Guchkovite slanders, scolds, spits and splutters: "anarchy within and disaster without", no "orderly government"!!
That is not true, Mr. Guchkovite! The workers want a republic; and a republic represents far more "orderly" government than monarchy does. What guarantee have the people that the second Romanov will not get himself a second Rasputin? Disaster will be brought on precisely by continuation of the war, i.e., precisely by the new government. Only a proletarian republic, backed by the rural workers and the poorest section of the peasants and town dwellers, can secure peace, provide bread, order and freedom.
All the shouts about anarchy are merely a screen to conceal the selfish interests of the capitalists, who want to make profit out of the war, out of war loans, who want to restore the monarchy against the people.
"... Yesterday," continues the correspondent, "the Social-Democratic Party issued a proclamation of a most seditious character, which was spread broadcast throughout the city. They [i.e., the Social-Democratic Party] are mere doctrinaires, but their power for mischief is enormous at a time like the present. M. Kerensky and M. Chkheidze, who realise that without the support of the officers and the more moderate elements of the people they cannot hope to avoid anarchy, have to reckon with their less prudent associates, and are insensibly driven to take up an attitude which complicates the task of the Provisional Committee...."
0 great English, Guchkovite diplomat! How "imprudently" you have blurted out the truth!
"The Social-Democratic Party" and their "less prudent associates" with whom "Kerensky and Chkheidze have to reckon", evidently mean the Central or the St. Petersburg Committee of our Party, which was restored at the January 1912 Conference,[3] those very same "Bolsheviks" at whom the bourgeoisie always hurl the abusive term "doctrinaires", because of their faithfulness to the "doctrine", i.e., the fundamentals, the principles, teachings, aims of socialism. Obviously, the English Guchkovite hurls the abusive terms seditious and doctrinaire at the manifesto[4] and at the conduct of our Party in urging a fight for a republic, peace, complete destruction of the tsarist monarchy, bread for the people.
Bread for the people and peace – that's sedition, but ministerial posts for Guchkov and Milyukov – that's "order" Old and familiar talk!
What, then, are the tactics of Kerensky and Chkheidze as characterised by the English Guchkovite?
Vacillation: on the one hand, the Guchkovite praises them: they "realise" (Good boys! Clever boys!) that without the "support" of the army officers and the more moderate elements, anarchy cannot be avoided (we, however, have always thought, in keeping with our doctrine, with our socialist teachings, that it is the capitalists who introduce anarchy and war into human society, that only the transfer of all political power to the proletariat and the poorest people can rid us of war, of anarchy and starvation!). On the other hand, they "have to reckon with their less prudent associates", i.e., the Bolsheviks, the Russian Social-Democratic Labour Party, restored and united by the Central Committee.
What is the force that compels Kerensky and Chkheidze to "reckon" with the Bolshevik Party to which they have never belonged, which they, or their literary representatives (Socialist-Revolutionaries, Popular Socialists,[5] the Menshevik 0. C. supporters, and so forth), have always abused, condemned, denounced as an insignificant underground circle, a sect of doctrinaires, and so forth? Where and when has it ever happened that in time of revolution, at a time of predominantly mass action, sane-minded politicians should "reckon" with "doctrinaires"??
He is all mixed up, our poor English Guchkovite; he has failed to produce a logical argument, has failed to tell either a whole lie or the whole truth, he has merely given himself away.
Kerensky and Chkheidze are compelled to reckon with the Social-Democratic Party of the Central Committee by the influence it exerts on the proletariat, on the masses. Our Party was found to be with the masses, with the revolutionary proletariat, in spite of the arrest and deportation of our Duma deputies to Siberia, as far back as 1914, in spite of the fierce persecution and arrests to which the St. Petersburg Committee was subjected for its underground activities during the war, against the war and against tsarism.
"Facts are stubborn things," as the English proverb has it. Let me remind you of it, most esteemed English Guchkovite! That our Party guided, or at least rendered devoted assistance to, the St. Petersburg workers in the great days of revolution is a fact the English Guchkovite "himself" was obliged to admit. And he was equally obliged to admit the fact that Kerensky and Chkheidze are oscillating between the bourgeoisie and the proletariat. The Gvozdyovites, the "defencists", i.e., the social-chauvinists, i.e., the defenders of the imperialist, predatory war, are now completely following the bourgeoisie; Kerensky, by entering the ministry, i.e., the second Provisional Government, has also completely deserted to the bourgeoisie; Chkheidze has not; he continues to oscillate between the Provisional Government of the bourgeoisie, the Guchkovs and Milyukovs, and the "provisional government" of the proletariat and the poorest masses of the people, the Soviet of Workers' Deputies and the Russian Social-Democratic Labour Party united by the Central Committee.
Consequently, the revolution has confirmed what we especially insisted on when we urged the workers clearly to realise the class difference between the principal parties and principal trends in the working – class movement and among the petty bourgeoisie – what we wrote, for example, in the Geneva Sotsial-Demokrat No. 47, nearly eighteen months ago, on October 13, 1915.
"As hitherto, we consider it admissible for Social-Democrats to join a provisional revolutionary government together with the democratic petty bourgeoisie, but not with the revolutionary chauvinists. By revolutionary chauvinists we mean those who want a victory over tsarism so as to achieve victory over Germany – plunder other countries – consolidate Great-Russian rule over the other peoples of Russia, etc. Revolutionary chauvinism is based on the class position of the petty bourgeoisie. The latter always vacillates between the bourgeoisie and the proletariat. At present it is vacillating between chauvinism (which prevents it from being consistently revolutionary, even in the meaning of a democratic revolution) and proletarian internationalism. At the moment the Trudoviks, the Socialist-Revolutionaries, Nasha Zarya (now Dyelo), Chkheidze's Duma group, the Organising Committee, Mr. Plekhanov and the like are political spokesmen for this petty bourgeoisie in Russia. If the revolutionary chauvinists won in Russia, we would be opposed to a defence of their "fatherland" in the present war. Our slogan is: against the chauvinists, even if they are revolutionary and republican – against them and for an alliance of the international proletariat for the socialist revolution."[1]
But let us return to the English Guchkovite.
"... The Provisional Committee of the Imperial Duma," he continues, "appreciating the dangers ahead, have purposely refrained from carrying out the original intention of arresting Ministers, although they could have done so yesterday without the slightest difficulty. The door is thus left open for negotiations, thanks to which we ["we"=British finance capital and imperialism] may obtain all the benefits of the new regime without passing through the dread ordeal of the Commune and the anarchy of civil war...."
The Guchkovites were for a civil war from which they would benefit, but they are against a civil war from which the people, i.e., the actual majority of the working people, would benefit.
"...The relations between the Provisional Committee of the Duma, which represents the whole nation [imagine saying this about the committee of the landlord and capitalist Fourth Duma!], and the Council of Labour Deputies, representing purely class interests [this is the language of a diplomat who has heard learned words with one ear and wants to conceal the fact that the Soviet of Workers' Deputies represents the proletariat and the poor, i.e., nine-tenths of the population], but in a crisis like the present wielding enormous power, have aroused no small misgivings among reasonable men regarding the possibility of a conflict between them – the results of which might be too terrible to describe.
"Happily this danger has been averted, at least for the present [note the "at least"!], thanks to the influence of M. Kerensky, a young lawyer of much oratorical ability, who clearly realises [unlike Chkheidze, who also "realised", but evidently less clearly in the opinion of the Guchkovite?] the necessity of working with the Committee in the interests of his Labour constituents [i.e., to catch the workers' votes, to flirt with them]. A satisfactory agreement[6] was concluded today [Wednesday, March 1/14], whereby all unnecessary friction will be avoided."
What this agreement was, whether it was concluded with the whole of the Soviet of Workers' Deputies and on what terms, we do not know. On this chief point, the English Guchkovite says nothing at all this time. And no wonder! It is not to the advantage of the bourgeoisie to have these terms made clear, precise and known to all, for it would then be more difficult for it to violate them!
The preceding lines were already written when I read two very important communications. First, in that most conservative and bourgeois Paris newspaper Le Temps[7] of March 20, the text of the Soviet of Workers' Deputies manifesto appealing for "support" of the new government[8]; second, excerpts from Skobelev's speech in the State Duma on March 1 (14), reproduced in a Zurich newspaper (Neue Zürcher Zeitung, 1 Mit.-bl., March 21) from a Berlin newspaper (National Zeitung[9]).
The manifesto of the Soviet of Workers' Deputies, if the text has not been distorted by the French imperialists, is a most remarkable document. It shows that the St. Petersburg proletariat, at least at the time the manifesto was issued, was under the predominating influence of petty-bourgeois politicians. You will recall that in this category of politicians I include, as has been already mentioned above, people of the type of Kerensky and Chkheidze.
In the manifesto we find two political ideas, and two slogans corresponding to them:
Firstly. The manifesto says that the government (the new one) consists of "moderate elements". A strange description, by no means complete, of a purely liberal, not of a Marxist character. I too am prepared to agree that in a certain sense – in my next letter I will show in precisely what sense – now, with the first stage of the revolution completed, every government must be "moderate". But it is absolutely impermissible to conceal from ourselves and from the people that this government wants to continue the imperialist, war, that it is an agent of British capital, that it wants to restore the monarchy and strengthen the rule of the landlords and capitalists.
The manifesto declares that all democrats must "support" the new government and that the Soviet of Workers' Deputies requests and authorises Kerensky to enter the Provisional Government. The conditions – implementation of the promised reforms already during the war, guarantees for the "free cultural" (only??) development of the nationalities (a purely Cadet, wretchedly liberal programme), and the establishment of a spec a committee consisting of members of the Soviet of Workers' Deputies and of "military men"[10] to supervise the activities of the Provisional Government.
This Supervising Committee, which comes within the second category of ideas and slogans, we will discuss separately further on.
The appointment of the Russian Louis Blanc, Kerensky, and the appeal to support the new government is, one may say, a classical example of betrayal of the cause of the revolution and the cause of the proletariat, a betrayal which doomed a number of nineteenth-century revolutions, irrespective of how sincere and devoted to socialism the leaders and supporters of such a policy may have been.
The proletariat cannot and must not support a war government, a restoration government. To fight reaction, to rebuff all possible and probable attempts by the Romanovs and their friends to restore the monarchy and muster a counter revolutionary army, it is necessary not to support Guchkov and Co., but to organise, expand and strengthen a proletarian militia, to arm the people under the leadership of the workers. Without this principal, fundamental, radical measure, there can be no question either of offering serious resistance to the restoration of the monarchy and attempts to rescind or curtail the promised freedoms, or of firmly taking the road that will give the people bread, peace and freedom.
If it is true that Chkheidze, who, with Kerensky, was a member of the first Provisional Government (the Duma committee of thirteen), refrained from entering the second Provisional Government out of principled considerations of the above-mentioned or similar character, then that does him credit. That must be said frankly. Unfortunately, such an interpretation is contradicted by the facts, and primarily by the speech delivered by Skobelev, who has always gone hand in hand with Chkheidze.
Skobelev said, if the above-mentioned source is to be trusted, that "the social [? evidently the Social-Democratic] group and the workers are only slightly in touch (have little contact) with the aims of the Provisional Government", that the workers are demanding peace, and that if the war is continued there will be disaster in the spring anyhow, that "the workers have concluded with society [liberal society] a temporary agreement [eine vorläufige Waffenfreundschaft], although their political aims are as far removed from the aims of society as heaven is from earth", that "the liberals must abandon the senseless [unsinnige] aims of the war", etc.
This speech is a sample of what we called above, in the excerpt from Sotsial-Demokrat. "oscillation" between the bourgeoisie and the proletariat. The liberals, while remaining liberals, cannot "abandon" the "senseless" aims of the war, which, incidentally, are not determined by them alone, but by Anglo-French finance capital, a world-mighty force measured by hundreds of billions. The task is not to "coax" the liberals, but to explain to the workers why the liberals find themselves in a blind alley, why they are hound hand and foot, why they conceal both the treaties tsarism concluded with England and other countries and the deals between Russian and Anglo-French capital, and so forth.
If Skobelev says that the workers have concluded an agreement with liberal society, no matter of what character, and since he does not protest against it, does not explain from the Duma rostrum how harmful it is for the workers, he thereby approves of the agreement. And that is exactly what he should not do.
Skobelev's direct or indirect, clearly expressed or tacit, approval of the agreement between the Soviet of Workers' Deputies and the Provisional Government is Skobelev's swing towards the bourgeoisie. Skobelev's statement that the workers are demanding peace, that their aims are as far removed from the liberals' aims as heaven is from earth, is Skobelev's swing towards the proletariat.
Purely proletarian, truly revolutionary and profoundly correct in design is the second political idea in the manifesto of the Soviet of Workers' Deputies that we are studying, namely, the idea of establishing a "Supervising Committee" (I do not know whether this is what it is called in Russian; I am translating freely from the French), of proletarian-soldier supervision over the Provisional Government.
Now, that's something real! it is worthy of the workers who have shed their blood for freedom, peace, bread for the people! It is a real step towards real guarantees against tsarism, against a monarchy and against the monarchists Guchkov, Lvov and Co.! It is a sign that the Russian proletariat, in spite of everything, has made progress compared with the French proletariat in 1848, when it "authorised" Louis Blanc! It is proof that the instinct and mind of the proletarian masses are not satisfied with declamations, exclamations, promises of reforms and freedoms, with the title of "minister authorised by the workers", and similar tinsel, but are seeking support only where it is to be found, in the armed masses of the people organised and led by the proletariat, the class-conscious workers.
It is a step along the right road, but only the first step.
If this "Supervising Committee" remains a purely political-type parliamentary institution, a committee that will "put questions" to the Provisional Government and receive answers from it, then it will remain a plaything, will amount to nothing.
If, on the other hand, it leads, immediately and despite all obstacles, to the formation of a workers' militia, or workers' home guard, extending to the whole people, to all men and women, which would not only replace the exterminated and dissolved police force, not only make the latter's restoration impossible by any government, constitutional-monarchist or democratic-republican, either in St. Petersburg or anywhere else in Russia – then the advanced workers of Russia will really take the road towards new and great victories, the road to victory over war, to the realisation of the slogan which, as the newspapers report, adorned the colours of the cavalry troops that demonstrated in St. Petersburg, in the square outside the State Duma:
"Long Live Socialist Republics in All Countries!"
I will set out my ideas about this workers' militia in my next letter.
In it I will try to show, on the one hand, that the formation of a militia embracing the entire people and led by the workers is the correct slogan of the day, one that corresponds to the tactical tasks of the peculiar transitional moment through which the Russian revolution (and the world revolution) is passing; and, on the other hand, that to be successful, this workers' militia must, firstly, embrace the entire people, must be a mass organisation to the degree of being universal, must really embrace the entire able-bodied population of both sexes; secondly, it must proceed to combine not only purely police, but general state functions with military functions and with the control of social production and distribution.
N. Lenin
Zurich, March 22 (9), 1917
P.S. I forgot to date my previous letter March 20 (7).
[1] See present edition, Vol. 21, p. 403. – Ed.
[2] The first Provisional Government, or the Provisional Committee of the State Duma, was formed on February 27 (March 12), 1917. On that day the Duma Council of Doyens sent a telegram to the tsar drawing his attention to the critical situation in the capital and urging immediate measures "to save the fatherland and the dynasty". The tsar replied by sending the Duma President, M. V. Rodzyanko, a decree dissolving the Duma. By this time the insurgent people had surrounded the Duma building, the Taurida Palace, where Duma members were meeting in private conference, and blocked all the streets leading to it. Soldiers and armed workers were in occupation of the building. In this situation the Duma hastened to elect a Provisional Committee to "maintain order in Petrograd and for communication with various institutions and individuals".
The Provisional Committee was composed of V. V. Shulgin and V. N. Lvov, both of the extreme Right, Octobrists S. I. Shidlovsky, I. I. Dmitryukov, M. V. Rodzyanko (chairman), Progressists V. A. Rzhevsky and A. I. Konovalov, Cadets P. N. Milyukov and N. V. Nekrasov, the Trudovik A. F. Kerensky, and the Menshevik N. S. Chkheidze.
[3] The composition of the C. C. Bureau in Russia on March 9 (22), 1917 was as follows: A. I. Yelizarova, K. S. Yeremeyev, V. N. Zalezhsky, P. A. Zalutsky, M. I. Kalinin, V. M. Molotov, M. S. Olminsky, A. M. Smirnov, Y. D. Stasova, M. I. Ulyanova, M. I. Khakharev, K. M. Shvedchikov, A. G. Shlyapnikov and K. I. Shutko. On March 12 (25), G. I. Bokii and M. K. Muranov were added, also J. V. Stalin, with voice but no vote.
The Petrograd Committee of the R.S.D.L P. was formed at a meeting on March 2 (15), 1917, and was composed of all those who had served on the illegal committees and newly co-opted members. The composition was: B. V. Avilov, N. K. Antipov, B. A. Zhemchuzhin, V. N. Zalezhsky, M. I. Kalinin, N. P. Komarov, L. M. Mikhailov, V. M. Molotov, K. Orlov, N. I. Podvoisky, P. I. Stu&chat;ka, V. V. Schmidt, K. I. Shutko and A. G. Shlyapnikov, representing the Central Committee Bureau.
For the January (Prague) Conference, to which Lenin refers, see Note No. 95.
[4] This refers to the Manifesto of the Russian Social-Democratic Labour Party to All the Citizens of Russia, issued by the Central Committee and published as a supplement to Izvestia of February 28 (March 13), 1917 (No. 1). Lenin learned of the Manifesto from an abridged version in the morning edition of the Frankfurter Zeitung, March 9 (22), 1917. On the following day he wired Pravda in Petrograd via Oslo: "Have just read excerpts from the Central Committee Manifesto. Best wishes. Long live the proletarian militia, harbinger of peace and socialism!"
[5] See Note No. 75.
[6] Reference is to the agreement concluded on the night following March 1 (14), 1917 between the Duma Provisional Committee and the Socialist-Revolutionary and Menshevik leaders of the Petrograd Soviet Executive Committee.The latter voluntarily surrendered power to the bourgeoisie and authorised the Duma Provisional Committee to form a Provisional Government of its own choice.
[7] Le Temps – a daily paper published in Paris from 1861 to 1942. Spoke for the ruling element and was the factual organ of the French Foreign Ministry.
[8] The Manifesto of the Executive Committee of the Soviet of Workers' and Soldiers' Deputies was published in Izvestia on March 3 (16), 1917 (No. 4),simultaneously with the announcement of the formation of a Provisional Government under Prince Lvov. Drawn up by the Socialist-Revolutionary and Menshevik members of the Executive Committee, it declared that the democratic forces would support the new government "to the extent that it carries out its undertakings and wages a determined struggle against the old regime".
The Manifesto did not mention the fact that the Soviet had authorised Kerensky to join the new government, inasmuch as on March 1 (14) the Executive Committee had decided "not to delegate democratic representatives to the government". Le Temps reported this in a despatch from its correspondent. On March 2 (15) the Soviet, "defying the protest of the minority", approved Kerensky's entry into the government as Minister of Justice.
[9] Neue Zürcher Zeitung – a bourgeois newspaper, founded in Zurich in 1780 and until 1821 published under the name Zürcher Zeitung, now the most influential paper in Switzerland.
National-Zeitung – a capitalist newspaper published in Berlin from 1848 to 1938; beginning with 1914 appeared under the name Acht-Uhr Abendsblatt. National-Zeitung.
[10] The foreign press reported the appointment by the Petrograd Soviet of a special body to keep check on the Provisional Government. On the basis of this report, Lenin at first welcomed the organisation of this control body, pointing out, however, that only experience would show whether it would live up to expectations. Actually, this so-called Contact Committee, appointed by the Executive on March 8 (21) to "influence" and "control" the work of the Provisional Government, only helped the latter exploit the prestige of the Soviet as a cover for its counter-revolutionary policy. The Contact Committee consisted of M. I. Skobelev, Y. M. Steklov, N. N. Sukhanov, V. N. Filippovsky, N. S. Chkheidze and, later, V. M. Chernov and I. G. Tsereteli. It helped keep the masses from active revolutionary struggle for the transfer of power to the Soviets. The committee was dissolved in April 1917, when its functions were taken over by the Petrograd Soviet Executive Committee Bureau.
Source: Marxist Internet Archive.


text:
The Story Behind this one is that it was a commission request where the client requested three items, batman, zombies and a cheetah... and thats it. I was to determine how they came together. Unfortunately the individual who ordered it dropped off of the face of the earth. This piece happened to be My first major lesson in the world of being a proffesional artist.
Rule #1 - Don't EVER take a commission without a deposit.
People are Dicks... despite what you may think, LOL. Not all people, but you wouldn't ask a stranger to hold your wallet.
When it comes to commissions I tend to take it on a case by case basis. I generally am a trusting person. So if I have done business with you a few times before, your golden in my book. However, if I dont know the individual then I require a deposit. How much is up to you, but typically I base it on resaleability and difficulty. For instance, despite the strageness of this piece, I was able to sell it fairly quickly, although I did have to drop the price much lower than my normal rate.
This is what I mean by resaleability and difficulty. Ask yourself some questions like:
- How easy would I be able to turn around and sell this piece?
- How popular is this character?
- How strange is this piece? like for instance is there a random cheetah in it?
- How Long would something like this take me?
- What would my up front costs be (IE. Supplies) with creating this piece?
- How Busy am I ? How full is my Commission List ?
Based on the answers to those questions you can determine a reasonable deposit amount.
A lot of the answers to these questions come with experience... so you basically have to know your craft & the market.
For instance, if someone asked me to draw a small bust sketch of a sexy Harley Quinn, well then no problem... maybe a small 10-30% Deposit. Enough to cover my supplies & a few minutes of my time.
What about a Aquaman Sketch? Well, not the most popular of characters, however there are collectors, so maybe a slightly larger deposit.
How about Plastic Man? You should probably get a fairly large deposit.
" I want you to draw my kids as the Fantastic Four, fighting Galactus (who will of course be me), and make my wife The Silver Surfer"
uuuhmmm Yeeeaahhh, Just go ahead and collect a full deposit.
Honestly, who in the hell is going to buy that, if that person dissappears?
Your going to end up sitting in the living room eating a hot pocket , staring at a framed painting of some dudes kids as the fantastic four. You would be staring at your TV, however the fit of rage that you flew into after finding out that this person bailed on you after spending 300-400$ worth of time & materials caused you to launch your computer through your flat screen. So now this $300 - $400 dollar loss has turned into thousands. Not to mention the fact that your wife has left you & took the kids because she was afraid for their safety due to your outburst. So now all you have is this F*#$%ing Painting. All of this could have been avoided if you had just taken a deposit....
I hope you have enjoyed reading this little pearl of wisdom & I also hope it saves you some headaches in the future. For those of you who read it, I thank you, everyone else can eat a peanut encrusted turd...
If you would like to see some non cheetah related artwork for sale, check out my SHOP!

subset: commoncrawl


text:
"Zoom in. Now… enhance." – a practical implementation of the aberration measurement and correction in a digital camera
- 1 The sensor resolution and the lens resolution
- 2 Image sharpening and the panoramic applications
- 3 Convolution based correction of the image aberrations in the system
- 4 Selecting test pattern for the PSF measurement
- 5 Acquiring and processing of the target pattern images
- 6 Upsampling the color component data
- 7 Calculating an inverted PSF
- 8 Frequency-domain image de-mosaic processing
- 9 Combining the processing steps
- 10 Preliminary results
The sensor resolution and the lens resolution
Image sensors are improving in resolution, in the small format sensors this progress is boosted primarily by the cellphone cameras applications. When we just started Elphel in 2001 the 640×480 was considered "high resolution" for the C/CS-mount lenses so finding a good lens for even 1.3MPix sensor was not easy then. For some time it was possible to use high quality 35mm format lenses (with appropriate adapters) to match the sensor resolution, but as the sensors progressed toward smaller pixel size that approach was not usable any more – the large lenses were following designs for the film and their lp/mm (line pairs per millimetres) were insufficient for the new small-pixel sensors, even as the overall "megapixels" of those lenses were larger than those of the sensors. For the 35mm format lens (36mm x 24mm full frame) to work as "5 megapixel" for the 1/2.5″ format 5MPix sensor with 2.2μ x 2.2μ square pixels it should be rated as "200 megapixels" because the image area of the sensor is 40 times smaller than that of a lens. I hoped that the availability of the small high resolution sensors would stimulate the development of the appropriate lenses, an of course advances in the sensor technology lead to the availability of the suitable lenses. But the sensors progress faster and the lenses lag behind.
In earlier days (especially for the larger format digital cameras that benefited from the good lenses available from the film advanced film cameras) it was common to use optical anti-aliasing (blurring) filters in the digital cameras to reduce color artifacts caused by the lenses producing images that were too sharp for then available sensors – now the situation is quite opposite. In parallel to the progress of the sensors the advance in the software color interpolation of the Bayer color mosaic took place, these algorithms are doing a good job of "guessing" the missing colors and reducing color artifacts without sacrificing the sharpness of the images.
Image sharpening and the panoramic applications
When the optical resolution is less than that of a sensor it is possible to apply some degree of image sharpening in the post-processing or inside the camera itself. There is a good description of the sharpening effects at Imatest web site. Such image enhancement can be done by different methods, i.e. convolving registered image with a small kernel, subtracting blurred copy of the original (unsharp mask). Normally such process uses the same filter for the whole image and it is calculated for the best result in the center area of the image and it is quite reasonable for most applications. Optically it is much easier to achieve best quality near the center of the image, our eyes too have the resolution dropping dramatically away from the center spot. In photography people got used to have good resolution, "focus" in the center, it is common to intentionally blur the background (i.e. using depth of field). Panoramic imaging applications are different, the overall resolution of the panorama is limited by the weakest link – the resolution near the margins of the individual images, areas where the composite image is stitched. When designing the Eyesis optical head we evaluated multiple lenses with focal length in the range of 4.5-5.0mm (calculated to have 8 sensors around in portrait mode) and they all had significant resolution degradation near the edges. Applying constant sharpening filter would not help much – if the filter was designed for the central sensor area (where the image quality was already good in our case) – the effect near the edges would be hardly noticeable. If it was made for the off-center – it would significantly over-sharpen image in the center producing unreasonably strong halos. To make things worse the required correction in the off-center areas normally has significant anisotropy , so the optimal sharpening for say top left corner of the image may make it worse when applied to the top-right corner: the image there would be over-sharpened in one direction and under-sharpened in the orthogonal one.
When starting the development of the image sharpening for the Eyesis camera we already knew that the camera needs variable correction over the image area (and the color components, of course) – the lens performance was studied earlier. We also found that there are significant individual variations between the different lens samples, so individual camera calibration would be required, we could not apply the same compensation data to the different cameras or camera sub-modules.
Convolution based correction of the image aberrations in the system
Measuring the lens performance and un-applying the effect of the optical aberrations is routinely used – one of the most known applications was "glasses" for the Hubble Space Telescope to compensate for the flaw in the main mirror. It is also commonly used in microscopy – in such application in most cases it is impossible to perfectly focus on the object as the depth of field is very small.
Using such method with consumer cameras is difficult for several reasons – lenses are often interchangeable, have iris, adjustable focus and zoom – each of these factors influence the overall aberrations of the system and would require re-measuring the aberrations that need to be known with great precision, otherwise "correction" can in fact make images even worse. Small format (and so small pixel size) sensors present an additional challenge of relatively high pixel shot noise which is unavoidably amplified when the aberration correction is applied; increased shot noise is caused by the small value of the pixel "full well capacity".
On the other hand, when the lens is fixed, focus is not adjusted and there is no moveable iris in the lens (iris anyway has very little use for the small format high-resolution CMOS image sensors because of the diffraction limit and very large depth of field) it is possible to make individual calibration of the lens once and then apply the calculated correction to all subsequently acquired images.
Selecting test pattern for the PSF measurement
The first step to correct the lens aberration would be to precisely measure the point-spread function (PSF) of the system at different areas of the image. Then, if there are no zeros in the spatial frequencies area of interest it will be possible to inverse the the PSF and use the result to correct the image. At least to some extent limited by the PSF itself (no zeros – you can not compensate the loss at the frequencies that yield complete zero by multiplying), precision of the PSF measurement and the system noise (unfortunately rather high for the sensors with small pixels). Measuring PSF directly would require real point light sources – something that is common in astronomy where stars are perfect approximations of the ideal point sources with additional advantage that their locations are precisely known. In our case we need something brighter (long integration of the starlight will cause to much noise in the sensor if we would try to use stars among other problems). Small PSF size (still just few pixels wide in "bad" areas) combined with high pixel noise require different test targets.
What the test target should look like? The PSF is calculated by deconvolving the image data with the inverted ideal test pattern, it is done by calculating Fourier transforms of both, than dividing the result of the first (image) by that of a second (test pattern) and performing inverse Fourier transform. For this operation to be successful the test pattern needs to meet the following requirements:
- It should have all the spatial frequencies of interest included
- The pattern should be easy to detect in the image even when image geometric distortions are present
- The period of the pattern (if it is periodic) should be large enough so the measured PSF instances would not overlap
- The period of the pattern should be small enough so the PSF measurement grid (image plane points at which the aberrations are measured) will have sufficient resolution
- Different phases of the pattern crossing pixels will be uniformly distributed so the sub-pixel resolution could be achieved
The first requirement is needed because otherwise we'll have to divide zeros by zeros or at least very small numbers by very small numbers with the results being buried in the noise. It is OK to have some zeros, but the non-zero values should cover most of the spectral area without large gaps.
The second requirement is important as in the calculations we need to know precisely what is the ideal image that sensor sees after the aberration is applied. Keeping precise and known orientation of the target and the camera is not practical, additionally the image is subject to the image geometrical distortions, and we need to know the image without aberration with a sub-pixel resolution. With the pattern built on a regular periodic grid it should be not so difficult for the software to "recognize" that pattern even in the presence of the geometric distortion and locally compensate that distortion so the simulated (model) image will match the measured one to a fraction of a pixel precision. And stay so over the large enough area to be able to make reliable measurements even in the presence of some noise.
When using the periodic (or actually close to periodic, as distortion breaks the exact periods) pattern and calculating PSF, there would be PSF clones with the same period as the grid itself, because(when neglecting distortions) there is no way to tell which of the object grid cells was recorded as which pattern cell on the image. And so the "wings" of the PSF instances should be far enough to prevent overlapping, so that defines the minimal period of the pattern grid.
On the other hand we can not make the cells too big, otherwise the PSF measurement itself will not have enough resolution – the PSF varies along the image area and so we have to know it in all those locations, that puts an upper limit on the pattern grid period.
Last requirement is similar to that described in ISO 12233 about measuring the spatial frequency response (SFR) to get resolution higher than a pixel by following the black/white edge that crosses pixel grid at different distances from the pixels centers – short description of such measurements is in the page about SE-MTF ImageJ plugin.
I started with the slanted checker board pattern – it was easy to recognize in the registered image and easy to generate the model that had the same local geometric distortions. Local distortions were approximated by the second degree polynomials and measured by finding the pattern phases in half-sized areas inside the full selection – full selection was 512×512 sensor pixels (256 x 256 for individual Bayer components), so that there were 128×128 squares in the center and shifted by 64 pixels in 8 directions.
After working with such pattern for some time I realized that it had a major flaw – the spectrum was very anisotropic – 2 lines forming a tilted cross that extended to very high frequencies (even rolling over the margins) while having very little energy between those directions. The net effect of such anisotropy was that the lack of data in the "dark" areas of the power spectrum, the calculated PSF also had cross-like artifacts that I first tried to compensate in the code but that did not work well enough. It was possible to cut off the long legs of the cross, but boosting gain between them led to the increased noise and artifacts in the measured PSF.
Then I tried to improve the pattern itself to reduce the anisotropy of the pattern spectrum while keeping it simple to generate and detect in the images, preserving the "inversion" feature of the plain checker board: if the pattern is shifted by one cell in either direction it becomes it's own negative – white cells are replaced by the same shaped black ones and vice versa. The pattern was generated by replacing the straight sides of the squares with a pair of equal arcs, so the squares had circular segments added/removed. Such patterns worked much better – the calculated PSF did not have the artifacts without any additional tweaking, at the same time even the unmodified code could recognize the pattern in the image and calculate the grid parameters to generate a simulated model that matches measured data.
Acquiring and processing of the target pattern images
The camera lenses are focused at approximately 9-10 meters so the depth of field for the selected lenses would extend from the infinity to – to as close as possible, that is about 6 meters. Using the test pattern even at 6 meters that would cover all the sensor would require about 5m x 7m target that is rather difficult to make and use in our office, so the software is designed to be able to combine measurements from the multiple frames, each having pattern covering only part of the sensor image area. Temporarily for the software development we used full pattern at just 2.25meters from the camera; with that distance the red (not the green) color is in-focus because of the axial chromatic aberration – that will be visible later from the PSF (and MTF) plots.
All 3 color components are processed individually through most of the chain, the corrected images are only combined at the very last stage. So the first step after acquiring the pattern image from the camera and transforming it into linear Bayer mosaic is splitting it into individual arrays
At this stage only the green color component is used for measuring the distortions, the dispersion of distortions is considered small, so even as the grid in different colors may have some shift, these color grids could be (locally) matched by translation to the sufficient precision. Both green components of the Bayer mosaic are combined here into a single square array of pixels rotated by 45 degrees from the sensor pixel array. The area that will later be used for PSF measurement is divided in smaller ones and for each the linear grid parameters are calculated.
These parameters include 2 wave vectors (2 numbers each) and 2 phases that define the grid at any point of the image in linear approximation. This is done by multiplying green pixels array by a Hamming window function, calculating power spectrum and then calculating the autocorrelation of this power spectrum. The result is a smooth pattern that is used to determine the wave vectors parameters of the image pattern, it is clusterised, and each cluster is verified to lay on the same line with equal distances from the previous ones. Then centroids of the pixels inside each cluster are calculated and combined resulting in the two vectors. That data is applied to the complex spectrum of the original image pattern to determine the grid phases. These values calculated on a 3×3 grid of samples allow to determine the second degree polynomials that describe local grid distortions. Knowledge of these coefficients allows to generate a model pattern that matches the recorded image with a sub-pixel precision.
Upsampling the color component data
While the simulated pattern can be calculated to any resolution, the sensor data is not, of course. The lens aberrations can still be measured with higher-than-pixel resolution. It is so because we can process multiple periods of the pattern grid with the pattern cells and the cells have near-random phases with respect to the pixel grid, it is similar to the use of the slanted edge technique where the crossing points on different scan lines have different pixel phases. That extra resolution in the PSF (and later – inverted PSF kernels for convolution with the raw images) is really desirable. For example, if we have very sharp images, but one color is shifted half-pixel lateral chromatic aberration, there is no way to represent it without the significant blur. If the recorded line pixels are 0,0,1,0,0 then the chromatic-corrected would be 0,0,0.5,0.5,0 – the "point" becomes twice wider. Of course, it is an extreme case, and the input sequence would be already wider than one pixel, but for the good lenses – not much wider. Then wasting 1/2 pixel width of the sharpness would be a considerable loss, especially if we recall that the color component arrays have 1/2 resolution for red and blue colors and 1/sqrt(2) for the green one. So in this work I used 2x upsampling of the sensor pixels, that becomes 4x upsampling for red and blue components and 2*sqrt(2)~=3x for the green.
The power spectrum of the simulated pattern (it has some Gaussian blur applied to limit the spectrum for clarity) consists of a grid of spots. The size of each spot is reverse proportional to the size of the widow, so the larger the processed area, the smaller would be the spots. The distances between the spots (they lay on a 2-d parallel grid) represent the frequencies of the source pattern – the smaller the pattern cells, the farther would be the spots. The spots closest to the center represent the longest sine waves that go through black-white-black adjacent cells in the pattern, number of spots that would fit on a line from side to side would be the pattern period in pixels. So the ratio between the inter-spot distance and the spot size is the number of the pattern periods that fit in the processed area (multiplied by the window function). We can not make pattern period too small to avoid overlapping of the PSF instances (it should be several times larger than the worst blurring) and can not make the processing area too large it would cause low resolution grid of the PSF samples.
What happens to the spectrum when pixel sampling is applied and most (15/16 for red/blue and 7/8 for the green) pixel data is lost (zeroed out here)? There appear identical clones of the "ideal" spectrum – 7 for the green pixels (the function is periodic with the roll-over at top/bottom and right/left edges) and 15 clones for the red and blue colors.
With the Gaussian blur applied to the original (before downsampling) pattern there is very little overlap in the case of the green pattern but there is more of that in the case of higher degree of downsampling for the red and blue channels where it is difficult to distinguish between the spots that belong to the main instance and those that belong to the clones caused by the pixel decimation. But if the spots are small (relative to the distance between them) there is a good chance that it would be possible to distinguish the source of most of the spots. "Chance" is used here because of the image distortions the patterns for different areas of the image area are slightly different and so are the overlaps.
The power spectra of the model (that do not have aliases) are used to generate filters to be applied to the OTF (optical transfer functions) of the registered images using the following procedure: they are duplicated and shifted (with periodic roll-over) according to the locations of all the aliases (excluding the main instance), 15 times for the red and blue color components and 7 times for the green ones. The results are accumulated into three arrays (one per color component) and discriminated using two threshold values – all elements below the lower threshold resulted in the value of 1.0, all the others above the high threshold – 0.0, with the smooth transition between the two values. These 3 masks were used to completely remove all of the the sampling aliases from the images of the test pattern – contrary to the de-mosaicing of the the live images (discussed later) the registered images of the known test patterns (after the proper distortion correction) have exactly known locations of the maximums on the power spectra as long as the detection process can be considered linear. The linearity is provided by using binary colors (just black and white, no greys that could produce different results depending on the printing process and illumination conditions) and un-applying known gamma-correction of the camera
Having Fourier transform of the simulated pattern that matches the image, Fourier transform of the upsampled image color components and the clone rejecting mask, it is now possible to calculate the PSF for the selected area of the system. After dividing the Fourier transform of the acquired image by that of the simulated pattern, multiplying the result by just calculated mask and performing inverse Fourier transform we are supposed to obtain the needed result.
Additional step is needed to make the this procedure work – the zeros and just areas where the model spectrum (denominator) has low amplitude would provide high values after division – unavoidable noise in the measured data would result in non-zero values in the nominator. Division would produce rather random high values and the inverse FFT would result in the useful signal being buried under the random patterns. This can be handled by imposing the lower limit on the denominator amplitude, and the current software uses x/(x²+a) function instead of just 1/x for the amplitude of the inverted denominator.
When the division is restricted in such way, deconvolution produces expected results like shown on the illustration where there is a grid of positive and negative PSF instances, sharp and high-contrast near the center and fading and blurring towards edges. Negative instances appear when acquired and simulated patterns are shifted half-period and black cells on one match equal white ones on the other. Degrading of the PSF instances when moving from the center is caused by distortions: the pattern approximately matches itself when shifted by 1/2 or one period, but the farther the patterns are moved, the less they match, because they are not strictly periodic, only approximate. In the next step some center instances (selected by comparison of the ratio of the instance contrast to the contrast of the center instance and the programmable parameter) are combined to farther reduce random noise. The results of the measurement of the PSF in the center and 26° off-center are presented in pseudo-colors with white color band corresponding to the intensity level of 50% of the maximal.
Calculating an inverted PSF
When the PSF is measured for all the color components, all the image areas it is a tool to evaluate the lens performance. It is now possible to calculate the derivative parameters of the camera Spatial Frequency Response (SFR) such as Optical Transfer Function (OTF) and it's amplitude – Modulation Transfer Function (MTF). Additional steps are needed to use this data for the enhancement of the image sharpness. When the PSF is just inverted (even with removing areas around zeros on the SFR), the inverted PSF has multiple oscillations extending far from the center. If such kernel is convolved with the raw image it amplifies the noise in that image and can completely bury the useful data. Some noise increase is intrinsic to this method (as other sharpness enhancement ones) but we need to maintain a careful trade-off between the amount of noise and the sharpness, not adding the noise without simultaneous increase in sharpness. One of the basic ways to filter out insignificant (or caused by the measurement noise) components is to apply combined spatial-frequency filtering or apodization so the the high spatial frequencies are preserved in the center area, but gradually filtered out in the areas farther away. In most practical cases (not to count special cases, like out of focus images with distinct bokeh) actual PSF has highest frequency components localized near the center of the PSF, while the noise signal covers all the area uniformly (you can see some small waves near the foot of the PSF shown above especially in "PSF blue, 26°").
The processed image is calculated by convolving the original image with the calculated kernel, each result pixel is made of a sum of input samples multiplied by the elements of the kernel array. With the low contrast images the noise in each pixel (prevailing is the shot noise) is approximately the same, and as this noise is un-correlated between the pixels, it adds up as squared values of the elements. At the same time, the sum of kernel elements (some are negative) is the same as the DC gain and so is equal to one (1.0). Unity value of the DC gain means that levels of large areas of the same pixel values should yield the same value after correction, so it is possible to estimate the noise gain by calculating the square root of sum of squared kernel elements, and the kernels with multiple oscillations changing sign of the kernel elements result in higher output noise than those with less number/amplitude of oscillations.
Probably some wavelet-based processing could produce such filtering directly and be less computationally intensive than using the FFT-based processing, but here we implemented just a variable blurring equivalent to the Gaussian blur with the value of sigma being proportional to the distance from the kernel center. So as you can see on the illustrations, in the center the filtered kernels closely follow the originals but farther from the center the amplitude of oscillations falls off much faster. We also used the the other methods of filtering the result kernel amount of each defined by the setup parameters in the following order:
- "Variable sigma" filtering of the PSF kernel as described above.
- "Frequency modesty" filtering by approximating the OTF amplitude with an ellipse, scaling this ellipse and using it as a frequency domain mask. "Modesty" here means that we do not try to improve response on the spatial frequencies above certain value, proportional to the source system performance in that area, in that direction.
- "Spatial modesty" filtering by approximating the direct PSF (spatial domain) with an ellipse, scaling it and using the result shape to generate a spatial window function for the result inverted PSF (calculated with inverse FFT of the filtered OTF). That limits the extents of the result kernels to be proportional to those of the PSF.
- "Variable sigma" filtering of the inverted PSF kernel.
When the filtered inverted PSF function is convolved with the measured PSF you could not expect to get an ideal delta function – such would be a result of convolution with the full spatial frequency range, unfiltered array. But that output would depend on minor fluctuations in the input data, mostly caused by the measurement errors, noise. So when applied to actual images or just independently measured PSF that nice result would fall apart. So instead of all pixel zeros but the center point, convolution provides some "sharper" that the original functions – about 1.45 times sharper for the off-center pixels if we compare full-width half-maximum (FWHM) values for different colors. That is not extremely large gain, but if we compare "megapixels" that are commonly used to benchmark both the sensors and the lenses used with them, the ratio is proportional to the square of the PSF FWHM value and it reaches 2.1 in that example, so potentially we can double the effective "megapixels" of the camera.
PSF FWHM (pix.) |
Compensated PSF FWHM (pix.) |
FWHM ratio |
Red, center | 1.7 | 1.31 | 1.3 |
Red, 26 degrees, tangential | 2.85 | 1.89 | 1.51 |
Red, 26 degrees, radial | 3.37 | 2.15 | 1.57 |
Green, center | 1.93 | 1.61 | 1.2 |
Green, 26 degrees, tangential | 2.64 | 1.83 | 1.44 |
Green, 26 degrees, radial | 3.48 | 2.47 | 1.41 |
Blue, center | 3.16 | 2.17 | 1.45 |
Blue, 26 degrees, tangential | 3.34 | 2.46 | 1.36 |
Blue, 26 degrees, radial | 4.45 | 3.2 | 1.39 |
Frequency-domain image de-mosaic processing
Having the deconvolution kernels measured it could be apply them to the actual images and see the sharpness improvement, but the camera provides the Bayer mosaic output. Normally that data should be subject to some of the advanced de-mosaic algorithms that guesses the missing color pixels. Most of them rely on the fact that the sensor receives optically "ideal" image and sharp black/white edge would cross the pixel array as if the array was monochrome. In the case when optical aberrations are present that is not the case and we need an algorithm that does not require precise spatial matching of the color components of the image on the sensor, and for each area that is large enough compared to the PSF size the de-mosaic processing should be preferably represented as a linear filter, or convolution with some kernel. In that case we can apply both de-mosaic and sharpening to each individual color component and combine them later.
The simplest de-mosaic filter is just a low-pass filter (i.e. Gaussian) that averages values in some vicinity and so fills the missing pixel values, so I started with exactly that. But of course that causes decrease of the image sharpness and sensor resolution is not yet dramatically higher than that of the lens, so a better (locally linear) de-mosaic algorithm was needed. There is a good overview and comparison of the different demosaicing methods (including the frequency domain ones) in the work by Xin Lia, Bahadir Gunturkb and Lei Zhang Image Demosaicing: A Systematic Survey, here we used rather simple one that meets our requirements of being a locally equivalent to a set of the linear filter for the color components
Image below show different stages of processing of the model image – that image was made of a fraction of the letter "W" (its bottom-left part) that was slightly blurred and multiplied by a cosine-based window function – the same one that was used for processing of the actual images with 50% overlapping 64x64pixel tiles (corresponding to 32×32 sensor real pixels). The top left tile shows the monochrome original, in the top right corner there are 2 of the 3 sensor color component mosaic outputs – blue channel is similar to the red one and is processed in the same way. Contrary to the power spectra of the normal 2×2 Bayer cell, the images below are illustrating the up-sampled data (2x), matching the processing of the images prepared for the convolution. The source mosaic cell here is 4×4 with all the 12 pixels inserted into the original 2×2 cell assigned zero values.
This model image has two of the most common feature that are present in the real life images and various de-mosaic algorithms have to deal with. One is a linear border between light and dark (shown as "B") and the other – a pair of the parallel borders of the opposite sign (wide line) – shown as "A". Second image tile is the power spectrum of the source image, it is center (zero frequency) symmetrical as all Fourier transforms of the real (no imaginary part) input data. The linear border (as B) shows as a pair of the opposite "rays" perpendicular to the original border. The phase part of the Fourier transform depends on the location of the border in the image, but the amplitude does not – regardless of where that line is, the amplitude "ray" will start from the zero point. Pair of the opposite sign lines in the source (spatial) representation appear as an amplitude-modulated ray (as visible on "A") – the closer the borders (narrower the line) the lower the frequency of the modulation would be.
Of course when we deal with the real image (not this model one) we do not have access either to the "source" image or to its spectrum, only to the sensor output (mosaics on the top right) and can calculate 2-d Fourier transforms of those (top middle, color corresponds to the pixel color). In that case the insufficient information from the sensor (missing pixels in the mosaics) lead to the appearance of the clones of the original spectra. In the case of the green components we have twice more (denser packaged) pixels than in the case of red (and blue) ones. And green spectra shows less of the clones, and out task is to separate the spectrum of the real image from those identical clones. If the source image is smooth, the spectrum would be narrow – small spot around the center, so the separation process would be simple – just cut the the circle around the center (zero) point with the radius about half of the distance to the center of the nearest clone – but that would be the low-pass filtering or "smoothing" that we already had to reject. The problem with the real life images that have distinct features with high-frequency components is that the their spectra extend far and overlap with those of the clones.
Next two rows show what happens with the isotropic (not relying on any image features) filtering. White dots mark the centers of the clones locations. Second row uses filtering with the radius of 1/2 of the distance to the nearest clone (larger in the case of green pixels as the clones are square root of 2 farter than for the red pixels). Columns 3 and 4 show the spectral amplitudes multiplied by the filter masks (columns 1,2) and the last (5,6) columns show the result of application of the same masks to the full (complex) frequency domain data and performing inverse Fourier transforms. As you can see the reconstructed images are blurred much more than the original, and still some artifacts are visible, and you can see that some parts of the clones spectra managed to get through even those narrow filters.
Third line shows similar filtering with 50% wider masks (3/4 of the distance to the nearest clone centers). Here most the "arms" of the center (true) spectra are preserved (so restored images are "sharper") but much more of the unwanted clone parts went through, so the result images show excessive artifacts.
Last line shows the result of adaptive filtering that analyses the shape of the spectra and uses "scissors" to cut the spectral areas where clones dominate from the area with the high amplitude of the central (true) spectral instance. In the process of calculating the optimal shape of such cut we are using the fact that the spectra of different color components (especially in the high frequency areas) are close to each other and some degree of lateral chromatic aberration (mismatch of the colors) will not break this similarity. So we can use the shape of the green component spectrum (were clones are farther) to find the shape of the cut for the red/blue ones where the overlap with the clones is much higher. Some improvements to the currently used discrimination algorithm is possible – you can see that red component still let through some of the clone spectral components that got very close to the zero point that caused "wave"-like artifact on the red restored image, but it is visibly smaller than the default isotropic filtering produced.
The method used is aimed at detecting linear features (as shown with "A" and "B"), extending the preserved spectra along the rays for these features until they overlap with the clone power spectra. It involves conversion of the power spectrum to the polar coordinates array with the coordinates of the clones aliases prepared as an array of lists during the initialization. Then the filter area is expanded along the rays following the highest value of the power spectrum modified to detect modulated ones (FFT of the thick lines) until reaching the aliases. The full power spectrum is used when building the green filter; with the red/blue the power spectrum is multiplied by the green filter that was determined first.
Currently the green mask is applied to red and blue channels, but the data from the red and blue channels is not yet applied to the green one. Partially it is done so as in the distance range of interest of the Eyesis camera the optical resolution of the green channel is the best (even as it is not true for the currently used set of images, where the target distance was shorter than needed and red channel had the smallest PSF), partially – well, we just did not look into it yet. Most published works are using the test images recorded with the ideal lenses where the chromatic aberration amounts (both axial and lateral) are negligible. Additional work is needed to properly combine the de-mosaic and convolution-based aberration correction procedures.
The quality of the separation of the main spectra from the clones greatly depends on the orientation of the image linear features with respect to the sensor pixel grid. For example precisely vertical lines have spectral "rays" horizontal, and red/blue components have un-separable overlap even at rather low frequencies (same is true for the 45-degree lines and green component). As there are many vertical and horizontal lines in many images it may make sense to have sensors (or better yet mosaic patterns) tilted (i.e. 22.5°) so longer spectral "rays" are possible to separate from those of the clones.
Combining the processing steps
With the needed de-mosaic algorithm working it became possible to combine all the processing steps together and get the enhanced images. Actually at the time of this writing we did not yet print the full size test pattern images (the patter should be at least at 6 meters from the camera) so we were experimenting with the pattern at just 2.25m, and so the other images were made from approximately the same distance. We hope to have the larger pattern soon and to be able to process the real outdoor images acquired with the Eyesis camera.
The overall processing consists of the two parts – calibration (done once) and processing of each of the acquired images. Currently all the processing is implemented in Java as plugins for ImageJ, the per-image processing will be optimized for possible use of the GPU – it should be rather easy as most time-consuming parts are forward and inverse fast Fourier transforms (currently 128×128 for convolution and 64×64 for de-mosaic).
Calibration part involves
- Measuring PSF for different parts of the image area,
- Combining results from multiple images (otherwise we need about 5mx7m pattern that would not fit in out premises)
- Interpolating PSF to the finer grid, matching the convolution kernel
- Duplicating (or even extrapolating) PSF array to cover margins of the image – areas not covered in the measurement procedure
- Inverting and filtering the interpolated PSF array
With the current implementations these steps take about 1.5 hours of the processing time per camera. This can definitely be optimized (originally the per-image processing was also running about that time) but it is not so critical – such calibration is required only once per camera.
Per image processing includes (times are for the processing on a one core of the 3GHz Intel I7 CPU):
- splitting Bayer mosaic 2592×1936 image into color channels, upsampling it and adding margins around the image by replicating pixel patterns to reduce border effects during convolution using overlapping tiles – that process takes few seconds and results in 5248×3936 3-slice 32-bit images,
- De-mosaic of the image using 64×64 tiles overlapped by 50% (32 pixels) – 50seconds
- Convolving the result image with the inverted PSF kernel array – 108 seconds.
- Convolving same image after de-mosaic processing with the Gaussian kernels having the same centers (lateral chromatic aberration correction) as the measured and inverted PSF, this is used for the processing of the smooth areas to reduce noise. This step can be optimized, currently it is the same computation as the previous step – 108 seconds
- Combining results of 3 and 4 using threshold: areas with no details use the convolution with the Gaussian (resulting in less noise), areas with more high frequency components use "sharpened" image from step 4 – few seconds
- Combining colors – converting to YCbCr, low-pass filtering of the color components and converting back to RGB. This step can be improved to better combine Y (intensity) channel from individual colors. Currently it also takes a few seconds.
Preliminary results
The illustrations below show small segments of the original and processed images, "full size" images that open when you click on the small ones below are scaled 4x from the original, the top left (dark) image shows the registered image as a mosaic of the color dots, corresponding to the actual sensor pixels. All the other images (but the VNG-interpolated produced by the external Ufraw program) are converted from the 3-component stacks to the color images using the same algorithm for comparison, during the normal processing only the final color stack is converted to color RGB image.
Second image in the top row shows the source image subject to a Gaussian blurring (and simultaneous lateral aberration correction). This image has the lowest sharpness but also the lowest noise – it is used in the areas where the amount of high spatial frequency is low. The rightmost image in the top row show the original processed by VNG (variable number of gradients) interpolation algorithm without additional sharpening.
The bottom left image shows the result of application of the frequency domain "spectral scissors" de-mosaic filtering. Next image the result of the deconvolution (sharpness enhancement) applied to that de-convolved image. While the sharpness is improved there is visible noise over the smooth areas (i.e. on the background). The last image combines the convolved one in all the areas where significant amount of high spatial frequency components is present, switching to the low sharpness/low noise in the smooth areas where the noise is most visible.
There is animated gif image – in is included near the top of the article that alternates between completely processed and just demosaiced images (same as bottom right and bottom left here). Another gif alternates between processed and de-mosaiced with a VNG, but as they were processed using different toolchain, the colors somewhat mismatch.
Download archived GIMP file that combines these (scaled 4x) images as layers:processing-comparison.xcf_.tar.gz |
The camera and the lens used for the described processing were not the top quality, we hope to be able to show the production images soon. The lens used so far was the one rejected for the Eyesis – we intentionally wanted to try software using the "worst case" optics, it had about 40% wider PSF than the lenses we use in the cameras. The test patter was much closer than the depth of field limit (2.25m instead of the 6m) as mentioned above, the camera itself was open combination of the sensor front end and the system board – same setup as used for the lens focusing. That left the sensor board open to the ambient light that resulted in the partially "washed out" image caused by the stray light. The software while being available for download from the very start of the development under the GNU GPLv3 free software license also needs some clean up (currently the main file is just some 15K lines of code) to become really useful for others, but please be assured it will not stay long in this state – we need it working efficiently and being easy to modify in the future.
Just following the release early, release often philosophy.


text:
From New York Times bestselling author, Lauren Willig, comes this scandalous novel set in the Gilded Age, full of family secrets, affairs, and even murder.
The English Wife: A Novel
by Lauren Willig
(205 Reviews)
Genre: Historical Fiction | Thrillers
Annabelle and Bayard Van Duyvil live a charmed life in New York: he's the scion of an old Knickerbocker family, she grew up in a Tudor manor in England, they had a whirlwind romance in London, they have three year old twins on whom they dote, and he's recreated her family home on the banks of the Hudson and renamed it Illyria. Yes, there are rumors that she's having an affair with the architect, but rumors are rumors and people will gossip. But then Bayard is found dead with a knife in his chest on the night of their Twelfth Night Ball, Annabelle goes missing, presumed drowned, and the papers go mad. Bay's sister, Janie, forms an unlikely alliance with a reporter to uncover the truth, convinced that Bay would never have killed his wife, that it must be a third party, but the more she learns about her brother and his wife, the more everything she thought she knew about them starts to unravel. Who were her brother and his wife, really? And why did her brother die with the name George on his lips?
Click here to get this book for $2.99
° ° ° ° ° ° ° ° ° ° ° ° ° °


text:
Editor's note: The following is extracted from All Things Considered, by G.K. Chesterton (published 1915).
It is obvious that there is a great deal of difference between being international and being cosmopolitan. All good men are international. Nearly all bad men are cosmopolitan. If we are to be international we must be national. And it is largely because those who call themselves the friends of peace have not dwelt sufficiently on this distinction that they do not impress the bulk of any of the nations to which they belong. International peace means a peace between nations, not a peace after the destruction of nations, like the Buddhist peace after the destruction of personality. The golden age of the good European is like the heaven of the Christian: it is a place where people will love each other; not like the heaven of the Hindu, a place where they will be each other. And in the case of national character this can be seen in a curious way. It will generally be found, I think, that the more a man really appreciates and admires the soul of another people the less he will attempt to imitate it; he will be conscious that there is something in it too deep and too unmanageable to imitate. The Englishman who has a fancy for France will try to be French; the Englishman who admires France will remain obstinately English. This is to be particularly noticed in the case of our relations with the French, because it is one of the outstanding peculiarities of the French that their vices are all on the surface, and their extraordinary virtues concealed. One might almost say that their vices are the flower of their virtues.
Thus their obscenity is the expression of their passionate love of dragging all things into the light. The avarice of their peasants means the independence of their peasants. What the English call their rudeness in the streets is a phase of their social equality. The worried look of their women is connected with the responsibility of their women; and a certain unconscious brutality of hurry and gesture in the men is related to their inexhaustible and extraordinary military courage. Of all countries, therefore, France is the worst country for a superficial fool to admire. Let a fool hate France: if the fool loves it he will soon be a knave. He will certainly admire it, not only for the things that are not creditable, but actually for the things that are not there. He will admire the grace and indolence of the most industrious people in the world. He will admire the romance and fantasy of the most determinedly respectable and commonplace people in the world. This mistake the Englishman will make if he admires France too hastily; but the mistake that he makes about France will be slight compared with the mistake that he makes about himself. An Englishman who professes really to like French realistic novels, really to be at home in a French modern theatre, really to experience no shock on first seeing the savage French caricatures, is making a mistake very dangerous for his own sincerity. He is admiring something he does not understand. He is reaping where he has not sown, and taking up where he has not laid down; he is trying to taste the fruit when he has never toiled over the tree. He is trying to pluck the exquisite fruit of French cynicism, when he has never tilled the rude but rich soil of French virtue.
The thing can only be made clear to Englishmen by turning it round. Suppose a Frenchman came out of democratic France to live in England, where the shadow of the great houses still falls everywhere, and where even freedom was, in its origin, aristocratic. If the Frenchman saw our aristocracy and liked it, if he saw our snobbishness and liked it, if he set himself to imitate it, we all know what we should feel. We all know that we should feel that that particular Frenchman was a repulsive little gnat. He would be imitating English aristocracy; he would be imitating the English vice. But he would not even understand the vice he plagiarised: especially he would not understand that the vice is partly a virtue. He would not understand those elements in the English which balance snobbishness and make it human: the great kindness of the English, their hospitality, their unconscious poetry, their sentimental conservatism, which really admires the gentry. The French Royalist sees that the English like their King. But he does not grasp that while it is base to worship a King, it is almost noble to worship a powerless King. The impotence of the Hanoverian Sovereigns has raised the English loyal subject almost to the chivalry and dignity of a Jacobite. The Frenchman sees that the English servant is respectful: he does not realise that he is also disrespectful; that there is an English legend of the humorous and faithful servant, who is as much a personality as his master; the Caleb Balderstone, the Sam Weller. He sees that the English do admire a nobleman; he does not allow for the fact that they admire a nobleman most when he does not behave like one. They like a noble to be unconscious and amiable: the slave may be humble, but the master must not be proud. The master is Life, as they would like to enjoy it; and among the joys they desire in him there is none which they desire more sincerely than that of generosity, of throwing money about among mankind, or, to use the noble mediæval word, largesse—the joy of largeness. That is why a cabman tells you are no gentleman if you give him his correct fare. Not only his pocket, but his soul is hurt. You have wounded his ideal. You have defaced his vision of the perfect aristocrat. All this is really very subtle and elusive; it is very difficult to separate what is mere slavishness from what is a sort of vicarious nobility in the English love of a lord. And no Frenchman could easily grasp it at all. He would think it was mere slavishness; and if he liked it, he would be a slave. So every Englishman must (at first) feel French candour to be mere brutality. And if he likes it, he is a brute. These national merits must not be understood so easily. It requires long years of plenitude and quiet, the slow growth of great parks, the seasoning of oaken beams, the dark enrichment of red wine in cellars and in inns, all the leisure and the life of England through many centuries, to produce at last the generous and genial fruit of English snobbishness. And it requires battery and barricade, songs in the streets, and ragged men dead for an idea, to produce and justify the terrible flower of French indecency.
When I was in Paris a short time ago, I went with an English friend of mine to an extremely brilliant and rapid succession of French plays, each occupying about twenty minutes. They were all astonishingly effective; but there was one of them which was so effective that my friend and I fought about it outside, and had almost to be separated by the police. It was intended to indicate how men really behaved in a wreck or naval disaster, how they break down, how they scream, how they fight each other without object and in a mere hatred of everything. And then there was added, with all that horrible irony which Voltaire began, a scene in which a great statesman made a speech over their bodies, saying that they were all heroes and had died in a fraternal embrace. My friend and I came out of this theatre, and as he had lived long in Paris, he said, like a Frenchman: "What admirable artistic arrangement! Is it not exquisite?" "No," I replied, assuming as far as possible the traditional attitude of John Bull in the pictures in Punch—"No, it is not exquisite. Perhaps it is unmeaning; if it is unmeaning I do not mind. But if it has a meaning I know what the meaning is; it is that under all their pageant of chivalry men are not only beasts, but even hunted beasts. I do not know much of humanity, especially when humanity talks in French. But I know when a thing is meant to uplift the human soul, and when it is meant to depress it. I know that 'Cyrano de Bergerac' (where the actors talked even quicker) was meant to encourage man. And I know that this was meant to discourage him." "These sentimental and moral views of art," began my friend, but I broke into his words as a light broke into my mind. "Let me say to you," I said, "what Jaurès said to Liebknecht at the Socialist Conference: 'You have not died on the barricades'. You are an Englishman, as I am, and you ought to be as amiable as I am. These people have some right to be terrible in art, for they have been terrible in politics. They may endure mock tortures on the stage; they have seen real tortures in the streets. They have been hurt for the idea of Democracy. They have been hurt for the idea of Catholicism. It is not so utterly unnatural to them that they should be hurt for the idea of literature. But, by blazes, it is altogether unnatural to me! And the worst thing of all is that I, who am an Englishman, loving comfort, should find comfort in such things as this. The French do not seek comfort here, but rather unrest. This restless people seeks to keep itself in a perpetual agony of the revolutionary mood. Frenchmen, seeking revolution, may find the humiliation of humanity inspiring. But God forbid that two pleasure-seeking Englishmen should ever find it pleasant!"


text:
Don't Outsource Local News
Is there any job that can't be outsourced?
Now even the local news is being sent overseas. Media giants including Tribune Company and Hearst Corporation have outsourced local news — to content farms in the Philippines.
According to a major report from This American Life,1 several prominent media corporations have outsourced local news production in cities like Chicago, San Francisco and Houston to Journatic, a company that hires underpaid workers in the Philippines to create local news stories for newspapers in the United States.
News organizations must be accountable to the communities in which they operate. That means hiring reporters who work among us and walk the same streets, who have direct ties to the people and issues that affect our lives.
Sign this letter to tell media executives across the country that you can't fake local news. They need to know that local means local.
1. "Switcheroo," This American Life: http://www.thisamericanlife.org/radio-archives/episode/468/switcheroo


text:
Today in southern Ukraine, an evacuation convoy took more civilians out of the battered city of Mariupol. For weeks, they've been hiding out under a massive steel plant. Hundreds of civilians are still trapped there, along with an estimated 2,000 Ukrainian fighters, and many of them are wounded. They've refused to surrender to the Russian invaders even as conditions grow worse.
NPR's Joanna Kakissis is following the story from the Ukrainian city of Dnipro and joins us now. Hi, Joanna.
JOANNA KAKISSIS, BYLINE: Hi, Ari.
SHAPIRO: First, bring us up to speed on the evacuation of civilians. What's the latest?
KAKISSIS: So the evacuees from the Azovstal plant in Mariupol were supposed to arrive today in the southern city of Zaporizhzhia. We were waiting for roughly 100 evacuees. These are mostly women and children who have not seen sunlight for a month. But the convoys are actually still making their way to safety. There's been some confusion about why. The mayor of Mariupol is really angry. He's blaming the Russians for the delay.
The U.N. and the Red Cross managed to set up these evacuations by securing a short ceasefire from Russia. But after the evacuees left, the Russians began bombing Mariupol again. And the Russians have destroyed the southern port city. Nearly all the buildings are rubble, and Ukrainian authorities say tens of thousands of people may actually still be in the city. The Azovstal plant is the only part of Mariupol that is not occupied by Russian troops.
SHAPIRO: You've been speaking with somebody who is sheltering in that plant, a soldier. What has he told you about the conditions there?
KAKISSIS: So yeah, we've been speaking with a naval border guard named Stanislav Kerod. He's a husband and a father and a native of Mariupol. And I wanted to see what life was like for him and others inside this plant, which, you know, kind of feels like a last stand of sorts. So about a week ago, NPR started exchanging voice memos with Stanislav Kerod. Iryna Matviyishyn, one of NPR's local producers in Ukraine - she sent him questions in Ukrainian and translated his answers.
SHAPIRO: OK. Let's listen.
KAKISSIS: The first message from Stanislav Kerod is grim.
STANISLAV KEROD: (Through interpreter) The situation is really catastrophic, and it's getting worse every day. We can't do anything about it because we're trapped. No one can bring us any kind of aid.
KAKISSIS: Kerod describes watching army medics dress wounds with whatever is available - water, rags, plastic bags.
KEROD: (Speaking Ukrainian).
KAKISSIS: He explains that moving around the labyrinth of tunnels under the Azovstal plant is dangerous even though the space stretches for miles. The Russians attack it repeatedly.
KEROD: (Through interpreter) How can anyone leave the plant if it's under airstrikes and shelling 24/7? If we leave this bunker, we die.
KAKISSIS: What needs to be done, above all, he says, is to take civilians out, especially those who are wounded. He assures us that the morale among the soldiers here is high, though more than 500 are injured.
KEROD: (Through interpreter) We're all together here - the fighters of the Azov regiment as well as the naval infantry, 36th brigade, the land border guards and my group, the naval border guard. The police and volunteers from the territorial defense are also here.
KAKISSIS: He says they will hold onto Mariupol as long as they are alive. A couple of days later, we receive more voice memos. There's talk of an evacuation plan, though previous ones have been blocked by the Russians.
KEROD: (Speaking Ukrainian).
KAKISSIS: He says he and the other soldiers have been doing whatever they can to help civilians, many of whom are women and children.
KEROD: (Through interpreter) We're trying to help civilians with food and medicine. We will not leave them hungry and fighting for survival, but we can only share what we have.
KAKISSIS: And that's not much. Food, water, medical supplies, hygienic products - they're all running low. In one photo released on social media, a toddler wears a plastic bag as a diaper.
Kerod's family is not under the plant or anywhere in Mariupol.
KEROD: (Through interpreter) I sent them to a safer city inside Ukraine. My family wants to stay in Ukraine, and I also think it's unacceptable for us to leave. We have to stay and do everything we can to support our country.
KAKISSIS: He has heard that there are high-level negotiations to evacuate injured soldiers, but he is staying. He says he will fight.
KEROD: (Speaking Ukrainian).
KAKISSIS: He says, "all of us soldiers who are not injured will keep defending Ukraine, and we will only leave with weapons in our hands, stepping on territory that is Ukraine's."
Joanna Kakissis, NPR News, Dnipro.
(SOUNDBITE OF HIPPIE SABOTAGE SONG, "OM") Transcript provided by NPR, Copyright NPR.


text:
Beverley On-Site Paint Spraying Services
Our company offers premier commercial and industrial on-site spraying, coatings, and cladding repair services in and around Beverley.
We can attain perfect painting solutions across a wide assortment of surfaces with careful surface preparation (including deep cleaning and priming of the area) and the use of the highest quality paints and protective coatings available.
Our experienced on-site paint sprayers are trained and equipped in all aspects of sophisticated paint spraying, including giromax seamsil, powder coatings and anti-bacterial food-safe painting.
Some of our On-site paint Spraying
Cost-effective paint spraying and restoration services that come with a 25-year guarantee as standard, all coatings and painting contracts we undertake are 100% guaranteed to endure.
We provide a wide range of spray painting, repair and exterior building refurbishment services in Beverley. These services include specialist fireproof protective coatings to cladding and factory metal panel repairs, respraying and anti-bacterial protection in the food safety industry.
prices are low compared to other contractors, and we guarantee to beat any genuine quote you may have received. Initial on-site quotes and general advice is always free of charge with no obligation to use our services.
Our experienced staff are carefully selected, trained, fully accredited, insured and trained to deliver tailored painting service on time and budget.
All Spray Painting Work Undertaken
We can accommodate both large scale commercial and industrial painting as well as small scale domestic paint repairs from entire interior and exterior shopfront spraying and cladding refurbishments to aluminium window frames, curtain walling, metal shutters and doors in need of general renovation or a special protective coating such as fire protective paint.
We use the paint coatings to provide an aesthetically pleasing finish to your building and provide a long-lasting, durable paint coating ideal for protecting the underlying surface of the buildings' metal, steel, aluminium, and UPVC from the elements and day to day wear and tear.
Services we provide include:-
- Airless paint spraying
- Intumescent coatings
- Cladding panel repairs and painting
- Shop-front paint renovations and refurbishments
- Powder coating repair and reapplication
- Interior spay painting
- Exterior paint spraying
- Airless paint spraying
- Anti-bacterial floor coatings
- Fire protective painting
- Electrostatic paint spraying
Customer Reviews
We have used Riolett for the past three years for all of our external property maintenance, and they are very friendly, cost-efficient and most important turn on when they say they will. After using several other companies, we are pleased to have sourced a reliable partner such as Riolett.
Seeking a dependable on-site spraying contractor near me in Beverley or anywhere across the UK? Contact us today.