Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save rockname/e5f85b8edb2811711278e54cde44ef72 to your computer and use it in GitHub Desktop.

Select an option

Save rockname/e5f85b8edb2811711278e54cde44ef72 to your computer and use it in GitHub Desktop.
actor User
participant App
collections Photos
database CoreData
User -> App: Open Photo Picker View
App -> Photos: Fetch photos from the Photos app
App <- Photos
User <- App: Show fetched photos
User -> App: Select photos and share to an album
App -> CoreData: Save selected photos
App <- App: Transit to Album View
App -> CoreData: Fetch selected photos
App <- CoreData
App -> Photos: Request image data
App <- Photos
User <- App: Show shared photos
group Training
App -> Photos: Get photos in the shooting date period at the beginning and end of the selected photo list
App <- Photos
App -> App: Split the photos displayed on the album screen as selected and the others as unselected
alt When either selected / not-selected does not meet the minimum number of 20
App -> App: Do not start learning due to lack of training data
else When there are 20 or more in both selected / not-selected
group Preprocess
App -> App: Align the number of selected / not-selected photos to the smaller number
App -> App: Resize image to short side 300px
App -> App: Save image data as training data in select / not-selected directory
end
group Train
App -> App: Start learning by specifying the path of training data
App -> App: When training is complete, compile and save the generated model
end
end
end
User -> App: Open Photo Picker View
User <- App: If there is a compiled model, show auto-select button
User -> App: Press the automatic selection button
App -> App: Get a compiled model
User <- App: Input the image data of each photo into the model and judge selected / not-selected
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment