Sunteți pe pagina 1din 26

NITTE MEENAKSHI INSTITUTE OF TECHNOLOGY

(An Autonomous Institute, Affiliated to Visvesvaraya Technological University, Belgaum, Approved


by AICTE & Govt. of Karnataka)

ACADEMIC YEAR 2019-2020

Miniproject Report on

“OBSTACLE AVOIDING ROBOT USING


MICROCONTROLLER”
Submitted in partial fulfillment of the requirement for the award of the degree of

BACHELOR OF ENGINEERING
Submitted by

SHWETHA H S (1NT17EC431)
SREE HARSHA S (1NT17EC433)

Under the guidance of


"Mrs AYESHA SIDDIQUA "
( Asst Professor)

Department of Electronics and Communication Engineering


NITTE MEENAKSHI INSTITUTE OF TECHNOLOGY
Yelahanka, Bangalore-560064
NITTE MEENAKSHI INSTITUTE OF TECHNOLOGY
(An Autonomous Institute, Affiliated to VTU, Belgaum, Approved by AICTE & State Govt. of Karnataka),
Yelahanka, Bangalore-560064

Department Of Electronics And Communication Engineering

CERTIFICATE
Certified that the miniproject entitled “OBSTACLE AVOIDING ROBOT USING
MICROCONTROLLER” carried out by SHWETHA H S (1NT17EC431)
and SREE HARSHA S (1NT17EC433), bonafide student of Nitte Meenakshi Institute
of Technology in partial fulfillment for the award of Bachelor of Engineering in
Electronics and Communication of the Visvesvaraya Technological University, Belgaum
during the academic year 2019-2020.The miniproject report has been approved as it
satisfies the academic requirement in respect of internship work for completion of
autonomous scheme of Nitte Meenakshi Institute of Technology for the above said
degree.

Signature of the Guide Signature of the HOD


(Mrs Ayesha Siddiqua) (Dr. Ramachandra )

External Viva
Name of the Examiners Signature with Date
………………………………
………………………………
TABLE OF CONTENTS

Content……………………………………………………………………………………..page no.

1.Abstract…………………………………………………………………………………………………….1

2.Introduction………………………………………………………………………………………………1

3.Literature survey……………………………………………………………………………………….2

4.Objective…………………………………………………………………………………………………..5

5.Problem statement……………………………………………………………………………………5

6.Motivation………………………………………………………………………………………………..5

7.Functionality……………………………………………………………………………………………..5

8.Brief overview of steganography algorithem…………………………………………….6

9.Block diagram……………………………………………………………………………………………9

10.Flow chart……………………………………………………………………………………………..10

10.1.sender………………………………………………………………………………………….10

10.2.receiver………………………………………………………………………………………..11

11.Future work……………………………………………………………………………………………12

12. Concept of LSB based data embedding…………………………………………………12

13. performance analysis…………………………………………………………………………… 15

14. results and observations……………………………………………………………………….16

15.Conclusion……………………………………………………………………………………………..17

16.Bibiliography…………………………………………………………………………………………..18

17.Appendix ………………………………………………………………………………………………..20
Abstract

Introduction

The use of multimedia digital signal has become very popular in the last decade due to the
spread of wireless Internet-based services such as introduction of the fourth-generation mobile
communication systems, user can transfer data up to 1Gbps. Due to the availability of low cost
editing tools, digital data can be easily copied, modified and retransmitted in the network by any
user. To effectively support the growth of multimedia communications, it is essential to develop
tools that protect and authenticate digital information. In this contribution, we present a novel
embedding scheme based on the LSB technique. f the value of the pixel of an image is changed
by a value of '1' it does not affect the appearance of the image. This idea helps us to for hiding
data in an image. However, what is evident is that steganography can have some useful
applications, and like other technologies, such as encryption, it can be misused. This thesis
advocates the importance of steganography not only for secure private communication but also
for a range of other applications such as digital forgery detection and lost signals reconstruction.

Literature survey

Sl Title Author Outcome Tool


