Latest YouTube Video

Saturday, November 11, 2017

anonymous

PostSecret is an ongoing community art project where people mail in their secrets anonymously on one side of a postcard. Your secrets, posted here, ...

from Google Alert - anonymous http://ift.tt/2ySVcHc
via IFTTT

Anonymous legislation? Democratic leader says it's not a good idea

Kansas House Minority Leader Jim Ward, a Wichita Democrat who is running for governor, discusses his opposition to anonymous bills. Ward also ...

from Google Alert - anonymous http://ift.tt/2hwsDaR
via IFTTT

Mothers In Law Anonymous: A Place To Air Your Frustrations

Mothers in Law Anonymous is an online community forum where you're encouraged to "Dish, vent or ask for advice about the mother-in-law and ...

from Google Alert - anonymous http://ift.tt/2AwMqec
via IFTTT

Anonymous

View real student profiles to see their academic background, extracurriculars, and college admissions chances. Sign up for Parchment to see your ...

from Google Alert - anonymous http://ift.tt/2jkRE9v
via IFTTT

Anonymous in italian

Would you like to know how to translate Anonymous to Italian? This page provides all possible translations of the word Anonymous in the Italian ...

from Google Alert - anonymous http://ift.tt/2AvktU8
via IFTTT

A Colourful Moon


The Moon is normally seen in subtle shades of grey. But small, measurable color differences have been greatly exaggerated in this mosaic of high-resolution images captured near the Moon's full phase, to construct a multicolored, central moonscape. The different colors are recognized to correspond to real differences in the mineral makeup of the lunar surface. Blue hues reveal titanium rich areas while more orange and purple colors show regions relatively poor in titanium and iron. The intriguing Sea of Vapors, or Mare Vaporum, is below center in the frame with the sweeping arc of the lunar Montes Apenninus (Apennine Mountains) above it. The dark floor of 83 kilometer diameter Archimedes crater within the Sea of Rains, or Mare Imbrium, is toward the top left. Near the gap at the top of the Apennine's arc is the Apollo 15 landing site. Calibrated by rock samples returned by the Apollo missions, similar multicolor images from spacecraft have been used to explore the Moon's global surface composition. via NASA http://ift.tt/2zrdKNZ

Friday, November 10, 2017

Narcotics Anonymous

Narcotics Anonymous. Meets every Thursday, 7 p.m. – 8 p.m. at the Red Lodge Area Community Foundation, 122 S. Hauser. It is open to all.

from Google Alert - anonymous http://ift.tt/2zt7kOp
via IFTTT

The Culture of Alcoholics Anonymous Perpetuates Sexual Abuse

Leslie (who wishes to remain anonymous) was in AA for five years before she left, and says sexual harassment within the program is vastly different ...

from Google Alert - anonymous http://ift.tt/2jh1IQU
via IFTTT

Anonymous

Anonymous. Country Life. Nov 10, 2017. Share. My Best Friend Nearly Ruined My Wedding. "My husband and I spent the last hour of our wedding ...

from Google Alert - anonymous http://ift.tt/2iLF6El
via IFTTT

AL East Offseason Preview: What big question is facing each team? (ESPN)

from ESPN http://ift.tt/1eW1vUH
via IFTTT

Lit Manager & Producer at Anonymous Content Desires Assistant

Lit Manager & Producer at Anonymous Content Desires Assistant · November 10, 2017. You must Login or Register to view this content. Share This ...

from Google Alert - anonymous http://ift.tt/2yqniFi
via IFTTT

Appeals court rules Glassdoor must reveal identities of anonymous users

The United States Court of Appeals for the Ninth Circuit recently ruled Glassdoor, a site allowing people to anonymously review their employers, must ...

from Google Alert - anonymous http://ift.tt/2i0FcZd
via IFTTT

Landon Collins Backs Up Ben McAdoo In Wake Of Anonymous Ripping

Here's what Landon Collins had to say about Ben McAdoo and where the team is at in terms of fracture:

from Google Alert - anonymous http://ift.tt/2AteVJx
via IFTTT

Judge rules company must hand over names of anonymous contributors

PHOENIX – Those comments you post online about your employer — and others — may not be as anonymous as you thought.

from Google Alert - anonymous http://ift.tt/2yOSYZj
via IFTTT

“Romantics Anonymous” Review of Shakespeare's Globe Theatre

Shakespeare's Globe Theatre: Romantics Anonymous - See 7147 traveler reviews, 2526 candid photos, and great deals for London, UK, ...

from Google Alert - anonymous http://ift.tt/2iMf1ES
via IFTTT

Free anonymous proxy server list usa

Washington DC, Utax, Texas proxy servers ProxyListPro, the FREE anonymous PROXY. org is the OLDEST free proxy list provider in the world, we are ...

from Google Alert - anonymous http://ift.tt/2zxDUMC
via IFTTT

Anonymous Donation Honors Veterans at Memorial Park

Anonymous Donation Honors Veterans at Memorial Park. (November 9, 2017). The Omaha Parks Department has received a $200,000 donation to ...

from Google Alert - anonymous http://ift.tt/2ynFcZe
via IFTTT

Williamina Fleming s Triangular Wisp


