From e3b3f8486f0adfbe28e905e7a5f190ac7fa64dbd Mon Sep 17 00:00:00 2001 From: ESP-NET Date: Fri, 26 Jun 2020 16:37:47 -0700 Subject: [PATCH] migrating from previous repo --- SemSegiPhone/AnnotationViewController.swift | 99 +++++ SemSegiPhone/AppDelegate.swift | 2 +- .../AsphaltSwatch.imageset/Contents.json | 21 ++ .../AsphaltSwatch.imageset/asphalt_swatch.jpg | Bin 0 -> 96181 bytes .../Image.imageset/Contents.json | 21 ++ .../Image.imageset/Image@2x.png | Bin 0 -> 16738 bytes SemSegiPhone/Base.lproj/Main.storyboard | 343 ++++++++++++++++-- SemSegiPhone/CollectionViewCell.swift | 14 + SemSegiPhone/Info.plist | 4 +- SemSegiPhone/SetupViewController.swift | 66 ++++ SemSegiPhone/ViewController.swift | 175 ++++++++- 11 files changed, 699 insertions(+), 46 deletions(-) create mode 100644 SemSegiPhone/AnnotationViewController.swift create mode 100644 SemSegiPhone/Assets.xcassets/AsphaltSwatch.imageset/Contents.json create mode 100644 SemSegiPhone/Assets.xcassets/AsphaltSwatch.imageset/asphalt_swatch.jpg create mode 100644 SemSegiPhone/Assets.xcassets/Image.imageset/Contents.json create mode 100644 SemSegiPhone/Assets.xcassets/Image.imageset/Image@2x.png create mode 100644 SemSegiPhone/CollectionViewCell.swift create mode 100644 SemSegiPhone/SetupViewController.swift diff --git a/SemSegiPhone/AnnotationViewController.swift b/SemSegiPhone/AnnotationViewController.swift new file mode 100644 index 0000000..09c6a95 --- /dev/null +++ b/SemSegiPhone/AnnotationViewController.swift @@ -0,0 +1,99 @@ +// +// AnnotationViewController.swift +// SemSegiPhone +// +// ViewController for AnnotationView +// +// Created by ESP-NET on 5/29/20. +// Copyright © 2020 Sachin Mehta. All rights reserved. +// + +import UIKit + +class AnnotationViewController: UIViewController { + + @IBOutlet weak var capturedImage: UIImageView! + @IBOutlet weak var capturedSeg: UIImageView! + @IBOutlet weak var buttons: UIStackView! + @IBOutlet weak var colorswatch: UIImageView! + @IBOutlet weak var classLabel: UILabel! + + @IBOutlet weak var progressBar: UIProgressView! + + private var index: Int! + + // handled by segue + var capImage: UIImage! + var capSeg: UIImage! + var classes = [String](); + var selection = [Int](); + var responses = [Int](); + + override func viewDidLoad() { + super.viewDidLoad() + + responses = selection + + capturedImage.image = capImage + capturedSeg.image = capSeg + + index = 0 + + colorswatch.backgroundColor = UIColor(red: 1.0, green: CGFloat(12 * selection[index]) / 255.0, blue: CGFloat(12 * selection[index]) / 255.0, alpha: 1.0); + + classLabel.text = classes[selection[index]] + progressBar.progress = Float(index) + + for subview in buttons.arrangedSubviews { + let btn = subview as! UIButton + btn.addTarget(self, action: #selector(selectionClicked), for: .touchUpInside) + } + } + + // TODO: clean up + @objc func selectionClicked(_ sender: AnyObject?) { + let btn = sender as! UIButton + if sender === buttons.arrangedSubviews[0] { + responses[index] = 0 + btn.setTitleColor(UIColor.red, for: .normal) + let btn2 = buttons.arrangedSubviews[1] as! UIButton + let btn3 = buttons.arrangedSubviews[2] as! UIButton + btn2.setTitleColor(UIColor.blue, for: .normal) + btn3.setTitleColor(UIColor.blue, for: .normal) + } else if sender === buttons.arrangedSubviews[1] { + responses[index] = 1 + btn.setTitleColor(UIColor.red, for: .normal) + let btn2 = buttons.arrangedSubviews[2] as! UIButton + let btn3 = buttons.arrangedSubviews[0] as! UIButton + btn2.setTitleColor(UIColor.blue, for: .normal) + btn3.setTitleColor(UIColor.blue, for: .normal) + } else if sender === buttons.arrangedSubviews[2] { + responses[index] = 2 + btn.setTitleColor(UIColor.red, for: .normal) + let btn2 = buttons.arrangedSubviews[1] as! UIButton + let btn3 = buttons.arrangedSubviews[0] as! UIButton + btn2.setTitleColor(UIColor.blue, for: .normal) + btn3.setTitleColor(UIColor.blue, for: .normal) + } + print("response", responses[index]) + } + + // handle next btn + @IBAction func onClickNext(_ sender: Any) { + index += 1 + progressBar.progress += 1.0 / Float(selection.count) + + if (index == selection.count) { + _ = navigationController?.popViewController(animated: true) + } else { + classLabel.text = classes[selection[index]] + // TODO: swap to new color mapping + colorswatch.backgroundColor = UIColor(red: 1.0, green: CGFloat(12 * selection[index]) / 255.0, blue: CGFloat(12 * selection[index]) / 255.0, alpha: 1.0); + } + + for subview in buttons.arrangedSubviews { + let btn = subview as! UIButton + btn.setTitleColor(UIColor.blue, for: .normal) + } + } +} diff --git a/SemSegiPhone/AppDelegate.swift b/SemSegiPhone/AppDelegate.swift index 9460697..8d159b4 100644 --- a/SemSegiPhone/AppDelegate.swift +++ b/SemSegiPhone/AppDelegate.swift @@ -9,7 +9,7 @@ import UIKit @UIApplicationMain -class AppDelegate: UIResponder, UIApplicationDelegate { + class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? diff --git a/SemSegiPhone/Assets.xcassets/AsphaltSwatch.imageset/Contents.json b/SemSegiPhone/Assets.xcassets/AsphaltSwatch.imageset/Contents.json new file mode 100644 index 0000000..e140881 --- /dev/null +++ b/SemSegiPhone/Assets.xcassets/AsphaltSwatch.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "asphalt_swatch.jpg", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/SemSegiPhone/Assets.xcassets/AsphaltSwatch.imageset/asphalt_swatch.jpg b/SemSegiPhone/Assets.xcassets/AsphaltSwatch.imageset/asphalt_swatch.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fff016236ed3c9b53392db739cabd8c1a44293cc GIT binary patch literal 96181 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