N
o
1 Steganography: Kelvin salton do discussed an overview of Image Pytho
Hiding an prado steganography n
image inside
another
2 An overview of T. Morkel , J.H.P. Information about image steganography
image Eloff , M.S. techniques were discussed in this paper and
steganography Olivier also discussed about pay load capacity.
3 Edge based Saiful islam New technique for image steganography in
image Mangat r modi gray scale images in which data is hidden at
steganography Phalguni gupta the edges of cover image.
4 Steganography Deepankar verma Brief information about steganography

1
techniques-a techniques(text,image,audio,video,network)
review paper
5 LSB based Aung myint aye The main goal of this paper to show how
image secret image can be embedded using LSB.
steganography
for information
security
system
6 Steganography Rosziati Ibrahim A new algorithem to hide data inside image
algorithem to and teoh suk Using steganography
hide secret kuan
message inside
an image
7 LSB based Concept of LSB based data embedding is matlab
image dscussed using MATLAB
steganography
using MATLAB

8 A new Mohammad ali This method will be expected to spread


steganography bani Younes and hidden information within encrypted image
approach for aman jantan data randomly based on the secret key
image before transmission.
encryption
exchange by
using LSB
insertion
9 A Review on Amamdeep kaur In this paper,they discussed about error
Image Rupinder Kaur difference,different techniques i.e,LSB
Steganography Navdeep Kumar technique and pixel value difference
Techniques technique.

10 Image Tayana Morkel Discussed about three secure


steganography communication i.e,self communication,one
applications for to one communication,one to many
secure communication and also discussed about its
communication application.

2
11 Image Ayush Purohit, In this paper, discussed an overview of
Steganography: P.S.V.S.Sridhar Image steganography, its uses and
A Review techniques. We’ll also discuss the
implementation of these steganographic
techniques and evaluate them on the basis
of their performance.and also discussed
about DCT based steganography.
The below table shows the parameter
analysis of LSB and DCT steganography
methods
Features LSB DCT
Invisibility low high
Payload high low
capacity
Robustness low high
PSNR high low
MSE low high

12 A High Capacity This paper describes the approaches of


Secured Image Avinash K. Gulve steganography to hide information into gray
Steganography scale images
Method with Madhuri S. Joshi while making the stego image
Five Pixel Pair imperceptive.And also discussed about LSB
Differencing substitution method and PVD based
and LSB approach.
Substitution

3
13 A Novel Mr.C.Thiagarajan, original message and original image
Algorithm for Ms.N.Aarthi, password
RGB Image Ms.R.Ananthi, Concatenate all
Steganography Ms.R.Anitha, Encryption
character
Ms.A.Ruthira cipher
text
Split into
Retrive the
individual
charecter
characters

single charecter Find position of


reference pixel
Finding a
position
Find original
password
Replacing the
pixels
Get password

Hidden message
Image with data

14 Steganography Deepa viswam This paper describes the text,image,audio


steganography.
In image steganography image
compression,image encoding
techniques,least significant bit
insertion,filtering and masking and
algorithems and transformations.
15 Spatial Domain NamitaTiwari Outcome of this paper is LSB based
Image Dr. Madhu steganography method,spatial domain
Steganography Sandilya embedding,and discussed about capacity
based on Dr. Meenu PSNR,MSE and histogram analysis.
Security and Chawla
Randomization

4
Objective

The main objective of Steganography is mainly concerned with the


protection of contents of the hidden information provide high level security to
sensitive digital data against steganalysis techniques, while keeping the
operational time low. This objective can be achieved by encrypting and
authenticating the image that has user’s sensitive data and then embedding
the resultant document on to a carrier.

Problem statement

Currently many cryptography and steganography techniques have come into existence. Encoding of
plaintext is acheived using DES, AES, Triple DES, RSA and many other algorithms. Any individual can
use his/her one’s own approach as encryption method. Many algorithms such as JSteg, JPHide and
JPSeek, OutGuess, F3, F4 and F5 were invented for the purpose of embedding images. These
algorithms follow a certain principle to embed and retrieve hidden contents. All the existing
approaches have their own disadvantages as they can easily be compromised using steganalysis. It
means that one way or another, an intruder can figure out the existence of hidden data which
results in him/her compromise of sensitive data. Currently, no integrated cryptography and
steganography approach in one application exists for image based information security. There are
encryption and embedding approaches present that work with plaintext only.