Chaotic in appearance, these tangled filaments of shocked, glowing gas are spread across planet Earth's sky toward the constellation of Cygnus as part of the Veil Nebula. The Veil Nebula itself is a large supernova remnant, an expanding cloud born of the death explosion of a massive star. Light from the original supernova explosion likely reached Earth over 5,000 years ago. Blasted out in the cataclysmic event, the interstellar shock waves plow through space sweeping up and exciting interstellar material. The glowing filaments are really more like long ripples in a sheet seen almost edge on, remarkably well separated into the glow of ionized hydrogen atoms shown in red and oxygen in blue hues. Also known as the Cygnus Loop, the Veil Nebula now spans nearly 3 degrees or about 6 times the diameter of the full Moon. While that translates to over 70 light-years at its estimated distance of 1,500 light-years, this field of view spans less than one third that distance. Often identified as Pickering's Triangle for a director of Harvard College Observatory, the the complex of filaments is cataloged as NGC 6979. It is also known for its discoverer, astronomer Williamina Fleming, as Fleming's Triangular Wisp. via NASA http://ift.tt/2zIS7cI

Thursday, November 9, 2017

Players upset with anonymous report ripping McAdoo

EAST RUTHERFORD, N.J. (AP) — Ben McAdoo and players are in a defensive mode after published comments by two anonymous New York Giants ...

from Google Alert - anonymous http://ift.tt/2zvDQgo
via IFTTT

Alcoholic Anonymous-Fairfax Public Library

Alcoholic Anonymous-Fairfax Public Library. ... Alcoholic Anonymous-Fairfax Public Library. November 9 @ 7:00 pm. |Recurring Event (See all).

from Google Alert - anonymous http://ift.tt/2yMo6IW
via IFTTT

I have a new follower on Twitter


Rebecca Eddington
Heу ;) I'm loоking for a seх. Come to me, chесk at link on pics


Following: 124 - Followers: 6

November 09, 2017 at 05:16PM via Twitter http://twitter.com/seppmeyer

Business owner receives anonymous apology letter for suspected truck damage

A business owner in Moline received an anonymous apology letter from someone who thought they caused damage to his construction truck.

from Google Alert - anonymous http://ift.tt/2hfRXhD
via IFTTT

ISS Daily Summary Report – 11/08/2017

Airway Monitoring:  Using the Portable Pulmonary Function System (PFS), the crew performed calibrations and conducted high and low nitric oxide (NO) measurements in the US Laboratory. The Airway Monitoring investigation aims to determine the pulmonary nitric oxide turnover in weightlessness and in combined weightless, hypobaric and hypoxic environments, as well as the lung diffusion capacity … Continue reading "ISS Daily Summary Report – 11/08/2017"

from ISS On-Orbit Status Report http://ift.tt/2ApnQMl
via IFTTT

Vault 8: WikiLeaks Releases Source Code For Hive - CIA's Malware Control System

Almost two months after releasing details of 23 different secret CIA hacking tool projects under Vault 7 series, Wikileaks today announced a new Vault 8 series that will reveal source codes and information about the backend infrastructure developed by the CIA hackers. Not just announcement, but the whistleblower organisation has also published its first batch of Vault 8 leak, releasing source


from The Hacker News http://ift.tt/2jcyxyp
via IFTTT

Anonymous: Causa

Free Shipping. Buy Anonymous: Causa at Walmart.com.

from Google Alert - anonymous http://ift.tt/2Antv5D
via IFTTT

Anonymous in-line question: "Are you satisfied with this answer?"

I just noticed how Quora asks me to vote anonymously: [image] I think these votes are used somehow to rank questions and answers. What's more ...

from Google Alert - anonymous http://ift.tt/2hWlfmi
via IFTTT

Russian 'Fancy Bear' Hackers Using (Unpatched) Microsoft Office DDE Exploit

Cybercriminals, including state-sponsored hackers, have started actively exploiting a newly discovered Microsoft Office vulnerability that Microsoft does not consider as a security issue and has already denied to patch it. Last month, we reported how hackers could leverage a built-in feature of Microsoft Office feature, called Dynamic Data Exchange (DDE), to perform code execution on the


from The Hacker News http://ift.tt/2hUUv5y
via IFTTT

Hacker Distributes Backdoored IoT Vulnerability Scanning Script to Hack Script Kiddies

Nothing is free in this world. If you are searching for free hacking tools on the Internet, then beware—most freely available tools, claiming to be the swiss army knife for hackers, are nothing but a hoax. For example, Cobian RAT and a Facebook hacking tool that we previously reported on The Hacker News actually could hack, but of the one who uses them and not the one you desire to hack.


from The Hacker News http://ift.tt/2AvpXPt
via IFTTT

NGC 1055 Close up


Big, beautiful spiral galaxy NGC 1055 is a dominant member of a small galaxy group a mere 60 million light-years away toward the aquatically intimidating constellation Cetus. Seen edge-on, the island universe spans over 100,000 light-years, a little larger than our own Milky Way. The colorful stars in this cosmic close-up of NGC 1055 are in the foreground, well within the Milky Way. But the telltale pinkish star forming regions are scattered through winding dust lanes along the distant galaxy's thin disk. With a smattering of even more distant background galaxies, the deep image also reveals a boxy halo that extends far above and below the central bluge and disk of NGC 1055. The halo itself is laced with faint, narrow structures, and could represent the mixed and spread out debris from a satellite galaxy disrupted by the larger spiral some 10 billion years ago. via NASA http://ift.tt/2AsB3oa

Wednesday, November 8, 2017

I have a new follower on Twitter


