From b35cf335320c9d57a95755a629d4140d68fc2c62 Mon Sep 17 00:00:00 2001 From: Kyle Lucke Date: Tue, 19 Feb 2019 21:42:03 -0700 Subject: [PATCH 01/13] Added convolution, filters, and harris response code --- Filter.py | 52 +++++++++++++ convolution.py | 92 +++++++++++++++++++++++ harris_response.py | 151 ++++++++++++++++++++++++++++++++++++++ project_description.ipynb | 33 ++++++++- 4 files changed, 325 insertions(+), 3 deletions(-) create mode 100644 Filter.py create mode 100644 convolution.py create mode 100644 harris_response.py diff --git a/Filter.py b/Filter.py new file mode 100644 index 0000000..04fb325 --- /dev/null +++ b/Filter.py @@ -0,0 +1,52 @@ +import numpy as np + + +class Filter: + + @staticmethod + def make_average(shape): + """Creates average filter with given shape""" + + # Make sure filter is only 2D and square + assert len(shape) == 2 + assert shape[0] == shape[1] + + return np.ones(shape) * 1 / np.prod(shape) + + @staticmethod + def make_gauss(shape, sigma=1): + """Creates a Gaußian filter with given shape and standard deviation""" + + # Make sure filter is only 2D and square + assert len(shape) == 2 + assert shape[0] == shape[1] + + range_end = shape[0] // 2 + + xs = np.arange(-range_end, range_end + 1, 1) + ys = np.arange(-range_end, range_end + 1, 1) + + xx, yy = np.meshgrid(xs, ys, indexing='xy') + + # Compute gaussian + g_filter = np.exp(-((xx ** 2 + yy ** 2) / (2 * sigma ** 2))) + + # Normalize + g_filter /= np.sum(g_filter) + + return g_filter + + @staticmethod + def make_sobel_u(): + """Creates a Sobel filter for approximating the discrete derivative of the image wrt u (aka x)""" + + return np.array([[-1, 0, 1], + [-2, 0, 2], + [-1, 0, 1]]) + + @staticmethod + def make_sobel_v(): + """Creates a Sobel filter for approximating the discrete derivative of the image wrt v (aka y)""" + return np.array([[-1, -2, -1], + [ 0, 0, 0], + [ 1, 2, 1]]) diff --git a/convolution.py b/convolution.py new file mode 100644 index 0000000..083a423 --- /dev/null +++ b/convolution.py @@ -0,0 +1,92 @@ +import numpy as np +import matplotlib.pyplot as plt + + +def convolve(g, h): + + """ + Convolves g with h, returns valid portion + :param g: image + :param h: filter + :return: result of convolution, shape=( max( len(g), len(h) ), max( len(g[0]), len(h[0]) ) ) + result of convolution, shape=( max( len(g), len(h) ) - min( len(g), len(h) ) + 1, + max( len(g[0]), len(h[0]) ) - min( len(g[0]), len(h[0]) ) + 1 ) + """ + + out_m = max(len(g), len(h)) - min(len(g), len(h)) + 1 + out_n = max(len(g[0]), len(h[0])) - min(len(g[0]), len(h[0])) + 1 + + out_array = np.zeros(shape=(out_m, out_n)) + + # Iterate over entire output image + for u in range(len(out_array)): + for v in range(len(out_array[u])): + # One-liner to do convolution + out_array[u][v] = np.sum(np.multiply(h, g[u: u + len(h), v: v + len(h[0])])) + + return out_array + + +def _pad_input(pad_x, pad_y, g, padding_scheme='fill', fill_val=0): + + if padding_scheme == 'fill': + + v_buff = np.zeros(shape=(pad_x, len(g[0]))) + fill_val + g = np.vstack((v_buff, g, v_buff)) + + h_buff = np.zeros(shape=(len(g), pad_y)) + fill_val + g = np.hstack((h_buff, g, h_buff)) + + elif padding_scheme == 'nn': + + v_buff = np.tile(np.zeros(shape=(1, len(g[0]))) + g[0], (pad_x, 1)) + g = np.vstack((v_buff, g, v_buff)) + + # Have to do some transposition to get column vectors + h_buff = np.tile((np.zeros(shape=(len(g), 1)).T + g[:, 0]).T, (1, pad_y)) + g = np.hstack((h_buff, g, h_buff)) + + # TODO: fill in diagonals? + + elif padding_scheme == 'mirror': + raise NotImplementedError("Padding scheme {0} is not yet implemented".format(padding_scheme)) + + return g + + +def non_linear_convolve(g, filter_size): + + # Calculate output shape + out_m = max(len(g), filter_size) + out_n = max(len(g[0]), filter_size) + + # Calculate pad size + pad_x = filter_size - 1 + pad_y = filter_size - 1 + + g = _pad_input(pad_x, pad_y, g) + + out_array = np.empty(shape=(out_m, out_n), dtype=bool) + + # Iterate over entire output image + for u in range(len(out_array)): + for v in range(len(out_array[u])): + # Calculate max in neighborhood + out_array[u][v] = np.equal(g[u + pad_x, v + pad_y], np.max(g[u: u + filter_size, v: v + filter_size])) + + return out_array + + +def img_convolution(img_fname, img_filter): + + img_color = plt.imread(img_fname) + img_gray = img_color.mean(axis=2) # Convert to greyscale + + out = convolve(g=img_gray, h=img_filter) + + # Plot + plt.imshow(img_gray, cmap='gray') + plt.show() + + plt.imshow(out, cmap='gray') + plt.show() diff --git a/harris_response.py b/harris_response.py new file mode 100644 index 0000000..1c543c0 --- /dev/null +++ b/harris_response.py @@ -0,0 +1,151 @@ +from convolution import * +import sys +from Filter import * +import matplotlib.pyplot as plt + + +def compute_harris_response(img, smoothing_filter): + + # NOTE: (*) = convolution + + # Make respective Sobel filters for computing gradients + S_u = Filter.make_sobel_u() + S_v = Filter.make_sobel_v() + + # Compute gradient of image with respect to u = I_u + di_du = convolve(img, S_u) + + # Compute gradient of image with respect to v = I_v + di_dv = convolve(img, S_v) + + # Compute squares of gradient + # I_uu = w (*) np.multiply(I_u, I_u) + di_du_sq = convolve(di_du ** 2, smoothing_filter) + di_dv_sq = convolve(di_dv ** 2, smoothing_filter) + + # Compute product of gradients + di_du_di_dv = convolve(np.multiply(di_du, di_dv), smoothing_filter) + + # Finally, compute the harris response + # Note: we add the 1e-16 to prevent division by 0. + # 1.0 + 1e-16 = 1.0, so we do not have to worry about screwing up division + return np.divide((np.multiply(di_du_sq, di_dv_sq) - di_du_di_dv ** 2), (di_du_sq + di_dv_sq) + 1e-16) + + +def non_maximal_suppression(h, n=100, max_filter_size=4): + """Returns two vectors, one for x point location, one for y point location. + These points correspond to local maxima point locations""" + + local_max_pts = local_max_loc_and_intensity(h, max_filter_size) + + # Filter out local maxima with relatively weak responses + local_max_pts = local_max_pts[local_max_pts[:, 2] > 1e-5] + + # Sort by intensity and reverse + local_max_pts = np.flip(local_max_pts[local_max_pts[:, 2].argsort(kind='mergesort')], axis=0) + + # Keep best n + return local_max_pts[:n, 1], local_max_pts[:n, 0] + + +def local_max_loc_and_intensity(h, max_filter_size): + + """ + Helper function to compute locations of local maxima + :param h: harris repsonse + :param max_filter_size: size of filter window to be used + :return: matrix that is shape of number of local maxima. + First column is i point location, second column is j point location + Last column is value of harris response at that location + """ + bool_mask = non_linear_convolve(h, max_filter_size) + + # Get list of points where mask is true + i, j = np.where(bool_mask == True) + + # Grab the corresponding intensities + intensities = h[i, j] + + # (n,) -> (n, 1) + i = np.expand_dims(i, axis=1) + j = np.expand_dims(j, axis=1) + intensities = np.expand_dims(intensities, axis=1) + + return np.hstack((i, j, intensities)) + + +def point_distance(p1, p2): + """Computes euclidean distance between p1 and p2""" + + x_diff = float(p1[0]) - float(p2[0]) + y_diff = float(p1[1]) - float(p2[1]) + + return np.sqrt((x_diff * x_diff) + (y_diff * y_diff)) + + +def adaptive_non_maximal_suppression(h, n, max_filter_size, c=0.9): + + # pt = point + # curr = current + # loc = location + # idx = index + # dist = distance + # num = number + # pot = potential + # kpts = key points + + max_loc_and_intensity = local_max_loc_and_intensity(h, max_filter_size) + + # Filter out local maxima with relatively weak responses + max_loc_and_intensity = max_loc_and_intensity[max_loc_and_intensity[:, 2] > 1e-5] + + local_max_pts_loc = max_loc_and_intensity[:, 0:2] + local_max_pts_intensity = max_loc_and_intensity[:, 2] + + num_pot_kpts = len(local_max_pts_loc) + + # this list has index in the closest point w/ higher harris response + closest_pt_loc = np.empty(shape=(num_pot_kpts, 2), dtype=np.int) + closest_pt_dist = np.empty(shape=(num_pot_kpts, 1)) + closest_pt_dist.fill(np.inf) + + # for each point, find closest point w/ higher harris response + for i in range(num_pot_kpts): + for j in range(num_pot_kpts): + + # Don't want to compare point to itself + if i == j: + continue + + # Compute distance between the current point and the point we are looking at + new_dist = point_distance(local_max_pts_loc[i], local_max_pts_loc[j]) + + # If new point has higher intensity and is closer, record it + if local_max_pts_intensity[j] * c > local_max_pts_intensity[i] and new_dist < closest_pt_dist[i]: + closest_pt_loc[i] = local_max_pts_loc[j] + closest_pt_dist[i] = new_dist + + # If dist is still infinity, it is the 'best' local max + cond = closest_pt_dist[:, 0] == np.inf + closest_pt_loc[cond] = local_max_pts_loc[cond] + + pt_dist_mtx = np.hstack((closest_pt_loc, closest_pt_dist)) + + dt = np.dtype([('i', int),('j', int),('dist', float)]) + pt_dist_mtx.view(dtype=dt).sort(order='dist', axis=0) # Sort in place, by distance + pt_dist_mtx = np.flipud(pt_dist_mtx) # Reverse + + reversed_points = set() + + # Take the first n points we see + for i in range(len(pt_dist_mtx)): + + current_point = (pt_dist_mtx[i, 1], pt_dist_mtx[i, 0]) + + if current_point not in reversed_points: + reversed_points.add(current_point) + + if len(reversed_points) == n: + break + + return zip(*reversed_points) diff --git a/project_description.ipynb b/project_description.ipynb index 421c6d0..4dd2df4 100644 --- a/project_description.ipynb +++ b/project_description.ipynb @@ -22,21 +22,48 @@ "metadata": {}, "outputs": [], "source": [ + "from harris_response import *\n", + "\n", + "\n", "class Stitcher(object):\n", - " def __init__(self,image_1,image_2):\n", - " self.images = [image_1,image_2]\n", + " def __init__(self, image_1, image_2):\n", + " \n", + " # Convert both images to gray scale\n", + " image_1 = np.mean(image_1, -1)\n", + " image_2 = np.mean(image_2, -1)\n", + " \n", + " self.images = [image_1, image_2]\n", + "\n", + " def find_keypoints(self, image, n_keypoints):\n", " \n", - " def find_keypoints(self):\n", " \"\"\"\n", " Step 1: This method locates features that are \"good\" for matching. To do this we will implement the Harris \n", " corner detector\n", " \"\"\"\n", " \n", + " filter_size = 5\n", + " \n", + " # Setup gauss filter\n", + " gauss_filter = Filter.make_gauss((filter_size, filter_size), 2)\n", + " \n", + " # Compute smoothed harris response\n", + " out = convolve(compute_harris_response(image, gauss_filter), gauss_filter) # Smooth results\n", + " \n", + " # Find some good features to match\n", + " x, y = adaptive_non_maximal_suppression(out, n_keypoints, filter_size)\n", + " \n", + " # Return the locations\n", + " return x, y\n", + " \n", " def generate_descriptors(self):\n", " \"\"\"\n", " Step 2: After identifying relevant keypoints, we need to come up with a quantitative description of the \n", " neighborhood of that keypoint, so that we can match it to keypoints in other images.\n", " \"\"\"\n", + " img_1_keypoint_x, img_1_keypoint_y = self.find_keypoints(self.images[0], 100) \n", + " img_2_keypoint_x, img_2_keypoint_y = self.find_keypoints(self.images[1], 100) \n", + "\n", + " \n", " \n", " def match_keypoints(self):\n", " \"\"\"\n", From 10accd74b2649a1d6ee84b3f31471089fb27b7b9 Mon Sep 17 00:00:00 2001 From: Jordan Date: Tue, 19 Feb 2019 22:42:10 -0700 Subject: [PATCH 02/13] get descriptors --- project_description.ipynb | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/project_description.ipynb b/project_description.ipynb index 4dd2df4..37d3b80 100644 --- a/project_description.ipynb +++ b/project_description.ipynb @@ -60,9 +60,33 @@ " Step 2: After identifying relevant keypoints, we need to come up with a quantitative description of the \n", " neighborhood of that keypoint, so that we can match it to keypoints in other images.\n", " \"\"\"\n", - " img_1_keypoint_x, img_1_keypoint_y = self.find_keypoints(self.images[0], 100) \n", - " img_2_keypoint_x, img_2_keypoint_y = self.find_keypoints(self.images[1], 100) \n", + " im1_kpt_x, im1_kpt_y = self.find_keypoints(self.images[0], 100) \n", + " im2_kpt_x, im2_kpt_y = self.find_keypoints(self.images[1], 100) \n", "\n", + " ofs = l // 2\n", + " im1_desc_out = []\n", + " im1_x_out = []\n", + " im1_y_out = []\n", + " im2_desc_out = []\n", + " im2_x_out = []\n", + " im2_y_out = []\n", + " \n", + " # check for u and v to be same dimensions\n", + " for i in range(len(im1_kpt_x)):\n", + " sub = self.images[0][im1_kpt_x[i]-ofs:im1_kpt_x[i]+ofs+1, im1_kpt_y[i]-ofs:im1_kpt_y[i]+ofs+1] \n", + " if sub.shape[0] == l and sub.shape[1] == l: \n", + " im1_x_out.append(im1_kpt_x[i])\n", + " im1_y_out.append(im1_kpt_y[i])\n", + " im1_desc_out.append(sub)\n", + " \n", + " for i in range(len(im2_kpt_x)):\n", + " sub2 = self.images[1][im2_kpt_x[i]-ofs:im2_kpt_x[i]+ofs+1, im2_kpt_y[i]-ofs:im2_kpt_y[i]+ofs+1]\n", + " if sub2.shape[0] == l and sub2.shape[1] == l:\n", + " im2_x_out.append(im2_kpt_x[i])\n", + " im2_y_out.append(im2_kpt_y[i])\n", + " im2_desc_out.append(sub2)\n", + " \n", + " return np.stack(d_out), np.asarray(v_out), np.asarray(u_out)\n", " \n", " \n", " def match_keypoints(self):\n", From 7419feb98ef6b74c08cc1162237727ea04d8e74d Mon Sep 17 00:00:00 2001 From: Jordan Date: Tue, 19 Feb 2019 22:43:46 -0700 Subject: [PATCH 03/13] generate descriptors for key pts --- project_description.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project_description.ipynb b/project_description.ipynb index 37d3b80..e56cacb 100644 --- a/project_description.ipynb +++ b/project_description.ipynb @@ -86,7 +86,7 @@ " im2_y_out.append(im2_kpt_y[i])\n", " im2_desc_out.append(sub2)\n", " \n", - " return np.stack(d_out), np.asarray(v_out), np.asarray(u_out)\n", + " return np.stack(im1_desc_out), np.asarray(im1_y_out), np.asarray(im1_x_out), np.stack(im2_desc_out), np.asarray(im2_y_out), np.asarray(im2_x_out)\n", " \n", " \n", " def match_keypoints(self):\n", From 3af3e6e7db161a5df82a0fecf80c18c4a129d028 Mon Sep 17 00:00:00 2001 From: mandub Date: Wed, 20 Feb 2019 01:41:19 -0700 Subject: [PATCH 04/13] add fun match_keypoints --- .../project_description-checkpoint.ipynb | 169 ++++++++++++++++++ project_description.ipynb | 28 ++- 2 files changed, 193 insertions(+), 4 deletions(-) create mode 100644 .ipynb_checkpoints/project_description-checkpoint.ipynb diff --git a/.ipynb_checkpoints/project_description-checkpoint.ipynb b/.ipynb_checkpoints/project_description-checkpoint.ipynb new file mode 100644 index 0000000..c8045d6 --- /dev/null +++ b/.ipynb_checkpoints/project_description-checkpoint.ipynb @@ -0,0 +1,169 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Project 2: Image Stitcher\n", + "## Assigned: 02.01.2019\n", + "## Due Date: TBD (probably 02.20.2019)\n", + "\n", + "Panoramic photography is ubiquitous, with nearly every digital camera having a mode dedicated to doing it. Here's an example from the Italian Alps:\n", + "\n", + "Note the extreme aspect ratio: much larger than the 4:3 or 3:2 that is typical of most cameras; suffice to say, the camera that stook this picture did not have a sensor that was this wide. So how are these things made? Stated simply, multiple images are taken, mutually identifiable points are located in each of these images, and the images are warped such that these points are coincident. The matching stage might look like this:\n", + "\n", + "\n", + "For this project, you will code your own image stitcher from scratch. Despite the conceptual simplicity of this operation, there are a surprising number of challenges that need to be addressed. A general framework for a stitcher might look like this:" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from harris_response import *\n", + "\n", + "\n", + "class Stitcher(object):\n", + " def __init__(self, image_1, image_2):\n", + " \n", + " # Convert both images to gray scale\n", + " image_1 = np.mean(image_1, -1)\n", + " image_2 = np.mean(image_2, -1)\n", + " \n", + " self.images = [image_1, image_2]\n", + "\n", + " def find_keypoints(self, image, n_keypoints):\n", + " \n", + " \"\"\"\n", + " Step 1: This method locates features that are \"good\" for matching. To do this we will implement the Harris \n", + " corner detector\n", + " \"\"\"\n", + " \n", + " filter_size = 5\n", + " \n", + " # Setup gauss filter\n", + " gauss_filter = Filter.make_gauss((filter_size, filter_size), 2)\n", + " \n", + " # Compute smoothed harris response\n", + " out = convolve(compute_harris_response(image, gauss_filter), gauss_filter) # Smooth results\n", + " \n", + " # Find some good features to match\n", + " x, y = adaptive_non_maximal_suppression(out, n_keypoints, filter_size)\n", + " \n", + " # Return the locations\n", + " return x, y\n", + " \n", + " def generate_descriptors(self):\n", + " \"\"\"\n", + " Step 2: After identifying relevant keypoints, we need to come up with a quantitative description of the \n", + " neighborhood of that keypoint, so that we can match it to keypoints in other images.\n", + " \"\"\"\n", + " im1_kpt_x, im1_kpt_y = self.find_keypoints(self.images[0], 100) \n", + " im2_kpt_x, im2_kpt_y = self.find_keypoints(self.images[1], 100) \n", + "\n", + " ofs = l // 2\n", + " im1_desc_out = []\n", + " im1_x_out = []\n", + " im1_y_out = []\n", + " im2_desc_out = []\n", + " im2_x_out = []\n", + " im2_y_out = []\n", + " \n", + " # check for u and v to be same dimensions\n", + " for i in range(len(im1_kpt_x)):\n", + " sub = self.images[0][im1_kpt_x[i]-ofs:im1_kpt_x[i]+ofs+1, im1_kpt_y[i]-ofs:im1_kpt_y[i]+ofs+1] \n", + " if sub.shape[0] == l and sub.shape[1] == l: \n", + " im1_x_out.append(im1_kpt_x[i])\n", + " im1_y_out.append(im1_kpt_y[i])\n", + " im1_desc_out.append(sub)\n", + " \n", + " for i in range(len(im2_kpt_x)):\n", + " sub2 = self.images[1][im2_kpt_x[i]-ofs:im2_kpt_x[i]+ofs+1, im2_kpt_y[i]-ofs:im2_kpt_y[i]+ofs+1]\n", + " if sub2.shape[0] == l and sub2.shape[1] == l:\n", + " im2_x_out.append(im2_kpt_x[i])\n", + " im2_y_out.append(im2_kpt_y[i])\n", + " im2_desc_out.append(sub2)\n", + " \n", + " return np.stack(im1_desc_out), np.asarray(im1_y_out), np.asarray(im1_x_out), np.stack(im2_desc_out), np.asarray(im2_y_out), np.asarray(im2_x_out)\n", + " \n", + " \n", + " def match_keypoints(self,r= 0.7):\n", + " \"\"\"\n", + " Step 3: Compare keypoint descriptions between images, identify potential matches, and filter likely\n", + " mismatches\n", + " \"\"\"\n", + " im1_desc , im1_y ,im1_x ,im2_desc, im2_y ,im2_x = self.generate_descriptors()\n", + " \n", + " for index , D in im1_desc:\n", + " D = (D - np.mean(D)) / np.std(D)\n", + " for D in im2_desc:\n", + " D = (D - np.mean(D)) / np.std(D)\n", + " \n", + " match_out = []\n", + " for index1 , D1 in enumerate (im1_desc):\n", + " smallest = np.inf\n", + " temp_index2 = 0\n", + " \n", + " for index2, D2 in enumerate (im2_desc):\n", + " E =np.sum(np.square(D1-D2))\n", + " if E < smallest:\n", + " smallest = E\n", + " temp_index2 = index2\n", + " match_out.append(index1 , temp_index2)\n", + " # delete elemntes from match_out > r \n", + " return np.asarray(match_out)\n", + " \n", + " def find_homography(self):\n", + " \"\"\"\n", + " Step 4: Find a linear transformation (of various complexities) that maps pixels from the second image to \n", + " pixels in the first image\n", + " \"\"\"\n", + " \n", + " def stitch(self):\n", + " \"\"\"\n", + " Step 5: Transform second image into local coordinate system of first image, and (perhaps) perform blending\n", + " to avoid obvious seams between images.\n", + " \"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will populate these functions over the next several weeks, a process that will involve delving into some of the most elementary operations in digital signal processing. \n", + "\n", + "As a test case, apply your stitcher to at least four overlapping images that you've taken. With a stitcher that works on two images, more images can be added by applying the method recursively." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.14" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/project_description.ipynb b/project_description.ipynb index e56cacb..c8045d6 100644 --- a/project_description.ipynb +++ b/project_description.ipynb @@ -89,11 +89,31 @@ " return np.stack(im1_desc_out), np.asarray(im1_y_out), np.asarray(im1_x_out), np.stack(im2_desc_out), np.asarray(im2_y_out), np.asarray(im2_x_out)\n", " \n", " \n", - " def match_keypoints(self):\n", + " def match_keypoints(self,r= 0.7):\n", " \"\"\"\n", " Step 3: Compare keypoint descriptions between images, identify potential matches, and filter likely\n", " mismatches\n", " \"\"\"\n", + " im1_desc , im1_y ,im1_x ,im2_desc, im2_y ,im2_x = self.generate_descriptors()\n", + " \n", + " for index , D in im1_desc:\n", + " D = (D - np.mean(D)) / np.std(D)\n", + " for D in im2_desc:\n", + " D = (D - np.mean(D)) / np.std(D)\n", + " \n", + " match_out = []\n", + " for index1 , D1 in enumerate (im1_desc):\n", + " smallest = np.inf\n", + " temp_index2 = 0\n", + " \n", + " for index2, D2 in enumerate (im2_desc):\n", + " E =np.sum(np.square(D1-D2))\n", + " if E < smallest:\n", + " smallest = E\n", + " temp_index2 = index2\n", + " match_out.append(index1 , temp_index2)\n", + " # delete elemntes from match_out > r \n", + " return np.asarray(match_out)\n", " \n", " def find_homography(self):\n", " \"\"\"\n", @@ -134,14 +154,14 @@ "language_info": { "codemirror_mode": { "name": "ipython", - "version": 3 + "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.5" + "pygments_lexer": "ipython2", + "version": "2.7.14" } }, "nbformat": 4, From a76dbe59a236eef79f058512cafdb7544690a765 Mon Sep 17 00:00:00 2001 From: mandub Date: Wed, 20 Feb 2019 10:13:50 -0700 Subject: [PATCH 05/13] delete extra loops --- .../project_description-checkpoint.ipynb | 11 ++++------- project_description.ipynb | 11 ++++------- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/.ipynb_checkpoints/project_description-checkpoint.ipynb b/.ipynb_checkpoints/project_description-checkpoint.ipynb index c8045d6..0ec854d 100644 --- a/.ipynb_checkpoints/project_description-checkpoint.ipynb +++ b/.ipynb_checkpoints/project_description-checkpoint.ipynb @@ -96,23 +96,20 @@ " \"\"\"\n", " im1_desc , im1_y ,im1_x ,im2_desc, im2_y ,im2_x = self.generate_descriptors()\n", " \n", - " for index , D in im1_desc:\n", - " D = (D - np.mean(D)) / np.std(D)\n", - " for D in im2_desc:\n", - " D = (D - np.mean(D)) / np.std(D)\n", - " \n", " match_out = []\n", " for index1 , D1 in enumerate (im1_desc):\n", " smallest = np.inf\n", " temp_index2 = 0\n", + " D1_hat = (D1 - np.mean(D1)) / np.std(D1)\n", " \n", " for index2, D2 in enumerate (im2_desc):\n", - " E =np.sum(np.square(D1-D2))\n", + " D2_hat = (D2 - np.mean(D2)) / np.std(D2)\n", + " E =np.sum(np.square(D1_hat-D2_hat))\n", " if E < smallest:\n", " smallest = E\n", " temp_index2 = index2\n", " match_out.append(index1 , temp_index2)\n", - " # delete elemntes from match_out > r \n", + " # delete elemntes from match_out < r \n", " return np.asarray(match_out)\n", " \n", " def find_homography(self):\n", diff --git a/project_description.ipynb b/project_description.ipynb index c8045d6..0ec854d 100644 --- a/project_description.ipynb +++ b/project_description.ipynb @@ -96,23 +96,20 @@ " \"\"\"\n", " im1_desc , im1_y ,im1_x ,im2_desc, im2_y ,im2_x = self.generate_descriptors()\n", " \n", - " for index , D in im1_desc:\n", - " D = (D - np.mean(D)) / np.std(D)\n", - " for D in im2_desc:\n", - " D = (D - np.mean(D)) / np.std(D)\n", - " \n", " match_out = []\n", " for index1 , D1 in enumerate (im1_desc):\n", " smallest = np.inf\n", " temp_index2 = 0\n", + " D1_hat = (D1 - np.mean(D1)) / np.std(D1)\n", " \n", " for index2, D2 in enumerate (im2_desc):\n", - " E =np.sum(np.square(D1-D2))\n", + " D2_hat = (D2 - np.mean(D2)) / np.std(D2)\n", + " E =np.sum(np.square(D1_hat-D2_hat))\n", " if E < smallest:\n", " smallest = E\n", " temp_index2 = index2\n", " match_out.append(index1 , temp_index2)\n", - " # delete elemntes from match_out > r \n", + " # delete elemntes from match_out < r \n", " return np.asarray(match_out)\n", " \n", " def find_homography(self):\n", From 2fd59afa2e8148db5a75fe8556f7490fb9d2668a Mon Sep 17 00:00:00 2001 From: mandub Date: Wed, 20 Feb 2019 10:24:21 -0700 Subject: [PATCH 06/13] space error removed --- .../project_description-checkpoint.ipynb | 10 +++++----- project_description.ipynb | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.ipynb_checkpoints/project_description-checkpoint.ipynb b/.ipynb_checkpoints/project_description-checkpoint.ipynb index 0ec854d..0e60103 100644 --- a/.ipynb_checkpoints/project_description-checkpoint.ipynb +++ b/.ipynb_checkpoints/project_description-checkpoint.ipynb @@ -104,11 +104,11 @@ " \n", " for index2, D2 in enumerate (im2_desc):\n", " D2_hat = (D2 - np.mean(D2)) / np.std(D2)\n", - " E =np.sum(np.square(D1_hat-D2_hat))\n", - " if E < smallest:\n", - " smallest = E\n", - " temp_index2 = index2\n", - " match_out.append(index1 , temp_index2)\n", + " E =np.sum(np.square(D1_hat-D2_hat))\n", + " if E < smallest:\n", + " smallest = E\n", + " temp_index2 = index2\n", + " match_out.append((index1 , temp_index2))\n", " # delete elemntes from match_out < r \n", " return np.asarray(match_out)\n", " \n", diff --git a/project_description.ipynb b/project_description.ipynb index 0ec854d..0e60103 100644 --- a/project_description.ipynb +++ b/project_description.ipynb @@ -104,11 +104,11 @@ " \n", " for index2, D2 in enumerate (im2_desc):\n", " D2_hat = (D2 - np.mean(D2)) / np.std(D2)\n", - " E =np.sum(np.square(D1_hat-D2_hat))\n", - " if E < smallest:\n", - " smallest = E\n", - " temp_index2 = index2\n", - " match_out.append(index1 , temp_index2)\n", + " E =np.sum(np.square(D1_hat-D2_hat))\n", + " if E < smallest:\n", + " smallest = E\n", + " temp_index2 = index2\n", + " match_out.append((index1 , temp_index2))\n", " # delete elemntes from match_out < r \n", " return np.asarray(match_out)\n", " \n", From 965e34ddfa4530d80938cd7c2ab08adb4562fee1 Mon Sep 17 00:00:00 2001 From: mandub Date: Fri, 22 Feb 2019 00:18:48 -0700 Subject: [PATCH 07/13] Add another loop for the secoond smallest --- .../project_description-checkpoint.ipynb | 28 +++++++++++++++---- project_description.ipynb | 28 +++++++++++++++---- 2 files changed, 44 insertions(+), 12 deletions(-) diff --git a/.ipynb_checkpoints/project_description-checkpoint.ipynb b/.ipynb_checkpoints/project_description-checkpoint.ipynb index 0e60103..60c619f 100644 --- a/.ipynb_checkpoints/project_description-checkpoint.ipynb +++ b/.ipynb_checkpoints/project_description-checkpoint.ipynb @@ -97,19 +97,35 @@ " im1_desc , im1_y ,im1_x ,im2_desc, im2_y ,im2_x = self.generate_descriptors()\n", " \n", " match_out = []\n", + " value_list=[] \n", " for index1 , D1 in enumerate (im1_desc):\n", " smallest = np.inf\n", - " temp_index2 = 0\n", + " index2_smallest = 0\n", + " smallest2= np.inf\n", + " index2_smallest2 = 0\n", " D1_hat = (D1 - np.mean(D1)) / np.std(D1)\n", - " \n", + " value =0\n", + " value2 =0\n", " for index2, D2 in enumerate (im2_desc):\n", " D2_hat = (D2 - np.mean(D2)) / np.std(D2)\n", " E =np.sum(np.square(D1_hat-D2_hat))\n", - " if E < smallest:\n", + " if E < smallest: # best match \n", " smallest = E\n", - " temp_index2 = index2\n", - " match_out.append((index1 , temp_index2))\n", - " # delete elemntes from match_out < r \n", + " value= E\n", + " index2_smallest = index2\n", + " np.delete(im2_desc, index2_smallest, 0)\n", + " \n", + " for index2, D2 in enumerate (im2_desc):\n", + " D2_hat = (D2 - np.mean(D2)) / np.std(D2)\n", + " E =np.sum(np.square(D1_hat-D2_hat))\n", + " if E < smallest2: # the second best match \n", + " smallest2 = E\n", + " value2= E\n", + " index2_smallest = index2\n", + " if value < (r * value2):\n", + " match_out.append((index1 , index2_smallest))\n", + " value_list.append(value)\n", + " \n", " return np.asarray(match_out)\n", " \n", " def find_homography(self):\n", diff --git a/project_description.ipynb b/project_description.ipynb index 0e60103..60c619f 100644 --- a/project_description.ipynb +++ b/project_description.ipynb @@ -97,19 +97,35 @@ " im1_desc , im1_y ,im1_x ,im2_desc, im2_y ,im2_x = self.generate_descriptors()\n", " \n", " match_out = []\n", + " value_list=[] \n", " for index1 , D1 in enumerate (im1_desc):\n", " smallest = np.inf\n", - " temp_index2 = 0\n", + " index2_smallest = 0\n", + " smallest2= np.inf\n", + " index2_smallest2 = 0\n", " D1_hat = (D1 - np.mean(D1)) / np.std(D1)\n", - " \n", + " value =0\n", + " value2 =0\n", " for index2, D2 in enumerate (im2_desc):\n", " D2_hat = (D2 - np.mean(D2)) / np.std(D2)\n", " E =np.sum(np.square(D1_hat-D2_hat))\n", - " if E < smallest:\n", + " if E < smallest: # best match \n", " smallest = E\n", - " temp_index2 = index2\n", - " match_out.append((index1 , temp_index2))\n", - " # delete elemntes from match_out < r \n", + " value= E\n", + " index2_smallest = index2\n", + " np.delete(im2_desc, index2_smallest, 0)\n", + " \n", + " for index2, D2 in enumerate (im2_desc):\n", + " D2_hat = (D2 - np.mean(D2)) / np.std(D2)\n", + " E =np.sum(np.square(D1_hat-D2_hat))\n", + " if E < smallest2: # the second best match \n", + " smallest2 = E\n", + " value2= E\n", + " index2_smallest = index2\n", + " if value < (r * value2):\n", + " match_out.append((index1 , index2_smallest))\n", + " value_list.append(value)\n", + " \n", " return np.asarray(match_out)\n", " \n", " def find_homography(self):\n", From 9d30481061c2acb327b06a6dcf09615a4011a779 Mon Sep 17 00:00:00 2001 From: Kyle Lucke Date: Fri, 22 Feb 2019 10:21:02 -0700 Subject: [PATCH 08/13] Sped up ANMS --- harris_response.py | 58 ++++++++++++++++++++++++++++------------------ 1 file changed, 36 insertions(+), 22 deletions(-) diff --git a/harris_response.py b/harris_response.py index 1c543c0..7a42a7c 100644 --- a/harris_response.py +++ b/harris_response.py @@ -1,7 +1,5 @@ from convolution import * -import sys from Filter import * -import matplotlib.pyplot as plt def compute_harris_response(img, smoothing_filter): @@ -74,13 +72,13 @@ def local_max_loc_and_intensity(h, max_filter_size): return np.hstack((i, j, intensities)) -def point_distance(p1, p2): - """Computes euclidean distance between p1 and p2""" +def point_distance_sq(p1, p2): + """Computes squared euclidean distance between p1 and p2""" - x_diff = float(p1[0]) - float(p2[0]) - y_diff = float(p1[1]) - float(p2[1]) + diff_x = (float(p1[0]) - float(p2[0])) + diff_y = (float(p1[1]) - float(p2[1])) - return np.sqrt((x_diff * x_diff) + (y_diff * y_diff)) + return (diff_x * diff_x) + (diff_y * diff_y) def adaptive_non_maximal_suppression(h, n, max_filter_size, c=0.9): @@ -97,7 +95,21 @@ def adaptive_non_maximal_suppression(h, n, max_filter_size, c=0.9): max_loc_and_intensity = local_max_loc_and_intensity(h, max_filter_size) # Filter out local maxima with relatively weak responses - max_loc_and_intensity = max_loc_and_intensity[max_loc_and_intensity[:, 2] > 1e-5] + max_loc_and_intensity = max_loc_and_intensity[max_loc_and_intensity[:, 2] > 1e-3] + + # Sort by strength of harris response + # Note: argsort sorts in ascending order(ie: -2, -1, 0, 1, 2, ..., inf) + # but we want descending order, so we flip to reverse row order. + max_loc_and_intensity = np.flipud(max_loc_and_intensity[max_loc_and_intensity[:, 2].argsort(kind='mergesort')]) + + # Keep top 50%(this could be converted to a percentage, + # just being lazy.(could also pick number / percentage of points to throw + # out and then do so by randomly sampling from indices, this has + # added benefit of [theoretically] keeping the same spatial + # distribution as the original points(thanks to Dr. Douglas Brinkerhoff)) + num_to_keep = len(max_loc_and_intensity) // 2 + + max_loc_and_intensity = max_loc_and_intensity[:num_to_keep, :] local_max_pts_loc = max_loc_and_intensity[:, 0:2] local_max_pts_intensity = max_loc_and_intensity[:, 2] @@ -117,35 +129,37 @@ def adaptive_non_maximal_suppression(h, n, max_filter_size, c=0.9): if i == j: continue - # Compute distance between the current point and the point we are looking at - new_dist = point_distance(local_max_pts_loc[i], local_max_pts_loc[j]) + # Only compute distance if response is stronger(thanks to Dr. Douglas Brinkerhoff) + elif local_max_pts_intensity[j] * c > local_max_pts_intensity[i]: + + new_dist = point_distance_sq(local_max_pts_loc[i], local_max_pts_loc[j]) - # If new point has higher intensity and is closer, record it - if local_max_pts_intensity[j] * c > local_max_pts_intensity[i] and new_dist < closest_pt_dist[i]: - closest_pt_loc[i] = local_max_pts_loc[j] - closest_pt_dist[i] = new_dist + # If new point has higher intensity and is closer, record it + if new_dist < closest_pt_dist[i]: + closest_pt_loc[i] = local_max_pts_loc[i] + closest_pt_dist[i] = new_dist # If dist is still infinity, it is the 'best' local max cond = closest_pt_dist[:, 0] == np.inf closest_pt_loc[cond] = local_max_pts_loc[cond] + # Create matrix of [point_location_j, point_location_i, dist to closest point] pt_dist_mtx = np.hstack((closest_pt_loc, closest_pt_dist)) dt = np.dtype([('i', int),('j', int),('dist', float)]) - pt_dist_mtx.view(dtype=dt).sort(order='dist', axis=0) # Sort in place, by distance - pt_dist_mtx = np.flipud(pt_dist_mtx) # Reverse + pt_dist_mtx.view(dtype=dt).sort(order='dist', axis=0) # Sort in place + pt_dist_mtx = np.flipud(pt_dist_mtx) - reversed_points = set() + points_to_keep = set() - # Take the first n points we see for i in range(len(pt_dist_mtx)): current_point = (pt_dist_mtx[i, 1], pt_dist_mtx[i, 0]) - if current_point not in reversed_points: - reversed_points.add(current_point) + if current_point not in points_to_keep: + points_to_keep.add(current_point) - if len(reversed_points) == n: + if len(points_to_keep) == n: break - return zip(*reversed_points) + return zip(*points_to_keep) From 55c71692b4c7db6cf825353464da7f23f4b809f0 Mon Sep 17 00:00:00 2001 From: Jordan Date: Mon, 25 Feb 2019 11:38:53 -0700 Subject: [PATCH 09/13] homography --- project_description.ipynb | 68 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 67 insertions(+), 1 deletion(-) diff --git a/project_description.ipynb b/project_description.ipynb index 60c619f..ab0c261 100644 --- a/project_description.ipynb +++ b/project_description.ipynb @@ -128,12 +128,78 @@ " \n", " return np.asarray(match_out)\n", " \n", - " def find_homography(self):\n", + " def find_homography(self, uv, uv2):\n", " \"\"\"\n", " Step 4: Find a linear transformation (of various complexities) that maps pixels from the second image to \n", " pixels in the first image\n", " \"\"\"\n", " \n", + " if uv.shape != uv2.shape:\n", + " raise ValueError(\"X and X_prime must have matching shapes\")\n", + " if uv.shape[0] < 4:\n", + " raise ValueError(\"Not enough points\")\n", + "\n", + " # matches = np.column_stack(uv, uv2)\n", + "\n", + " A = np.zeros((2 * len(uv), 9))\n", + "\n", + " for i in range(len(uv)):\n", + " A[2 * i, :] = [0, 0, 0, -uv[i, 0], -uv[i, 1], -1, uv2[i, 1] * uv[i, 0], uv2[i, 1] * uv[i, 1], uv2[i, 1]]\n", + " A[2 * i + 1, :] = [uv[i, 0], uv[i, 1], 1, 0, 0, 0, -uv2[i, 0] * uv[i, 0], -uv2[i, 0] * uv[i, 1], -uv2[i, 0]]\n", + "\n", + " # print(A)\n", + " U, Sigma, Vt = np.linalg.svd(A)\n", + "\n", + " H = Vt[-1, :].reshape((3, 3))\n", + "\n", + " return H\n", + " \n", + " def RANSAC(self, number_of_iterations=10, n=10, r=3, d=8): \n", + " H_best = np.array([[1, 0, 0], [0, 1, 0], [0, 0, 1]])\n", + " num_inliers = 0\n", + " matches = self.match_keypoints() # matches should be form [u1, v1, u2, v2]\n", + " \n", + " for i in range(number_of_iterations):\n", + " # 1. Select a random sample of length n from the matches\n", + " np.random.shuffle(matches)\n", + " sub = matches[0:n, :]\n", + " test = matches[n:, :]\n", + "\n", + " # 2. Compute a homography based on these points using the methods given above\n", + " H = self.find_homography(sub[:, 0:2], sub[:, 2:])\n", + "\n", + " # 3. Apply this homography to the remaining points that were not randomly selected\n", + " test_p = test[:, 0:2]\n", + " test_p = np.column_stack((test_p, np.ones(len(test_p))))\n", + " uv_p = (H @ test_p.T).T\n", + " test_u = uv_p[:, 0] / uv_p[:, 2]\n", + " test_v = uv_p[:, 1] / uv_p[:, 2]\n", + "\n", + " # 4. Compute the residual between observed and predicted feature locations\n", + " R = np.zeros_like(test_u)\n", + " for i in range(len(test_p)):\n", + " R[i] = np.sqrt((test_u[i] - test[i, 2]) ** 2 + (test_v[i] - test[i, 3]) ** 2)\n", + "\n", + " # 5. Flag predictions that lie within a predefined distance r from observations as inliers\n", + " inl = np.zeros_like(R)\n", + " for i in range(len(inl)):\n", + " if R[i] < r:\n", + " inl[i] = 1\n", + " else:\n", + " inl[i] = 0\n", + " num_inl = np.sum(inl)\n", + "\n", + " # 6. If number of inliers is greater than the previous best\n", + " # and greater than a minimum number of inliers d,\n", + " # 7. update H_best\n", + " # 8. update list_of_inliers\n", + " if num_inl > num_inliers:\n", + " if num_inl > d:\n", + " H_best = H\n", + " num_inliers = num_inl\n", + "\n", + " return H_best, num_inliers\n", + " \n", " def stitch(self):\n", " \"\"\"\n", " Step 5: Transform second image into local coordinate system of first image, and (perhaps) perform blending\n", From 77fa989cf71e82b6153c3975caf6bac970eb43ee Mon Sep 17 00:00:00 2001 From: Kyle Lucke Date: Mon, 25 Feb 2019 15:43:41 -0700 Subject: [PATCH 10/13] Should be able to just run if used as a class, have not verified. Will commit any fixes --- .../project_description-checkpoint.ipynb | 28 +--- project_description.ipynb | 128 +++++++++++------- room1.jpg | Bin 0 -> 125485 bytes room2.jpg | Bin 0 -> 126664 bytes 4 files changed, 86 insertions(+), 70 deletions(-) create mode 100644 room1.jpg create mode 100644 room2.jpg diff --git a/.ipynb_checkpoints/project_description-checkpoint.ipynb b/.ipynb_checkpoints/project_description-checkpoint.ipynb index 60c619f..0e60103 100644 --- a/.ipynb_checkpoints/project_description-checkpoint.ipynb +++ b/.ipynb_checkpoints/project_description-checkpoint.ipynb @@ -97,35 +97,19 @@ " im1_desc , im1_y ,im1_x ,im2_desc, im2_y ,im2_x = self.generate_descriptors()\n", " \n", " match_out = []\n", - " value_list=[] \n", " for index1 , D1 in enumerate (im1_desc):\n", " smallest = np.inf\n", - " index2_smallest = 0\n", - " smallest2= np.inf\n", - " index2_smallest2 = 0\n", + " temp_index2 = 0\n", " D1_hat = (D1 - np.mean(D1)) / np.std(D1)\n", - " value =0\n", - " value2 =0\n", - " for index2, D2 in enumerate (im2_desc):\n", - " D2_hat = (D2 - np.mean(D2)) / np.std(D2)\n", - " E =np.sum(np.square(D1_hat-D2_hat))\n", - " if E < smallest: # best match \n", - " smallest = E\n", - " value= E\n", - " index2_smallest = index2\n", - " np.delete(im2_desc, index2_smallest, 0)\n", " \n", " for index2, D2 in enumerate (im2_desc):\n", " D2_hat = (D2 - np.mean(D2)) / np.std(D2)\n", " E =np.sum(np.square(D1_hat-D2_hat))\n", - " if E < smallest2: # the second best match \n", - " smallest2 = E\n", - " value2= E\n", - " index2_smallest = index2\n", - " if value < (r * value2):\n", - " match_out.append((index1 , index2_smallest))\n", - " value_list.append(value)\n", - " \n", + " if E < smallest:\n", + " smallest = E\n", + " temp_index2 = index2\n", + " match_out.append((index1 , temp_index2))\n", + " # delete elemntes from match_out < r \n", " return np.asarray(match_out)\n", " \n", " def find_homography(self):\n", diff --git a/project_description.ipynb b/project_description.ipynb index ab0c261..b33063c 100644 --- a/project_description.ipynb +++ b/project_description.ipynb @@ -18,11 +18,12 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from harris_response import *\n", + "import skimage.transform as skt\n", "\n", "\n", "class Stitcher(object):\n", @@ -34,13 +35,18 @@ " \n", " self.images = [image_1, image_2]\n", "\n", - " def find_keypoints(self, image, n_keypoints):\n", + " def find_keypoints(self, image, n_keypoints, img_idx):\n", " \n", " \"\"\"\n", " Step 1: This method locates features that are \"good\" for matching. To do this we will implement the Harris \n", " corner detector\n", " \"\"\"\n", " \n", + " if img_idx == 0:\n", + " fname = 'image1_keypoints'\n", + " else:\n", + " fname = 'image2_keypoints'\n", + "\n", " filter_size = 5\n", " \n", " # Setup gauss filter\n", @@ -50,84 +56,81 @@ " out = convolve(compute_harris_response(image, gauss_filter), gauss_filter) # Smooth results\n", " \n", " # Find some good features to match\n", - " x, y = adaptive_non_maximal_suppression(out, n_keypoints, filter_size)\n", + " x, y = adaptive_non_maximal_suppression(out, n_keypoints, filter_size, fname)\n", " \n", " # Return the locations\n", " return x, y\n", " \n", - " def generate_descriptors(self):\n", + " def generate_descriptors(self, img, im_idx, l=21):\n", " \"\"\"\n", " Step 2: After identifying relevant keypoints, we need to come up with a quantitative description of the \n", " neighborhood of that keypoint, so that we can match it to keypoints in other images.\n", " \"\"\"\n", - " im1_kpt_x, im1_kpt_y = self.find_keypoints(self.images[0], 100) \n", - " im2_kpt_x, im2_kpt_y = self.find_keypoints(self.images[1], 100) \n", + " u, v = self.find_keypoints(img, 100) \n", "\n", " ofs = l // 2\n", - " im1_desc_out = []\n", - " im1_x_out = []\n", - " im1_y_out = []\n", - " im2_desc_out = []\n", - " im2_x_out = []\n", - " im2_y_out = []\n", " \n", + " d_out = []\n", + " u_out = []\n", + " v_out = []\n", " # check for u and v to be same dimensions\n", - " for i in range(len(im1_kpt_x)):\n", - " sub = self.images[0][im1_kpt_x[i]-ofs:im1_kpt_x[i]+ofs+1, im1_kpt_y[i]-ofs:im1_kpt_y[i]+ofs+1] \n", - " if sub.shape[0] == l and sub.shape[1] == l: \n", - " im1_x_out.append(im1_kpt_x[i])\n", - " im1_y_out.append(im1_kpt_y[i])\n", - " im1_desc_out.append(sub)\n", - " \n", - " for i in range(len(im2_kpt_x)):\n", - " sub2 = self.images[1][im2_kpt_x[i]-ofs:im2_kpt_x[i]+ofs+1, im2_kpt_y[i]-ofs:im2_kpt_y[i]+ofs+1]\n", - " if sub2.shape[0] == l and sub2.shape[1] == l:\n", - " im2_x_out.append(im2_kpt_x[i])\n", - " im2_y_out.append(im2_kpt_y[i])\n", - " im2_desc_out.append(sub2)\n", - " \n", - " return np.stack(im1_desc_out), np.asarray(im1_y_out), np.asarray(im1_x_out), np.stack(im2_desc_out), np.asarray(im2_y_out), np.asarray(im2_x_out)\n", - " \n", + " for i in range(len(u)):\n", + " sub = img[v[i] - ofs:v[i] + ofs + 1, u[i] - ofs:u[i] + ofs + 1]\n", + " if sub.shape[0] == l and sub.shape[1] == l:\n", + " u_out.append(u[i])\n", + " v_out.append(v[i])\n", + " d_out.append(sub)\n", + "\n", + " return np.stack(d_out), np.asarray(u_out, dtype=int), np.asarray(v_out, dtype=int)\n", " \n", - " def match_keypoints(self,r= 0.7):\n", + " def match_keypoints(self, r=0.7):\n", " \"\"\"\n", " Step 3: Compare keypoint descriptions between images, identify potential matches, and filter likely\n", " mismatches\n", " \"\"\"\n", - " im1_desc , im1_y ,im1_x ,im2_desc, im2_y ,im2_x = self.generate_descriptors()\n", + " \n", + " d1, u1, v1 = self.generate_descriptors(self.images[0], 0)\n", + " d2, u2, v2 = self.generate_descriptors(self.images[1], 1)\n", " \n", " match_out = []\n", - " value_list=[] \n", - " for index1 , D1 in enumerate (im1_desc):\n", + " value_list = []\n", + " for i, D1 in enumerate(d1):\n", + " \n", + " \n", " smallest = np.inf\n", " index2_smallest = 0\n", " smallest2= np.inf\n", " index2_smallest2 = 0\n", " D1_hat = (D1 - np.mean(D1)) / np.std(D1)\n", - " value =0\n", - " value2 =0\n", - " for index2, D2 in enumerate (im2_desc):\n", + " value = 0\n", + " value2 = 0\n", + " \n", + " for j, D2 in enumerate(d2):\n", " D2_hat = (D2 - np.mean(D2)) / np.std(D2)\n", - " E =np.sum(np.square(D1_hat-D2_hat))\n", - " if E < smallest: # best match \n", + " E = np.sum(np.square(D1_hat-D2_hat))\n", + " if E < smallest: # best match \n", " smallest = E\n", - " value= E\n", - " index2_smallest = index2\n", - " np.delete(im2_desc, index2_smallest, 0)\n", + " value = E\n", + " index2_smallest = j\n", + " np.delete(d2, index2_smallest, 0)\n", + " \n", + " for j, D2 in enumerate(d2):\n", " \n", - " for index2, D2 in enumerate (im2_desc):\n", " D2_hat = (D2 - np.mean(D2)) / np.std(D2)\n", - " E =np.sum(np.square(D1_hat-D2_hat))\n", - " if E < smallest2: # the second best match \n", + " E = np.sum(np.square(D1_hat-D2_hat))\n", + " \n", + " if E < smallest2: # the second best match \n", " smallest2 = E\n", " value2= E\n", - " index2_smallest = index2\n", + " index2_smallest = j\n", + " \n", " if value < (r * value2):\n", - " match_out.append((index1 , index2_smallest))\n", + " \n", + " match_out.append((u1[i], v1[i], u2[index2_smallest], v2[index2_smallest]))\n", " value_list.append(value)\n", " \n", " return np.asarray(match_out)\n", - " \n", + "\n", " def find_homography(self, uv, uv2):\n", " \"\"\"\n", " Step 4: Find a linear transformation (of various complexities) that maps pixels from the second image to \n", @@ -155,9 +158,10 @@ " return H\n", " \n", " def RANSAC(self, number_of_iterations=10, n=10, r=3, d=8): \n", + " \n", " H_best = np.array([[1, 0, 0], [0, 1, 0], [0, 0, 1]])\n", " num_inliers = 0\n", - " matches = self.match_keypoints() # matches should be form [u1, v1, u2, v2]\n", + " matches = self.match_keypoints() # matches should be of the form [u1, v1, u2, v2]\n", " \n", " for i in range(number_of_iterations):\n", " # 1. Select a random sample of length n from the matches\n", @@ -204,7 +208,35 @@ " \"\"\"\n", " Step 5: Transform second image into local coordinate system of first image, and (perhaps) perform blending\n", " to avoid obvious seams between images.\n", - " \"\"\"" + " \"\"\"\n", + " H_best = self.RANSAC(10, 10, 3, 8)\n", + " \n", + " im1 = self.images[0]\n", + " im2 = self.images[1]\n", + " \n", + " transform = skt.ProjectiveTransform(H_best)\n", + " im_2_warped = skt.warp(im2, transform, output_shape=(im1.shape[0], im1.shape[1] + (int(im1.shape[1]*0.4))))\n", + " \n", + " im1t = np.zeros_like(im_2_warped)\n", + " \n", + " for v in range(im1.shape[0]):\n", + " for u in range(im1.shape[1]):\n", + " if im1[v, u] != 0:\n", + " im1t[v, u] = im1[v, u]\n", + "\n", + " img_out = np.zeros_like(im_2_warped)\n", + " \n", + " for v in range(img_out.shape[0]):\n", + " for u in range(img_out.shape[1]):\n", + " if im1t[v, u] == 0 and im_2_warped[v, u] == 0:\n", + " img_out[v, u] = 0\n", + " \n", + " elif im1t[v, u] != 0 and im_2_warped[v, u] == 0:\n", + " img_out[v, u] = im1[v, u]\n", + " elif im1t[v, u] == 0. and im_2_warped[v, u] != 0:\n", + " img_out[v, u] = im_2_warped[v,u]\n", + " else:\n", + " img_out[v, u] = (im_2_warped[v, u] + im1[v, u])/2\n" ] }, { diff --git a/room1.jpg b/room1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bab4071bac69c3044b8ae2a6d42bb7624ecf4c79 GIT binary patch literal 125485 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 literal 0 HcmV?d00001 diff --git a/room2.jpg b/room2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..02200ccc867effec3c45de04918b2d5a32b28671 GIT binary patch literal 126664 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 PwP*%7>qQmXdF=n$AsxyX literal 0 HcmV?d00001 From e4e5d6612f6bef4ca774ccffba21ec3eccc4fbcd Mon Sep 17 00:00:00 2001 From: Kyle Lucke Date: Mon, 25 Feb 2019 17:54:32 -0700 Subject: [PATCH 11/13] Made a few small fixes --- harris_response.py | 8 +- project_description.ipynb | 173 ++++++++++++++++++++------------------ 2 files changed, 95 insertions(+), 86 deletions(-) diff --git a/harris_response.py b/harris_response.py index 7a42a7c..0bf933e 100644 --- a/harris_response.py +++ b/harris_response.py @@ -136,7 +136,7 @@ def adaptive_non_maximal_suppression(h, n, max_filter_size, c=0.9): # If new point has higher intensity and is closer, record it if new_dist < closest_pt_dist[i]: - closest_pt_loc[i] = local_max_pts_loc[i] + closest_pt_loc[i] = local_max_pts_loc[j] closest_pt_dist[i] = new_dist # If dist is still infinity, it is the 'best' local max @@ -146,15 +146,13 @@ def adaptive_non_maximal_suppression(h, n, max_filter_size, c=0.9): # Create matrix of [point_location_j, point_location_i, dist to closest point] pt_dist_mtx = np.hstack((closest_pt_loc, closest_pt_dist)) - dt = np.dtype([('i', int),('j', int),('dist', float)]) - pt_dist_mtx.view(dtype=dt).sort(order='dist', axis=0) # Sort in place - pt_dist_mtx = np.flipud(pt_dist_mtx) + pt_dist_mtx = np.flipud(pt_dist_mtx[pt_dist_mtx[:, 2].argsort(kind='mergesort')]) points_to_keep = set() for i in range(len(pt_dist_mtx)): - current_point = (pt_dist_mtx[i, 1], pt_dist_mtx[i, 0]) + current_point = (int(pt_dist_mtx[i, 1]), int(pt_dist_mtx[i, 0])) if current_point not in points_to_keep: points_to_keep.add(current_point) diff --git a/project_description.ipynb b/project_description.ipynb index b33063c..f87e4c1 100644 --- a/project_description.ipynb +++ b/project_description.ipynb @@ -27,116 +27,122 @@ "\n", "\n", "class Stitcher(object):\n", + "\n", " def __init__(self, image_1, image_2):\n", - " \n", + "\n", " # Convert both images to gray scale\n", " image_1 = np.mean(image_1, -1)\n", " image_2 = np.mean(image_2, -1)\n", - " \n", + "\n", " self.images = [image_1, image_2]\n", "\n", - " def find_keypoints(self, image, n_keypoints, img_idx):\n", - " \n", + " def find_keypoints(self, image, n_keypoints):\n", + "\n", " \"\"\"\n", - " Step 1: This method locates features that are \"good\" for matching. To do this we will implement the Harris \n", + " Step 1: This method locates features that are \"good\" for matching. To do this we will implement the Harris\n", " corner detector\n", " \"\"\"\n", - " \n", - " if img_idx == 0:\n", - " fname = 'image1_keypoints'\n", - " else:\n", - " fname = 'image2_keypoints'\n", "\n", " filter_size = 5\n", - " \n", + "\n", " # Setup gauss filter\n", " gauss_filter = Filter.make_gauss((filter_size, filter_size), 2)\n", - " \n", + "\n", " # Compute smoothed harris response\n", " out = convolve(compute_harris_response(image, gauss_filter), gauss_filter) # Smooth results\n", - " \n", + "\n", " # Find some good features to match\n", - " x, y = adaptive_non_maximal_suppression(out, n_keypoints, filter_size, fname)\n", - " \n", + " x, y = adaptive_non_maximal_suppression(out, n_keypoints, filter_size)\n", + "\n", " # Return the locations\n", " return x, y\n", - " \n", - " def generate_descriptors(self, img, im_idx, l=21):\n", + "\n", + " def generate_descriptors(self, img, l=21):\n", " \"\"\"\n", - " Step 2: After identifying relevant keypoints, we need to come up with a quantitative description of the \n", + " Step 2: After identifying relevant keypoints, we need to come up with a quantitative description of the\n", " neighborhood of that keypoint, so that we can match it to keypoints in other images.\n", " \"\"\"\n", - " u, v = self.find_keypoints(img, 100) \n", + " v, u = self.find_keypoints(img, 100)\n", "\n", " ofs = l // 2\n", - " \n", + "\n", " d_out = []\n", " u_out = []\n", " v_out = []\n", + "\n", + " m = len(img)\n", + " n = len(img[0])\n", + "\n", " # check for u and v to be same dimensions\n", " for i in range(len(u)):\n", - " sub = img[v[i] - ofs:v[i] + ofs + 1, u[i] - ofs:u[i] + ofs + 1]\n", + "\n", + " c_x = v[i]\n", + " c_y = u[i]\n", + "\n", + " # If we cannot get a description for key point, throw it out\n", + " if c_x + ofs > m or c_x - ofs < 0 or c_y + ofs > n or c_y - ofs < 0:\n", + " continue\n", + "\n", + " sub = img[v[i] - ofs: v[i] + ofs + 1, u[i] - ofs: u[i] + ofs + 1]\n", " if sub.shape[0] == l and sub.shape[1] == l:\n", " u_out.append(u[i])\n", " v_out.append(v[i])\n", " d_out.append(sub)\n", "\n", " return np.stack(d_out), np.asarray(u_out, dtype=int), np.asarray(v_out, dtype=int)\n", - " \n", + "\n", + " def D_hat(self, d):\n", + " return (d - d.mean()) / np.std(d)\n", + "\n", + " def error(self, d1, d2):\n", + " return np.sum((d1 - d2) ** 2)\n", + "\n", " def match_keypoints(self, r=0.7):\n", " \"\"\"\n", " Step 3: Compare keypoint descriptions between images, identify potential matches, and filter likely\n", " mismatches\n", " \"\"\"\n", - " \n", - " d1, u1, v1 = self.generate_descriptors(self.images[0], 0)\n", - " d2, u2, v2 = self.generate_descriptors(self.images[1], 1)\n", - " \n", - " match_out = []\n", - " value_list = []\n", - " for i, D1 in enumerate(d1):\n", - " \n", - " \n", - " smallest = np.inf\n", - " index2_smallest = 0\n", - " smallest2= np.inf\n", - " index2_smallest2 = 0\n", - " D1_hat = (D1 - np.mean(D1)) / np.std(D1)\n", - " value = 0\n", - " value2 = 0\n", - " \n", - " for j, D2 in enumerate(d2):\n", - " D2_hat = (D2 - np.mean(D2)) / np.std(D2)\n", - " E = np.sum(np.square(D1_hat-D2_hat))\n", - " if E < smallest: # best match \n", - " smallest = E\n", - " value = E\n", - " index2_smallest = j\n", - " np.delete(d2, index2_smallest, 0)\n", - " \n", - " for j, D2 in enumerate(d2):\n", - " \n", - " D2_hat = (D2 - np.mean(D2)) / np.std(D2)\n", - " E = np.sum(np.square(D1_hat-D2_hat))\n", - " \n", - " if E < smallest2: # the second best match \n", - " smallest2 = E\n", - " value2= E\n", - " index2_smallest = j\n", - " \n", - " if value < (r * value2):\n", - " \n", - " match_out.append((u1[i], v1[i], u2[index2_smallest], v2[index2_smallest]))\n", - " value_list.append(value)\n", - " \n", - " return np.asarray(match_out)\n", + "\n", + " d1, u1, v1 = self.generate_descriptors(img=self.images[0])\n", + " d2, u2, v2 = self.generate_descriptors(img=self.images[1])\n", + "\n", + " kp1 = []\n", + " kp2 = []\n", + "\n", + " for i in range(len(d1)):\n", + " d1_hat = self.D_hat(d1[i])\n", + " er_best = np.inf\n", + " er_second = np.inf\n", + "\n", + " for j in range(len(d2)):\n", + " d2_hat = self.D_hat(d2[j])\n", + " err = self.error(d1_hat, d2_hat)\n", + " if err < er_best:\n", + " er_best = err\n", + " kp2u = u2[j]\n", + " kp2v = v2[j]\n", + "\n", + " for k in range(len(d2)):\n", + " if u2[k] != kp2u and v2[k] != kp2v:\n", + " d2_hat2 = self.D_hat(d2[k])\n", + " err2 = self.error(d1_hat, d2_hat2)\n", + " if err2 < er_second:\n", + " er_second = err2\n", + "\n", + " if er_best < r * er_second:\n", + " if [u1[i], v1[i]] not in kp1:\n", + " if [kp2u, kp2v] not in kp2:\n", + " kp1.append([u1[i], v1[i]])\n", + " kp2.append([kp2u, kp2v])\n", + "\n", + " return np.asarray(kp1), np.asarray(kp2)\n", "\n", " def find_homography(self, uv, uv2):\n", " \"\"\"\n", - " Step 4: Find a linear transformation (of various complexities) that maps pixels from the second image to \n", + " Step 4: Find a linear transformation (of various complexities) that maps pixels from the second image to\n", " pixels in the first image\n", " \"\"\"\n", - " \n", + "\n", " if uv.shape != uv2.shape:\n", " raise ValueError(\"X and X_prime must have matching shapes\")\n", " if uv.shape[0] < 4:\n", @@ -154,15 +160,18 @@ " U, Sigma, Vt = np.linalg.svd(A)\n", "\n", " H = Vt[-1, :].reshape((3, 3))\n", + " H /= H[2, 2]\n", "\n", " return H\n", - " \n", - " def RANSAC(self, number_of_iterations=10, n=10, r=3, d=8): \n", - " \n", + "\n", + " def RANSAC(self, number_of_iterations=10, n=10, r=3, d=8):\n", + "\n", " H_best = np.array([[1, 0, 0], [0, 1, 0], [0, 0, 1]])\n", " num_inliers = 0\n", - " matches = self.match_keypoints() # matches should be of the form [u1, v1, u2, v2]\n", - " \n", + "\n", + " k1, k2 = self.match_keypoints()\n", + " matches = np.column_stack((k1, k2)) # matches should be of the form [u1, v1, u2, v2]\n", + "\n", " for i in range(number_of_iterations):\n", " # 1. Select a random sample of length n from the matches\n", " np.random.shuffle(matches)\n", @@ -203,40 +212,42 @@ " num_inliers = num_inl\n", "\n", " return H_best, num_inliers\n", - " \n", + "\n", " def stitch(self):\n", " \"\"\"\n", " Step 5: Transform second image into local coordinate system of first image, and (perhaps) perform blending\n", " to avoid obvious seams between images.\n", " \"\"\"\n", " H_best = self.RANSAC(10, 10, 3, 8)\n", - " \n", + "\n", " im1 = self.images[0]\n", " im2 = self.images[1]\n", - " \n", + "\n", " transform = skt.ProjectiveTransform(H_best)\n", - " im_2_warped = skt.warp(im2, transform, output_shape=(im1.shape[0], im1.shape[1] + (int(im1.shape[1]*0.4))))\n", - " \n", + " im_2_warped = skt.warp(im2, transform, output_shape=(im1.shape[0], im1.shape[1] + (int(im1.shape[1] * 0.4))))\n", + "\n", " im1t = np.zeros_like(im_2_warped)\n", - " \n", + "\n", " for v in range(im1.shape[0]):\n", " for u in range(im1.shape[1]):\n", " if im1[v, u] != 0:\n", " im1t[v, u] = im1[v, u]\n", "\n", " img_out = np.zeros_like(im_2_warped)\n", - " \n", + "\n", " for v in range(img_out.shape[0]):\n", " for u in range(img_out.shape[1]):\n", " if im1t[v, u] == 0 and im_2_warped[v, u] == 0:\n", " img_out[v, u] = 0\n", - " \n", + "\n", " elif im1t[v, u] != 0 and im_2_warped[v, u] == 0:\n", " img_out[v, u] = im1[v, u]\n", " elif im1t[v, u] == 0. and im_2_warped[v, u] != 0:\n", - " img_out[v, u] = im_2_warped[v,u]\n", + " img_out[v, u] = im_2_warped[v, u]\n", " else:\n", - " img_out[v, u] = (im_2_warped[v, u] + im1[v, u])/2\n" + " img_out[v, u] = (im_2_warped[v, u] + im1[v, u]) / 2\n", + "\n", + " return img_out\n" ] }, { From 3d7c1a19f65c3dfd45058d358dab4ee744a9d901 Mon Sep 17 00:00:00 2001 From: Kyle Lucke Date: Tue, 5 Mar 2019 09:20:44 -0700 Subject: [PATCH 12/13] Fixed stitcher indexing error, signifigantly sped up anms --- harris_response.py | 146 +++++++++++++++++++++++++++++++------- project_description.ipynb | 77 +++++++++++--------- 2 files changed, 162 insertions(+), 61 deletions(-) diff --git a/harris_response.py b/harris_response.py index 0bf933e..e5ee286 100644 --- a/harris_response.py +++ b/harris_response.py @@ -1,8 +1,12 @@ from convolution import * from Filter import * +import numba -def compute_harris_response(img, smoothing_filter): +def compute_harris_response(img, filter_shape): + + gauss = Filter.make_gauss(shape=filter_shape, sigma=2) + img = convolve(img, gauss) # NOTE: (*) = convolution @@ -18,11 +22,11 @@ def compute_harris_response(img, smoothing_filter): # Compute squares of gradient # I_uu = w (*) np.multiply(I_u, I_u) - di_du_sq = convolve(di_du ** 2, smoothing_filter) - di_dv_sq = convolve(di_dv ** 2, smoothing_filter) + di_du_sq = convolve(di_du ** 2, gauss) + di_dv_sq = convolve(di_dv ** 2, gauss) # Compute product of gradients - di_du_di_dv = convolve(np.multiply(di_du, di_dv), smoothing_filter) + di_du_di_dv = convolve(np.multiply(di_du, di_dv), gauss) # Finally, compute the harris response # Note: we add the 1e-16 to prevent division by 0. @@ -30,11 +34,11 @@ def compute_harris_response(img, smoothing_filter): return np.divide((np.multiply(di_du_sq, di_dv_sq) - di_du_di_dv ** 2), (di_du_sq + di_dv_sq) + 1e-16) -def non_maximal_suppression(h, n=100, max_filter_size=4): +def non_maximal_suppression(h, n=100, max_filter_size=3): """Returns two vectors, one for x point location, one for y point location. These points correspond to local maxima point locations""" - local_max_pts = local_max_loc_and_intensity(h, max_filter_size) + local_max_pts = local_max_loc_and_intensity(h) # Filter out local maxima with relatively weak responses local_max_pts = local_max_pts[local_max_pts[:, 2] > 1e-5] @@ -46,7 +50,7 @@ def non_maximal_suppression(h, n=100, max_filter_size=4): return local_max_pts[:n, 1], local_max_pts[:n, 0] -def local_max_loc_and_intensity(h, max_filter_size): +def local_max_loc_and_intensity(h): """ Helper function to compute locations of local maxima @@ -56,7 +60,7 @@ def local_max_loc_and_intensity(h, max_filter_size): First column is i point location, second column is j point location Last column is value of harris response at that location """ - bool_mask = non_linear_convolve(h, max_filter_size) + bool_mask = non_linear_convolve(h, 3) # Get list of points where mask is true i, j = np.where(bool_mask == True) @@ -69,9 +73,11 @@ def local_max_loc_and_intensity(h, max_filter_size): j = np.expand_dims(j, axis=1) intensities = np.expand_dims(intensities, axis=1) + # form: [v, u, intensities] return np.hstack((i, j, intensities)) +@numba.jit(nopython=True) def point_distance_sq(p1, p2): """Computes squared euclidean distance between p1 and p2""" @@ -81,7 +87,7 @@ def point_distance_sq(p1, p2): return (diff_x * diff_x) + (diff_y * diff_y) -def adaptive_non_maximal_suppression(h, n, max_filter_size, c=0.9): +def adaptive_non_maximal_suppression(h, n, fname=None, c=0.9): # pt = point # curr = current @@ -92,24 +98,9 @@ def adaptive_non_maximal_suppression(h, n, max_filter_size, c=0.9): # pot = potential # kpts = key points - max_loc_and_intensity = local_max_loc_and_intensity(h, max_filter_size) + print('running ANMS on', fname) - # Filter out local maxima with relatively weak responses - max_loc_and_intensity = max_loc_and_intensity[max_loc_and_intensity[:, 2] > 1e-3] - - # Sort by strength of harris response - # Note: argsort sorts in ascending order(ie: -2, -1, 0, 1, 2, ..., inf) - # but we want descending order, so we flip to reverse row order. - max_loc_and_intensity = np.flipud(max_loc_and_intensity[max_loc_and_intensity[:, 2].argsort(kind='mergesort')]) - - # Keep top 50%(this could be converted to a percentage, - # just being lazy.(could also pick number / percentage of points to throw - # out and then do so by randomly sampling from indices, this has - # added benefit of [theoretically] keeping the same spatial - # distribution as the original points(thanks to Dr. Douglas Brinkerhoff)) - num_to_keep = len(max_loc_and_intensity) // 2 - - max_loc_and_intensity = max_loc_and_intensity[:num_to_keep, :] + max_loc_and_intensity = pre_process_loc_and_intensity(local_max_loc_and_intensity(h)) local_max_pts_loc = max_loc_and_intensity[:, 0:2] local_max_pts_intensity = max_loc_and_intensity[:, 2] @@ -160,4 +151,107 @@ def adaptive_non_maximal_suppression(h, n, max_filter_size, c=0.9): if len(points_to_keep) == n: break + print('ANMS finished', fname) + + # Save these points, b/c this process is very slow + if fname: + pts_to_keep_mtx = np.asarray(list(points_to_keep)) + np.save(fname, pts_to_keep_mtx) + + return zip(*points_to_keep) + + +@numba.jit(nopython=True, parallel=True) +def anms_helper(local_max_pts_loc, local_max_pts_intensity, c): + + num_pot_kpts = len(local_max_pts_loc) + + # this list has index in the closest point w/ higher harris response + closest_pt_loc = np.zeros(shape=(num_pot_kpts, 2), dtype=np.int64) + closest_pt_dist = np.zeros(shape=(num_pot_kpts, 1)) + closest_pt_dist.fill(np.inf) + + # for each point, find closest point w/ higher harris response + for i in range(num_pot_kpts): + for j in range(num_pot_kpts): + + # Don't want to compare point to itself + if i == j: + continue + + # Only compute distance if response is stronger(thanks to Dr. Douglas Brinkerhoff) + elif local_max_pts_intensity[j] * c > local_max_pts_intensity[i]: + + new_dist = point_distance_sq(local_max_pts_loc[i], local_max_pts_loc[j]) + + # If new point has higher intensity and is closer, record it + if new_dist < closest_pt_dist[i, 0]: + closest_pt_loc[i] = local_max_pts_loc[i] + closest_pt_dist[i] = new_dist + + return closest_pt_loc, closest_pt_dist + + +def pre_process_loc_and_intensity(max_loc_and_intensity): + + # Filter out local maxima with relatively weak responses + max_loc_and_intensity = max_loc_and_intensity[max_loc_and_intensity[:, 2] > 1e-3] + + # Sort by strength of harris response + # Note: argsort sorts in ascending order(ie: -2, -1, 0, 1, 2, ..., inf) + # but we want descending order, so we flip to reverse row order. + max_loc_and_intensity = np.flipud(max_loc_and_intensity[max_loc_and_intensity[:, 2].argsort(kind='mergesort')]) + + # Keep top 50%(this could be converted to a percentage, + # just being lazy.(could also pick number / percentage of points to throw + # out and then do so by randomly sampling from indices, this has + # added benefit of [theoretically] keeping the same spatial + # distribution as the original points(thanks to Dr. Douglas Brinkerhoff)) + num_to_keep = len(max_loc_and_intensity) // 2 + + return max_loc_and_intensity[:num_to_keep, :] + + +def anms_fast(h, n, c=0.9): + + # pt = point + # curr = current + # loc = location + # idx = index + # dist = distance + # num = number + # pot = potential + # kpts = key points + + # Compute and pre-process local maxima + # form: [v, u, intensities] + max_loc_and_intensity = pre_process_loc_and_intensity(local_max_loc_and_intensity(h)) + + local_max_pts_loc = max_loc_and_intensity[:, 0:2] + local_max_pts_intensity = max_loc_and_intensity[:, 2] + + closest_pt_loc, closest_pt_dist = anms_helper(local_max_pts_loc, local_max_pts_intensity, c) + + # If dist is still infinity, it is the 'best' local max + cond = closest_pt_dist[:, 0] == np.inf + closest_pt_loc[cond] = local_max_pts_loc[cond] + + # Create matrix of [point_location_j, point_location_i, dist to closest point] + pt_dist_mtx = np.hstack((closest_pt_loc, closest_pt_dist)) + + pt_dist_mtx = np.flipud(pt_dist_mtx[pt_dist_mtx[:, 2].argsort(kind='mergesort')]) + + points_to_keep = set() + + for i in range(len(pt_dist_mtx)): + + current_point = (int(pt_dist_mtx[i, 1]), int(pt_dist_mtx[i, 0])) + + if current_point not in points_to_keep: + points_to_keep.add(current_point) + + if len(points_to_keep) == n: + break + + # form: [u, v, intensities] return zip(*points_to_keep) diff --git a/project_description.ipynb b/project_description.ipynb index f87e4c1..169b710 100644 --- a/project_description.ipynb +++ b/project_description.ipynb @@ -103,39 +103,47 @@ " mismatches\n", " \"\"\"\n", "\n", - " d1, u1, v1 = self.generate_descriptors(img=self.images[0])\n", - " d2, u2, v2 = self.generate_descriptors(img=self.images[1])\n", - "\n", - " kp1 = []\n", - " kp2 = []\n", - "\n", - " for i in range(len(d1)):\n", - " d1_hat = self.D_hat(d1[i])\n", - " er_best = np.inf\n", - " er_second = np.inf\n", - "\n", - " for j in range(len(d2)):\n", - " d2_hat = self.D_hat(d2[j])\n", - " err = self.error(d1_hat, d2_hat)\n", - " if err < er_best:\n", - " er_best = err\n", - " kp2u = u2[j]\n", - " kp2v = v2[j]\n", - "\n", - " for k in range(len(d2)):\n", - " if u2[k] != kp2u and v2[k] != kp2v:\n", - " d2_hat2 = self.D_hat(d2[k])\n", - " err2 = self.error(d1_hat, d2_hat2)\n", - " if err2 < er_second:\n", - " er_second = err2\n", - "\n", - " if er_best < r * er_second:\n", - " if [u1[i], v1[i]] not in kp1:\n", - " if [kp2u, kp2v] not in kp2:\n", - " kp1.append([u1[i], v1[i]])\n", - " kp2.append([kp2u, kp2v])\n", - "\n", - " return np.asarray(kp1), np.asarray(kp2)\n", + " d1, u1, v1 = self.generate_descriptors(self.images[0], 0)\n", + " d2, u2, v2 = self.generate_descriptors(self.images[1], 1)\n", + " \n", + " match_out = []\n", + " value_list = []\n", + " for i, D1 in enumerate(d1):\n", + " \n", + " smallest = np.inf\n", + " index2_smallest = 0\n", + " smallest2= np.inf\n", + " index2_smallest2 = 0\n", + " D1_hat = (D1 - np.mean(D1)) / np.std(D1)\n", + " value = 0\n", + " value2 = 0\n", + " \n", + " for j, D2 in enumerate(d2):\n", + " D2_hat = (D2 - np.mean(D2)) / np.std(D2)\n", + " E = np.sum(np.square(D1_hat-D2_hat))\n", + " if E < smallest: # best match \n", + " smallest = E\n", + " value = E\n", + " index2_smallest = j\n", + " np.delete(d1, index2_smallest, 0) \n", + " np.delete(d2, index2_smallest, 0)\n", + " \n", + " for j, D2 in enumerate(d2):\n", + " \n", + " D2_hat = (D2 - np.mean(D2)) / np.std(D2)\n", + " E = np.sum(np.square(D1_hat-D2_hat))\n", + " \n", + " if E < smallest2: # the second best match \n", + " smallest2 = E\n", + " value2= E\n", + " index2_smallest = j\n", + " \n", + " if value < (r * value2):\n", + " \n", + " match_out.append((u1[i], v1[i], u2[index2_smallest], v2[index2_smallest]))\n", + " value_list.append(value)\n", + " \n", + " return np.asarray(match_out)\n", "\n", " def find_homography(self, uv, uv2):\n", " \"\"\"\n", @@ -169,8 +177,7 @@ " H_best = np.array([[1, 0, 0], [0, 1, 0], [0, 0, 1]])\n", " num_inliers = 0\n", "\n", - " k1, k2 = self.match_keypoints()\n", - " matches = np.column_stack((k1, k2)) # matches should be of the form [u1, v1, u2, v2]\n", + " matches = self.match_keypoints() # matches should be of the form [u1, v1, u2, v2]\n", "\n", " for i in range(number_of_iterations):\n", " # 1. Select a random sample of length n from the matches\n", From dc0af2caedb6a54f4e0a7dd278006e1e5b490508 Mon Sep 17 00:00:00 2001 From: Kyle Lucke Date: Tue, 5 Mar 2019 09:57:44 -0700 Subject: [PATCH 13/13] Moved Sticher into it's own class, made small main to run it, notebook was giving me troubles --- Stitcher.py | 228 ++++++++++++++++++++++++++++++++++++++++++++++++++++ p1.jpg | Bin 0 -> 106510 bytes p2.jpg | Bin 0 -> 106580 bytes run_this.py | 25 ++++++ 4 files changed, 253 insertions(+) create mode 100644 Stitcher.py create mode 100644 p1.jpg create mode 100644 p2.jpg create mode 100644 run_this.py diff --git a/Stitcher.py b/Stitcher.py new file mode 100644 index 0000000..7e6523b --- /dev/null +++ b/Stitcher.py @@ -0,0 +1,228 @@ +from harris_response import * +import skimage.transform as skt + + +class Stitcher(object): + + def __init__(self, image_1, image_2): + + self.images = [image_1, image_2] + + def find_keypoints(self, image, n_keypoints): + + """ + Step 1: This method locates features that are "good" for matching. To do this we will implement the Harris + corner detector + """ + + filter_shape = (5, 5) + + # Compute smoothed harris response + out = convolve(compute_harris_response(image, filter_shape), + Filter.make_gauss(filter_shape, 2)) # Smooth results + + # Find some good features to match + # form: [u, v] + x, y = anms_fast(h=out, n=n_keypoints) + + # Return the locations + # form: [u, v] + return x, y + + def generate_descriptors(self, img, l=21): + """ + Step 2: After identifying relevant keypoints, we need to come up with a quantitative description of the + neighborhood of that keypoint, so that we can match it to keypoints in other images. + """ + u, v = self.find_keypoints(img, 100) + + ofs = l // 2 + + d_out = [] + u_out = [] + v_out = [] + + m = len(img) + n = len(img[0]) + + # check for u and v to be same dimensions + for i in range(len(u)): + + c_x = v[i] + c_y = u[i] + + # If we cannot get a description for key point, throw it out + if c_x + ofs > m or c_x - ofs < 0 or c_y + ofs > n or c_y - ofs < 0: + continue + + sub = img[v[i] - ofs: v[i] + ofs + 1, u[i] - ofs: u[i] + ofs + 1] + if sub.shape[0] == l and sub.shape[1] == l: + u_out.append(u[i]) + v_out.append(v[i]) + d_out.append(sub) + + return np.stack(d_out), np.asarray(u_out, dtype=int), np.asarray(v_out, dtype=int) + + def D_hat(self, d): + return (d - d.mean()) / np.std(d) + + def error(self, d1, d2): + return np.sum((d1 - d2) ** 2) + + def match_keypoints(self, r=0.7): + """ + Step 3: Compare keypoint descriptions between images, identify potential matches, and filter likely + mismatches + """ + + d1, u1, v1 = self.generate_descriptors(self.images[0], 0) + d2, u2, v2 = self.generate_descriptors(self.images[1], 1) + + match_out = [] + value_list = [] + for i, D1 in enumerate(d1): + + smallest = np.inf + index2_smallest = 0 + smallest2 = np.inf + index2_smallest2 = 0 + D1_hat = (D1 - np.mean(D1)) / np.std(D1) + value = 0 + value2 = 0 + + for j, D2 in enumerate(d2): + D2_hat = (D2 - np.mean(D2)) / np.std(D2) + E = np.sum(np.square(D1_hat - D2_hat)) + if E < smallest: # best match + smallest = E + value = E + index2_smallest = j + np.delete(d1, index2_smallest, 0) + np.delete(d2, index2_smallest, 0) + + for j, D2 in enumerate(d2): + + D2_hat = (D2 - np.mean(D2)) / np.std(D2) + E = np.sum(np.square(D1_hat - D2_hat)) + + if E < smallest2: # the second best match + smallest2 = E + value2 = E + index2_smallest = j + + if value < (r * value2): + match_out.append((u1[i], v1[i], u2[index2_smallest], v2[index2_smallest])) + value_list.append(value) + + return np.asarray(match_out) + + def find_homography(self, uv, uv2): + """ + Step 4: Find a linear transformation (of various complexities) that maps pixels from the second image to + pixels in the first image + """ + + if uv.shape != uv2.shape: + raise ValueError("X and X_prime must have matching shapes") + if uv.shape[0] < 4: + raise ValueError("Not enough points") + + # matches = np.column_stack(uv, uv2) + + A = np.zeros((2 * len(uv), 9)) + + for i in range(len(uv)): + A[2 * i, :] = [0, 0, 0, -uv[i, 0], -uv[i, 1], -1, uv2[i, 1] * uv[i, 0], uv2[i, 1] * uv[i, 1], uv2[i, 1]] + A[2 * i + 1, :] = [uv[i, 0], uv[i, 1], 1, 0, 0, 0, -uv2[i, 0] * uv[i, 0], -uv2[i, 0] * uv[i, 1], -uv2[i, 0]] + + # print(A) + U, Sigma, Vt = np.linalg.svd(A) + + H = Vt[-1, :].reshape((3, 3)) + H /= H[2, 2] + + return H + + def RANSAC(self, number_of_iterations=10, n=10, r=3, d=8): + + H_best = np.array([[1, 0, 0], [0, 1, 0], [0, 0, 1]]) + num_inliers = 0 + + matches = self.match_keypoints() # matches should be of the form [u1, v1, u2, v2] + + for i in range(number_of_iterations): + # 1. Select a random sample of length n from the matches + np.random.shuffle(matches) + sub = matches[0:n, :] + test = matches[n:, :] + + # 2. Compute a homography based on these points using the methods given above + H = self.find_homography(sub[:, 0:2], sub[:, 2:]) + + # 3. Apply this homography to the remaining points that were not randomly selected + test_p = test[:, 0:2] + test_p = np.column_stack((test_p, np.ones(len(test_p)))) + uv_p = (H @ test_p.T).T + test_u = uv_p[:, 0] / uv_p[:, 2] + test_v = uv_p[:, 1] / uv_p[:, 2] + + # 4. Compute the residual between observed and predicted feature locations + R = np.zeros_like(test_u) + for i in range(len(test_p)): + R[i] = np.sqrt((test_u[i] - test[i, 2]) ** 2 + (test_v[i] - test[i, 3]) ** 2) + + # 5. Flag predictions that lie within a predefined distance r from observations as inliers + inl = np.zeros_like(R) + for i in range(len(inl)): + if R[i] < r: + inl[i] = 1 + else: + inl[i] = 0 + num_inl = np.sum(inl) + + # 6. If number of inliers is greater than the previous best + # and greater than a minimum number of inliers d, + # 7. update H_best + # 8. update list_of_inliers + if num_inl > num_inliers: + if num_inl > d: + H_best = H + num_inliers = num_inl + + return H_best, num_inliers + + def stitch(self): + """ + Step 5: Transform second image into local coordinate system of first image, and (perhaps) perform blending + to avoid obvious seams between images. + """ + H_best = self.RANSAC(10, 10, 3, 8) + + im1 = self.images[0] + im2 = self.images[1] + + transform = skt.ProjectiveTransform(H_best) + im_2_warped = skt.warp(im2, transform, output_shape=(im1.shape[0], im1.shape[1] + (int(im1.shape[1] * 0.4)))) + + im1t = np.zeros_like(im_2_warped) + + for v in range(im1.shape[0]): + for u in range(im1.shape[1]): + if im1[v, u] != 0: + im1t[v, u] = im1[v, u] + + img_out = np.zeros_like(im_2_warped) + + for v in range(img_out.shape[0]): + for u in range(img_out.shape[1]): + if im1t[v, u] == 0 and im_2_warped[v, u] == 0: + img_out[v, u] = 0 + + elif im1t[v, u] != 0 and im_2_warped[v, u] == 0: + img_out[v, u] = im1[v, u] + elif im1t[v, u] == 0. and im_2_warped[v, u] != 0: + img_out[v, u] = im_2_warped[v, u] + else: + img_out[v, u] = (im_2_warped[v, u] + im1[v, u]) / 2 + + return img_out diff --git a/p1.jpg b/p1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e41dda6bdfd1a4480aab5c8572dfa24aad4c81c0 GIT binary patch literal 106510 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 Y-)>3do)4}^;afry-6J}ZQA<<**_ojYr~m)} literal 0 HcmV?d00001 diff --git a/p2.jpg b/p2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6cd56fd84a49c163c9f0ea084237acdbf725a296 GIT binary patch literal 106580 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 z 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 literal 0 HcmV?d00001 diff --git a/run_this.py b/run_this.py new file mode 100644 index 0000000..144aea6 --- /dev/null +++ b/run_this.py @@ -0,0 +1,25 @@ +from Stitcher import * +from convolution import * + +im1_fname = 'room1.jpg' +im2_fname = 'room2.jpg' + +# Convert both images to gray scale +im_1 = np.mean(plt.imread(im1_fname), -1) +im_2 = np.mean(plt.imread(im2_fname), -1) + +# Note: can uncomment this to speed things up +# Perform Gaussian blur to eliminate aliasing +# gauss = Filter.make_gauss((3, 3), 1) +# im_1 = convolve(im_1, gauss) +# im_2 = convolve(im_2, gauss) + +# Down sample image to speed things up a bit +# im_1 = block_reduce(im_1, (2, 2), func=np.mean) +# im_2 = block_reduce(im_2, (2, 2), func=np.mean) + +st = Stitcher(im_1, im_2) + +stitched_image = st.stitch() +plt.imshow(stitched_image, cmap='gray') +plt.show() \ No newline at end of file