Motivation

As described above all the available techniques used in early tools are old and follow some
specified process with some improvements to previously proposed techniques. This makes the
intruders work easy. The intruder may try a counter attack by making some changes to counter
existing techniques. None of the existing techniques offers protection through multiple levels. That
is one of the reasons why an intruder is able to view/obtain hidden data with just one or two
attacks.

Functionality

The developed steganographic tool is a very useful to any user who shares confidential data
through a network. The developed model has a customized access that gives more freedom to
users. An interface has been developed that helps the user to interact with the tool. The interface is
very user-friendly with different modules implemented to encode and decode the secret message.
The developed tool was tested for various input conditions.

5
LSB Algorithm

With the boost in computer power, the internet and with the development of digital
signal processing (DSP), information theory and coding theory, Steganography has gone ‘‘digital’’.
In the realm of this digital world, Steganography has created an atmosphere of corporate
vigilance that has spawned various interesting applications, thus its continuing evolution is
guaranteed. Cyber-crime is believed to benefit from this digital revolution. Hence an immediate
concern is to find out best possible attacks to carry out steganalysis, and simultaneously, finding
out techniques to strengthen existing stenography techniques against popular attacks like
steganalysis.

Least significant bit (LSB) insertion is a common, simple approach to embedding information in a
cover image. The least significant bit in other words, the 8th bit of some or all of the bytes inside
an image is changed to a bit of the secret message. When using a 24-bit image, a bit of each of
the red, green and blue color components can be used, since they are each represented by a
byte. In other words, one can store 3 bits in each pixel. An 800 × 600 pixel image, can thus store a
total amount of 1,440,000 bits or 180,000 bytes of embedded data .

For example a grid for 3 pixels of a 24-bit image can be as follows:

(00101101 00011100 11011100)

(10100110 11000100 00001100)

(11010010 10101101 01100011)

When the number 200, which binary representation is 11001000, is embedded into the least
significant bits of this part of the image,

the resulting grid is as follows:

(00101101 00011101 11011100)

(10100110 11000101 00001100)

(11010010 10101100 01100011)

Although the number was embedded into the first 8 bytes of the grid, only the 3 underlined bits
needed to be changed according to the embedded message. On average, only half of the bits in
an image will need to be modified to hide a secret message using the maximum cover size . Since
there are 256 possible intensities of each primary color, changing the LSB of a pixel results in
small changes in the intensity of the colors. These changes cannot be perceived by the human
eye – thus the message is successfully hidden. With a well-chosen image, one can even hide the
message in the least as well as second to least significant bit and still not see the difference . In
the above example, consecutive bytes of the image data from the first byte to the end of the
message are used to embed the information. This approach is very easy to detect. A slightly more
secure system is for the sender and receiver to share a secret key that specifies only certain

6
pixels to be changed. Should an adversary suspect that LSB Steganography has been used, he has
no way of knowing which pixels to target without the secret key. In its simplest form, LSB makes
use of BMP images, since they use lossless compression. Unfortunately to be able to hide a
secret message inside a BMP file, one would require a very large cover image.

LSB Encoding Algorithm

The compressed encrypted secret message are taken. Then the encrypted secret data has to be
converted into binary format. Binary conversion is done by taking the American Standard Code of
Information Interchange (ASCII) values of the character and converting them into binary format
and generating stream of bits. Similarly, in cover image, bytes representing the pixels are taken in
single array and byte stream is generated. Message bits are taken sequentially and then are
placed in LSB bit of image byte. Same procedure is followed till all the message bits are placed in
image bytes. Image generated is called ‘Stego-Image’.

Algorithm for hiding secret data in Cover image:

 Read the cover image and secret text information which is to be embedded in to the cover
image.

 Compress the secret information.

 Convert the compressed secret information into cipher text by using secret key shared by