Epiphan Video
Epiphan Video produces award-winning audio visual solutions to capture, scale, mix, encode, #livestream, record & play high-resolution video. #ProAV #livevideo
Ottawa, ON
http://t.co/VIxbCYGm4S
Following: 3652 - Followers: 9706

November 08, 2017 at 09:56PM via Twitter http://twitter.com/EpiphanVideo

Anonymous donor pledges $10M to Focused Ultrasound Foundation

An anonymous donor pledged $10 million, which will be matched, to the Focused Ultrasound Foundation. Matched donations will be used to support ...

from Google Alert - anonymous http://ift.tt/2AtTqJF
via IFTTT

Anonymous Speech Online Dealt a Blow in US v. Glassdoor Opinion

First Amendment protections for anonymous speech online were dealt a serious blow earlier today when the United States Court of Appeals for the ...

from Google Alert - anonymous http://ift.tt/2ykv181
via IFTTT

[FD] AST-2017-009: Buffer overflow in pjproject header parsing can cause crash in Asterisk

Asterisk Project Security Advisory - AST-2017-009 Product Asterisk Summary Buffer overflow in pjproject header parsing can cause crash in Asterisk Nature of Advisory Denial of Service Susceptibility Remote Unauthenticated Sessions Severity Critical Exploits Known No Reported On October 5, 2017 Reported By Youngsung Kim at LINE Corporation Posted On Last Updated On October 25, 2017 Advisory Contact gjoseph AT digium DOT com CVE Name Description By carefully crafting invalid values in the Cseq and the Via header port, pjproject’s packet parsing code can create strings larger than the buffer allocated to hold them. This will usually cause Asterisk to crash immediately. The packets do not have to be authenticated. Resolution Stricter validation is now done on strings that represent numeric values before they are converted to intrinsic types. Invalid values now cause packet processing to stop and error messages to be emitted. Affected Versions Product Release Series Asterisk Open Source 13.x All Releases Asterisk Open Source 14.x All Releases Asterisk Open Source 15.x All Releases Certified Asterisk 13.13 All Releases Corrected In Product Release Asterisk Open Source 13.18.1, 14.7.1, 15.1.1 Certified Asterisk 13.13-cert7 Patches SVN URL Revision http://ift.tt/2hVqjaC Asterisk 13 http://ift.tt/2yiMttu Asterisk 14 http://ift.tt/2hVqjYa Asterisk 15 http://ift.tt/2yhKg1a Certified Asterisk 13.13 Links http://ift.tt/2hVqlzg Asterisk Project Security Advisories are posted at http://ift.tt/12wGWyz This document may be superseded by later versions; if so, the latest version will be posted at http://ift.tt/2hToOcT and http://ift.tt/2yiMvS8 Revision History Date Editor Revisions Made October 25, 2017 George Joseph Initial Revision Asterisk Project Security Advisory - AST-2017-009 Copyright © 2017 Digium, Inc. All Rights Reserved. Permission is hereby granted to distribute and publish this advisory in its original, unaltered form.

Source: Gmail -> IFTTT-> Blogger

ISS Daily Summary Report – 11/07/2017

Personal Radiation Shielding for Interplanetary Missions (PERSEO):  Today the crew performed an initial checkout of a radiation shielding garment for the Italian Space Agency (ASI) PERSEO Project. They filled the garment with water, donned the garment, and later doffed the garment before draining the water.  PERSEO evaluates the efficacy of a personal radiation protection system, … Continue reading "ISS Daily Summary Report – 11/07/2017"

from ISS On-Orbit Status Report http://ift.tt/2m1Vs0i
via IFTTT

8th Street, Ocean City, MD's surf is at least 5.02ft high

Maryland-Delaware, November 09, 2017 at 02:00AM

8th Street, Ocean City, MD Summary
At 2:00 AM, surf min of 5.02ft. At 8:00 AM, surf min of 3.84ft. At 2:00 PM, surf min of 3.75ft. At 8:00 PM, surf min of 3.33ft.

Surf maximum: 5.22ft (1.59m)
Surf minimum: 5.02ft (1.53m)
Tide height: 1.76ft (0.54m)
Wind direction: NE
Wind speed: 10.3 KTS


from Surfline http://ift.tt/1kVmigH
via IFTTT

Anonymous, Therefore Free?

From Romain Gary to Daft Punk, to Anonymous, anonymity ironically takes on many different shapes. This debate with Yann Perreau, author of the ...

from Google Alert - anonymous http://ift.tt/2m5OC9Y
via IFTTT

Anonymous User

Anonymous User on CrowdRise. ... Anonymous User's Fundraisers. 24,000 is so much more than a number! 24,000 is so much more than … Amount ...

from Google Alert - anonymous http://ift.tt/2yGWapB
via IFTTT

Anonymous tip sends police on hunt for body

Anonymous tip sends police on hunt for body ... A tip from an anonymous caller led police to a search for a body in East New York Monday and ...

from Google Alert - anonymous http://ift.tt/2m3zMAT
via IFTTT

Oh, Crap! Someone Accidentally Triggered A Flaw That Locked Up $280 Million In Ethereum

Horrible news for some Ethereum users. About $300 million worth of Ether—the cryptocurrency unit that has become one of the most popular and increasingly valuable cryptocurrencies—from dozens of Ethereum wallets was permanently locked up today. Smart contract coding startup Parity Technologies, which is behind the popular Ethereum Parity Wallet, announced earlier today that its "multisignature"