BIKS 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 - - - - + + - + + - + - + - + - - - + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + - + + + + - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -50,12 +341,12 @@ - + - + @@ -63,4 +354,8 @@ + + + + diff --git a/SemSegiPhone/CollectionViewCell.swift b/SemSegiPhone/CollectionViewCell.swift new file mode 100644 index 0000000..519cdc9 --- /dev/null +++ b/SemSegiPhone/CollectionViewCell.swift @@ -0,0 +1,14 @@ +// +// CollectionViewCell.swift +// SemSegiPhone +// +// Created by ESP-NET on 5/22/20. +// Copyright © 2020 Sachin Mehta. All rights reserved. +// + +import UIKit + +class CollectionViewCell: UICollectionViewCell { + + @IBOutlet weak var CellLabel: UILabel! +} diff --git a/SemSegiPhone/Info.plist b/SemSegiPhone/Info.plist index 8ad8cb5..541c976 100644 --- a/SemSegiPhone/Info.plist +++ b/SemSegiPhone/Info.plist @@ -20,6 +20,8 @@ 1 LSRequiresIPhoneOS + NSCameraUsageDescription + Camera UILaunchStoryboardName LaunchScreen UIMainStoryboardFile @@ -41,7 +43,5 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - NSCameraUsageDescription - Camera diff --git a/SemSegiPhone/SetupViewController.swift b/SemSegiPhone/SetupViewController.swift new file mode 100644 index 0000000..7ddbff5 --- /dev/null +++ b/SemSegiPhone/SetupViewController.swift @@ -0,0 +1,66 @@ +// +// SetupViewController.swift +// SemSegiPhone +// +// ViewController for SetupView +// +// Created by ESP-NET on 5/22/20. +// Copyright © 2020 Sachin Mehta. All rights reserved. +// + +import UIKit + +class SetupViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate { + // TODO: import list of classes from file + let classes = ["Background", "Aeroplane", "Bicycle", "Bird", "Boat", "Bottle", "Bus", "Car", "Cat", "Chair", "Cow", "Diningtable", "Dog", "Horse", "Motorbike", "Person", "Pottedplant", "Sheep", "Sofa", "Train", "TV"] + + var selection = [Int](); + + @IBOutlet weak var Grid: UICollectionView! + + override func viewDidLoad() { + super.viewDidLoad() + } + + func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { + return classes.count + } + + // populate collection view with cells + func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { + print("in cell") + let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath) as! CollectionViewCell + + cell.CellLabel.text = classes[indexPath.item] + print("creating cell for", classes[indexPath.item]) + + // legacy red monochrome color equation +// cell.backgroundColor = UIColor(red: 1.0, green: CGFloat(12 * indexPath.item) / 255.0, blue: CGFloat(12 * indexPath.item) / 255.0, alpha: 1.0); + + cell.backgroundColor = UIColor(red: CGFloat((indexPath.item * indexPath.item * 7) % 255) / 255.0, green: CGFloat(12 * indexPath.item) / 255.0, blue: CGFloat((((indexPath.item * indexPath.item) % 21) * 39) % 255) / 255.0, alpha: 1.0); + if (cell.isSelected) { + cell.backgroundColor = UIColor(red: CGFloat((indexPath.item * indexPath.item * 7) % 255) / 255.0, green: CGFloat(12 * indexPath.item) / 255.0, blue: CGFloat((((indexPath.item * indexPath.item) % 21) * 39) % 255) / 255.0, alpha: 0.5); + } + + return cell + } + + func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { + selection.append(indexPath.item) + print("selected index ", indexPath.item) + print("selection ", selection) + + let selectedCell:UICollectionViewCell = collectionView.cellForItem(at: indexPath)! + selectedCell.backgroundColor = UIColor(red: CGFloat((indexPath.item * indexPath.item * 7) % 255) / 255.0, green: CGFloat(12 * indexPath.item) / 255.0, blue: CGFloat((((indexPath.item * indexPath.item) % 21) * 39) % 255) / 255.0, alpha: 0.5); + } + + override func prepare(for segue: UIStoryboardSegue, sender: Any?) + { + if segue.destination is ViewController + { + let vc = segue.destination as? ViewController + vc?.selection = selection + vc?.classes = classes + } + } +} diff --git a/SemSegiPhone/ViewController.swift b/SemSegiPhone/ViewController.swift index 95e16e1..dc154a3 100644 --- a/SemSegiPhone/ViewController.swift +++ b/SemSegiPhone/ViewController.swift @@ -2,6 +2,8 @@ // ViewController.swift // EdgeNetsCV // +// ViewController for CameraView +// // Created by Sachin on 7/2/19. // Copyright © 2019 Sachin Mehta. All rights reserved. // @@ -15,12 +17,14 @@ import Accelerate import VideoToolbox -class ViewController: UIViewController, AVCaptureVideoDataOutputSampleBufferDelegate { +class ViewController: UIViewController, AVCaptureVideoDataOutputSampleBufferDelegate, AVCapturePhotoCaptureDelegate, UICollectionViewDataSource, UICollectionViewDelegate { + @IBOutlet weak var AnnotView: UIView! @IBOutlet weak var cameraView: UIView! - @IBOutlet weak var segView: UIImageView! + @IBOutlet weak var SmallGrid: UICollectionView! + private var imageTaken = false private var requests = [VNRequest]() //espnet model @@ -33,34 +37,76 @@ class ViewController: UIViewController, AVCaptureVideoDataOutputSampleBufferDele private let session = AVCaptureSession() private let videoDataOutput = AVCaptureVideoDataOutput() private let videoDataOutputQueue = DispatchQueue(label: "videoQueue", qos: .userInitiated, attributes: [], autoreleaseFrequency: .workItem) + + private let photoOutput = AVCapturePhotoOutput() + private let reuseIdentifier = "ChooserCell" + private let sectionInsets = UIEdgeInsets(top: 50.0, left: 20.0, bottom: 50.0, right: 20.0) + private var previewLayer: AVCaptureVideoPreviewLayer! = nil + private var output: AVCapturePhotoOutput? - //define the filter that will convert the grayscale prediction to color image + private var videoDevice: AVCaptureDevice? + private var deviceInput: AVCaptureDeviceInput! + + // define the filter that will convert the grayscale prediction to color image let masker = ColorMasker() + // handled by segue + var classes = [String](); + var selection = [Int](); + private var capImage: UIImage! + private var capSeg: UIImage! + override func viewDidLoad() { super.viewDidLoad() + // Do any additional setup after loading the view, typically from a nib. - setupAVCapture() + setupAVCapture(position: .back) //setup vision parts setupVisionModel() //start the capture startCaptureSession() + + print("camera view classes", classes) + print("camera view selection", selection) } func startCaptureSession(){ session.startRunning() } - func setupAVCapture(){ - var deviceInput: AVCaptureDeviceInput! + func stopCaptureSession(){ + session.stopRunning() + session.removeInput(_: deviceInput) + session.removeOutput(_: videoDataOutput) + } + + func getDevice(position: AVCaptureDevice.Position) -> AVCaptureDevice? { + return AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera], mediaType: .video, position: position).devices.first + } + + func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { + return selection.count + } + + // populate collection view with cells + func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { + let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "SmallCell", for: indexPath) as! CollectionViewCell + cell.CellLabel.text = classes[selection[indexPath.item]] + + cell.backgroundColor = UIColor( + red: CGFloat((selection[indexPath.item] * selection[indexPath.item] * 7) % 255) / 255.0, + green: CGFloat(12 * selection[indexPath.item]) / 255.0, + blue: CGFloat((((selection[indexPath.item] * selection[indexPath.item]) % 21) * 39) % 255) / 255.0, alpha: 1.0); + return cell + } + + func setupAVCapture(position: AVCaptureDevice.Position){ //select a video device - let videoDevice = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera], - mediaType: .video, - position: .back).devices.first + videoDevice = getDevice(position: position) do { deviceInput = try AVCaptureDeviceInput(device: videoDevice!) @@ -76,7 +122,7 @@ class ViewController: UIViewController, AVCaptureVideoDataOutputSampleBufferDele //add video input guard session.canAddInput(deviceInput) else{ - print("Could not add video device input to the session") + print("Could not add video device input to the session2") session.commitConfiguration() return } @@ -84,10 +130,11 @@ class ViewController: UIViewController, AVCaptureVideoDataOutputSampleBufferDele session.addInput(deviceInput) if session.canAddOutput(videoDataOutput) { session.addOutput(videoDataOutput) - + print("Added video data output to the session") + //add video data output videoDataOutput.alwaysDiscardsLateVideoFrames = true - + videoDataOutput.setSampleBufferDelegate(self, queue: videoDataOutputQueue) } else{ print("Could not add video data output to the session") @@ -95,6 +142,15 @@ class ViewController: UIViewController, AVCaptureVideoDataOutputSampleBufferDele return } + if session.canAddOutput(photoOutput) { + session.addOutput(photoOutput) + print("Added still image output to the session") + } else{ + print("Could not add still image output to the session") + session.commitConfiguration() + return + } + let captureConnection = videoDataOutput.connection(with: .video) //always process the frames captureConnection?.isEnabled = true @@ -117,6 +173,7 @@ class ViewController: UIViewController, AVCaptureVideoDataOutputSampleBufferDele previewLayer.frame = rootLayer.bounds rootLayer.addSublayer(previewLayer) + cameraView.bringSubview(toFront: segView) } func setupVisionModel() { @@ -143,7 +200,6 @@ class ViewController: UIViewController, AVCaptureVideoDataOutputSampleBufferDele } let outPixelBuffer = (obs.first)! - let segMaskGray = CIImage(cvPixelBuffer: outPixelBuffer.pixelBuffer) //pass through the filter that converts grayscale image to different shades of red @@ -154,11 +210,19 @@ class ViewController: UIViewController, AVCaptureVideoDataOutputSampleBufferDele } - // this function notifies AVCatpreuDelegate everytime a new frame is received + // this function notifies AVCaptureDelegate everytime a new frame is received func captureOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection) { guard let pixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer) else {return} - let imageRequestHandler = VNImageRequestHandler(cvPixelBuffer: pixelBuffer, orientation: .right, options: [:]) + var imageRequestHandler: VNImageRequestHandler + + if (videoDevice?.position == AVCaptureDevice.Position.back) { + // video device back + imageRequestHandler = VNImageRequestHandler(cvPixelBuffer: pixelBuffer, orientation: .right, options: [:]) + } else { + // video device front + imageRequestHandler = VNImageRequestHandler(cvPixelBuffer: pixelBuffer, orientation: .leftMirrored, options: [:]) + } do { try imageRequestHandler.perform(self.requests) @@ -171,11 +235,74 @@ class ViewController: UIViewController, AVCaptureVideoDataOutputSampleBufferDele super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } + + // handle change camera btn + @IBAction func changeCamera(_ sender: UIButton) { + stopCaptureSession() + setupAVCapture(position: videoDevice?.position == AVCaptureDevice.Position.back ? .front : .back) + setupVisionModel() + startCaptureSession() + } + + // prepare segue to AnnotationViewController + override func prepare(for segue: UIStoryboardSegue, sender: Any?) + { + if (segue.identifier == "photoSegue") { + let vc = segue.destination as? AnnotationViewController + vc?.capImage = capImage + vc?.capSeg = capSeg + vc?.classes = classes + vc?.selection = selection + } + } + + // handle camera btn + @IBAction func takePhoto(_ sender: UIButton) { + let photoSettings = AVCapturePhotoSettings() + let previewPixelType = photoSettings.availablePreviewPhotoPixelFormatTypes.first! + let previewFormat = [kCVPixelBufferPixelFormatTypeKey as String: previewPixelType, + kCVPixelBufferWidthKey as String: 160, + kCVPixelBufferHeightKey as String: 160] + photoSettings.previewPhotoFormat = previewFormat + + photoOutput.capturePhoto(with: photoSettings, delegate: self) + imageTaken = true + } + + // handle photo capture and trigger segue + func photoOutput(_ captureOutput: AVCapturePhotoOutput, didFinishProcessingPhoto photoSampleBuffer: CMSampleBuffer?, previewPhoto previewPhotoSampleBuffer: CMSampleBuffer?, resolvedSettings: AVCaptureResolvedPhotoSettings, bracketSettings: AVCaptureBracketedStillImageSettings?, error: Error?) { + + if let error = error { + print("error occured : \(error.localizedDescription)") + } + + if let sampleBuffer = photoSampleBuffer, + let previewBuffer = previewPhotoSampleBuffer, + let dataImage = AVCapturePhotoOutput.jpegPhotoDataRepresentation(forJPEGSampleBuffer: sampleBuffer, previewPhotoSampleBuffer: previewBuffer) { + + let dataProvider = CGDataProvider(data: dataImage as CFData) + let cgImageRef: CGImage! = CGImage(jpegDataProviderSource: dataProvider!, decode: nil, shouldInterpolate: true, intent: .defaultIntent) + let image = UIImage(cgImage: cgImageRef, scale: 1.0, orientation: UIImageOrientation.right) + + self.capImage = image + + self.capSeg = UIImage(ciImage: self.masker.outputImage!, scale: 1.0, orientation: .right) + + print("image", image) + print("capturedImage", capImage) + + self.performSegue(withIdentifier: "photoSegue", sender: self) + } else { + print("error") + } + } } //converts the Grayscale image to RGB -// provides different shades of red based on pixel values +// r = class * class * 7 mod 255 +// g = class * 12 +// b = class * class mod 21 * 39 mod 255 class ColorMasker: CIFilter { var inputGrayImage : CIImage? @@ -183,9 +310,19 @@ class ColorMasker: CIFilter let colormapKernel = CIColorKernel(source: "kernel vec4 colorMasker(__sample gray)" + "{" + - " if (gray.r == 0.0f) {return vec4(0.0, 0.0, 0.0, 1.0);}" + - " return vec4(1.0, gray.r, gray.r, 1.0);" + - "}" + " if (gray.r == 0.0f) {return vec4(0.0, 0.0, 0.0, 0.0);} else {" + + "vec4 result;" + +// "int class;" + +// "class = (int)(1 / gray.r);" + +// "result.r = (float)((((gray.r * 255 / 12) * (gray.r * 255 / 12) * 7) % 255) / 255);" + +// "result.g = gray.r;" + +// "result.b = (float)((((((gray.r * 255 / 12) * (gray.r * 255 / 12)) % 21) * 39) % 255) / 255);" + + "result.r = 1;" + + "result.g = gray.r;" + + "result.b = gray.r;" + + "result.a = 0.9;" + + "return result;" + + "}}" ) override var attributes: [String : Any]