receiver and sender.

 Convert compressed encrypted text message into binary form.

 Find LSBs of each pixels of the cover image.

 Embed the bits of the secret information into bits of LSB of pixels of the cover image.

 Continue the procedure until the secret information is fully hidden into cover file.

LSB Decoding Algorithm

First, ‘Stego-Image’ is taken and single array of bytes are generated as it was done at the time of
encoding. The total number of bits of encrypted secret information and the bytes representing
the pixels of stego-image are taken. Counter is initially set to 1, which in turn gives the index
number of the pixel byte where secret message bit is available in LSB. The process is continued
till final count of secret message bit is reached. After this, the bit stream of the message shall be
generated. Available bits are grouped to form bytes such that each byte represents single ASCII
character. Characters are stored in text file which represents the encrypted embedded message.
After that the decryption and decompression are to be performed.

7
Algorithm for unhiding secret data from Stego image:

 Read the stego image.

 Find LSBs of each pixel of the stego image.

 Find and retrieve the LSBs of each pixel of the stego image.

 Continue the process until the message is fully extracted from stego image.

 Decompress the extracted secret data.

 Using shared key, decrypt secret information to get original information.

 Reconstruct the secret information.

8
Block diagram

The modules of the steganographic tool are also included in the architecture. Theuser can
either be the sender or the receiver.

Figure.1.Block diagram

9
A user is able to do all the operation is shown in the above block diagram manually or
automatically by using auto mode.Both the auto mode and manual mode goes follow the same
system flow.

Flow chart

Figure 2 shows the flow chart with the encryption part of the tool. The purpose of this
project is to hide an image in other image, so a secret image would be an input. At first,
the secret image is converted to a text file using Base64 conversion. Then the generated
text file is encrypted with a password based encryption algorithm to generate an
encrypted text file called ciphertext. Using a customized embedding algorithm, ciphertext
is embedded on to a cover image. The output is the stegogramme (a cover image with a
secret message embedded in it).

10
Figure2.Flowchart of sender operations

Figure 2 shows a flow chart with the decryption part of the project. To read the
hidden message (secret image), the stegogramme has to be decrypted. So, the
stegogramme is used as input to the retrieving algorithm. If the retrieving algorithm is not
the same as the embedding algorithm, there is no way that the correct output can be
obtained. The correct output from retrieving algorithm is the ciphertext is used as input to
the decryption algorithm. This decryption algorithm is the same as the encryption
algorithm; otherwise the secret message cannot be determined. And also the decryption
algorithm takes a key (password) to generate plaintext.

Figure3.Flowchart of receiver operations

11
Future Work
As a part of security, the pixels of the cover image are filtered both according to their
position and the threshold limit. Because of this, the space availability of data insertion
could become very less. Therefore, the embedding information should be small for
successful embedding. New ideas could be developed on increasing the space availability
in the cover image to insert as much data as possible.

Images are made up of pixels which usually refer to the color of that particular pixel. In a
greyscale (black and white) image, these pixel values range from 0-255, 0 being black and 255
being white.

Concept of LSB based data embedding


LSB stands for Least Significant bit. The idea behind LSB embedding is that if we change the
last bit value of a pixel, there won’t be much visible change in the color. For example, 0 is black.
Changing the value to 1 won’t make much of a difference since it is still black, just a lighter
shade.

For example we are taking a simple matrix of an image

12
Step 1- Convert the image to greyscale, if it is a color image. Every pixel if the image consists of
bytes which determines the exact color. here we are using gray scale image so we have only two
colors. we hide the bytes of the text inside the bytes of the structure.

Step 2- Find how many characters are present in message and Convert each character into ASCII
values.
Here If we want to embed the text ‘Image steganography’ then
Length of the message = 19 and their ASCII values are as follows
73 109 97 103 101 32 115 116 101 103 97 110 111 103 114 97 112 104 121

Step 3-Now convert these ASCII numbers to binary form tol get 8 bit representation of each
value.