from The Hacker News http://ift.tt/2yglxug
via IFTTT

Tuesday, November 7, 2017

Anonymous spoiler threatens to release list of Skulls winners ahead of Friday night presentation

Three days out from its biggest night of the year, the PADC has been rocked by an anonymous source calling themselves 'The Skulls Spoiler', who ...

from Google Alert - anonymous http://ift.tt/2yFn5lR
via IFTTT

Anonymous tip sends police on hunt for body

A tip from an anonymous caller led police to a search for a body in East New York Monday and Tuesday.

from Google Alert - anonymous http://ift.tt/2zov04b
via IFTTT

Captain Anonymous

Tinkercad user Captain Anonymous. ... Sign in. SIGN UP. Captain Anonymous. Captain Anonymous's Things. Original Fidget Spinner (You need ...

from Google Alert - anonymous http://ift.tt/2hdNKex
via IFTTT

Anonymous - Chef

Anonymous - Chef – Boston Restaurant Jobs - BostonChefs.com's Industry Insider, the best jobs at Boston restaurants.

from Google Alert - anonymous http://ift.tt/2yd34yP
via IFTTT

Prof_ARS

r <-0; count = 1; count_up = 0; y <- matrix(0,n,1); u <- 1;count<-1. while(count < (n+1)) {. y0 <- Drawanal(1,t = grid_env, env)$draws.

from Google Alert - anonymous http://ift.tt/2zqlcXn
via IFTTT

Jquery doesn't work for anonymous users

slideDown(1000); }); I'm trying to do some simple jquery(code above) but it seems it doesn't work for anonymous users only when I'm logged in.

from Google Alert - anonymous http://ift.tt/2yfXBaz
via IFTTT

Anonymous meeting join fails if the meeting organizer is disabled for federation in Skype for ...

When you join a meeting from a different organization that's federated with your organization through a meeting link in Microsoft Skype for Business ...

from Google Alert - anonymous http://ift.tt/2zpRQdu
via IFTTT

📈 Ravens rise three spots to No. 20 in Week 10 Power Rankings (ESPN)

from ESPN http://ift.tt/17lH5T2
via IFTTT

Newly Uncovered 'SowBug' Cyber-Espionage Group Stealing Diplomatic Secrets Since 2015

A previously unknown hacking and cyber-espionage group that has been in operation since at least 2015 have conducted a series of highly targeted attacks against a host of government organizations in South America and Southeast Asia to steal their sensitive data. Codenamed Sowbug, the hacking group has been exposed by Symantec security researchers, who spotted the group conducting clandestine


from The Hacker News http://ift.tt/2ydJtOK
via IFTTT

ISS Daily Summary Report – 11/06/2017

MBSU transfer and installation:  On Friday, ground controllers attempted to transfer the recently repaired spare Main Bus Switching Unit (MBSU) through the Japanese Experiment Module (JEM) Airlock (A/L) and install it on its stowage location on External Stowage Platform 2 (ESP2).  The JEM A/L outer door opened as commanded, but the slide table did not … Continue reading "ISS Daily Summary Report – 11/06/2017"

from ISS On-Orbit Status Report http://ift.tt/2zo1AD2
via IFTTT

Built-in Keylogger Found in MantisTek GK2 Keyboards—Sends Data to China

"The right keyboard can make all the difference between a victory and a defeat in a video game battlefield." If you are a gamer, you can relate to the above quote. But what if your winning weapon betrays you? The popular 104-key Mantistek GK2 Mechanical Gaming Keyboard that costs around €49.66 has allegedly been caught silently recording everything you type on your keyboard and sending them


from The Hacker News http://ift.tt/2zjXfTR
via IFTTT

I have a new follower on Twitter


IIPLA
International Intellectual Property Law Association
San Jose
http://t.co/5mAMrBdyUq
Following: 2375 - Followers: 9117

November 07, 2017 at 08:44AM via Twitter http://twitter.com/IIPLA_org

Plant Splooge

Beautiful Stories From Anonymous People #86 November 7, 2017. A bonafide geologist tells Geth about fossilized dung fungi and the behind the ...

from Google Alert - anonymous http://ift.tt/2j6qrra
via IFTTT

IEEE P1735 Encryption Is Broken—Flaws Allow Intellectual Property Theft

Researchers have uncovered several major weaknesses in the implementation of the Institute of Electrical and Electronics Engineers (IEEE) P1735 cryptography standard that can be exploited to unlock, modify or steal encrypted system-on-chip blueprints. The IEEE P1735 scheme was designed to encrypt electronic-design intellectual property (IP) in the hardware and software so that chip designers


from The Hacker News http://ift.tt/2j82RKy
via IFTTT

The Prague Astronomical Clock


In the center of Prague there's a clock the size of a building. During the day, crowds gather to watch the show when it chimes in a new hour. The Prague Astronomical Clock's face is impressively complex, giving not only the expected time with respect to the Sun (solar time), but the time relative to the stars (sidereal time), the times of sunrise and sunset, the time at the equator, the phase of the Moon, and much more. The clock began operation in 1410, and even though much of its inner workings have been modernized several times, original parts remain. Below the clock is a nearly-equal sized, but static, solar calendar. Pictured, the Prague Astronomical Clock was photographed alone during an early morning in 2009 March. The Prague Astronomical Clock and the Old Town Tower behind it are currently being renovated once again, with the clock expected to be restarted in 2018 June. via NASA http://ift.tt/2ixnLyT