01001001 01100001
01101110 01101101
01101111 01100001
01100111 01100111
01110010 01100101
01100001 00100000
01110000 01110011
01101000 01110100
01111001 01100101
01100111

Step 4-Initialize output as input and then get height and width of the image for traversing
through the image using the key word ‘size’ i.e.,
height = size(input, 1)
width = size(input, 2)
here, height = 12, width =12
Initialize the counter to count the number of embedded bits.

Extract the pixels from the image using nested for loop using height and width of the image
which is already found.

13
Step 5- Take first pixel of the image and convert it into binary form and then find the least
significant bit of that particular pixel ,compare with message bit. Find whether the bit is same or
different .If it is different invert the bit. Then increment the counter.
For example: LSB of the first pixel = 0
First message bit =0
So no changes in lsb

LSB of the second pixel = 0


Second message bit = 1
Change LSB of the second pixel to 1.

For example taking two pixel values and by doing above mentioned procedure we get,
Image pixel values
148 149
10010100 10011110

Binary values of ascii value of text


0 1

After embedding image oixel values will be


148 150
10010100 10011111

This process continue till all the bits of the message is embedded
Finally convert from binary to decimal and write the both input and output images to local
storage.

Below are the pixel values of stego image after embedding the text

14
Now for extracting the text from stego image
Step 1- Convert the pixel values to binary values
Step 2- Take the lsb of pixels and form a matrix of 8 rows
Extraction of lsb from all pixel values-[ 0,1,1,0,1………………]

Arranging them into matrix- 01001....


1 0 0 1 1. . . . .
11000....
00011....
10110....
01000....
10011....
11101....
Step 3- Do matrix multiplication in order to convert these binary values to decimal values. And
these decimal values are the asci values of the characters in the text.
For example: [ 128 64 32 16 8 4 2 1] * - 0 1 0 0 1 . . . . 0
1 0 0 1 1. . . . . 1
11000.... 0
00011.... 1
10110.... 1
01000.... 0
10011.... 1
11101.... 0

Step 4- Convert the ascii values to text.


15
Finally text will be extracted from the stego image

performance analysis

The phrase peak signal-to-noise ratio, often abbreviated PSNR, is an engineering terminology
that defines the ratio between the maximum possible power of a signal and the power of
corrupting noise that affects the representation of the signal.

The PSNR is most often used as an important parameter to calibrate the quality of reconstruction
of steganographic images. The signal in this case is the original image, and the noise is the error
introduced by some steganography algorithm. It is most easily defined via the mean squared
error (MSE) which for two m×n monochrome images I and K where one of the images is
considered a noisy approximation of the other is defined as:

results and observations

Original color image

16
cover image Stego image

SNR = 0.0027

PSNR = 69.5095

HISTOGRAMS

Conclusion

The developed steganographic tool is used to encrypt and decrypt the image. In this
project, security to confidential data is achieved through multiple levels with the
combination of both cryptographic and steganographic strategies. In the process of
embedding information into the cover image, a successful threshold strategy is used. A bit
of information is inserted into a pixel only if the pixel satisfies threshold value and position
constraint. The embedding image can be of any format (jpeg, pjg, gif, png). The generated

17
stego-image is in .png format because the image quality of this format is reasonable with
the file size. All the operations are done with user-friendly interface. Any user, either a
sender or a receiver can operate the tool without any basic knowledge just by clicking a
few buttons.

Evaluations for both the structural and visual attacks were performed which show positive
results. This demonstrates that, using this tool the data confidentiality of the hidden
message can be achieved as needed.

Bibiliography

1. www.google.com

2. www.mathworks.com

3. www.geeksforgeeks.org

4. www.researchgate.com

5. Steganography:Hiding an image inside another by

Kelvin salton do prado

6. An overview of image steganography

T. Morkel , J.H.P. Eloff , M.S. Olivier

7. Edge based image steganography

Saiful islam,Mangat r modi,Phalguni gupta

8.Steganography techniques-a review paper

Deepankar verma
18
9.LSB based image steganography for information security system

Aung myint aye

10. Steganography algorithem to hide secret message inside an image

Rosziati Ibrahim and teoh suk kuan