Monday, November 6, 2017

Anonymous

FREE LIVE: http://ift.tt/2zBZNx4. News. Anonymous. Host a Satellite Event Get updates Take part in the community. Quantcast. About.

from Google Alert - anonymous http://ift.tt/2zoQDU3
via IFTTT

Paradise Papers expose 'flight' risks posed by anonymous companies and private US aircraft

Anonymous companies are key getaway vehicles for a whole range of criminals looking to commit crimes and launder money – terrorist organizations ...

from Google Alert - anonymous http://ift.tt/2AoEhcC
via IFTTT

8th Street, Ocean City, MD's surf is at least 5.13ft high

Maryland-Delaware, November 08, 2017 at 02:00AM

8th Street, Ocean City, MD Summary
At 2:00 AM, surf min of 5.13ft. At 8:00 AM, surf min of 4.78ft. At 2:00 PM, surf min of 4.36ft. At 8:00 PM, surf min of 4.02ft.

Surf maximum: 5.94ft (1.81m)
Surf minimum: 5.13ft (1.56m)
Tide height: 0.88ft (0.27m)
Wind direction: NE
Wind speed: 16.66 KTS


from Surfline http://ift.tt/1kVmigH
via IFTTT

rather anonymous demand; Cease and desist selling

rather anonymous demand; Cease and desist selling. Without seeing it, I can only likely imagine it's not very anonymous. Did anyone else receive a ...

from Google Alert - anonymous http://ift.tt/2znMT38
via IFTTT

mlp/ - Anonymous in Equestria Thread #1133

Anonymous in Equestria Thread #1133 - "/mlp/ - Pony" is 4chan's imageboard dedicated to the discussion of My Little Pony: Friendship is Magic.

from Google Alert - anonymous http://ift.tt/2ybMHCk
via IFTTT

Anonymous user 46eb37

Name, Anonymous user 46eb37. User since, October 26, 2017. Number of add-ons developed, 0 add-ons. Average rating of developer's add-ons, Not ...

from Google Alert - anonymous http://ift.tt/2hhMaMf
via IFTTT

Petroleum Minister to write to President about anonymous SMS

The Minister said a SMS by an anonymous source triggered created panic amongst the public which led to panic buying of fuel for three consecutive ...

from Google Alert - anonymous http://ift.tt/2zilt0O
via IFTTT

Idaho attorney general won't act on anonymous bond complaint

POCATELLO, Idaho (AP) The Idaho attorney general's office says it will take no further action on a complaint filed on a Bannock County Jail expansion ...

from Google Alert - anonymous http://ift.tt/2j5XJXa
via IFTTT

Police warn parents about anonymous commenting app Sarahah

ABOVE: What began as a tool for constructive feedback has become, for some, a platform for online harassment. As the anonymous feedback app ...

from Google Alert - anonymous http://ift.tt/2AeYOz9
via IFTTT

Dear Anonymous Future Soulmate

Dear Anonymous Future Soulmate. By Dear Labyrinth. Info. I know I've wrote it and I've said it a thousand times that I'll wait patiently for you.

from Google Alert - anonymous http://ift.tt/2znqLrw
via IFTTT

ISS Daily Summary Report – 11/03/2017

VEG-03 Science Harvest: The crew cut one to three leaves from each plant for consumption and then preserved them in foil and inserted them into cold stowage for science data. The remainder of the plants will be left to grow and sprout new leaves.  The Veg-03 investigation uses the Veggie plant growth facility to cultivate … Continue reading "ISS Daily Summary Report – 11/03/2017"

from ISS On-Orbit Status Report http://ift.tt/2zlN54U
via IFTTT

Deep learning: How OpenCV’s blobFromImage works

Today’s blog post is inspired by a number of PyImageSearch readers who have commented on previous deep learning tutorials wanting to understand what exactly OpenCV’s

blobFromImage
  function is doing under the hood.

You see, to obtain (correct) predictions from deep neural networks you first need to preprocess your data.

In the context of deep learning and image classification, these preprocessing tasks normally involve:

  1. Mean subtraction
  2. Scaling by some factor

OpenCV’s new deep neural network (

dnn
 ) module contains two functions that can be used for preprocessing images and preparing them for classification via pre-trained deep learning models.

In today’s blog post we are going to take apart OpenCV’s

cv2.dnn.blobFromImage
  and
cv2.dnn.blobFromImages
  preprocessing functions and understand how they work.

To learn more about image preprocessing for deep learning via OpenCV,  just keep reading.

Looking for the source code to this post?
Jump right to the downloads section.

Deep learning: How OpenCV’s blobFromImage works

OpenCV provides two functions to facilitate image preprocessing for deep learning classification:

  • cv2.dnn.blobFromImage
    
  • cv2.dnn.blobFromImages
    

These two functions perform

  1. Mean subtraction
  2. Scaling
  3. And optionally channel swapping

In the remainder of this tutorial we’ll:

  1. Explore mean subtraction and scaling
  2. Examine the function signature of each deep learning preprocessing function
  3. Study these methods in detail
  4. And finally, apply OpenCV’s deep learning functions to a set of input images

Let’s go ahead and get started.

Deep learning and mean subtraction

Figure 1: A visual representation of mean subtraction where the RGB mean (center) has been calculated from a dataset of images and subtracted from the original image (left) resulting in the output image (right).