11. A new steganography approach for image encryption exchange by using LSB insertion

Mohammad ali bani Younes and aman jantan

12. A Review on Image Steganography Techniques

Amamdeep kaur,Rupinder Kaur,Navdeep Kumar

13.Image steganography applications for secure communication

Tayana Morkel

14.Image Steganography: A Review

Ayush Purohit, P.S.V.S.Sridhar

15. A High Capacity Secured Image Steganography Method with Five Pixel Pair Differencing

and LSB Substitution

Avinash K. Gulve ,Madhuri S. Joshi

16. A Novel Algorithm for RGB Image Steganography

Mr.C.Thiagarajan, Ms.N.Aarthi, Ms.R.Ananthi, Ms.R.Anitha, Ms.A.Ruthira

17. Steganography

Deepa viswam

18.Spatial Domain Image Steganography based on Security and Randomization

NamitaTiwari,Dr. Madhu Sandilya,Dr. Meenu Chawla

19
Appendix

% Clear the existing workspace


clear all;

% Clear the command window


clc;

% Read the input image


input = imread('eye.jpg');

% Convert image to greyscale


input=rgb2gray(input);

% Resize the image to required size


%input=imresize(input, [512 512]);

% Message to be embedded
message='This type of encoding the data is weak since it can be easily decoded by taking the
LSBs of the image and getting the message in binary format.This is method is too old because it
was used long ago when other encoding methods ';

% Length of the message where each character is 8 bits


20
len = length(message) * 8;

% Get all the ASCII values of the characters of the message


ascii_value = uint8(message);

% Convert the decimal values to binary


bin_message = transpose(dec2bin(ascii_value, 8));

% Get all the binary digits in separate row


bin_message = bin_message(:);

% Length of the binary message


N = length(bin_message);

% Converting the char array to numeric array


bin_num_message=str2num(bin_message);

% Initialize output as input


output = input;

% Get height and width for traversing through the image


height = size(input, 1);
width = size(input, 2);

% Counter for number of embedded bits


embed_counter = 1;

% Traverse through the image


for i = 1 : height
for j = 1 : width

% If there are more bits remaining to embed


if(embed_counter <= len)

% Finding Least Significant Bit of the current pixel


LSB = mod(double(input(i, j)), 2);

% Find whether the bit is same or needs to change


temp = double(xor(LSB, bin_num_message(embed_counter)));

% Updating the output to input + temp


output(i, j) = input(i, j)+temp;

% Increment the embed counter


embed_counter = embed_counter+1;
end

end
end

% Write both the input and output images to local storage


% Mention the path to a folder here.
imwrite(input, 'C:\Users\NAGESH K N\Desktop\originalImage.jpg');

21
imwrite(output, 'C:\Users\NAGESH K N\Desktop\stegoImage.jpg');

%Dycryption
% Getting the input image
%filename = 'path_to_folder\output_img.xlsx';
input_image =output

% Get height and width for traversing through the image


height = size(input_image, 1);
width = size(input_image, 2);

% Number of characters of the hidden text


chars =length(message)

% Number of bits in the message


message_length = chars * 8;

% counter to keep track of number of bits extracted


counter = 1;

% Traverse through the image


for i = 1 : height
for j = 1 : width

% If more bits remain to be extracted


if (counter <= message_length)

% Store the LSB of the pixel in extracted_bits


extracted_bits(counter, 1) = mod(double(input_image(i, j)), 2);

% Increment the counter


counter = counter + 1;
end
end
end

% Powers of 2 to get the ASCII value from binary


binValues = [ 128 64 32 16 8 4 2 1 ];

% Get all the bits in 8 columned table


% Each row is the bits of the character
% in the hidden text
binMatrix = reshape(extracted_bits, 8,(message_length/8));

% Convert the extracted bits to characters


% by multiplying with powers of 2
textString = char(binValues*binMatrix);

% Print the hidden text


disp(textString);

ref=output;
snr1=snr(ref,input)

22
psnr1=psnr(ref,input)

23

S-ar putea să vă placă și