Before we dive into an explanation of OpenCV’s deep learning preprocessing functions, we first need to understand mean subtraction. Mean subtraction is used to help combat illumination changes in the input images in our dataset. We can therefore view mean subtraction as a technique used to aid our Convolutional Neural Networks.

Before we even begin training our deep neural network, we first compute the average pixel intensity across all images in the training set for each of the Red, Green, and Blue channels.

This implies that we end up with three variables:

\mu_R\mu_G, and \mu_B

Typically the resulting values are a 3-tuple consisting of the mean of the Red, Green, and Blue channels, respectively.

For example, the mean values for the ImageNet training set are R=103.93, G=116.77, and B=123.68 (you may have already encountered these values before if you have used a network that was pre-trained on  ImageNet).

However, in some cases the mean Red, Green, and Blue values may be computed channel-wise rather than pixel-wise, resulting in an MxN matrix. In this case the MxN matrix for each channel is then subtracted from the input image during training/testing.

Both methods are perfectly valid forms of mean subtraction; however, we tend to see the pixel-wise version used more often, especially for larger datasets.

When we are ready to pass an image through our network (whether for training or testing), we subtract the mean, \mu, from each input channel of the input image:

R = R - \mu_R

G = G - \mu_G

B = B - \mu_B

We may also have a scaling factor, \sigma, which adds in a normalization:

R = (R - \mu_R) / \sigma

G = (G - \mu_G) / \sigma

B = (B - \mu_B) / \sigma

The value of \sigma may be the standard deviation across the training set (thereby turning the preprocessing step into a standard score/z-score). However,\sigma may also be manually set (versus calculated) to scale the input image space into a particular range — it really depends on the architecture, how the network was trained, and the techniques the implementing author is familiar with.

It’s important to note that not all deep learning architectures perform mean subtraction and scaling! Before you preprocess your images, be sure to read the relevant publication/documentation for the deep neural network you are using.

As you’ll find on your deep learning journey, some architectures perform mean subtraction only (thereby setting \sigma=1). Other architectures perform both mean subtraction and scaling. Even other architectures choose to perform no mean subtraction or scaling. Always check the relevant publication you are implementing/using to verify the techniques the author is using.

Mean subtraction, scaling, and normalization are covered in more detail inside Deep Learning for Computer Vision with Python.

OpenCV’s blobFromImage and blobFromImages function

Let’s start off by referring to the official OpenCV documentation for

cv2.dnn.blobFromImage
:

[blobFromImage] creates 4-dimensional blob from image. Optionally resizes and crops image from center, subtract mean values, scales values by scalefactor, swap Blue and Red channels.

Informally, a blob is just a (potentially collection) of image(s) with the same spatial dimensions (i.e., width and height), same depth (number of channels), that have all be preprocessed in the same manner.

The 

cv2.dnn.blobFromImage
  and 
cv2.dnn.blobFromImages
  functions are near identical.

Let’s start with examining the 

cv2.dnn.blobFromImage
  function signature below:
blob = cv2.dnn.blobFromImage(image, scalefactor=1.0, size, mean, swapRB=True)

I’ve provided a discussion of each parameter below:

  1. image
    
     : This is the input image we want to preprocess before passing it through our deep neural network for classification.
  2. scalefactor
    
     : After we perform mean subtraction we can optionally scale our images by some factor. This value defaults to 1.0 (i.e., no scaling) but we can supply another value as well. It’s also important to note that
    scalefactor
    
      should be 1 / \sigma as we’re actually multiplying the input channels (after mean subtraction) by
    scalefactor
    
     .
  3. size
    
     : Here we supply the spatial size that the Convolutional Neural Network expects. For most current state-of-the-art neural networks this is either 224×224, 227×227, or 299×299.
  4. mean
    
     : These are our mean subtraction values. They can be a 3-tuple of the RGB means or they can be a single value in which case the supplied value is subtracted from every channel of the image. If you’re performing mean subtraction, ensure you supply the 3-tuple in (R, G, B) order, especially when utilizing the default behavior of
    swapRB=True
    
     .
  5. swapRB
    
     : OpenCV assumes images are in BGR channel order; however, the mean value assumes we are using RGB order. To resolve this discrepancy we can swap the R and B channels in
    image
    
      by setting this value to True. By default OpenCV performs this channel swapping for us.

The 

cv2.dnn.blobFromImage
  function returns a 
blob
  which is our input image after mean subtraction, normalizing, and channel swapping.

The 

cv2.dnn.blobFromImages
  function is exactly the same:
blob = cv2.dnn.blobFromImages(images, scalefactor=1.0, size, mean, swapRB=True)

The only exception is that we can pass in multiple images, enabling us to batch process a set of 

images
 .

If you’re processing multiple images/frames, be sure to use the 

cv2.dnn.blobFromImages
  function as there is less function call overhead and you’ll be able to batch process the images/frames faster.

Deep learning with OpenCV’s blobFromImage function

Now that we’ve studied both the

blobFromImage
  and
blobFromImages
  functions, let’s apply them to a few example images and then pass them through a Convolutional Neural Network for classification.

As a prerequisite, you need OpenCV version 3.3.0 at a minimum. NumPy is a dependency of OpenCV’s Python bindings and imutils is my package of convenience functions available on GitHub and in the Python Package Index.

If you haven’t installed OpenCV, you’ll want to follow the latest tutorials available here, and be sure to specify OpenCV 3.3.0 or higher when you clone/download

opencv
  and
opencv_contrib
 .

The imutils package can be installed via

pip
 :
$ pip install imutils

Assuming your image processing environment is ready to go, let’s open up a new file, name it

blob_from_images.py
 , and insert the following code:
# import the necessary packages
from imutils import paths
import numpy as np
import cv2

# load the class labels from disk
rows = open("synset_words.txt").read().strip().split("\n")
classes = [r[r.find(" ") + 1:].split(",")[0] for r in rows]

# load our serialized model from disk
net = cv2.dnn.readNetFromCaffe("bvlc_googlenet.prototxt",
        "bvlc_googlenet.caffemodel")

# grab the paths to the input images
imagePaths = sorted(list(paths.list_images("images/")))

First we import

imutils
 ,
numpy
 , and
cv2
  (Lines 2-4).

Then we read

synset_words.txt
  (the ImageNet Class labels) and extract
classes
 , our class labels, on Lines 7 and 8.

To load our model model from disk we use the DNN function, 

cv2.dnn.readNetFromCaffe
 , and specify
bvlc_googlenet.prototxt
  as the filename parameter and
bvlc_googlenet.caffemodel
  as the actual model file (Lines 11 and 12).

Note: You can grab the pre-trained Convolutional Neural Network, class labels text file, source code, and example images to this post using the “Downloads” section at the bottom of this tutorial.

Finally, we grab the paths to the input images on Line 15. If you’re using Windows you should change the path separator here to ensure you can correctly load the image paths.

Next, we’ll load images from disk and pre-process them using

blobFromImage
 :
# (1) load the first image from disk, (2) pre-process it by resizing
# it to 224x224 pixels, and (3) construct a blob that can be passed
# through the pre-trained network
image = cv2.imread(imagePaths[0])
resized = cv2.resize(image, (224, 224))
blob = cv2.dnn.blobFromImage(resized, 1, (224, 224), (104, 117, 123))
print("First Blob: {}".format(blob.shape))

In this block, we first load the

image
  (Line 20) and then resize it to 224×224 (Line 21), the required input image dimensions for GoogLeNet.

Now we’re to the crux of this post.

On Line 22, we call

cv2.dnn.blobFromImage
  which, as stated in the previous section, will create a 4-dimensional
blob
  for use in our neural net.

Let’s print the shape of our

blob
 so we can analyze it in the terminal later (Line 23).

Next, we’ll feed

blob
  through GoogLeNet:
# set the input to the pre-trained deep learning network and obtain
# the output predicted probabilities for each of the 1,000 ImageNet
# classes
net.setInput(blob)
preds = net.forward()

# sort the probabilities (in descending) order, grab the index of the
# top predicted label, and draw it on the input image
idx = np.argsort(preds[0])[::-1][0]
text = "Label: {}, {:.2f}%".format(classes[idx],
        preds[0][idx] * 100)
cv2.putText(image, text, (5, 25),  cv2.FONT_HERSHEY_SIMPLEX,
        0.7, (0, 0, 255), 2)

# show the output image
cv2.imshow("Image", image)
cv2.waitKey(0)

If you’re familiar with recent deep learning posts on this blog, the above lines should look familiar.

We feed the

blob
  through the network (Lines 28 and 29) and grab the predictions,
preds
 .

Then we sort

preds
  (Line 33) with the most confident predictions at the front of the list, and generate a label text to display on the image. The label text consists of the class label and the prediction percentage value for the top prediction (Lines 34 and 35).

From there,  we write the label

text
  at the top of the
image
  (Lines 36 and 37) followed by displaying the
image
  on the screen and waiting for a keypress before moving on (Lines 40 and 41).

Now it’s time to use the plural form of the

blobFromImage
  function.

Here we’ll do (nearly) the same thing, except we’ll instead create and populate a list of

images
  followed by passing the list as a parameter to
blobFromImages
 :
# initialize the list of images we'll be passing through the network
images = []

# loop over the input images (excluding the first one since we
# already classified it), pre-process each image, and update the
# `images` list
for p in imagePaths[1:]:
        image = cv2.imread(p)
        image = cv2.resize(image, (224, 224))
        images.append(image)

# convert the images list into an OpenCV-compatible blob
blob = cv2.dnn.blobFromImages(images, 1, (224, 224), (104, 117, 123))
print("Second Blob: {}".format(blob.shape))

First we initialize our

images
  list (Line 44), and then, using the
imagePaths
 , we read, resize, and append the
image
  to the list (Lines 49-52).

Using list slicing, we’ve omitted the first image from

imagePaths
  on Line 49.

From there, we pass the

images
  into
cv2.dnn.blobFromImages
  as the first parameter on Line 55. All other parameters to
cv2.dnn.blobFromImages
  are identical to
cv2.dnn.blobFromImage
  above.

For analysis later we print

blob.shape
  on Line 56.

We’ll next pass the

blob
  through GoogLeNet and write the class label and prediction at the top of each image:
# set the input to our pre-trained network and obtain the output
# class label predictions
net.setInput(blob)
preds = net.forward()

# loop over the input images
for (i, p) in enumerate(imagePaths[1:]):
        # load the image from disk
        image = cv2.imread(p)

        # find the top class label from the `preds` list and draw it on
        # the image
        idx = np.argsort(preds[i])[::-1][0]
        text = "Label: {}, {:.2f}%".format(classes[idx],
                preds[i][idx] * 100)
        cv2.putText(image, text, (5, 25),  cv2.FONT_HERSHEY_SIMPLEX,
                0.7, (0, 0, 255), 2)

        # display the output image
        cv2.imshow("Image", image)
        cv2.waitKey(0)

The remaining code is essentially the same as above, only our

for
  loop now handles looping through each of the
imagePaths
  (again, omitting the first one as we have already classified it).

And that’s it! Let’s see the script in action in the next section.

OpenCV blobfromImage and blobFromImages results

Now we’ve reached the fun part.

Go ahead and use the “Downloads” section of this blog post to download the source code, example images, and pre-trained neural network. You will need the additional files in order to execute the code.

From there, fire up a terminal and run the following command:

$ python blob_from_images.py

The first terminal output is with respect to the first image found in the

images
  folder where we apply the
cv2.dnn.blobFromImage
  function:
First Blob: (1, 3, 224, 224)

The resulting beer glass image is displayed on the screen:

Figure 2: An enticing beer has been labeled and recognized with high confidence by GoogLeNet. The blob dimensions resulting from blobFromImage are displayed in the terminal.

That full beer glass makes me thirsty. But before I enjoy a beer myself, I’ll explain why the shape of the blob is

(1, 3, 224, 224)
 .

The resulting tuple has the following format:

(num_images=1, num_channels=3, width=224, height=224)

Since we’ve only processed one image, we only have one entry in our

blob
 . The channel count is three for BGR channels. And finally 224×224 is the spatial width and height for our input image.

Next, let’s build a

blob
  from the remaining four input images.

The second blob’s shape is:

Second Blob: (4, 3, 224, 224)

Since this blob contains 4 images, the

num_images=4
  . The remaining dimensions are the same as the first, single image, blob.

I’ve included a sample of correctly classified images below:

Figure 3: My keyboard has been correctly identified by GoogLeNet with a prediction confidence of 81%.

Figure 4: I tested the pre-trained network on my computer monitor as well. Here we can see the input image is correctly classified using our Convolutional Neural Network.

Figure 5: A NASA space shuttle is recognized with a prediction value of over 99% by our deep neural network.

Summary

In today’s tutorial we examined OpenCV’s

blobFromImage
  and
blobFromImages
  deep learning functions.

These methods are used to prepare input images for classification via pre-trained deep learning models.

Both

blobFromImage
  and
blobFromImages
  perform mean subtraction and scaling. We can also swap the Red and Blue channels of the image depending on channel ordering. Nearly all state-of-the-art deep learning models perform mean subtraction and scaling — the benefit here is that OpenCV makes these preprocessing tasks dead simple.

If you’re interested in studying deep learning in more detail, be sure to take a look at my brand new book, Deep Learning for Computer Vision with Python.

Inside the book you’ll discover:

  • Super practical walkthroughs that present solutions to actual, real-world image classification problems, challenges, and competitions.
  • Detailed, thorough experiments (with highly documented code) enabling you to reproduce state-of-the-art results.
  • My favorite “best practices” to improve network accuracy. These techniques alone will save you enough time to pay for the book multiple times over.
  • ..and much more!

Sound good?

Click here to start your journey to deep learning mastery.

Otherwise, be sure to enter your email address in the form below to be notified when future deep learning tutorials are published here on the PyImageSearch blog.

See you next week!

Downloads:

If you would like to download the code and images used in this post, please enter your email address in the form below. Not only will you get a .zip of the code, I’ll also send you a FREE 11-page Resource Guide on Computer Vision and Image Search Engines, including exclusive techniques that I don’t post on this blog! Sound good? If so, enter your email address and I’ll send you the code immediately!

The post Deep learning: How OpenCV’s blobFromImage works appeared first on PyImageSearch.



from PyImageSearch http://ift.tt/2znAWw3
via IFTTT

Learn Ethereum Development – Build Decentralized Blockchain Apps

As of today — 1 Bitcoin = $7300 USD (Approx 471,000 INR) At the beginning of this year, 1 Bitcoin was approximately equal to $1000, and now it has surged to a new height, marking its market capitalization at over $124 billion. Is it really too late to invest in Bitcoin or other cryptocurrencies like Ethereum? For those wondering if they have missed the money-making boat, the answer is—NO,


from The Hacker News http://ift.tt/2AobuVp
via IFTTT

The Rise of Super-Stealthy Digitally Signed Malware—Thanks to the Dark Web

Guess what's more expensive than counterfeit United States passports, stolen credit cards and even guns on the dark web? It's digital code signing certificates. A recent study conducted by the Cyber Security Research Institute (CSRI) this week revealed that stolen digital code-signing certificates are readily available for anyone to purchase on the dark web for up to $1,200. As you may know


from The Hacker News http://ift.tt/2AmrPda
via IFTTT

A Dust Jet from the Surface of Comet 67P


Where do comet tails come from? There are no obvious places on the nuclei of comets from which the jets that create comet tails emanate. Last year, though, ESA's Rosetta spacecraft not only imaged a jet emerging from Comet 67P/Churyumov-Gerasimenko, but flew right through it. Featured is a telling picture showing a bright plume emerging from a small circular dip bounded on one side by a 10-meter high wall. Analyses of Rosetta data shows that the jet was composed of both dust and water-ice. The mundane terrain indicates that something likely happened far under the porous surface to create the plume. This image was taken last July, about two months before Rosetta's mission ended with a controlled impact onto Comet 67P's surface. via NASA http://ift.tt/2j1W7O4